Entropy coding and decoding method and apparatus

By determining context models based on sparsity, the entropy coding method optimizes coding performance for point clouds, addressing inefficiencies in conventional AVS point cloud group coding.

JP7748480B2Active Publication Date: 2025-10-02VIVO MOBILE COMM CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023573273
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-06-11
Filing Date
2022-06-09
Publication Date
2025-10-02
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

The conventional entropy coding process for point clouds in AVS point cloud group fails to achieve optimal coding performance due to inappropriate selection of context models for different types of point clouds, leading to inefficiencies in sparse and dense point cloud sequences.

Method used

An entropy coding method that determines the type of placeholder context model based on the sparsity information of the target point cloud, using placeholder context model 1 for sparse point clouds and model 2 for dense point clouds, thereby optimizing coding performance.

Benefits of technology

The method ensures rational selection of context models, resulting in improved coding performance by adapting to the sparsity of the point cloud, enhancing compression efficiency and quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007748480000005
    Figure 0007748480000005
  • Figure 0007748480000006
    Figure 0007748480000006
  • Figure 0007748480000007
    Figure 0007748480000007
Patent Text Reader

Abstract

The present application discloses an entropy coding and decoding method and apparatus, and the entropy coding method of an embodiment of the present application includes: an entropy coding apparatus obtaining sparsity information of a target point cloud to be coded; determining, based on the sparsity information, a type of placeholder context model to be used when entropy coding the target point cloud; and performing entropy coding of the target point cloud based on the type of placeholder context model.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority from Chinese Patent Application No. 202110656066.6 filed in China on June 11, 2021, the entire contents of which are incorporated herein by reference.

[0002] The present application relates to the field of image processing, and in particular to entropy coding and decoding methods and apparatus. [Background technology]

[0003] The two sets of context models in Point Cloud Coding Reference Software Model (PCRM) V3 are for relatively sparse point clouds (cat1A, cat2frame) and relatively dense point clouds (cat1B, cat3), respectively. The following shortcomings exist in the selection of context models for these two types of point clouds:

[0004] 1. In the official test sequence for the Audio Video Coding Standard (AVS) point cloud group, the cat1B sequence is characterized by a large number of points and a large storage space. However, the spatial volume represented by its geometric information is also relatively large. Therefore, it is not necessarily accurate to consider the entire point cloud as a "dense" point cloud, and selecting context model 2 accordingly may not achieve optimal performance.

[0005] 2. In the conventional test conditions for the AVS point cloud group, the geometric coordinates of the point cloud are quantized in the preprocessing process under geometric lossy conditions, which can be considered as scaling the point cloud to a certain degree. Therefore, under geometric lossy conditions, the sparse point clouds (cat1A, cat2frame) are not "sparse" at low coding rates.

[0006] On the other hand, in the conventional configuration, the same type of context model is configured for each coding rate point of different slices of the same sequence, and optimal performance cannot be obtained. Summary of the Invention [Problem to be solved by the invention]

[0007] The embodiments of the present application provide an entropy coding and decoding method and apparatus that can solve the problem that the selection method of the point cloud context model in the conventional entropy coding process cannot guarantee optimal coding performance. [Means for solving the problem]

[0008] According to a first aspect, there is provided an entropy coding method, the method comprising: An entropy coding device obtains sparsity information of a target point cloud to be coded; determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information; and performing entropy coding of the target point cloud based on the type of the placeholder context model.

[0009] According to a second aspect, there is provided an entropy decoding method, the method comprising: The entropy decoding device obtains a type of placeholder context model to be used when the target point cloud to be decoded undergoes entropy decoding, wherein the type of placeholder context model to be used when the target point cloud undergoes entropy decoding is determined by sparsity information of the target point cloud; and performing entropy decoding of the target point cloud based on the type of the placeholder context model.

[0010] According to a third aspect, there is provided an entropy coding apparatus, the apparatus comprising: a first acquisition module for acquiring sparsity information of a target point cloud to be coded; a first determination module for determining a type of placeholder context model to be used when the target point cloud undergoes entropy coding based on the sparsity information; a coding module for entropy coding the target point cloud based on the type of the placeholder context model.

[0011] According to a fourth aspect, there is provided an entropy decoding apparatus, the apparatus comprising: a second acquisition module for acquiring a type of placeholder context model to be used when the target point cloud to be decoded undergoes entropy decoding, the type of placeholder context model to be used when the target point cloud undergoes entropy decoding being determined by sparsity information of the target point cloud; and a decoding module for performing entropy decoding of the target point cloud based on the type of the placeholder context model.

[0012] According to a fifth aspect, there is provided an entropy coding 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, when executed by the processor, implementing the steps of the method of the first aspect.

[0013] According to a sixth aspect, there is provided an entropy coding apparatus, the apparatus including a processor and a communication interface, wherein the processor is configured to obtain sparsity information of a target point cloud to be coded; determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information; and performing entropy coding of the target point cloud based on the type of the placeholder context model.

[0014] According to a seventh aspect, there is provided an entropy decoding 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, when executed by the processor, implementing the steps of the method of the second aspect.

[0015] According to an eighth aspect, there is provided an entropy decoding apparatus, the apparatus including a processor and a communication interface, wherein the processor is configured to obtain a type of placeholder context model to be used when entropy decoding a target point cloud to be decoded, wherein the type of placeholder context model to be used when entropy decoding the target point cloud is determined by sparsity information of the target point cloud; and performing entropy decoding of the target point cloud based on the type of the placeholder context model.

[0016] According to a ninth aspect, there is provided a readable storage medium having a program or instructions stored thereon, the program or instructions performing the steps of the method according to the first aspect or performing the steps of the method according to the second aspect when executed by a processor.

[0017] According to a tenth aspect, there is provided a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor running a program or instructions and adapted to implement the steps of the method according to the first or second aspect.

[0018] According to an eleventh aspect, there is provided a computer program / program product, the computer program / program product being stored on a non-volatile storage medium, the computer program / program product being executed by at least one processor to implement the steps of the method according to the first or second aspect.

[0019] According to a twelfth aspect, there is provided a communications device, the communications device being configured to perform the steps of the method according to the first aspect or to perform the steps of the method according to the second aspect. [Effects of the Invention]

[0020] In the embodiments of the present application, the sparsity information of the target point cloud is used to determine the type of placeholder context model to be used when the target point cloud undergoes entropy coding, thereby rationally selecting the placeholder context model and ensuring optimal coding performance. [Brief explanation of the drawings]

[0021] [Figure 1] AVS codec framework diagram. [Figure 2] 1 is a flowchart of an entropy coding method according to an embodiment of the present application; [Figure 3] 1 is a schematic diagram of the spatial positions and coordinate system of eight subnodes relative to the current node. [Figure 4] FIG. 1 is a schematic diagram of each subnode's same-layer reference neighboring nodes. [Figure 5] FIG. 1 is a schematic diagram of four sets of reference neighboring nodes of a current node. [Figure 6] This is a schematic diagram of the parent node layer (current node layer) reference neighboring nodes of each subnode. [Figure 7] 1 is a schematic diagram of each subnode's same-level coplanar neighborhood. [Figure 8] 1 is a module schematic diagram of an entropy coding device according to an embodiment of the present application; [Figure 9] FIG. 1 is a structural block diagram of an entropy coding device according to an embodiment of the present application; [Figure 10] 1 is a flowchart of an entropy decoding method according to an embodiment of the present application; [Figure 11] 1 is a module schematic diagram of an entropy decoding device according to an embodiment of the present application; [Figure 12] FIG. 2 is a structural block diagram of a codec device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0022] 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, and it is obvious that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present application fall within the scope of protection of the present application.

[0023] 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 should be understood that terms used in this manner are interchangeable where appropriate, so that embodiments of this application may be performed in orders other than those illustrated or described herein, and that objects distinguished by "first" and "second" are generally of the same type and do not limit the number of objects; for example, a first object may be one or more. Furthermore, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates an "or" relationship between the related objects.

[0024] In the embodiments of the present application, the encoder corresponding to the entropy coding method and the decoder corresponding to the entropy decoding method may both be a terminal, which may be referred to as a terminal device or user equipment (UE). The terminal may be a terminal-side device such as a mobile phone, a tablet personal computer, a laptop computer (also 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-mounted equipment (VUE), a pedestrian terminal (PUE), etc. Wearable devices include smart watches, bracelets, earphones, glasses, etc. It should be noted that the specific type of terminal in the embodiments of the present application is not limited.

[0025] For ease of understanding, the following describes some contents related to the embodiments of the present application.

[0026] Figure 1 shows the codec framework diagram for the Digital Audio Video Codec Technical Standard. 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 so that all points are contained within a single bounding box. Then, quantization is performed. This quantization step primarily serves the purpose of scaling, quantizing and rounding the geometric information of some points so that they remain the same. It determines whether or not to remove duplicate points based on parameters. The quantization and removal of duplicate points are preprocessing steps. Next, the bounding box is divided (into an octree, quadtree, or binary tree) using breadth-first traversal, and a placeholder code is coded for each node. In the octree-based geometric coding framework, the bounding box is sequentially divided to obtain subcubes. Non-empty subcubes (containing points in the point cloud) are divided continuously. When the resulting leaf node becomes a 1x1x1 unit cube, the division stops. The number of points contained in the leaf node is coded. Finally, the geometric octree coding is completed, generating a binary code stream. In the octree-based geometric decoding process, the decoding end obtains the placeholder code of each node through continuous analysis in the breadth-first traversal order, and then continuously divides the nodes in order to obtain a 1x1x1 unit cube, after which the division is stopped and the number of points contained in each leaf node is obtained through analysis, and finally the geometric reconstruction point cloud information is recovered.

[0027] After geometric coding is complete, the geometry information is reconstructed. Currently, attribute coding primarily codes color and reflectance information. First, it is determined whether color space conversion is required. If color space conversion is required, the color information is converted from the red, green, and blue (RGB) color space to the YUV (Y is the luminance component, and UV is the chrominance component) color space. Then, the reconstructed point cloud is recolored using the original point cloud to associate the uncoded attribute information with the reconstructed geometry 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 then performed using the differential method on the sorted point cloud. Finally, the prediction residual is quantized and entropy coded to generate a binary code stream. The attribute transformation process is as follows: first, wavelet transform is performed on the point cloud attributes, and quantization is performed on the transform coefficients; then, inverse quantization and inverse wavelet transform are performed to obtain attribute reconstruction values; then, the difference between the original attributes and the attribute reconstruction values ​​is calculated to obtain attribute residuals, which are then quantized; finally, entropy coding is performed on the quantized transform coefficients and 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 of the entropy coding and entropy decoding of the geometric coding and geometric decoding parts.

[0028] Hereinafter, the entropy coding and decoding method and apparatus according to the embodiments of the present application will be described in detail with reference to several examples and application scenarios thereof in conjunction with the drawings.

[0029] As shown in FIG. 2, an embodiment of the present application provides an entropy coding method, which includes:

[0030] Step 201: The entropy coding device obtains density information of the target point cloud to be coded; It should be noted that the target point cloud in this application refers to a point cloud sequence or a point cloud slice in a point cloud sequence, and further, the point cloud sequence refers to the point cloud sequence to be coded after pre-processing, where the pre-processing is one or more of coordinate translation, coordinate quantization, and duplicate point removal.

[0031] Step 202: determining a type of placeholder context model to be used when the target point cloud undergoes entropy coding based on the sparsity information; Step 203: performing entropy coding of the target point cloud based on the type of the placeholder context model.

[0032] It should be noted that, in the embodiments of the present application, performing entropy coding on the target point cloud refers to entropy coding the geometric information of the target point cloud.

[0033] It should be noted that the sparsity information of the target point cloud is used to determine the type of placeholder context model to be used when the target point cloud undergoes entropy coding, and by further performing entropy coding, the placeholder context model can be selected rationally to ensure optimal coding performance.

[0034] Alternatively, one possible implementation of step 201 is as follows:

[0035] Step 2011: Obtain size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; It should be noted that the size information of the bounding box generally refers to the length, width, and height of the bounding box, i.e., the dimensions of the three dimensions X, Y, and Z. This size information can be used to determine the volume of the bounding box, which is equal to the product of the length, width, and height.

[0036] Step 2012: determining density information of the target point cloud based on the size information and the point number information; This step mainly determines the volume occupied by a single point according to the volume of the bounding box and the number of points contained in the bounding box, and then uses the volume occupied by a single point to determine the density of the point cloud. The specific implementation method is as follows: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; The method may further comprise determining density information of the target point cloud based on a relationship between the first volume and a preset threshold value.

[0037] Furthermore, one possible implementation for determining sparsity information using the average occupied volume of the bounding box for each point includes at least one of the following: A11, if the first volume is greater than the preset threshold, determine that the sparsity information of the target point cloud is a sparse point cloud; A12, if the first volume is equal to or less than the preset threshold, determine that the target point cloud is a dense point cloud with respect to the sparse information.

[0038] It should be noted that in the present application, a variable S can be introduced to represent the comparison result between the first volume and a preset threshold, and the value of S is as follows:

number

[0039] When S=1, it indicates that the target point cloud is a sparse point cloud, and when S=0, it indicates that the target point cloud is a dense point cloud.

[0040] Of course, the value of S in this application is just an example, and in the above, S=1 represents a sparse point cloud, and S=0 represents a dense point cloud. Alternatively, S=0 may represent a sparse point cloud, and S=1 may represent a dense point cloud. This application does not limit the specific value of S.

[0041] It should be noted here that this preset threshold may be determined in the following manner: B11, determined by the entropy coding device; Typically, this preset threshold is user-determined, i.e., a preset threshold determined by the entropy coding device in response to user input.

[0042] Furthermore, the entropy coding device may determine the preset threshold in the following manner.

[0043] B111, the entropy coding device stores a preset threshold set by a user, and directly uses this preset threshold when performing entropy coding.

[0044] B112: The entropy coding device has a plurality of thresholds set, which constitute a threshold list, and the user may set the threshold to be used when performing entropy coding this time.

[0045] In this case, the entropy coding device needs to inform the entropy decoding device of a preset threshold value to be used when performing entropy coding, and the entropy decoding device performs entropy decoding according to the similarly preset threshold value. One possible implementation is as follows: After determining sparsity information of the target point cloud based on the relationship between the first volume and a predetermined threshold, coding the first information into geometric slice header information of the target point cloud; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0046] It should be noted that in such a case, the entropy coding device needs to code a preset threshold value. When the entropy coding device adopts the B111 method, this first information is generally a preset threshold value. When the entropy coding device adopts the B112 method, this first information is generally identifier information corresponding to the preset threshold value. For example, this identifier information is the number or index of the preset threshold value in the threshold list. Correspondingly, a similar threshold list is also set on the entropy decoding device side. When the entropy decoding device receives this identifier information, it can know which threshold value it corresponds to.

[0047] B12, contracted by the protocol, It should be noted that in such cases, the preset threshold is assumed to be known to both the entropy coding device and the entropy decoding device, and in such cases, the entropy coding device does not need to code the preset threshold.

[0048] It should be further explained that one alternative implementation manner of the above step 202 includes at least one of the following: C11, when the sparsity information of the target point cloud is a sparse point cloud, determine that the type of placeholder context model used when the target point cloud undergoes entropy coding is placeholder context model 1; C12, if the sparse-density information of the target point cloud is a dense point cloud, determine that the type of placeholder context model used when the target point cloud undergoes entropy coding is placeholder context model 2.

[0049] It should be noted that the current AVS point cloud coding reference software model V3.0 adopts a context-based adaptive binary arithmetic encoder for coding spatial placeholders, and has two sets of context models, which are respectively used for relatively sparse point cloud sequences (cat1A and cat2frame sequences) and relatively dense point cloud sequences (cat1B and cat3 sequences), and the two sets of context models are introduced in detail below.For ease of description, the coordinate system related to this application and the spatial positions of the eight subnodes generated by octree division relative to their parent node, i.e., the current node, are as shown in Figure 3 below.

[0050] 1. Placeholder Context Model 1 In the partitioning method of octree breadth-first traversal, the neighbor information obtained when coding the subnode of the current point includes neighboring subnodes in three directions: left, front, and bottom. Here, it includes three neighboring subnodes on the same plane as the subnode to be coded of the current point, three neighboring subnodes on the same line, and one neighboring subnode on the same point.

[0051] The placeholder context model for the subnode layer is designed as follows: for the subnode layer to be coded, the placement situations are determined for three nodes on the same plane in the left-front-bottom direction as the subnode to be coded, three nodes on the same line, and one node at the same point, and for a node two node edges away from the subnode to be coded in the negative direction of the dimension with the shortest node edge length. Taking the node with the shortest node edge length in the X dimension as an example, the reference node selected by each subnode is as shown in Figure 4. Here, the node in the dotted frame is the current node, the node indicated by the arrow is the subnode to be coded, and the node in the solid frame is the reference node selected by each subnode.

[0052] Here, when we consider in detail the placement status of the three nodes on the same plane, the three nodes on the same line, and the nodes two node side lengths from the subnode to be coded in the negative direction of the dimension with the shortest node side length, the placement status of these seven nodes is a total of 2 7 = 128 possible situations. If all of them are not unoccupied, there are a total of 2 7 There are -1 = 127 different situations, and one context is assigned to each type of situation. If all seven nodes are unoccupied, the placement situations of neighboring nodes on the same point are considered. This neighborhood on the same point can be either "occupied" or "unoccupied." If one context is assigned to the situation where a neighboring node on the same point is occupied, and this neighborhood on the same point is also unoccupied, the placement situation of the current node layer neighborhood, which will be described next, is considered. In other words, the subnode layer neighborhood to be coded corresponds to a total of 127 + 2 - 1 = 128 contexts.

[0053] If the eight same-layer reference nodes of the subnode to be coded are not all occupied, consider the four sets of neighboring placement situations of the current node layer shown in Figure 5. Here, the nodes in the dotted frame are the current node, and the solid frame are the neighboring nodes.

[0054] For the current node layer, determine the placeholder context according to the following steps:

[0055] 1. First, consider the three neighbors on the same plane above and to the right of the current node. The placement situations of the three neighbors on the same plane above and to the right of the current node are 2 3 = 8 possibilities, assigning one context to each situation that is not all unoccupied, and further considering the situation where the subnode to be coded is located at the position of the current node, this set of neighboring nodes provides a total of (8 - 1) x 8 = 56 contexts. If the three neighbors on the same plane above and to the right of the current point are all unoccupied, continue to consider the remaining three sets of neighbors in the current node layer.

[0056] 2. Consider the distance between the recently occupied node and the current node.

[0057] The specific correspondence between the distribution of neighboring nodes and the distance is shown in Table 1.

[0058] [Table 1]

[0059] As can be seen from Table 1, there are a total of three distance values. If we assign one context to each of these three value situations and also consider the situation where the subnode to be coded is located at the position of the current node, we get a total of 3 x 8 = 24 contexts.

[0060] As a result, the spatial occupancy code context model 1 allocated a total of 128 + 56 + 24 = 208 contexts.

[0061] Placeholder Context Model 2 This context is established using a two-layer context reference relationship: the first layer is the occupancy of neighboring nodes that are coplanar and collinear with the current node in the current node layer, and the second layer is the occupancy of neighboring nodes that are coplanar with the subnode to be coded in the subnode to be coded layer.

[0062] First, for each subnode to be coded, six current node layer neighbors on the same plane and on the same line can be obtained in its parent node layer, i.e., the current node layer, as shown in Figure 6 below. In Figure 6, the node in the dotted frame is the current node, the nodes indicated by the arrows are each subnode to be coded, and the nodes in the solid frame are the current node's neighbors on the same plane and on the same line. Considering the distribution of each of the three neighbors on the same plane, there are a total of 2 3 For the remaining three collinear neighbors, if we only calculate the number of nodes occupied by the three neighbors, there are a total of four situations: 0, 1, 2, and 3. Combining both, there are a total of 4 x 8 = 32 situations, and if we create one context for each situation, the current node layer provides a total of 32 contexts.

[0063] Next, for each subnode to be coded, the three neighboring nodes on the same plane to the left, front, and bottom (negative direction of each coordinate axis) in the same layer are determined as reference nodes, as shown in Figure 7 below. In Figure 7, the node in the dotted frame is the current node, the node indicated by the arrow is the subnode to be coded, and the nodes in the solid frame are neighbors on the same plane in the same layer of each subnode. The neighboring nodes on the same plane in the same layer as the three subnodes to be coded are 2 in total. 3 = There are 8 situations, and if we assign one context to each situation, the current node provides a total of 8 contexts.

[0064] Since there is no interference between the contexts of these two layers, this context model 1 provides a total of 32×8=256 contexts to be used for a relatively dense point cloud sequence or point cloud slice.

[0065] Alternatively, in order to reduce the decoding complexity of the entropy decoding device, the entropy coding device may directly code the sparseness information of the acquired target point cloud or the type of placeholder context model used when the target point cloud is entropy coded, and notify the entropy decoding device. The entropy decoding device may directly use the information notified by the entropy coding device to perform decoding, thereby increasing the decoding rate. A specific implementation method is as follows: determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information, and then coding second information into geometric slice header information of the target point cloud; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0066] In summary, this application proposes a method for adapting a placeholder context model to select a current point cloud slice or point cloud sequence by considering the sparsity of the point cloud slice or point cloud sequence in the point cloud. The consideration of sparsity is based on the volume size and the number of points contained in the point cloud slice or point cloud sequence, both of which can be obtained from the geometric slice header information. If the ratio of the size of the point cloud volume to the number of points contained is greater than a certain threshold, it is determined to be a "sparse" point cloud, and context model 1 is selected for entropy coding. If the ratio of the size of the point cloud volume to the number of points contained is less than a certain threshold, it is determined to be a "dense" point cloud, and context model 2 is selected for entropy coding. In this way, a point cloud sequence or each point cloud slice in the point cloud sequence can select an appropriate occupied code context model for entropy coding under various conditions, thereby improving performance. Experimental results show that the algorithm described in this application can improve coding performance, and for example, as shown in Table 2 below, in lossy conditions, this application outperforms PCRMV3.0.

[0067] It should be noted here that there are two 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, i.e., when there is no distortion in the point cloud, only the size of the bitstream after point cloud compression is considered. For lossy compression, however, both aspects must be taken into account. In both cases, the size of the bitstream can be measured by the number of bits output after coding. To evaluate the degree of point cloud distortion, PCRM provides two corresponding distortion evaluation algorithms.

[0068] Typically, to evaluate the performance of a compression algorithm, rate-distortion (RD) curves are used to compare the performance difference between two algorithms. The ideal goal of point cloud compression is to reduce the codestream and increase the peak signal-to-noise ratio (PSNR), an objective quality indicator. However, this situation rarely occurs. The more common scenario is either a lower codestream compared to the original method, resulting in a decrease in PSNR (point cloud quality), or a higher PSNR, resulting in an increase in codestream. To evaluate the performance of a new method in these two cases, a metric that comprehensively considers both the codestream and PSNR is required. The AVS Point Cloud Group uses BD-Rate to comprehensively evaluate the coding rate and objective quality of point cloud compression algorithms, and subdivides it into two dimensions: geometry and attributes: BD-GeomRate and BD-AttrRate. A negative BD-Rate value indicates that the new method has improved performance compared to the original method, while a positive BD-Rate value indicates that the new method has deteriorated performance compared to the original method. There are two methods and results for calculating PSNR, depending on whether the error is calculated as root mean square error or Hausdorff distance, and there are also two corresponding BD-Rates: D1 when calculated using root mean square error and D1-H when calculated using Hausdorff distance.

[0069] [Table 2]

[0070] It should be noted that in the entropy coding method according to the embodiment of the present application, the execution body may be an entropy coding device or a control module for executing the entropy coding method in the entropy coding device. In the embodiment of the present application, the entropy coding device according to the embodiment of the present application will be described by taking the entropy coding device as an example to execute the entropy coding method.

[0071] As shown in FIG. 8, an embodiment of the present application provides an entropy coding apparatus 800, which includes: a first obtaining module 801 for obtaining sparsity information of a target point cloud to be coded; a first determination module 802 for determining a type of placeholder context model to be used when the target point cloud undergoes entropy coding based on the sparsity information; a coding module 803 for performing entropy coding of the target point cloud based on the type of the placeholder context model.

[0072] Optionally, the first acquisition module 801: a first acquisition unit for acquiring size information of a bounding box corresponding to the target point cloud and point number information included in the target point cloud; and a first determination unit for determining sparsity information of the target point cloud based on the size information and the point number information.

[0073] Optionally, the first determining unit: a first determination subunit for determining a first volume, which is an average occupied volume of a bounding box of each point in the target point cloud, based on the size information and the point number information; and a second determining subunit for determining sparsity information of the target point cloud based on a relationship between the first volume and a preset threshold value.

[0074] Optionally, the second determination subunit: If the first volume is greater than the preset threshold, determining that the target point cloud has sparsity information as a sparse point cloud; and determining that the target point cloud is a dense point cloud if the first volume is equal to or less than the preset threshold.

[0075] Alternatively, the preset threshold is determined by the entropy coding device or stipulated by a protocol.

[0076] Optionally, when the preset threshold is determined by the entropy coding device, after the second determining subunit determines sparsity information of the target point cloud based on the relationship between the first volume and the preset threshold, further comprising a first coding module for coding first information into geometric slice header information of the target point cloud; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0077] Optionally, the first determination module 802: When the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when entropy coding the target point cloud is placeholder context model 1; When the sparse information of the target point cloud is a dense point cloud, the type of placeholder context model used when entropy coding the target point cloud is determined to be placeholder context model 2.

[0078] Optionally, after the first determination module 802 determines, based on the sparsity information, the type of placeholder context model to be used when the target point cloud undergoes entropy coding, further comprising a second coding module for coding second information into geometric slice header information of the target point cloud; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0079] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.

[0080] It should be noted that by utilizing the sparsity information of the target point cloud to determine the type of placeholder context model to be used when the target point cloud undergoes entropy coding, the selection of the placeholder context model can be made rationally to ensure optimal coding performance.

[0081] The entropy coding device in the embodiments of the present application may be a device, a device with an operating system, or an electronic device, or may be a component, an integrated circuit, or a chip in a terminal, and the device or electronic device may be a mobile terminal or a non-mobile terminal. For example, the mobile terminal may include terminal-side devices such as a mobile phone, a tablet personal computer, a laptop computer (also 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), a wearable device, a vehicle-mounted equipment (VUE), and a pedestrian-mounted equipment (PUE), but is not limited thereto. Wearable devices include smart watches, bracelets, earphones, glasses, etc., and non-mobile terminals may be servers, network-attached storage (NAS), personal computers (PCs), televisions (TVs), teller machines, self-service machines, etc., and the embodiments of the present application are not specifically limited thereto.

[0082] The entropy coding device according to the embodiment of the present application can implement each process implemented by the embodiment of the method of Figure 2 and achieve the same technical effect, and will not be further described here to avoid repetition of the description.

[0083] An embodiment of the present application further provides an entropy coding device, including a processor and a communication interface, wherein the processor obtains sparsity information of a target point cloud to be coded; determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information; Based on the type of the placeholder context model, it is used to perform entropy coding of the target point cloud.

[0084] This entropy coding device embodiment corresponds to the above-mentioned entropy coding device-side method embodiment, and the implementation processes and realization methods of the above-mentioned method embodiments can all be applied to this device embodiment, and the same technical effects can be achieved. Specifically, Figure 9 is a schematic diagram of the hardware structure of the entropy coding device implementing the embodiment of this application.

[0085] The entropy coding device 900 includes at least some components such as, but not limited to, a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910.

[0086] As will be understood by those skilled in the art, the entropy coding device 900 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 910 by a power management system, thereby enabling the power management system to realize functions such as charge / discharge management and power consumption management. The terminal structure shown in Figure 9 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than those shown, or a combination of some components, or a different arrangement of components, which will not be further described here.

[0087] It should be understood that in the embodiment of the present application, the input unit 904 may include a graphics processing unit (GPU) 9041 and a microphone 9042, and the graphics processor 9041 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 906 may include a display panel 9061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 907 includes a touch panel 9071 and other input devices 9072. The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts: a touch detection device and a touch controller. The other input devices 9072 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 further described herein.

[0088] In the embodiment of the present application, the radio frequency unit 901 receives downlink data from the network side device, and then processes the data in the processor 910, and transmits uplink data to the network side device. Generally, the radio frequency unit 901 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc.

[0089] The memory 909 may be used to store software programs or instructions and various data. The memory 909 may primarily include a program or instruction storage area and a data storage area, where the program or instruction storage area can store an operating system, an application program or instructions required for at least one function (e.g., audio playback function, image playback function, etc.), etc. The memory 909 may include high-speed random access memory or nonvolatile memory, where the nonvolatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. For example, the memory 909 may be at least one magnetic disk memory device, flash memory device, or other nonvolatile solid-state memory device.

[0090] The processor 910 may include one or more processing units. Optionally, the processor 910 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, and the modem processor mainly processes wireless communication, such as a baseband processor. As can be appreciated, the modem processor does not have to be integrated into the processor 910.

[0091] Here, processor 910: Obtaining sparsity information of a target point cloud to be coded; determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information; and performing entropy coding of the target point cloud based on the type of the placeholder context model.

[0092] The terminal in the embodiment of the present application can use the sparsity information of the target point cloud to determine the type of placeholder context model to be used when the target point cloud performs entropy coding, thereby rationally selecting the placeholder context model and ensuring optimal coding performance.

[0093] Optionally, the processor 910 further Obtaining size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; The method is used to determine density information of the target point cloud based on the size information and the point number information.

[0094] Optionally, the processor 910 further determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; The method is used to determine density information of the target point cloud based on the relationship between the first volume and a preset threshold value.

[0095] Optionally, the processor 910 further If the first volume is greater than the preset threshold, determining that the target point cloud has sparsity information as a sparse point cloud; and determining that the target point cloud is a dense point cloud if the first volume is equal to or less than the preset threshold.

[0096] Alternatively, the preset threshold is determined by the entropy coding device or stipulated by a protocol.

[0097] Optionally, the processor 910 further used to realize coding of first information into geometric slice header information of the target point cloud; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0098] Optionally, the processor 910 further When the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when entropy coding the target point cloud is placeholder context model 1; When the sparse information of the target point cloud is a dense point cloud, the type of placeholder context model used when entropy coding the target point cloud is determined to be placeholder context model 2.

[0099] Optionally, the processor 910 further The second information is used to realize coding of the second information into geometric slice header information of the target point cloud; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0100] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.

[0101] Preferably, the embodiments of the present application further provide an entropy coding device, 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, it can realize each process of the embodiments of the entropy coding method and achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0102] The embodiments of the present application further provide a computer-readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, it can realize each process of the entropy coding method embodiment and achieve the same technical effect. In order to avoid repetition, no further description will be given here. 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.

[0103] As shown in FIG. 10 , an embodiment of the present application further provides an entropy decoding method, which includes:

[0104] Step 1001: The entropy decoding device obtains the type of placeholder context model used when the target point group to be decoded is subjected to entropy decoding; Here, the type of placeholder context model used when the target point cloud undergoes entropy decoding is determined by the sparsity information of the target point cloud.

[0105] It should be noted that the target point cloud in this application refers to a point cloud sequence or a point cloud slice in a point cloud sequence, and further, the point cloud sequence refers to the point cloud sequence to be coded after pre-processing, where the pre-processing is one or more of coordinate translation, coordinate quantization, and duplicate point removal.

[0106] Step 1002: Entropy decoding the target point cloud based on the type of the placeholder context model.

[0107] It should be noted that performing entropy decoding on the target point cloud in the embodiments of the present application refers to entropy decoding the geometric information of the target point cloud.

[0108] It should be noted that the sparsity information of the target point cloud can be used to determine the type of placeholder context model to be used when the target point cloud undergoes entropy decoding, and then entropy decoding can be performed, thereby rationally selecting the placeholder context model and ensuring optimal decoding performance.

[0109] Optionally, one possible implementation of step 1001 is as follows: Step 10011: Obtaining geometric slice header information of the target point cloud; Step 10012: Determine, based on second information in the geometric slice header information, a type of placeholder context model to be used when the target point cloud undergoes entropy decoding; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0110] It should be noted that in such a case, if the geometric slice header information includes the type of placeholder context model to be used when the target point group performs entropy coding, the entropy decoding device can directly determine that the type of placeholder context model to be used when the target point group performs entropy decoding is the same as the type of placeholder context model to be used when the target point group performs entropy coding, without independently calculating the type of placeholder context model, thereby improving decoding efficiency; and if the geometric slice header information includes sparsity information of the target point group, the entropy decoding device can directly use the sparsity information of the target point group to determine the type of placeholder context model to be used when the target point group performs entropy decoding, without independently calculating the type of placeholder context model, thereby improving decoding efficiency.

[0111] Specifically, in this case, one possible implementation for determining the type of placeholder context model to be used when entropy decoding the target point cloud based on the sparsity information of the target point cloud includes at least one of the following: D11, when the sparsity information of the target point cloud is a sparse point cloud, determine that the type of placeholder context model used when entropy decoding the target point cloud is placeholder context model 1; D12, if the sparse information of the target point cloud is a dense point cloud, determine that the type of placeholder context model used when the target point cloud undergoes entropy decoding is placeholder context model 2.

[0112] It should be noted that the placeholder context model 1 and the placeholder context model 2 in this embodiment are not further described here, and reference should be made to the description of the placeholder context model 1 and the placeholder context model 2 in the above embodiment.

[0113] Alternatively, another possible implementation of step 1001 is as follows: Step 10013, obtain the density information of the target point cloud; Step 10014: Determine, based on the sparsity information of the target point cloud, the type of placeholder context model to be used when the target point cloud undergoes entropy decoding.

[0114] Alternatively, one possible implementation of step 10013 is as follows:

[0115] Step 100131: Obtain size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; It should be noted that the size information of the bounding box generally refers to the length, width, and height of the bounding box, i.e., the dimensions of the three dimensions X, Y, and Z. This size information can be used to determine the volume of the bounding box, which is equal to the product of the length, width, and height.

[0116] Step 100132: Determine density information of the target point cloud based on the size information and the point number information; This step mainly determines the volume occupied by a single point according to the volume of the bounding box and the number of points contained in the bounding box, and then uses the volume occupied by a single point to determine the density of the point cloud. The specific implementation method is as follows: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; The method may further comprise determining density information of the target point cloud based on a relationship between the first volume and a preset threshold value.

[0117] Furthermore, one possible implementation for determining sparsity information using the average occupied volume of the bounding box for each point includes at least one of the following: E11. if the first volume is greater than the preset threshold, determining that the sparsity information of the target point cloud is a sparse point cloud; E12, if the first volume is equal to or less than the preset threshold, determine that the target point cloud is a dense point cloud with respect to its sparse information.

[0118] It should be noted that in the present application, a variable S can be introduced to represent the comparison result between the first volume and a preset threshold, and the value of S is as follows:

number

[0119] When S=1, it indicates that the target point cloud is a sparse point cloud, and when S=0, it indicates that the target point cloud is a dense point cloud.

[0120] Of course, the value of S in the embodiments of the present application is merely an example, and in the above, S=1 represents a sparse point cloud, and S=0 represents a dense point cloud; alternatively, S=0 may represent a sparse point cloud, and S=1 may represent a dense point cloud; and the present application does not limit the specific value of S.

[0121] Specifically, in this case, one possible implementation for determining the type of placeholder context model to be used when entropy decoding the target point cloud based on the sparsity information of the target point cloud includes at least one of the following: E11, when the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when the target point cloud is subjected to entropy decoding is placeholder context model 1; E12, if the sparse information of the target point cloud is a dense point cloud, determine that the type of placeholder context model used when the target point cloud undergoes entropy decoding is placeholder context model 2.

[0122] Optionally, before determining sparsity information of the target point cloud based on a relationship between the first volume and a preset threshold, obtaining the preset threshold value; Here, the preset threshold is determined by the entropy decoding device or is stipulated by a protocol.

[0123] When the preset threshold is determined by the entropy decoding device, the preset threshold is generally determined by a user, i.e., the preset threshold is determined by the entropy coding device according to a user's input. When the preset threshold is stipulated by a protocol, the preset threshold is stipulated to be known by both the entropy coding device and the entropy decoding device, and in such a case, the entropy coding device does not need to code the preset threshold.

[0124] Optionally, when the preset threshold is determined by the entropy decoding device, obtaining the preset threshold may include: obtaining geometric slice header information of the target point cloud; obtaining the predetermined threshold based on first information in the geometric slice header information; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0125] It should be noted that the entropy coding device may determine the preset threshold in the following manner: F111, the entropy coding device stores a preset threshold value set by a user, and directly uses this preset threshold value when performing entropy coding.

[0126] F112: A plurality of thresholds are set in the entropy coding device, forming a threshold list, and the user may set the threshold to be used when performing entropy coding this time.

[0127] In such a case, the entropy coding device needs to inform the entropy decoding device of the preset threshold used when performing entropy coding, and the entropy decoding device will perform entropy decoding according to the similarly preset threshold. When the entropy coding device adopts the B111 method, this first information is generally the preset threshold. When the entropy coding device adopts the B112 method, this first information is generally identifier information corresponding to the preset threshold. For example, this identifier information is the number or index of the preset threshold in the threshold list. Correspondingly, a similar threshold list is also set on the entropy decoding device side, and when the entropy decoding device receives this identifier information, it can know which threshold it corresponds to.

[0128] It should be noted that the embodiments of the present application utilize the sparseness information of the target point cloud to determine the type of placeholder context model to be used when the target point cloud undergoes entropy decoding, thereby rationally selecting the placeholder context model and ensuring optimal decoding performance.

[0129] As shown in FIG. 11, an embodiment of the present application further provides an entropy decoding apparatus 1100, which includes: a second acquisition module 1101 for acquiring a type of placeholder context model used when the target point cloud to be decoded undergoes entropy decoding, wherein the type of placeholder context model used when the target point cloud undergoes entropy decoding is determined by sparsity information of the target point cloud; and a decoding module 1102 for performing entropy decoding of the target point cloud based on the type of the placeholder context model.

[0130] Optionally, the second acquisition module 1101: a second acquiring unit for acquiring geometric slice header information of the target point cloud; a second determining unit for determining a type of placeholder context model to be used when entropy decoding the target point cloud based on second information in the geometric slice header information; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0131] Optionally, the second information includes a type of placeholder context model used when the target point cloud undergoes entropy coding, and the second determining unit: This is used to determine that the type of placeholder context model used when the target point cloud undergoes entropy decoding is the same as the type of placeholder context model used when the target point cloud undergoes entropy coding.

[0132] Optionally, the second information includes sparsity information of the target point cloud, and the second determining unit: Based on the sparsity information of the target point cloud, the target point cloud is used to determine the type of placeholder context model to be used when performing entropy decoding.

[0133] Optionally, the second acquisition module 1101: a third acquisition unit for acquiring sparsity information of the target point cloud; and a third determining unit for determining, based on sparsity information of the target point cloud, a type of placeholder context model to be used when the target point cloud undergoes entropy decoding.

[0134] Optionally, the third acquisition unit: a first acquisition subunit for acquiring size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; and a second determination subunit for determining sparsity information of the target point cloud based on the size information and the point number information.

[0135] Optionally, the second determination subunit: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; The method is used to determine density information of the target point cloud based on the relationship between the first volume and a preset threshold value.

[0136] Optionally, the implementation of determining the density information of the target point cloud based on the relationship between the first volume and a preset threshold value includes: If the first volume is greater than the preset threshold, determining that the target point cloud has sparsity information as a sparse point cloud; and determining that the target point cloud is a dense point cloud if the first volume is equal to or less than the preset threshold.

[0137] Optionally, before the second determining subunit determines sparsity information of the target point cloud based on the relationship between the first volume and a preset threshold, further comprising a third acquisition module for acquiring the preset threshold value; Here, the preset threshold is determined by the entropy decoding device or is stipulated by a protocol.

[0138] Optionally, when the preset threshold is determined by the entropy decoding device, the third acquisition module: a fourth acquiring unit for acquiring geometric slice header information of the target point cloud; a fifth obtaining unit for obtaining the preset threshold value based on first information in the geometric slice header information; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0139] Optionally, the implementation of determining the type of placeholder context model to be used when the target point cloud undergoes entropy decoding based on the sparsity information of the target point cloud may include: When the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when entropy decoding the target point cloud is placeholder context model 1; and determining, when the sparse information of the target point cloud is a dense point cloud, that the type of placeholder context model used when entropy decoding the target point cloud is placeholder context model 2.

[0140] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.

[0141] It should be noted that the embodiments of the present application utilize the sparseness information of the target point cloud to determine the type of placeholder context model to be used when the target point cloud undergoes entropy decoding, thereby rationally selecting the placeholder context model and ensuring optimal decoding performance.

[0142] Preferably, the embodiments of the present application further provide an entropy decoding device, 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, it can realize each process of the embodiments of the entropy decoding method and achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0143] The embodiments of the present application further provide a computer-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 entropy decoding 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.

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

[0145] An embodiment of the present application further provides an entropy decoding device, which includes a processor and a communication interface, wherein the processor is used to obtain a type of placeholder context model to be used when a target point cloud to be decoded undergoes entropy decoding, where the type of placeholder context model to be used when the target point cloud undergoes entropy decoding is determined by sparsity information of the target point cloud, and to perform entropy decoding of the target point cloud based on the type of placeholder context model.

[0146] The embodiment of this entropy decoding device corresponds to the embodiment of the above entropy decoding method, and the implementation processes and realization methods of the above method embodiments can all be applied to the embodiment of this entropy decoding device and can achieve the same technical effects.

[0147] Specifically, the embodiment of the present application further provides an entropy decoding device, and specifically, the structure of this entropy decoding device is similar to the structure of the entropy coding device shown in FIG. 9, and will not be further described here.

[0148] Optionally, the processor: Obtaining a type of placeholder context model used when entropy decoding a target point cloud to be decoded, wherein the type of placeholder context model used when entropy decoding the target point cloud is determined by sparsity information of the target point cloud; and performing entropy decoding of the target point cloud based on the type of the placeholder context model.

[0149] Optionally, the processor further: obtaining geometric slice header information of the target point cloud; and determining a type of placeholder context model to be used when entropy decoding the target point cloud based on second information in the geometric slice header information; Here, the second information includes sparse information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

[0150] Optionally, the processor further: This is used to determine that the type of placeholder context model used when the target point group undergoes entropy decoding is the same as the type of placeholder context model used when the target point group undergoes entropy coding.

[0151] Optionally, the processor further: It is used to realize that, based on the sparsity information of the target point cloud, a type of placeholder context model to be used when the target point cloud is subjected to entropy decoding is determined.

[0152] Optionally, the processor further: obtaining density information of the target point cloud; and determining, based on the sparsity information of the target point cloud, the type of placeholder context model to be used when the target point cloud undergoes entropy decoding.

[0153] Optionally, the processor further: Obtaining size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; The method is used to determine density information of the target point cloud based on the size information and the point number information.

[0154] Optionally, the processor further: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; The method is used to determine density information of the target point cloud based on the relationship between the first volume and a preset threshold value.

[0155] Optionally, the processor further: If the first volume is greater than the preset threshold, determining that the target point cloud has sparsity information as a sparse point cloud; and determining that the target point cloud is a dense point cloud if the first volume is equal to or less than the preset threshold.

[0156] Optionally, the processor further: used to obtain the preset threshold value, Here, the preset threshold is determined by the entropy decoding device or is stipulated by a protocol.

[0157] Optionally, the processor further: obtaining geometric slice header information of the target point cloud; and obtaining the predetermined threshold value based on first information in the geometric slice header information; Here, the first information is the preset threshold value or identifier information corresponding to the preset threshold value.

[0158] Optionally, the processor further: When the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when entropy decoding the target point cloud is placeholder context model 1; When the sparse information of the target point cloud is a dense point cloud, the type of placeholder context model used when entropy decoding the target point cloud is determined to be placeholder context model 2.

[0159] Optionally, the target point cloud is a point cloud sequence or a point cloud slice in a point cloud sequence.

[0160] It should be noted that the entropy coding device and the entropy decoding device in the embodiments of the present application may be installed in the same device, that is, the device can realize the entropy coding function and can also realize the entropy decoding function.

[0161] Optionally, as shown in Figure 12, an embodiment of the present application further provides a codec device 1200, which includes a processor 1201, a memory 1202, and a program or instruction stored in the memory 1202 and operable on the processor 1201. For example, if the codec device 1200 is an entropy coding device, when the program or instruction is executed by the processor 1201, it can realize each process of the above-mentioned entropy coding method embodiment and achieve the same technical effect. If the codec device 1200 is an entropy decoding device, when the program or instruction is executed by the processor 1201, it can realize each process of the above-mentioned entropy decoding method embodiment and achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0162] The embodiments of the present application further provide 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 above-mentioned entropy coding method or entropy decoding method embodiment, and can achieve the same technical effect. In order to avoid repetition of description, no further description will be given here.

[0163] It should be understood that the chips referred to in the embodiments of this application may be referred to as system level chips, system chips, chip systems, or system-on-chips.

[0164] 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 each process of the above entropy coding method or entropy decoding method embodiments, and to achieve the same technical effects. In order to avoid repetition, no further description will be given here.

[0165] The embodiments of the present application further provide a communication device, which is configured to perform each process of the above-mentioned entropy coding method or entropy decoding method embodiment, and can achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0166] It should be noted that, in this specification, the terms "comprise," "include," "includes," or any other variations thereof are intended to cover the non-exclusive "comprise," whereby a process, method, article, or apparatus comprising a set of elements not only includes those elements, but also other elements not expressly listed or inherent in such process, method, article, or apparatus. Absent further limitations, an element defined by the phrase "comprises one of" does not preclude the presence of other identical elements in the process, method, article, or apparatus comprising that element. It should be noted that the scope of the methods and apparatuses 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 may be performed in a different order than described, and various steps may be added, omitted, or combined. Furthermore, features described with reference to some examples may be combined in other examples.

[0167] As will be apparent to those skilled in the art from the above description of the embodiments, 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. Based on this understanding, the technical proposal of the present application may be substantially embodied in the form of a software product, or a portion that contributes to the prior art. This computer software product is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) and includes a number of instructions for causing a terminal (which may be a mobile phone, computer, server, air conditioner, network device, etc.) to execute the methods described in each embodiment of the present application.

[0168] Although the embodiments of the present application have been described above in conjunction with the drawings, 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 teachings of the present application into account and implement many forms without departing from the spirit and scope of the claims, all of which fall within the scope of protection of the present application.

Claims

1. 1. An entropy coding method, comprising: An entropy coding device obtains sparsity information of a target point cloud to be coded; determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information; and performing entropy coding of the target point cloud based on the type of the placeholder context model; the target point cloud is a point cloud slice in a point cloud sequence; The obtaining of the sparse / dense information of the target point cloud to be coded includes: Obtaining size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; determining density information of the target point cloud based on the size information and the point number information; Determining density information of the target point cloud based on the size information and the point number information includes: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; determining density information of the target point cloud based on a relationship between the first volume and a preset threshold value; When the predetermined threshold is determined by the entropy coding device, after determining sparsity information of the target point cloud based on the relationship between the first volume and the predetermined threshold, coding the first information into geometric slice header information of the target point cloud; wherein the first information is the preset threshold or identifier information corresponding to the preset threshold.

2. Determining density information of the target point cloud based on the relationship between the first volume and a preset threshold value includes: If the first volume is greater than the preset threshold, determining that the target point cloud has sparsity information as a sparse point cloud; The method of claim 1 , comprising at least one of: determining that the target point cloud is a dense point cloud if the first volume is less than or equal to the preset threshold.

3. determining a type of placeholder context model to be used when performing entropy coding on the target point cloud based on the sparsity information; When the sparsity information of the target point cloud is a sparse point cloud, determining that a type of placeholder context model used when entropy coding the target point cloud is placeholder context model 1; and determining, when the sparse information of the target point cloud is a dense point cloud, that a type of placeholder context model used when entropy coding the target point cloud is a placeholder context model 2; or After determining a type of placeholder context model to be used when entropy coding the target point cloud based on the sparsity information, coding the second information into geometric slice header information of the target point cloud; The method of claim 1 , wherein the second information includes sparsity information of the target point cloud or a type of placeholder context model used when entropy coding the target point cloud.

4. 1. A method for entropy decoding, comprising: The entropy decoding device obtains a type of placeholder context model to be used when the target point cloud to be decoded undergoes entropy decoding, wherein the type of placeholder context model to be used when the target point cloud undergoes entropy decoding is determined by sparsity information of the target point cloud; performing entropy decoding of the target point cloud based on the type of the placeholder context model; the target point cloud is a point cloud slice in a point cloud sequence; The method for obtaining the type of placeholder context model used when performing entropy decoding on the target point cloud to be decoded includes: obtaining density information of the target point cloud; determining a type of placeholder context model to be used when entropy decoding the target point cloud based on sparsity information of the target point cloud; The acquiring of the density information of the target point cloud includes: Obtaining size information of a bounding box corresponding to the target point cloud and information on the number of points included in the target point cloud; determining density information of the target point cloud based on the size information and the point number information; Determining density information of the target point cloud based on the size information and the point number information includes: determining a first volume, which is an average volume occupied by a bounding box of each point in the target point cloud, based on the size information and the point number information; determining density information of the target point cloud based on a relationship between the first volume and a preset threshold value; before determining density information of the target point cloud based on the relationship between the first volume and a preset threshold value, obtaining the preset threshold value; The predetermined threshold is determined by the entropy decoding device. When the predetermined threshold is set, obtaining the predetermined threshold includes: obtaining geometric slice header information of the target point cloud; obtaining the predetermined threshold based on first information in the geometric slice header information; wherein the first information is the preset threshold or identifier information corresponding to the preset threshold.

5. The method for obtaining the type of placeholder context model used when performing entropy decoding on the target point cloud to be decoded includes: determining, based on second information in the geometric slice header information, a type of placeholder context model to be used when entropy decoding the target point cloud; The method of claim 4 , wherein the second information includes sparseness information of the target point cloud or a type of placeholder context model used when the target point cloud undergoes entropy coding.

6. The second information includes a type of placeholder context model to be used when entropy coding the target point cloud, and determining a type of placeholder context model to be used when entropy decoding the target point cloud includes: determining that a type of placeholder context model used when entropy decoding the target point cloud is the same as a type of placeholder context model used when entropy coding the target point cloud; or The second information includes sparsity information of the target point cloud, and determining a type of placeholder context model to be used when entropy decoding the target point cloud includes: The method of claim 5 , further comprising determining a type of placeholder context model to be used when entropy decoding the target point cloud based on sparsity information of the target point cloud.

7. Determining a type of placeholder context model to be used when performing entropy decoding of the target point cloud based on sparsity information of the target point cloud includes: When the sparsity information of the target point cloud is a sparse point cloud, determining that the type of placeholder context model used when entropy decoding the target point cloud is placeholder context model 1; and determining, when the sparse information of the target point cloud is a dense point cloud, that a type of placeholder context model to be used when entropy decoding the target point cloud is placeholder context model 2.

8. An entropy coding device comprising a processor, a memory, and a program or instructions stored in the memory and operable on the processor, the program or instructions implementing the steps of the entropy coding method of any one of claims 1 to 3 when executed by the processor.

9. An entropy decoding device comprising a processor, a memory, and a program or instructions stored in the memory and operable on the processor, the program or instructions implementing the steps of the entropy decoding method of claim 4 when executed by the processor.

Citation Information

Patent Citations

  • Point cloud geometrical information encoding and decoding method

    CN112565795A

  • Methods and devices using direct coding in point cloud compression

    US20200396489A1

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2019142834A1

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2019240285A1

  • WO2020/282019A1