Point cloud compression method and point cloud decompression method based on non-uniform context grouping

Through the point cloud compression method of non-uniform context grouping, the voxel grid is divided by downsampling and upsampling, and the occupancy probability is estimated step by step. The problem of balancing compression performance and decoding complexity in point cloud compression is solved, and efficient point cloud compression is achieved.

CN118646890BActive Publication Date: 2025-09-26PEKING UNIV SHENZHEN GRADUATE SCHOOL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410722735.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-05
Publication Date
2025-09-26
Estimated Expiration
2044-06-05

AI Technical Summary

Technical Problem

In the existing technology, point cloud compression methods find it difficult to strike a balance between compression performance and decoding complexity. The autoregressive-based method has high decoding complexity, while the context-based grouping method lacks context information in the first group, resulting in an excessively large encoding bit stream.

Method used

A method based on non-uniform context grouping is adopted. The voxel grid of the current scale is obtained for downsampling and upsampling, divided into multiple context groups, and occupancy probability is estimated. The occupancy probability prior is used to assist in estimating the probability of subsequent groups and generate a bitstream.

Benefits of technology

The accuracy of occupancy probability estimation is improved, the coding bit stream requirement of the first group is reduced, the encoding and decoding complexity is reduced, and a balance between high compression performance and decoding efficiency is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118646890B_ABST
    Figure CN118646890B_ABST
Patent Text Reader

Abstract

The present application discloses a point cloud compression method based on non-uniform context grouping, a point cloud decompression method, an electronic device, and a storage medium, and relates to the field of point cloud compression technology. The point cloud compression method based on non-uniform context grouping divides a second voxel grid of a current scale into multiple context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is less than the number of voxels in the second context group; and divides the first context group into multiple target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is less than the number of voxels in the second target context group. The present application achieves more efficient context grouping, improves the accuracy of occupancy probability estimation, reduces the bit stream required for encoding the first group, and takes into account both compression performance and decoding complexity.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of point cloud compression technology, and in particular to a point cloud compression method and a point cloud decompression method based on non-uniform context grouping. Background Art

[0002] With the widespread application of 3D point cloud technology in many high-tech fields, the amount of data generated is growing exponentially, placing higher demands on data compression processing. Due to the unique sparsity and uneven distribution of point cloud data, capturing the spatial correlation between adjacent points is extremely difficult. Accurately estimating the occupancy probability of points is crucial to improving the performance of point cloud geometry compression.

[0003] In the related art, satisfactory compression performance is achieved by the point cloud compression method based on autoregression for occupancy probability estimation. However, the decoding complexity of this method is very high. The point cloud compression method based on context grouping for occupancy probability estimation lacks context information in the first group, resulting in an unacceptable bit stream required to encode the group. Summary of the Invention

[0004] The main purpose of this application is to provide a point cloud compression method and a point cloud decompression method based on non-uniform context grouping, aiming to solve the technical problem in related technologies that compression performance and decoding complexity cannot be taken into account at the same time.

[0005] To achieve the above objectives, the present application provides a point cloud compression method based on non-uniform context grouping, the point cloud compression method based on non-uniform context grouping comprising:

[0006] Obtain the first voxel grid of the current scale, and downsample the first voxel grid of the current scale to obtain the first voxel grid of the next scale;

[0007] Upsampling the first voxel grid of the next scale to obtain the second voxel grid of the current scale;

[0008] Dividing a second voxel grid at the current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group;

[0009] dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group;

[0010] Estimating the occupancy probability of voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group; determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability; and assisting in estimating a second occupancy probability for each voxel in the second target context group;

[0011] Determining an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group;

[0012] determining a first bitstream corresponding to a current scale according to the first occupancy probability, the second occupancy probability, and the third occupancy probability;

[0013] The first voxel grid of the next scale is determined as the first voxel grid of the current scale, and the step of downsampling the first voxel grid of the current scale is returned to be executed until the number of voxels in the first voxel grid of the current scale is one.

[0014] In addition, to achieve the above-mentioned purpose, the present application also provides a point cloud decompression method based on non-uniform context grouping, the point cloud decompression method based on non-uniform context grouping comprising:

[0015] Obtaining a first bitstream and a first voxel grid at a previous scale, and upsampling the first voxel grid at the previous scale to obtain a second voxel grid at the current scale, wherein the first bitstream is a bitstream obtained by losslessly compressing the point cloud, and the first bitstream includes a terminator, and the terminator is used to indicate the termination of decoding;

[0016] Dividing a second voxel grid at the current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group;

[0017] dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group;

[0018] Estimating the occupancy probability of voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group; determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability; and assisting in estimating a second occupancy probability for each voxel in the second target context group;

[0019] Determining an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group;

[0020] Inputting the first occupancy probability, the second occupancy probability, the third occupancy probability and the first bit stream into an arithmetic decoder for decoding to obtain a first voxel grid of a current scale;

[0021] The first voxel grid of the current scale is determined as the first voxel grid of the previous scale, and the step of upsampling the first voxel grid of the previous scale is returned to be executed until the first bitstream is parsed.

[0022] In addition, to achieve the above-mentioned purpose, the present application also provides an electronic device, which includes: a memory, a processor, and a computer program stored on the memory and runnable on the processor, wherein the computer program is configured to implement the steps of the point cloud compression method based on non-uniform context grouping as described above, or the steps of the point cloud decompression method based on non-uniform context grouping.

[0023] In addition, to achieve the above-mentioned purpose, the present application also provides a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the point cloud compression method based on non-uniform context grouping, or the steps of the point cloud decompression method based on non-uniform context grouping as described above are implemented.

[0024] The present application provides a point cloud compression method based on non-uniform context grouping, which obtains a first voxel grid of the current scale and downsamples the first voxel grid of the current scale to obtain a first voxel grid of the next scale; upsamples the first voxel grid of the next scale to obtain a second voxel grid of the current scale; divides the second voxel grid of the current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is less than the number of voxels in the second context group; divides the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is less than the number of voxels in the second target context group; The occupancy probability of the voxels is estimated to obtain the first occupancy probability of each voxel in the first target context group. According to the first occupancy probability, the occupancy probability estimation prior of the second target context group is determined, and the second occupancy probability of each voxel in the second target context group is obtained by auxiliary estimation; according to the occupancy probability estimation prior of the second target context group and the second occupancy probability, the occupancy probability estimation prior of the second context group is determined, and the third occupancy probability of each voxel in the second context group is obtained by auxiliary estimation; according to the first occupancy probability estimation prior of the second target context group and the second occupancy probability, the occupancy probability estimation prior of the second context group is determined, and the third occupancy probability of each voxel in the second context group is obtained by auxiliary estimation; according to the first occupancy probability, the second occupancy probability and the third occupancy probability, the first bit stream corresponding to the current scale is determined; the first voxel grid of the next scale is determined as the first voxel grid of the current scale, and the step of downsampling the first voxel grid of the current scale is returned to execute until the number of voxels in the first voxel grid of the current scale is one. The present application realizes more efficient context grouping, improves the accuracy of occupancy probability estimation, greatly reduces the bit stream required for encoding the first group, has high compression performance, and the context grouping strategy can divide the point cloud into multiple groups and process them in parallel within the group, effectively reducing the complexity of encoding and decoding, and achieving a better balance between compression performance and decoding complexity, while taking into account compression performance and decoding complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0026] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0027] Figure 1 A flowchart of the first embodiment of the point cloud compression method based on non-uniform context grouping provided in this application;

[0028] Figure 2 A flowchart illustrating a second embodiment of a point cloud compression method based on non-uniform context grouping according to the present application;

[0029] Figure 3 This is a schematic diagram of a first process for determining a probability prior in the first embodiment of the point cloud compression method based on non-uniform context grouping of the present application;

[0030] Figure 4 This is a schematic diagram of the second process of determining the probability prior in the first embodiment of the point cloud compression method based on non-uniform context grouping of the present application;

[0031] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the point cloud compression method and point cloud decompression method based on non-uniform context grouping in the embodiments of the present application.

[0032] The purpose, features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0033] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not intended to limit the present application.

[0034] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0035] Those skilled in the art will recognize that the unique sparsity and non-uniform distribution of point cloud data makes it extremely difficult to capture the spatial correlation between adjacent points. Accurately estimating the occupancy probability of a point is crucial for improving point cloud geometry compression performance. In related technologies, point cloud compression methods that use autoregressive occupancy probability estimation have achieved satisfactory compression performance. However, this method suffers from very high decoding complexity. Point cloud compression methods that use context-based grouping for occupancy probability estimation lack context information in the first group, resulting in an unacceptable bitstream required to encode that group.

[0036] In response to the above problems, the main solutions of the embodiments of the present application are: obtaining the first voxel grid of the current scale, and down-sampling the first voxel grid of the current scale to obtain the first voxel grid of the next scale; up-sampling the first voxel grid of the next scale to obtain the second voxel grid of the current scale; dividing the second voxel grid of the current scale into multiple context groups, wherein the context group includes a first context group and a second context group, and the number of voxels in the first context group is less than the number of voxels in the second context group; dividing the first context group into multiple target context groups, wherein the target context group includes a first target context group and a second target context group, and the number of voxels in the first target context group is less than the number of voxels in the second target context group; performing occupancy probability analysis on the voxels in the first target context group Estimate to obtain a first occupancy probability of each voxel in the first target context group, determine an occupancy probability estimation prior for the second target context group based on the first occupancy probability, and assist in estimating a second occupancy probability of each voxel in the second target context group; determine an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assist in estimating a third occupancy probability for each voxel in the second context group; determine a first bit stream corresponding to the current scale based on the first occupancy probability, the second occupancy probability, and the third occupancy probability; determine the first voxel grid of the next scale as the first voxel grid of the current scale, and return to execute the step of downsampling the first voxel grid of the current scale until the number of voxels in the first voxel grid of the current scale is one.

[0037] This application improves the accuracy of occupancy probability estimation through more efficient context grouping, significantly reduces the bit stream required for encoding the first group, and has high compression performance. The context grouping strategy can divide the point cloud into multiple groups and process them in parallel within the group, effectively reducing the complexity of encoding and decoding, and achieving a better balance between compression performance and decoding complexity, while taking into account both compression performance and decoding complexity.

[0038] Please refer to Figure 1 , Figure 1 A flowchart illustrating the first embodiment of the point cloud compression method based on non-uniform context grouping of the present application is provided.

[0039] The execution subject of this embodiment may include, but is not limited to, electronic devices with certain computing capabilities, such as mobile phones, laptops, PADs (Portable Application Description), vehicle-mounted terminals, desktop computers, etc. This embodiment and the following embodiments are described below using a computer as an example.

[0040] In this embodiment, the point cloud compression method based on non-uniform context grouping includes steps S100 to S800:

[0041] Step S100 , obtaining a first voxel grid of a current scale, and downsampling the first voxel grid of the current scale to obtain a first voxel grid of a next scale;

[0042] It should be noted that this embodiment and the following embodiments are all about encoding and decoding of point cloud geometry compression.

[0043] Those skilled in the art will recognize that in the field of point cloud compression technology, point cloud compression is a method for organizing and representing data in three-dimensional space. It is short for "volume pixel," similar to the concept of a pixel in a two-dimensional image. In a two-dimensional image, a pixel is the smallest unit that constitutes a digital image, while in three-dimensional space, a voxel is the smallest unit that constitutes volumetric data. Each voxel represents a volume element in three-dimensional space. It has a fixed size and position and can contain attribute information such as color, material, and density. It is easy to understand that a point cloud is a dataset consisting of a large number of discrete three-dimensional coordinate points, which carry geometric information about objects in space. When a point cloud is voxelized, the entire three-dimensional space is divided into a series of cubic units of uniform or varying sizes, namely voxels. Each voxel covers a certain three-dimensional volume and can contain one or more points from the point cloud, or none. When a voxel contains a point from the point cloud, it is considered occupied and its occupancy state is occupied. When a voxel does not contain a point from the point cloud, it is considered unoccupied and its occupancy state is unoccupied. In this embodiment, voxels whose occupancy status is occupied are collectively referred to as POV (Positively-Occupied Voxel), and voxels whose occupancy status is unoccupied are collectively referred to as NOV (Non-Occupied Voxel), that is, empty voxels.

[0044] In point cloud processing, voxel grids are often used to reduce the number of points in point cloud data while preserving its primary shape characteristics. By uniformly or adaptively partitioning the three-dimensional space and aggregating or averaging point cloud data that falls within the same voxel, data complexity can be effectively reduced, facilitating subsequent processing such as registration, surface reconstruction, and shape recognition, while also improving algorithm speed and maintaining computational accuracy.

[0045] Due to the uneven and sparse distribution of points in a point cloud, the voxel grid obtained after voxelization contains a large number of empty voxels, or NOVs. These NOVs occupy a large amount of storage space but carry no useful information. This leads to inefficient data storage and network transmission, increasing storage media requirements and network bandwidth consumption. Furthermore, during point cloud processing operations such as rendering, analysis, feature extraction, registration, or reconstruction, a large number of NOVs introduces unnecessary computational burden. The processor needs to traverse these meaningless points, increasing computation time and energy consumption and reducing overall algorithm efficiency. These NOVs also make capturing correlations between adjacent points extremely challenging, significantly hindering point cloud compression. Therefore, this embodiment implements a sparse representation of the voxel grid. Using a sparse tensor, the NOVs in the voxel grid are omitted, resulting in a first voxel grid retaining only the POVs. Point cloud processing is then performed based on this first voxel grid, significantly improving the efficiency of point cloud compression and reducing its computational complexity.

[0046] Furthermore, it's important to note that in the field of point cloud compression, "scale" generally refers to the granularity or resolution of point cloud data in the spatial dimension. Different scales correspond to different resolutions: lower scales correspond to lower resolutions, while higher scales correspond to higher resolutions. It's easy to understand that scale is closely related to voxel size: the larger the scale, the smaller the voxel size at that scale, allowing for greater detail.

[0047] In the point cloud compression process of this embodiment, the next scale refers to a scale obtained by downsampling the current scale relative to the current scale, and the current scale refers to the scale currently being compressed.

[0048] It should be noted that the scale transformation of downsampling and upsampling is usually determined by a predefined step size. In this embodiment, the step sizes of downsampling and upsampling are equal and can be adjusted by the user according to actual needs. Therefore, in this embodiment, the two scales before and after a downsampling or an upsampling are considered to be adjacent scales. For example, when the step size is set to 2, downsampling can merge 2×2×2 adjacent sub-voxels into a larger voxel. At this time, the scale of the voxel grid is reduced by one scale, for example, from a scale of 8 to a scale of 7. Correspondingly, upsampling can subdivide a larger voxel into 8 adjacent sub-voxels in a 2×2×2 pattern. At this time, the scale of the voxel grid is increased by one scale, for example, from a scale of 8 to a scale of 9.

[0049] In this embodiment, after obtaining the first voxel grid of the current scale, the first voxel grid of the current scale is downsampled to obtain the first voxel grid of the next scale. This can significantly reduce the number of voxels in the voxel grid while retaining the main structure and feature information of the point cloud data, thereby reducing the data's space requirements and the computational complexity of subsequent processing, so that subsequent steps such as context modeling and occupancy probability estimation can be performed on a smaller data set, greatly improving the overall operating efficiency of the algorithm.

[0050] It is worth mentioning that the downsampling in this embodiment is performed through sparse convolution according to a preset step size. Before downsampling, the first voxel grid of the current scale is generally extracted through the feature extraction layer, and then the extracted features are downsampled to obtain the first voxel grid of the next scale.

[0051] Step S200 , upsampling the first voxel grid of the next scale to obtain a second voxel grid of the current scale;

[0052] In this embodiment, after obtaining the first voxel grid at the next scale, the feature extraction layer performs feature extraction on the first voxel grid at the next scale. The extracted features are then upsampled by the sparse convolution module according to a preset step size to obtain the second voxel grid at the current scale. It is easy to understand that the occupancy status of the voxels in the second voxel grid at the current scale may be occupied or unoccupied.

[0053] Step S300 , dividing a second voxel grid at a current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group;

[0054] In this embodiment, after upsampling to obtain the second voxel grid of the current scale, voxels at the same position in the large space are divided into the same context group according to the spatial structure, thereby dividing the second voxel grid of the current scale into multiple context groups.

[0055] To facilitate understanding, in one example, the upsampling step size can be set to 3, that is, when the first voxel grid of the next scale is upsampled to the second voxel grid of the current scale, each voxel in the first voxel grid of the next scale is refined into 3×3×3 adjacent small voxels when it is upsampled to the second voxel grid of the current scale. These 3×3×3 adjacent small voxels are in the same large space. When performing context grouping, the small voxel at the center position of this large space and the small voxels at the center position in other large spaces can all be divided into the first context group, and the small voxels at other positions in each large space can all be divided into the second context group, thereby dividing the second voxel grid of the current scale into the first context group and the second context group.

[0056] It should be noted that, in this embodiment, the second voxel grid of the current scale is divided into multiple context groups, including a first context group and a second context group, and may also include a third upper and lower group, or even a fourth context group. The specific number of context groups can be adjusted according to actual needs, and this embodiment does not impose specific restrictions on this. When the second voxel grid of the current scale is context grouped, it is only required to ensure that the number of voxels in the front context group is not greater than that in the back context group, and the number of voxels in the first context group must be less than that in the last context group. It is not difficult to understand that in this embodiment, the front context group first estimates the occupancy probability, and the back context group is estimated after the front context group is estimated. Therefore, the first context group at each scale is the context group for which the occupancy probability is first estimated at that scale. In this embodiment, the first context group is the first context group. Therefore, among the multiple context groups obtained by dividing the second voxel grid, the first context group has the least number of voxels.

[0057] It is not difficult to understand that when the second voxel grid is divided into two context groups, that is, there is only the first context group and the second context group, the number of voxels in the second context group is greater than that in the first context group, and when the second voxel grid is divided into more than two context groups, in addition to the first context group and the second context group, the second voxel grid can also have a third context group, or even a fourth context group and a fifth context group. At this time, it is only required that the number of voxels in the previous context group is not greater than that in the subsequent context group, and the number of voxels in the first context group must be less than that in the last context group, that is, the number of voxels in the second context group can be equal to the first context group, but the number of voxels in the fifth context group (actually the last context group, here the fifth context group is taken as the last context group for example) must be greater than the first context group.

[0058] In a feasible embodiment, the context group further includes a third context group, and the number of voxels in the second context group is smaller than the number of voxels in the third context group;

[0059] In this embodiment, to facilitate understanding, in one example, the upsampling step size can be set to 2, that is, when the first voxel grid of the next scale is upsampled to the second voxel grid of the current scale, each voxel in the first voxel grid of the next scale is refined into 2×2×2 adjacent small voxels when it is upsampled to the second voxel grid of the current scale. These 2×2×2 adjacent small voxels are in the same large space. When performing context grouping, the two small voxels in the upper left corner of this large space and the small voxels in the same position in other large spaces can all be divided into the first context group, the two small voxels in the upper right corner of each large space can all be divided into the second context group, and the four small voxels in the lower position of each large space can all be divided into the third context group, thereby dividing the second voxel grid of the current scale into the first context group, the second context group and the third context group.

[0060] This embodiment divides the second voxel grid into multiple uneven context groups, ensuring that the number of voxels in the front group is not higher than that in the back group, and setting the first context group to have the least number of voxels, greatly reducing the content that needs to be encoded in the first context group, reducing computational complexity, and reducing the difficulty of capturing and utilizing local results and attribute consistency in the first context group, thereby more accurately estimating the occupancy probability of voxels in the first context group, and providing more accurate prior knowledge for the occupancy probability estimation of voxels in subsequent larger and more complex context groups. This grouping strategy from small to large is conducive to gradually refining the estimation of the occupancy probability. By gradually expanding the context range and utilizing known information, the occupancy probability of each voxel in the entire point cloud can be efficiently and accurately estimated, thereby achieving the purpose of efficient compression and reducing the bit stream required to encode the first group lacking context information to a certain extent.

[0061] Step S400: dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group;

[0062] In this embodiment, the target context group is obtained by further grouping the first context group.

[0063] In step S300, although the first context group has been set to the group with the least number of voxels, which reduces the bit stream required to encode the first group lacking context information to a certain extent, a larger bit stream is still required to encode the first context group. Therefore, this embodiment further refines the grouping of the first context group into multiple target context groups by dividing the first context group into multiple target context groups.

[0064] It is not difficult to understand that, similar to dividing the second voxel grid into multiple context groups, when this embodiment divides the first context group into multiple target context groups, in addition to dividing the first target context group and the second target context group, the target context group can also include a third target context group or even a fourth target context group. The actual number of target context groups is not specifically limited and can be adjusted according to actual needs. It is only required that the number of voxels in the previous target context group is not greater than that in the subsequent target context group, and the number of voxels in the first target context group must be smaller than that in the last target context group.

[0065] This embodiment further divides the first context group into a first target context group and other target context groups on the basis of dividing the second voxel grid into a first context group and other context groups, and ensures that the number of voxels in the first target context group is minimized, and the internal consistency and local features are more prominent, which helps to more accurately capture and utilize local geometric and structural information, thereby improving the accuracy of occupancy probability estimation and enhancing the performance of point cloud compression. At the same time, it greatly reduces the bit stream required for encoding the first context group, effectively enhancing the stability and adaptability of the point cloud compression algorithm.

[0066] Step S500, performing occupancy probability estimation on the voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group, determining an occupancy probability estimation prior for the second target context group based on the first occupancy probability, and performing auxiliary estimation to obtain a second occupancy probability for each voxel in the second target context group;

[0067] In this embodiment, the first occupancy probability refers to the occupancy probability of each voxel in the first target context group obtained when the occupancy probability of the voxels in the first target context group is estimated, and the second occupancy probability refers to the occupancy probability of each voxel in the second target context group obtained when the occupancy probability of the voxels in the second target context group is estimated.

[0068] Those skilled in the art will know that in the occupancy probability estimation based on context grouping, when estimating the occupancy probability of voxels in the context group, the occupancy probability is generally estimated through the context model corresponding to the context group, that is, the probability model. The probability model is constructed and trained in advance according to the context grouping situation. Each context group corresponds to a context model, and each target context group corresponds to a target context model.

[0069] Specifically, after determining the context grouping strategy (i.e., determining which small voxels are assigned to which groups at which positions in the large space), the context features of the voxels within each context group are defined, triggered from the first voxel grid at the current scale. The context features may include, but are not limited to, the position of the voxel, the occupancy status of other voxels in the neighborhood, and probability information inherited from higher-level context groups. Based on the context features, a probability model is then constructed to estimate the occupancy probability of the voxel. This can be achieved through statistical methods, such as constructing conditional probability tables (CPTs), or using machine learning models such as decision trees, random forests, and neural networks. These models will learn the relationship between features and occupancy status. This embodiment mainly constructs and trains the probability model through a neural network. The trained probability model can be directly used across scales. That is, the probability model trained in this embodiment shares weights across scales. The probability model that estimates the occupancy probability of the first context group at the current scale can also estimate the occupancy probability of the first context group at the next scale, which is highly flexible and versatile.

[0070] Estimating the occupancy probability of the voxels in the first target context group in step S500 actually involves extracting features from the voxels in the first target context group through a feature extraction layer. The resulting features are then input into the probability model corresponding to the first target context group, resulting in the output of the occupancy probability of each voxel in the first target context group, i.e., the first occupancy probability. After obtaining the first occupancy probability, the occupancy state of each voxel in the first target context group can be determined based on the first occupancy probability and the features of each voxel. This occupancy state of each voxel in the first target context group is then used as a priori estimate of the occupancy probability of the second target context group, assisting in estimating the second occupancy probability of each voxel in the second target context group.

[0071] It is not difficult to understand that when estimating the second occupancy probability of each voxel in the second target context group, the voxels in the second target context group are also feature extracted through the feature extraction layer, and the corresponding features are obtained and input into the corresponding probability model. However, when the voxels in the second target context group are feature extracted through the feature extraction layer, the occupancy status of each voxel in the first target context group has been determined. Therefore, it can be used as context information to assist in extracting more and more accurate features, thereby more accurately estimating the second occupancy probability.

[0072] Correspondingly, if the target context grouping further includes a third target context grouping, the occupancy state of each voxel in the first target context grouping and the second target context grouping can be determined and used as a priori for the third target context grouping.

[0073] Please refer to Figure 3 , Figure 3 This is a first flow chart of determining a probability prior in Example 1 of the point cloud compression method based on non-uniform context grouping of the present application. In one feasible implementation, the step of determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability may include steps S510 to S520:

[0074] Step S510: determining the occupancy state of each voxel in the first target context group according to the first occupancy probability;

[0075] Step S520 , using the occupancy state of each voxel in the first target context group as an occupancy probability estimation prior for the second target context group;

[0076] Step S600: determining an occupancy probability estimate prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group;

[0077] It should be noted that the third occupancy probability refers to the occupancy probability of each voxel in the second context group obtained after estimating the occupancy probability of the voxels in the second context group.

[0078] In this embodiment, the first context group is divided into a first target context group and a second target context group. Therefore, after completing the occupancy probability estimation of the first target context group and the second target context group, it is equivalent to completing the occupancy probability estimation of the first context group, that is, the occupancy state of each voxel in the first context group can be determined, and the occupancy state of each voxel in the first context group is used as the occupancy probability estimation prior of the second context group, to assist in estimating the third occupancy probability of each voxel in the second context group.

[0079] Please refer to Figure 4 , Figure 4 This is a second flow chart of determining a probability prior in Example 1 of the point cloud compression method based on non-uniform context grouping of the present application. In one feasible implementation, the step of determining an occupancy probability estimation prior for the second target context group based on the occupancy probability estimation prior and the second occupancy probability may include steps S610 to S630:

[0080] Step S610: determining the occupancy state of each voxel in the second target context group according to the second occupancy probability;

[0081] Step S620: determining the occupancy state of each voxel in the first context group according to the occupancy state of each voxel in the first target context group and the occupancy state of each voxel in the second target context group;

[0082] Step S630 : The occupancy state of each voxel in the first context group is used as a priori occupancy probability estimation of the second context group.

[0083] Step S700: determining a first bitstream corresponding to a current scale according to the first occupancy probability, the second occupancy probability, and the third occupancy probability;

[0084] In this embodiment, the second voxel grid is divided into a first context group and a second context group, and the first context group is divided into a first target context group and a second target context group. After estimating the first occupancy probability of each voxel in the first target context group, the second occupancy probability of each voxel in the second target context group, and the third occupancy probability of each voxel in the second context group, the occupancy probability of each voxel in the second voxel grid at the current scale is estimated. At this time, the occupancy probability of each voxel in the second voxel grid at the current scale and its actual occupancy status can be input into the arithmetic encoder for encoding, and the arithmetic encoder generates a first bit stream corresponding to the current scale to realize point cloud compression from the current scale to the next scale.

[0085] Since this embodiment only performs point cloud geometry compression and does not pay attention to attributes such as color, when compressing the point cloud, only the geometric information of the point cloud (i.e., the three-dimensional coordinates of the points) is compressed, and the first compressed bit stream only contains the geometric information of the voxels at the current scale.

[0086] In a feasible implementation, the context group further includes a third context group, the number of voxels in the second context group is smaller than the number of voxels in the third context group, and before step S700, step A10 is further included:

[0087] Step A10: determining an occupancy probability estimation prior for the third context group based on the occupancy probability estimation prior for the second context group and the third occupancy probability, and assisting in estimating a fourth occupancy probability for each voxel in the third context group;

[0088] In this embodiment, the second voxel grid is divided into a first context group, a second context group and a third context group. Therefore, after estimating the second occupancy probability, it is necessary to determine the occupancy status of each voxel in the second context group through similar operations, so as to use the occupancy status of each voxel in the first context group and the second context group as the occupancy probability estimation prior of the third context group, and assist in estimating the fourth occupancy probability of each voxel in the third context group.

[0089] Step S700 includes step S710:

[0090] Step S710: Input the first occupancy probability, the second occupancy probability, the third occupancy probability, and the fourth occupancy probability into an arithmetic encoder to generate a first bit stream corresponding to the current scale.

[0091] Since the second voxel grid is divided into a first context group, a second context group, and a third context group in this embodiment, when encoding the current scale, the fourth occupancy probability of each voxel in the third context group and its actual occupancy state also need to be input into the arithmetic encoder for lossless encoding.

[0092] Step S800 : determining the first voxel grid of the next scale as the first voxel grid of the current scale, and returning to execute the step of downsampling the first voxel grid of the current scale until the number of voxels in the first voxel grid of the current scale is one.

[0093] In this embodiment, step S700 has completed the encoding of the current scale. Therefore, it is necessary to encode the next scale, that is, determine the first voxel grid of the next scale as the first voxel grid of the current scale, and return to the step of downsampling the first voxel grid of the current scale, shifting the current scale downward to implement encoding of the next scale until the number of voxels in the first voxel grid of the current scale is one, which means that the encoding has reached the lowest scale and further downsampling encoding is impossible.

[0094] To facilitate understanding, in one example, the current scale is 8 and the next scale is 7. After encoding scale 8 in step S700, the next scale is used as the current scale. At this time, the current scale is changed to scale 7, and the first voxel grid of the current scale is updated to the first voxel grid of scale 7. Downsampling the first voxel grid of the current scale 7 can obtain the first voxel grid of the next scale 6, and thus encoding of scale 7 begins. Until the current scale is 1, there is no next scale, that is, there is only one voxel in the voxel grid of scale 1. At this time, all encoding from scale 8 to scale 1 is completed, and the first bitstream of 7 scales is obtained.

[0095] Compared with the point cloud compression method for occupancy probability estimation based on autoregression and the point cloud compression method for occupancy probability estimation based on context grouping in the related art, this embodiment achieves more efficient context grouping through non-uniform context grouping and more refined context grouping, improves the accuracy of occupancy probability estimation, greatly reduces the bit stream required for encoding the first group, achieves a better balance between compression performance and decoding complexity, and realizes the consideration of both compression performance and decoding complexity.

[0096] Based on the above-mentioned first embodiment, a second embodiment of the present application is proposed.

[0097] In this embodiment, please refer to Figure 2 , Figure 2 This is a flow chart of the second embodiment of the point cloud compression method based on non-uniform context grouping of the present application, which includes steps S910 to S920 before step S100:

[0098] Step S910 , voxelizing the initial point cloud data and performing sparse representation to obtain an initial first voxel grid;

[0099] It's important to note that voxelization divides three-dimensional space into many small volume units (voxels). Each voxel can contain one or more points in the point cloud data. For empty regions of space, the corresponding voxel is a null-occupied voxel (NOV). This process aims to reduce data storage requirements and improve subsequent processing efficiency, which is particularly important for subsequent computer graphics and machine learning applications.

[0100] Specifically, the voxelization steps can be briefly described as:

[0101] 1. Define voxel size: First, determine the volume of space occupied by each voxel, which determines the resolution of the final grid. The smaller the voxel size, the finer the representation, but it also increases the storage and processing burden of the data.

[0102] 2. Assign point cloud to voxel: Traverse each point in the point cloud and assign it to the corresponding voxel according to its 3D coordinates. Usually, spatial indexing is used to efficiently complete this mapping process.

[0103] 3. Construct a voxel grid: Create a data structure (such as a sparse matrix or octree) to represent the voxelized space. Non-empty voxels (i.e., voxels containing at least one point) are marked or store additional information (such as color, intensity, etc.), while empty voxels can be left unstored or marked with a special value.

[0104] In this embodiment, after acquiring the initial point cloud data, it is first voxelized to obtain an initial voxel grid. Some voxels in this initial voxel grid are empty voxels, or NOVs. Because a large number of empty voxels may exist in the voxel grid, directly storing them in dense form would waste a large amount of memory. Therefore, a sparse representation method is used to represent the initial voxel grid sparsely, storing only the information of non-empty voxels and ignoring the empty voxels. This results in an initial first voxel grid, which can significantly reduce storage requirements and improve processing speed.

[0105] Step S920: Detect the variable bit rate level input by the user. If the variable bit rate level is the first level, determine the initial first voxel grid as the first voxel grid of the current scale, and perform the step of obtaining the first voxel grid of the current scale, wherein the first level represents lossless compression.

[0106] In this embodiment, in addition to performing lossless compression on point cloud data in the manner of the first embodiment described above, the user can also perform lossy compression by setting the variable bit rate level. The variable bit rate level is a parameter. When the value of the parameter is 0, it indicates that the variable bit rate level is the first level, that is, no lossy compression is performed, only lossless compression is performed. At this time, the initial first voxel grid is directly determined as the first voxel grid of the current scale, and the step of obtaining the first voxel grid of the current scale is executed. Multi-scale lossless compression is performed starting from the initial first voxel grid until the number of voxels in the first voxel grid is compressed to 1, thereby achieving complete lossless compression of the point cloud data.

[0107] Furthermore, in a feasible implementation manner, after the step of detecting the variable bit rate level input by the user, steps C10 to C20 are further included:

[0108] Step C10: If the variable bit rate level is the second level, obtaining a variable bit rate parameter input by the user, wherein the second level represents lossy compression, and the variable bit rate parameter is used for bit rate adjustment;

[0109] In this embodiment, if the value of the variable bit rate level is greater than 0, it is considered that the variable bit rate level is the second level, and lossy compression is required for the point cloud data. At this time, the user will input a variable bit rate parameter to adjust the bit rate of the lossy compression.

[0110] It should be noted that when performing lossy compression, variable bit rate and variable complexity lossy compression can be performed in different bit rate adjustment ranges according to the value of the parameter representing the variable bit rate level. That is, the value of the parameter corresponds to different bit rate adjustment ranges. For example, when the value of the parameter is 1, lossy compression can be performed in the first bit rate adjustment range by encoding the parameter. When the value of the parameter is 2, lossy compression can be performed in the second bit rate adjustment range.

[0111] Step C20 , downsampling the initial first voxel grid by a number corresponding to the second level to obtain the first voxel grid of the current scale, and executing the step of obtaining the first voxel grid of the current scale.

[0112] In this embodiment, downsampling the initial first voxel grid a number of times corresponding to the second level is actually downsampling the initial first voxel grid a number of times corresponding to the value of the variable bit rate level. It is not difficult to understand that if the value of the variable bit rate level is 1, the initial first voxel grid is downsampled once, and the downsampled first voxel grid is used as the first voxel grid of the current scale.

[0113] It can be understood that when the value of the variable bit rate level is 0, it is equivalent to performing zero downsampling on the initial first voxel grid, that is, directly using the initial first voxel grid as the first voxel grid of the current scale.

[0114] It is worth mentioning that after the point cloud is compressed, the value of the variable bit rate level parameter will be sent together with the encoded bit stream to the decompression end for decoding by the decoding end. For example, the variable bit rate level can be packaged with the bit stream and sent together to the decoding end.

[0115] After the step of downsampling the initial first voxel grid by the number of times corresponding to the second level to obtain the first voxel grid of the current scale, the method further includes steps C30 to C60:

[0116] Step C30, downsampling the first voxel grid of the current scale to obtain the first voxel grid of the next scale;

[0117] It should be noted that in step C30, downsampling the first voxel grid of the current scale is actually first performing feature extraction on the one-voxel grid of the current scale through the feature extraction layer, and after obtaining the feature data of the one-voxel grid of the current scale, downsampling the feature data of the one-voxel grid of the current scale through sparse convolution to obtain the first voxel grid of the next scale.

[0118] Step C40 , downsampling the first voxel grid of the next scale by dynamic sparse convolution based on the variable bit rate parameter to obtain a third voxel grid of the target scale;

[0119] In this embodiment, step C40 actually performs dynamic feature extraction on the first voxel grid of the next scale through the dynamic feature extraction layer based on the variable bit rate parameter, and then downsamples the extracted features through the sparse convolution module to obtain a third voxel grid of the target scale. Different from the first voxel grid, the voxels with high correlation in the third voxel grid are allocated more computational load than the voxels with low correlation.

[0120] It should be noted that the feature extraction layer used for feature extraction in this embodiment includes, in order, a first sparse convolution module, a rectified linear unit, three consecutive residual modules, a second sparse convolution module, and a third sparse convolution module, wherein the output of the rectified linear unit is input into the first residual module and, together with the output of the last residual module, is input into the second sparse convolution module. This embodiment replaces the second sparse convolution module of the feature extraction layer with a dynamic sparse convolution module to obtain a dynamic feature extraction layer for dynamic feature extraction, thereby achieving dynamic feature extraction and allocating more computational effort to voxels with high correlation to explicitly remove statistical dependence, thereby maintaining compression performance while reducing encoding complexity.

[0121] In a feasible implementation, step C40 includes steps C41 to C46:

[0122] Step C41, performing feature extraction on the first voxel grid of the next scale through a sparse convolution module to obtain first target feature data;

[0123] Step C42, activating the first target feature data through a rectified linear unit to obtain second target feature data;

[0124] Those skilled in the art will recognize that the Rectified Linear Unit (ReLU) is an activation function widely used in artificial neural networks. It is currently one of the most commonly used nonlinear activation functions in deep learning. For any input, if the input value is greater than 0, the ReLU function will output the same value. If the input value is less than or equal to 0, the ReLU function will output 0. This property means that during both forward and backward propagation of the network, the gradient does not decay exponentially with the network depth, helping to address the vanishing gradient problem in deep networks.

[0125] Step C43, inputting the second target feature data into a residual module to obtain third target feature data;

[0126] It should be noted that in this embodiment, the residual module is used to perform stronger feature extraction on the second target feature data. In this embodiment, the step of inputting the second target feature data into the residual module is actually inputting the second target feature data into a structure composed of three consecutive residual modules for feature extraction, thereby ultimately obtaining the third target feature data.

[0127] Step C44: performing dynamic sparse convolution on the second target feature data and the third target feature data based on the variable bit rate parameter to obtain fourth target feature data;

[0128] In this embodiment, dynamic sparse convolution is implemented by a dynamic sparse convolution module. Specifically, the dynamic sparse convolution module includes, in sequence, a first sparse convolution module for performing sparse convolution on the output of the rectified linear unit in the dynamic feature extraction layer and the output of the last residual module, a separation layer for separating voxels with high correlation and voxels with low correlation according to a variable bit rate parameter, a second sparse convolution module for performing sparse convolution on voxels with high correlation, and a merging layer for merging voxels with low correlation and voxels with high correlation after the second sparse convolution module.

[0129] In a feasible implementation manner, step C44 includes steps D10 to D50:

[0130] D10, performing feature extraction on the second target feature data and the third target feature data through a sparse convolution module to obtain sixth target feature data;

[0131] D20, calculating the correlation of each voxel in the first voxel grid of the next scale based on the sixth target feature data;

[0132] D30, determining a correlation threshold according to the variable bit rate parameter, and determining voxels with correlations higher than the correlation threshold as high-correlation voxels, and determining voxels with correlations lower than or equal to the correlation threshold as low-correlation voxels;

[0133] D40, performing feature extraction on the sixth target feature data of the high-correlation voxel through a sparse convolution module to obtain seventh target feature data;

[0134] D50: Merge the sixth target feature data and the seventh target feature data of the low-correlation voxel to obtain fourth target feature data.

[0135] In this embodiment, the definition of correlation is as follows:

[0136]

[0137] Where Corr is the correlation, c is the current point, i is the neighboring point of the current point c, k is the preset step size, which is the same as the preset step size in the upsampling and downsampling in the previous text. In this embodiment, k=2 by default, x represents the feature vector, x i represents the eigenvector of neighborhood point i, c i represents the eigenvector of the current point c, μ represents the mean of the eigenvector, μ i represents the mean of the eigenvector of neighborhood point i, μ c represents the mean of the eigenvector of the current point c, σ represents the variance of the eigenvector, σ i represents the variance of the eigenvector of neighborhood point i, σ c Represents the variance of the eigenvector of the current point c.

[0138] Through the first sparse convolution module of the dynamic sparse convolution module, the characteristic data of all voxels can be obtained, thereby determining the characteristic vector of each voxel, as well as the mean and variance of the characteristic vector of each voxel, so as to calculate the correlation of each voxel, and determine the voxels with a correlation greater than the variable bit rate parameter as voxels with high correlation, and the remaining voxels as voxels with low correlation.

[0139] This embodiment allocates more computational effort to points with high correlation through variable bit rate parameters and a dynamic sparse convolution module to explicitly remove statistical dependence, thereby maintaining compression performance while reducing coding complexity and achieving lossy compression with variable complexity.

[0140] Step C45, performing feature extraction on the fourth target feature data using a sparse convolution module to obtain fifth target feature data;

[0141] Step C46: downsample the fifth target feature data through a sparse convolution module to obtain a third voxel grid of the target scale.

[0142] This embodiment allocates more computational effort to points with high correlation through dynamic feature extraction to explicitly remove statistical dependence, thereby maintaining compression performance while reducing encoding complexity and achieving lossy compression with variable complexity.

[0143] Step C50, performing feature extraction on the third voxel grid of the target scale to obtain first feature data, and performing rate modulation on the first feature data based on the variable rate parameter to obtain second feature data;

[0144] In this embodiment, after downsampling to obtain a third voxel grid of the target scale, feature extraction is performed on the third voxel grid of the target scale through a feature extraction layer to obtain first feature data, and then the first feature data is rate modulated based on a variable bit rate parameter to obtain second feature data.

[0145] Specifically, the variable bit rate parameter is input into the bit rate modulation network as a modulation factor to generate a channel-level modulation coefficient, so that when the modulation module modulates the first feature data, the modulation coefficient is used to change the distribution of the feature through modulation, thereby supporting variable bit rate.

[0146] It is not difficult to understand that the feature data of each channel corresponds to a modulation coefficient. In this embodiment, the number of channels defaults to 32, that is, when extracting features through sparse convolution, feature data of 32 channels will be extracted.

[0147] Step C60: Input the second feature data into an arithmetic encoder for encoding to generate a second bit stream.

[0148] In this embodiment, the second characteristic data obtained after modulation is input into the arithmetic encoder for encoding, thereby encoding the corresponding second bit stream, which together with the first bit stream obtained through step S700 in the first embodiment serves as the final bit stream of this lossy compression, realizing lossy compression with variable complexity and variable bit rate.

[0149] Based on the above second embodiment, a third embodiment of the present application is proposed.

[0150] In this embodiment, a point cloud decompression method based on non-uniform context grouping is provided, which is used to decompress the point cloud compressed by the point cloud compression method based on non-uniform context grouping in the above-mentioned first embodiment or second embodiment.

[0151] In this embodiment, the point cloud decompression method based on non-uniform context grouping includes steps T100 to T700:

[0152] Step T100 , obtaining a first bitstream and a first voxel grid at a previous scale, and upsampling the first voxel grid at the previous scale to obtain a second voxel grid at a current scale;

[0153] Step T200 , dividing a second voxel grid at a current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group;

[0154] Step T300: dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group;

[0155] Step T400, estimating the occupancy probability of the voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group, determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability, and auxiliary estimating a second occupancy probability for each voxel in the second target context group;

[0156] Step T500 , determining an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group;

[0157] Step T600: input the first occupancy probability, the second occupancy probability, the third occupancy probability, and the first bit stream into an arithmetic decoder for decoding to obtain a first voxel grid of a current scale;

[0158] Step T700 : determining the first voxel grid of the current scale as the first voxel grid of the previous scale, and returning to the step of upsampling the first voxel grid of the previous scale until the first bitstream is parsed.

[0159] In this embodiment, the point cloud decompression uses a first grid voxel with only one voxel as the initial first voxel grid, and uses the initial first voxel grid as the first voxel grid of the previous scale, and then upsamples it to obtain a second voxel grid of the current scale. The same steps as the point cloud compression stage are used to estimate the occupancy probability of each voxel in the second voxel grid at the current scale, and then input it into the arithmetic decoder together with the first bit stream corresponding to the current scale for parsing, thereby obtaining the first voxel grid of the current scale. When decompressing the point cloud of the next scale, the first voxel grid decompressed from the current scale is used as the first voxel grid of the previous scale, and the above steps are returned to execute for the first voxel grid of the previous scale to decompress the point cloud of the next scale until the first bit stream is parsed and the lossless decompression process is completed.

[0160] Furthermore, in a feasible implementation manner, after step T700, steps T910 to T980 may be further included:

[0161] Step T910, detecting whether a second bit stream exists;

[0162] Step T920: If the second bit stream exists, input the second bit stream into an arithmetic decoder for parsing to obtain third feature data;

[0163] Step T930, upsampling the third feature data by transposed sparse convolution to obtain fourth feature data;

[0164] Step T940, performing dynamic feature extraction on the fourth feature data through a dynamic feature extraction layer to obtain fifth feature data;

[0165] Step T950, combining the first voxel grid of the previous scale and the fifth feature data and performing upsampling to obtain a second voxel grid of the current scale;

[0166] Step T960: performing dynamic feature extraction on the second voxel grid at the current scale using a dynamic feature extraction layer to obtain fifth feature data; and performing an occupancy probability estimation on each voxel in the second voxel grid at the current scale based on the fifth feature data to obtain an occupancy probability of each voxel in the second voxel grid at the current scale, thereby determining the occupancy state of each voxel in the second voxel grid at the current scale.

[0167] Step T970 , determining a fourth voxel grid at the current scale based on the occupancy status of each voxel in the second voxel grid at the current scale;

[0168] Step T980 , detecting whether a variable code level exists. If so, performing upsampling restoration for a number of times corresponding to the variable code level on the fourth voxel grid of the current scale.

[0169] In this embodiment, after the first bit stream is parsed and the first voxel grid of the previous scale is obtained, the second bit stream and the variable code level are detected. If detected, the second bit stream is decoded. After decoding, the fifth feature data corresponding to the previous scale is obtained by transposed sparse convolution and dynamic feature extraction in sequence. The fifth feature data of the previous scale and the first voxel grid of the previous scale are then merged and upsampled. Dynamic feature extraction and occupancy probability estimation are then performed to obtain the occupancy status of each voxel in the voxel grid at the current scale. The decoding of the lossy compression of the point cloud is completed by upsampling and restoration corresponding to the number of times of the variable code level to obtain the final point cloud data.

[0170] It should be noted that the upsampling and restoration step in this embodiment is specifically to upsample the voxel grid to obtain a second voxel grid of a higher scale, and then perform occupancy probability estimation to obtain the occupancy probability of each voxel, and then determine the occupancy state of each voxel at this scale to achieve point cloud restoration from low scale to high scale. It is not difficult to understand that this process is basically the same as the upsampling and occupancy probability estimation when compressing the high-scale first voxel grid to the low-scale first voxel grid in the above-mentioned embodiment 1, as well as the determination of the occupancy state of the voxels. This embodiment will not repeat this description, and reference may be made to the previous text.

[0171] In addition, please refer to Figure 5 , Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the point cloud compression method or point cloud decompression method based on non-uniform context grouping in the embodiments of the present application.

[0172] The present application provides an electronic device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the point cloud compression method based on non-uniform context grouping, or the point cloud decompression method based on non-uniform context grouping in the above-mentioned embodiment.

[0173] Reference below Figure 5, which shows a schematic diagram of the structure of an electronic device suitable for implementing the embodiments of the present application. The electronic devices in the embodiments of the present application may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.

[0174] like Figure 5 As shown, the electronic device may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in a read-only memory (ROM) 1002 or programs loaded from a storage device 1003 into a random access memory (RAM) 1004. Various programs and data required for the operation of the electronic device are also stored in RAM 1004. The processing device 1001, ROM 1002, and RAM 1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows an electronic device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have instead.

[0175] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0176] The electronic device provided by this application adopts the point cloud compression method based on non-uniform context grouping or the point cloud decompression method based on non-uniform context grouping in the above-mentioned embodiments, which can solve the technical problem in the related art that compression performance and decoding complexity cannot be taken into account at the same time. Compared with the existing technology, the beneficial effects of the electronic device provided by this application are the same as the beneficial effects of the point cloud compression method based on non-uniform context grouping or the point cloud decompression method based on non-uniform context grouping provided in the above-mentioned embodiments, and the other technical features of the electronic device are the same as the features disclosed in the previous embodiment method, which will not be repeated here.

[0177] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0178] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

[0179] The present application provides a storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, and the computer-readable program instructions are used to execute the point cloud compression method based on non-uniform context grouping, or the point cloud decompression method based on non-uniform context grouping in the above-mentioned embodiment.

[0180] The storage medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination thereof. More specific examples of storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this embodiment, the storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, system or device. The program code contained on the storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.

[0181] The above-mentioned storage medium may be included in the electronic device; or it may exist independently without being assembled into the electronic device.

[0182] Computer program code for performing the operations of the present application may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, Python, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0183] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.

[0184] The modules described in the embodiments of the present application may be implemented in software or hardware, wherein the name of a module does not necessarily limit the unit itself.

[0185] The storage medium provided in this application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., a computer program) for executing the above-mentioned point cloud compression method based on non-uniform context grouping, or computer-readable program instructions for the point cloud decompression method based on non-uniform context grouping, which can solve the technical problem in the related art that compression performance and decoding complexity cannot be taken into account at the same time. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the point cloud compression method based on non-uniform context grouping, or the point cloud decompression method based on non-uniform context grouping provided in the above-mentioned embodiments, and will not be elaborated here.

[0186] The above description is only part of the embodiments of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made by using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A point cloud compression method based on non-uniform context grouping, characterized in that: The point cloud compression method based on non-uniform context grouping includes: Obtain the first voxel grid of the current scale, and downsample the first voxel grid of the current scale to obtain the first voxel grid of the next scale; Upsampling the first voxel grid of the next scale to obtain the second voxel grid of the current scale; Dividing a second voxel grid at the current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group; dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group; Estimating the occupancy probability of voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group; determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability; and assisting in estimating a second occupancy probability for each voxel in the second target context group; Determining an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group; determining a first bitstream corresponding to a current scale according to the first occupancy probability, the second occupancy probability, and the third occupancy probability; The first voxel grid of the next scale is determined as the first voxel grid of the current scale, and the step of downsampling the first voxel grid of the current scale is returned to be executed until the number of voxels in the first voxel grid of the current scale is one.

2. The point cloud compression method based on non-uniform context grouping according to claim 1, characterized in that: The context group further includes a third context group, the number of voxels in the second context group being smaller than the number of voxels in the third context group; Before the step of determining the first bitstream corresponding to the current scale according to the first occupancy probability, the second occupancy probability, and the third occupancy probability, the method further includes: Determining an occupancy probability estimation prior for the third context group based on the occupancy probability estimation prior for the second context group and the third occupancy probability, and assisting in estimating a fourth occupancy probability for each voxel in the third context group; The step of determining the first bit stream corresponding to the current scale according to the first occupancy probability, the second occupancy probability, and the third occupancy probability includes: The first occupancy probability, the second occupancy probability, the third occupancy probability, and the fourth occupancy probability are input into an arithmetic encoder to generate a first bit stream corresponding to a current scale.

3. The point cloud compression method based on non-uniform context grouping according to claim 1, characterized in that: Before the step of obtaining the first voxel grid of the current scale, the method further includes: The initial point cloud data is voxelized and sparsely represented to obtain the initial first voxel grid; Detecting a variable bit rate level input by a user, and if the variable bit rate level is a first level, determining an initial first voxel grid as a first voxel grid of a current scale, and performing the step of obtaining the first voxel grid of the current scale, wherein the first level represents lossless compression.

4. The point cloud compression method based on non-uniform context grouping according to claim 3, characterized in that: After the step of detecting the variable bit rate level input by the user, the method further includes: If the variable bit rate level is the second level, obtaining a variable bit rate parameter input by the user, wherein the second level represents lossy compression, and the variable bit rate parameter is used for bit rate adjustment; Downsampling the initial first voxel grid a number of times corresponding to the second level to obtain a first voxel grid of a current scale, and performing the step of obtaining the first voxel grid of the current scale; After the step of downsampling the initial first voxel grid by a number corresponding to the second level to obtain the first voxel grid of the current scale, the method further includes: Downsampling the first voxel grid of the current scale to obtain the first voxel grid of the next scale; Based on the variable bit rate parameter, downsampling the first voxel grid of the next scale by dynamic sparse convolution to obtain a third voxel grid of the target scale; Performing feature extraction on a third voxel grid of the target scale to obtain first feature data, and performing rate modulation on the first feature data based on the variable rate parameter to obtain second feature data; The second feature data is input into an arithmetic encoder for encoding to generate a second bit stream.

5. The point cloud compression method based on non-uniform context grouping according to claim 4, characterized in that: The step of downsampling the first voxel grid of the next scale by dynamic sparse convolution based on the variable bit rate parameter to obtain a third voxel grid of the target scale includes: Performing feature extraction on the first voxel grid of the next scale through a sparse convolution module to obtain first target feature data; activating the first target feature data through a rectified linear unit to obtain second target feature data; Inputting the second target feature data into a residual module to obtain third target feature data; Based on the variable bit rate parameter, performing dynamic sparse convolution on the second target feature data and the third target feature data to obtain fourth target feature data; Performing feature extraction on the fourth target feature data through a sparse convolution module to obtain fifth target feature data; The fifth target feature data is downsampled by a sparse convolution module to obtain a third voxel grid of the target scale.

6. The point cloud compression method based on non-uniform context grouping according to claim 5, characterized in that: The step of performing dynamic sparse convolution on the second target feature data and the third target feature data based on the variable bit rate parameter to obtain fourth target feature data includes: Performing feature extraction on the second target feature data and the third target feature data through a sparse convolution module to obtain fifth target feature data; Calculating the correlation of each voxel in the fifth target feature data; Determine a correlation threshold according to the variable bit rate parameter, and determine voxels with correlation higher than the correlation threshold as high-correlation voxels, and determine voxels with correlation lower than or equal to the correlation threshold as low-correlation voxels; Performing feature extraction on the high-correlation voxels through a sparse convolution module to obtain sixth target feature data; The sixth target feature data is combined with the low-correlation voxel to obtain fourth target feature data.

7. The point cloud compression method based on non-uniform context grouping according to claim 1, characterized in that: The step of determining a priori an estimate of the occupancy probability of the second target context group based on the first occupancy probability includes: determining an occupancy state of each voxel in the first target context group according to the first occupancy probability; Using the occupancy state of each voxel in the first target context group as an occupancy probability estimation prior for the second target context group; The step of determining the occupancy probability estimate prior for the second context group based on the occupancy probability estimate prior for the second target context group and the second occupancy probability comprises: determining an occupancy state of each voxel in the second target context group according to the second occupancy probability; determining an occupancy state of each voxel in the first target context group according to the occupancy state of each voxel in the first target context group and the occupancy state of each voxel in the second target context group; The occupancy state of each voxel in the first context group is used as a priori occupancy probability estimate of the second context group.

8. A point cloud decompression method based on non-uniform context grouping, characterized in that: The point cloud decompression method based on non-uniform context grouping includes: Obtaining a first bitstream and a first voxel grid at a previous scale, and upsampling the first voxel grid at the previous scale to obtain a second voxel grid at the current scale, wherein the first bitstream is a bitstream obtained by losslessly compressing the point cloud, and the first bitstream includes a terminator, and the terminator is used to indicate the termination of decoding; Dividing a second voxel grid at the current scale into a plurality of context groups, wherein the context groups include a first context group and a second context group, and the number of voxels in the first context group is smaller than the number of voxels in the second context group; dividing the first context group into a plurality of target context groups, wherein the target context groups include a first target context group and a second target context group, and the number of voxels in the first target context group is smaller than the number of voxels in the second target context group; Estimating the occupancy probability of voxels in the first target context group to obtain a first occupancy probability of each voxel in the first target context group; determining an occupancy probability estimate prior for the second target context group based on the first occupancy probability; and assisting in estimating a second occupancy probability for each voxel in the second target context group; Determining an occupancy probability estimation prior for the second target context group and the second occupancy probability, and assisting in estimating a third occupancy probability for each voxel in the second context group; Inputting the first occupancy probability, the second occupancy probability, the third occupancy probability and the first bit stream into an arithmetic decoder for decoding to obtain a first voxel grid of a current scale; The first voxel grid of the current scale is determined as the first voxel grid of the previous scale, and the step of upsampling the first voxel grid of the previous scale is returned to be executed until the first bitstream is parsed.

9. An electronic device, characterized in that: The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the point cloud compression method based on non-uniform context grouping as described in any one of claims 1 to 7, or the steps of the point cloud decompression method based on non-uniform context grouping as described in claim 8.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the point cloud compression method based on non-uniform context grouping as described in any one of claims 1 to 7, or the steps of the point cloud decompression method based on non-uniform context grouping as described in claim 8 are implemented.

Citation Information

Patent Citations

  • Point cloud three-dimensional target detection method based on voxel context perception

    CN117671360A

  • Point cloud geometric information compression method and apparatus, point cloud geometric information decompression method and apparatus, point cloud video encoding method and apparatus, and point cloud video decoding method and apparatus

    WO2023205969A1