Point cloud attribute encoding method and device, decoding method and device, and related equipment

By sorting and grouping point cloud data based on correlation, the problem that point cloud data grouping in the prior art cannot reflect correlation is solved, thus improving coding efficiency and decorrelation effect.

CN115474035BActive Publication Date: 2026-03-27PENG CHENG LAB
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-11
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In existing technologies, point cloud attribute compression relies on one-dimensional grouping, which cannot effectively reflect the correlation between point cloud data and affects the decorrelation efficiency and encoding efficiency when performing intra-group transformations after grouping.

Method used

The point cloud data is sorted, grouped based on correlation, and the groups to be encoded are obtained. Point cloud attributes are then encoded based on all encoding groups.

Benefits of technology

It improves the correlation of point cloud data within groups, enhances the decorrelation efficiency during intra-group transformations, and improves encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115474035B_ABST
    Figure CN115474035B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud attribute encoding method and device, a decoding method and device, and related equipment, wherein the point cloud attribute encoding method comprises the following steps: sorting all to-be-encoded point cloud data to obtain sorted point cloud data, wherein the to-be-encoded point cloud data is attribute to-be-encoded point cloud data; grouping the sorted point cloud data based on the correlation between the sorted point cloud data to obtain to-be-encoded groups; and performing point cloud attribute encoding based on all the to-be-encoded groups. Compared with the prior art, in the application, the to-be-encoded data is sorted, then the to-be-encoded groups are obtained based on the correlation after grouping, and then the point cloud attribute encoding is performed based on the to-be-encoded groups. The correlation between the point cloud data in the groups is stronger, the efficiency of de-correlation when performing group transformation after grouping is improved, and the encoding efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and particularly relates to a point cloud attribute encoding method and device, a decoding method and device, and related equipment. BACKGROUND

[0002] With the rapid development of science and technology, especially the development of computer technology, three-dimensional reconstruction technology has been widely applied to various fields such as architectural design, game development, and cultural relic protection. Among them, point cloud compression encoding and decoding technology is one of the key technologies of three-dimensional reconstruction. Point cloud is obtained by sampling the surface of an object by a three-dimensional scanning device, and each point cloud may include various attribute information such as color information and reflectivity information. The purpose of point cloud compression encoding and decoding is to remove redundancy as much as possible on the basis of preserving the original attribute information of massive point cloud data, and to improve the storage and transmission efficiency of the system.

[0003] In the prior art, when performing point cloud attribute compression, the point cloud is usually grouped first, and then the attribute compression is performed on each group in turn. In the grouping process of the point cloud, all point cloud data is usually grouped according to a specific one-dimensional point cloud order. The problem of the prior art is that only relying on one-dimensional arrangement order grouping, the grouping cannot effectively reflect the correlation between the point cloud data, which affects the efficiency of decorrelation when performing intra-group transformation after grouping, and also affects the encoding efficiency.

[0004] Therefore, the prior art still needs to be improved and developed. SUMMARY

[0005] The main purpose of the present application is to provide a point cloud attribute encoding method and device, a decoding method and device, and related equipment, which aims to solve the problem in the prior art that the point cloud data is grouped according to a specific one-dimensional point cloud order, and the grouping cannot effectively reflect the correlation between the point cloud data, which affects the efficiency of decorrelation when performing intra-group transformation after grouping, and also affects the encoding efficiency.

[0006] In order to achieve the above purpose, the first aspect of the present application provides a point cloud attribute encoding method, wherein the method comprises:

[0007] A point cloud attribute encoding method, characterized in that the method comprises:

[0008] sorting all to-be-encoded point cloud data to obtain sorted point cloud data, wherein the to-be-encoded point cloud data is attribute to-be-encoded point cloud data;

[0009] grouping each of the sorted point cloud data based on the correlation between the sorted point cloud data to obtain to-be-encoded groups;

[0010] Encoding the point cloud attributes based on all the aforementioned to-be-encoded groups.

[0011] Optionally, the correlation between the aforementioned sorted point cloud data includes a spatial positional relationship between the aforementioned sorted point cloud data.

[0012] Optionally, the sorting of all the to-be-encoded point cloud data to obtain the sorted point cloud data includes:

[0013] Respectively obtaining a target encoding corresponding to each aforementioned to-be-encoded point cloud data, wherein the target encoding is a Morton code or a Hilbert code;

[0014] Sorting each aforementioned to-be-encoded point cloud data in an order from small to large according to the target encoding to obtain the sorted point cloud data.

[0015] Optionally, the grouping of each aforementioned sorted point cloud data based on the correlation between the aforementioned sorted point cloud data to obtain the to-be-encoded group includes:

[0016] Obtaining a target size;

[0017] Dividing a target space based on the target size to obtain a plurality of spatial blocks, wherein the target space is a space in which all the aforementioned sorted point cloud data are located, and the size of each spatial block is the same as the target size;

[0018] For each aforementioned spatial block, respectively dividing all the sorted point cloud data in the spatial block into a to-be-encoded group.

[0019] Optionally, the grouping of each aforementioned sorted point cloud data based on the correlation between the aforementioned sorted point cloud data to obtain the to-be-encoded group includes:

[0020] Obtaining a target bit number;

[0021] Comparing the target encoding of each aforementioned sorted point cloud data;

[0022] Grouping each aforementioned sorted point cloud data based on the last target bit number of the target encoding to obtain the to-be-encoded group.

[0023] Optionally, the grouping of each aforementioned sorted point cloud data based on the last target bit number of the target encoding to obtain the to-be-encoded group includes:

[0024] Dividing the sorted point cloud data with the same last target bit number of the target encoding into a to-be-encoded group, and dividing all the aforementioned sorted point cloud data to obtain all the to-be-encoded groups.

[0025] Optionally, the obtaining of the target bit number includes:

[0026] obtaining the number of the sorted point cloud data and the maximum edge length corresponding to all the sorted point cloud data, wherein the maximum edge length is the length of the longest side of the minimum rectangular bounding box corresponding to all the sorted point cloud data;

[0027] obtaining the target average point number of the to-be-encoded group;

[0028] calculating the target bit number, wherein, L is the target bit number, maxSize is the maximum edge length, N is the number of the sorted point cloud data, K mean is the target average point number.

[0029] Optionally, the point cloud attribute encoding based on all the to-be-encoded groups comprises:

[0030] obtaining the maximum point number;

[0031] For each to-be-encoded group, when the number of the sorted point cloud data in the to-be-encoded group is greater than the maximum point number, the to-be-encoded group is regarded as a to-be-subdivided encoding group, otherwise, the to-be-encoded group is regarded as a qualified encoding group;

[0032] For each to-be-subdivided encoding group, the sorted point cloud data in the to-be-subdivided encoding group is re-divided to obtain a plurality of target subdivided encoding groups, wherein the number of the sorted point cloud data in each target subdivided encoding group is not greater than the maximum point number;

[0033] each qualified encoding group and each target subdivided encoding group is regarded as a target to-be-encoded group;

[0034] performing point cloud attribute encoding based on all the target to-be-encoded groups.

[0035] Optionally, in the plurality of target subdivided encoding groups corresponding to each to-be-subdivided encoding group, the number of the sorted point cloud data in one target subdivided encoding group is not greater than the maximum point number, and the number of the sorted point cloud data in all other target subdivided encoding groups is equal to the maximum point number.

[0036] Optionally, the point cloud attribute encoding based on all the target to-be-encoded groups comprises:

[0037] performing discrete cosine transform on each target to-be-encoded group based on the number of the sorted point cloud data in the target to-be-encoded group to obtain transform coefficients of the target to-be-encoded group;

[0038] quantizing and entropy encoding the transform coefficients of each target to-be-encoded group.

[0039] The second aspect of the present application provides a point cloud attribute encoding device, wherein the device comprises:

[0040] The point cloud to be encoded is sorted to obtain sorted point cloud data.

[0041] The sorted point cloud data is grouped based on the correlation between the sorted point cloud data to obtain a group to be encoded.

[0042] The point cloud attribute is encoded based on all the groups to be encoded.

[0043] The third aspect of the present application provides a point cloud attribute decoding method, wherein the method comprises:

[0044] The point cloud to be decoded is sorted to obtain sorted point cloud data to be decoded.

[0045] The sorted point cloud data to be decoded is grouped based on the correlation between the sorted point cloud data to be decoded to obtain a group to be decoded.

[0046] The point cloud attribute is decoded based on all the groups to be decoded.

[0047] Optionally, the correlation between the sorted point cloud data to be decoded comprises the spatial position relationship of the sorted point cloud data to be decoded.

[0048] Optionally, the decoding of the point cloud attribute based on all the groups to be decoded comprises:

[0049] The groups to be decoded are respectively entropy decoded and inverse quantized to obtain transform coefficients of the groups to be decoded.

[0050] The transform coefficients of the groups to be decoded are respectively inverse discrete cosine transformed based on the number of the sorted point cloud data to be decoded in the groups to be decoded to obtain attribute reconstruction values corresponding to the groups to be decoded.

[0051] The fourth aspect of the present application provides a point cloud attribute decoding device, wherein the device comprises:

[0052] The point cloud to be decoded is sorted to obtain sorted point cloud data to be decoded.

[0053] The sorted point cloud data to be decoded is grouped based on the correlation between the sorted point cloud data to be decoded to obtain a group to be decoded.

[0054] A point cloud decoding module is configured to decode point cloud attributes based on all the aforementioned to-be-decoded groups.

[0055] The fifth aspect of the present application provides an intelligent terminal, which comprises a memory, a processor, and a point cloud attribute encoding program stored in the memory and executable on the processor, and the point cloud attribute encoding program, when executed by the processor, implements the steps of any one of the aforementioned point cloud attribute encoding methods.

[0056] The sixth aspect of the present application provides a computer readable storage medium, which stores a point cloud attribute encoding program, and the point cloud attribute encoding program, when executed by a processor, implements the steps of any one of the aforementioned point cloud attribute encoding methods.

[0057] As can be seen from the above, the point cloud attribute encoding method in the present application comprises: sorting all to-be-encoded point cloud data to obtain sorted point cloud data, wherein the to-be-encoded point cloud data is point cloud data whose attributes are to be encoded; grouping the sorted point cloud data based on the correlation between each of the sorted point cloud data to obtain to-be-encoded groups; and encoding the point cloud attributes based on all the to-be-encoded groups. Compared with the prior art, the to-be-encoded data is sorted and then grouped based on the correlation to obtain to-be-encoded groups, and then the point cloud attributes are encoded based on the to-be-encoded groups. This is advantageous in making the correlation between the point cloud data in the groups stronger, improving the efficiency of de-correlation when performing group transformation after grouping, and improving the encoding efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0058] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort.

[0059] Figure 1 is a flowchart of a point cloud attribute encoding method provided by an embodiment of the present application;

[0060] Figure 2 is a specific flowchart of step S100 in the embodiment of the present application; Figure 1

[0061] Figure 3 is a specific flowchart of step S200 in the embodiment of the present application; Figure 1

[0062] Figure 4 is another specific flowchart of step S200 in the embodiment of the present application; Figure 1 ​​​

[0063] Figure 5 is a specific flowchart of step S300 in the embodiment of the present application Figure 1

[0064] Figure 6 is a specific flowchart of step S305 in the embodiment of the present application Figure 5

[0065] Figure 7 is a structure diagram of a point cloud attribute encoding device provided by the embodiment of the present application

[0066] Figure 8 is a flowchart of a point cloud attribute decoding method provided by the embodiment of the present application

[0067] Figure 9 is a specific flowchart of step A300 in the embodiment of the present application Figure 8

[0068] Figure 10 is a structure diagram of a point cloud attribute decoding device provided by the embodiment of the present application

[0069] Figure 11 is an internal structure principle block diagram of a smart terminal provided by the embodiment of the present application. DETAILED DESCRIPTION

[0070] In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular sequences of steps, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, circuits, and

[0071] It should be understood that the term "comprises" when used in this specification and the appended claims indicates the presence of the described features, integers, steps, operations, elements, and / or components but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0072] It should also be understood that the terminology used in the description of the present application herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in this specification and the appended claims, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0073] ​​​It should also be further understood that the term "and / or" as used in the specification and in the claims, means any one and / or any combination of associated listed items, and includes all possible combinations.

[0074] As used in the specification and in the claims, the term "if' can be interpreted as meaning "when" or "once" or "in response to a determination" or "in response to a detection" depending on the context. Similarly, the phrase "if determined" or "if detected [the described condition or event]" can be interpreted to mean "once determined" or "in response to a determination" or "once detected [the described condition or event]" or "in response to a detection [the described condition or event]" depending on the context.

[0075] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings of the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by a person of ordinary skill in the art without creative effort fall within the scope of the present application.

[0076] In the following description, a large number of specific details are set forth in order to facilitate a thorough understanding of the present application, but the present application can also be implemented in other manners different from those described herein, and a person of ordinary skill in the art can make similar generalizations without departing from the spirit and scope of the present application, therefore the present application is not limited to the specific embodiments disclosed below.

[0077] With the rapid development of science and technology, especially the development of computer technology, three-dimensional reconstruction and other technologies have been widely applied to various fields such as architectural design, game development, cultural relic protection, etc. Among them, point cloud compression encoding and decoding technology is one of the key technologies of three-dimensional reconstruction. Point cloud is obtained by three-dimensional scanning equipment sampling the surface of an object, and each point cloud can include various attribute information such as color information, reflectivity information, etc. The purpose of point cloud compression encoding and decoding is to remove redundancy as much as possible on the basis of preserving the original attribute information of massive point cloud data, and to improve the storage and transmission efficiency of the system.

[0078] In the prior art, when performing point cloud attribute compression, the point cloud is usually first grouped, and then attribute compression is performed on each group in turn. The problem of the prior art is that in the grouping of the point cloud, K points are sequentially grouped according to a certain one-dimensional point cloud order according to a set fixed value K until all points are grouped. The problem of the prior art is that when converting the point cloud data corresponding to the three-dimensional geometric points into a one-dimensional point cloud order, part of the three-dimensional coordinate information is lost by the simple order information, and only relying on one-dimensional arrangement order grouping cannot effectively reflect the correlation between the point cloud data, cannot effectively utilize the spatial position information between the geometric point data, and cannot guarantee that the geometric points in the group are closest to each other. Thus, it is impossible to guarantee that the attribute values of the geometric points in the group have strong correlation, which affects the efficiency of decorrelation when performing group transformation after grouping, and affects the coding efficiency and attribute compression effect.

[0079] To solve the problem of the prior art, the present application provides a point cloud attribute coding method. In an embodiment of the present application, all to-be-coded point cloud data is sorted to obtain sorted point cloud data, wherein the to-be-coded point cloud data is attribute to-be-coded point cloud data. Each of the sorted point cloud data is grouped based on the correlation between the sorted point cloud data to obtain a to-be-coded group. Point cloud attribute coding is performed based on all the to-be-coded groups. Compared with the prior art, in the present application, the to-be-coded data is sorted and then grouped based on the correlation to obtain a to-be-coded group, and then point cloud attribute coding is performed based on the to-be-coded group. This is advantageous in making the correlation between the point cloud data in the group stronger, improving the efficiency of decorrelation when performing group transformation after grouping, and improving the coding efficiency. In addition, the present application also provides a point cloud attribute coding device, a point cloud attribute decoding method and a point cloud attribute decoding device corresponding to the point cloud attribute coding method.

[0080] As shown in Figure 1 , the present application provides a point cloud attribute coding method. Specifically, the method comprises the following steps:

[0081] Step S100: All to-be-coded point cloud data is sorted to obtain sorted point cloud data, wherein the to-be-coded point cloud data is attribute to-be-coded point cloud data.

[0082] The point cloud data refers to a set of vectors in a three-dimensional coordinate system. In the present embodiment, the to-be-coded point cloud data can be point cloud data obtained by scanning, such as laser radar scanning point cloud, and can also be point cloud used by VR, etc. Each point cloud is recorded in the form of a point, and each point contains three-dimensional coordinates and attribute information (such as color information and reflectivity information). Point cloud coding mainly includes geometric coding and attribute coding. The present embodiment mainly implements point cloud attribute coding, such as coding the color attribute of the point cloud.

[0083] Step S200, grouping each of the above-mentioned ordered point cloud data based on the correlation between the ordered point cloud data, and obtaining a to-be-encoded group.

[0084] The correlation reflects the correlation between the ordered point cloud data. When grouping, the ordered point cloud data with strong correlation is grouped into a group. In an application scenario, a correlation evaluation rule and a correlation threshold value can be preset to evaluate the correlation between each ordered point cloud data, and obtain a corresponding correlation value. When the correlation value is greater than the correlation threshold value, they are grouped into the same group. In another application scenario, clustering grouping can also be performed based on the correlation between each ordered point cloud data, which is not limited here. Grouping based on the above-mentioned correlation can effectively utilize the correlation between the point cloud data, so that the geometric point attribute values in each to-be-encoded group have strong correlation.

[0085] Step S300, performing point cloud attribute encoding based on all the above-mentioned to-be-encoded groups.

[0086] As can be seen from the above, the point cloud attribute encoding method provided by the embodiment of the present application sorts all to-be-encoded point cloud data to obtain ordered point cloud data, wherein the to-be-encoded point cloud data is point cloud data whose attributes are to be encoded; each of the above-mentioned ordered point cloud data is grouped based on the correlation between the ordered point cloud data, and a to-be-encoded group is obtained; and point cloud attribute encoding is performed based on all the above-mentioned to-be-encoded groups. Compared with the prior art, in the present application, the to-be-encoded data is sorted and then grouped based on the correlation to obtain a to-be-encoded group, and then point cloud attribute encoding is performed based on the to-be-encoded group. This is beneficial to making the correlation between the point cloud data in the group stronger, improving the efficiency of de-correlation when intra-group transformation is performed, and improving the encoding efficiency.

[0087] Specifically, in the embodiment, the correlation between each of the above-mentioned ordered point cloud data includes the positional relationship of each of the above-mentioned ordered point cloud data in space.

[0088] Specifically, when the geometric points in the group are closer in space, the corresponding attribute values also have better correlation. Therefore, in the embodiment, grouping is performed based on the positional relationship of each of the above-mentioned ordered point cloud data in space, which can make the correlation of the attribute values of the corresponding geometric points of each ordered point cloud data in each to-be-encoded group stronger, improve the efficiency of de-correlation of intra-group transformation, and obtain better compression effect.

[0089] Specifically, in the embodiment, as shown in Figure 2 The step S100 includes:

[0090] Step S101, obtaining a target code corresponding to each of the above-mentioned to-be-encoded point cloud data, wherein the target code is a Morden code or a Hilbert code;

[0091] Step S102, sort each of the above-mentioned to-be-encoded point cloud data according to the above-mentioned target code in descending order, and obtain sorted point cloud data.

[0092] Specifically, the corresponding Morden code or Hilbert code of each of the above-mentioned to-be-encoded point cloud data is calculated according to the geometric coordinates, and then sorted in descending order according to the Morden code or Hilbert code, to obtain the sequence corresponding to the sorted point cloud data. The sorting process can determine the order between groups after grouping, that is, merging adjacent points according to the order in the sorted point cloud data.

[0093] In this embodiment, a grouping method is provided, as shown in Figure 3 The step S200 includes:

[0094] Step S201, obtain a target size.

[0095] Step S202, divide the target space based on the target size, to obtain a plurality of space blocks, wherein the target space is the space where all the sorted point cloud data is located, and the size of each space block is the same as the target size.

[0096] Step S203, for each of the space blocks, divide all the sorted point cloud data in the space block into a to-be-encoded group.

[0097] The target size is the size of each space block that needs to be obtained when the target space is divided, which can be pre-set, input by the user, or adjusted according to the distribution of the specific sorted point cloud data and the size of the target space, and is not limited here. In one application scenario, the target size is the edge length of each space block that needs to be obtained.

[0098] Specifically, the target space is divided into space blocks of the same size. For example, the octree division method can be used for division according to the target size: assuming that the maximum edge length of the target space is H, a cube of HxHxH is constructed, 8 cubes of H / 2 edge length are divided in the first time; each H / 2 cube is divided into 8 cubes of H / 4 edge length in the second time, and so on, until the size of the divided block reaches the target size, to obtain the space blocks of equal size. The geometric size of each space block is S (i.e. the target size), and the points in the space block are divided into a group.

[0099] In this embodiment, another grouping method is provided, as shown in Figure 4 The step S200 includes:

[0100] Step S201, obtain a target bit number.

[0101] Step S202, comparing the target encoding of each of the above-mentioned ordered point cloud data.

[0102] Step S203, grouping each of the above-mentioned ordered point cloud data based on the last target bit number of the above-mentioned target encoding, and obtaining the to-be-encoded group.

[0103] The target bit number is the bit number of the target encoding used for comparison, which can be pre-set, input by a user, or calculated and adjusted according to the distribution of the specific ordered point cloud data, and is not limited here. Specifically, in the present embodiment, the target bit number is denoted as L, and each of the above-mentioned ordered point cloud data is grouped based on the last L bits of the target encoding to obtain the to-be-encoded group.

[0104] Specifically, the step S203 includes dividing the ordered point cloud data with the same last target bit number of the target encoding into one to-be-encoded group, and dividing all the above-mentioned ordered point cloud data to obtain all the to-be-encoded groups. Specifically, grouping based on the last target bit number of the Morden code or the Hilbert code can make the ordered point cloud data in each to-be-encoded group have stronger correlation in spatial position.

[0105] In the present embodiment, the target bit number is calculated according to the actual situation of the ordered point cloud data. Specifically, the step S201 includes obtaining the number of the above-mentioned ordered point cloud data and the maximum edge length dimension corresponding to all the above-mentioned ordered point cloud data, wherein the maximum edge length dimension is the length of the longest side of the minimum rectangular bounding box corresponding to all the above-mentioned ordered point cloud data; obtaining the target average point number of the to-be-encoded group; and calculating the target bit number, wherein, L is the target bit number, maxSize is the maximum edge length dimension, N is the number of the ordered point cloud data, and K mean is the target average point number.

[0106] maxSize is the maximum edge length dimension after the geometric coordinates of each ordered point cloud data are quantized. Specifically, the original geometric coordinates can be a decimal number, which is converted into an integer and enlarged to a certain extent so that the coordinates of all points do not overlap due to conversion into an integer, and then the minimum rectangular bounding box of all point clouds is calculated, and the length of the longest side of the minimum rectangular bounding box is taken as the maximum edge length dimension maxSize. log2(maxSize) represents the logarithmic function with 2 as the base and maxSize as the real number, and similarly, represents the logarithmic function with 2 as the base and as the real number. The target average point number K meanis a preset target mean of the number of ordered point cloud data in all to-be-encoded groups after grouping, which can be set and adjusted according to actual needs, and is not specifically limited here. After grouping according to the calculated target bit number, the actual average number of points K ′ mean is similar to the target average number of points K mean . The calculation formula of the target bit number L is obtained based on the statistical characteristics of the point cloud, that is, N is approximately proportional to the square of maxSize.

[0107] In an application scenario, the two grouping methods can correspond to each other. Specifically, S can be set to 2 L / 3 , and when Morton code is used as the target encoding, according to the above calculation rule, when L is a multiple of 3, the two grouping methods are equivalent. If S is not in the exponential form of 2, the first grouping method (the method of dividing the space block) is better. The second grouping method (that is, the method of dividing the ordered point cloud data with the same L bits of the target encoding into a group) gives an implementation method in some special cases (such as S in the exponential form of 2) and has certain expansibility (for example, it can be better applied to the scene of using Hilbert code as the target encoding).

[0108] In this embodiment, based on the above grouping method, the point cloud three-dimensional coordinate information can be fully utilized to group the points (i.e., the geometric points corresponding to the ordered point cloud data), to ensure that the geometric points in the group are more similar in space, so that the attribute values of each point have more correlation, and finally improve the efficiency of the transform de-correlation in the group, to obtain better compression effect. Specifically, the more concentrated the energy is distributed, the more the correlation is removed. When the correlation of the point cloud in the group is relatively high, the energy is more likely to be concentrated on the DC coefficient and the first few AC coefficients after the transformation, more numerical small last few AC coefficients or more zeros can be obtained, which can improve the coding efficiency and coding effect. Further, based on the grouping method provided in the embodiment of the application, the three-dimensional coordinate information can also be effectively utilized to realize dynamic adaptive grouping, dynamically adjust the grouping parameters (such as adjusting the target bit number L) for different types of point clouds (such as sparse laser radar scanning point cloud or dense VR use point cloud), and improve the grouping efficiency and coding effect. Specifically, assuming that the density of a point cloud is uniform, the target average number of points K meanIn the same case, the value of L calculated is larger for a sparse point cloud, and the value of L calculated is smaller for a dense point cloud. Based on the grouping method, the number of to-be-encoded groups obtained is not excessive, and the size of each to-be-encoded group is kept small, thereby improving the performance of subsequent transformation. If the size of the to-be-encoded group is too large, the correlation of points in the group will decrease, and the transformation effect will be poor. If the number of to-be-encoded groups is too large, the processing time required for transformation of each to-be-encoded group will be longer, thereby affecting the efficiency of point cloud attribute coding.

[0109] Specifically, in the embodiment, the to-be-encoded groups after grouping are arranged in the order in step S100, corresponding to the coding or decoding order. For example, the order of the corresponding sorting point cloud data corresponding to the sorting point cloud data in each to-be-encoded group is taken as the order of the to-be-encoded group, so that each to-be-encoded group is sorted according to the order of the sorting point cloud data corresponding to the sorting point cloud data with the highest order in the to-be-encoded group. The order of each to-be-encoded group corresponds to the order in step S100, and is taken as the order between groups.

[0110] Optionally, the to-be-encoded groups obtained can be directly subjected to point cloud attribute coding, or the to-be-encoded groups containing more sorting point cloud data can be further subdivided and then subjected to point cloud attribute coding. Specifically, in the embodiment, the number of sorting point cloud data in each to-be-encoded group obtained by the grouping method described above can be uncertain, and a transformation matrix of a corresponding size needs to be provided when performing discrete cosine transform in the coding process. If the number of sorting point cloud data in each to-be-encoded group is uncertain, the size of the transformation matrix provided in advance can not meet the requirements of the to-be-encoded group, and the size of the corresponding transformation matrix needs to be adjusted in real time, thereby reducing the coding efficiency. Therefore, the to-be-encoded groups containing more sorting point cloud data can be further subdivided to limit the maximum number of points in each group, so that the maximum value of the size of the transformation matrix required to be provided in advance can be obtained, and all required transformation matrices can be provided in advance, thereby improving the processing speed.

[0111] Specifically, in the embodiment, as shown in Figure 5 the step S300 includes:

[0112] Step S301, obtaining a maximum point number.

[0113] Step S302, for each to-be-encoded group, when the number of sorting point cloud data in the to-be-encoded group is greater than the maximum point number, the to-be-encoded group is taken as a to-be-subdivided coding group, otherwise the to-be-encoded group is taken as a qualified coding group.

[0114] Step S303, for each to-be-subdivided coding group, re-divide the ordered point cloud data in the to-be-subdivided coding group to obtain a plurality of target subdivided coding groups, wherein the number of ordered point cloud data in the target subdivided coding group is not greater than the maximum point number.

[0115] Step S304, take each of the qualified coding groups and each of the target subdivided coding groups as a target to-be-coded group.

[0116] Step S305, perform point cloud attribute coding based on all the target to-be-coded groups.

[0117] The maximum point number is the maximum number of points in each to-be-coded group, that is, the maximum number of ordered point cloud data in each to-be-coded group set by the present embodiment, and K max represents the maximum point number, which can be set in advance or adjusted according to actual needs, and is not limited here. For each to-be-coded group obtained, it is respectively judged whether the number of ordered point cloud data in the to-be-coded group is greater than the maximum point number K max . When the number of ordered point cloud data in a to-be-coded group is greater than the maximum point number K max , the to-be-coded group needs to be further subdivided, and the to-be-coded group is taken as a to-be-subdivided coding group and subdivided, otherwise the to-be-coded group is taken as a qualified coding group that does not need to be further subdivided.

[0118] For the to-be-subdivided coding group, further subdivision is performed, and one to-be-subdivided coding group is divided into a plurality of target subdivided coding groups, wherein the number of ordered point cloud data in each target subdivided coding group is not greater than the maximum point number K max . All qualified coding groups and all target subdivided coding groups are respectively taken as target to-be-coded groups, and point cloud attribute coding is performed on the target to-be-coded groups.

[0119] Specifically, in each target to-be-coded group obtained after grouping and subdivision, the i-th target to-be-coded group has K i points, K i = 1, …, K max , and K max is the maximum point number, that is, the maximum number of points in each target to-be-coded group. The present application can dynamically control the value of K i , that is, the number of points included in different groups during grouping can be different, and the value of K i is limited, which is convenient for transformation processing.

[0120] In the present embodiment, K may be set to make the number of points in each to-be-coded group obtained by grouping meet the requirements and reduce the need for further subdivision.

[0121] Specifically, in the embodiment, in each of the plurality of target sub-coding groups corresponding to the to-be-sub-coding group, the number of ordered point cloud data in one target sub-coding group is not greater than the maximum number of points, and the number of ordered point cloud data in all other target sub-coding groups is equal to the maximum number of points.

[0122] The method for obtaining the target sub-coding group from the specific sub-group can be set and adjusted according to actual needs, which is not specifically limited here. In one application scenario, for a to-be-sub-coding group, first, the K max ordered point cloud data are grouped in equal number according to the order of the ordered point cloud data (and the order of each ordered point cloud data), and the last remaining ordered point cloud data is taken as the last group. For example, a to-be-sub-coding group includes 10 ordered point cloud data, and the set K max is 8, then two target sub-coding groups containing 8 and 2 ordered point cloud data are obtained, respectively.

[0123] Specifically, in the embodiment, as shown in Figure 6 , the step S305 includes:

[0124] In step S3051, the discrete cosine forward transform is performed on each target to-be-coded group based on the number of ordered point cloud data in the target to-be-coded group, respectively, to obtain the transform coefficients of each target to-be-coded group.

[0125] In step S3052, the transform coefficients of each target to-be-coded group are quantized and entropy coded, respectively.

[0126] Specifically, in the embodiment, the maximum value of the number K i of ordered point cloud data in each target to-be-coded group is K max , and the transform matrix corresponding to K i =1,…,K max can be provided in advance, thereby improving the transform efficiency.

[0127] Specifically, the target to-be-coded groups are sequentially encoded according to the order of step S100, and the order corresponding to each target to-be-coded group can be determined according to the order of the ordered point cloud data corresponding to the most leading ordered point cloud data in the target to-be-coded group. When encoding in groups, the point cloud attribute value (or the point cloud attribute residual value obtained based on the attribute prediction value) can be K iA meta discrete cosine transform (DCT) forward transform is performed to obtain transform coefficients. In one application scenario, a prediction value of the transform coefficients can be calculated to obtain a transform coefficient residual. The transform coefficients or the transform coefficient residual obtained during encoding are quantized to obtain quantized transform coefficients or quantized transform coefficient residuals, and the quantized transform coefficients or quantized transform coefficient residuals are entropy encoded and written into a bitstream. Different K i The direct current (DC) coefficients and alternating current (AC) coefficients obtained by the meta DCT transform can be quantized by using different quantization steps. The specific quantization method can be uniform quantization, uniform quantization with a dead zone, non-uniform quantization, or the like. Specifically, the method for encoding each of the target to-be-encoded groups can also refer to other encoding methods in the prior art, and is not specifically limited herein.

[0128] Further, based on the AVS-PCC PCRM software v3.0 version, the experimental results of the method and the anchor comparison are tested in the embodiment of the present application, and the results are shown in Tables 1 and 2.

[0129] Table 1

[0130]

[0131] Table 2

[0132]

[0133] Table 1 is a rate-distortion data comparison table of luminance, chrominance, and reflectance under the condition of limited lossy geometry and lossy attribute, and Table 2 is a rate-distortion data comparison table of luminance, chrominance, and reflectance under the condition of lossless geometry and lossy attribute. According to Tables 1 and 2, compared with the benchmark results of the test platform PCRM, for the luminance attribute, the end-to-end attribute rate distortion of the present application is reduced by 20.2% and 27.3% respectively under the condition of limited lossy geometry and lossy attribute and the condition of lossless geometry and lossy attribute; for the chrominance Cb attribute, the end-to-end attribute rate distortion of the present application is reduced by 47.4% and 39.7% respectively; for the chrominance Cr attribute, the end-to-end attribute rate distortion of the present application is reduced by 48.3% and 41.3% respectively; and the point cloud attribute encoding method provided in the embodiment of the present application achieves better encoding effect.

[0134] As shown in Figure 7 corresponding to the point cloud attribute encoding method, the embodiment of the present application further provides a point cloud attribute encoding device, and the point cloud attribute encoding device comprises:

[0135] A to-be-encoded point cloud sorting module 410 is configured to sort all to-be-encoded point cloud data to obtain sorted point cloud data, wherein the to-be-encoded point cloud data is attribute to-be-encoded point cloud data.

[0136] The point cloud data refers to a set of vectors in a three-dimensional coordinate system. In the embodiment, the point cloud data to be encoded can be a scanned point cloud, such as a laser radar scanned point cloud, or a point cloud used in VR, and each point cloud is recorded in the form of a point, and each point contains three-dimensional coordinates and attribute information (such as color information and reflectivity information). Point cloud encoding mainly includes geometry encoding and attribute encoding. In the embodiment, point cloud attribute encoding is mainly implemented, for example, the color attribute of the point cloud is encoded.

[0137] The point cloud grouping module 420 is configured to group the sorted point cloud data based on the correlation between the sorted point cloud data, and obtain a group to be encoded.

[0138] The correlation reflects the correlation between the sorted point cloud data. When grouping, the sorted point cloud data with strong correlation is grouped into a group. In an application scenario, a correlation evaluation rule and a correlation threshold value can be preset to evaluate the correlation between the sorted point cloud data, and obtain a corresponding correlation value. When the correlation value is greater than the correlation threshold value, the sorted point cloud data is grouped into the same group. In another application scenario, the sorted point cloud data can be clustered and grouped based on the correlation between the sorted point cloud data, which is not limited here. Grouping based on the correlation can effectively utilize the correlation between the point cloud data, so that the attribute values of the geometric points in each group to be encoded have strong correlation.

[0139] The point cloud encoding module 430 is configured to perform point cloud attribute encoding based on all the groups to be encoded.

[0140] As can be seen from the above, the point cloud attribute encoding device provided in the embodiment groups the sorted point cloud data based on the correlation between the sorted point cloud data, and obtains a group to be encoded. The point cloud attribute encoding device performs point cloud attribute encoding based on all the groups to be encoded. Compared with the prior art, in the present application, the to-be-encoded data is sorted, and then grouped based on the correlation to obtain a group to be encoded, and then the point cloud attribute encoding is performed based on the group to be encoded. This is advantageous in making the correlation between the point cloud data in the group stronger, improving the efficiency of de-correlation when performing group transformation after grouping, and improving the encoding efficiency.

[0141] Specifically, in the embodiment, the correlation between the sorted point cloud data includes the positional relationship of the sorted point cloud data in space.

[0142] Specifically, the specific method flow of the above processing of the to-be-encoded point cloud sorting module 410, the to-be-encoded point cloud grouping module 420, and the point cloud encoding module 430 in this embodiment can refer to the specific description in the corresponding point cloud attribute encoding method, which will not be repeated here.

[0143] As shown in Figure 8 the point cloud attribute encoding method, the embodiment of the present application also provides a point cloud attribute decoding method, the method comprising:

[0144] Step A100, sort all to-be-decoded point cloud data to obtain to-be-decoded sorted point cloud data, wherein the to-be-decoded point cloud data is point cloud data to be decoded in attribute.

[0145] Point cloud decoding mainly includes geometry decoding and attribute decoding, and in the embodiment of the present application, point cloud attribute decoding is mainly implemented, for example, decoding the color attribute of the point cloud.

[0146] Step A200, group each of the to-be-decoded sorted point cloud data based on the correlation between the to-be-decoded sorted point cloud data to obtain a to-be-decoded group.

[0147] The correlation reflects the correlation between the sorted point cloud data. When grouping, to-be-decoded sorted point cloud data with strong correlation is grouped into a group. In one application scenario, a correlation evaluation rule and a correlation threshold value can be preset to evaluate the correlation between each to-be-decoded sorted point cloud data to obtain a corresponding correlation value, and when the correlation value is greater than the correlation threshold value, they are grouped into the same group. In another application scenario, clustering grouping can also be performed based on the correlation between each to-be-decoded sorted point cloud data, which is not limited here. Grouping based on the correlation can effectively utilize the correlation between the point cloud data, so that the geometry point attribute values in each to-be-decoded group have strong correlation.

[0148] Step A300, perform point cloud attribute decoding based on all the to-be-decoded groups.

[0149] As can be seen from the above, corresponding to the point cloud attribute encoding method, the point cloud attribute decoding method provided by the embodiment of the present application sorts all to-be-decoded point cloud data to obtain to-be-decoded sorted point cloud data, wherein the to-be-decoded point cloud data is point cloud data to be decoded in attribute; groups each of the to-be-decoded sorted point cloud data based on the correlation between the to-be-decoded sorted point cloud data to obtain a to-be-decoded group; and performs point cloud attribute decoding based on all the to-be-decoded groups. Compared with the prior art, it is beneficial to make the correlation between the point cloud data in the group stronger, and to improve the decoding efficiency.

[0150] Specifically, in the embodiment, the correlation between the to-be-decoded ordered point cloud data includes a positional relationship of the to-be-decoded ordered point cloud data in space.

[0151] Specifically, in the embodiment, the step A100 includes: obtaining target encoding corresponding to each of the to-be-decoded point cloud data, where the target encoding is a Morton code or a Hilbert code; and ordering each of the to-be-decoded point cloud data in a descending order of the target encoding to obtain to-be-decoded ordered point cloud data.

[0152] Corresponding to the point cloud attribute encoding method, the point cloud attribute decoding method provided by the embodiment of the application can also use different grouping methods. In one application scenario, the step A200 includes: obtaining a target size; dividing a target space into a plurality of spatial blocks based on the target size, where the target space is a space in which all the to-be-decoded ordered point cloud data are located, and the size of each of the spatial blocks is the same as the target size; and for each of the spatial blocks, dividing all the to-be-decoded ordered point cloud data in the spatial block into a to-be-decoded group. In another application scenario, the step A200 includes: obtaining a target bit number; comparing target encoding of each of the ordered point cloud data; and grouping each of the to-be-decoded ordered point cloud data based on a last target bit of the target encoding to obtain a to-be-decoded group. The specific grouping process can be referred to the description in the point cloud attribute encoding method, which is not described herein again.

[0153] Optionally, the to-be-decoded group obtained can be directly subjected to point cloud attribute decoding, or a to-be-decoded group containing more to-be-decoded ordered point cloud data can be further subdivided and then subjected to point cloud attribute decoding.

[0154] When the to-be-decoded group obtained is directly subjected to point cloud attribute decoding, as shown in FIG. 3, the step A300 includes: Figure 9

[0155] The step A301 includes: respectively performing entropy decoding and inverse quantization on each of the to-be-decoded groups to obtain transform coefficients of each of the to-be-decoded groups.

[0156] The step A302 includes: respectively performing inverse discrete cosine transform on the transform coefficients of each of the to-be-decoded groups based on the number of to-be-decoded ordered point cloud data in each of the to-be-decoded groups to obtain attribute reconstruction values corresponding to each of the to-be-decoded groups.

[0157] ​Specifically, in this embodiment, the point cloud data to be decoded, which contains a large amount of data to be decoded and sorted, is further subdivided before point cloud attribute decoding. Step A300 includes: obtaining the maximum number of points; for each of the above-mentioned groups to be decoded, if the number of data to be decoded and sorted within the group is greater than the maximum number of points, the group to be decoded is designated as a subdivided decoding group; otherwise, it is designated as a qualified decoding group; for each subdivided decoding group, the data to be decoded and sorted within the subdivided decoding group is re-divided to obtain multiple target subdivided decoding groups, wherein the number of data to be decoded and sorted within each target subdivided decoding group is not greater than the maximum number of points; each qualified decoding group and each target subdivided decoding group are designated as target groups to be decoded; and point cloud attribute decoding is performed based on all the target groups to be decoded.

[0158] The maximum number of points mentioned above refers to the maximum number of points in each group to be decoded, i.e., the maximum number of sorted point cloud data points that can be included in each group to be decoded. The specific process for subdividing the groups and obtaining the target group to be decoded can be found in the description of the point cloud attribute encoding method above, and will not be repeated here.

[0159] In this embodiment, when decoding on a group-by-group basis, entropy decoding can be performed on the bitstream (i.e., all groups to be decoded or the target group to be decoded) to obtain quantization transform coefficients or quantization transform coefficient residuals, and then inverse quantization can be performed to obtain transform coefficients or transform coefficient residuals. The obtained transform coefficient residuals are summed using the same transform coefficient prediction method as during encoding to obtain the transform coefficients. Then, K′ is applied to the transform coefficients. i The number of sorted point cloud data points to be decoded in each group to be decoded or the target group to be decoded is used to perform an inverse DCT transformation to obtain the point cloud reconstruction attribute values ​​or point cloud reconstruction attribute residual values. For the obtained point cloud reconstruction attribute residual values, based on the same attribute value prediction method as during encoding, they are finally summed to obtain the reconstructed attribute values. Specifically, the decoding method for each of the above-mentioned groups to be decoded or the target group to be decoded can also refer to other decoding methods in the prior art, and is not specifically limited here.

[0160] like Figure 10 As shown, corresponding to the above-described point cloud attribute decoding method, this embodiment of the invention also provides a point cloud attribute decoding device, which includes:

[0161] The point cloud sorting module 510 is used to sort all point cloud data to be decoded and obtain sorted point cloud data to be decoded, wherein the point cloud data to be decoded is point cloud data with attributes to be decoded.

[0162] The point cloud data refers to a set of vectors in a three-dimensional coordinate system. In the embodiment, the to-be-decoded point cloud data can be a scanned point cloud, such as a laser radar scanned point cloud, or a point cloud used in VR, and each point cloud is recorded in the form of a point, and each point contains three-dimensional coordinates and attribute information (such as color information and reflectivity information). The point cloud decoding mainly includes geometry decoding and attribute decoding, and the embodiment mainly implements point cloud attribute decoding, such as decoding the color attribute of the point cloud.

[0163] The to-be-decoded point cloud grouping module 520 is configured to group the to-be-decoded ordered point cloud data based on the correlation between the to-be-decoded ordered point cloud data, to obtain a to-be-decoded group.

[0164] The correlation reflects the correlation between the to-be-decoded ordered point cloud data. When grouping, the to-be-decoded ordered point cloud data with strong correlation is grouped into a group.

[0165] The point cloud decoding module 530 is configured to perform point cloud attribute decoding based on all the to-be-decoded groups.

[0166] As can be seen from the above, the point cloud attribute decoding apparatus provided in the embodiment sorts all the to-be-decoded point cloud data by using the to-be-decoded point cloud sorting module 510, to obtain to-be-decoded ordered point cloud data, wherein the to-be-decoded point cloud data is attribute to-be-decoded point cloud data; the to-be-decoded point cloud grouping module 520 groups the to-be-decoded ordered point cloud data based on the correlation between the to-be-decoded ordered point cloud data, to obtain a to-be-decoded group; and the point cloud decoding module 530 performs point cloud attribute decoding based on all the to-be-decoded groups. Compared with the prior art, in the present application, the to-be-decoded data is sorted and then grouped based on the correlation to obtain a to-be-decoded group, and then the point cloud attribute decoding is performed based on the to-be-decoded group. This is advantageous in making the correlation between the point cloud data in the group stronger, improving the efficiency of de-correlation when performing group transformation after grouping, and improving the decoding efficiency.

[0167] Specifically, in the embodiment, the specific method flow of the to-be-decoded point cloud sorting module 510, the to-be-decoded point cloud grouping module 520, and the point cloud decoding module 530 in performing the above processing can refer to the specific description in the corresponding point cloud attribute encoding method and / or point cloud attribute decoding method, which will not be described here.

[0168] Optionally, in the embodiment, the point cloud attribute decoding apparatus can also perform corresponding decoding with reference to the specific steps in the point cloud attribute encoding method, for example, inverse quantization based on the corresponding quantization step in the point cloud attribute encoding method, and the like, which will not be described here. In this way, the data encoded based on the point cloud attribute encoding method or apparatus can be decoded.

[0169] Based on the above-mentioned embodiments, the application further provides an intelligent terminal, a principle block diagram of which can be shown in the figure Figure 11 The above-mentioned intelligent terminal includes a processor, a memory, a network interface and a display screen connected through a system bus. The processor of the intelligent terminal is used to provide computing and control capabilities. The memory of the intelligent terminal includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a point cloud attribute encoding program. The internal memory provides an environment for the operating system and the point cloud attribute encoding program in the non-volatile storage medium to run. The network interface of the intelligent terminal is used to communicate with external terminals through network connection. The point cloud attribute encoding program, when executed by the processor, implements the steps of any one of the point cloud attribute encoding methods described above. The display screen of the intelligent terminal can be a liquid crystal display screen or an electronic ink display screen.

[0170] Those skilled in the art can understand that Figure 11 The principle block diagram shown in the figure is only a block diagram of part of the structure related to the application scheme, and does not constitute a limitation on the intelligent terminal to which the application scheme is applied. The specific intelligent terminal can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.

[0171] In one embodiment, an intelligent terminal is provided, and the above-mentioned intelligent terminal includes a memory, a processor and a point cloud attribute encoding program stored on the above-mentioned memory and executable on the above-mentioned processor. The above-mentioned point cloud attribute encoding program, when executed by the above-mentioned processor, performs the following operation instructions:

[0172] sorting all to-be-encoded point cloud data to obtain sorted point cloud data, wherein the to-be-encoded point cloud data is attribute to-be-encoded point cloud data;

[0173] grouping each of the sorted point cloud data based on the correlation between the sorted point cloud data to obtain to-be-encoded groups;

[0174] performing point cloud attribute encoding based on all the to-be-encoded groups.

[0175] The application embodiment further provides a computer readable storage medium, and the computer readable storage medium stores a point cloud attribute encoding program. The point cloud attribute encoding program, when executed by a processor, implements the steps of any one of the point cloud attribute encoding methods provided by the application embodiment.

[0176] Optionally, the point cloud attribute decoding program can also be stored in the above-mentioned intelligent terminal and computer readable storage medium to implement the steps of the above-mentioned point cloud attribute decoding method.

[0177] It should be understood that the sequence of the steps in the above-described embodiments does not mean the order of execution, and the execution order of each process should be determined according to its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0178] It can be clearly understood by those skilled in the art that, for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is exemplified, and in actual application, the above-mentioned functions can be completed by different functional units and modules according to needs, that is, the internal structure of the above-mentioned device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be realized in the form of hardware or software function unit. In addition, the specific name of each functional unit and module is only for the convenience of mutual distinction, and does not limit the protection scope of the present application. The specific working process of the unit and module in the above-mentioned system can be referred to the corresponding process in the foregoing method embodiments, which will not be described here.

[0179] In the above-described embodiments, the description of each embodiment has its own emphasis, and the parts not described or recorded in detail in a certain embodiment can be referred to the relevant description of other embodiments.

[0180] Those skilled in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0181] In the embodiments provided by the present application, it should be understood that the disclosed device / terminal equipment and method can be implemented by other ways. For example, the above-described device / terminal equipment embodiments are only schematic, for example, the division of the above-mentioned modules or units is only a logical function division, and actual implementation can be in another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed.

[0182] The above integrated modules / units, if realized in the form of software function units and sold or used as independent products, can be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the above-mentioned embodiment methods can also be completed by a computer program instructing related hardware, and the above-mentioned computer program can be stored in a computer readable storage medium. When the computer program is executed by a processor, the steps of the above-mentioned various method embodiments can be realized. The above-mentioned computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms, etc. The above-mentioned computer readable medium can include any entity or device capable of carrying the above-mentioned computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the above-mentioned computer readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.

[0183] The above-mentioned embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand; it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not deviate from the spirit and scope of the corresponding technical solutions, and should be included in the protection scope of the present application.

Claims

1. A point cloud attribute encoding method, characterized in that, The method includes: Sort all point cloud data to be encoded to obtain sorted point cloud data, wherein the point cloud data to be encoded is point cloud data with attributes to be encoded; Based on the correlation between the sorted point cloud data, the sorted point cloud data is grouped to obtain the group to be encoded. Perform point cloud attribute encoding based on all the aforementioned groups to be encoded; The step of sorting all the point cloud data to be encoded and obtaining sorted point cloud data includes: obtaining the target code corresponding to each of the point cloud data to be encoded, wherein the target code is a Morton code or a Hilbert code; and sorting the point cloud data to be encoded in ascending order of the target codes to obtain sorted point cloud data. The step of grouping the sorted point cloud data based on the correlation between the sorted point cloud data to obtain the group to be encoded includes: obtaining the target number of bits; comparing the target codes of the sorted point cloud data; and grouping the sorted point cloud data based on the last target number of bits of the target codes to obtain the group to be encoded. Specifically, the target bit depth is dynamically adjusted based on the type of point cloud formed by all the point cloud data to be encoded, where the type of point cloud includes sparse point clouds and dense point clouds.

2. The point cloud attribute encoding method according to claim 1, characterized in that, The correlation between the sorted point cloud data includes the spatial positional relationship between the sorted point cloud data.

3. The point cloud attribute encoding method according to claim 1, characterized in that, The step of grouping the sorted point cloud data based on the target bit position of the target encoding to obtain the group to be encoded includes: The sorted point cloud data with the same number of bits in the target encoding are divided into a group to be encoded. All sorted point cloud data are divided to obtain all groups to be encoded.

4. The point cloud attribute encoding method according to claim 1, characterized in that, The point cloud attribute encoding based on all the groups to be encoded includes: Obtain the maximum number of points, which is the maximum number of sorted point cloud data that can be included in each group to be encoded. For each group to be encoded, if the number of sorted point cloud data in the group to be encoded is greater than the maximum number of points, the group to be encoded is designated as a group to be further subdivided; otherwise, the group to be encoded is designated as a qualified group. For each coding group to be subdivided, the sorted point cloud data within the coding group to be subdivided is re-divided to obtain multiple target subdivided coding groups, wherein the number of sorted point cloud data within the target subdivided coding group is not greater than the maximum number of points. Each qualified coding group and each target subdivision coding group are taken as the target group to be coded; Point cloud attribute encoding is performed based on all the aforementioned target groups to be encoded.

5. The point cloud attribute encoding method according to claim 4, characterized in that, In each of the multiple target subdivision coding groups corresponding to the subdivision coding group, the number of sorted point cloud data in one target subdivision coding group is not greater than the maximum number of points, and the number of sorted point cloud data in all other target subdivision coding groups is equal to the maximum number of points.

6. The point cloud attribute encoding method according to claim 4, characterized in that, The point cloud attribute encoding based on all the target groups to be encoded includes: The target group to be encoded is subjected to a discrete cosine positive transform based on the number of sorted point cloud data in each target group to be encoded, and the transform coefficients of each target group to be encoded are obtained. The transform coefficients of each target group to be encoded are quantized and entropy encoded respectively.

7. A point cloud attribute encoding device, characterized in that, The device includes: The point cloud sorting module is used to sort all point cloud data to be encoded and obtain sorted point cloud data, wherein the point cloud data to be encoded is point cloud data with attributes to be encoded. The point cloud grouping module is used to group the sorted point cloud data based on the correlation between the sorted point cloud data to obtain the group to be encoded. The point cloud encoding module is used to encode point cloud attributes based on all the groups to be encoded. The point cloud sorting module is specifically used to: obtain the target code corresponding to each point cloud data to be encoded, wherein the target code is a Morton code or a Hilbert code; sort the point cloud data to be encoded in ascending order of the target codes to obtain sorted point cloud data; The point cloud grouping module to be encoded is specifically used for: obtaining the target number of bits; comparing the target codes of each sorted point cloud data; grouping each sorted point cloud data based on the last target number of bits of the target code to obtain the group to be encoded; Specifically, the target bit depth is dynamically adjusted based on the type of point cloud formed by all the point cloud data to be encoded, where the type of point cloud includes sparse point clouds and dense point clouds.

8. A point cloud attribute decoding method, characterized in that, The method includes: Sort all point cloud data to be decoded to obtain sorted point cloud data to be decoded, wherein the point cloud data to be decoded is point cloud data with attributes to be decoded; Based on the correlation between the sorted point cloud data to be decoded, the sorted point cloud data to be decoded is grouped to obtain the group to be decoded. Perform point cloud attribute decoding based on all the aforementioned groups to be decoded; The step of sorting all the point cloud data to be decoded to obtain sorted point cloud data to be decoded includes: obtaining the target code corresponding to each of the point cloud data to be decoded, wherein the target code is a Morton code or a Hilbert code; and sorting the point cloud data to be decoded in ascending order of the target codes to obtain sorted point cloud data to be decoded. The step of grouping the sorted point cloud data to be decoded based on the correlation between the sorted point cloud data to be decoded to obtain a group to be decoded includes: obtaining a target number of bits; comparing the target encoding of each sorted point cloud data; and grouping the sorted point cloud data to be decoded based on the last target number of bits of the target encoding to obtain a group to be decoded. Specifically, the target bit depth is dynamically adjusted based on the type of point cloud formed by all the point cloud data to be decoded, where the type of point cloud formed by all the point cloud data to be decoded includes sparse point clouds and dense point clouds.

9. The point cloud attribute decoding method according to claim 8, characterized in that, The correlation between the various point cloud data to be decoded and sorted includes the spatial positional relationship between the various point cloud data to be decoded and sorted.

10. The point cloud attribute decoding method according to claim 8, characterized in that, The point cloud attribute decoding based on all the groups to be decoded includes: Entropy decoding and inverse quantization are performed on each of the groups to be decoded to obtain the transform coefficients of each group to be decoded. Based on the number of sorted point cloud data to be decoded within each group, the inverse discrete cosine transform is performed on the transform coefficients of each group to be decoded to obtain the attribute reconstruction value corresponding to each group to be decoded.

11. A point cloud attribute decoding device, characterized in that, The device includes: The point cloud sorting module is used to sort all point cloud data to be decoded and obtain sorted point cloud data to be decoded, wherein the point cloud data to be decoded is point cloud data with attributes to be decoded; The point cloud grouping module is used to group the point cloud data to be decoded based on the correlation between the sorted point cloud data to be decoded, and obtain the group to be decoded. The point cloud decoding module is used to decode point cloud attributes based on all the groups to be decoded; The point cloud sorting module to be decoded is specifically used for: obtaining the target code corresponding to each point cloud data to be decoded, wherein the target code is a Morton code or a Hilbert code; sorting each point cloud data to be decoded in ascending order of the target code to obtain sorted point cloud data to be decoded; The point cloud grouping module to be decoded is specifically used for: obtaining the target number of bits; comparing the target codes of each sorted point cloud data; grouping each sorted point cloud data to be decoded based on the last target number of bits of the target code to obtain the group to be decoded; Specifically, the target bit depth is dynamically adjusted based on the type of point cloud formed by all the point cloud data to be decoded, where the type of point cloud formed by all the point cloud data to be decoded includes sparse point clouds and dense point clouds.

12. A smart terminal, characterized in that, The smart terminal includes a memory, a processor, and a point cloud attribute encoding program stored in the memory and executable on the processor. When the point cloud attribute encoding program is executed by the processor, it implements the steps of the point cloud attribute encoding method as described in any one of claims 1-6.

13. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a point cloud attribute encoding program, which, when executed by a processor, implements the steps of the point cloud attribute encoding method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Attribute-based point cloud strip division method

    CN109979008A

  • Color component prediction method, encoder, decoder, and computer storage medium

    WO2021062771A1

  • Prediction method, encoder, decoder, and computer storage medium

    WO2021062772A1