Point cloud attribute information coding method, decoding method, device and related equipment

By determining DCT transformation based on attribute prediction or reconstruction information, the method addresses poor coding efficiency in point cloud attribute information, achieving improved coding efficiency and reconstruction performance.

JP7732000B2Active Publication Date: 2025-09-01VIVO MOBILE COMM CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Conventional point cloud attribute information coding in the AVS encoder framework suffers from poor efficiency due to redundant information in transform coefficients, particularly in areas with large local transform widths.

Method used

A method involving discrete cosine transform (DCT) determination based on attribute prediction or reconstruction information to concentrate signal energy in fewer coefficients, reducing redundancy and improving coding efficiency.

Benefits of technology

The proposed method enhances attribute coding efficiency and reconstruction performance by transforming dispersed attribute information into a concentrated distribution, facilitating easier quantization and coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007732000000058
    Figure 0007732000000058
  • Figure 0007732000000059
    Figure 0007732000000059
  • Figure 0007732000000060
    Figure 0007732000000060
Patent Text Reader

Abstract

This application discloses a point cloud attribute information coding method, a decoding method, an apparatus and related devices, which includes: obtaining first information; determining whether to perform DCT transformation on K points to be coded according to second information related to the first information; when it is determined to perform DCT transformation on the K points to be coded, performing DCT transformation on the K points to be coded to obtain transformation coefficients of the K points to be coded; quantizing the transformation coefficients of the K points to be coded, and performing entropy coding according to the quantized transformation coefficients to generate a binary code stream, where the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer, and N is an integer greater than 1.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] The present application relates to the technical field of point cloud processing, and more particularly to a point cloud attribute information coding method, decoding method, apparatus and related devices. [Background technology]

[0003] In the point cloud digital audio video coding standard (AVS) encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are coded separately. Currently, attribute information coding is divided into attribute predictive coding and attribute transform coding. Here, attribute transform coding directly transforms the original attribute information, and in areas with a relatively large local transform width, there is still a lot of redundant information in the resulting transform coefficients, which results in relatively poor coding efficiency. Summary of the Invention [Problem to be solved by the invention]

[0004] The embodiments of the present application provide a point cloud attribute information coding method, decoding method, device, and related equipment that can solve the problem of poor efficiency in conventional point cloud attribute information coding. [Means for solving the problem]

[0005] According to a first aspect, there is provided a point cloud attribute information coding method, the method comprising: Obtaining first information; determining whether to perform a discrete cosine transform (DCT) on the K points to be coded based on second information related to the first information; When it is determined that the K points to be coded are to be DCT-transformed, the K points to be coded are to be DCT-transformed to obtain transform coefficients of the K points to be coded; quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; Here, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is an integer greater than 1.

[0006] According to a second aspect, there is provided a point cloud attribute information decoding method, the method comprising: obtaining third information; and determining whether to perform an inverse DCT transform on the K points to be decoded based on fourth information related to the third information; If it is determined that an inverse DCT transform is performed on the K points to be decoded, then the inverse DCT transform is performed on the K points to be decoded to obtain attribute residual information of the K points to be decoded; and obtaining attribute reconstruction information of the K points to be decoded according to the attribute residual information and attribute prediction information of the K points to be decoded, to decode undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0007] According to a third aspect, there is provided a point cloud attribute information coding device, the device comprising: a first acquisition module for acquiring first information; a first determination module for determining whether to perform a discrete cosine transform (DCT) on the K points to be coded based on second information related to the first information; a first transformation module for performing DCT transformation on the K points to be coded when it is determined that DCT transformation is performed on the K points to be coded, and obtaining transformation coefficients of the K points to be coded; a coding module for quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; Here, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is an integer greater than 1.

[0008] According to a fourth aspect, there is provided a point cloud attribute information decoding device, the device comprising: a second acquisition module for acquiring third information; a second decision module for deciding whether to perform an inverse DCT transformation on the K points to be decoded based on fourth information related to the third information; a second transform module for performing an inverse DCT transform on the K points to be decoded when it is determined that the K points to be decoded are to be subjected to an inverse DCT transform, and obtaining attribute residual information of the K points to be decoded; a decoding module for obtaining attribute reconstruction information of the K points to be decoded according to attribute residual information and attribute prediction information of the K points to be decoded, and decoding undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0009] According to a fifth aspect, there is provided a terminal including a processor, a memory, and a program or instructions stored in the memory and operable on the processor, the program or instructions, when executed by the processor, implementing the steps of the point cloud attribute information coding method described in the first aspect or the steps of the point cloud attribute information decoding method described in the second aspect.

[0010] According to a sixth aspect, there is provided a terminal, the terminal including a processor and a communications interface, wherein the processor: Obtaining first information; determining whether to perform a discrete cosine transform (DCT) on the K points to be coded based on second information related to the first information; When it is determined that the K points to be coded are to be DCT-transformed, the K points to be coded are to be DCT-transformed to obtain transform coefficients of the K points to be coded; quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; wherein the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is an integer greater than 1; Alternatively, the processor obtaining third information; and determining whether to perform an inverse DCT transform on the K points to be decoded based on fourth information related to the third information; If it is determined that an inverse DCT transform is performed on the K points to be decoded, then the inverse DCT transform is performed on the K points to be decoded to obtain attribute residual information of the K points to be decoded; obtaining attribute reconstruction information of the K points to be decoded according to the attribute residual information and attribute prediction information of the K points to be decoded, and decoding undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0011] According to a seventh aspect, there is provided a readable storage medium having a program or instructions stored thereon, which, when executed by a processor, realizes the steps of the point cloud attribute information coding method described in the first aspect or the steps of the point cloud attribute information decoding method described in the second aspect.

[0012] According to an eighth aspect, there is provided a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor running a program or instruction to implement steps of the point cloud attribute information coding method described in the first aspect, or to implement steps of the point cloud attribute information decoding method described in the second aspect.

[0013] According to a ninth aspect, there is provided a computer program / program product, the computer program / program product being stored in a non-volatile storage medium, and the computer program / program product being executed by at least one processor to implement the steps of the point cloud attribute information coding method described in the first aspect, or the steps of the point cloud attribute information decoding method described in the second aspect.

[0014] According to a tenth aspect, there is provided a communications device configured to perform the steps of the point cloud attribute information coding method described in the first aspect, or configured to perform the steps of the point cloud attribute information decoding method described in the second aspect. [Effects of the Invention]

[0015] In the embodiments of the present application, in the process of coding a group of points to be coded, it is necessary to determine whether to perform DCT transformation on the points to be coded based on the attribute prediction information of the points to be coded or the attribute reconstruction information of the coded points. If it is determined that the points to be coded need to be DCT transformed, by performing DCT transformation on the points to be coded, the dispersed distribution of the attribute information in the spatial domain can be further transformed into a relatively concentrated distribution in the transformed domain, and the signal energy can be concentrated in a small number of coefficients, making the quantization and coding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance. [Brief explanation of the drawings]

[0016] [Figure 1] AVS encoder framework diagram. [Figure 2] 10 is a conversion flowchart at the coding end. [Figure 3] 1 is a flowchart of a point cloud attribute information coding method according to an embodiment of the present application; [Figure 4] 1 is a flowchart of another point cloud attribute information coding method according to an embodiment of the present application; [Figure 5] 1 is a flowchart of a point cloud attribute information decoding method according to an embodiment of the present application; [Figure 6] 1 is a structural diagram of a point cloud attribute information coding device according to an embodiment of the present application; [Figure 7] 1 is a structural diagram of a point cloud attribute information decoding device according to an embodiment of the present application; [Figure 8] 1 is a structural diagram of a communication device according to an embodiment of the present application; [Figure 9] FIG. 2 is a structural diagram of a terminal according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0017] The following clearly describes the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present application fall within the scope of protection of the present application.

[0018] The terms "first," "second," etc. in the specification and claims of this application are intended to distinguish between similar objects and are not intended to describe a particular order or sequence. It should be understood that terms used in this manner are interchangeable where appropriate, so that embodiments of this application may be performed in orders other than those illustrated or described herein, and that objects distinguished by "first" and "second" are generally of the same type and do not limit the number of objects; for example, a first object may be one or more. Furthermore, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / " generally indicates an "or" relationship between the related objects.

[0019] The encoder corresponding to the coding method and the decoder corresponding to the decoding method in the embodiments of the present application may both be a terminal, which may be referred to as a terminal device or user equipment (UE). The terminal may be a terminal-side device such as a mobile phone, a tablet personal computer, a laptop computer (also called a notebook computer), a personal digital assistant (PDA), a palmtop computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile internet device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device or a vehicle-mounted equipment (VUE), a pedestrian terminal (PUE), etc. Wearable devices include smart watches, bracelets, earphones, glasses, etc. It should be noted that the specific type of terminal in the embodiments of the present application is not limited.

[0020] In order to better understand the technical solution of the present application, the following will explain and explain the possible related concepts involved in the present application.

[0021] In the point cloud digital audio video coding standard (AVS) encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are coded separately.

[0022] Referring to Figure 1, Figure 1 illustrates the AVS encoder framework. When coding geometric information, the geometric information is first transformed so that all points are contained within a single bounding box. Quantization is then performed. This quantization step primarily serves the purpose of scaling, quantizing and rounding the geometric information of some points so that they remain the same. It determines whether or not to remove duplicate points based on parameters. The quantization and duplicate point removal processes are preprocessing steps. The bounding box is then divided (into an octree, quadtree, or binary tree) in breadth-first traversal order, and a place code is coded for each node. In the octree-based geometric coding framework, the bounding box is sequentially divided to obtain subcubes. Non-empty subcubes (containing points in the point cloud) are then divided. When the resulting leaf node becomes a 1x1x1 unit cube, the division stops. The number of points contained in the leaf node is then coded. Finally, the coding of the geometric octree is completed, generating a binary code stream. In the octree-based geometric decoding process, the decoding end obtains the place code of each node through continuous analysis in the breadth-first traversal order, and then continuously divides the nodes in order to obtain a 1x1x1 unit cube, after which the division is stopped and the points contained in each leaf node are obtained through analysis, and finally the geometric reconstruction point cloud information is obtained.

[0023] Attribute coding is primarily performed on color and reflectance information. First, a decision is made as to whether color space conversion is necessary. If color space conversion is necessary, the color information is converted from the red-green-blue (RGB) color space to the YUV (Y is the luminance component, and UV is the chrominance component) color space. Then, the reconstructed point cloud is recolored using the original point cloud to associate the uncoded attribute information with the reconstructed geometric information. Attribute information coding can be divided into two methods: attribute predictive coding and attribute transform coding. The attribute prediction process involves first rearranging the point cloud and then performing differential prediction. There are two rearrangement methods: Morton rearrangement and Hilbert rearrangement. Hilbert rearrangement is performed on cat1A sequences and cat2 orders, and Morton rearrangement is performed on cat1B sequences and cat3 orders. Attribute prediction is performed on the rearranged point cloud using a differential method. Finally, the prediction residual is quantized and entropy coded to generate a binary code stream. The attribute transformation process involves first performing a wavelet transform on the point cloud attributes, then quantizing the transform coefficients, then inverse quantizing and inverse wavelet transforming to obtain attribute reconstruction values, then calculating the difference between the original attributes and the attribute reconstruction values ​​to obtain attribute residuals, which are then quantized, and finally entropy coding the quantized transform coefficients and attribute residuals to generate a binary code stream. The decoding of attribute information is the reverse process of coding, and will not be described in detail here.

[0024] The Discrete Cosine Transform (DCT) and Discrete Sine Transform (DST) are primarily used in image and video coding. Referring to FIG. 2, the transform flow at the coding end is as follows: first, a prediction signal is subtracted from the original signal to obtain a residual signal; then, the residual signal is subjected to a first-order DCT transform to obtain primary transform coefficients; the low-frequency components of the primary transform coefficient block are subjected to a second-order transform to obtain secondary transform coefficients with more concentrated energy distribution; then, quantization is performed; and the resulting code stream is then entropy coded. The quantized coefficients are then inversely quantized, inversely second-order transformed, and inversely first-order transformed to obtain a restored residual; this is then added to the prediction signal to obtain a reconstructed signal; and then, loop filtering is performed to reduce distortion. Here, the second-order transform is not necessarily performed; it is shown by the dotted line in FIG. 2.

[0025] In conventional video coding standards, attribute transform coding directly transforms the original attribute information, and for areas with a relatively large local transform width, there is still a lot of redundant information in the resulting transform coefficients, which causes relatively poor coding efficiency.

[0026] Hereinafter, a point cloud attribute information coding method, decoding method, apparatus, and related devices according to embodiments of the present application will be described in detail with reference to several embodiments and application scenarios thereof in conjunction with the drawings.

[0027] Referring to Figure 3, Figure 3 is a flowchart of a point cloud attribute information coding method according to an embodiment of the present application, which may be used in terminals such as mobile phones, tablet computers, computers, etc. As shown in Figure 3, the method includes the following steps:

[0028] Step 301: Obtain first information.

[0029] In an embodiment of the present application, the first information may include points to be coded or may include coded points.

[0030] Optionally, the first information includes the K points to be coded, and step 301 includes: The method includes a step of sorting the group of points to be coded, and obtaining K points to be coded in the group of points to be coded after sorting.

[0031] In the embodiment of the present application, after obtaining the points to be coded, the points to be coded may be rearranged. For example, if the attribute information is mainly related to color, it is first determined whether the points to be coded need to undergo color space conversion. If color space conversion is required, the color information of the points to be coded may be converted from RGB color space to YUV color space, and the original points may be used to recolor the points to be coded, thereby associating the attribute information of the points to be coded with the reconstructed geometric information. After the recoloring and color space conversion, the points to be coded are rearranged, and the points to be coded include N points, each of which is

number

number

[0032] Optionally, the permutation of the points to be coded may be realized based on a Hilbert code or a Morton code. The permutation of the points to be coded and the acquisition of the K points to be coded in the permuted points to be coded may include: Calculating a Hilbert code corresponding to each point in the group of points to be coded, sorting the group of points to be coded according to the Hilbert code, and selecting K points to be coded in the sorted group of points to be coded; or The method includes calculating a Morton code corresponding to each point in the group of points to be coded, sorting the group of points to be coded according to the Morton code, and selecting K points to be coded in order from the group of points to be coded after sorting.

[0033] It should be noted that the K points to be coded may be selected in a certain order. For example, if the group of points to be coded includes 9 points to be coded, Hilbert codes corresponding to these 9 points to be coded are calculated, and these 9 points to be coded are sorted according to Hilbert, and then the points to be coded are grouped into groups of 3, and the first three points to be sorted are selected as the K points to be coded, and subsequent steps such as attribute prediction are performed, and the three points following the first three points are selected in order as a group to perform subsequent steps such as attribute prediction, and then the last three points are selected to perform subsequent steps such as attribute prediction.

[0034] Here, for the selected K points to be coded, it is necessary to determine whether a point to be coded among these K points to be coded and an already-coded point are overlapping points. If a point to be coded among these K points to be coded and an already-coded point are overlapping points, attribute residual information between this point to be coded and the already-coded point is directly calculated, and this point to be coded does not have to be one of these K points to be coded. If a point to be coded among these K points to be coded and the already-coded point are not overlapping points, attribute information prediction can be performed on these K points to be coded using the already-coded point to obtain attribute prediction information for these K points to be coded. A specific attribute information prediction method will be described in the subsequent embodiments.

[0035] Step 302: determining whether to perform DCT transformation on the K points to be coded based on second information related to the first information;

[0036] Here, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is a positive integer greater than 1.

[0037] That is, when the first information is K points to be coded and the second information is attribute prediction information of these K points to be coded, it is determined whether to perform DCT transformation on these K points to be coded based on the attribute prediction information of the K points to be coded; when the first information is the first N coded points of the K points to be coded and the second information is attribute reconstruction information of these N coded points, it is determined whether to perform DCT transformation on the K points to be coded based on the attribute reconstruction information of the N coded points.

[0038] In the embodiment of the present application, when determining whether to perform DCT transformation on K coding points based on the attribute prediction information of these K coding points, it is necessary to first obtain the attribute prediction information of the K coding points.

[0039] Optionally, before step 302: a step of obtaining S neighboring points having the shortest Manhattan distance from a target coding point according to a double Hilbert order or a double Morton order, the target coding point being one of the K coding points; determining initial attribute prediction information of the point to be targeted for coding based on the S neighboring points; and determining attribute prediction information of the point to be target coded based on the first weight corresponding to the point to be target coded and the initial attribute prediction information.

[0040] Here, obtaining S neighboring points with the shortest Manhattan distance from the point to be targeted for coding according to the double Hilbert order or double Morton order is as follows: The method includes obtaining M points before the point to be target coded according to Hilbert 1 order in a predetermined preset search range, and obtaining N1 points before the point to be target coded and N2 points after the point to be target coded according to Hilbert 2 order, and obtaining S neighboring points having the shortest Manhattan distance to the point to be target coded within a target range determined based on M, N1, and N2.

[0041] Specifically, after determining the K points to be coded, the target points to be coded may be selected based on a predetermined rule, for example, the target points to be coded may be selected in order according to the order of the K points to be coded. If the K points to be coded are determined after sorting the points to be coded according to Hilbert codes, the target points to be coded may be selected in order based on the magnitudes of the Hilbert codes corresponding to the K points to be coded.

[0042] For a point to be targeted for coding, first, M points before the point to be targeted for coding are searched for according to Hilbert 1 order, then N1 points before the point to be targeted for coding and N2 points after the point to be targeted for coding are searched for according to Hilbert 2 order, and among these M+N1+N2 points, S neighboring points having the shortest Manhattan distance to the point to be targeted for coding are selected, and initial attribute prediction information of the point to be targeted for coding is determined based on these S neighboring points, and attribute prediction information of the point to be targeted for coding is determined based on a first weight corresponding to the point to be targeted for coding and the initial attribute prediction information. It should be noted that M, N1, and N2 are all positive integers.

[0043] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0044] wherein determining initial attribute prediction information of the point to be targeted for coding based on the S neighboring points includes: determining initial attribute prediction information of the point to be targeted for coding based on each neighboring point among the S neighboring points and a corresponding second weight, the second weight being the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point;

[0045] It can be understood that, for the S neighboring points of the point to be targeted for coding, the Manhattan distance between each neighboring point and the point to be targeted for coding is different, and the second weight corresponding to each neighboring point is also different, provided that the second weight is the inverse of the Manhattan distance between the current neighboring point and the point to be targeted for coding. The initial attribute prediction information of the point to be targeted for coding may be the sum of the products of the attribute information of each neighboring point among the S neighboring points and its corresponding second weight, and further calculation is performed to obtain the initial attribute prediction information of the point to be targeted for coding.

[0046] Furthermore, based on the above-mentioned method for determining the initial attribute prediction information of the points to be targeted coded, the initial attribute prediction information of each of the K points to be coded can be calculated, and the attribute prediction information corresponding to each point to be coded can be calculated based on the first weight and the initial attribute prediction information corresponding to each point to be coded.

[0047] For example, target coding points

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0048] Optionally, the sum of the first weights corresponding to the K nodes to be coded is 1. For example, if the value of K is 4, the sum of the four first weights corresponding to the four points to be coded is 1.

[0049] Alternatively, obtaining S neighboring points having the shortest Manhattan distance from the target coding point according to the double Hilbert order or double Morton order can be performed as follows: The method includes obtaining M pre-order points of a point to be target coded according to Morton 1 order in a predetermined preset search range, and obtaining N1 pre-order points and N2 post-order points of the point to be target coded according to Morton 2 order, and obtaining S neighboring points having the shortest Manhattan distance to the point to be target coded within a target range determined based on M, N1, and N2.

[0050] Specifically, for a point to be targeted for coding, first, M points before the point to be targeted for coding are searched for according to Morton 1 order, then N1 points before the point to be targeted for coding and N2 points after the point to be targeted for coding are searched for according to Morton 2 order, and among these M+N1+N2 points, S neighboring points having the shortest Manhattan distance to the point to be targeted for coding are selected, and initial attribute prediction information of the point to be targeted for coding is determined based on these S neighboring points, and attribute prediction information of the point to be targeted for coding is determined based on a first weight corresponding to the point to be targeted for coding and the initial attribute prediction information. It should be noted that M, N1, and N2 are all positive integers.

[0051] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0052] Furthermore, after obtaining S neighboring points with the closest Manhattan distance to the point to be targeted for coding based on the Morton sequence, attribute weighted prediction is performed on the S neighboring points, where the weight is the reciprocal of the Manhattan distance between the current neighboring point and the point to be targeted for coding, initial attribute prediction information of the point to be targeted for coding is obtained, and attribute prediction information of the point to be targeted for coding is calculated based on the first weight corresponding to the point to be targeted for coding and the initial attribute prediction information, and attribute prediction information of K points to be targeted for coding is further calculated based on the first weight and the initial attribute prediction information. Here, the method of obtaining the attribute prediction information may refer to the above specific description of obtaining S neighboring points based on double Hilbert order and performing attribute prediction, with the only difference being that this embodiment obtains S neighboring points based on double Morton order, and the specific method of obtaining the attribute prediction information will not be further described herein.

[0053] Alternatively, the search range of the Hilbert 1 order or the Morton 1 order is a first preset range, the pre-order search range of the Hilbert 2 order or the Morton 2 order is a second preset range, and the post-order search range of the Hilbert 2 order or the Morton 2 order is a third preset range or the second preset range. It should be noted that the search ranges of the first preset range, the second preset range, and the third preset range may be manually set according to coding needs.

[0054] Here, the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter is used to characterize the first preset range, the second attribute parameter is used to characterize the second preset range, and when the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, and the third attribute parameter is used to characterize the third preset range.

[0055] That is, the first, second, and third preset ranges may be written into the codestream as attribute information parameter sets. When the pre-order search range of the Hilbert 2 order or Morton 2 order is the same as the post-order search range of the Hilbert 2 order or Morton 2 order, i.e., both are the second preset range, only the first attribute parameter characterizing the search range of the Hilbert 1 order or Morton 1 order and the subsequent second attribute parameter characterizing the pre-order and Hilbert 2 order or Morton 2 order of the Hilbert 2 order or Morton 2 order need to be written into the codestream. When the pre-order search range of the Hilbert 2 order or Morton 2 order is different from the post-order search range of the Hilbert 2 order or Morton 2 order, the first, second, and third attribute parameters need to be written into the binary codestream. By writing the attribute parameters into the codestream, the attribute information coding process can further determine S neighboring points with the closest Manhattan distance to the point to be target coded based on the first preset range, the second preset range, and the third preset range.

[0056] In the embodiment of the present application, the attribute prediction information of the K coding points may be determined based on other methods. Optionally, before step 302, A step of obtaining T neighboring points of the first point of the K points to be coded as a reference point; acquiring R neighboring points from the T neighboring points that have the shortest Manhattan distance to the reference point; obtaining L neighboring points of the R neighboring points of a target coding point among the K points to be coded, the L neighboring points being closest in Manhattan distance, wherein the target coding point is one of the K points to be coded; determining initial attribute prediction information of the target coding point based on L neighboring points; and determining attribute prediction information of the point to be target coded based on a first weight corresponding to the point to be target coded and the initial attribute prediction information, where T, R, and L are all positive integers.

[0057] In this embodiment, the K points to be coded may be sorted in a certain order. For example, if the points to be coded are sorted according to the Morton code, the K points to be coded may be sorted based on the magnitude of the corresponding Morton code, and the first point of the K points to be coded may refer to the point with the smallest or largest Morton code. Furthermore, using the first point as a reference point, T neighboring points of the reference point are selected, and from these T neighboring points, R neighboring points with the shortest Manhattan distances from the reference point are selected. For each of the K points to be coded, L neighboring points with the shortest Manhattan distances are selected from these R neighboring points. For each point to be coded, corresponding initial attribute prediction information is determined based on the corresponding L neighboring points. Furthermore, attribute prediction information corresponding to each point to be coded is determined based on the first weight and the initial attribute prediction information corresponding to each point to be coded. In this way, the attribute prediction information of the K points to be coded can be calculated and obtained.

[0058] In this embodiment, the sum of the first weights corresponding to the K nodes to be coded is one.

[0059] Here, determining initial attribute prediction information of the point to be targeted for coding based on the L neighboring points includes: determining initial attribute prediction information of the point to be targeted for coding based on each neighboring point among the L number of neighboring points and a corresponding second weight, wherein the second weight is the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point;

[0060] It can be understood that, for the L neighboring points of the point to be targeted for coding, the Manhattan distance between each neighboring point and the point to be targeted for coding is different, and if the second weight is the inverse of the Manhattan distance between the current neighboring point and the point to be targeted for coding, the second weight corresponding to each neighboring point is also different. Optionally, the initial attribute prediction information of the point to be targeted for coding may be the sum of the products of the attribute information of each neighboring point among the L neighboring points and its corresponding second weight, and further calculated to obtain the initial attribute prediction information of the point to be targeted for coding.

[0061] In the embodiment of the present application, after determining the attribute prediction information of the K points to be coded according to the above method, it may be determined whether to perform DCT transformation on the K points to be coded according to the attribute prediction information of the K points to be coded. In this case, that is, when the first information includes the K points to be coded and the second information includes the attribute prediction information of the K points to be coded, the step 302 may be: obtaining a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be coded, and determining to perform DCT transformation on the K points to be coded when an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a first threshold value; or The method may further include the step of determining to perform DCT transformation on the K points to be coded when the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold.

[0062] For example, the attribute prediction information of the K points to be coded is

number

number

number

number

number

number

number

[0063] Alternatively, the maximum attribute prediction value and the minimum attribute prediction value in the attribute prediction information corresponding to these K points to be coded are obtained, respectively.

number

number

number

number

number

[0064] In an embodiment of the present application, the first information may include the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points. In such a case, step 302 may include: Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N coded points, and determining to perform DCT transformation on the K points to be coded if an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is smaller than a third threshold; or The method includes determining to perform DCT transformation on the K points to be coded if the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is smaller than a fourth threshold.

[0065] Here, N is an integer greater than 1, i.e., at least two coded points preceding the K points to be coded must be obtained. As can be seen, the attribute reconstruction information of the coded points can be obtained. The attribute reconstruction information is attribute information assigned to the point cloud sequence. However, the attribute reconstruction information differs from the original attribute information in the original point cloud in that the attribute reconstruction information is obtained by adding attribute residual information to attribute prediction information of the point cloud after the coding process at the coding end.

[0066] In this embodiment, attribute reconstruction information of N points to be coded is

number

number

number

number

number

number

number

[0067] Alternatively, the maximum attribute reconstruction value and the minimum attribute reconstruction value in the attribute reconstruction information corresponding to these N points to be coded are obtained, respectively.

number

number

number

number

number

[0068] Step 303: if it is determined that the K points to be coded are to be DCT-transformed, DCT-transform the K points to be coded to obtain transform coefficients of the K points to be coded;

[0069] In the embodiment of the present application, if it is determined that DCT transformation is performed on K points to be coded, DCT transformation may be performed on the attribute residual information of these K points to be coded. Furthermore, before performing DCT transformation on the K points to be coded, the method may include: The method further includes obtaining attribute residual information of the K points to be coded based on attribute prediction information of the K points to be coded.

[0070] Here, the attribute residual information of each of the K points to be coded may be the difference between the original attribute information of the point to be coded and the attribute predicted information.

[0071] Furthermore, performing DCT transformation on the K points to be coded to obtain transform coefficients of the K points to be coded may include: The method includes performing DCT transformation on attribute residual information of the K points to be coded to obtain transformation coefficients corresponding to the K points to be coded.

[0072] For example, the attribute residual information of the K points to be coded is

number

number

number

number

[0073] In step 304, the transform coefficients of the K points to be coded are quantized, and entropy coding is performed based on the quantized transform coefficients to generate a binary code stream.

[0074] Specifically, after obtaining the transform coefficients of the K points to be coded, the transform coefficients are quantized to obtain the quantized transform coefficients, and then entropy coding is performed on the quantized transform coefficients to generate a binary code stream, and the coding of the point group attribute information to be coded is completed.

[0075] In the embodiments of the present application, in the process of coding a group of points to be coded, it is necessary to determine whether to perform DCT transformation on the points to be coded based on the attribute prediction information of the points to be coded or the attribute reconstruction information of the coded points. If it is determined that the points to be coded need to be DCT transformed, by performing DCT transformation on the points to be coded, the dispersed distribution of the attribute information in the spatial domain can be further transformed into a relatively concentrated distribution in the transformed domain, and the signal energy can be concentrated in a small number of coefficients, making the quantization and coding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0076] wherein the transform coefficients include low-frequency coefficients and high-frequency coefficients, and quantizing the transform coefficients of the K points to be coded and performing entropy coding based on the quantized transform coefficients includes: The method includes quantizing the high-frequency coefficients and low-frequency coefficients corresponding to the K points to be coded, and performing entropy coding on the quantized high-frequency coefficients and low-frequency coefficients, respectively, to obtain first coding values ​​and second coding values.

[0077] Optionally, after quantizing the transform coefficients of the K points to be coded and performing entropy coding based on the quantized transform coefficients, the method further comprises: The method further includes inversely quantizing the quantized transform coefficients, and inversely transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded.

[0078] In an embodiment of the present application, after quantization and entropy coding are performed on the transform coefficients of the K points to be coded, inverse quantization and inverse DCT transformation may be performed based on the quantized transform coefficients to obtain attribute reconstruction information of the K points to be coded.

[0079] Here, performing entropy coding on the high-frequency coefficients and the low-frequency coefficients after quantization to obtain first coding values ​​and second coding values, respectively, dequantizing the coding values ​​obtained after the entropy coding, and inverse transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded, Inversely quantizing the first coding value and the second coding value to obtain inverse high-frequency coefficients and inverse low-frequency coefficients after inverse quantization; performing an inverse DCT transformation based on the inverse high-frequency coefficients and the inverse low-frequency coefficients to obtain inverse attribute residual information corresponding to the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded based on the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0080] Specifically, entropy coding is performed on the high-frequency coefficients and low-frequency coefficients after quantization, and the entropy-coded coding values ​​are inversely quantized to obtain inverse high-frequency coefficients and inverse low-frequency coefficients of the inverse quantization. Then, DCT inverse transformation is performed on the inverse high-frequency coefficients and inverse low-frequency coefficients to obtain inverse attribute residual information of the K points to be coded. It should be noted that in the coding process, DCT transformation is performed on the attribute residual information of the K points to be coded, and then quantization, inverse quantization and inverse transformation are required. In this process, the attribute residual information may be lost, so the obtained inverse attribute residual information may not be consistent with the attribute residual information of the K points to be coded before DCT transformation.

[0081] Furthermore, attribute reconstruction information of the K points to be coded can be obtained based on the inverse attribute residual information and the attribute prediction information of the K points to be coded, and the attribute reconstruction information may be a sum of the attribute prediction information and the inverse attribute residual information.

[0082] In an embodiment of the present application, the quantization of the high-pass coefficients and the low-pass coefficients corresponding to the K points to be coded is performed by: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; quantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and quantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

[0083] Here, during the process of quantizing the transform coefficients, a certain offset may occur in the quantization step size, and the scaling operation of the integer DCT needs to be completed based on the offset of the quantization step size. That is, the quantization step size of the transform coefficients to be quantized is the quantization step size after the scaling operation is completed, thereby ensuring the accuracy of the quantization result and avoiding quantization errors caused by the quantization step size offset.

[0084] Optionally, the step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient may include: It also includes obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be coded.

[0085] wherein, when a component distribution corresponding to the attribute information of the K points to be coded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be coded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0086] For example, if the component distribution corresponding to the attribute information is flat, a rougher quantization method may be used.

number

number

number

number

number

number

number

number

[0087] If the component distribution corresponding to the attribute information is not flat, the same quantization step size is used for the high-pass and low-pass coefficients during quantization.

number

number

number

number

number

[0088] Furthermore, when the high-frequency coefficient is smaller than a first preset threshold, the value after quantization of the high-frequency coefficient is 0, and when the low-frequency coefficient is smaller than a second preset threshold, the value after quantization of the low-frequency coefficient is 0. Here, the first preset threshold and the second preset threshold may be the same or different.

[0089] In an embodiment of the present application, the method may further include a coding method that does not perform DCT transformation on the K points to be coded. quantizing attribute residual information of the K points to be coded when it is determined that DCT transformation is not performed on the K points to be coded; The method further includes performing entropy coding on the attribute residual information after quantizing the K points to be coded, to generate a binary code stream.

[0090] That is, if it is determined based on the attribute prediction information of the K points to be coded that DCT transformation is not performed on the K points to be coded, or based on the N coded points that DCT transformation is not performed on the K points to be coded, the attribute residual information of the K points to be coded can be directly quantized, and then entropy coding can be performed based on the quantized attribute residual information to generate a binary code stream, thereby completing the coding of the points to be coded.

[0091] Furthermore, after performing entropy coding on the attribute residual information after quantizing the K points to be coded, the method further comprises: Inversely quantizing the coding value obtained after the entropy coding to obtain inverse attribute residual information after inverse quantization of the K points to be coded; The method may further include obtaining attribute reconstruction information of the K points to be coded based on the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0092] That is, for K points to be coded that do not need to be DCT transformed, the attribute residual information of these K points to be coded may be quantized, and entropy coding may be performed based on the quantized attribute residual information. Then, similarly, the coding value obtained after entropy coding may be inversely quantized to obtain inverse attribute residual information, and attribute reconstruction information of these K points may be obtained based on the sum of the inverse attribute residual information and the attribute prediction information of the K points to be coded.

[0093] Optionally, in an embodiment of the present application, before obtaining the first information, the method further comprises: obtaining identifier information for indicating whether to perform the method; and determining whether to perform the method based on the identifier information.

[0094] Here, the identifier information may be identifier information obtained based on user input, for example, a parameter input by the user, or a parameter pre-stored in the coding terminal, and this pre-stored parameter is obtained by user operation, and this parameter is used to indicate whether the coding terminal should execute the point cloud attribute information coding method.

[0095] For example, the identifier information may be characterized by 0 or 1, where if the identifier information is 0, it indicates that there is no need to execute the point cloud attribute information coding method, and the coding terminal does not execute the point cloud attribute information coding method, and if the identifier information is 1, the coding terminal executes the point cloud attribute information coding method. Alternatively, the identifier information may be in other characterizing forms, for example, if the identifier information is 'true', the coding terminal executes the point cloud attribute information coding method, and if the identifier information is 'false', the coding terminal does not execute the point cloud attribute information coding method. Of course, the identifier information may be in other characterizing forms, and these will not be listed in the embodiments of the present application.

[0096] Furthermore, after generating the binary code stream, the method further comprises: The method further includes writing the identifier information into the binary code stream.

[0097] It can be seen that, after generating a binary code stream, the coding end writes the identifier information into the binary code stream; after obtaining the binary code stream, the decoding end can obtain the identifier information by decoding the binary code stream. Based on the identifier information, the coding end can know whether the coding end has adopted the point cloud attribute information coding method for coding. Based on the identifier information, the decoding end can adopt a corresponding decoding method to ensure that the decoding end can decode smoothly and guarantee the decoding efficiency.

[0098] In the embodiments of the present application, the attribute reconstruction information of the K points to be coded is obtained by inverse quantizing the coding values ​​after entropy coding, or the attribute reconstruction information of the K points to be coded is obtained by sequentially inverse quantizing and inverse DCT transforming the coding values ​​after entropy coding for the K points to be coded. Based on the obtained attribute reconstruction information, it can be determined whether or not DCT transformation is required for the uncoded points in the group of points to be coded. Furthermore, the distributed distribution of attribute information in the spatial domain is transformed into a concentrated distribution in the transformed domain, thereby achieving the purpose of eliminating spatial redundancy and improving attribute coding efficiency and reconstruction performance.

[0099] Referring to Fig. 4, Fig. 4 is a flowchart of another point cloud attribute coding method according to an embodiment of the present application. As shown in Fig. 4, the flow of this method is as follows: first, rearrange the points to be coded, and may be rearranged based on Morton code or Hilbert code; for the rearranged points to be coded, determine whether they are overlapping points, that is, whether they overlap with points that have already been coded; if yes, obtain attribute prediction information of the overlapping points, and quantize according to the attribute prediction information; if the points to be coded are not overlapping points, perform attribute information prediction on the points to be coded, obtain attribute prediction information, and determine whether DCT transformation is required according to the attribute prediction information of the points to be coded; if yes, for the points to be coded, Perform K-order DCT transformation to obtain transform coefficients, and quantize the transform coefficients; if there is no need to perform DCT transformation, directly quantize the attribute residual information of the point to be coded, perform attribute information reconstruction according to the related information after quantization, obtain attribute reconstruction information, and determine whether subsequent uncoded points need to be DCT transformed according to the attribute reconstruction information; further determine whether all points in the uncoded point cloud sequence have been traversed; if yes, perform entropy coding on the related information after quantization; if no, continue to determine whether the uncoded points are duplicated points until the quantization and entropy coding of all points in the uncoded point cloud have been completed. It should be noted that the related concepts and specific implementation methods of this embodiment may refer to the description in the embodiment shown in Figure 3 above, and will not be further described here.

[0100] Referring to Figure 5, Figure 5 is a flowchart of a point cloud attribute information decoding method according to an embodiment of the present application, which may be used in terminals such as mobile phones, tablet computers, computers, etc. As shown in Figure 5, the method includes the following steps: Step 501: Obtain third information; Step 502: determining whether to perform an inverse DCT transformation on the K points to be decoded based on fourth information related to the third information; Step 503: if it is determined that the K points to be decoded are to be subjected to inverse DCT transformation, perform inverse DCT transformation on the K points to be decoded to obtain attribute residual information of the K points to be decoded; Step 504: Obtaining attribute reconstruction information of the K points to be decoded according to the attribute residual information and attribute prediction information of the K points to be decoded, and decoding the undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0101] Optionally, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded. In this case, step 502 may include: Obtaining a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be decoded, and determining to perform an inverse DCT transformation on the K points to be decoded when an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a first threshold value; or The method includes the step of determining to perform an inverse DCT transformation on the K points to be coded when the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold.

[0102] Optionally, the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, in which case step 502 may include: Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N decoded points, and determining to perform an inverse DCT transformation on the K points to be decoded if the absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or The method includes determining to perform an inverse DCT transformation on the K points to be decoded if the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is smaller than a fourth threshold.

[0103] Optionally, the third information includes K points to be decoded, and step 501 includes: The method may further include the step of sorting the group of points to be decoded and obtaining K points to be decoded in the group of points to be decoded after sorting.

[0104] Optionally, the step of rearranging the points to be decoded and obtaining K points to be decoded in the rearranged points to be decoded includes: Calculating a Hilbert code corresponding to each point in the point cloud to be decoded, sorting the point cloud to be decoded according to the Hilbert code, and selecting K points to be decoded in the sorted point cloud to be decoded in order; or The method includes calculating a Morton code corresponding to each point in the group of points to be decoded, sorting the group of points to be decoded according to the Morton code, and selecting K points to be decoded in the sorted group of points to be decoded in order.

[0105] Optionally, before step 502, the method further comprises: Obtaining S neighboring points that have the closest Manhattan distance to the target decoding point according to a double Hilbert order or a double Morton order, where the target decoding point is one of the K decoding points; determining initial attribute prediction information of the target point to be decoded based on the S neighboring points; The method further includes determining attribute prediction information of the target point to be decoded based on a first weight corresponding to the target point to be decoded and the initial attribute prediction information.

[0106] Optionally, the step of obtaining S neighboring points having the shortest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order may include: In a predetermined preset search range, obtain M pre-order points of the point to be decoded according to Hilbert 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be decoded according to Hilbert 2 order, and obtain S neighboring points that have the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, obtaining M pre-order points of the point to be decoded according to Morton 1 order, and obtaining N1 pre-order points and N2 post-order points of the point to be decoded according to Morton 2 order, and obtaining S neighboring points having the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1, and N2; Here, M, N1 and N2 are all positive integers.

[0107] Alternatively, the Hilbert 1 order or Morton 1 order search range is a first preset range, the Hilbert 2 order or Morton 2 order pre-order search range is a second preset range, and the Hilbert 2 order or Morton 2 order post-order search range is a third preset range; wherein the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter being used to characterize the first preset range, and the second attribute parameter being used to characterize the second preset range; When the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, which is used to characterize the third preset range.

[0108] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0109] Optionally, determining initial attribute prediction information of the target point to be decoded based on the S neighboring points may include: determining initial attribute prediction information of the target point to be decoded based on each neighboring point among the S neighboring points and a corresponding second weight, wherein the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point;

[0110] Optionally, the third information includes the K points to be decoded, and before step 502, the method further comprises: A step of obtaining T neighboring points of the first point of the K points to be decoded as a reference point; acquiring R neighboring points from the T neighboring points that have the shortest Manhattan distance to the reference point; A step of obtaining L neighboring points having the shortest Manhattan distance among the R neighboring points of a target decoding point among the K points to be decoded, wherein the target decoding point is one of the K points to be decoded; determining initial attribute prediction information of the target point to be decoded based on L neighboring points; determining attribute prediction information of the target point to be decoded based on a first weight corresponding to the target point to be decoded and the initial attribute prediction information; Here, T, R and L are all positive integers.

[0111] Optionally, determining initial attribute prediction information of the target point to be decoded based on the L neighboring points may include: determining initial attribute prediction information of the target point to be decoded based on each neighboring point among the L neighboring points and a corresponding second weight, wherein the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point;

[0112] Optionally, the sum of the first weights respectively corresponding to the K nodes to be decoded is one.

[0113] Optionally, before performing an inverse DCT transform on the K points to be decoded, the method further comprises: Obtaining transform coefficients of the K points to be decoded; and dequantizing the transform coefficients to obtain dequantized transform coefficients. The step of performing an inverse DCT transform on the K points to be decoded includes the steps of: The method includes performing an inverse DCT transform on the K points to be decoded based on the inverse-quantized transform coefficients.

[0114] Optionally, the transform coefficients include high-frequency coefficients and low-frequency coefficients, and the step of dequantizing the transform coefficients to obtain the dequantized transform coefficients includes: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; The method includes dequantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and dequantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

[0115] Optionally, the step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient may include: It also includes obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be decoded.

[0116] Optionally, obtaining a high-pass coefficient quantization step size corresponding to the high-pass coefficient and a low-pass coefficient quantization step size corresponding to the low-pass coefficient according to the component distribution status corresponding to the attribute information of the K points to be decoded includes: When a component distribution corresponding to the attribute information of the K points to be decoded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be decoded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0117] Optionally, if the high-frequency coefficient is smaller than a first preset threshold, the value of the high-frequency coefficient after quantization is 0, and if the low-frequency coefficient is smaller than a second preset threshold, the value of the low-frequency coefficient after quantization is 0.

[0118] Optionally, the method further comprises: If it is determined that the K points to be decoded are not to be subjected to an inverse DCT transform, the method further includes quantizing transform coefficients of the K points to be decoded to obtain attribute residual information of the K points to be decoded.

[0119] Optionally, before obtaining the third information, the method further comprises: obtaining identifier information from the binary code stream for indicating whether to perform the method; and determining whether to perform the method based on the identifier information.

[0120] It should be noted that the decoding method according to this embodiment corresponds to the coding method in the embodiment described in Figure 3 above, and the relevant concepts and specific implementation methods of this embodiment may refer to the description of the coding method described in Figure 3 above, and will not be further described in this embodiment.

[0121] In the decoding method according to the embodiment of the present application, in the process of decoding the point group to be decoded, it is necessary to determine whether to perform DCT transformation on the points to be decoded based on the attribute prediction information of the points to be decoded or the attribute reconstruction information of the decoded points. If it is determined that the points to be decoded need to be DCT transformed, by performing DCT transformation on the points to be decoded, the dispersed distribution of the attribute information in the spatial domain can be further transformed into a relatively concentrated distribution in the transform domain, and the signal energy can be concentrated in a small number of coefficients, making the quantization and decoding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

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

[0123] Referring to Figure 6, Figure 6 is a structural diagram of a point cloud attribute information coding device according to an embodiment of the present application. As shown in Figure 6, the point cloud attribute information coding device 600 includes: a first acquiring module 601 for acquiring first information; a first decision module 602 for deciding whether to perform a discrete cosine transform (DCT) on the K points to be coded based on second information related to the first information; a first transformation module 603 for performing DCT transformation on the K points to be coded when it is determined that DCT transformation is performed on the K points to be coded, and obtaining transformation coefficients of the K points to be coded; a coding module 604 for quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; Here, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is an integer greater than 1.

[0124] Optionally, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded; The first determination module 602 further comprises: Obtain a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be coded, and determine to perform DCT transformation on the K points to be coded when an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a first threshold value; or If the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold, it is used to determine that a DCT transformation is performed on the K points to be coded.

[0125] Optionally, the first information includes first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points; The first determination module 602 further comprises: Obtain a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N coded points, and determine to perform DCT transformation on the K points to be coded if the absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or If the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a fourth threshold, it is used to determine that a DCT transformation is performed on the K points to be coded.

[0126] Optionally, the first information includes the K points to be coded, and the first obtaining module 601 further comprises: It is used to sort the group of points to be coded and obtain K points to be coded in the group of points to be coded after sorting.

[0127] Optionally, the first acquisition module 601 further comprises: Calculating a Hilbert code corresponding to each point in the group of points to be coded, sorting the group of points to be coded according to the Hilbert codes, and selecting K points to be coded in the sorted group of points to be coded, or The Morton code corresponding to each point in the group of points to be coded is calculated, the group of points to be coded is sorted according to the Morton code, and K points to be coded are selected in order from the sorted group of points to be coded.

[0128] Optionally, the apparatus further includes an attribute information prediction module; Obtaining S neighboring points having the shortest Manhattan distance from a target coding point according to a double Hilbert order or a double Morton order, wherein the target coding point is any one of the K coding points; determining initial attribute prediction information of the point to be targeted for coding based on the S neighboring points; and determining attribute prediction information of the point to be target coded based on the first weight corresponding to the point to be target coded and the initial attribute prediction information.

[0129] Optionally, the attribute information prediction module further comprises: In a predetermined preset search range, obtain M pre-order points of the point to be target coded according to Hilbert 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be target coded according to Hilbert 2 order, and obtain S neighboring points that have the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, M pre-order points of the point to be target coded are obtained according to Morton 1 order, and N1 pre-order points and N2 post-order points of the point to be target coded are obtained according to Morton 2 order, which are used to obtain S neighboring points that have the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1 and N2; Here, M, N1 and N2 are all positive integers.

[0130] Alternatively, the Hilbert 1 order or Morton 1 order search range is a first preset range, the Hilbert 2 order or Morton 2 order pre-order search range is a second preset range, and the Hilbert 2 order or Morton 2 order post-order search range is a third preset range or the second preset range; wherein the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter being used to characterize the first preset range, and the second attribute parameter being used to characterize the second preset range; When the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, which is used to characterize the third preset range.

[0131] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0132] Optionally, the attribute information prediction module further comprises: The initial attribute prediction information of the point to be targeted for coding is determined based on each neighboring point among the S neighboring points and a corresponding second weight, where the second weight is the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point.

[0133] Optionally, the first information includes the K points to be coded, and the attribute information prediction module further includes: Taking a first point among the K points to be coded as a reference point, and obtaining T neighboring points of the reference point; Among the T neighboring points, obtain R neighboring points that have the shortest Manhattan distance from the reference point; obtaining L neighboring points having the shortest Manhattan distance among the R neighboring points of a target coding point among the K points to be coded, wherein the target coding point is one of the K points to be coded; determining initial attribute prediction information of the point to be targeted for coding based on L neighboring points; determining attribute prediction information of the point to be targeted for coding based on a first weight corresponding to the point to be targeted for coding and the initial attribute prediction information; Here, T, R and L are all positive integers.

[0134] Optionally, the attribute information prediction module further comprises: The initial attribute prediction information of the point to be targeted for coding is determined based on each neighboring point among the L neighboring points and a corresponding second weight, where the second weight is the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point.

[0135] Optionally, the sum of the first weights corresponding to the K nodes to be coded is one.

[0136] Optionally, the apparatus further includes a third acquisition module; to obtain attribute residual information of the K points to be coded according to attribute prediction information of the K points to be coded; The first conversion module 603 further comprises: The attribute residual information of the K points to be coded is subjected to DCT transformation to obtain transform coefficients corresponding to the K points to be coded.

[0137] Optionally, the apparatus further comprises an attribute reconstruction module; The quantized transform coefficients are inversely quantized, and the inverse transform coefficients obtained after the inverse quantization are inversely transformed to obtain attribute reconstruction information of the K points to be coded.

[0138] Optionally, the transform coefficients include low-pass coefficients and high-pass coefficients, and the coding module 604 further quantizing high-frequency coefficients and low-frequency coefficients corresponding to the K points to be coded, and performing entropy coding on the quantized high-frequency coefficients and low-frequency coefficients, respectively, to obtain first coding values ​​and second coding values; The attribute reconstruction module further comprises: Inversely quantizing the first coding value and the second coding value to obtain inverse high-frequency coefficients and inverse low-frequency coefficients after inverse quantization; performing an inverse DCT transformation based on the inverse high-frequency coefficients and the inverse low-frequency coefficients to obtain inverse attribute residual information corresponding to the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded according to the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0139] Optionally, the coding module 604 further comprises: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; The high-frequency coefficient is quantized based on the high-frequency coefficient and the high-frequency coefficient quantization step size, and the low-frequency coefficient is quantized based on the low-frequency coefficient and the low-frequency coefficient quantization step size.

[0140] Optionally, the coding module 604 further comprises: It is used to obtain a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be coded.

[0141] Optionally, the coding module 604 further comprises: When a component distribution corresponding to the attribute information of the K points to be coded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be coded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0142] Optionally, if the high-frequency coefficient is smaller than a first preset threshold, the value of the high-frequency coefficient after quantization is 0, and if the low-frequency coefficient is smaller than a second preset threshold, the value of the low-frequency coefficient after quantization is 0.

[0143] Optionally, the coding module 604 further comprises: quantizing attribute residual information of the K points to be coded when it is determined that DCT transformation is not performed on the K points to be coded; The K points to be coded are quantized, and then the attribute residual information is subjected to entropy coding to generate a binary code stream.

[0144] Optionally, the apparatus further comprises an attribute reconstruction module; Inversely quantizing the coding value obtained after the entropy coding to obtain inverse attribute residual information after inverse quantization of the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded according to the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0145] Optionally, the device comprises: obtaining identifier information for indicating whether the device performs point cloud attribute information coding; a third determination module used to determine whether the device performs the point cloud attribute information coding based on the identifier information; and a write module for writing the identifier information into the binary code stream.

[0146] It should be noted that when the device performs point cloud attribute information coding, it means that the device performs the corresponding operation based on each of the above modules (e.g., the first acquisition module, the first determination module, etc.), which will not be further described here.

[0147] In the embodiment of the present application, in the process of coding the point cloud to be coded, the point cloud attribute information coding device needs to determine whether to perform DCT transformation on the points to be coded based on the attribute prediction information of the points to be coded or the attribute reconstruction information of the coded points. If it is determined that the points to be coded need to be DCT transformed, the point cloud attribute information coding device performs DCT transformation on the points to be coded, thereby further transforming the dispersed distribution of the attribute information in the spatial domain into a relatively concentrated distribution in the transformed domain, and concentrating the signal energy into a small number of coefficients, making the quantization and coding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0148] In the embodiments of the present application, the point cloud attribute information coding device may be a device, a device having an operating system, or electronic equipment, or may be a component, integrated circuit, or chip in a terminal. The device or electronic equipment may be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal may include, but is not limited to, the types of terminals listed above. The non-mobile terminal may be, for example, a server, a network-attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, a self-service machine, etc., and the embodiments of the present application are not specifically limited thereto.

[0149] The point cloud attribute information coding device according to the embodiment of the present application can realize each process realized by the embodiment of the method of Figure 3 or Figure 4 and achieve the same technical effects, and in order to avoid repetition of explanation, it will not be described further here.

[0150] Referring to Fig. 7, Fig. 7 is a structural diagram of a point cloud attribute information decoding device according to an embodiment of the present application. As shown in Fig. 7, the point cloud attribute information decoding device 700 includes: a second acquiring module 701 for acquiring third information; a second decision module 702 for deciding whether to perform an inverse DCT transformation on the K points to be decoded based on fourth information related to the third information; a second transformation module 703 for performing inverse DCT transformation on the K points to be decoded to obtain attribute residual information of the K points to be decoded when determining to perform inverse DCT transformation on the K points to be decoded; a decoding module 704 for obtaining attribute reconstruction information of the K points to be decoded according to the attribute residual information and attribute prediction information of the K points to be decoded, and decoding undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0151] Optionally, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded; The second determination module 702 further comprises: Obtain a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be decoded, and if an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determine to perform an inverse DCT transformation on the K points to be decoded; or If the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold, it is used to determine to perform an inverse DCT transformation on the K points to be decoded.

[0152] Optionally, the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points; The second determination module 702 further comprises: Obtain a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N decoded points, and determine to perform an inverse DCT transformation on the K points to be decoded if the absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or If the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a fourth threshold, it is used to determine to perform an inverse DCT transformation on the K points to be decoded.

[0153] Optionally, the third information includes K points to be decoded, and the second obtaining module 701 further comprises: It is used to rearrange the points to be decoded and obtain K points to be decoded in the rearranged points to be decoded.

[0154] Optionally, the second acquisition module 701 further comprises: Calculating a Hilbert code corresponding to each point in the point cloud to be decoded, sorting the point cloud to be decoded according to the Hilbert code, and selecting K points to be decoded in the sorted point cloud in order; or The Morton code corresponding to each point in the point group to be decoded is calculated, the point group to be decoded is sorted according to the Morton code, and K points to be decoded are selected in order from the sorted point group to be decoded.

[0155] Optionally, the apparatus further comprises an attribute prediction module; Obtaining S neighboring points that have the closest Manhattan distance to the target decoding point according to a double Hilbert order or a double Morton order, where the target decoding point is one of the K decoding points; determining initial attribute prediction information of the target point to be decoded based on the S neighboring points; and determining attribute prediction information of the target point to be decoded based on the first weight corresponding to the target point to be decoded and the initial attribute prediction information.

[0156] Optionally, the attribute prediction module further comprises: In a predetermined preset search range, obtain M pre-order points of the point to be decoded according to Hilbert 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be decoded according to Hilbert 2 order, and obtain S neighboring points that have the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, obtain M pre-order points of the point to be decoded according to Morton 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be decoded according to Morton 2 order, which are used to obtain S neighboring points that have the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1 and N2; Here, M, N1 and N2 are all positive integers.

[0157] Alternatively, the Hilbert 1 order or Morton 1 order search range is a first preset range, the Hilbert 2 order or Morton 2 order pre-order search range is a second preset range, and the Hilbert 2 order or Morton 2 order post-order search range is a third preset range; wherein the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter being used to characterize the first preset range, and the second attribute parameter being used to characterize the second preset range; When the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, which is used to characterize the third preset range.

[0158] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0159] Optionally, the attribute prediction module further comprises: The initial attribute prediction information of the target point to be decoded is determined based on each neighboring point among the S neighboring points and a corresponding second weight, and the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point.

[0160] Optionally, the third information includes the K points to be decoded, and the attribute prediction module further comprises: Taking a first point among the K points to be decoded as a reference point, and obtaining T neighboring points of the reference point; Among the T neighboring points, obtain R neighboring points that have the shortest Manhattan distance from the reference point; Among the K points to be decoded, obtain L neighboring points having the shortest Manhattan distance among the R neighboring points of a target point to be decoded, wherein the target point to be decoded is any one of the K points to be decoded; determining initial attribute prediction information of the target point to be decoded based on L neighboring points; determining attribute prediction information of the target point to be decoded based on a first weight corresponding to the target point to be decoded and the initial attribute prediction information; Here, T, R and L are all positive integers.

[0161] Optionally, the attribute prediction module further comprises: The initial attribute prediction information of the target point to be decoded is determined based on each neighboring point among the L neighboring points and a corresponding second weight, and the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point.

[0162] Optionally, the sum of the first weights respectively corresponding to the K nodes to be decoded is one.

[0163] Optionally, the apparatus further comprises an inverse quantization module; Obtaining transform coefficients of the K points to be decoded; dequantizing the transform coefficients to obtain dequantized transform coefficients; The second conversion module 703 further comprises: The inverse DCT transform is used to perform an inverse DCT transform on the K points to be decoded based on the inverse quantized transform coefficients.

[0164] Optionally, the transform coefficients include high-pass coefficients and low-pass coefficients, and the inverse quantization module further comprises: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; The high-frequency coefficient is dequantized based on the high-frequency coefficient and the high-frequency coefficient quantization step size, and the low-frequency coefficient is dequantized based on the low-frequency coefficient and the low-frequency coefficient quantization step size.

[0165] Optionally, the inverse quantization module further comprises: It is used to obtain a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be decoded.

[0166] Optionally, the inverse quantization module further comprises: When a component distribution corresponding to the attribute information of the K points to be decoded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be decoded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0167] Optionally, if the high-frequency coefficient is smaller than a first preset threshold, the value of the high-frequency coefficient after quantization is 0, and if the low-frequency coefficient is smaller than a second preset threshold, the value of the low-frequency coefficient after quantization is 0.

[0168] Optionally, the apparatus further comprises a quantization module; If it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transform coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

[0169] Optionally, the apparatus further includes a fourth determination module; Obtaining identifier information from the binary code stream for indicating whether the device performs point cloud attribute information decoding; and determining whether the device should perform the point cloud attribute information decoding based on the identifier information.

[0170] It should be noted that when the device performs point cloud attribute information decoding, it means that the device performs corresponding operations based on each of the above modules (e.g., the second acquisition module, the second determination module, etc.), which will not be further described here.

[0171] In the process of decoding the point cloud to be decoded, the point cloud attribute information decoding device according to the embodiment of the present application needs to determine whether to perform DCT transformation on the points to be decoded based on the attribute prediction information of the points to be decoded or the attribute reconstruction information of the decoded points. If it is determined that the points to be decoded need to be DCT transformed, the point cloud attribute information decoding device performs DCT transformation on the points to be decoded, thereby further transforming the dispersed distribution of the attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, and concentrating the signal energy into a small number of coefficients, making the quantization and decoding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

[0172] In the embodiments of the present application, the point cloud attribute information decoding device may be a device, a device having an operating system, or electronic equipment, or may be a component, integrated circuit, or chip in a terminal. The device or electronic equipment may be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal may include, but is not limited to, the types of terminals listed above. The non-mobile terminal may be, for example, a server, a network-attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, a self-service machine, etc., and the embodiments of the present application are not specifically limited thereto.

[0173] The point cloud attribute information decoding device according to the embodiment of the present application can implement each process implemented by the embodiment of the method of Figure 5 and achieve the same technical effects, and in order to avoid repetition of description, it will not be further described here.

[0174] Optionally, as shown in Fig. 8, an embodiment of the present application further provides a communication device 800, including a processor 801, a memory 802, and a program or instruction stored in the memory 802 and operable on the processor 801. For example, if the communication device 800 is a terminal, when the program or instruction is executed by the processor 801, it can realize each process of the method embodiment shown in Fig. 3 or Fig. 4 above, or realize each process of the method embodiment shown in Fig. 5 above, and achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0175] The embodiments of the present application further provide a terminal, including a processor and a communication interface, and the processor is used to implement each process of the method embodiment shown in Figure 3 or Figure 4 above, or each process of the method embodiment shown in Figure 5 above. This terminal embodiment corresponds to the above terminal-side method embodiment, and each implementation process and implementation manner of the above method embodiment can be applied to this terminal embodiment, and the same technical effects can be achieved. Specifically, Figure 9 is a schematic diagram of the hardware structure implementing the terminal of the embodiments of the present application.

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

[0177] As will be understood by those skilled in the art, the terminal 900 may further include a power source (e.g., a battery) for powering each component, and the power source may be logically connected to the processor 910 by a power management system, thereby enabling the power management system to realize functions such as charge / discharge management and power consumption management. The terminal structure shown in Figure 9 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than those shown, or a combination of some components, or a different arrangement of components, which will not be further described here.

[0178] It should be understood that in the embodiment of the present application, the input unit 904 may include a graphics processing unit (GPU) 9041 and a microphone 9042, and the graphics processor 9041 processes image data of still or video images captured by an image capture device (e.g., a camera) in a video capture mode or an image capture mode. The display unit 906 may include a display panel 9061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 907 includes a touch panel 9071 and other input devices 9072. The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts: a touch detection device and a touch controller. The other input devices 9072 may include, but are not limited to, a physical keyboard, function keys (e.g., volume control buttons, switch buttons, etc.), a trackball, a mouse, and a control lever, which will not be further described herein.

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

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

[0181] The processor 910 may include one or more processing units. Optionally, the processor 910 may integrate an application processor and a modem processor. Here, the application processor mainly processes an operating system, a user interface, and application programs or instructions, and the modem processor mainly processes wireless communication, such as a baseband processor. As can be appreciated, the modem processor does not have to be integrated into the processor 910.

[0182] In one embodiment, the processor 910 Obtaining first information; determining whether to perform a discrete cosine transform (DCT) on the K points to be coded based on second information related to the first information; When it is determined that the K points to be coded are to be DCT-transformed, the K points to be coded are to be DCT-transformed to obtain transform coefficients of the K points to be coded; quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; Here, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, or the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, where K is a positive integer and N is an integer greater than 1.

[0183] Optionally, the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded, and the processor 910 further Obtain a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be coded, and determine to perform DCT transformation on the K points to be coded when an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a first threshold value; or If the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold, it is used to determine that a DCT transformation is performed on the K points to be coded.

[0184] Optionally, the first information includes first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points, and the processor 910 further Obtain a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N coded points, and determine to perform DCT transformation on the K points to be coded if the absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or If the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a fourth threshold, it is used to determine that a DCT transformation is performed on the K points to be coded.

[0185] Optionally, the first information includes the K points to be coded, and the processor 910 further It is used to sort the group of points to be coded and obtain K points to be coded in the group of points to be coded after sorting.

[0186] Optionally, the processor 910 further Calculating a Hilbert code corresponding to each point in the group of points to be coded, sorting the group of points to be coded according to the Hilbert codes, and selecting K points to be coded in the sorted group of points to be coded, or The Morton code corresponding to each point in the group of points to be coded is calculated, the group of points to be coded is sorted according to the Morton code, and K points to be coded are selected in order from the sorted group of points to be coded.

[0187] Optionally, the processor 910 further Obtaining S neighboring points having the shortest Manhattan distance from a target coding point according to a double Hilbert order or a double Morton order, wherein the target coding point is any one of the K coding points; determining initial attribute prediction information of the point to be targeted for coding based on the S neighboring points; and determining attribute prediction information of the point to be target coded based on the first weight corresponding to the point to be target coded and the initial attribute prediction information.

[0188] Optionally, the processor 910 further In a predetermined preset search range, obtain M pre-order points of the point to be target coded according to Hilbert 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be target coded according to Hilbert 2 order, and obtain S neighboring points that have the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, M pre-order points of the point to be target coded are obtained according to Morton 1 order, and N1 pre-order points and N2 post-order points of the point to be target coded are obtained according to Morton 2 order, which are used to obtain S neighboring points that have the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1 and N2; Here, M, N1 and N2 are all positive integers.

[0189] Alternatively, the Hilbert 1 order or Morton 1 order search range is a first preset range, the Hilbert 2 order or Morton 2 order pre-order search range is a second preset range, and the Hilbert 2 order or Morton 2 order post-order search range is a third preset range or the second preset range; wherein the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter being used to characterize the first preset range, and the second attribute parameter being used to characterize the second preset range; When the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, which is used to characterize the third preset range.

[0190] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0191] Optionally, the processor 910 further The initial attribute prediction information of the point to be targeted for coding is determined based on each neighboring point among the S neighboring points and a corresponding second weight, where the second weight is the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point.

[0192] Optionally, the first information includes the K points to be coded, and the processor 910 further Taking a first point among the K points to be coded as a reference point, and obtaining T neighboring points of the reference point; Among the T neighboring points, obtain R neighboring points that have the shortest Manhattan distance from the reference point; obtaining L neighboring points having the shortest Manhattan distance among the R neighboring points of a target coding point among the K points to be coded, wherein the target coding point is one of the K points to be coded; determining initial attribute prediction information of the point to be targeted for coding based on L neighboring points; determining attribute prediction information of the point to be targeted for coding based on a first weight corresponding to the point to be targeted for coding and the initial attribute prediction information; Here, T, R and L are all positive integers.

[0193] Optionally, the processor 910 further The initial attribute prediction information of the point to be targeted for coding is determined based on each neighboring point among the L neighboring points and a corresponding second weight, where the second weight is the inverse of the Manhattan distance between the point to be targeted for coding and the neighboring point.

[0194] Optionally, the sum of the first weights corresponding to the K nodes to be coded is one.

[0195] Optionally, the processor 910 further to obtain attribute residual information of the K points to be coded according to attribute prediction information of the K points to be coded; performing DCT transformation on the K points to be coded to obtain transform coefficients of the K points to be coded, The method includes performing DCT transformation on attribute residual information of the K points to be coded to obtain transformation coefficients corresponding to the K points to be coded.

[0196] Optionally, the processor 910 further The quantized transform coefficients are inversely quantized, and the inverse transform coefficients obtained after the inverse quantization are inversely transformed to obtain attribute reconstruction information of the K points to be coded.

[0197] Optionally, the processor 910 further quantizing high-frequency coefficients and low-frequency coefficients corresponding to the K points to be coded, and performing entropy coding on the quantized high-frequency coefficients and low-frequency coefficients, respectively, to obtain first coding values ​​and second coding values; The method of inverse quantizing the coding values ​​obtained after the entropy coding and inverse transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded includes: Inversely quantizing the first coding value and the second coding value to obtain inverse high-frequency coefficients and inverse low-frequency coefficients after inverse quantization; performing an inverse DCT transformation based on the inverse high-frequency coefficients and the inverse low-frequency coefficients to obtain inverse attribute residual information corresponding to the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded based on the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0198] Optionally, the processor 910 further obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; The high-frequency coefficient is quantized based on the high-frequency coefficient and the high-frequency coefficient quantization step size, and the low-frequency coefficient is quantized based on the low-frequency coefficient and the low-frequency coefficient quantization step size.

[0199] Optionally, the processor 910 further It is used to obtain a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be coded.

[0200] Optionally, the processor 910 further When a component distribution corresponding to the attribute information of the K points to be coded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be coded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0201] Optionally, if the high-frequency coefficient is smaller than a first preset threshold, the value of the high-frequency coefficient after quantization is 0, and if the low-frequency coefficient is smaller than a second preset threshold, the value of the low-frequency coefficient after quantization is 0.

[0202] Optionally, the processor 910 further quantizing attribute residual information of the K points to be coded when it is determined that DCT transformation is not performed on the K points to be coded; The K points to be coded are quantized, and then the attribute residual information is subjected to entropy coding to generate a binary code stream.

[0203] Optionally, the processor 910 further Inversely quantizing the coding value obtained after the entropy coding to obtain inverse attribute residual information after inverse quantization of the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded according to the attribute prediction information and the inverse attribute residual information of the K points to be coded.

[0204] Optionally, the processor 910 further obtaining identifier information for indicating whether the processor 910 performs point cloud attribute information coding; determining whether the processor 910 performs the point cloud attribute information decoding based on the identifier information; and writing the identifier information into the binary code stream.

[0205] Here, the processor 910 performing point cloud attribute information coding means that the processor 910 performs the above steps to realize point cloud attribute information coding, or realizes the point cloud attribute information coding method described in Figure 3 or Figure 4, and the specific implementation method will not be further described here.

[0206] In this embodiment, in the process of coding a group of points to be coded, the terminal 900 needs to determine whether to perform DCT transformation on the points to be coded based on the attribute prediction information of the points to be coded or the attribute reconstruction information of the coded points. If it is determined that the points to be coded need to be DCT transformed, by performing DCT transformation on the points to be coded, the dispersed distribution of the attribute information in the spatial domain can be further transformed into a relatively concentrated distribution in the transform domain, and the signal energy can be concentrated in a small number of coefficients, making the quantization and coding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0207] Or, in another embodiment, processor 910 obtaining third information; and determining whether to perform an inverse DCT transform on the K points to be decoded based on fourth information related to the third information; If it is determined that an inverse DCT transform is performed on the K points to be decoded, then the inverse DCT transform is performed on the K points to be decoded to obtain attribute residual information of the K points to be decoded; obtaining attribute reconstruction information of the K points to be decoded according to the attribute residual information and attribute prediction information of the K points to be decoded, and decoding undecoded points in the point cloud to be decoded; Here, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, or the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, where K is a positive integer and N is an integer greater than 1.

[0208] Optionally, the third information includes the K points to be decoded, and the fourth information includes attribute prediction information of the K points to be decoded, and the processor 910 further Obtain a maximum attribute prediction value and a minimum attribute prediction value in attribute prediction information corresponding to the K points to be decoded, and if an absolute difference value between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determine to perform an inverse DCT transformation on the K points to be decoded; or If the absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold, it is used to determine to perform an inverse DCT transformation on the K points to be decoded.

[0209] Optionally, the third information includes the first N decoded points of the K points to be decoded, and the fourth information includes attribute reconstruction information of the N decoded points, and the processor 910 further Obtain a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N decoded points, and determine to perform an inverse DCT transformation on the K points to be decoded if the absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or If the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a fourth threshold, it is used to determine to perform an inverse DCT transformation on the K points to be decoded.

[0210] Optionally, the third information includes K points to be decoded, and the processor 910 further comprises: It is used to rearrange the points to be decoded and obtain K points to be decoded in the rearranged points to be decoded.

[0211] Optionally, the processor 910 further Calculating a Hilbert code corresponding to each point in the point cloud to be decoded, sorting the point cloud to be decoded according to the Hilbert code, and selecting K points to be decoded in the sorted point cloud in order; or The Morton code corresponding to each point in the point group to be decoded is calculated, the point group to be decoded is sorted according to the Morton code, and K points to be decoded are selected in order from the sorted point group to be decoded.

[0212] Optionally, the processor 910 further Obtaining S neighboring points that have the closest Manhattan distance to the target decoding point according to a double Hilbert order or a double Morton order, where the target decoding point is one of the K decoding points; determining initial attribute prediction information of the target point to be decoded based on the S neighboring points; and determining attribute prediction information of the target point to be decoded based on the first weight corresponding to the target point to be decoded and the initial attribute prediction information.

[0213] Optionally, the processor 910 further In a predetermined preset search range, obtain M pre-order points of the point to be decoded according to Hilbert 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be decoded according to Hilbert 2 order, and obtain S neighboring points that have the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, obtain M pre-order points of the point to be decoded according to Morton 1 order, and obtain N1 pre-order points and N2 post-order points of the point to be decoded according to Morton 2 order, which are used to obtain S neighboring points that have the shortest Manhattan distance to the point to be decoded within the target range determined based on M, N1 and N2; Here, M, N1 and N2 are all positive integers.

[0214] Alternatively, the Hilbert 1 order or Morton 1 order search range is a first preset range, the Hilbert 2 order or Morton 2 order pre-order search range is a second preset range, and the Hilbert 2 order or Morton 2 order post-order search range is a third preset range; wherein the binary code stream includes a first attribute parameter and a second attribute parameter, the first attribute parameter being used to characterize the first preset range, and the second attribute parameter being used to characterize the second preset range; When the Hilbert 2 order or Morton 2 order post-order search range is a third preset range, the binary code stream further includes a third attribute parameter, which is used to characterize the third preset range.

[0215] Optionally, the predetermined preset search range is determined based on a correlation between an initial number of points in the point cloud sequence and a volume of an input point cloud bounding box.

[0216] Optionally, the processor 910 further The initial attribute prediction information of the target point to be decoded is determined based on each neighboring point among the S neighboring points and a corresponding second weight, and the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point.

[0217] Optionally, the processor 910 further Taking a first point among the K points to be decoded as a reference point, and obtaining T neighboring points of the reference point; Among the T neighboring points, obtain R neighboring points that have the shortest Manhattan distance from the reference point; Among the K points to be decoded, obtain L neighboring points having the shortest Manhattan distance among the R neighboring points of a target point to be decoded, wherein the target point to be decoded is any one of the K points to be decoded; determining initial attribute prediction information of the target point to be decoded based on L neighboring points; determining attribute prediction information of the target point to be decoded based on a first weight corresponding to the target point to be decoded and the initial attribute prediction information; Here, T, R and L are all positive integers.

[0218] Optionally, the processor 910 further The initial attribute prediction information of the target point to be decoded is determined based on each neighboring point among the L neighboring points and a corresponding second weight, and the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighboring point.

[0219] Optionally, the sum of the first weights respectively corresponding to the K nodes to be decoded is one.

[0220] Optionally, the processor 910 further Obtaining transform coefficients of the K points to be decoded; dequantizing the transform coefficients to obtain dequantized transform coefficients; The step of performing an inverse DCT transform on the K points to be decoded includes the steps of: The method includes performing an inverse DCT transform on the K points to be decoded based on the inverse-quantized transform coefficients.

[0221] Optionally, the transform coefficients include high-pass coefficients and low-pass coefficients, and the processor 910 further obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; The high-frequency coefficients are inversely quantized based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and the low-frequency coefficients are inversely quantized based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

[0222] Optionally, the processor 910 further It is used to obtain a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be decoded.

[0223] Optionally, the processor 910 further When a component distribution corresponding to the attribute information of the K points to be decoded is flat, the quantization step size of the high-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is a sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be decoded is not flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

[0224] Optionally, if the high-frequency coefficient is smaller than a first preset threshold, the value of the high-frequency coefficient after quantization is 0, and if the low-frequency coefficient is smaller than a second preset threshold, the value of the low-frequency coefficient after quantization is 0.

[0225] Optionally, the processor 910 further If it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transform coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

[0226] Optionally, the processor 910 further Obtaining identifier information from the binary code stream for indicating whether the processor 910 performs point cloud attribute information decoding; The processor 910 determines whether to perform the point cloud attribute information decoding based on the identifier information.

[0227] Here, the processor 910 performing the point cloud attribute information decoding refers to the processor 910 performing the above steps to realize the point cloud attribute information decoding, or to realize the point cloud attribute information decoding method shown in FIG. 5, and the specific implementation method will not be further described here. In this embodiment, in the process of decoding the point group to be decoded, the terminal 900 needs to determine whether to perform DCT transformation on the points to be decoded based on the attribute prediction information of the points to be decoded or the attribute reconstruction information of the decoded points. If it is determined that the points to be decoded need to be DCT transformed, by performing DCT transformation on the points to be decoded, the dispersed distribution of the attribute information in the spatial domain can be further transformed into a relatively concentrated distribution in the transform domain, and the signal energy can be concentrated in a small number of coefficients, making the quantization and decoding easier, thereby eliminating attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

[0228] The embodiments of the present application further provide a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, each process of the method embodiment shown in Figure 3 or Figure 4 above is realized, or each process of the method embodiment shown in Figure 5 above is realized, and the same technical effect can be achieved. In order to avoid repetition, no further description will be given here.

[0229] The processor may be the processor in the terminal described in the above embodiment. The readable storage medium may include a computer-readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0230] An embodiment of the present application further provides a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor running a program or instruction to implement each process of the method embodiment shown in Figure 3 or Figure 4 above, or to implement each process of the method embodiment shown in Figure 5 above, and can achieve the same technical effect. In order to avoid repetition, no further description will be given here.

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

[0232] An embodiment of the present application further provides a computer program product, the computer program product being stored in a non-transitory storage medium, the computer program product being executed by at least one processor to realize each process of the method embodiment shown in Figure 3 or Figure 4 above, or to realize each process of the method embodiment shown in Figure 5 above, and to achieve the same technical effect. In order to avoid repetition, no further description will be given here.

[0233] The embodiments of the present application further provide a communication device, which is configured to perform each process of the method embodiment shown in Figure 3 or Figure 4 as described above, or each process of the method embodiment shown in Figure 5 as described above, and can achieve the same technical effects. In order to avoid repetition of the description, no further description will be given here.

[0234] It should be noted that, in this specification, the terms "comprise," "include," "includes," or any other variations thereof are intended to cover the non-exclusive "comprise," whereby a process, method, article, or apparatus comprising a set of elements not only includes those elements, but also other elements not expressly listed or inherent in such process, method, article, or apparatus. Absent further limitations, an element defined by the phrase "comprises one of" does not preclude the presence of other identical elements in the process, method, article, or apparatus comprising that element. It should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may include performing functions in an essentially simultaneous manner or in the reverse order based on the functions involved. For example, the described method may be performed in a different order than described, and various steps may be added, omitted, or combined. Furthermore, features described with reference to some examples may be combined in other examples.

[0235] As will be apparent to those skilled in the art from the above description of the embodiments, the methods of the above embodiments can be realized in the form of software and a necessary general-purpose hardware platform. Of course, they can also be realized in hardware, but in many cases the former is a more preferred embodiment. Based on this understanding, the technical proposal of the present application, in substance or in part contributing to the prior art, may be embodied in the form of a computer software product, which is stored in a storage medium (e.g., ROM / RAM, magnetic disk, optical disk) and includes a number of instructions for causing a terminal (which may be a mobile phone, computer, server, air conditioner, network device, etc.) to execute the methods described in each embodiment of the present application.

[0236] Although the embodiments of the present application have been described above in conjunction with the drawings, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not limiting. Those skilled in the art can take the teachings of the present application into account and implement many forms without departing from the spirit and scope of the claims, all of which fall within the scope of protection of the present application.

Claims

1. A point cloud attribute information coding method, comprising: performing a discrete cosine transform (DCT) on the K points to be coded to obtain transform coefficients of the K points to be coded; quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; Before performing DCT transformation on the K points to be coded and obtaining transform coefficients of the K points to be coded, the method includes: Further comprising: obtaining attribute residual information of the K points to be coded according to attribute prediction information of the K points to be coded; The method of performing DCT transformation on the K points to be coded and obtaining transform coefficients of the K points to be coded includes: performing DCT transformation on attribute residual information of the K points to be coded to obtain transformation coefficients corresponding to the K points to be coded; After quantizing the transform coefficients of the K points to be coded and performing entropy coding based on the quantized transform coefficients, the method includes: The method further includes: inversely quantizing the quantized transform coefficients; and inversely transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded; The transform coefficients include low-frequency coefficients and high-frequency coefficients, and quantizing the transform coefficients of the K points to be coded and performing entropy coding based on the quantized transform coefficients includes: quantizing high-frequency coefficients and low-frequency coefficients corresponding to the K points to be coded, and performing entropy coding on the quantized high-frequency coefficients and low-frequency coefficients, respectively, to obtain first and second coding values; The method of inverse quantizing the coding values ​​obtained after the entropy coding and inverse transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded includes: Inversely quantizing the first coding value and the second coding value to obtain inverse high-frequency coefficients and inverse low-frequency coefficients after inverse quantization; performing an inverse DCT transformation based on the inverse high-frequency coefficients and the inverse low-frequency coefficients to obtain inverse attribute residual information corresponding to the K points to be coded; obtaining attribute reconstruction information of the K points to be coded based on the attribute prediction information and the inverse attribute residual information of the K points to be coded; quantizing the high-frequency coefficients and the low-frequency coefficients corresponding to the K points to be coded includes: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; quantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and quantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

2. The obtaining of the high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and the obtaining of the low-frequency coefficient quantization step size corresponding to the low-frequency coefficient includes: The method of claim 1 , further comprising: obtaining a high-pass coefficient quantization step size corresponding to the high-pass coefficient and a low-pass coefficient quantization step size corresponding to the low-pass coefficient based on component distribution conditions corresponding to attribute information of the K points to be coded.

3. The step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be coded includes:

3. The method of claim 2, wherein, when a component distribution corresponding to attribute information of the K points to be coded is flat, the quantization step size of the high-frequency coefficient is the sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset.

4. The step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be coded includes:

3. The method of claim 2, wherein, when a component distribution corresponding to the attribute information of the K points to be coded is not flat, the quantization step size of the high-frequency coefficient is the sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

5. Before performing DCT transformation on the K points to be coded, the method comprises: Obtaining first information; and determining, based on second information related to the first information, to perform DCT transformation on the K points to be coded; 2. The method of claim 1 , wherein the first information includes the K points to be coded and the second information includes attribute prediction information for the K points to be coded, or the first information includes the first N coded points of the K points to be coded and the second information includes attribute reconstruction information for the N coded points, where K is a positive integer and N is an integer greater than 1.

6. the first information includes the K points to be coded, and the second information includes attribute prediction information of the K points to be coded; The step of determining to perform DCT transformation on the K points to be coded based on second information related to the first information includes: Obtaining a maximum attribute predicted value and a minimum attribute predicted value in attribute prediction information corresponding to the K points to be coded, and determining to perform DCT transformation on the K points to be coded when an absolute difference value between the maximum attribute predicted value and the minimum attribute predicted value is smaller than a first threshold value; or determining to perform DCT transformation on the K points to be coded when an absolute ratio between the maximum attribute prediction value and the minimum attribute prediction value is smaller than a second threshold; Or, the first information includes the first N coded points of the K points to be coded, and the second information includes attribute reconstruction information of the N coded points; The step of determining to perform DCT transformation on the K points to be coded based on second information related to the first information includes: Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in attribute reconstruction information corresponding to the N coded points, and determining to perform DCT transformation on the K points to be coded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is smaller than a third threshold; or 6. The method of claim 5, further comprising determining to perform a DCT transformation on the K points to be coded if the absolute ratio between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a fourth threshold.

7. Before determining to perform DCT transformation on the K points to be coded based on second information related to the first information, the method includes: Obtaining S neighboring points having the shortest Manhattan distance from a target coding point according to a double Hilbert order or a double Morton order, wherein the target coding point is any one of the K coding points; determining initial attribute prediction information of the point to be targeted for coding based on the S neighboring points; The method of claim 5 , further comprising: determining attribute prediction information for the point to be target-coded based on a first weight corresponding to the point to be target-coded and the initial attribute prediction information.

8. The above-mentioned method of obtaining S neighboring points having the shortest Manhattan distance from the point to be targeted for coding according to the double Hilbert order or the double Morton order is as follows: In a predetermined preset search range, obtaining M points in pre-order of the point to be target coded according to Hilbert 1 order, and obtaining N1 points in pre-order and N2 points in post-order of the point to be target coded according to Hilbert 2 order, and obtaining S neighboring points that have the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1, and N2; or In the predetermined preset search range, acquiring M points in a pre-order of the point to be target coded according to Morton 1 order, and acquiring N1 points in a pre-order and N2 points in a post-order of the point to be target coded according to Morton 2 order, and acquiring S neighboring points having the shortest Manhattan distance to the point to be target coded within the target range determined based on M, N1, and N2; 8. The method of claim 7, wherein M, N1 and N2 are all positive integers.

9. A point cloud attribute information decoding method, comprising: performing an inverse discrete cosine transform (DCT) on the K points to be decoded to obtain attribute residual information of the K points to be decoded; and obtaining attribute reconstruction information of the K points to be decoded based on the attribute residual information and attribute prediction information of the K points to be decoded, to decode undecoded points in the point cloud to be decoded; Before performing an inverse DCT transform on the K points to be decoded, the method includes: Obtaining transform coefficients of the K points to be decoded; and dequantizing the transform coefficients to obtain dequantized transform coefficients. The inverse DCT transformation for the K points to be decoded is performing an inverse DCT transform on the K points to be decoded based on the inverse quantized transform coefficients; The transform coefficients include high-frequency coefficients and low-frequency coefficients, and the inverse quantization of the transform coefficients to obtain the inverse-quantized transform coefficients includes: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; and inverse quantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and inverse quantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

10. The obtaining of the high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and the obtaining of the low-frequency coefficient quantization step size corresponding to the low-frequency coefficient includes: The method of claim 9, further comprising: obtaining a high-pass coefficient quantization step size corresponding to the high-pass coefficient and a low-pass coefficient quantization step size corresponding to the low-pass coefficient based on component distribution status corresponding to attribute information of the K points to be decoded.

11. The step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be decoded includes:

11. The method of claim 10, wherein, when a component distribution corresponding to attribute information of the K points to be decoded is flat, the quantization step size of the high-frequency coefficient is the sum of an original quantization step size, a preset quantization step size offset, and a high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is the sum of the original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset.

12. The step of obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient and a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient based on the component distribution status corresponding to the attribute information of the K points to be decoded includes:

11. The method of claim 10, wherein, when a component distribution corresponding to the attribute information of the K points to be decoded is not flat, the quantization step size of the high-frequency coefficient is the sum of an original quantization step size, a preset quantization step size offset, and a low-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency coefficient is equal to the quantization step size of the high-frequency coefficient.

13. A point cloud attribute information coding device, a first transform module for performing a discrete cosine transform (DCT) on the K points to be coded to obtain transform coefficients of the K points to be coded; a coding module for quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients to generate a binary code stream; The device comprises: Before performing DCT transformation on the K points to be coded and obtaining the transform coefficients of the K points to be coded, Further comprising a third obtaining module for obtaining attribute residual information of the K points to be coded according to the attribute prediction information of the K points to be coded; The first conversion module further comprises: performing DCT transformation on the attribute residual information of the K points to be coded to obtain transformation coefficients corresponding to the K points to be coded; The device comprises: quantizing the transform coefficients of the K points to be coded, and performing entropy coding based on the quantized transform coefficients; further comprising an attribute reconstruction module for inversely quantizing the quantized transform coefficients and inversely transforming the inverse transform coefficients obtained after the inverse quantization to obtain attribute reconstruction information of the K points to be coded; The transform coefficients include low-frequency coefficients and high-frequency coefficients, and the coding module further quantizing high-frequency coefficients and low-frequency coefficients corresponding to the K points to be coded, and performing entropy coding on the quantized high-frequency coefficients and low-frequency coefficients, respectively, to obtain first and second coding values; The attribute reconstruction module further comprises: Inversely quantizing the first coding value and the second coding value to obtain inverse high-frequency coefficients and inverse low-frequency coefficients after inverse quantization; performing an inverse DCT transformation based on the inverse high-frequency coefficients and the inverse low-frequency coefficients to obtain inverse attribute residual information corresponding to the K points to be coded; and obtaining attribute reconstruction information of the K points to be coded according to the attribute prediction information and the inverse attribute residual information of the K points to be coded; The coding module further comprises: obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; quantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and quantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

14. A point cloud attribute information decoding device, comprising: a second transform module for performing an inverse discrete cosine transform (DCT) on the K points to be decoded to obtain attribute residual information of the K points to be decoded; a decoding module for obtaining attribute reconstruction information of the K points to be decoded according to attribute residual information and attribute prediction information of the K points to be decoded, and decoding undecoded points in the point cloud to be decoded; The device comprises: Before performing an inverse DCT transform on the K points to be decoded, obtaining transform coefficients of the K points to be decoded; Further, an inverse quantization module is used to inverse quantize the transform coefficients to obtain inverse quantized transform coefficients; The second conversion module further comprises: performing an inverse DCT transform on the K points to be decoded based on the inverse quantized transform coefficients; The transform coefficients include high-pass coefficients and low-pass coefficients, and the inverse quantization module further obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficients, and obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficients; and inverse quantizing the high-frequency coefficients based on the high-frequency coefficients and the high-frequency coefficient quantization step size, and inverse quantizing the low-frequency coefficients based on the low-frequency coefficients and the low-frequency coefficient quantization step size.

Citation Information

Patent Citations

  • Intra-frame prediction-based point cloud attribute compression method

    US20200366932A1

  • Block-Based Predictive Coding For Point Cloud Compression

    US20210105493A1

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

    WO2019235366A1

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

    WO2019240215A1