WO2022258063A1 - 点云属性编码方法、装置、解码方法、装置及相关设备 - Google Patents

点云属性编码方法、装置、解码方法、装置及相关设备 Download PDF

Info

Publication number
WO2022258063A1
WO2022258063A1 PCT/CN2022/098265 CN2022098265W WO2022258063A1 WO 2022258063 A1 WO2022258063 A1 WO 2022258063A1 CN 2022098265 W CN2022098265 W CN 2022098265W WO 2022258063 A1 WO2022258063 A1 WO 2022258063A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
cloud data
target
group
sorted
Prior art date
Application number
PCT/CN2022/098265
Other languages
English (en)
French (fr)
Inventor
陈悦汝
王静
李革
高文
Original Assignee
鹏城实验室
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 鹏城实验室 filed Critical 鹏城实验室
Publication of WO2022258063A1 publication Critical patent/WO2022258063A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to the technical field of data processing, in particular to a point cloud attribute encoding method, device, decoding method, device and related equipment.
  • point cloud compression encoding and decoding technology is one of the key technologies of 3D reconstruction.
  • the point cloud is obtained by sampling the surface of the object by the 3D scanning device, and each point cloud may include various attribute information, such as color information, reflectance information, etc.
  • the purpose of point cloud compression encoding and decoding is to remove redundancy as much as possible on the basis of retaining the original attribute information of massive point cloud data, and improve system storage and transmission efficiency.
  • the point cloud when performing point cloud attribute compression, the point cloud is usually grouped first, and then attribute compression is performed on each group in turn.
  • all point cloud data are usually grouped according to a specific one-dimensional point cloud order.
  • the problem of the existing technology is that only relying on one-dimensional arrangement sequence grouping, the grouping cannot effectively reflect the correlation relationship between point cloud data, which affects the efficiency of de-correlation when performing intra-group transformation after grouping, and affects the coding efficiency.
  • the main purpose of the present invention is to provide a point cloud attribute encoding method, device, decoding method, device and related equipment, aiming to solve the problem of grouping all point cloud data according to a specific one-dimensional point cloud sequence in the prior art. , Relying on one-dimensional arrangement order grouping, grouping cannot effectively reflect the correlation relationship between point cloud data, which affects the efficiency of de-correlation when performing intra-group transformation after grouping, and affects the coding efficiency.
  • the first aspect of the present invention provides a point cloud attribute encoding method, wherein the above method includes:
  • a point cloud attribute encoding method characterized in that the method comprises:
  • each of the above-mentioned sorted point cloud data is grouped to obtain a group to be encoded
  • Point cloud attribute encoding is performed based on all the above-mentioned to-be-encoded groups.
  • the correlation between the above-mentioned sorted point cloud data includes the spatial position relationship of each of the above-mentioned sorted point cloud data.
  • the above-mentioned sorting of all the point cloud data to be coded to obtain the sorted point cloud data includes:
  • target codes corresponding to each of the above-mentioned point cloud data to be coded wherein the above-mentioned target codes are Morton codes or Hilbert codes;
  • each of the above-mentioned sorted point cloud data is grouped to obtain a group to be encoded, including:
  • the target space is the space where all the above sorted point cloud data are located, and the size of each of the above space blocks is the same as the above target size;
  • each of the above-mentioned sorted point cloud data is grouped to obtain a group to be encoded, including:
  • the above-mentioned sorted point cloud data is grouped based on the post-target digits of the above-mentioned target encoding, and the group to be encoded is obtained, including:
  • the acquisition of target digits above includes:
  • the above-mentioned point cloud attribute coding is performed based on all the above-mentioned groups to be coded, including:
  • the above-mentioned group to be encoded when the number of sorted point cloud data in the above-mentioned group to be encoded is greater than the maximum value of the above-mentioned points, the above-mentioned group to be encoded is regarded as the group to be subdivided; otherwise, the group to be encoded is regarded as qualified coding group;
  • the sorted point cloud data in the coding group to be subdivided is re-divided to obtain a plurality of target subdivided coding groups, wherein each of the sorted point cloud data in the target subdivided coding group The number is not greater than the above-mentioned maximum number of points;
  • Point cloud attribute encoding is performed based on all the above target groups to be encoded.
  • the number of sorted point cloud data in one target subdivision coding group is not greater than the above maximum number of points, and all other target subdivisions
  • the number of sorted point cloud data in the encoding group is equal to the maximum number of points mentioned above.
  • the above-mentioned point cloud attribute coding is performed based on all the above-mentioned target groups to be coded, including:
  • Quantization and entropy coding are respectively performed on the transform coefficients of each target group to be coded.
  • the second aspect of the present invention provides a point cloud attribute encoding device, wherein the above-mentioned device includes:
  • the point cloud sorting module to be encoded is used to sort all the point cloud data to be encoded, and obtain the sorted point cloud data, wherein the above-mentioned point cloud data to be encoded is point cloud data whose attributes are to be encoded;
  • the point cloud grouping module to be encoded is used to group each of the above-mentioned sorted point cloud data based on the correlation between the above-mentioned sorted point cloud data, and obtain the group to be encoded;
  • the point cloud encoding module is used for encoding point cloud attributes based on all the above groups to be encoded.
  • a third aspect of the present invention provides a point cloud attribute decoding method, wherein the method includes:
  • Point cloud attribute decoding is performed based on all the above-mentioned groups to be decoded.
  • the above-mentioned correlation among the sorted point cloud data to be decoded includes a spatial positional relationship of the sorted point cloud data to be decoded.
  • the above-mentioned point cloud attribute decoding is performed based on all the above-mentioned groups to be decoded, including:
  • inverse discrete cosine transform is performed on the transformation coefficients of the above-mentioned groups to be decoded to obtain attribute reconstruction values corresponding to each of the above-mentioned groups to be decoded.
  • a fourth aspect of the present invention provides a point cloud attribute decoding device, wherein the above-mentioned device includes:
  • the point cloud sorting module to be decoded is used to sort all the point cloud data to be decoded, and obtain the sorted point cloud data to be decoded, wherein the above point cloud data to be decoded is the point cloud data whose attributes are to be decoded;
  • the point cloud grouping module to be decoded is used to group each of the above-mentioned sorted 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 for decoding point cloud attributes based on all the above-mentioned to-be-decoded groups.
  • the fifth aspect of the present invention provides an intelligent terminal.
  • the above-mentioned intelligent terminal includes a memory, a processor, and a point cloud attribute encoding program stored on the above-mentioned memory and operable on the above-mentioned processor.
  • the above-mentioned point cloud attribute encoding program is executed by the above-mentioned processor The step of realizing any one of the above-mentioned point cloud attribute encoding methods during execution.
  • the sixth aspect of the present invention provides a computer-readable storage medium.
  • the above-mentioned computer-readable storage medium stores a point cloud attribute encoding program.
  • the above-mentioned point cloud attribute encoding program is executed by a processor, any one of the above-mentioned point cloud attribute encoding methods can be realized. step.
  • the point cloud attribute encoding method in the solution of the present invention includes: sorting all the point cloud data to be encoded, and obtaining the sorted point cloud data, wherein the above-mentioned point cloud data to be encoded is point cloud data whose attributes are to be encoded; The correlation between each of the above-mentioned sorted point cloud data, grouping each of the above-mentioned sorted point cloud data to obtain a group to be encoded; performing point cloud attribute encoding based on all the above-mentioned groups to be encoded.
  • Fig. 1 is a schematic flow chart of a point cloud attribute encoding method provided by an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of step S100 in FIG. 1 according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of step S200 in FIG. 1 according to an embodiment of the present invention.
  • Fig. 4 is another specific flow diagram of step S200 in Fig. 1 according to the embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of step S300 in FIG. 1 according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of step S305 in FIG. 5 according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a point cloud attribute encoding device provided by an embodiment of the present invention.
  • Fig. 8 is a schematic flowchart of a point cloud attribute decoding method provided by an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of step A300 in FIG. 8 according to an embodiment of the present invention.
  • Fig. 10 is a schematic structural diagram of a point cloud attribute decoding device provided by an embodiment of the present invention.
  • Fig. 11 is a functional block diagram of the internal structure of a smart terminal provided by an embodiment of the present invention.
  • FIG. 12 is another specific flowchart of step S200 in FIG. 1 according to an embodiment of the present invention.
  • Fig. 13 is a schematic diagram of the grouping form after calculating the target number of digits in an implementation manner of the embodiment of the present invention.
  • the term “if” may be construed as “when” or “once” or “in response to determining” or “in response to detecting” depending on the context.
  • the phrases “if determined” or “if detected [the described condition or event]” may be construed, depending on the context, to mean “once determined” or “in response to the determination” or “once detected [the described condition or event]” event]” or “in response to detection of [described condition or event]”.
  • point cloud compression encoding and decoding technology is one of the key technologies of 3D reconstruction.
  • the point cloud is obtained by sampling the surface of the object by the 3D scanning device, and each point cloud may include various attribute information, such as color information, reflectance information, etc.
  • the purpose of point cloud compression encoding and decoding is to remove redundancy as much as possible on the basis of retaining the original attribute information of massive point cloud data, and improve system storage and transmission efficiency.
  • the point cloud when performing point cloud attribute compression, the point cloud is usually grouped first, and then attribute compression is performed on each group in turn.
  • the problem with the prior art is that in the process of grouping point clouds, K points are usually grouped into groups in sequence according to a specific one-dimensional point cloud sequence and a fixed value K until all points are grouped.
  • the problem of the existing technology is that when the point cloud data corresponding to the three-dimensional geometric points is converted into a one-dimensional point cloud sequence, the simple sequence information has lost part of the three-dimensional coordinate information, and only relying on the one-dimensional arrangement sequence grouping, the grouping cannot be effective Reflecting the correlation between point cloud data, the spatial position information between geometric point data cannot be effectively used, and the geometric point positions within the group cannot be guaranteed to be the closest. Therefore, it is impossible to ensure that the attribute values of the geometric points in the group have a strong correlation, which affects the efficiency of de-correlation when performing intra-group transformation after grouping, and affects the coding efficiency and attribute compression effect.
  • the present invention provides a point cloud attribute encoding method.
  • all the point cloud data to be encoded are sorted to obtain the sorted point cloud data, wherein the above-mentioned point cloud data to be encoded Point cloud data to be encoded for attributes; based on the correlation between each of the above-mentioned sorted point cloud data, group each of the above-mentioned sorted point cloud data to obtain a group to be encoded; perform point cloud attribute encoding based on all the above-mentioned groups to be encoded.
  • the embodiments of the present invention also provide a point cloud attribute encoding device, a point cloud attribute decoding method, and a point cloud attribute decoding device corresponding to the above point cloud attribute encoding method.
  • an embodiment of the present invention provides a point cloud attribute encoding method, specifically, the above method includes the following steps:
  • Step S100 sort all the point cloud data to be coded, and obtain the sorted point cloud data, wherein the above point cloud data to be coded are point cloud data whose attributes are to be coded.
  • the point cloud data refers to a set of vectors in a three-dimensional coordinate system.
  • the above-mentioned point cloud data to be encoded can be point cloud data obtained by scanning, such as laser radar scanning point cloud, or VR point cloud, etc.
  • Each point cloud is recorded in the form of points, and each point contains Three-dimensional coordinates and attribute information (such as color information and reflectance information).
  • Point cloud coding mainly includes geometric coding and attribute coding.
  • the embodiment of the present invention mainly implements point cloud attribute coding, such as coding color attributes of point clouds.
  • Step S200 based on the correlation between each of the above-mentioned sorted point cloud data, group each of the above-mentioned sorted point cloud data, and obtain a group to be encoded.
  • the above-mentioned correlation reflects the above-mentioned correlation relationship between the sorted point cloud data.
  • grouping sort point cloud data with strong correlation into one group.
  • correlation evaluation rules and correlation thresholds can be set in advance, and the correlation between sorted point cloud data can be evaluated to obtain corresponding correlation values. When the correlation values are greater than the correlation threshold, they can be classified into the same group.
  • clustering and grouping may also be performed based on the correlation between sorted point cloud data, which is not specifically limited here. Grouping based on the above correlation can effectively utilize the correlation between point cloud data, so that the attribute values of geometric points in each group to be coded have a strong correlation.
  • Step S300 perform point cloud attribute encoding based on all the above-mentioned to-be-encoded groups.
  • the point cloud attribute encoding method sorts all the point cloud data to be encoded to obtain the sorted point cloud data, wherein the above-mentioned point cloud data to be encoded is the point cloud data whose attributes are to be encoded; The correlation between the above-mentioned sorted point cloud data, grouping each of the above-mentioned sorted point cloud data to obtain a group to be coded; performing point cloud attribute coding based on all the above-mentioned groups to be coded.
  • the correlation between the above-mentioned sorted point cloud data includes the spatial position relationship of each of the above-mentioned sorted point cloud data.
  • grouping based on the positional relationship of each of the above-mentioned sorted point cloud data in space can make the correlation of the attribute values of the geometric points corresponding to each sorted point cloud data in each group to be encoded stronger, and improve the grouping efficiency.
  • the above step S100 includes:
  • Step S101 obtaining target codes corresponding to each of the above-mentioned point cloud data to be coded, wherein the above-mentioned target codes are Morton codes or Hilbert codes;
  • Step S102 sorting the above-mentioned point cloud data to be coded according to the order of the above-mentioned target codes from small to large, and obtaining the sorted point cloud data.
  • the above sorting process can determine the grouping order after grouping, and grouping means merging adjacent points according to the order in the sorted point cloud data.
  • step S200 includes:
  • Step S201A acquiring the target size.
  • Step S202A divide the target space based on the target size to obtain a plurality of spatial blocks, wherein the target space is the space where all the sorted point cloud data are located, and the size of each space block is the same as the target size.
  • Step S203A for each space block, divide all sorted point cloud data in the space block into a group to be coded.
  • the above-mentioned target size is the size of each space block that needs to be obtained when dividing the target space, which can be preset, can also be input by the user, and can also be determined according to the distribution of the specific sorted point cloud data and the size of the target space. Adjustment is not specifically limited here. In an application scenario, the above-mentioned target size is the side length of each space block to be obtained.
  • the above target space is divided into equal sizes to obtain multiple space blocks.
  • the octree division method can be used to divide according to the target size: Assume that the maximum side length of the above target space is H, construct a cube of H ⁇ H ⁇ H, and first divide 8 side lengths of H/2 For the second time, each H/2 cube is divided into 8 cubes with a side length of H/4, and so on, until the size of the divided blocks reaches the target size, and equal-sized space blocks are obtained.
  • the geometric size of each spatial block is S (ie, the target size), and the points within the spatial block are divided into a group.
  • the acquiring target size includes:
  • step S200 includes:
  • Step S201B acquiring the target number of digits.
  • Step S202B comparing the target codes of each sorted point cloud data.
  • Step S203B group each of the sorted point cloud data based on the last target digit of the target code, and obtain a group to be coded.
  • the above-mentioned target number of bits is the bit value of the target code used for comparison, which can be preset or input by the user, and can also be calculated and adjusted according to the distribution of the specific sorted point cloud data, which will not be done here Specific limits.
  • record the above-mentioned target number of bits as L then group each of the above-mentioned sorted point cloud data based on the last L bits of the above-mentioned target code, and obtain the group to be coded.
  • the above step S203B includes: dividing the sorted point cloud data with the same last target digit of the target code into a group to be coded, and dividing all the above sorted point cloud data to obtain all the groups to be coded. Specifically, grouping based on the post-target digits of the Morton code or the Hilbert code can make the obtained sorted point cloud data in each to-be-encoded group more correlated in spatial position.
  • the above-mentioned target number of digits is calculated according to the actual situation of the sorted point cloud data.
  • the above step S201B includes: obtaining the number of the above-mentioned sorted point cloud data and the maximum side length size corresponding to all the above-mentioned sorted point cloud data , wherein, the above-mentioned maximum side length size is the length of the longest side of the smallest rectangular bounding box corresponding to all the above-mentioned sorted point cloud data; obtain the target average number of points of the above-mentioned group to be encoded; calculate the above-mentioned target number of digits, where, L is the number of digits of the above target, maxSize is the maximum side length above, N is the number of sorted point cloud data above, and K mean is the average number of points of the above target.
  • maxSize is the maximum side length after the geometric coordinates of each sorted point cloud data are fixed-point.
  • the original geometric coordinates may be decimals, which are converted into integers and enlarged to a certain extent, so that the coordinates of all points will not overlap due to conversion into integers, and then calculate the smallest rectangular bounding box of all point clouds.
  • the length of the longest side of the smallest rectangular bounding box is used as the above-mentioned maximum side length size maxSize.
  • log 2 (maxSize) means a logarithmic function with base 2 and maxSize as a real number. Similarly, Indicates base 2, with Logarithmic function of real numbers.
  • the above-mentioned target average point number K mean is a preset target mean value of the number of sorted point cloud data in all groups to be encoded 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 digits, the actual average points K' mean of all the groups to be coded is close to the above target average points K mean .
  • the calculation formula of the above-mentioned target number of bits L is obtained based on the statistical characteristics of the point cloud, that is, N is approximately proportional to the square of maxSize.
  • the two grouping methods are equivalent.
  • S is not an exponential form of 2
  • the first grouping method the method of dividing space blocks
  • the second grouping method provides the implementation method under some special cases (such as the exponential form where S is 2), and has certain extensions (For example, it can be better applied to the scene using Hilbert code as the target code).
  • step S200 includes:
  • Step S201C acquiring the target number of digits.
  • Step S202C comparing the target codes of each sorted point cloud data.
  • Step S203C group each of the above-mentioned sorted point cloud data based on the last target digit and the preceding digit of the above-mentioned target code, and obtain a group to be coded.
  • mark the number of digits as L the digits before the said post-target digits are the remaining digits after subtracting the L digits from the total digits of the target code, and the digits of each digit of the remaining digits are Values are compared, and the sorted point cloud data are divided into a group to be encoded.
  • the target code in step S202C may be Morton code or Hilbert code or the like.
  • the arrangement sequence of the target codes can be arranged from left to right according to the large geometric scale to the small scale; or arranged from left to right according to the small geometric scale to the large scale.
  • the target number of digits in step S201C can be calculated according to the following method: obtain the number of the above-mentioned sorted point cloud data and the maximum side length size corresponding to all the above-mentioned sorted point cloud data, wherein the above-mentioned maximum side length size is all the above-mentioned sorted point cloud data.
  • the length of the longest side of the smallest rectangular bounding box corresponding to the point cloud data obtain the target average points of the above-mentioned group to be encoded; calculate the above-mentioned target digits, where, L is the above-mentioned target number of digits, and the previous digit of the said target digit is the remaining digit after subtracting the L digit from the total number of digits, maxSize is the above-mentioned maximum side length size, N is the number of the above-mentioned sorted point cloud data, K mean is the average points of the above targets. Among them, maxSize is the maximum side length after the geometric coordinates of each sorted point cloud data are fixed-point.
  • the original geometric coordinates may be decimals, which are converted into integers and enlarged to a certain extent, so that the coordinates of all points will not overlap due to conversion into integers, and then calculate the smallest rectangular bounding box of all point clouds.
  • the length of the longest side of the smallest rectangular bounding box is used as the above-mentioned maximum side length size maxSize.
  • log 2 (maxSize) means a logarithmic function with base 2 and maxSize as a real number.
  • Indicates base 2 with Logarithmic function of real numbers.
  • the above-mentioned target average point number K mean is a preset target mean value of the number of sorted point cloud data in all groups to be encoded 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 digits, the actual average points K' mean of all the groups to be coded is close to the above target average points K mean .
  • the calculation formula of the above-mentioned target number of bits L is obtained based on the statistical characteristics of the point cloud, that is, N is approximately proportional to the square of maxSize.
  • the grouping method in step S203C is, after removing the rightmost continuous L bits in the target code (using the Hilbert code, according to the geometrical large scale to the small scale, arranged from left to right), the remaining Comparing the values of each bit, all the same sorted point cloud data are divided into a group to be coded. Specifically, after removing the leftmost continuous L bits in the target code (using the Hilbert code, according to the geometric small scale to the large scale, arranged from left to right), the values of the remaining bits are compared, Point cloud data with the same sorting are divided into a group to be coded.
  • the target number of bits can be dynamically changed during encoding and decoding, and the target number of bits is recorded as Ld.
  • preset variable parameters BN1 and BN2, where BN1 ⁇ BN2, and BN1 and BN2 are positive integers greater than 0 one setting is BN1 equal to 2, BN2 equal to 8
  • preset variable Parameters KN and KM where KN ⁇ KM, and KN and KM are positive integers greater than 1 (KM is generally a multiple of KN).
  • the grouping method in step S203C is to encode the target based on the dynamically adjusted target number of bits Ld (using the Hilbert code, according to the large geometric scale to Small scale, arranged from left to right) After removing the rightmost continuous Ld bits, the values of the remaining bits are compared, and the sorted point cloud data that are all the same are divided into a group to be coded.
  • the three-dimensional coordinate information can also be effectively used to realize dynamic adaptive grouping, and for different types of point clouds (such as sparse lidar scanning point clouds or dense VR use point clouds) ) to dynamically adjust grouping parameters (such as adjusting the target number of digits L), so as to improve grouping efficiency and coding effect.
  • point clouds such as sparse lidar scanning point clouds or dense VR use point clouds
  • grouping parameters such as adjusting the target number of digits L
  • the number of groups to be encoded is not excessive, and the size of each group to be encoded is kept small, which improves the performance of subsequent transformations. If the size of the group to be encoded is too large, the correlation of the points in the group will decrease, and the transformation effect will not be good. If the number of groups to be encoded is too large, each group to be encoded needs to be transformed separately, and the processing time required will be longer, which will affect the efficiency of point cloud attribute encoding.
  • the grouped groups to be encoded are arranged according to the order in step S100, corresponding to the order of encoding or decoding, for example, among the sorted point cloud data in each group to be encoded, the corresponding sorting
  • the sorting corresponding to the top sorted point cloud data is used as the sorting of the group to be encoded, so that each group to be encoded is sorted according to the sorting corresponding to the top sorted point cloud data, and the sorting and steps of each group to be encoded are
  • the ordering in S100 maintains the correspondence, as the intergroup order.
  • point cloud attribute encoding can be directly performed on the obtained above-mentioned to-be-encoded groups, or point cloud attribute encoding can be performed on some of the to-be-encoded groups that contain more sorted point cloud data after being further subdivided.
  • the number of sorted point cloud data in each group to be encoded obtained through the above-mentioned grouping method may be uncertain, and a transformation of a corresponding size needs to be provided when performing discrete cosine transform in the encoding process matrix.
  • the size of the pre-provided transformation matrix may not meet the size of the group to be encoded, and the size of the corresponding transformation matrix needs to be adjusted in real time to reduce the encoding efficiency. Therefore, it is possible to further subdivide the group to be encoded that contains more sorted point cloud data, and limit the maximum number of points in each group, so that the maximum size of the transformation matrix that needs to be provided in advance can be obtained and the required All transformation matrices, increasing processing speed.
  • the above step S300 includes:
  • Step S301 obtaining the maximum value of points.
  • Step S302 for each of the above-mentioned to-be-encoded groups, when the number of sorted point cloud data in the above-mentioned to-be-encoded group is greater than the above-mentioned maximum number of points, the above-mentioned to-be-encoded group is used as the to-be-subdivided encoding group, otherwise, the above-mentioned to-be-encoded group group as a qualified encoding group.
  • Step S303 for each coding group to be subdivided, re-divide the sorted point cloud data in the coding group to be subdivided, and obtain multiple target subdivided coding groups, wherein the sorted point cloud data in the target subdivided coding group
  • the number of data is not greater than the maximum number of points above.
  • Step S304 taking each of the above-mentioned qualified coding groups and each of the above-mentioned target subdivided coding groups as target groups to be coded.
  • Step S305 perform point cloud attribute encoding based on all the above-mentioned target groups to be encoded.
  • the above-mentioned maximum value of points is the maximum value of points in each group to be coded, that is, the number of sorted point cloud data contained in each set to be coded at most, in this embodiment, the above-mentioned points are represented by K max
  • the maximum value, the maximum value of the above-mentioned points can be set in advance, or can be set and adjusted according to actual needs, and is not specifically limited here.
  • the to-be-coded group For each obtained group to be coded, judge whether the number of sorted point cloud data is greater than the above-mentioned maximum value K max , when the number of sorted point cloud data in a certain group to be coded is greater than the above-mentioned maximum value K max , the to-be-coded group needs to be further subdivided into groups, and the above-mentioned to-be-coded group is used as the to-be-subdivided coding group and subdivided into groups, otherwise, the to-be-coded group is regarded as a qualified coding group that does not need to be further subdivided.
  • a coding group to be subdivided is divided into multiple target subdivision coding groups, wherein, the number of sorted point cloud data in each target subdivision coding group is not greater than the above The maximum number of points K max .
  • All qualified coding groups and all target subdivided coding groups are respectively regarded as target coding groups, and the point cloud attribute coding is performed on the target coding groups.
  • the present invention can dynamically control the value of Ki , that is, different groups may contain different numbers of points during the grouping process, and the value of Ki is limited to facilitate conversion processing.
  • the number of sorted point cloud data in one target subdivision coding group is not greater than the above-mentioned maximum number of points, and other
  • the number of sorted point cloud data in all target subdivision coding groups is equal to the maximum number of points mentioned above.
  • the method for obtaining the target subdivision code group by a specific subdivision group can be set and adjusted according to actual needs, and is not specifically limited here.
  • a coding group to be subdivided firstly, according to K max (and the order of each sorted point cloud data), the sorted point cloud data is grouped by equal numbers, and the last sorted point cloud data is used as last group.
  • K max and the order of each sorted point cloud data
  • step S305 includes:
  • Step S3051 performing discrete cosine forward transform on the target groups to be coded based on the number of sorted point cloud data in each target group to be coded respectively, to obtain transformation coefficients of each target group to be coded.
  • Step S3052 performing quantization and entropy coding on the transform coefficients of each target group to be coded respectively.
  • the above-mentioned target groups to be encoded are sequentially encoded according to the order of the above-mentioned step S100, wherein the ordering corresponding to each target group to be encoded can be based on the ordering corresponding to the highest-ranked sorting point cloud data in each target group to be encoded Sure.
  • K i -element discrete cosine (DCT) forward transform can be performed on point cloud attribute values (or point cloud attribute residual values based on attribute prediction values) to obtain transformation coefficients.
  • the predicted value of the transform coefficient may be calculated to obtain the residual of the transform coefficient.
  • DCT discrete cosine
  • Corresponding quantization is performed on the transform coefficient or the residual of the transform coefficient obtained during encoding to obtain the quantized transform coefficient or the residual of the quantized transform coefficient, and then entropy coding is performed on the quantized transform coefficient or the residual of the quantized transform coefficient and written into the code stream.
  • the direct current (DC) coefficients and alternating current (AC) coefficients obtained by DCT transformation with different K i elements may adopt different quantization step sizes.
  • the specific quantization method may adopt uniform quantization, uniform quantization with dead zone, non-uniform quantization, and the like. Specifically, for the method of encoding each of the above-mentioned target groups to be encoded, reference may also be made to other encoding methods in the prior art, which are not specifically limited here.
  • Table 1 is a comparison table of rate-distortion data of luminance, chromaticity and reflectance under the condition of finite lossy geometry and lossy attributes
  • Table 2 is the comparison table of luminance, chromaticity and reflectance under the condition of lossless geometry and lossy attributes Rate-distortion data comparison table.
  • the end-to-end attribute rate distortion of the present invention Respectively reduced by 20.2%, 27.3%; for the chroma Cb attribute, the end-to-end attribute rate-distortion of the present invention is respectively reduced by 47.4%, 39.7%; for the chroma Cr attribute, the end-to-end attribute rate-distortion of the present invention is respectively reduced 48.3%, 41.3%; the point cloud attribute encoding method provided by the embodiment of the present invention achieves a better encoding effect.
  • an embodiment of the present invention also provides a point cloud attribute encoding device, and the above-mentioned point cloud attribute encoding device includes:
  • the point cloud sorting module 410 to be coded is used to sort all the point cloud data to be coded and obtain the sorted point cloud data, wherein the above point cloud data to be coded is the point cloud data whose attributes are to be coded.
  • the point cloud data refers to a set of vectors in a three-dimensional coordinate system.
  • the above-mentioned point cloud data to be encoded can be point cloud data obtained by scanning, such as laser radar scanning point cloud, or VR point cloud, etc.
  • Each point cloud is recorded in the form of points, and each point contains Three-dimensional coordinates and attribute information (such as color information and reflectance information).
  • the point cloud coding mainly includes geometric coding and attribute coding.
  • point cloud attribute coding is mainly implemented, for example, the color attribute of the point cloud is coded.
  • the point cloud grouping module 420 to be coded is configured to group the above-mentioned sorted point cloud data based on the correlation between the above-mentioned sorted point cloud data, and obtain the group to be coded.
  • the above-mentioned correlation reflects the above-mentioned correlation relationship between the sorted point cloud data.
  • grouping sort point cloud data with strong correlation into one group.
  • correlation evaluation rules and correlation thresholds can be set in advance, and the correlation between sorted point cloud data can be evaluated to obtain corresponding correlation values. When the correlation values are greater than the correlation threshold, they can be classified into the same group.
  • clustering and grouping may also be performed based on the correlation between sorted point cloud data, which is not specifically limited here. Grouping based on the above correlation can effectively utilize the correlation between point cloud data, so that the attribute values of geometric points in each group to be coded have a strong correlation.
  • the point cloud encoding module 430 is configured to perform point cloud attribute encoding based on all the above-mentioned to-be-encoded groups.
  • the point cloud attribute encoding device sorts all the point cloud data to be encoded through the point cloud sorting module 410 to be encoded, and obtains the sorted point cloud data, wherein the above-mentioned point cloud data to be encoded is an attribute to be encoded The point cloud data of coding; Through the point cloud grouping module 420 to be coded based on the correlation between each above-mentioned sorting point cloud data, group each above-mentioned sorting point cloud data, obtain the group to be coded; Through the point cloud coding module 430 based on all The above group to be coded performs point cloud attribute coding.
  • the correlation between the above-mentioned sorted point cloud data includes the spatial position relationship of each of the above-mentioned sorted point cloud data.
  • the specific method flow of the above-mentioned point cloud sorting module 410 to be encoded, the point cloud grouping module 420 to be encoded, and the point cloud encoding module 430 can refer to the specific description in the corresponding point cloud attribute encoding method , which will not be repeated here.
  • the embodiment of the present invention also provides a kind of point cloud attribute decoding method, the above-mentioned method comprises:
  • Step A100 sort all the point cloud data to be decoded, and obtain the sorted point cloud data to be decoded, wherein the point cloud data to be decoded is the point cloud data whose attributes are to be decoded.
  • Point cloud decoding mainly includes geometric decoding and attribute decoding.
  • point cloud attribute decoding is mainly implemented, for example, color attribute of point cloud is decoded.
  • Step A200 based on the correlation between the above-mentioned sorted point cloud data to be decoded, group the sorted point cloud data to be decoded, and obtain a group to be decoded.
  • the above-mentioned correlation reflects the above-mentioned correlation relationship between the sorted point cloud data.
  • grouping group the highly correlated point cloud data to be decoded into one group.
  • correlation evaluation rules and correlation thresholds can be set in advance, and the correlation between point cloud data to be decoded and sorted can be evaluated to obtain corresponding correlation values.
  • clustering and grouping may also be performed based on the correlation between the sorted point cloud data to be decoded, which is not specifically limited here. Grouping based on the above-mentioned correlation can effectively utilize the correlation relationship between point cloud data, so that the attribute values of the geometric points in each group to be decoded have a strong correlation.
  • Step A300 perform point cloud attribute decoding based on all the above-mentioned to-be-decoded groups.
  • the point cloud attribute decoding method sorts all the point cloud data to be decoded, and obtains the sorted point cloud data to be decoded, wherein, the above point cloud data to be decoded is the point cloud data to be decoded; based on the correlation between the above-mentioned sorted point cloud data to be decoded, group each of the above-mentioned sorted point cloud data to be decoded, and obtain the group to be decoded; perform point cloud based on all the above-mentioned groups to be decoded Attribute decoding.
  • the correlation between the above-mentioned sorted point cloud data to be decoded includes the spatial positional relationship of the sorted point cloud data to be decoded.
  • the above-mentioned step A100 includes: not obtaining the target codes corresponding to each of the above-mentioned point cloud data to be decoded, wherein the above-mentioned target codes are Morton codes or Hilbert codes; according to the above-mentioned target codes from small to Sorting the above-mentioned point cloud data to be decoded in a large order to obtain the sorted point cloud data to be decoded.
  • the point cloud attribute decoding method provided in the embodiment of the present invention may also adopt different grouping methods.
  • the above step A200 includes: obtaining the target size; dividing the target space based on the above target size to obtain multiple spatial blocks, wherein the above target space is the space where all the above-mentioned sorted point cloud data to be decoded are located,
  • the size of the above-mentioned spatial blocks is the same as the above-mentioned target size; for each of the above-mentioned spatial blocks, all the sorted point cloud data to be decoded in the above-mentioned spatial blocks are divided into a group to be decoded.
  • the above step A200 includes: obtaining the target number of digits; comparing the target codes of each of the above-mentioned sorted point cloud data; grouping each of the above-mentioned sorted point cloud data to be decoded based on the post-target digits of the above-mentioned target codes, Get the group to be decoded.
  • grouping process reference can be made to the description in the above point cloud attribute encoding method, which will not be repeated here.
  • the point cloud attribute decoding can be directly performed on the obtained above-mentioned groups to be decoded, or the point cloud attribute decoding can be performed after further subdividing the groups to be decoded that partially contain more sorted point cloud data to be decoded.
  • the above-mentioned step A300 includes:
  • Step A301 performing entropy decoding and inverse quantization on each of the above-mentioned to-be-decoded groups, respectively, to obtain the transformation coefficients of each of the above-mentioned to-be-decoded groups.
  • Step A302 Perform discrete cosine inverse transform on the transformation coefficients of the above-mentioned groups to be decoded based on the number of point cloud data to be decoded and sorted in each of the above-mentioned groups to be decoded, respectively, to obtain attribute reconstruction values corresponding to each of the above-mentioned groups to be decoded.
  • the above step A300 includes: obtaining the maximum value of points; for each For the above-mentioned group to be decoded, when the number of point cloud data to be decoded and sorted in the above-mentioned group to be decoded is greater than the maximum value of the above-mentioned points, the above-mentioned group to be decoded is regarded as a group to be subdivided and decoded; otherwise, the group to be decoded is regarded as a qualified decoding group group; for each decoding group to be subdivided, the point cloud data to be decoded and sorted in the above group to be subdivided and decoded are re-divided to obtain multiple target subdivided decoding groups, wherein the target subdivided decoding group to be decoded The number of sorted point cloud data is not greater than the maximum number of points above; each
  • the above-mentioned maximum value of points is the maximum value of points in each group to be decoded, that is, the maximum number of sorted point cloud data that is set in each group to be decoded.
  • the specific method flow for subdividing the groups and obtaining the target group to be decoded can refer to the description in the above point cloud attribute encoding method, and will not be repeated here.
  • entropy decoding can be performed on the code stream (that is, all to-be-decoded groups or target to-be-decoded groups) to obtain quantized transform coefficients or residuals of quantized transform coefficients, and then perform inverse quantization to obtain transform Coefficients or transform coefficient residuals.
  • the transform coefficients can be obtained by adding them based on the same transform coefficient prediction method as in encoding.
  • K' i the number of point cloud data to be decoded and sorted in each group to be decoded or the target group to be decoded
  • element DCT inverse transformation is performed on the transformation coefficients to obtain the point cloud reconstruction attribute value or the point cloud reconstruction attribute residual value.
  • the final addition can obtain the reconstructed attribute value.
  • the method for decoding each of the above-mentioned to-be-decoded groups or target to-be-decoded groups may also refer to other decoding methods in the prior art, which are not specifically limited here.
  • an embodiment of the present invention also provides a point cloud attribute decoding device, the above-mentioned point cloud attribute decoding device includes:
  • the point cloud sorting module 510 to be decoded is used to sort all the point cloud data to be decoded, and obtain the sorted point cloud data to be decoded, wherein the point cloud data to be decoded is the point cloud data whose attributes are to be decoded.
  • the point cloud data refers to a set of vectors in a three-dimensional coordinate system.
  • the above-mentioned point cloud data to be decoded may be point cloud data obtained by scanning, such as a laser radar scanning point cloud, or a VR point cloud, etc.
  • Each point cloud is recorded in the form of points, and each point contains Three-dimensional coordinates and attribute information (such as color information and reflectance information).
  • Point cloud decoding mainly includes geometric decoding and attribute decoding.
  • point cloud attribute decoding is mainly implemented, for example, color attribute of point cloud is decoded.
  • the point cloud grouping module 520 to be decoded is configured to group the above-mentioned sorted point cloud data to be decoded based on the correlation between the sorted point cloud data to be decoded, and obtain a group to be decoded.
  • the above-mentioned correlation reflects the above-mentioned correlation relationship between the sorted point cloud data to be decoded.
  • group the highly correlated point cloud data to be decoded into one group.
  • the point cloud decoding module 530 is configured to perform point cloud attribute decoding based on all the above-mentioned to-be-decoded groups.
  • the point cloud attribute decoding device sorts all the point cloud data to be decoded through the point cloud sorting module 510 to be decoded, and obtains the sorted point cloud data to be decoded, wherein the above point cloud data to be decoded is Attribute point cloud data to be decoded; through the point cloud grouping module 520 to be decoded based on the correlation between each of the above-mentioned sorted point cloud data to be decoded, each of the above-mentioned sorted point cloud data to be decoded is grouped to obtain a group to be decoded;
  • the cloud decoding module 530 performs point cloud attribute decoding based on all the above-mentioned to-be-decoded groups.
  • the data to be decoded are sorted and then grouped based on correlation to obtain groups to be decoded, and then point cloud attribute decoding is performed based on the groups to be decoded. It is beneficial to make the correlation between the point cloud data in the group stronger, improve the efficiency of de-correlation when performing intra-group transformation after grouping, and is beneficial to improve the decoding efficiency.
  • the specific method flow of the above-mentioned point cloud sorting module 510 to be decoded, the point cloud grouping module 520 to be decoded, and the point cloud decoding module 530 can refer to the corresponding point cloud attribute encoding method and/or point cloud attribute encoding method.
  • the specific description in the cloud attribute decoding method will not be repeated here.
  • the above-mentioned point cloud attribute decoding device can also refer to the specific steps in the above-mentioned point cloud attribute encoding method to perform corresponding decoding, for example, based on the corresponding quantization step size in the above-mentioned point cloud attribute encoding method to perform inverse Quantization, etc., will not be repeated here. In this way, it is possible to decode data encoded based on the above point cloud attribute encoding method or device.
  • the present invention also provides an intelligent terminal, the functional block diagram of which may be shown in FIG. 11 .
  • the above intelligent terminal includes a processor, a memory, a network interface and a display screen connected through a system bus.
  • the processor of the smart terminal is used to provide calculation and control capabilities.
  • the memory of the smart 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 operation of the operating system and the point cloud attribute encoding program in the non-volatile storage medium.
  • the network interface of the smart terminal is used to communicate with external terminals through a network connection. When the point cloud attribute encoding program is executed by the processor, the steps of any one of the above point cloud attribute encoding methods are realized.
  • the display screen of the smart terminal may be a liquid crystal display screen or an electronic ink display screen.
  • FIG. 11 is only a block diagram of a part of the structure related to the solution of the present invention, and does not constitute a limitation on the smart terminal to which the solution of the present invention is applied.
  • the specific smart terminal More or fewer components than shown in the figures may be included, or certain components may be combined, or have a different arrangement of components.
  • an intelligent terminal includes a memory, a processor, and a point cloud attribute encoding program stored on the above-mentioned memory and operable on the above-mentioned processor.
  • the above-mentioned point cloud attribute encoding program is obtained by the above-mentioned
  • the processor executes the following operation instructions:
  • each of the above-mentioned sorted point cloud data is grouped to obtain a group to be encoded
  • Point cloud attribute encoding is performed based on all the above-mentioned to-be-encoded groups.
  • the embodiment of the present invention also provides a computer-readable storage medium.
  • the above-mentioned computer-readable storage medium stores a point cloud attribute encoding program. Steps of cloud attribute encoding method.
  • a point cloud attribute decoding program may also be stored in the above-mentioned intelligent terminal and the computer-readable storage medium, so as to realize the steps of the above-mentioned point cloud attribute decoding method.
  • the disclosed apparatus/terminal equipment and method may be implemented in other ways.
  • the device/terminal device embodiments described above are only illustrative.
  • the division of the above-mentioned modules or units is only a logical function division.
  • other division methods may be used, such as multiple units or Components may be combined or integrated into another system, or some features may be omitted, or not implemented.
  • the above-mentioned integrated modules/units are realized in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the present invention realizes all or part of the processes in the methods of the above embodiments, and can also be completed by instructing related hardware through computer programs.
  • the above computer programs can be stored in a computer-readable storage medium. When executed by the processor, the steps in the above-mentioned various method embodiments can be realized.
  • the above-mentioned computer program includes computer program code, and the above-mentioned computer program code may be in the form of source code, object code, executable file or some intermediate form.
  • the above-mentioned computer-readable medium may 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, Read-Only Memory), random Access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the above computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种点云属性编码方法、装置、解码方法、装置及相关设备,其中,上述点云属性编码方法包括:对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据(S100);基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组(S200);基于所有上述待编码组进行点云属性编码(S300)。与现有技术相比,本发明方案中对待编码数据进行排序后基于相关性进行分组获得待编码组,然后基于待编码组进行点云属性编码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高编码效率。

Description

点云属性编码方法、装置、解码方法、装置及相关设备 技术领域
本发明涉及数据处理技术领域,尤其涉及的是一种点云属性编码方法、装置、解码方法、装置及相关设备。
背景技术
随着科学技术的迅速发展,尤其是计算机技术的发展,三维重构等技术已经广泛应用到了建筑设计、游戏开发、文物保护等各个领域。其中,点云压缩编码和解码技术是三维重建的关键技术之一。点云是三维扫描设备对物体表面采样所获取的,每个点云中可能包括各种不同的属性信息,例如颜色信息、反射率信息等。点云压缩编码和解码的目的是在保留海量点云数据原有属性信息的基础上尽可能地去除冗余,提高系统存储和传输效率。
现有技术中,在进行点云属性压缩时,通常先对点云进行分组,然后依次对每组进行属性压缩。对点云进行分组过程中,通常按照特定的一维点云顺序对所有点云数据进行分组。现有技术的问题在于,仅仅依赖一维排列顺序分组,分组无法有效体现点云数据之间的相关关系,影响分组后进行组内变换时去相关性的效率,且影响编码效率。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种点云属性编码方法、装置、解码方法、装置及相关设备,旨在解决现有技术中按照特定的一维点云顺序对所有点云数据进行分组的方案中,依赖一维排列顺序分组,分组无法有效体现点云数据之间的相关关系,影响分组后进行组内变换时去相关性的效率,且影响编码效率的问题。
为了实现上述目的,本发明第一方面提供一种点云属性编码方法,其中,上述方法包括:
一种点云属性编码方法,其特征在于,上述方法包括:
对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;
基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;
基于所有上述待编码组进行点云属性编码。
可选的,上述各上述排序点云数据之间的相关性包括各上述排序点云数据在空间上的位置关系。
可选的,上述对所有待编码点云数据进行排序,获取排序点云数据,包括:
分别获取各上述待编码点云数据对应的目标编码,其中,上述目标编码为莫顿码或希尔伯特码;
按照上述目标编码由小到大的顺序对各上述待编码点云数据进行排序,获取排序点云数据。
可选的,上述基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组,包括:
获取目标尺寸;
基于上述目标尺寸对目标空间进行划分,获得多个空间块,其中,上述目标空间为所有上述排序点云数据所在的空间,上述各空间块的尺寸与上述目标尺寸相同;
对于每一个上述空间块,分别将上述空间块内的所有排序点云数据划分为一个待编码组。
可选的,上述基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组,包括:
获取目标位数;
比较各上述排序点云数据的目标编码;
基于上述目标编码的后目标位数位对各上述排序点云数据进行分组,获取待编码组。
可选的,上述基于上述目标编码的后目标位数位对各上述排序点云数据进行分组,获取待编码组,包括:
将上述目标编码的后目标位数位相同的排序点云数据划分为一个待编码组,对所有上述排序点云数据进行划分,获得所有待编码组。
可选的,上述获取目标位数包括:
获取上述排序点云数据的个数和所有上述排序点云数据对应的最大边长尺寸,其中,上述最大边长尺寸为所有上述排序点云数据对应的最小矩形包围盒的最长边的长度;
获取上述待编码组的目标平均点数;
计算上述目标位数,其中,
Figure PCTCN2022098265-appb-000001
L为上述目标位数,maxSize为上述最大边长尺寸,N为上述排序点云数据的个数,K mean为上述目标平均点数。
可选的,上述基于所有上述待编码组进行点云属性编码,包括:
获取点数最大值;
对于每一个上述待编码组,当上述待编码组内的排序点云数据的个数大于上述点数最大值时,将上述待编码组作为待细分编码组,反之则将上述待编码组作为合格编码组;
对于每一个待细分编码组,将上述待细分编码组内的排序点云数据重新划分,获取多个目标细分编码组,其中,上述目标细分编码组内的排序点云数据的个数不大于上述点数最大值;
将各上述合格编码组和各上述目标细分编码组作为目标待编码组;
基于所有上述目标待编码组进行点云属性编码。
可选的,每一个上述待细分编码组对应的多个目标细分编码组中,一个目标细分编码组内的排序点云数据的个数不大于上述点数最大值,其它所有目标细分编码组内的排序点云数据的个数等于上述点数最大值。
可选的,上述基于所有上述目标待编码组进行点云属性编码,包括:
分别基于各上述目标待编码组内排序点云数据的个数对上述目标待编码组进行离散余弦正变换,获取各上述目标待编码组的变换系数;
分别对各上述目标待编码组的变换系数进行量化和熵编码。
本发明第二方面提供一种点云属性编码装置,其中,上述装置包括:
待编码点云排序模块,用于对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;
待编码点云分组模块,用于基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;
点云编码模块,用于基于所有上述待编码组进行点云属性编码。
本发明第三方面提供一种点云属性解码方法,其中,上述方法包括:
对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据;
基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组;
基于所有上述待解码组进行点云属性解码。
可选的,上述各上述待解码排序点云数据之间的相关性包括各上述待解码排序点云数据在空间上的位置关系。
可选的,上述基于所有上述待解码组进行点云属性解码,包括:
分别对各上述待解码组进行熵解码和逆量化,获取各上述待解码组的变换系数;
分别基于各上述待解码组内待解码排序点云数据的个数对上述待解码组的变换系数进行离散余弦逆变换,得到各上述待解码组对应的属性重建值。
本发明第四方面提供一种点云属性解码装置,其中,上述装置包括:
待解码点云排序模块,用于对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据;
待解码点云分组模块,用于基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组;
点云解码模块,用于基于所有上述待解码组进行点云属性解码。
本发明第五方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的点云属性编码程序,上述点云属性编码程序被上述处理器执行时实现任意一项上述点云属性编码方法的步骤。
本发明第六方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有点云属性编码程序,上述点云属性编码程序被处理器执行时实现任意一项上述点云属性编码方法的步骤。
由上可见,本发明方案中的点云属性编码方法包括:对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;基于所有上述待编码组进行点云属性编码。与现有技术相比,本发明方案中对待编码数据进行排序后基于相关性进行分组获得待编码组,然后基于待编码组进行点云属性编码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高编码效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的一种点云属性编码方法的流程示意图;
图2是本发明实施例图1中步骤S100的具体流程示意图;
图3是本发明实施例图1中步骤S200的具体流程示意图;
图4是本发明实施例图1中步骤S200的另一种具体流程示意图;
图5是本发明实施例图1中步骤S300的具体流程示意图;
图6是本发明实施例图5中步骤S305的具体流程示意图;
图7是本发明实施例提供的一种点云属性编码装置的结构示意图;
图8是本发明实施例提供的一种点云属性解码方法的流程示意图;
图9是本发明实施例图8中步骤A300的具体流程示意图;
图10是本发明实施例提供的一种点云属性解码装置的结构示意图;
图11是本发明实施例提供的一种智能终端的内部结构原理框图。
图12是本发明实施例图1中步骤S200的又一种具体流程示意图。
图13是本发明实施例一种实施方式中计算目标位数后的分组形式示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路 以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
随着科学技术的迅速发展,尤其是计算机技术的发展,三维重构等技术已经广泛应用到了建筑设计、游戏开发、文物保护等各个领域。其中,点云压缩编码和解码技术是三维重建的关键技术之一。点云是三维扫描设备对物体表面采样所获取的,每个点云中可能包括各种不同的属性信息,例如颜色信息、反射率信息等。点云压缩编码和解码的目的是在保留海量点云数据原有属性信息的基础上尽可能地去除冗余,提高系统存储和传输效率。
现有技术中,在进行点云属性压缩时,通常先对点云进行分组,然后依次对每组进行属性压缩。现有技术的问题在于,对点云进行分组过程中,通常按照特定的一维点云顺序,根据设定的固定值K,依次将K个点分为一组,直到所有点分组完成。现有技术的问题在于,将三维的几何点对应的点云数据转换为一维点云顺序时,简单的顺序信息已经损失了部分三维坐标信息,且仅仅依赖一维排列顺序分组,分组无法有效体现点云数据之间的相关关系,无法有效利用几何点数据之间的空间位置信息,无法保证组内的几何点位置最为相近。从而无法保证组内几何点属性值具有较强的相关性,影响分组后进行组内变换时去相关性的效率,且影响编码效率和属性压缩效果。
为了解决现有技术的问题,本发明提供一种点云属性编码方法,在本发明实施例中,对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;基于所有上述待编码组进行点云属性编码。与现有技术相比,本发明方案中对待编码数据进行排序后基于相关性进行分组获得待编码组,然后基于待编码组进行点云属性编码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高编码效率。同时,本发明实施例中还提供与上述点云属性编码方法相对应的点云属性编码装置、点云属性解码方法和点云属性解码装置。
如图1所示,本发明实施例提供一种点云属性编码方法,具体的,上述方法包括如下步骤:
步骤S100,对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据。
其中,点云数据是指一个三维坐标系统中一组向量的集合。本实施例中,上述待编码 点云数据可以是扫描获得的点云数据,例如激光雷达扫描点云,还可以是VR使用点云等,各点云以点的形式记录,每一个点包含有三维坐标和属性信息(例如颜色信息和反射率信息)。点云编码主要包括几何编码和属性编码,本发明实施例主要实现点云属性编码,例如对点云的颜色属性进行编码。
步骤S200,基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组。
其中,上述相关性体现上述排序点云数据之间的相关关系。分组时,将相关性强的排序点云数据分到一组。在一种应用场景中,可以预先设定相关性评价规则和相关阈值,对各排序点云数据之间的相关性进行评价,获得对应的相关值,当相关值大于相关阈值时分为同一组。在另一种应用场景中,还可以基于各排序点云数据之间的相关性进行聚类分组,在此不做具体限定。基于上述相关性进行分组,可以有效利用点云数据之间的相关关系,使得各待编码组内的几何点属性值具有较强的相关性。
步骤S300,基于所有上述待编码组进行点云属性编码。
由上可见,本发明实施例提供的点云属性编码方法对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;基于所有上述待编码组进行点云属性编码。与现有技术相比,本发明方案中对待编码数据进行排序后基于相关性进行分组获得待编码组,然后基于待编码组进行点云属性编码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高编码效率。
具体的,本实施例中,上述各上述排序点云数据之间的相关性包括各上述排序点云数据在空间上的位置关系。
具体的,当组内的几何点在空间上更接近时,对应的属性值也具有更好的相关性。因此本实施例中,基于各上述排序点云数据在空间上的位置关系进行分组,可以使得各待编码组内的各排序点云数据对应的几何点的属性值的相关性更强,提高组内变换去相关性的效率,得到更好的压缩效果。
具体的,本实施例中,如图2所示,上述步骤S100包括:
步骤S101,分别获取各上述待编码点云数据对应的目标编码,其中,上述目标编码为莫顿码或希尔伯特码;
步骤S102,按照上述目标编码由小到大的顺序对各上述待编码点云数据进行排序,获取排序点云数据。
具体的,根据各上述待编码点云数据的几何坐标计算获得其对应的莫顿码或希尔伯特码,然后按照莫顿码或希尔伯特码由小到大的顺序进行排序,获得排序点云数据对应的序列。上述排序过程可以决定分组后的组间顺序,分组即按照排序点云数据中的顺序合并相邻点。
本实施例中提供一种分组方法,如图3所示,上述步骤S200包括:
步骤S201A,获取目标尺寸。
步骤S202A,基于上述目标尺寸对目标空间进行划分,获得多个空间块,其中,上述目标空间为所有上述排序点云数据所在的空间,上述各空间块的尺寸与上述目标尺寸相同。
步骤S203A,对于每一个上述空间块,分别将上述空间块内的所有排序点云数据划分为一个待编码组。
其中,上述目标尺寸是对目标空间进行划分时需要获得的各个空间块的尺寸,可以预先设定,也可以由用户输入,还可以根据具体的排序点云数据的分布情况和目标空间的大小进行调整,在此不做具体限定。在一种应用场景中,上述目标尺寸是需要获得的各个空间块的边长。
具体的,将上述目标空间进行等尺寸划分,获得多个空间块。例如,可以根据目标尺寸采用八叉树的划分方法进行划分:假设上述目标空间的最大边长为H,构造一个H×H×H的立方体,第一次划分出8个边长为H/2的立方体;第二次再将每个H/2的立方体划分出8 个边长为H/4的立方体,依次类推,直到划分后的块的尺寸达到目标尺寸,获得等尺寸划分的空间块。每个空间块的几何尺寸为S(即目标尺寸),空间块内的点被划分为一组。
在一种实施方式中,所述获取目标尺寸包括:
获取所述排序点云数据的个数和所有所述排序点云数据对应的最大边长尺寸,其中,所述最大边长尺寸为所有所述排序点云数据对应的最小矩形包围盒的最长边的长度;
获取所述待编码组的目标平均点数;
计算所述目标尺寸S,其中,S=2 L/3
Figure PCTCN2022098265-appb-000002
L为目标位数,maxSize为所述最大边长尺寸,N为所述排序点云数据的个数,K mean为所述目标平均点数
本实施例中还提供另一种分组方法,如图4所示,上述步骤S200包括:
步骤S201B,获取目标位数。
步骤S202B,比较各上述排序点云数据的目标编码。
步骤S203B,基于上述目标编码的后目标位数位对各上述排序点云数据进行分组,获取待编码组。
其中,上述目标位数是用于进行对比的目标编码的位数值,可以预先设定,也可以由用户输入,还可以根据具体的排序点云数据的分布情况进行计算和调整,在此不做具体限定。具体的,本实施例中,记上述目标位数为L,则基于上述目标编码的后L位对各上述排序点云数据进行分组,获取待编码组。
具体的,上述步骤S203B包括:将上述目标编码的后目标位数位相同的排序点云数据划分为一个待编码组,对所有上述排序点云数据进行划分,获得所有待编码组。具体的,基于莫顿码或希尔伯特码的后目标位数位进行分组,可以使得获得的各个待编码组内的排序点云数据在空间位置上的相关性更强。
本实施例中,上述目标位数根据排序点云数据的实际情况进行计算,具体的,上述步骤S201B包括:获取上述排序点云数据的个数和所有上述排序点云数据对应的最大边长尺寸,其中,上述最大边长尺寸为所有上述排序点云数据对应的最小矩形包围盒的最长边的长度;获取上述待编码组的目标平均点数;计算上述目标位数,其中,
Figure PCTCN2022098265-appb-000003
Figure PCTCN2022098265-appb-000004
L为上述目标位数,maxSize为上述最大边长尺寸,N为上述排序点云数据的个数,K mean为上述目标平均点数。
其中,maxSize是对各排序点云数据的几何坐标定点化后的最大边长尺寸。具体的,原始几何坐标可能是小数,将其转成整数并做一定的放大,使得所有点的坐标不会出现因为转成整数而导致的重合,然后计算所有点云的最小矩形包围盒,将最小矩形包围盒的最长的边的长度作为上述最大边长尺寸maxSize。log 2(maxSize)表示以2为底数,以maxSize为真数的对数函数,同理,
Figure PCTCN2022098265-appb-000005
表示以2为底数,以
Figure PCTCN2022098265-appb-000006
为真数的对数函数。上述目标平均点数K mean是预先设定的进行分组后的所有待编码组中的排序点云数据的个数的目标均值,可以根据实际需求进行设置和调整,在此不做具体限定。根据计算出来的目标位数进行分组后,所有待编码组的实际平均点数K' mean与上述目标平均点数K mean相近。上述目标位数L的计算公式基于点云的统计特性得到,即N近似正比于maxSize的平方。
在一种应用场景中,上述两种分组方法可以互相对应。具体的,可以设置S=2 L/3,使用莫顿码作为目标编码时,根据上述计算规则,当L为3的倍数时,两种分组方法等价。若S不为2的指数形式,则第一种分组方法(划分空间块的方法)更好。第二种分组方法(即将目标编码的后L位相同的排序点云数据划分为一组的方法)给出了一些特例(如S为2的指数形式)下的实现方法,并且具有一定的扩展性(例如可以更好的适用于使用希尔伯特码作为目标编码的场景)。
本实施例还提供又一种分组方法,如图12所示,上述步骤S200包括:
步骤S201C,获取目标位数。
步骤S202C,比较各上述排序点云数据的目标编码。
步骤S203C,基于上述目标编码的后目标位数位之前位对各上述排序点云数据进行分组,获取待编码组。
具体的,本实施例中,记目标位数为L,所述后目标位数位之前位为目标编码的总位数从后减去L位后的剩余位,将所述剩余位的各个位的数值进行比较,都相同的排序点云数据划分为一个待编码组。
具体的,步骤S202C中的目标编码可以是莫顿码或者希尔伯特码等。目标编码的排列顺序可以按照几何大尺度到小尺度,由左到右排列;或者按照几何小尺度到大尺度,由左到右排列。
具体的,步骤S201C中的目标位数可以按照以下方法计算:获取上述排序点云数据的个数和所有上述排序点云数据对应的最大边长尺寸,其中,上述最大边长尺寸为所有上述排序点云数据对应的最小矩形包围盒的最长边的长度;获取上述待编码组的目标平均点数;计算上述目标位数,其中,
Figure PCTCN2022098265-appb-000007
L为上述目标位数,所述后目标位数位之前位为总位数从后减去L位后的剩余位,maxSize为上述最大边长尺寸,N为上述排序点云数据的个数,K mean为上述目标平均点数。其中,maxSize是对各排序点云数据的几何坐标定点化后的最大边长尺寸。具体的,原始几何坐标可能是小数,将其转成整数并做一定的放大,使得所有点的坐标不会出现因为转成整数而导致的重合,然后计算所有点云的最小矩形包围盒,将最小矩形包围盒的最长的边的长度作为上述最大边长尺寸maxSize。log 2(maxSize)表示以2为底数,以maxSize为真数的对数函数,同理,
Figure PCTCN2022098265-appb-000008
表示以2为底数,以
Figure PCTCN2022098265-appb-000009
为真数的对数函数。上述目标平均点数K mean是预先设定的进行分组后的所有待编码组中的排序点云数据的个数的目标均值,可以根据实际需求进行设置和调整,在此不做具体限定。根据计算出来的目标位数进行分组后,所有待编码组的实际平均点数K' mean与上述目标平均点数K mean相近。上述目标位数L的计算公式基于点云的统计特性得到,即N近似正比于maxSize的平方。
具体的,步骤S203C中的分组方法为,将所述目标编码(使用希尔伯特码,按照几何大尺度到小尺度,由左到右排列)中除去最右边的连续的L位之后,剩余的各个位的数值进行比较,都相同的排序点云数据划分为一个待编码组。具体的,将所述目标编码(使用希尔伯特码,按照几何小尺度到大尺度,由左到右排列)中最左边的连续的L位除去之后,剩余的各个位的数值进行比较,都相同的排序点云数据划分为一个待编码组。其物理意义为,剩余的各个位的数值都相同的排序点云数据点,属于同一个三维立方体宏块,宏块的边长尺寸为S=2 L/3,其中L为所述目标位数,将同一宏块内的点分为一组,可以使得获得的同组内的排序点云数据在空间位置上的相关性更强。具体的,参见图13,获取目标编码(9位希尔伯特码),根据步骤S201C中方法,计算得到L=3,进行如图13所示的分组,即将前6位的按位比较,将排序点云数据点1和数据点2分为一组,将排序点云数据点3和数据点4分为一组。
可选地,实际应用中可以在编解码时动态改变目标位数,将目标位数记为Ld,具体方法为,根据上述公式确定初始目标位数L(初始状态:Ld=L)。在逐组编解码时,预设可变参数BN1和BN2,其中BN1<BN2,且BN1和BN2为大于0的正整数(一种设值为BN1等于2,BN2等于8);预设可变参数KN和KM,其中KN<KM,且KN和KM为大于1的正整数(KM一般为KN的倍数)。统计KN个点云编解码组组内点的个数的平均值BN,如果BN的值小于BN1,则Ld=Ld+1;如果BN的值大于BN2,则Ld=Ld-1;否则,Ld不变。每KM个点云编解码组,进行一次判断和调整。
具体的,当在编码时动态改变目标位数时,步骤S203C中的分组方法为,基于动态调整后的目标位数Ld,将所述目标编码(使用希尔伯特码,按照几何大尺度到小尺度,由左 到右排列)中除去最右边的连续的Ld位之后,剩余的各个位的数值进行比较,都相同的排序点云数据划分为一个待编码组。其物理意义为,剩余的各个位的数值都相同的排序点云数据点,属于同一个三维立方体宏块,宏块的边长尺寸为S=2 L/3,其中L为所述目标位数,将同一宏块内的点分为一组,可以使得获得的同组内的排序点云数据在空间位置上的相关性更强。
本实施例中,基于上述分组方法,可以充分利用点云的三维坐标信息对点(即排序点云数据对应的几何点)进行分组,保证组内几何点在空间上更加相近,从而使各点的属性值更具有相关性,最终提高之后组内变换去相关性的效率,得到更好的压缩效果。具体的,能量越集中分布,去除的相关性就越多,当组内点云的相关性较高时,变换后更容易使得能量集中在DC系数和前几个AC系数上,能获得更多的数值小的后几个AC系数或者更多的零,可以提升编码效率和编码效果。进一步的,基于本发明实施例提供的分组方法,还可以有效的利用三维坐标信息,实现动态自适应分组,针对不同类型的点云(例如稀疏的激光雷达扫描点云或稠密的VR使用点云)动态调整分组参数(如调整目标位数L),提高分组效率和编码效果。具体的,假设一个点云的密度是均匀的,在设定上述目标平均点数K mean相同的情况下,对于一个稀疏的点云,计算出的L的值较大;对于一个稠密的点云,计算出的L的值较小。基于上述分组方法,使得获得的待编码组的数目不会过多,且各待编码组的尺寸保持较小,提升后续变换的性能。如果待编码组的尺寸过大,组内点的相关性就会下降,变换效果不佳。如果待编码组的数目过多,需要对每一个待编码组分别进行变换,需要的处理时间就会越长,影响点云属性编码的效率。
具体的,本实施例中,分组后的各上述待编码组按照步骤S100中的顺序进行排列,对应着编码或解码顺序,例如,将各个待编码组内的排序点云数据中,对应的排序最靠前的排序点云数据对应的排序作为该待编码组的排序,使得各个待编码组分别按照其中排序最靠前的排序点云数据对应的排序进行排序,各个待编码组的排序与步骤S100中的排序保持对应,作为组间顺序。
可选的,可以直接对获得的上述待编码组进行点云属性编码,也可以对其中部分包含的排序点云数据较多的待编码组进行进一步细分后再进行点云属性编码。具体的,本实施例中,通过上述分组方法划分获得的各个待编码组内的排序点云数据的个数可能是不确定的,而编码过程中进行离散余弦正变换时需要提供对应大小的变换矩阵。如果各个待编码组内的排序点云数据的个数不确定,则可能出现预先提供的变换矩阵的大小不能满足待编码组的情况,需要实时调整对应的变换矩阵的大小,降低编码效率。因此,可以对包含的排序点云数据较多的待编码组进行进一步细分,限定每个分组内最大的点数,从而可以获得需要预先提供的变换矩阵的大小的最大值并预先提供所需的所有变换矩阵,提高处理速度。
具体的,本实施例中,如图5所示,上述步骤S300包括:
步骤S301,获取点数最大值。
步骤S302,对于每一个上述待编码组,当上述待编码组内的排序点云数据的个数大于上述点数最大值时,将上述待编码组作为待细分编码组,反之则将上述待编码组作为合格编码组。
步骤S303,对于每一个待细分编码组,将上述待细分编码组内的排序点云数据重新划分,获取多个目标细分编码组,其中,上述目标细分编码组内的排序点云数据的个数不大于上述点数最大值。
步骤S304,将各上述合格编码组和各上述目标细分编码组作为目标待编码组。
步骤S305,基于所有上述目标待编码组进行点云属性编码。
其中,上述点数最大值为每个待编码组中的点数最大值,即设定的每个待编码组中最多包含的排序点云数据的个数,本实施例中,以K max代表上述点数最大值,上述点数最大值可以预先设定,也可以根据实际需求进行设置和调整,在此不做具体限定。对于获得的每一个待编码组,分别判断其中的排序点云数据的个数是否大于上述点数最大值K max,当某待编 码组内的排序点云数据的个数大于上述点数最大值K max时,该待编码组需要进行进一步的细分组,将上述待编码组作为待细分编码组并进行细分组,反之则将该待编码组作为无需进一步细分组的合格编码组。
对于待细分编码组进行进一步细分组,将一个待细分编码组划分为多个目标细分编码组,其中,每个目标细分编码组内的排序点云数据的个数不大于上述点数最大值K max。将所有合格编码组和所有目标细分编码组都分别作为目标待编码组,对目标待编码组进行点云属性编码。
具体的,经过分组和细分组处理后获得的各个目标待编码组中,第i个目标待编码组有K i个几个点,K i=1,…,K max,K max是点数最大值,即每个目标待编码组内的点数的最大值。本发明可以动态的控制K i的数值,即在分组过程中不同组包含的点数可以不相同,且对K i的数值进行了限定,便于进行变换处理。
本实施例中,可以设置
Figure PCTCN2022098265-appb-000010
以使得分组获得的各待编码组中的点数符合要求,减少进一步进行细分组的需要。
具体的,本实施例中,每一个上述待细分编码组对应的多个目标细分编码组中,一个目标细分编码组内的排序点云数据的个数不大于上述点数最大值,其它所有目标细分编码组内的排序点云数据的个数等于上述点数最大值。
具体的细分组获得目标细分编码组的方法可以根据实际需求进行设定和调整,在此不做具体限定。在一种应用场景中,对于某一个待细分编码组,首先按照K max(和各排序点云数据的顺序)对排序点云数据进行等个数分组,将最后遗留的排序点云数据作为最后一个组。例如,一个待细分编码组内包括10个排序点云数据,设定的K max为8,则获得两个包含的排序点云数据的个数分别为8和2的目标细分编码组。
具体的,本实施例中,如图6所示,上述步骤S305包括:
步骤S3051,分别基于各上述目标待编码组内排序点云数据的个数对上述目标待编码组进行离散余弦正变换,获取各上述目标待编码组的变换系数。
步骤S3052,分别对各上述目标待编码组的变换系数进行量化和熵编码。
具体的,本实施例中限定了各上述目标待编码组组内排序点云数据的个数K i的最大值为K max,则可以预先提供K i=1,…,K max对应的变换矩阵,从而提高变换效率。
具体的,对上述目标待编码组按照上述步骤S100的顺序依次进行属性编码,其中,各目标待编码组对应的排序可以根据各目标待编码组中排序最靠前的排序点云数据对应的排序确定。在以组为单位进行编码时,可以对点云属性值(或基于属性预测值得到的点云属性残差值)进行K i元离散余弦(DCT)正变换,得到变换系数。在一种应用场景中,可以计算变换系数的预测值,求得变换系数残差。对编码时得到的变换系数或变换系数残差进行相应的量化,得到量化变换系数或量化变换系数残差,再对量化变换系数或量化变换系数残差进行熵编码写入码流。其中不同K i元DCT变换得到的直流(DC)系数和交流(AC)系数可以采用不同的量化步长。具体量化方法可以采用均匀量化,带死区的均匀量化,非均匀量化等。具体的,对各上述目标待编码组进行编码的方法还可以参照现有技术中的其它编码方法,在此不做具体限定。
进一步的,本发明实施例中,基于AVS-PCC PCRM软件v3.0版本,测试了本实施例方法与anchor对比的实验结果,结果如下表1和表2所示。
表1
Figure PCTCN2022098265-appb-000011
表2
Figure PCTCN2022098265-appb-000012
表1为在有限有损几何、有损属性条件下的亮度、色度以及反射率的率失真数据对比表,表2为在无损几何、有损属性条件下的亮度、色度以及反射率的率失真数据对比表。根据表1和表2可知,相比测试平台PCRM的基准结果,在有限有损几何、有损属性条件以及无损几何、有损属性条件下,对于亮度属性,本发明的端到端属性率失真分别减少了20.2%,27.3%;对于色度Cb属性,本发明的端到端属性率失真分别减少了47.4%,39.7%;对于色度Cr属性,本发明的端到端属性率失真分别减少了48.3%,41.3%;本发明实施例提供的点云属性编码方法达到了更好的编码效果。
如图7所示,对应于上述点云属性编码方法,本发明实施例还提供一种点云属性编码装置,上述点云属性编码装置包括:
待编码点云排序模块410,用于对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据。
其中,点云数据是指一个三维坐标系统中一组向量的集合。本实施例中,上述待编码点云数据可以是扫描获得的点云数据,例如激光雷达扫描点云,还可以是VR使用点云等,各点云以点的形式记录,每一个点包含有三维坐标和属性信息(例如颜色信息和反射率信息)。点云编码主要包括几何编码和属性编码,本发明实施例中主要实现点云属性编码,例如对点云的颜色属性进行编码。
待编码点云分组模块420,用于基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组。
其中,上述相关性体现上述排序点云数据之间的相关关系。分组时,将相关性强的排序点云数据分到一组。在一种应用场景中,可以预先设定相关性评价规则和相关阈值,对各排序点云数据之间的相关性进行评价,获得对应的相关值,当相关值大于相关阈值时分为同一组。在另一种应用场景中,还可以基于各排序点云数据之间的相关性进行聚类分组,在此不做具体限定。基于上述相关性进行分组,可以有效利用点云数据之间的相关关系,使得各待编码组内的几何点属性值具有较强的相关性。
点云编码模块430,用于基于所有上述待编码组进行点云属性编码。
由上可见,本发明实施例提供的点云属性编码装置通过待编码点云排序模块410对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;通过待编码点云分组模块420基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;通过点云编码模块430基于所有上述待编码组进行点云属性编码。与现有技术相比,本发明方案中对待编码数据进行排序后基于相关性进行分组获得待编码组,然后基于待编码组进行点云属性编码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高编码效率。
具体的,本实施例中,上述各上述排序点云数据之间的相关性包括各上述排序点云数据在空间上的位置关系。
具体的,本实施例中,上述待编码点云排序模块410、待编码点云分组模块420以及点云编码模块430进行上述处理的具体方法流程可以参照对应的点云属性编码方法中的具体描述,在此不再赘述。
如图8所示,对应于上述点云属性编码方法,本发明实施例还提供一种点云属性解码 方法,上述方法包括:
步骤A100,对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据。
点云解码主要包括几何解码和属性解码,本发明实施例中主要实现点云属性解码,例如对点云的颜色属性进行解码。
步骤A200,基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组。
其中,上述相关性体现上述排序点云数据之间的相关关系。分组时,将相关性强的待解码排序点云数据分到一组。在一种应用场景中,可以预先设定相关性评价规则和相关阈值,对各待解码排序点云数据之间的相关性进行评价,获得对应的相关值,当相关值大于相关阈值时分为同一组。在另一种应用场景中,还可以基于各待解码排序点云数据之间的相关性进行聚类分组,在此不做具体限定。基于上述相关性进行分组,可以有效利用点云数据之间的相关关系,使得各待解码组内的几何点属性值具有较强的相关性。
步骤A300,基于所有上述待解码组进行点云属性解码。
由上可见,对应于上述点云属性编码方法,本发明实施例提供的点云属性解码方法对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据;基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组;基于所有上述待解码组进行点云属性解码。与现有技术相比,有利于使分组内的点云数据之间的相关性更强,有利于提高解码效率。
具体的,本实施例中,上述各上述待解码排序点云数据之间的相关性包括各上述待解码排序点云数据在空间上的位置关系。
具体的,本实施例中,上述步骤A100包括:别获取各上述待解码点云数据对应的目标编码,其中,上述目标编码为莫顿码或希尔伯特码;按照上述目标编码由小到大的顺序对各上述待解码点云数据进行排序,获取待解码排序点云数据。
对应于上述点云属性编码方法,本发明实施例提供的点云属性解码方法也可以采用不同的分组方法。在一种应用场景中,上述步骤A200包括:获取目标尺寸;基于上述目标尺寸对目标空间进行划分,获得多个空间块,其中,上述目标空间为所有上述待解码排序点云数据所在的空间,上述各空间块的尺寸与上述目标尺寸相同;对于每一个上述空间块,分别将上述空间块内的所有待解码排序点云数据划分为一个待解码组。在另一种应用场景中,上述步骤A200包括:获取目标位数;比较各上述排序点云数据的目标编码;基于上述目标编码的后目标位数位对各上述待解码排序点云数据进行分组,获取待解码组。具体的分组处理过程可以参照上述点云属性编码方法中的描述,在此不再赘述。
可选的,可以直接对获得的上述待解码组进行点云属性解码,也可以对其中部分包含的待解码排序点云数据较多的待解码组进行进一步细分后再进行点云属性解码。
当直接对获得的上述待解码组进行点云属性解码时,如图9所示,上述步骤A300包括:
步骤A301,分别对各上述待解码组进行熵解码和逆量化,获取各上述待解码组的变换系数。
步骤A302,分别基于各上述待解码组内待解码排序点云数据的个数对上述待解码组的变换系数进行离散余弦逆变换,得到各上述待解码组对应的属性重建值。
具体的,本实施例中,对其中部分包含的待解码排序点云数据较多的待解码组进行进一步细分后再进行点云属性解码,上述步骤A300包括:获取点数最大值;对于每一个上述待解码组,当上述待解码组内的待解码排序点云数据的个数大于上述点数最大值时,将上述待解码组作为待细分解码组,反之则将上述待解码组作为合格解码组;对于每一个待细分解码组,将上述待细分解码组内的待解码排序点云数据重新划分,获取多个目标细分解码组,其中,上述目标细分解码组内的待解码排序点云数据的个数不大于上述点数最大值;将各上述合格解码组和各上述目标细分解码组作为目标待解码组;基于所有上述目标待解码组进行 点云属性解码。
其中,上述点数最大值为每个待解码组中的点数最大值,即设定的每个待解码组中最多包含的排序点云数据的个数。具体的进行细分组并获得目标待解码组的方法流程可以参照上述点云属性编码方法中的描述,在此不再赘述。
本实施例中,在以组为单位进行解码时,可以对码流(即所有待解码组或目标待解码组)进行熵解码获得量化变换系数或量化变换系数残差,再进行逆量化得到变换系数或变换系数残差。对于得到的变换系数残差,基于与编码时相同的变换系数预测方法,相加可以求得变换系数。接着对变换系数进行K' i(各待解码组或目标待解码组中待解码排序点云数据的个数)元DCT逆变换,得到点云重建属性值或者点云重建属性残差值。对于获得的点云重建属性残差值,基于与编码时相同的属性值预测方法,最终相加可以求得重建属性值。具体的,对各上述待解码组或目标待解码组进行解码的方法还可以参照现有技术中的其它解码方法,在此不做具体限定。
如图10所示,对应于上述点云属性解码方法,本发明实施例还提供一种点云属性解码装置,上述点云属性解码装置包括:
待解码点云排序模块510,用于对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据。
其中,点云数据是指一个三维坐标系统中一组向量的集合。本实施例中,上述待解码点云数据可以是扫描获得的点云数据,例如激光雷达扫描点云,还可以是VR使用点云等,各点云以点的形式记录,每一个点包含有三维坐标和属性信息(例如颜色信息和反射率信息)。点云解码主要包括几何解码和属性解码,本发明实施例中主要实现点云属性解码,例如对点云的颜色属性进行解码。
待解码点云分组模块520,用于基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组。
其中,上述相关性体现上述待解码排序点云数据之间的相关关系。分组时,将相关性强的待解码排序点云数据分到一组。
点云解码模块530,用于基于所有上述待解码组进行点云属性解码。
由上可见,本发明实施例提供的点云属性解码装置通过待解码点云排序模块510对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,上述待解码点云数据为属性待解码的点云数据;通过待解码点云分组模块520基于各上述待解码排序点云数据之间的相关性,对各上述待解码排序点云数据进行分组,获取待解码组;通过点云解码模块530基于所有上述待解码组进行点云属性解码。与现有技术相比,本发明方案中对待解码数据进行排序后基于相关性进行分组获得待解码组,然后基于待解码组进行点云属性解码。有利于使分组内的点云数据之间的相关性更强,提高分组后进行组内变换时去相关性的效率,有利于提高解码效率。
具体的,本实施例中,上述待解码点云排序模块510、待解码点云分组模块520以及点云解码模块530进行上述处理的具体方法流程可以参照对应的点云属性编码方法和/或点云属性解码方法中的具体描述,在此不再赘述。
可选的,本实施例中,上述点云属性解码装置还可以参照上述点云属性编码方法中的具体步骤进行对应的解码,例如,基于上述点云属性编码方法中对应的量化步长进行逆量化等,在此不再赘述。如此,可以实现对基于上述点云属性编码方法或装置进行编码的数据进行解码。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图11所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和点云属性编码程序。该内存储器为非易失性存储介质中的操作系统和点云属性编码程序的运行提供环境。该智能终端的网络接口用于与外部 的终端通过网络连接通信。该点云属性编码程序被处理器执行时实现上述任意一种点云属性编码方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图11中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的点云属性编码程序,上述点云属性编码程序被上述处理器执行时进行以下操作指令:
对所有待编码点云数据进行排序,获取排序点云数据,其中,上述待编码点云数据为属性待编码的点云数据;
基于各上述排序点云数据之间的相关性,对各上述排序点云数据进行分组,获取待编码组;
基于所有上述待编码组进行点云属性编码。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有点云属性编码程序,上述点云属性编码程序被处理器执行时实现本发明实施例提供的任一种点云属性编码方法的步骤。
可选的,上述智能终端和计算机可读存储介质中也可以存储点云属性解码程序,以实现上述点云属性解码方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算 机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (23)

  1. 一种点云属性编码方法,其特征在于,所述方法包括:
    对所有待编码点云数据进行排序,获取排序点云数据,其中,所述待编码点云数据为属性待编码的点云数据;
    基于各所述排序点云数据之间的相关性,对各所述排序点云数据进行分组,获取待编码组;
    基于所有所述待编码组进行点云属性编码。
  2. 根据权利要求1所述的点云属性编码方法,其特征在于,所述各所述排序点云数据之间的相关性包括各所述排序点云数据在空间上的位置关系。
  3. 根据权利要求1所述的点云属性编码方法,其特征在于,所述对所有待编码点云数据进行排序,获取排序点云数据,包括:
    分别获取各所述待编码点云数据对应的目标编码,其中,所述目标编码为莫顿码或希尔伯特码;
    按照所述目标编码由小到大的顺序对各所述待编码点云数据进行排序,获取排序点云数据。
  4. 根据权利要求1所述的点云属性编码方法,其特征在于,所述基于各所述排序点云数据之间的相关性,对各所述排序点云数据进行分组,获取待编码组,包括:
    获取目标尺寸;
    基于所述目标尺寸对目标空间进行划分,获得多个空间块,其中,所述目标空间为所有所述排序点云数据所在的空间,所述各空间块的尺寸与所述目标尺寸相同;
    对于每一个所述空间块,分别将所述空间块内的所有排序点云数据划分为一个待编码组。
  5. 根据权利要求4所述的点云属性编码方法,其特征在于,所述获取目标尺寸包括:
    获取所述排序点云数据的个数和所有所述排序点云数据对应的最大边长尺寸,其中,所述最大边长尺寸为所有所述排序点云数据对应的最小矩形包围盒的最长边的长度;
    获取所述待编码组的目标平均点数;
    计算所述目标尺寸,其中,S=2 L/3
    Figure PCTCN2022098265-appb-100001
    S为所述目标尺寸,L为目标位数,maxSize为所述最大边长尺寸,N为所述排序点云数据的个数,K mean为所述目标平均点数。
  6. 根据权利要求1所述的点云属性编码方法,其特征在于,所述基于各所述排序点云数据之间的相关性,对各所述排序点云数据进行分组,获取待编码组,包括:
    获取目标位数;
    比较各所述排序点云数据的目标编码;
    基于所述目标编码的后目标位数位对各所述排序点云数据进行分组,获取待编码组。
  7. 根据权利要求6所述的点云属性编码方法,其特征在于,所述基于所述目标编码的后目标位数位对各所述排序点云数据进行分组,获取待编码组,包括:
    将所述目标编码的后目标位数位相同的排序点云数据划分为一个待编码组,对所有所述排序点云数据进行划分,获得所有待编码组。
  8. 根据权利要求6所述的点云属性编码方法,其特征在于,所述获取目标位数包括:
    获取所述排序点云数据的个数和所有所述排序点云数据对应的最大边长尺寸,其中,所述最大边长尺寸为所有所述排序点云数据对应的最小矩形包围盒的最长边的长度;
    获取所述待编码组的目标平均点数;
    计算所述目标位数,其中,
    Figure PCTCN2022098265-appb-100002
    L为所述目标位数,maxSize为所述最大边长尺寸,N为所述排序点云数据的个数,K mean为所述目标平均点数。
  9. 根据权利要求1所述的点云属性编码方法,其特征在于,所述基于各所述排序点云 数据之间的相关性,对各所述排序点云数据进行分组,获取待编码组,包括:
    获取目标位数;
    比较各所述排序点云数据的目标编码;
    基于所述目标编码的后目标位数位之前位对各所述排序点云数据进行分组,获取待编码组。
  10. 根据权利要求9所述的点云属性编码方法,其特征在于,所述基于所述目标编码的后目标位数位之前位对各所述排序点云数据进行分组,获取待编码组,包括:
    将所述目标编码的后目标位数位之前位相同的排序点云数据划分为一个待编码组,对所有所述排序点云数据进行划分,获得所有待编码组。
  11. 根据权利要求9所述的点云属性编码方法,其特征在于,所述获取目标位数包括:
    获取所述排序点云数据的个数和所有所述排序点云数据对应的最大边长尺寸,其中,所述最大边长尺寸为所有所述排序点云数据对应的最小矩形包围盒的最长边的长度;
    获取所述待编码组的目标平均点数;
    计算所述目标位数,其中,
    Figure PCTCN2022098265-appb-100003
    L为所述目标位数,maxSize为所述最大边长尺寸,N为所述排序点云数据的个数,K mean为所述目标平均点数。
  12. 根据权利要求9所述的点云属性编码方法,其特征在于,所述获取目标位数包括:
    在编码时基于已编码组组内排序点云数据点个数的统计特性动态调整目标位数。
  13. 根据权利要求12所述的点云属性编码方法,其特征在于,所述动态调整目标位数包括:
    确定初始目标位数Ld;
    预设可变参数BN1和BN2,其中BN1<BN2,且BN1和BN2为大于0的正整数;预设可变参数KN和KM,其中KN<KM,且KN和KM为大于1的正整数;
    在逐组编码时,统计KN个已编码组组内排序点云数据点的个数的平均值BN,如果BN的值小于BN1,则Ld=Ld+1;如果BN的值大于BN2,则Ld=Ld-1;否则,Ld不变,每KM个点云编解码组,进行一次判断和调整。
  14. 根据权利要求1所述的点云属性编码方法,其特征在于,所述基于所有所述待编码组进行点云属性编码,包括:
    获取点数最大值;
    对于每一个所述待编码组,当所述待编码组内的排序点云数据的个数大于所述点数最大值时,将所述待编码组作为待细分编码组,反之则将所述待编码组作为合格编码组;
    对于每一个待细分编码组,将所述待细分编码组内的排序点云数据重新划分,获取多个目标细分编码组,其中,所述目标细分编码组内的排序点云数据的个数不大于所述点数最大值;
    将各所述合格编码组和各所述目标细分编码组作为目标待编码组;
    基于所有所述目标待编码组进行点云属性编码。
  15. 根据权利要求14所述的点云属性编码方法,其特征在于,每一个所述待细分编码组对应的多个目标细分编码组中,一个目标细分编码组内的排序点云数据的个数不大于所述点数最大值,其它所有目标细分编码组内的排序点云数据的个数等于所述点数最大值。
  16. 根据权利要求14所述的点云属性编码方法,其特征在于,所述基于所有所述目标待编码组进行点云属性编码,包括:
    分别基于各所述目标待编码组内排序点云数据的个数对所述目标待编码组进行离散余弦正变换,获取各所述目标待编码组的变换系数;
    分别对各所述目标待编码组的变换系数进行量化和熵编码。
  17. 一种点云属性编码装置,其特征在于,所述装置包括:
    待编码点云排序模块,用于对所有待编码点云数据进行排序,获取排序点云数据,其 中,所述待编码点云数据为属性待编码的点云数据;
    待编码点云分组模块,用于基于各所述排序点云数据之间的相关性,对各所述排序点云数据进行分组,获取待编码组;
    点云编码模块,用于基于所有所述待编码组进行点云属性编码。
  18. 一种点云属性解码方法,其特征在于,所述方法包括:
    对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,所述待解码点云数据为属性待解码的点云数据;
    基于各所述待解码排序点云数据之间的相关性,对各所述待解码排序点云数据进行分组,获取待解码组;
    基于所有所述待解码组进行点云属性解码。
  19. 根据权利要求18所述的点云属性解码方法,其特征在于,所述各所述待解码排序点云数据之间的相关性包括各所述待解码排序点云数据在空间上的位置关系。
  20. 根据权利要求18所述的点云属性解码方法,其特征在于,所述基于所有所述待解码组进行点云属性解码,包括:
    分别对各所述待解码组进行熵解码和逆量化,获取各所述待解码组的变换系数;
    分别基于各所述待解码组内待解码排序点云数据的个数对所述待解码组的变换系数进行离散余弦逆变换,得到各所述待解码组对应的属性重建值。
  21. 一种点云属性解码装置,其特征在于,所述装置包括:
    待解码点云排序模块,用于对所有待解码点云数据进行排序,获取待解码排序点云数据,其中,所述待解码点云数据为属性待解码的点云数据;
    待解码点云分组模块,用于基于各所述待解码排序点云数据之间的相关性,对各所述待解码排序点云数据进行分组,获取待解码组;
    点云解码模块,用于基于所有所述待解码组进行点云属性解码。
  22. 一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的点云属性编码程序,所述点云属性编码程序被所述处理器执行时实现如权利要求1-16任意一项所述的点云属性编码方法的步骤。
  23. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有点云属性编码程序,所述点云属性编码程序被处理器执行时实现如权利要求1-16任意一项所述的点云属性编码方法的步骤。
PCT/CN2022/098265 2021-06-11 2022-06-10 点云属性编码方法、装置、解码方法、装置及相关设备 WO2022258063A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110656783.9A CN115474035A (zh) 2021-06-11 2021-06-11 点云属性编码方法、装置、解码方法、装置及相关设备
CN202110656783.9 2021-06-11

Publications (1)

Publication Number Publication Date
WO2022258063A1 true WO2022258063A1 (zh) 2022-12-15

Family

ID=84363851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/098265 WO2022258063A1 (zh) 2021-06-11 2022-06-10 点云属性编码方法、装置、解码方法、装置及相关设备

Country Status (2)

Country Link
CN (1) CN115474035A (zh)
WO (1) WO2022258063A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335335A (zh) * 2018-02-11 2018-07-27 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
CN109979008A (zh) * 2019-04-09 2019-07-05 北京大学深圳研究生院 一种基于属性的点云条带划分方法
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统
US20210049828A1 (en) * 2019-08-14 2021-02-18 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data
WO2021062771A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 颜色分量预测方法、编码器、解码器及计算机存储介质
WO2021062772A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 预测方法、编码器、解码器及计算机存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335335A (zh) * 2018-02-11 2018-07-27 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
CN109979008A (zh) * 2019-04-09 2019-07-05 北京大学深圳研究生院 一种基于属性的点云条带划分方法
US20210049828A1 (en) * 2019-08-14 2021-02-18 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and a method for receiving point cloud data
WO2021062771A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 颜色分量预测方法、编码器、解码器及计算机存储介质
WO2021062772A1 (zh) * 2019-09-30 2021-04-08 Oppo广东移动通信有限公司 预测方法、编码器、解码器及计算机存储介质
CN111953998A (zh) * 2020-08-16 2020-11-17 西安电子科技大学 基于dct变换的点云属性编码及解码方法、装置及系统

Also Published As

Publication number Publication date
CN115474035A (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
CN113284248B (zh) 一种点云有损压缩的编解码方法、装置和系统
WO2022257971A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2022062369A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2024037244A1 (zh) 点云数据的解码方法、编码方法、装置、存储介质及设备
WO2023246700A1 (zh) 一种点云属性编码方法、点云属性解码方法及存储介质
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN101919248A (zh) 增强型图像压缩的字节表示
WO2022258063A1 (zh) 点云属性编码方法、装置、解码方法、装置及相关设备
US20230086264A1 (en) Decoding method, encoding method, decoder, and encoder based on point cloud attribute prediction
CN116567246A (zh) Avc编码方法和装置
US7657110B2 (en) Image compression using a color visual model
CN115102934A (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
WO2022141461A1 (zh) 点云编解码方法、编码器、解码器以及计算机存储介质
CN115086672A (zh) 点云属性编码方法、装置、解码方法、装置及相关设备
WO2023103564A1 (zh) 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
Pan et al. Complexity-scalable transform coding using variable complexity algorithms
US20240137579A1 (en) Encoding Control Method and Apparatus, and Decoding Control Method and Apparatus
EP4354864A1 (en) Entropy encoding/decoding methods and apparatuses
WO2023098820A1 (zh) 点云编码、解码方法、装置及通信设备
WO2022258010A1 (zh) 点云编码处理方法、解码处理方法及装置
WO2023025024A1 (zh) 点云属性编码方法、点云属性解码方法及终端
EP4117289A1 (en) Image processing method and image processing device
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22819659

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18562799

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE