Entropy encoding, decoding method and apparatus

By selecting different placeholder code context models for entropy coding based on the density of the point cloud, the problem of poor point cloud coding performance in existing technologies is solved, and a more efficient coding effect is achieved.

CN115474050BActive Publication Date: 2026-02-13VIVO MOBILE COMM CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202110656066.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-11
Publication Date
2026-02-13
Estimated Expiration
2041-06-11

AI Technical Summary

Technical Problem

In the existing entropy coding process, the selection of the context model for point clouds cannot guarantee optimal coding performance. In particular, in the test sequence of AVS point cloud groups, different slices of the same sequence are configured with the same context model at each bit rate point, resulting in poor coding performance.

Method used

By obtaining the density information of the target point cloud, we can determine the appropriate placeholder code context model type for entropy coding, including selecting different context model one and context model two for sparse and dense point clouds respectively, and rationally selecting the context model to improve coding performance.

Benefits of technology

By appropriately selecting the context model, the coding performance was improved, the distortion of point cloud reconstruction and the size of the compressed bitstream were reduced, and the coding efficiency was increased.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115474050B_ABST
    Figure CN115474050B_ABST
Patent Text Reader

Abstract

The application discloses an entropy encoding and decoding method and device. The entropy encoding method of the application embodiment comprises the following steps: an entropy encoding device acquires the density information of a target point cloud to be encoded; according to the density information, the type of a placeholder code context model used when the target point cloud is encoded is determined; and according to the type of the placeholder code context model, the entropy encoding of the target point cloud is performed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of image processing, and particularly relates to an entropy encoding and decoding method and device. BACKGROUND

[0002] Two sets of context models in the Point cloud Reference Software Model (PCRM) V3 are respectively for two categories of point clouds: relatively sparse point clouds (cat1A, cat2frame) and relatively dense point clouds (cat1B, cat3). The selection of the context models has the following disadvantages:

[0003] 1. The cat1B sequence in the official test sequence of the Audio Video coding Standard (AVS) point cloud group has the characteristics of a large number of points and a large storage space, but the space volume represented by the geometric information thereof is also relatively large. Therefore, it is not necessarily accurate to regard the entire point cloud as a "dense" point cloud, and the selection of the second context model does not necessarily obtain the best performance.

[0004] 2. In the existing test conditions of the AVS point cloud group, the point cloud geometric coordinates are quantized in the preprocessing process under the geometric loss condition, which can be regarded as scaling the point cloud to different degrees to a certain extent. Therefore, under the geometric loss condition, the sparse point clouds (cat1A, cat2frame) are not "sparse" at low code rate points.

[0005] In the existing configuration, different slices of the same sequence are configured with the same context model at different code rate points, and the best performance cannot be obtained. SUMMARY

[0006] Embodiments of the present application provide an entropy encoding and decoding method and device, which can solve the problem that the selection of the context model of the point cloud in the existing entropy encoding process cannot guarantee that the encoding performance reaches the best.

[0007] In a first aspect, an entropy encoding method is provided, comprising:

[0008] An entropy encoding device acquires the sparsity information of a target point cloud to be encoded;

[0009] According to the sparsity information, the type of the placeholder code context model used when the target point cloud is encoded is determined;

[0010] According to the type of the placeholder code context model, the entropy encoding of the target point cloud is performed.

[0011] In a second aspect, an entropy decoding method is provided, comprising:

[0012] The entropy decoding apparatus acquires a type of placeholder code context model used when entropy decoding a target point cloud, wherein the type of placeholder code context model used when entropy decoding the target point cloud is determined by density information of the target point cloud;

[0013] According to the type of placeholder code context model, entropy decoding of the target point cloud is performed.

[0014] In a third aspect, an entropy encoding apparatus is provided, comprising:

[0015] A first obtaining module is configured to obtain density information of a target point cloud to be encoded;

[0016] A first determining module is configured to determine, according to the density information, a type of placeholder code context model used when entropy encoding the target point cloud;

[0017] An encoding module is configured to perform entropy encoding of the target point cloud according to the type of placeholder code context model.

[0018] In a fourth aspect, an entropy decoding apparatus is provided, comprising:

[0019] A second obtaining module is configured to obtain a type of placeholder code context model used when entropy decoding a target point cloud to be decoded, wherein the type of placeholder code context model used when entropy decoding the target point cloud is determined by density information of the target point cloud;

[0020] A decoding module is configured to perform entropy decoding of the target point cloud according to the type of placeholder code context model.

[0021] In a fifth aspect, an entropy encoding apparatus is provided, comprising a processor, a memory, and a program or instructions stored on the memory and executable on the processor, wherein the program or instructions are executed by the processor to implement the steps of the method according to the first aspect.

[0022] In a sixth aspect, an entropy encoding apparatus is provided, comprising a processor and a communication interface, wherein the processor is configured to obtain density information of a target point cloud to be encoded;

[0023] According to the density information, a type of placeholder code context model used when entropy encoding the target point cloud is determined;

[0024] According to the type of placeholder code context model, entropy encoding of the target point cloud is performed.

[0025] In a seventh aspect, an entropy decoding apparatus is provided, which comprises a processor, a memory, and a program or instruction stored in the memory and executable on the processor, and the program or instruction, when executed by the processor, implements the steps of the method according to the second aspect.

[0026] In an eighth aspect, an entropy decoding apparatus is provided, which comprises a processor and a communication interface, wherein the processor is configured to acquire a type of placeholder code context model used when a target point cloud is entropy decoded, and the type of placeholder code context model used when the target point cloud is entropy decoded is determined according to density information of the target point cloud.

[0027] According to the type of the placeholder code context model, entropy decoding of the target point cloud is performed.

[0028] In a ninth aspect, a readable storage medium is provided, which stores a program or instruction, and the program or instruction, when executed by a processor, implements the steps of the method according to the first aspect or the steps of the method according to the second aspect.

[0029] In a tenth aspect, a chip is provided, which comprises a processor and a communication interface, and the communication interface is coupled to the processor, and the processor is configured to execute a program or instruction to implement the steps of the method according to the first aspect or the second aspect.

[0030] In an eleventh aspect, a computer program / program product is provided, which is stored in a non-volatile storage medium, and the program / program product is executed by at least one processor to implement the steps of the method according to the first aspect or the second aspect.

[0031] In the embodiments of the present application, the type of placeholder code context model used when the target point cloud is entropy encoded is determined according to the density information of the target point cloud, so that the selection of the placeholder code context model can be reasonably performed, and the encoding performance can be optimized. BRIEF DESCRIPTION OF DRAWINGS

[0032] Figure 1 is an AVS codec framework diagram;

[0033] Figure 2 is a flowchart of an entropy encoding method according to an embodiment of the present application;

[0034] Figure 3 is a diagram of the spatial positions and coordinate systems of eight child nodes relative to a current node;

[0035] Figure 4 is a diagram of reference neighbor nodes of each child node in the same layer;

[0036] Figure 5 is a schematic diagram of 4 groups of reference neighbor nodes of the current node;

[0037] Figure 6 is a schematic diagram of parent node layer (current node layer) reference neighbor nodes of each child node;

[0038] Figure 7 is a schematic diagram of same-layer coplanar neighbors of each child node;

[0039] Figure 8 is a schematic diagram of modules of an entropy encoding apparatus according to an embodiment of the present application;

[0040] Figure 9 is a structural block diagram of an entropy encoding apparatus according to an embodiment of the present application;

[0041] Figure 10 is a flowchart of an entropy decoding method according to an embodiment of the present application;

[0042] Figure 11 is a schematic diagram of modules of an entropy decoding apparatus according to an embodiment of the present application;

[0043] Figure 12 is a structural block diagram of a coding and decoding apparatus according to an embodiment of the present application. DETAILED DESCRIPTION

[0044] The technical solutions in the embodiments of the present application will be described clearly below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.

[0045] The terms “first”, “second”, and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than that illustrated or described herein, and the objects distinguished by “first”, “second” are generally of a kind, and are not limited to the number of objects, for example, the first object can be one or more. In addition, “and / or” in the specification and claims means at least one of the connected objects, and the character “ / ” generally represents an “or” relationship between the associated objects before and after.

[0046] The terminal can be a mobile phone, a tablet personal computer (Tablet Personal Computer), a laptop computer (Laptop Computer), a personal digital assistant (Personal Digital Assistant, PDA), a palm computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) device, a robot, a wearable device (Wearable Device) or a vehicle-mounted device (VUE), a pedestrian terminal (PUE), and the like. The wearable device includes a smart watch, a bracelet, earphones, glasses, and the like. It should be noted that the specific type of the terminal is not limited in the embodiments of the present application.

[0047] For the convenience of understanding, some contents related to the embodiments of the present application are described below.

[0048] Figure 1For the digital audio and video coding standard (AVS) codec framework, in the point cloud AVS encoder framework, the geometry information of the point cloud and the attribute information corresponding to each point are encoded separately. First, the coordinate transformation is performed on the geometry information, so that the point cloud is contained in a bounding box. Then, quantization is performed, which mainly plays a scaling role. Due to the quantization rounding, the geometry information of a part of points is the same. Whether to remove the duplicate points is determined according to the parameters. The quantization and removal of duplicate points belong to the preprocessing process. Next, the bounding box is divided according to the breadth-first traversal order (octree / tetree / bintree), and the occupancy code of each node is encoded. In the geometry code framework based on octree, the bounding box is sequentially divided to obtain a sub-cube. The non-empty (containing points in the point cloud) sub-cube is continuously divided until the leaf node obtained by the division is a 1×1×1 unit cube, and the division is stopped. Secondly, the number of points contained in the leaf node is encoded, and finally the geometry octree encoding is completed, and a binary code stream is generated. In the geometry decoding process based on octree, the decoding end continuously analyzes the occupancy code of each node according to the breadth-first traversal order, and continuously divides the nodes in sequence until the division of the 1×1×1 unit cube is stopped. The number of points contained in each leaf node is analyzed, and finally the geometry reconstructed point cloud information is recovered.

[0049] After the geometry coding is completed, the geometry information is reconstructed. At present, the attribute coding is mainly aimed at color and reflectivity information. First, it is judged whether color space conversion is performed. If color space conversion is performed, the color information is converted from the RGB color space to the YUV color space. Then, the original point cloud is used to recolor the reconstructed point cloud, so that the unencoded attribute information corresponds to the reconstructed geometry information. In the color information coding, there are two modules: attribute prediction and attribute transformation. The attribute prediction process is as follows: first, the point cloud is reordered, and then difference prediction is performed. There are two methods for reordering: Morden reordering and Hilbert reordering. For cat1A sequences and cat2 sequences, Hilbert reordering is performed; for cat1B sequences and cat3 sequences, Morden reordering is performed. The reordered point cloud is predicted using the difference method, and finally the prediction residual is quantized and entropy coded to generate a binary code stream. The attribute transformation process is as follows: first, the wavelet transform is performed on the point cloud attribute, and the transform coefficients are quantized; second, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transform; then, the attribute residual is calculated by calculating the difference between the original attribute and the attribute reconstruction value and is quantized; finally, the quantized transform coefficients and attribute residual are entropy coded to generate a binary code stream. The geometry coding and geometry decoding parts involved in the present application are more accurately improved entropy coding and entropy decoding of the geometry coding and geometry decoding parts.

[0050] The entropy coding and decoding method and device provided by the embodiments of the present application will be described in detail below in combination with the drawings and some embodiments and application scenarios.

[0051] As shown in Figure 2 The entropy coding method provided by the embodiments of the present application comprises the following steps:

[0052] Step 201: An entropy coding device acquires the sparsity information of a target point cloud to be coded.

[0053] It should be noted that the target point cloud referred to in the present application refers to a point cloud sequence or a point cloud slice in a point cloud sequence; further, the point cloud sequence refers to a point cloud sequence after preprocessing of the point cloud sequence to be coded, and the preprocessing referred to herein refers to one or more of coordinate translation, coordinate quantization and removal of duplicate points.

[0054] Step 202: According to the sparsity information, the type of the placeholder code context model used when the target point cloud is entropy coded is determined.

[0055] Step 203: According to the type of the placeholder code context model, the entropy coding of the target point cloud is performed.

[0056] It should be noted that, in the embodiments of this application, the entropy encoding of the target point cloud refers to entropy encoding of the geometric information of the target point cloud.

[0057] It should be noted that by utilizing the density information of the target point cloud, the type of placeholder code context model used when entropy coding of the target point cloud can be determined, and then entropy coding can be performed. This allows for the reasonable selection of the placeholder code context model, ensuring that the coding performance reaches its optimal level.

[0058] Optionally, one possible implementation of step 201 above is as follows:

[0059] Step 2011: Obtain the size information of the bounding box corresponding to the target point cloud and the number of points contained in the target point cloud;

[0060] It should be noted that the dimensions of the bounding box usually refer to the length, width, and height of the bounding box, that is, the dimensions of the three dimensions of X, Y, and Z. The volume of the bounding box can be determined by this dimension information, which is equal to the product of the length, width, and height.

[0061] Step 2012: Determine the density information of the target point cloud based on the size information and the number of points;

[0062] This step primarily involves determining the volume occupied by a single point by using the volume of the bounding box and the number of points contained within it. Then, using the volume occupied by a single point, the density of the point cloud is determined. A specific implementation method could be:

[0063] Based on the size information and the number of points, a first volume is determined, whereby the first volume is the average volume occupied by each point in the target point cloud relative to its bounding box.

[0064] Based on the relationship between the first volume and the preset threshold, the density information of the target point cloud is determined.

[0065] Furthermore, one possible implementation for determining density information using the average occupied volume of each point relative to the bounding box includes at least one of the following:

[0066] A11. If the first volume is greater than the preset threshold, then the density information of the target point cloud is determined to be a sparse point cloud.

[0067] A12. If the first volume is less than or equal to the preset threshold, then the density information of the target point cloud is determined to be a dense point cloud.

[0068] It should be noted that in this application, the comparison result between the first volume and the preset threshold can be represented by the variable S. The value of S is as follows:

[0069]

[0070] Wherein, S is the sparsity information, p is the first volume, p = V / N, V is the volume of the bounding box corresponding to the target point cloud, N is the number of points contained in the target point cloud, Th is the preset threshold.

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

[0072] Of course, the value of S in the present application is only an example, and the above is to use S = 1 to represent a sparse point cloud and S = 0 to represent a dense point cloud. Alternatively, S = 0 can also be used to represent a sparse point cloud and S = 1 to represent a dense point cloud. The specific value of S is not limited in the present application.

[0073] It should be noted here that the preset threshold can be determined in the following way:

[0074] B11, determined by the entropy encoding device;

[0075] Usually, the preset threshold is determined by the user, that is, the entropy encoding device determines the preset threshold according to the user's input.

[0076] Further, the entropy encoding device can determine the preset threshold in the following way:

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

[0078] B112, the entropy encoding device is provided with a plurality of thresholds to form a threshold list, and the user can set the threshold used for this time entropy encoding.

[0079] In this case, the entropy encoding device needs to inform the entropy decoding device of the preset threshold used for its entropy encoding, and the entropy decoding device performs entropy decoding according to the same preset threshold. One implementation can be adopted as follows:

[0080] After determining the sparsity information of the target point cloud according to the relationship between the first volume and the preset threshold, encode the first information into the geometry slice header information of the target point cloud;

[0081] Wherein, the first information is the preset threshold or the identification information corresponding to the preset threshold.

[0082] It should be noted that in this case, the entropy encoding device needs to encode the preset threshold; when the entropy encoding device adopts the manner of B111, the first information usually refers to the preset threshold; when the entropy encoding device adopts the manner of B112, the first information usually refers to identification information corresponding to the preset threshold, for example, the identification information is the number or index of the preset threshold in a threshold list, and correspondingly, the entropy decoding device side also has the same threshold list, and when the entropy decoding device receives the identification information, it can know which threshold corresponds to the identification information.

[0083] B12, protocol agreement;

[0084] It should be noted that in this case, the preset threshold is agreed to be known by the entropy encoding device and the entropy decoding device, and in this case, the entropy encoding device does not need to encode the preset threshold.

[0085] It should be further noted that the optional implementation manner of the step 202 includes at least one of the following:

[0086] C11, in the case that the sparsity information of the target point cloud is a sparse point cloud, determining that the type of the placeholder code context model used when the target point cloud is entropy encoded is placeholder code context model one;

[0087] C12, in the case that the sparsity information of the target point cloud is a dense point cloud, determining that the type of the placeholder code context model used when the target point cloud is entropy encoded is placeholder code context model two.

[0088] It should be noted that in the current AVS point cloud encoding reference software model (Point cloud Reference Software Model, PCRM) V3.0, the encoding of the spatial placeholder code adopts a context-based adaptive binary arithmetic encoder, and there are 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). The following will introduce the two sets of context models in detail. In order to facilitate description, the spatial positions of the coordinate system and the eight sub-nodes generated by octree division relative to the parent node, i.e., the current node, are as follows Figure 3 .

[0089] I. Placeholder code context model one

[0090] In the octree breadth-first traversal division mode, the neighbor information that can be obtained when encoding the sub-node of the current point includes the neighbor sub-nodes in the left front lower three directions, including: 3 neighbor sub-nodes coplanar with the sub-node to be encoded of the current point, 3 neighbor sub-nodes collinear, and 1 neighbor sub-node copoint.

[0091] The placeholder code context model for the child node layer is designed as follows: For the child node layer to be encoded, find the placeholders of the three coplanar, three collinear, and one concurrent nodes in the left-front-bottom direction of the same layer as the child node to be encoded, as well as the nodes located two node side lengths away from the current child node in the negative direction of the dimension with the shortest node side length. Taking the shortest node side length in the X dimension as an example, the reference nodes selected for each child node are as follows: Figure 4 As shown in the diagram. The dashed box node is the current node, the arrow points to the current child node to be encoded, and the solid box node is the reference node selected by each child node.

[0092] Among them, the occupancy of 3 coplanar nodes, 3 collinear nodes, and nodes located two node side lengths away from the current child node in the negative direction along the dimension with the shortest node side length are considered in detail. There are a total of 2 occupancy possibilities for these 7 nodes. 7 = 128 possible cases. If not all of them are non-occupied, then there are a total of 2 7 -1 = 127 possibilities, each with one context. If all 7 nodes are unoccupied, then consider the occupancy of shared neighbor nodes. A shared neighbor has two possibilities: occupied or unoccupied. A separate context is allocated for the case where the shared neighbor node is occupied. If the shared neighbor is also unoccupied, then consider the occupancy of the current node-level neighbors, which will be discussed later. Therefore, there are a total of 127 + 2 - 1 = 128 contexts for the child node-level neighbors to be encoded.

[0093] If none of the eight reference nodes at the same level of the child node to be encoded are occupied, then consider the following: Figure 5 The diagram shows the occupancy of the four groups of neighbors at the current node level. The nodes within the dashed boxes represent the current node, and the nodes within the solid borders represent neighboring nodes.

[0094] For the current node level, determine the placeholder code context by following these steps:

[0095] 1. First, consider the top-right and bottom-right three coplanar neighbors of the current node. There are two possible positions for these three coplanar neighbors. 3 =8 possibilities. Assign one context to each case where not all are unoccupied. Considering the position of the child node to be encoded within the current node, this group of neighboring nodes provides a total of (8-1)×7=56 contexts. If the three coplanar neighbors to the upper right of the current node are not occupied, then continue considering the remaining three groups of neighbors at the current node level.

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

[0097] The specific distribution of neighboring nodes and their corresponding distances are shown in Table 1.

[0098] Table 1. Correspondence between current node layer occupancy and distance.

[0099]

[0100] As shown in Table 1, there are 3 possible values ​​for distance. One context is assigned to each of these 3 values. Considering the position of the child node to be encoded within the current node, there are a total of 3 × 8 = 24 contexts.

[0101] At this point, the space occupancy code context model has allocated a total of 128 + 56 + 24 = 208 contexts.

[0102] II. Placeholder Code Context Model

[0103] This context uses a two-layer context reference configuration. The first layer is the occupancy of neighboring nodes that are coplanar or collinear with the current node in the current node layer; the second layer is the occupancy of neighboring nodes that are coplanar with the child node to be encoded in the child node layer.

[0104] First, for each child node to be encoded, we can obtain its six coplanar and collinear neighbors in its parent node layer (i.e., the current node layer), as follows: Figure 6 As shown. Figure 6 The nodes with dashed borders represent the current node, the nodes indicated by the arrows represent the child nodes to be encoded, and the nodes with solid borders represent the current node's coplanar and collinear neighbors. For the three coplanar neighbors, considering each distribution, there are a total of 2... 3 = 8 cases; for the remaining 3 collinear neighbors, only the number of occupied nodes among the three neighbors is counted, which results in 0, 1, 2, and 3 cases in total. Combining the two, there are a total of 4 × 8 = 32 cases. If one context is configured for each case, then the current node layer provides a total of 32 contexts.

[0105] Secondly, for each child node to be encoded, find its three coplanar neighboring nodes at the same level (left, front, and bottom, in the negative directions of each coordinate axis) as reference nodes, as follows: Figure 7 As shown. Figure 7 The nodes with dashed borders are the current node, the nodes indicated by the arrows are the child nodes to be encoded, and the nodes with solid borders are the coplanar neighbors of each child node at the same level. These three coplanar neighbor nodes at the same level as the child node to be encoded have a total of 2... 3 = There are 8 possible scenarios. If a context is assigned to each scenario, then the current node provides a total of 8 contexts.

[0106] These two contexts do not interfere with each other, so the context model provides a total of 32×8=256 contexts for denser point cloud sequences or point cloud patches.

[0107] Optionally, in order to reduce the decoding complexity of the entropy decoding device, the entropy encoding device can directly encode the type of the placeholder code context model used when the obtained sparsity information of the target point cloud or the target point cloud is entropy encoded, and inform the entropy decoding device. The entropy decoding device can directly use the information notified by the entropy encoding device for decoding, which can speed up the decoding rate. The specific implementation is as follows:

[0108] After determining the type of the placeholder code context model used when the target point cloud is entropy encoded according to the sparsity information, the second information is encoded into the geometry slice header information of the target point cloud.

[0109] The second information includes the sparsity information of the target point cloud or the type of the placeholder code context model used when the target point cloud is entropy encoded.

[0110] In summary, the present application proposes a method of adaptively selecting the placeholder code context model of the current point cloud slice or point cloud sequence considering the sparsity of the point cloud slice or point cloud sequence. 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 the volume size and the number of points contained can be obtained from the geometry slice header information. When the ratio of the volume size and the number of points contained is greater than a certain threshold, it is determined as a "sparse" point cloud, and context model one is selected for entropy encoding. When the ratio of the volume size and the number of points contained is less than a certain threshold, it is determined as a "dense" point cloud, and context model two is selected for entropy encoding. This method allows the point cloud sequence or each point cloud slice in the point cloud sequence to select the appropriate placeholder code context model for entropy encoding under each condition, thereby improving performance. Experimental results show that the algorithm described in the present application can improve the encoding performance. As shown in Table 2 below, under lossy conditions, the performance of the present application is better than that of PCRMV3.0.

[0111] It should be noted that there are two aspects of performance indicators for evaluating point cloud compression: one is the distortion degree of the point cloud, and the higher the distortion degree, the worse the objective quality of the reconstructed point cloud; the other is the size of the compressed bit stream. For lossless compression, there is no distortion of the point cloud, so only the size of the compressed bit stream is considered. For lossy compression, both aspects are considered. Among them, the size of the bit stream can be measured by the number of bits output after encoding, while for the evaluation of the distortion degree of the point cloud, PCRM provides two corresponding distortion evaluation algorithms.

[0112] Generally, the performance of a compression algorithm is evaluated using RD curves to compare the performance differences between two algorithms. The ideal goal of point cloud compression is to reduce the bitstream and increase the PSNR (Power-On-Rate), a key indicator of objective quality. However, this is rare. More commonly, the bitstream decreases compared to the original method, but the PSNR (point cloud quality) decreases, or the PSNR increases, but the bitstream increases. To measure the performance of a new method in both of these scenarios, a metric that comprehensively considers both bitstream and PSNR is needed. The AVS Point Cloud Group uses BD-Rate to comprehensively evaluate the bitrate and objective quality of point cloud compression algorithms, further refining it into geometric and attribute aspects: BD-GeomRate and BD-AttrRate. A negative BD-Rate value indicates a performance improvement over the original method; a positive BD-Rate value indicates a performance decline. Depending on whether the error is calculated using mean squared error or Hausdorff distance, there are two methods and results for calculating PSNR. Correspondingly, there are also two results for BD-Rate: the one calculated using mean squared error is denoted as D1, and the one calculated using Hausdorff distance is denoted as D1-H.

[0113] Table 2. Performance comparison results of this application and PCRM V3.0 under destructive conditions.

[0114] Sequence BD-GeomRate(D1) BD-GeomRate(D1-H) bridge_1mm -5.4% -5.4% double_T_section_1mm -2.2% -2.2% intersection1_1mm -2.4% -2.3% intersection2_1mm -1.6% -1.6% straight_road_1mm -1.7% -1.7% T_section_1mm -2.0% -1.9% stanford_area_2_vox20 -0.8% -0.9% stanford_area_4_vox20 -1.1% -1.1% ford_01 -1.3% -1.3% ford_02 -1.7% -1.7% ford_03 -1.3% -1.3% livox_01_all -0.9% -0.9% livox_02_all -0.8% -0.8%

[0115] It should be noted that the entropy encoding method provided in this application embodiment can be executed by an entropy encoding device, or by a control module within that entropy encoding device for executing the entropy encoding method. This application embodiment uses the execution of the entropy encoding method by an entropy encoding device as an example to illustrate the entropy encoding device provided in this application embodiment.

[0116] like Figure 8 As shown, this application embodiment provides an entropy coding device 800, including:

[0117] The first acquisition module 801 is used to acquire the density information of the target point cloud to be encoded;

[0118] The first determining module 802 is used to determine the type of placeholder code context model used when entropy encoding the target point cloud based on the density information.

[0119] The encoding module 803 is used to perform entropy encoding of the target point cloud according to the type of the placeholder code context model.

[0120] Optionally, the first acquisition module 801 includes:

[0121] The first obtaining unit is configured to obtain size information of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud.

[0122] The first determining unit is configured to determine sparsity information of the target point cloud according to the size information and the point number information.

[0123] Optionally, the first determining unit comprises:

[0124] The first determining subunit is configured to determine a first volume according to the size information and the point number information, the first volume being an average occupancy volume of each point in the target point cloud to the bounding box.

[0125] The second determining subunit is configured to determine the sparsity information of the target point cloud according to a relationship between the first volume and a preset threshold.

[0126] Optionally, the second determining subunit is configured to implement at least one of the following:

[0127] If the first volume is greater than the preset threshold, it is determined that the sparsity information of the target point cloud is a sparse point cloud.

[0128] If the first volume is less than or equal to the preset threshold, it is determined that the sparsity information of the target point cloud is a dense point cloud.

[0129] Optionally, the preset threshold is determined by the entropy coding device or agreed upon.

[0130] Optionally, in the case where the preset threshold is determined by the entropy coding device, after the second determining subunit determines the sparsity information of the target point cloud according to the relationship between the first volume and the preset threshold, the method further comprises:

[0131] The first encoding module is configured to encode first information into geometry slice header information of the target point cloud.

[0132] The first information is the preset threshold or identification information corresponding to the preset threshold.

[0133] Optionally, the first determining module 802 is configured to implement at least one of the following:

[0134] In the case where the sparsity information of the target point cloud is a sparse point cloud, it is determined that a type of an occupancy code context model used when the target point cloud is entropy coded is occupancy code context model one.

[0135] In the case where the sparsity information of the target point cloud is a dense point cloud, it is determined that a type of an occupancy code context model used when the target point cloud is entropy coded is occupancy code context model two.

[0136] Optionally, after the first determining module 802 determines the type of the placeholder code context model used when the target point cloud is entropy encoded according to the density information, the method further includes:

[0137] The second encoding module is configured to encode the second information into the geometry slice header information of the target point cloud.

[0138] The second information includes the density information of the target point cloud or the type of the placeholder code context model used when the target point cloud is entropy encoded.

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

[0140] It should be noted that the type of the placeholder code context model used when the target point cloud is entropy encoded is determined by using the density information of the target point cloud, so that the placeholder code context model can be reasonably selected, and the coding performance can be optimized.

[0141] The entropy encoding apparatus in the embodiments of the present application can be an apparatus, an apparatus with an operating system, or an electronic device, and can also be a component in a terminal, an integrated circuit, or a chip. The apparatus or the electronic device can be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal can include, but is not limited to, a mobile phone, a tablet personal computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a palm computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), a wearable device (Wearable Device), or a vehicle-mounted device (VUE), a pedestrian terminal (PUE), and the like. The wearable device includes a smart watch, a bracelet, a headset, glasses, and the like. The non-mobile terminal can be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine, or a self-service machine, and the like. The embodiments of the present application are not limited in this regard.

[0142] The entropy encoding apparatus provided in the embodiments of the present application can implement the method embodiments Figure 2 The method embodiments achieve the same technical effects, and thus details are not repeated here.

[0143] The embodiment of the present application also provides an entropy coding device, comprising a processor and a communication interface, the processor is used for acquiring density information of a target point cloud to be coded;

[0144] According to the density information, a type of placeholder code context model used when the target point cloud is subjected to entropy coding is determined;

[0145] According to the type of the placeholder code context model, entropy coding of the target point cloud is performed.

[0146] The embodiment of the entropy coding device corresponds to the above-mentioned method embodiment of the entropy coding device side, each implementation process and implementation manner of the above-mentioned method embodiment can be applied to the device embodiment, and the same technical effects can be achieved. Specifically, Figure 9 To implement the hardware structure of the entropy coding device of the embodiment of the present application.

[0147] The entropy coding device 900 comprises, but is not limited to, at least part of components such as 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.

[0148] Those skilled in the art can understand that the entropy coding device 900 can also comprise a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. Figure 9 The terminal structure shown in the figure does not constitute a limitation on the terminal, and the terminal can comprise more or fewer components than those shown in the figure, or combine certain components, or different component arrangements, which are not described here again.

[0149] It should be understood that in the embodiments of the present application, the input unit 904 can include a graphics processor (GPU) 9041 and a microphone 9042. The graphics processor 9041 processes image data of a still picture or a video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 906 can include a display panel 9061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. 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 can include two parts of a touch detection device and a touch controller. The other input devices 9072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, and the like, which will not be described here.

[0150] In the embodiments of the present application, the radio frequency unit 901 receives downlink data from a network side device and processes the data by the processor 910. In addition, the radio frequency unit 901 sends 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.

[0151] The memory 909 can be used to store software programs or instructions and various data. The memory 909 can mainly include a storage program or instruction area and a storage data area, wherein the storage program or instruction area can store an operating system, at least one application program or instruction required by a function (such as a sound playing function, an image playing function, etc.), etc. In addition, the memory 909 can include a high-speed random access memory, and can also include a non-volatile memory, which can 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, at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state memory device.

[0152] The processor 910 can include one or more processing units; optionally, the processor 910 can integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface and an application program or instruction, etc., and the modem processor mainly processes wireless communication, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 910.

[0153] The processor 910 is configured to implement the following functions:

[0154] obtain sparsity information of a target point cloud to be encoded;

[0155] determine a type of an occupancy code context model used in entropy encoding of the target point cloud according to the sparsity information;

[0156] perform entropy encoding of the target point cloud according to the type of the occupancy code context model.

[0157] The terminal according to the embodiments of the present application can determine the type of the occupancy code context model used in entropy encoding of the target point cloud by using the sparsity information of the target point cloud, so that the occupancy code context model can be reasonably selected, and the encoding performance can be optimized.

[0158] Optionally, the processor 910 is further configured to implement:

[0159] obtain size information of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud;

[0160] determine the sparsity information of the target point cloud according to the size information and the point number information.

[0161] Optionally, the processor 910 is further configured to implement:

[0162] determine a first volume according to the size information and the point number information, the first volume being an average occupancy volume of each point in the target point cloud to the bounding box;

[0163] determine the sparsity information of the target point cloud according to a relationship between the first volume and a preset threshold.

[0164] Optionally, the processor 910 is further configured to implement at least one of the following:

[0165] 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;

[0166] if the first volume is less than or equal to the preset threshold, determine that the sparsity information of the target point cloud is a dense point cloud.

[0167] Optionally, the preset threshold is determined by the entropy encoding device or agreed by a protocol.

[0168] Optionally, the processor 910 is further configured to implement:

[0169] encode first information into geometry slice header information of the target point cloud;

[0170] The first information is the preset threshold or identification information corresponding to the preset threshold.

[0171] Optionally, the processor 910 is further configured to implement at least one of the following:

[0172] In a case where the sparsity information of the target point cloud is a sparse point cloud, the type of the placeholder code context model used when the target point cloud is entropy encoded is determined to be placeholder code context model one.

[0173] In a case where the sparsity information of the target point cloud is a dense point cloud, the type of the placeholder code context model used when the target point cloud is entropy encoded is determined to be placeholder code context model two.

[0174] Optionally, the processor 910 is further configured to implement:

[0175] encode the second information into the geometry slice header information of the target point cloud;

[0176] The second information includes the sparsity information of the target point cloud or the type of the placeholder code context model used when the target point cloud is entropy encoded.

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

[0178] Preferably, the embodiment of the present application further provides an entropy encoding device, which comprises a processor, a memory, a program or instructions stored in the memory and executable on the processor, the program or instructions being executed by the processor to implement each process of the entropy encoding method embodiment and achieve the same technical effects. To avoid repetition, details are not described here.

[0179] The embodiment of the present application further provides a readable storage medium, which stores a program or instructions, the program or instructions being executed by a processor to implement each process of the entropy encoding method embodiment and achieve the same technical effects. To avoid repetition, details are not described here. The computer readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0180] As shown in Figure 10 The embodiment of the present application further provides an entropy decoding method, which comprises:

[0181] Step 1001, an entropy decoding device acquires the type of the placeholder code context model used when a target point cloud to be decoded is entropy decoded;

[0182] The type of the placeholder code context model used when the target point cloud is entropy decoded is determined by the sparsity information of the target point cloud.

[0183] It should be noted that the target point cloud in the present application refers to a point cloud sequence or a point cloud slice in the point cloud sequence; further, the point cloud sequence refers to a point cloud sequence after preprocessing of the point cloud sequence to be encoded, and the preprocessing herein refers to one or more of coordinate translation, coordinate quantization and removal of duplicate points.

[0184] Step 1002, entropy decoding of the target point cloud is performed according to the type of the placeholder code context model.

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

[0186] It should be noted that by using the sparsity information of the target point cloud, the type of the placeholder code context model used for entropy decoding of the target point cloud is determined, and then entropy decoding is performed, so that the selection of the placeholder code context model can be reasonably performed, and the decoding performance can be optimized.

[0187] Optionally, one of the implementation manners of step 1001 can be:

[0188] Step 10011, the geometric slice header information of the target point cloud is obtained;

[0189] Step 10012, the type of the placeholder code context model used for entropy decoding of the target point cloud is determined according to the second information in the geometric slice header information.

[0190] The second information includes the sparsity information of the target point cloud or the type of the placeholder code context model used for entropy encoding of the target point cloud.

[0191] It should be noted that in this case, if the type of the placeholder code context model used for entropy encoding of the target point cloud is included in the geometric slice header information, the entropy decoding device does not need to separately calculate the type of the placeholder code context model, and can directly determine that the type of the placeholder code context model used for entropy decoding of the target point cloud is the same as the type of the placeholder code context model used for entropy encoding of the target point cloud, so that the decoding efficiency can be improved; if the sparsity information of the target point cloud is included in the geometric slice header information, the entropy decoding device can directly use the sparsity information of the target point cloud to determine the type of the placeholder code context model used for entropy decoding of the target point cloud, and does not need to separately calculate the sparsity information of the target point cloud, so that the decoding efficiency can also be improved.

[0192] Specifically, in this case, according to the sparsity information of the target point cloud, a type of placeholder code context model used when the target point cloud is entropy decoded can be determined in the following manner:

[0193] D11, in the case of the sparsity information of the target point cloud being a sparse point cloud, the type of placeholder code context model used when the target point cloud is entropy decoded is determined to be placeholder code context model one;

[0194] D12, in the case of the sparsity information of the target point cloud being a dense point cloud, the type of placeholder code context model used when the target point cloud is entropy decoded is determined to be placeholder code context model two.

[0195] It should be noted that placeholder code context model one and placeholder code context model two in this embodiment refer to the description of placeholder code context model one and placeholder code context model two in the above embodiment, which will not be repeated here.

[0196] Alternatively, another possible implementation of step 1001 is:

[0197] Step 10013, obtaining the sparsity information of the target point cloud;

[0198] Step 10014, according to the sparsity information of the target point cloud, determining the type of placeholder code context model used when the target point cloud is entropy decoded.

[0199] Alternatively, one possible implementation of the above step 10013 is:

[0200] Step 100131, obtaining the size information of the bounding box corresponding to the target point cloud and the point number information contained in the target point cloud;

[0201] It should be noted that the size information of the bounding box generally refers to the information of the length, width and height of the bounding box, i.e. the size of the three dimensions of X, Y and Z. The volume of the bounding box can be determined by the size information, and the volume of the bounding box is equal to the product of the length, width and height.

[0202] Step 100132, according to the size information and the point number information, determining the sparsity information of the target point cloud;

[0203] This step mainly determines the occupancy volume of a single point by the volume of the bounding box and the number of points contained in the bounding box, and then determines the sparsity of the point cloud by using the occupancy volume of a single point. The specific implementation can be:

[0204] determine a first volume according to the size information and the point number information, the first volume being an average occupancy volume of each point in the target point cloud to the bounding box;

[0205] determine the sparsity information of the target point cloud according to a relationship between the first volume and a preset threshold.

[0206] Further, one of the possible implementation manners of determining the sparsity information by using the average occupancy volume of each point to the bounding box includes at least one of the following:

[0207] E11, if the first volume is greater than the preset threshold, determining the sparsity information of the target point cloud as a sparse point cloud;

[0208] E12, if the first volume is less than or equal to the preset threshold, determining the sparsity information of the target point cloud as a dense point cloud.

[0209] It should be noted that in the present application, the comparison result between the first volume and the preset threshold can be represented by introducing a variable S, and the value of S is as follows:

[0210]

[0211] wherein S is the sparsity information, p is the first volume, p = V / N, V is the volume of the bounding box corresponding to the target point cloud, N is the point number contained in the target point cloud, and Th is the preset threshold.

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

[0213] Of course, the value of S in the present application is only an example, and the above is to represent the sparse point cloud by S = 1 and the dense point cloud by S = 0. Alternatively, the sparse point cloud can be represented by S = 0 and the dense point cloud by S = 1, and the specific value of S is not limited in the present application.

[0214] Specifically, in this case, one of the possible implementation manners of determining the type of the occupancy code context model used for entropy decoding of the target point cloud according to the sparsity information of the target point cloud includes at least one of the following:

[0215] E11, in the case that the sparsity information of the target point cloud is a sparse point cloud, determining the type of the occupancy code context model used for entropy decoding of the target point cloud as occupancy code context model one;

[0216] E12, in the case that the sparsity information of the target point cloud is a dense point cloud, determining the type of the occupancy code context model used for entropy decoding of the target point cloud as occupancy code context model two.

[0217] Optionally, before the determining the density information of the target point cloud according to the relationship between the first volume and a preset threshold, the method further comprises:

[0218] obtaining the preset threshold;

[0219] wherein the preset threshold is determined by the entropy encoding device or agreed by protocol.

[0220] In the case that the preset threshold is determined by the entropy encoding device, the preset threshold is usually determined by a user, that is, the entropy encoding device determines the preset threshold according to the input of the user. In the case that the preset threshold is agreed by protocol, the preset threshold is agreed to be known by both the entropy encoding device and the entropy decoding device, in this case, the entropy encoding device does not need to encode the preset threshold.

[0221] Optionally, in the case that the preset threshold is determined by the entropy encoding device, the obtaining the preset threshold comprises:

[0222] obtaining geometry slice header information of the target point cloud;

[0223] obtaining the preset threshold according to first information in the geometry slice header information;

[0224] wherein the first information is the preset threshold or identification information corresponding to the preset threshold.

[0225] It should be noted that, the entropy encoding device can determine the preset threshold in the following ways:

[0226] F111, the entropy encoding device stores a preset threshold set by a user, and directly uses the preset threshold when performing entropy encoding.

[0227] F112, the entropy encoding device is provided with a plurality of thresholds to form a threshold list, and a user can set a threshold to be used for this time of entropy encoding.

[0228] In this case, the entropy encoding device needs to inform the entropy decoding device of the preset threshold to be used for entropy encoding, and the entropy decoding device performs entropy decoding according to the same preset threshold. When the entropy encoding device adopts the way of B111, the first information usually refers to the preset threshold. When the entropy encoding device adopts the way of B112, the first information usually refers to identification information corresponding to the preset threshold, for example, the identification information is the number or index of the preset threshold in the threshold list, and correspondingly, the entropy decoding device side is also provided with the same threshold list, when the entropy decoding device receives the identification information, it can know which threshold corresponds to the identification information.

[0229] It should be noted that the embodiment of the present application determines the type of the placeholder code context model used when the target point cloud is entropy decoded by using the density information of the target point cloud, so that the selection of the placeholder code context model can be reasonably performed, and the decoding performance can be ensured to be optimal.

[0230] As shown in Figure 11 the embodiment of the present application also provides an entropy decoding device 1100, comprising:

[0231] The second acquisition module 1101 is configured to acquire the type of the placeholder code context model used when the target point cloud is entropy decoded, wherein the type of the placeholder code context model used when the target point cloud is entropy decoded is determined by the density information of the target point cloud.

[0232] The decoding module 1102 is configured to perform entropy decoding on the target point cloud according to the type of the placeholder code context model.

[0233] Optionally, the second acquisition module 1101 comprises:

[0234] The second acquisition unit is configured to acquire the geometry slice header information of the target point cloud.

[0235] The second determination unit is configured to determine the type of the placeholder code context model used when the target point cloud is entropy decoded according to the second information in the geometry slice header information.

[0236] The second information comprises the density information of the target point cloud or the type of the placeholder code context model used when the target point cloud is entropy encoded.

[0237] Optionally, the second information comprises the type of the placeholder code context model used when the target point cloud is entropy encoded, and the second determination unit is configured to:

[0238] determine that the type of the placeholder code context model used when the target point cloud is entropy decoded is the same as the type of the placeholder code context model used when the target point cloud is entropy encoded.

[0239] Optionally, the second information comprises the density information of the target point cloud, and the second determination unit is configured to:

[0240] determine the type of the placeholder code context model used when the target point cloud is entropy decoded according to the density information of the target point cloud.

[0241] Optionally, the second acquisition module 1101 comprises:

[0242] The third acquisition unit is configured to acquire the density information of the target point cloud.

[0243] a third determining unit, configured to determine a type of a placeholder code context model used in entropy decoding of the target point cloud according to sparsity information of the target point cloud.

[0244] Optionally, the third obtaining unit comprises:

[0245] a first obtaining sub-unit, configured to obtain size information of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud;

[0246] a second determining sub-unit, configured to determine the sparsity information of the target point cloud according to the size information and the point number information.

[0247] Optionally, the second determining sub-unit is configured to implement:

[0248] determine a first volume according to the size information and the point number information, the first volume being an average occupied volume of the bounding box by each point in the target point cloud;

[0249] determine the sparsity information of the target point cloud according to a relationship between the first volume and a preset threshold.

[0250] Optionally, the implementation manner of determining the sparsity information of the target point cloud according to the relationship between the first volume and the preset threshold comprises at least one of the following:

[0251] 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;

[0252] if the first volume is less than or equal to the preset threshold, determining that the sparsity information of the target point cloud is a dense point cloud.

[0253] Optionally, before the second determining sub-unit determines the sparsity information of the target point cloud according to the relationship between the first volume and the preset threshold, the method further comprises:

[0254] a third obtaining module, configured to obtain the preset threshold;

[0255] wherein the preset threshold is determined by the entropy decoding device or agreed by a protocol.

[0256] Optionally, in the case that the preset threshold is determined by the entropy decoding device, the third obtaining module comprises:

[0257] a fourth obtaining unit, configured to obtain geometry slice header information of the target point cloud;

[0258] The fifth obtaining unit is configured to obtain the preset threshold according to the first information in the geometry slice header information.

[0259] The first information is the preset threshold or identification information corresponding to the preset threshold.

[0260] Optionally, the implementation of determining the type of the placeholder code context model used for the entropy decoding of the target point cloud according to the sparsity information of the target point cloud comprises at least one of the following:

[0261] In a case where the sparsity information of the target point cloud is a sparse point cloud, the type of the placeholder code context model used for the entropy decoding of the target point cloud is determined as placeholder code context model one.

[0262] In a case where the sparsity information of the target point cloud is a dense point cloud, the type of the placeholder code context model used for the entropy decoding of the target point cloud is determined as placeholder code context model two.

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

[0264] It should be noted that, by determining the type of the placeholder code context model used for the entropy decoding of the target point cloud according to the sparsity information of the target point cloud, the selection of the placeholder code context model can be reasonably performed, and the decoding performance can be optimized.

[0265] Preferably, the embodiment of the present application further provides an entropy decoding device, which comprises a processor, a memory, a program or instructions stored in the memory and executable on the processor, the program or instructions being executed by the processor to implement each process of the entropy decoding method embodiment and achieve the same technical effect. To avoid repetition, details are not described herein.

[0266] The embodiment of the present application further provides a readable storage medium, and the computer readable storage medium stores a program or instructions, which are executed by a processor to implement each process of the entropy decoding method embodiment and achieve the same technical effect. To avoid repetition, details are not described herein.

[0267] The computer readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0268] The embodiment of the application further provides an entropy decoding device, comprising a processor and a communication interface, the processor is used for acquiring a type of placeholder code context model used when a target point cloud to be decoded is subjected to entropy decoding, wherein the type of placeholder code context model used when the target point cloud is subjected to entropy decoding is determined according to density information of the target point cloud; and the entropy decoding of the target point cloud is performed according to the type of placeholder code context model.

[0269] The embodiment of the entropy decoding device corresponds to the above-mentioned embodiment of the entropy decoding method, and each implementation process and implementation manner of the above-mentioned embodiment of the method can be applied to the embodiment of the entropy decoding device and can achieve the same technical effects.

[0270] Specifically, the embodiment of the application further provides an entropy decoding device, specifically, the structure of the entropy decoding device is similar to that of the entropy encoding device shown in the embodiment of the method, and details are not repeated here. Figure 9 The structure of the entropy decoding device is similar to that of the entropy encoding device shown in the embodiment of the method, and details are not repeated here.

[0271] Optionally, the processor is used for implementing:

[0272] acquiring a type of placeholder code context model used when a target point cloud to be decoded is subjected to entropy decoding, wherein the type of placeholder code context model used when the target point cloud is subjected to entropy decoding is determined according to density information of the target point cloud;

[0273] performing the entropy decoding of the target point cloud according to the type of placeholder code context model.

[0274] Optionally, the processor is further used for implementing:

[0275] acquiring geometry slice header information of the target point cloud;

[0276] determining a type of placeholder code context model used when the target point cloud is subjected to entropy decoding according to second information in the geometry slice header information;

[0277] wherein the second information comprises density information of the target point cloud or a type of placeholder code context model used when the target point cloud is subjected to entropy encoding.

[0278] Optionally, the processor is further used for implementing:

[0279] determining that the type of placeholder code context model used when the target point cloud is subjected to entropy decoding is the same as a type of placeholder code context model used when the target point cloud is subjected to entropy encoding.

[0280] Optionally, the processor is further used for implementing:

[0281] According to the sparsity information of the target point cloud, a type of placeholder code context model used when the target point cloud is entropy decoded is determined.

[0282] Optionally, the processor is further configured to implement:

[0283] Obtain sparsity information of the target point cloud.

[0284] According to the sparsity information of the target point cloud, a type of placeholder code context model used when the target point cloud is entropy decoded is determined.

[0285] Optionally, the processor is further configured to implement:

[0286] Obtain size information of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud.

[0287] According to the size information and the point number information, the sparsity information of the target point cloud is determined.

[0288] Optionally, the processor is further configured to implement:

[0289] According to the size information and the point number information, a first volume is determined, the first volume being an average occupied volume of each point in the target point cloud to the bounding box.

[0290] According to a relationship between the first volume and a preset threshold, the sparsity information of the target point cloud is determined.

[0291] Optionally, the processor is further configured to implement at least one of:

[0292] If the first volume is greater than the preset threshold, the sparsity information of the target point cloud is determined to be a sparse point cloud.

[0293] If the first volume is less than or equal to the preset threshold, the sparsity information of the target point cloud is determined to be a dense point cloud.

[0294] Optionally, the processor is further configured to implement:

[0295] Obtain the preset threshold.

[0296] The preset threshold is determined by the entropy decoding device or agreed upon by a protocol.

[0297] Optionally, the processor is further configured to implement:

[0298] Obtain geometry slice header information of the target point cloud.

[0299] According to first information in the geometry slice header information, obtain the preset threshold.

[0300] The first information is the preset threshold or identification information corresponding to the preset threshold.

[0301] Optionally, the processor is further configured to implement at least one of the following:

[0302] In a case where the sparsity information of the target point cloud is a sparse point cloud, the type of the placeholder code context model used when the target point cloud is entropy decoded is determined to be placeholder code context model one.

[0303] In a case where the sparsity information of the target point cloud is a dense point cloud, the type of the placeholder code context model used when the target point cloud is entropy decoded is determined to be placeholder code context model two.

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

[0305] It should be noted that the entropy encoding device and the entropy decoding device mentioned in the embodiments of the present application can be arranged in the same device, that is, the device can realize both the entropy encoding function and the entropy decoding function.

[0306] Optionally, as shown in Figure 12 The present application also provides a coding and decoding device 1200, which includes a processor 1201, a memory 1202, programs or instructions stored in the memory 1202 and executable on the processor 1201. When the communication device 1200 is an entropy encoding device, the programs or instructions are executed by the processor 1201 to implement the processes of the above-mentioned entropy encoding method embodiments and achieve the same technical effects. When the communication device 1200 is an entropy decoding device, the programs or instructions are executed by the processor 1201 to implement the processes of the above-mentioned entropy decoding method embodiments and achieve the same technical effects. To avoid repetition, details are not repeated here.

[0307] The present application also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is configured to run programs or instructions to implement the processes of the above-mentioned entropy encoding method or entropy decoding method embodiments and achieve the same technical effects. To avoid repetition, details are not repeated here.

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

[0309] It should be noted that, in the present document, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a" does not, without more constraints, exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element. Furthermore, it is to be understood that the method and apparatus of the present application can be carried out by more than one process, method, article, or apparatus either simultaneously, concurrently, or with intervening action that are carried out at the same time, either in a simultaneous fashion or in a fashion that is interleaved in time. For example, the described methods can be performed in a different order from that described, and / or various steps can be combined or omitted, and / or additional steps can be added, without departing from the scope of the present application. Also, features described with respect to certain examples can be combined in other examples.

[0310] From the above description of the embodiments, it is apparent that the above-described method of the embodiments can be realized by means of software and general-purpose hardware platforms, and of course, can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such an understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk) and includes a number of instructions for causing a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the methods described in the various embodiments of the present application.

[0311] The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the above-described specific embodiments, and the above-described specific embodiments are merely illustrative, rather than limiting, and a person of ordinary skill in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims.

Claims

1. An entropy coding method, characterized by, The method comprises the following steps: An entropy coding device acquires sparsity information of a target point cloud to be coded; According to the sparsity information, a type of an occupancy code context model used for entropy coding of the target point cloud is determined; the target point cloud is a point cloud slice in a point cloud sequence; According to the type of the occupancy code context model, entropy coding of the target point cloud is performed; After the type of the occupancy code context model used for entropy coding of the target point cloud is determined according to the sparsity information, the following steps are further included: Second information is encoded into geometry slice header information of the target point cloud; The second information includes the type of the occupancy code context model used for entropy coding of the target point cloud; The method of acquiring the sparsity information of the target point cloud to be coded comprises the following steps: Volume of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud are acquired; According to the volume and the point number information, the sparsity information of the target point cloud is determined.

2. The method of claim 1, wherein, The method of determining the sparsity information of the target point cloud according to the volume and the point number information comprises the following steps: According to the volume and the point number information, a first volume is determined, which is an average occupancy volume of each point in the target point cloud to the bounding box; According to a relationship between the first volume and a preset threshold, the sparsity information of the target point cloud is determined.

3. The method of claim 2, wherein, The method of determining the sparsity information of the target point cloud according to the relationship between the first volume and the preset threshold comprises at least one of the following: If the first volume is greater than the preset threshold, it is determined that the sparsity information of the target point cloud is a sparse point cloud; If the first volume is less than or equal to the preset threshold, it is determined that the sparsity information of the target point cloud is a dense point cloud.

4. The method of claim 2, wherein, The preset threshold is determined by the entropy coding device or agreed by a protocol.

5. The method of claim 2, wherein, In the case where the preset threshold is determined by the entropy coding device, after the sparsity information of the target point cloud is determined according to the relationship between the first volume and the preset threshold, the following steps are further included: First information is encoded into geometry slice header information of the target point cloud; The first information is the preset threshold or identification information corresponding to the preset threshold.

6. The method of claim 1, wherein, The method of determining the type of the occupancy code context model used for entropy coding of the target point cloud according to the sparsity information comprises at least one of the following: In the case where the sparsity information of the target point cloud is a sparse point cloud, it is determined that the type of the occupancy code context model used for entropy coding of the target point cloud is occupancy code context model one; In the case where the sparsity information of the target point cloud is a dense point cloud, it is determined that the type of the occupancy code context model used for entropy coding of the target point cloud is occupancy code context model two.

7. A method of entropy decoding, characterized by, The method comprises the following steps: The entropy decoding device obtains a type of placeholder code context model used for entropy decoding of a target point cloud to be decoded, wherein the type of placeholder code context model used for entropy decoding of the target point cloud is determined according to density information of the target point cloud; the target point cloud is a point cloud slice in a point cloud sequence; and the density information is determined according to a volume of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud. Entropy decoding of the target point cloud is performed according to the type of placeholder code context model. The obtaining of the type of placeholder code context model used for entropy decoding of the target point cloud to be decoded comprises: obtaining geometry slice header information of the target point cloud; determining the type of placeholder code context model used for entropy decoding of the target point cloud according to second information in the geometry slice header information; wherein the second information comprises a type of placeholder code context model used for entropy encoding of the target point cloud.

8. The method of claim 7, wherein, The second information comprises the type of placeholder code context model used for entropy encoding of the target point cloud, and the determination of the type of placeholder code context model used for entropy decoding of the target point cloud comprises: determining that the type of placeholder code context model used for entropy decoding of the target point cloud is the same as the type of placeholder code context model used for entropy encoding of the target point cloud.

9. The method of claim 7, wherein, The second information comprises density information of the target point cloud, and the determination of the type of placeholder code context model used for entropy decoding of the target point cloud comprises: determining the type of placeholder code context model used for entropy decoding of the target point cloud according to the density information of the target point cloud.

10. The method of claim 7, wherein, The obtaining of the type of placeholder code context model used for entropy decoding of the target point cloud to be decoded comprises: obtaining density information of the target point cloud; determining the type of placeholder code context model used for entropy decoding of the target point cloud according to the density information of the target point cloud.

11. The method of claim 7, wherein, The density information of the target point cloud is related to a relationship between a first volume and a preset threshold, and the first volume is an average occupied volume of a bounding box by each point in the target point cloud, and the first volume is determined according to the volume and the point number information.

12. The method of claim 11, wherein, The density information of the target point cloud being related to the relationship between the first volume and the preset threshold comprises at least one of the following: if the first volume is greater than the preset threshold, the density information of the target point cloud is sparse point cloud; if the first volume is less than or equal to the preset threshold, the density information of the target point cloud is dense point cloud.

13. The method of claim 11, wherein, The method further comprises: obtaining the preset threshold; wherein the preset threshold is determined by the entropy decoding device or agreed upon.

14. The method of claim 13, wherein, In the case where the preset threshold is determined by the entropy decoding device, the obtaining of the preset threshold comprises: obtaining geometry slice header information of the target point cloud; obtaining the preset threshold according to first information in the geometry slice header information; wherein the first information is the preset threshold or identification information corresponding to the preset threshold.

15. The method of claim 9 or 10, wherein, The type of the placeholder code context model used in the entropy decoding of the target point cloud is determined according to the sparsity information of the target point cloud, and includes at least one of the following: In the case that the sparsity information of the target point cloud is a sparse point cloud, the type of the placeholder code context model used in the entropy decoding of the target point cloud is determined as placeholder code context model one; In the case that the sparsity information of the target point cloud is a dense point cloud, the type of the placeholder code context model used in the entropy decoding of the target point cloud is determined as placeholder code context model two.

16. An entropy coding apparatus characterized by comprising: It includes: A first obtaining module is configured to obtain sparsity information of a target point cloud to be encoded; A first determining module is configured to determine the type of a placeholder code context model used in the entropy encoding of the target point cloud according to the sparsity information; the target point cloud is a point cloud slice in a point cloud sequence; An encoding module is configured to perform entropy encoding of the target point cloud according to the type of the placeholder code context model; A second encoding module is configured to encode second information into geometry slice header information of the target point cloud; the second information includes the type of the placeholder code context model used in the entropy encoding of the target point cloud; The first obtaining module includes: A first obtaining unit is configured to obtain the volume of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud; A first determining unit is configured to determine the sparsity information of the target point cloud according to the volume and the point number information.

17. An entropy coding apparatus characterized by comprising: It includes a processor, a memory, and a program or instruction stored on the memory and executable on the processor, which implements the steps of the entropy encoding method according to any one of claims 1 to 6 when executed by the processor.

18. An entropy decoding apparatus, characterized by comprising: It includes: A second obtaining module is configured to obtain the type of a placeholder code context model used in the entropy decoding of a target point cloud to be decoded; the type of the placeholder code context model used in the entropy decoding of the target point cloud is determined by sparsity information of the target point cloud; the target point cloud is a point cloud slice in a point cloud sequence; the sparsity information is determined according to the volume of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud; A decoding module is configured to perform entropy decoding of the target point cloud according to the type of the placeholder code context model; The second obtaining module includes: A second obtaining unit is configured to obtain geometry slice header information of the target point cloud; A second determining unit is configured to determine the type of a placeholder code context model used in the entropy decoding of the target point cloud according to second information in the geometry slice header information; The second information includes the type of the placeholder code context model used in the entropy encoding of the target point cloud.

19. An entropy decoding apparatus, characterized by comprising: It includes a processor, a memory, and a program or instruction stored on the memory and executable on the processor, which implements the steps of the entropy decoding method according to any one of claims 7 to 15 when executed by the processor.

20. A readable storage medium, characterized by, The program or instruction is stored on the readable storage medium, and when executed by the processor, implements the entropy encoding method of any one of claims 1 to 6, or implements the steps of the entropy decoding method of any one of claims 7 to 15.

Citation Information

Patent Citations

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

    CN112368743A

  • Point cloud geometrical information encoding and decoding method

    CN112565795A

  • Method for extracting uniform features from point cloud and system therefor

    US20200342250A1

  • Methods and devices for tree switching in point cloud compression

    WO2021069949A1