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

By using DCT transformation and quantization technology in point cloud attribute information encoding, whether to perform DCT transformation is determined based on attribute prediction information or attribute reconstruction information, the problem of low encoding efficiency in the prior art is solved, and more efficient coding and reconstruction effects are achieved.

CN115474046BActive Publication Date: 2025-04-18VIVO MOBILE COMM CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202110817311.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-06-11
Filing Date
2021-07-20
Publication Date
2025-04-18
Estimated Expiration
2041-07-20

AI Technical Summary

Technical Problem

The existing point cloud attribute information encoding efficiency is low, especially in areas with large local transformation amplitudes, where there is more redundant information in the transformation coefficient.

Method used

By obtaining the attribute prediction information of the point to be encoded or the attribute reconstruction information of the coded point, it is determined whether to perform discrete cosine transform (DCT) transformation on the point to be encoded. If necessary, perform DCT transformation to obtain the transform coefficients, and quantize and entropy encoding them.

Benefits of technology

Convert the dispersed distribution of attribute information in the spatial domain into a relatively centralized distribution of the transform domain, reduce redundant information, improve coding efficiency and reconstruction performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115474046B_ABST
    Figure CN115474046B_ABST
Patent Text Reader

Abstract

The present application discloses a point cloud attribute information encoding method, decoding method, device and related equipment. The point cloud attribute information encoding method includes: obtaining first information; determining whether to perform DCT transformation on K points to be encoded based on second information associated with the first information; in the case of determining to perform DCT transformation on K points to be encoded, performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded; quantizing the transformation coefficients of the K points to be encoded, performing entropy coding based on the quantized transformation coefficients, and generating a binary code stream; wherein the first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or, the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, 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] The present application belongs to the field of point cloud processing technology, and specifically relates to a point cloud attribute information encoding method, decoding method, device and related equipment. Background Art

[0002] In the point cloud digital audio and video coding standard (AVS) encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately. At present, attribute information encoding is divided into attribute prediction coding and attribute transformation coding. Among them, attribute transformation coding directly transforms the original attribute information. For areas with large local transformation amplitudes, there is still a lot of redundant information in the obtained transformation coefficients, resulting in low coding efficiency. Summary of the invention

[0003] The embodiments of the present application provide a point cloud attribute information encoding method, decoding method, device and related equipment, which can solve the problem of low efficiency of existing point cloud attribute information encoding.

[0004] In a first aspect, a method for encoding point cloud attribute information is provided, comprising:

[0005] Obtaining first information;

[0006] Determine whether to perform discrete cosine transform DCT transform on the K points to be encoded based on second information associated with the first information;

[0007] In the case where it is determined that the K points to be encoded are to be subjected to DCT transformation, the K points to be encoded are subjected to DCT transformation to obtain transformation coefficients of the K points to be encoded;

[0008] quantizing the transform coefficients of the K to-be-encoded points, performing entropy coding based on the quantized transform coefficients, and generating a binary code stream;

[0009] The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1.

[0010] In a second aspect, a method for decoding point cloud attribute information is provided, comprising:

[0011] Obtaining third party information;

[0012] Determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information;

[0013] In the case where it is determined to perform an inverse DCT transform on the K points to be decoded, performing an inverse DCT transform on the K points to be decoded to obtain attribute residual information of the K points to be decoded;

[0014] Based on the attribute residual information and attribute prediction information of the K points to be decoded, attribute reconstruction information of the K points to be decoded is obtained to decode the undecoded points in the point cloud to be decoded;

[0015] Among them, 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, K is a positive integer, and N is an integer greater than 1.

[0016] In a third aspect, a point cloud attribute information encoding device is provided, comprising:

[0017] A first acquisition module, used to acquire first information;

[0018] A first determination module, configured to determine whether to perform discrete cosine transform (DCT) on the K to-be-encoded points based on second information associated with the first information;

[0019] A first transformation module is used for performing DCT transformation on the K points to be coded to obtain transformation coefficients of the K points to be coded when it is determined that DCT transformation is performed on the K points to be coded;

[0020] A coding module, used for quantizing the transformation coefficients of the K to-be-coded points, performing entropy coding based on the quantized transformation coefficients, and generating a binary code stream;

[0021] The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1.

[0022] In a fourth aspect, a point cloud attribute information decoding device is provided, comprising:

[0023] A second acquisition module, used to acquire third information;

[0024] A second determination module, configured to determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information;

[0025] A second transformation module is used to perform an inverse DCT transformation on the K points to be decoded, to obtain attribute residual information of the K points to be decoded, when it is determined that an inverse DCT transformation is performed on the K points to be decoded;

[0026] A decoding module, used for 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, so as to decode the undecoded points in the point cloud to be decoded;

[0027] Among them, 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, K is a positive integer, and N is an integer greater than 1.

[0028] In a fifth aspect, a terminal is provided, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein when the program or instruction is executed by the processor, the steps of the point cloud attribute information encoding method as described in the first aspect are implemented, or the steps of the point cloud attribute information decoding method as described in the second aspect are implemented.

[0029] In a sixth aspect, a terminal is provided, including a processor and a communication interface, wherein the processor is configured to:

[0030] Obtaining first information;

[0031] Determine whether to perform discrete cosine transform DCT transform on the K points to be encoded based on second information associated with the first information;

[0032] In the case where it is determined that the K points to be encoded are to be subjected to DCT transformation, the K points to be encoded are subjected to DCT transformation to obtain transformation coefficients of the K points to be encoded;

[0033] quantizing the transform coefficients of the K to-be-encoded points, performing entropy coding based on the quantized transform coefficients, and generating a binary code stream;

[0034] The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1;

[0035] Alternatively, the processor is configured to:

[0036] Obtaining third party information;

[0037] Determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information;

[0038] In the case where it is determined to perform an inverse DCT transform on the K points to be decoded, performing an inverse DCT transform on the K points to be decoded to obtain attribute residual information of the K points to be decoded;

[0039] Based on the attribute residual information and attribute prediction information of the K points to be decoded, attribute reconstruction information of the K points to be decoded is obtained to decode the undecoded points in the point cloud to be decoded;

[0040] Among them, 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, K is a positive integer, and N is an integer greater than 1.

[0041] In the seventh aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the point cloud attribute information encoding method as described in the first aspect are implemented, or the steps of the point cloud attribute information decoding method as described in the second aspect are implemented.

[0042] In an eighth aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instructions to implement the steps of the point cloud attribute information encoding method as described in the first aspect, or to implement the steps of the point cloud attribute information decoding method as described in the second aspect.

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

[0044] In an embodiment of the present application, in the process of encoding the coded point cloud, it is necessary to decide whether to perform DCT transform on the coded point based on the attribute prediction information of the coded point or the attribute reconstruction information of the coded point. When it is determined that DCT transform is required for the coded point, DCT transform is performed on the coded point, so that the dispersed distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and encoding, thereby removing attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 This is the AVS codec framework diagram;

[0046] Figure 2 It is the transformation flow chart of the encoding end;

[0047] Figure 3 is a flow chart of a method for encoding point cloud attribute information provided by an embodiment of the present application;

[0048] Figure 4 is a flowchart of another method for encoding point cloud attribute information provided by an embodiment of the present application;

[0049] Figure 5 is a flow chart of a method for decoding point cloud attribute information provided by an embodiment of the present application;

[0050] Figure 6 is a structural diagram of a point cloud attribute information encoding device provided in an embodiment of the present application;

[0051] Figure 7 is a structural diagram of a point cloud attribute information decoding device provided in an embodiment of the present application;

[0052] Figure 8 is a structural diagram of a communication device provided in an embodiment of the present application;

[0053] Fig. 9 It is a structural diagram of a terminal provided in an embodiment of the present application. DETAILED DESCRIPTION

[0054] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of this application.

[0055] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first" and "second" are generally of the same type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally represents that the objects associated with each other are in an "or" relationship.

[0056] The encoder corresponding to the encoding method and the decoder corresponding to the decoding method in the embodiment of the present application can both be terminals, which can also be called terminal equipment or user equipment (UE), and the terminal can be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a handheld computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, a robot, a wearable device (Wearable Device) or a vehicle-mounted device (VUE), a pedestrian terminal (PUE) and other terminal-side devices, and the wearable device includes: a smart watch, a bracelet, a headset, glasses, etc. It should be noted that the specific type of the terminal is not limited in the embodiment of the present application.

[0057] In order to better understand the technical solution of the present application, the relevant concepts that may be involved in the present application are explained below.

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

[0059] Please refer to Figure 1 , Figure 1This is the AVS codec framework diagram. When encoding geometric information, the coordinates of the geometric information are first transformed so that all point clouds are contained in a bounding box. Then quantization is performed. This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of some points is the same. Whether to remove duplicate points is determined based on the parameters. The process of quantization and removal of duplicate points belongs to the preprocessing process. Next, the bounding box is divided (octree / quadtree / binary tree) in the order of breadth-first traversal, and the placeholder code of each node is encoded. In the octree-based geometric code framework, the bounding box is divided into sub-cubes in turn, and the non-empty (containing points in the point cloud) sub-cubes are continued to be divided until the leaf node obtained by the division is a 1x1x1 unit cube. Then the division is stopped, and the number of points contained in the leaf node is encoded. Finally, the encoding of the geometric octree is completed to generate a binary code stream. In the octree-based geometric decoding process, the decoder obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and divides the nodes one by one until a 1x1x1 unit cube is obtained. The number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.

[0060] Attribute encoding is mainly performed on color, reflectivity information, etc. First, determine whether to perform color space conversion. If color space conversion is performed, the color information is converted from RGB color space to YUV color space. Then, the original point cloud is used to recolor the reconstructed point cloud so that the unencoded attribute information corresponds to the reconstructed geometric information. There are two methods in attribute information encoding: attribute prediction coding and attribute transformation coding. The attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. There are two reordering methods: Morton reordering and Hilbert reordering. For cat1A sequence and cat2 sequence, Hilbert reordering is performed; for cat1B sequence and cat3 sequence, Morton reordering is performed. The attribute prediction of the sorted point cloud is performed using a differential method, and finally the prediction residual is quantized and entropy encoded to generate a binary code stream. The attribute transformation process is as follows: first, wavelet transform is performed on the point cloud attributes and the transform coefficients are quantized; second, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transform; then the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and quantize it; finally, the quantized transform coefficients and attribute residual are entropy encoded to generate a binary code stream. The decoding of attribute information is the inverse process of encoding and will not be described in detail here.

[0061] In image and video encoding, Discrete Cosine Transform (DCT) and Discrete Sine Transform (DST) are mainly used. Figure 2 , the transformation process at the encoding end is as follows: first, the prediction signal is subtracted from the original signal to obtain the residual signal, and then the residual signal is transformed through a DCT to obtain the primary transformation coefficient, and then the low-frequency component of the primary transformation coefficient block is transformed twice to obtain the secondary transformation coefficient with a more concentrated energy distribution, and then quantized and entropy encoded to obtain the bit stream. Then, the quantized coefficients are dequantized, reversed, and reversed to obtain the recovered residual, which is added to the prediction signal to obtain the reconstructed signal, and then loop filtering is performed to reduce distortion. The secondary transformation is not necessarily performed, such as Figure 2 Shown as dotted line.

[0062] In the existing video coding standards, attribute transform coding directly transforms the original attribute information. For areas with large local transformation amplitudes, there is still a lot of redundant information in the obtained transformation coefficients, resulting in low coding efficiency.

[0063] In combination with the accompanying drawings, the point cloud attribute information encoding method, decoding method, device and related equipment provided by the embodiments of the present application are described in detail through some embodiments and their application scenarios.

[0064] Please refer to Figure 3 , Figure 3 1 is a flow chart of a method for encoding point cloud attribute information provided by an embodiment of the present application, and the method can be applied to terminals such as mobile phones, tablet computers, and computers. Figure 3 As shown, the method comprises the following steps:

[0065] Step 301: Obtain first information.

[0066] In the embodiment of the present application, the first information may include points to be encoded or may include encoded points.

[0067] Optionally, the first information includes the K points to be encoded, and step 301 includes:

[0068] The to-be-encoded point cloud is sorted to obtain K to-be-encoded points in the sorted to-be-encoded point cloud.

[0069] In the embodiment of the present application, after obtaining the point cloud to be encoded, the point cloud to be encoded may be sorted. For example, when the attribute information is mainly for color, first determine whether the point cloud to be encoded needs to be converted to a color space. If the color space is converted, the color information of the point cloud to be encoded may be converted from the RGB color space to the YUV color space, and then the original point cloud may be used to recolor the point cloud to be encoded so that the attribute information of the point cloud to be encoded and the pre-reconstructed geometric information correspond to each other. Sort the point cloud to be encoded that has been recolored and converted to a color space. Assume that the point cloud to be encoded includes N points, each of which is represented by p n (n=1,2,…,N), sort the coded point cloud, and after sorting, each point can be represented as Select K points to be encoded from the sorted point cloud to be encoded.

[0070] Optionally, the sorting of the point cloud to be encoded may be implemented based on Hilbert code or Morton code. The sorting of the point cloud to be encoded to obtain K points to be encoded in the sorted point cloud to be encoded includes:

[0071] Calculate the Hilbert code corresponding to each point in the to-be-encoded point cloud, sort the to-be-encoded point cloud according to the Hilbert code, and select K to-be-encoded points in order from the sorted to-be-encoded point cloud; or,

[0072] The Morton code corresponding to each point in the point cloud to be encoded is calculated, the point cloud to be encoded is sorted according to the Morton code, and K points to be encoded are selected in sequence from the sorted point cloud to be encoded.

[0073] It should be noted that the K points to be encoded can be selected based on a certain order. For example, assuming that the point cloud to be encoded includes 9 points to be encoded, after calculating the Hilbert codes corresponding to the 9 points to be encoded, the 9 points to be encoded can be sorted according to the Hilbert code, and then the 3 points to be encoded can be grouped into 3 points, and the first 3 points can be selected as the K points to be encoded, and subsequent attribute prediction and other processes can be performed, and then the three points after the first 3 points can be selected as a group to perform attribute prediction and other processes, and then the last 3 points can be selected for subsequent attribute prediction and other processes.

[0074] Among them, for the selected K points to be encoded, it is necessary to determine whether the points to be encoded among the K points to be encoded are duplicate points with the encoded points; if one of the points to be encoded is a duplicate point with the encoded point, the attribute residual information of the point to be encoded and the encoded point can be directly calculated, and the point to be encoded is not used as a point among the K points to be encoded; if the point to be encoded and the encoded point are not duplicate points, the attribute information of the K points to be encoded can be predicted through the encoded points to obtain the attribute prediction information of the K points to be encoded, and the specific attribute information prediction method is described in the subsequent embodiments.

[0075] Step 302: Determine whether to perform DCT transformation on the K points to be encoded based on the second information associated with the first information.

[0076] Among them, the first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or, the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is a positive integer greater than 1.

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

[0078] In the embodiment of the present application, if whether to perform DCT transformation on the K points to be encoded is determined based on the attribute prediction information of the K points to be encoded, it is necessary to first obtain the attribute prediction information of the K points to be encoded.

[0079] Optionally, before step 302, the following steps may also be included:

[0080] According to the double Hilbert order or the double Morton order, S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained, and the target point to be encoded is any one of the K points to be encoded;

[0081] Determine initial attribute prediction information of the target point to be encoded based on the S neighboring points;

[0082] Determine the attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information.

[0083] The step of obtaining the S neighboring points with the closest Manhattan distance to the target point to be encoded according to the double Hilbert order or the double Morton order includes:

[0084] In a given preset search range, the leading M points of the target point to be encoded are obtained according to the Hilbert 1 order, and the leading N1 points and the trailing N2 points of the target point to be encoded are obtained according to the Hilbert 2 order, and the S neighbor points with the closest Manhattan distance to the target point to be encoded are obtained within the target range determined based on M, N1 and N2.

[0085] Specifically, after determining the K points to be encoded, the target points to be encoded are selected based on a preset principle, for example, the target points to be encoded may be selected in sequence according to the order of the K points to be encoded. Assuming that the K points to be encoded are determined after the point cloud to be encoded is sorted according to the Hilbert code, the target points to be encoded may be determined in sequence based on the Hilbert code size corresponding to the K points to be encoded.

[0086] For the target point to be encoded, first, according to the Hilbert 1 order, find the first M points of the target point to be encoded, and then according to the Hilbert 2 order, find the first N1 points and the last N2 points of the target point to be encoded respectively. Among these M+N1+N2 points, select the S neighboring points with the closest Manhattan distance to the target point to be encoded, and determine the initial attribute prediction information of the target point to be encoded based on these S neighboring points. Then, according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information, determine the attribute prediction information of the target point to be encoded. It should be noted that M, N1 and N2 are all positive integers.

[0087] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

[0088] The step of determining the initial attribute prediction information of the target point to be encoded based on the S neighboring points includes:

[0089] Based on each of the S neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0090] It can be understood that among the S neighboring points of the target point to be encoded, the Manhattan distance between each neighboring point and the target point to be encoded is different, and the second weight is the reciprocal of the Manhattan distance between the current neighboring point and the target point to be encoded, so the second weight corresponding to each neighboring point is also different. The initial attribute prediction information of the target point to be encoded can be the sum of the product of the attribute information of each neighboring point in the S neighboring points and the corresponding second weight, and then the initial attribute prediction information of the target point to be encoded is calculated.

[0091] Furthermore, based on the above-mentioned method of determining the initial attribute prediction information of the target point to be encoded, the initial attribute prediction information of each of the K points to be encoded can be calculated. According to the first weight and initial attribute prediction information corresponding to each point to be encoded, the attribute prediction information corresponding to each point to be encoded can be calculated.

[0092] For example, assuming the target code point p n The initial attribute prediction information is Pre n , K points to be coded (p n ,p n+1 ,…,p n+K-1 ) are recorded as Pre n ,Pre n+1 ,…,Pre n+K-1 , then the attribute prediction information of K points to be coded can be recorded as AttrPre i (i=n,n+1,…,n+K-1), let the first weight of each of the K to-be-encoded points be w ij (i, j = n, n + 1, ..., n + K - 1), then the attribute prediction information of the K points to be encoded can be expressed as:

[0093]

[0094] Among them, AttrPre i Pre is the attribute prediction information of K points to be encoded. j is the initial attribute prediction information of the jth point among the K points.

[0095]

[0096] For example, when AttrPre i =w ii Pre i, That is w ii =1,w ij = 0 (i≠j), the attribute prediction information of each point in the current K points to be encoded is equal to its initial attribute prediction information; when AttrPre i =w i,n+2 Pre n+2 , that is, w i,n+2 =1,w ij =0 (j≠b+2), each of the current K points to be encoded uses the initial attribute prediction information of the second point among the K points as their attribute prediction information.

[0097] Optionally, the sum of the first weights corresponding to the K nodes to be encoded is 1. For example, assuming that the value of K is 4, the sum of the four first weights corresponding to the four nodes to be encoded is 1.

[0098] Alternatively, the step of obtaining the S neighboring points with the closest Manhattan distance to the target point to be encoded according to the double Hilbert order or the double Morton order includes:

[0099] In a given preset search range, the leading M points of the target point to be encoded are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target point to be encoded are obtained according to the Morton 2 order, and the S neighbor points with the closest Manhattan distance to the target point to be encoded are obtained within the target range determined based on M, N1 and N2.

[0100] Specifically, for the target point to be encoded, first, according to the Morton 1 order, the preceding M points of the target point to be encoded are searched, and then according to the Morton 2 order, the preceding N1 points and the following N2 points of the target point to be encoded are searched respectively, and among these M+N1+N2 points, the S neighboring points with the closest Manhattan distance to the target point to be encoded are selected, and the initial attribute prediction information of the target point to be encoded is determined based on these S neighboring points, and then the attribute prediction information of the target point to be encoded is determined according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information. It should be noted that M, N1 and N2 are all positive integers.

[0101] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

[0102] Furthermore, after obtaining the S neighbor points with the closest Manhattan distance to the target point to be encoded based on the Morton order, perform attribute weighted prediction on the S neighbor points, where the weight is the inverse of the Manhattan distance between the current neighbor point and the target point to be encoded, and obtain the initial attribute prediction information of the target point to be encoded; then calculate the attribute prediction information of the target point to be encoded based on the first weight and the initial attribute prediction information corresponding to the target point to be encoded, and then calculate the attribute prediction information of the K points to be encoded accordingly. Among them, the method for obtaining the attribute prediction information can refer to the specific description of obtaining S neighbor points based on the double Hilbert order and performing attribute prediction, the only difference is that this embodiment is based on the double Morton order to obtain S neighbor points, and the specific method of obtaining the attribute prediction information is not repeated here.

[0103] Optionally, 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 can be manually set according to encoding requirements.

[0104] In which, 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, and the second attribute parameter is used to characterize the second preset range; when the post-order search range of the Hilbert 2-order or Morton 2-order is a third preset range, the binary code stream also includes a third attribute parameter, and the third attribute parameter is used to characterize the third preset range.

[0105] That is to say, the above-mentioned first preset range, second preset range and third preset range can be written into the code stream as a set of attribute information parameters. When the pre-order search range of Hilbert 2-order or Morton 2-order is the same as the post-order search range of Hilbert 2-order or Morton 2-order, that is, both are the second preset range, in the code stream, it may be necessary to write only the first attribute parameter representing the search range of Hilbert 1-order or Morton 1-order, and the second attribute parameter representing the pre-order of Hilbert 2-order or Morton 2-order and the post-order of Hilbert 2-order or Morton 2-order; if the pre-order search range of Hilbert 2-order or Morton 2-order is different from the post-order search range of Hilbert 2-order or Morton 2-order, the first attribute parameter, the second attribute parameter and the third attribute parameter need to be written into the binary code stream. By writing the attribute parameters into the code stream, in the attribute information encoding process, it is possible to determine the S neighboring points closest to the Manhattan distance of the target point to be encoded based on the first preset range, the second preset range and the third preset range.

[0106] In the embodiment of the present application, the attribute prediction information of the K to-be-encoded points may also be determined based on other methods. Optionally, the step 302 includes:

[0107] Taking the first point among the K points to be encoded as a reference point, obtaining T neighboring points of the reference point;

[0108] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0109] Obtaining L neighboring points with the closest Manhattan distances to a target point to be encoded among the K points to be encoded among the R neighboring points, wherein the target point to be encoded is any one of the K points to be encoded;

[0110] Determine the initial attribute prediction information of the target point to be encoded based on L neighboring points;

[0111] According to the first weight corresponding to the target point to be encoded and the initial attribute prediction information, the attribute prediction information of the target point to be encoded is determined; wherein T, R and L are all positive integers.

[0112] In this embodiment, the K points to be encoded can be arranged in a certain order. For example, when the point cloud to be encoded is sorted according to the Morton code, the K points to be encoded can be sorted based on the corresponding Morton code size. The first point among the K points to be encoded can refer to a point with the smallest Morton code or a point with the largest Morton code. Further, taking the first point as a reference point, T neighboring points of the reference point are selected, and then the R neighboring points with the closest Manhattan distance to the reference point are selected from the T neighboring points. Each of the K points to be encoded selects the L neighboring points with the closest Manhattan distance from the R neighboring points. Each point to be encoded determines the corresponding initial attribute prediction information based on the L neighboring points corresponding to each of them. Further, based on the first weight corresponding to each point to be encoded and the initial attribute prediction information, the attribute prediction information corresponding to each point to be encoded is determined. In this way, the attribute prediction information of the K points to be encoded can be calculated.

[0113] In this implementation manner, the sum of the first weights corresponding to the K nodes to be encoded is 1.

[0114] The step of determining the initial attribute prediction information of the target point to be encoded based on the L neighboring points includes:

[0115] Based on each neighbor point in the L neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0116] It can be understood that among the L neighboring points of the target point to be encoded, the Manhattan distance between each neighboring point and the target point to be encoded is different, and the second weight is the reciprocal of the Manhattan distance between the current neighboring point and the target point to be encoded, so the second weight corresponding to each neighboring point is also different. Optionally, the initial attribute prediction information of the target point to be encoded can be the sum of the product of the attribute information of each neighboring point in the L neighboring points and the corresponding second weight, so as to calculate the initial attribute prediction information of the target point to be encoded.

[0117] In the embodiment of the present application, after the attribute prediction information of the K points to be encoded is determined based on the above method, it can be determined whether to perform DCT transformation on the K points to be encoded based on the attribute prediction information of the K points to be encoded. In this case, that is, the first information includes the K points to be encoded, and the second information includes the attribute prediction information of the K points to be encoded, then the step 302 may include:

[0118] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform DCT transformation on the K points to be encoded; or

[0119] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than a second threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0120] For example, the attribute prediction information of the K points to be encoded is recorded as AttrPre i , i ranges from 1 to K; obtain the maximum attribute prediction value and the minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded, respectively denoted as AttrPre max and AttrPre min , the first threshold is recorded as Threshold1, if |AttrPre max -AttrPre min |≥Threshold1, then the K points to be coded are not subjected to DCT transformation. max -AttrPre min |<Threshold1, then DCT transformation is performed on the K points to be encoded.

[0121] Alternatively, the maximum attribute prediction value and the minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded are obtained, which are respectively recorded as AttrPre max and AttrPre min , the second threshold is recorded as Threshold2, if Then the K points to be coded are not subjected to DCT transformation. Then no DCT transformation is performed on the K points to be encoded.

[0122] In the embodiment of the present application, the first information may also include the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points; in this case, the step 302 includes:

[0123] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N encoded points, and determining to perform DCT transformation on the K points to be encoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0124] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0125] Wherein, N is an integer greater than 1, that is, it is necessary to obtain at least the first two encoded points of the K points to be encoded. It can be understood that the attribute reconstruction information of the encoded points can be known. The attribute reconstruction information refers to the attribute information to be assigned to the point cloud sequence, but the attribute reconstruction information is different from the original attribute information in the original point cloud. The attribute reconstruction information is obtained by adding the attribute prediction information of the point cloud to the attribute residual information after the encoding process at the encoding end.

[0126] In this implementation, it is assumed that the attribute reconstruction information of N points to be encoded is recorded as AttrRec i , i ranges from 1 to N; obtain the maximum attribute reconstruction value and the minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N points to be encoded, and record them as AttrRec max and AttrRec min , the third threshold is recorded as Threshold3, if |AttrRec max -AttrRec min |≥Threshold3, then the K points to be coded are not subjected to DCT transformation. If |AttrRec max -AttrRec min |<Threshold3, then DCT transform is performed on the K points to be encoded.

[0127] Alternatively, the maximum attribute reconstruction value and the minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N points to be encoded are obtained, and are respectively recorded as AttrRec max and AttrRec min , the fourth threshold is recorded as Threshold4, if Then the K points to be coded are not subjected to DCT transformation. Then, DCT transformation is performed on the K points to be encoded.

[0128] Step 303: When it is determined that the K points to be encoded are to be subjected to DCT transformation, DCT transformation is performed on the K points to be encoded to obtain transformation coefficients of the K points to be encoded.

[0129] In the embodiment of the present application, if it is determined that the K points to be encoded are to be subjected to DCT transformation, the attribute residual information of the K points to be encoded can be subjected to DCT transformation. Furthermore, before the K points to be encoded are subjected to DCT transformation, the method further includes:

[0130] Based on the attribute prediction information of the K points to be encoded, attribute residual information of the K points to be encoded is obtained.

[0131] The attribute residual information of each of the K to-be-encoded points may be the difference between the original attribute information and the attribute prediction information of the to-be-encoded point.

[0132] Further, performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded includes:

[0133] Perform DCT transformation on the attribute residual information of the K points to be encoded to obtain transformation coefficients corresponding to the K points to be encoded.

[0134] For example, the attribute residual information of the K points to be encoded is recorded as AttrRes i , perform DCT transformation on the attribute residual information of these K points, where K represents the order of DCT transformation. Let T be the K-order transformation matrix, then the transformation coefficient can be obtained from the following transformation formula:

[0135]

[0136] Among them, AttrRes i Indicates attribute residual information, i=n, ​​n+1, ..., n+K-1, DC indicates the low-frequency coefficient obtained after DCT transformation, and AC indicates the high-frequency coefficient obtained after DCT transformation. In this way, the transformation coefficients of K to-be-encoded points after DCT transformation can be obtained.

[0137] Step 304: quantize the transform coefficients of the K points to be encoded, perform entropy encoding based on the quantized transform coefficients, and generate a binary code stream.

[0138] Specifically, after obtaining the transformation coefficients of the K points to be encoded, the transformation coefficients are quantized to obtain quantized transformation coefficients, and the quantized transformation coefficients are entropy encoded to generate a binary code stream, thereby completing the encoding of the attribute information of the point cloud to be encoded.

[0139] In the embodiment of the present application, in the process of encoding the coding point cloud, it is necessary to decide whether to perform DCT transform on the coding point based on the attribute prediction information of the to-be-coded point or the attribute reconstruction information of the coded point. When it is determined that DCT transform is required on the coding point, DCT transform is performed on the coding point, so that the dispersed distribution of attribute information in the spatial domain can be converted into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and encoding, thereby removing attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0140] The transform coefficients include low-frequency coefficients and high-frequency coefficients, and the quantizing of the transform coefficients of the K points to be encoded and performing entropy coding based on the quantized transform coefficients include:

[0141] The high-frequency coefficients and the low-frequency coefficients corresponding to the K to-be-encoded points are quantized, and the quantized high-frequency coefficients and the low-frequency coefficients are entropy encoded respectively to obtain a first encoding value and a second encoding value.

[0142] Optionally, after quantizing the transform coefficients of the K to-be-encoded points and performing entropy encoding based on the quantized transform coefficients, the method further includes:

[0143] The transform coefficients based on the quantization are dequantized, and the inverse transform coefficients obtained after the dequantization are dequantized to obtain the attribute reconstruction information of the K points to be encoded.

[0144] In the embodiment of the present application, after the transform coefficients of the K points to be encoded are quantized and entropy encoded, inverse quantization and inverse DCT transformation can be further performed based on the quantized transform coefficients to obtain attribute reconstruction information of the K points to be encoded.

[0145] Wherein, after entropy encoding the quantized high-frequency coefficients and low-frequency coefficients respectively to obtain the first coding value and the second coding value, the coding value obtained after the entropy encoding is dequantized, and the inverse transformation coefficients obtained after the dequantization are dequantized to obtain the attribute reconstruction information of the K points to be encoded, including:

[0146] Dequantizing the first coded value and the second coded value to obtain dequantized dequantized dequantized high-frequency coefficients and dequantized low-frequency coefficients;

[0147] Performing an inverse DCT transform 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 encoded;

[0148] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

[0149] Specifically, the quantized high-frequency coefficients and low-frequency coefficients are entropy encoded respectively, and the coded values ​​after entropy encoding are dequantized to obtain dequantized dequantized degenerate high-frequency coefficients and degenerate low-frequency coefficients, and the degenerate high-frequency coefficients and degenerate low-frequency coefficients are degenerate DCT transformed to obtain the degenerate attribute residual information of the K points to be encoded. It should be noted that during the encoding process, the attribute residual information of the K points to be encoded needs to be DCT transformed, and then quantized, dequantized and degenerate transformed. During this process, the attribute residual information may be lost, and thus the degenerate attribute residual information obtained may be inconsistent with the attribute residual information of the K points to be encoded before the DCT transformation.

[0150] Furthermore, based on the inverse attribute residual information and the attribute prediction information of the K points to be encoded, the attribute reconstruction information of the K points to be encoded can be obtained. The attribute reconstruction information can be the sum of the attribute prediction information and the inverse attribute residual information.

[0151] In the embodiment of the present application, the quantizing of the high-frequency coefficients and the low-frequency coefficients corresponding to the K points to be encoded includes:

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

[0153] The high frequency coefficient is quantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is quantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

[0154] Among them, in the process of quantizing the transform coefficients, the quantization step may have a certain offset, and it is necessary to complete the proportional scaling operation of the integer DCT based on the offset of the quantization step, that is, the quantization step of the quantized transform coefficients is the quantization step after the proportional scaling operation is completed, so as to ensure the accuracy of the quantization result and avoid the quantization error caused by the quantization step offset.

[0155] Optionally, the obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient, and the obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient, comprises:

[0156] According to the component distribution corresponding to the attribute information of the K points to be encoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

[0157] Wherein, when the component distribution corresponding to the attribute information of the K points to be encoded is flat, the quantization step size of the high-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0158] When the component distribution corresponding to the attribute information of the K points to be encoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0159] For example, when the component distribution corresponding to the attribute information is flat, a coarser quantization method may be adopted. fin-AC =Q ori +Offset coeff +Offset AC , Q fin-DC =Q ori +Offset coeff +Offset DC ; Among them, Q fin-AC Indicates the quantization step size of high-frequency coefficients, Q ori Indicates the original quantization step size, Offset coeff Indicates the preset quantization step offset, Offset AC Indicates the quantization step size offset of high-frequency coefficients, Q fin-DC Indicates the quantization step size of the low-frequency coefficients, Offset DC Indicates the quantization step size offset of low-frequency coefficients.

[0160] When the component distribution corresponding to the attribute information is not flat, the same quantization step size is used for the high-frequency coefficients and the low-frequency coefficients during quantization. fin =Q ori +Offset coeff +Offset DC , where Q fin Indicates the quantization step size of the low-frequency coefficients, and also indicates the quantization step size of the high-frequency coefficients, Q ori Indicates the original quantization step size, Offset coeff Indicates the preset quantization step offset, Offset DC Indicates the quantization step size offset of low-frequency coefficients.

[0161] In addition, when the high frequency coefficient is less than the first preset threshold, the quantized value of the high frequency coefficient is 0, and when the low frequency coefficient is less than the second preset threshold, the quantized value of the low frequency coefficient is 0. The first preset threshold and the second preset threshold may be the same or different.

[0162] In the embodiment of the present application, the method may further include a coding method in which the K points to be coded are not subjected to DCT transformation.

[0163] When it is determined that the K to-be-encoded points are not to be subjected to DCT transformation, quantizing the attribute residual information of the K to-be-encoded points;

[0164] The attribute residual information of the K to-be-encoded points after quantization is entropy-encoded to generate a binary code stream.

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

[0166] Furthermore, after entropy coding the attribute residual information of the K to-be-coded points after quantization, the method may further include:

[0167] Dequantizing the coded value obtained after the entropy coding to obtain inverse attribute residual information of the K to-be-coded points after dequantization;

[0168] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

[0169] That is to say, for the K points to be encoded that do not need to undergo DCT transformation, the attribute residual information of the K points to be encoded is quantized, and after entropy encoding is performed based on the quantized attribute residual information, the encoding value obtained after entropy encoding can also be inversely quantized to obtain inverse attribute residual information, and then the attribute reconstruction information of the K points can be obtained based on the sum of the inverse attribute residual information and the attribute prediction information of the K points to be encoded.

[0170] Optionally, in the embodiment of the present application, before obtaining the first information, the method further includes:

[0171] Acquire identification information, where the identification information is used to indicate whether to execute the method;

[0172] Determine whether to execute the method according to the identification information.

[0173] Among them, the identification information can be identification information obtained based on user input, for example, it can be a parameter input by the user, or it can be a parameter pre-stored by the encoding end, and the pre-stored parameter is obtained through user operation; the parameter is used to indicate whether the encoding end executes the above-mentioned point cloud attribute information encoding method.

[0174] For example, the identification information can be represented by 0 and 1. If the identification information is 0, it means that the above-mentioned point cloud attribute information encoding method does not need to be executed, and the encoding end does not execute the above-mentioned point cloud attribute information encoding method; if the identification information is 1, the encoding end executes the above-mentioned point cloud attribute information encoding method. Optionally, the identification information can also be other representation forms. For example, if the identification information is "true", the encoding end executes the above-mentioned point cloud attribute information encoding method; if the identification information is "false", the encoding end does not execute the above-mentioned point cloud attribute information encoding method. Of course, the identification information can also be other representation forms, which are not listed in detail in the embodiments of the present application.

[0175] Furthermore, after generating the binary code stream, the method further comprises:

[0176] The identification information is written into the binary code stream.

[0177] It can be understood that after the encoding end generates the binary code stream, the identification information is written into the binary code stream. After the decoding end obtains the binary code stream, it can obtain the identification information based on decoding the binary code stream. It can also be known based on the identification information whether the encoding end has adopted the above-mentioned point cloud attribute information encoding method for encoding. Then, the decoding end can also adopt the corresponding decoding method based on the identification information to ensure that the decoding end can decode smoothly and ensure decoding efficiency.

[0178] In an embodiment of the present application, the attribute reconstruction information of K points to be encoded is obtained by inverse quantizing the encoding values ​​after entropy encoding, or for the K points to be encoded that have undergone DCT transformation, the attribute reconstruction information of the K points to be encoded is obtained by successively inverse quantizing and inverse DCT transforming the encoding values ​​after entropy encoding. Based on the obtained attribute reconstruction information, it is possible to judge whether the unencoded points in the encoding point cloud need to be DCT transformed, and then convert the dispersed distribution of the attribute information in the spatial domain into a concentrated distribution in the transform domain, so as to achieve the purpose of removing spatial redundancy and improving the attribute coding efficiency and reconstruction performance.

[0179] Please refer to Figure 4 , Figure 4 is a flow chart of another point cloud attribute encoding method provided in an embodiment of the present application. Figure 4 As shown, the process of the method is as follows: first, sort the point cloud to be coded, which can be sorted based on the Morton code or the Hilbert code; for the sorted points to be coded, determine whether the points to be coded are repeated points, that is, determine whether they are repeated with the coded points. If so, obtain the attribute prediction information of the repeated points, and quantize based on the attribute prediction information; if the points to be coded are not repeated points, predict the attribute information of the points to be coded, obtain the attribute prediction information, and determine whether DCT transformation is required based on the attribute prediction information of the points to be coded. If so, perform K-order DCT transformation on the points to be coded to obtain transformation coefficients, and quantize the transformation coefficients; if DCT transformation is not required, directly quantize the attribute residual information of the points to be coded; reconstruct the attribute information based on the quantized related information to obtain the attribute reconstruction information, and determine whether the 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 so, perform entropy coding on the quantized related information, if not, continue to determine whether the uncoded points are repeated points, until the quantization and entropy coding of all points in the uncoded point cloud are completed. It should be noted that the relevant concepts and specific implementation methods involved in this embodiment can refer to the above Figure 3 The description in the illustrated embodiment will not be repeated here.

[0180] Please refer to Figure 5 , Figure 5 1 is a flowchart of a method for decoding point cloud attribute information provided in an embodiment of the present application. The method can be applied to terminals such as mobile phones, tablet computers, and computers. Figure 5 As shown, the method comprises the following steps:

[0181] Step 501: Obtain third information;

[0182] Step 502: Determine whether to perform inverse DCT transformation on the K points to be decoded based on fourth information associated with the third information;

[0183] Step 503: When it is determined that the K points to be decoded are to be subjected to an inverse DCT transform, the K points to be decoded are subjected to an inverse DCT transform to obtain attribute residual information of the K points to be decoded;

[0184] Step 504: Based on the attribute residual information and attribute prediction information of the K to-be-decoded points, the attribute reconstruction information of the K to-be-decoded points is obtained to decode the undecoded points in the to-be-decoded point cloud;

[0185] Among them, 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, K is a positive integer, and N is an integer greater than 1.

[0186] 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 includes:

[0187] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be decoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform an inverse DCT transform on the K points to be decoded; or

[0188] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than a second threshold, it is determined to perform an inverse DCT transform on the K points to be encoded.

[0189] 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 this case, the step 502 includes:

[0190] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N decoded points, and determining to perform an inverse DCT transform on the K points to be decoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0191] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

[0192] Optionally, the third information includes K points to be decoded, and step 501 may include:

[0193] The to-be-decoded point cloud is sorted to obtain K to-be-decoded points in the sorted to-be-decoded point cloud.

[0194] Optionally, the step of sorting the to-be-decoded point cloud to obtain K to-be-decoded points in the sorted to-be-decoded point cloud includes:

[0195] Calculate the Hilbert code corresponding to each point in the to-be-decoded point cloud, sort the to-be-decoded point cloud according to the Hilbert code, and select K to-be-decoded points in order from the sorted to-be-decoded point cloud; or,

[0196] The Morton code corresponding to each point in the to-be-decoded point cloud is calculated, the to-be-decoded point cloud is sorted according to the Morton code, and K to-be-decoded points are sequentially selected from the sorted to-be-decoded point cloud.

[0197] Optionally, before step 502, the method further includes:

[0198] Obtaining S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order, wherein the target point to be decoded is any one of the K points to be decoded;

[0199] Determine initial attribute prediction information of the target point to be decoded based on the S neighboring points;

[0200] The attribute prediction information of the target to-be-decoded point is determined according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information.

[0201] Optionally, the step of obtaining S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order includes:

[0202] In a given preset search range, the first M points of the target to-be-decoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-decoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2; or,

[0203] In the given preset search range, the leading M points of the target to-be-decoded point are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target to-be-decoded point are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2;

[0204] Wherein, M, N1 and N2 are all positive integers.

[0205] Optionally, 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;

[0206] 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, and the second attribute parameter is used to characterize the second preset range;

[0207] In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

[0208] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

[0209] Optionally, the determining the initial attribute prediction information of the target to-be-decoded point based on the S neighboring points includes:

[0210] Based on each neighbor point in the S neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

[0211] Optionally, the third information includes the K points to be decoded, and before step 502, the method further includes:

[0212] Taking the first point among the K points to be decoded as a reference point, obtaining T neighboring points of the reference point;

[0213] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0214] Obtaining L neighboring points with the closest Manhattan distances to a target point to be decoded among the K points to be decoded among the R neighboring points, wherein the target point to be decoded is any one of the K points to be decoded;

[0215] Determine the initial attribute prediction information of the target point to be decoded based on L neighboring points;

[0216] Determining attribute prediction information of the target to-be-decoded point according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information;

[0217] Wherein, T, R and L are all positive integers.

[0218] Optionally, the determining the initial attribute prediction information of the target point to be decoded based on the L neighboring points includes:

[0219] Based on each neighbor point in the L neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

[0220] Optionally, the sum of the first weights corresponding to each of the K to-be-decoded nodes is 1.

[0221] Optionally, before performing inverse DCT transformation on the K points to be decoded, the method further includes:

[0222] Obtaining transform coefficients of the K points to be decoded;

[0223] Dequantizing the transform coefficients to obtain dequantized transform coefficients;

[0224] The performing inverse DCT transformation on the K points to be decoded comprises:

[0225] Perform DCT inverse transformation on the K points to be decoded based on the inverse quantized transformation coefficients.

[0226] Optionally, the transform coefficient includes a high-frequency coefficient and a low-frequency coefficient, and the dequantizing the transform coefficient to obtain the dequantized transform coefficient includes:

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

[0228] The high frequency coefficient is dequantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is dequantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

[0229] Optionally, the obtaining a high-frequency coefficient quantization step size corresponding to the high-frequency coefficient, and the obtaining a low-frequency coefficient quantization step size corresponding to the low-frequency coefficient, comprises:

[0230] According to the component distribution corresponding to the attribute information of the K points to be decoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

[0231] Optionally, the obtaining, according to the component distribution corresponding to the attribute information of the K points to be decoded, a high-frequency coefficient quantization step corresponding to the high-frequency coefficient, and obtaining a low-frequency coefficient quantization step corresponding to the low-frequency coefficient, comprises:

[0232] In the case where the 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 the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0233] When the component distribution corresponding to the attribute information of the K points to be decoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0234] Optionally, when the high-frequency coefficient is less than a first preset threshold, the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is less than a second preset threshold, the quantized value of the low-frequency coefficient is 0.

[0235] Optionally, the method further comprises:

[0236] When it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transformation coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

[0237] Optionally, before obtaining the third information, the method further includes:

[0238] Acquire identification information from a binary code stream, wherein the identification information is used to indicate whether to execute the method;

[0239] Determine whether to execute the method according to the identification information.

[0240] It should be noted that the decoding method provided in this embodiment is different from the above Figure 3 The relevant concepts and specific implementation methods involved in this embodiment can refer to the above-mentioned encoding method. Figure 3 The description of the encoding method will not be repeated in this embodiment.

[0241] The decoding method provided in the embodiment of the present application, in the process of decoding the point cloud to be decoded, needs to decide whether to perform DCT transform on the point to be decoded based on the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point. When it is determined that DCT transform is required for the point to be decoded, DCT transform is performed on the point to be decoded, so as to convert the dispersed distribution of attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and decoding, thereby removing attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

[0242] It should be noted that the point cloud attribute information encoding method provided in the embodiment of the present application can be executed by a point cloud attribute information encoding device, or a control module in the point cloud attribute information encoding device for executing the point cloud attribute information encoding method. In the embodiment of the present application, the point cloud attribute information encoding device executing the point cloud attribute information encoding method is taken as an example to illustrate the point cloud attribute information encoding device provided in the embodiment of the present application.

[0243] Please refer to Figure 6 , Figure 6 is a structural diagram of a point cloud attribute information encoding device provided in an embodiment of the present application. Figure 6 As shown, the point cloud attribute information encoding device 600 includes:

[0244] A first acquisition module 601, used to acquire first information;

[0245] A first determination module 602 is used to determine whether to perform discrete cosine transform DCT transformation on the K to-be-encoded points based on second information associated with the first information;

[0246] A first transformation module 603 is configured to, when it is determined that the K to-be-encoded points are to be subjected to DCT transformation, perform DCT transformation on the K to-be-encoded points to obtain transformation coefficients of the K to-be-encoded points;

[0247] The encoding module 604 is used to quantize the transformation coefficients of the K to-be-encoded points, perform entropy encoding based on the quantized transformation coefficients, and generate a binary code stream;

[0248] The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1.

[0249] Optionally, the first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded;

[0250] The first determining module 602 is further configured to:

[0251] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform DCT transformation on the K points to be encoded; or

[0252] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than a second threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0253] Optionally, the first information includes first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points;

[0254] The first determining module 602 is further configured to:

[0255] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N encoded points, and determining to perform DCT transformation on the K points to be encoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0256] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0257] Optionally, the first information includes the K points to be encoded, and the first acquisition module 601 is further used to:

[0258] The to-be-encoded point cloud is sorted to obtain K to-be-encoded points in the sorted to-be-encoded point cloud.

[0259] Optionally, the first acquisition module 601 is further used for:

[0260] Calculate the Hilbert code corresponding to each point in the to-be-encoded point cloud, sort the to-be-encoded point cloud according to the Hilbert code, and select K to-be-encoded points in order from the sorted to-be-encoded point cloud; or,

[0261] The Morton code corresponding to each point in the point cloud to be encoded is calculated, the point cloud to be encoded is sorted according to the Morton code, and K points to be encoded are selected in sequence from the sorted point cloud to be encoded.

[0262] Optionally, the device further includes an attribute information prediction module, configured to:

[0263] According to the double Hilbert order or the double Morton order, S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained, and the target point to be encoded is any one of the K points to be encoded;

[0264] Determine initial attribute prediction information of the target point to be encoded based on the S neighboring points;

[0265] Determine the attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information.

[0266] Optionally, the attribute information prediction module is further used to:

[0267] In a given preset search range, the first M points of the target to-be-encoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-encoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-encoded point are obtained within the target range determined based on M, N1 and N2; or,

[0268] In the given preset search range, the leading M points of the target point to be encoded are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target point to be encoded are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained within the target range determined based on M, N1 and N2;

[0269] Wherein, M, N1 and N2 are all positive integers.

[0270] Optionally, 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;

[0271] 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, and the second attribute parameter is used to characterize the second preset range;

[0272] In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

[0273] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

[0274] Optionally, the attribute information prediction module is further used to:

[0275] Based on each of the S neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0276] Optionally, the first information includes the K points to be encoded, and the attribute information prediction module is further used to:

[0277] Taking the first point among the K points to be encoded as a reference point, obtaining T neighboring points of the reference point;

[0278] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0279] Obtaining L neighboring points with the closest Manhattan distances to a target point to be encoded among the K points to be encoded among the R neighboring points, wherein the target point to be encoded is any one of the K points to be encoded;

[0280] Determine the initial attribute prediction information of the target point to be encoded based on L neighboring points;

[0281] Determining attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information;

[0282] Wherein, T, R and L are all positive integers.

[0283] Optionally, the attribute information prediction module is further used to:

[0284] Based on each neighbor point in the L neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0285] Optionally, the sum of the first weights corresponding to the K nodes to be encoded is 1.

[0286] Optionally, the device further includes a third acquisition module, configured to:

[0287] Based on the attribute prediction information of the K points to be encoded, obtaining attribute residual information of the K points to be encoded;

[0288] The first transformation module 603 is further used for:

[0289] Perform DCT transformation on the attribute residual information of the K points to be encoded to obtain transformation coefficients corresponding to the K points to be encoded.

[0290] Optionally, the device further comprises an attribute reconstruction module, configured to:

[0291] The transform coefficients based on the quantization are dequantized, and the inverse transform coefficients obtained after the dequantization are dequantized to obtain the attribute reconstruction information of the K points to be encoded.

[0292] Optionally, the transform coefficients include low-frequency coefficients and high-frequency coefficients, and the encoding module 604 is further used for:

[0293] quantizing the high-frequency coefficients and the low-frequency coefficients corresponding to the K to-be-encoded points, and performing entropy encoding on the quantized high-frequency coefficients and the low-frequency coefficients, respectively, to obtain a first encoding value and a second encoding value;

[0294] The attribute reconstruction module is further used for:

[0295] Dequantizing the first coded value and the second coded value to obtain dequantized dequantized dequantized high-frequency coefficients and dequantized low-frequency coefficients;

[0296] Performing an inverse DCT transform 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 encoded;

[0297] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

[0298] Optionally, the encoding module 604 is further used for:

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

[0300] The high frequency coefficient is quantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is quantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

[0301] Optionally, the encoding module 604 is further used for:

[0302] According to the component distribution corresponding to the attribute information of the K points to be encoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

[0303] Optionally, the encoding module 604 is further used for:

[0304] In the case where the component distribution corresponding to the attribute information of the K to-be-encoded points is flat, the quantization step size of the high-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0305] When the component distribution corresponding to the attribute information of the K points to be encoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0306] Optionally, when the high-frequency coefficient is less than a first preset threshold, the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is less than a second preset threshold, the quantized value of the low-frequency coefficient is 0.

[0307] Optionally, the encoding module 604 is further used for:

[0308] When it is determined that the K to-be-encoded points are not to be subjected to DCT transformation, quantizing the attribute residual information of the K to-be-encoded points;

[0309] The attribute residual information of the K to-be-encoded points after quantization is entropy-encoded to generate a binary code stream.

[0310] Optionally, the device further comprises an attribute reconstruction module, configured to:

[0311] Dequantizing the coded value obtained after the entropy coding to obtain inverse attribute residual information of the K to-be-coded points after dequantization;

[0312] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

[0313] Optionally, the device further comprises:

[0314] A third determination module is used to obtain identification information, where the identification information is used to indicate whether the device performs point cloud attribute information encoding;

[0315] Determining whether the device performs the point cloud attribute information encoding according to the identification information;

[0316] A writing module is used to write the identification information into the binary code stream.

[0317] It should be noted that the device executes point cloud attribute information encoding, which means that the device executes the above-mentioned corresponding operations based on the above-mentioned modules (such as the first acquisition module, the first determination module, etc.), which will not be repeated here.

[0318] In the embodiment of the present application, the point cloud attribute information encoding device needs to decide whether to perform DCT transform on the coding point based on the attribute prediction information of the to-be-coded point or the attribute reconstruction information of the coded point during the process of encoding the coding point cloud. When it is determined that DCT transform is required on the coding point, DCT transform is performed on the coding point, thereby converting the dispersed distribution of the attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and encoding, thereby removing attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0319] The point cloud attribute information encoding device in the embodiment of the present application can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal can include but is not limited to the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.

[0320] The point cloud attribute information encoding device provided in the embodiment of the present application can achieve Figure 3 or Figure 4 The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.

[0321] Please refer to Figure 7 , Figure 7 is a structural diagram of a point cloud attribute information decoding device provided in an embodiment of the present application. Figure 7 As shown, the point cloud attribute information decoding device 700 includes:

[0322] The second acquisition module 701 is used to acquire third information;

[0323] A second determination module 702, configured to determine whether to perform an inverse DCT transform on the K to-be-decoded points based on fourth information associated with the third information;

[0324] The second transformation module 703 is used to perform an inverse DCT transformation on the K points to be decoded, to obtain attribute residual information of the K points to be decoded, when it is determined that an inverse DCT transformation is performed on the K points to be decoded;

[0325] A decoding module 704 is used to obtain 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, so as to decode the undecoded points in the point cloud to be decoded;

[0326] Among them, 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, K is a positive integer, and N is an integer greater than 1.

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

[0328] The second determining module 702 is further configured to:

[0329] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be decoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform an inverse DCT transform on the K points to be decoded; or

[0330] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than the second threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

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

[0332] The second determining module 702 is further configured to:

[0333] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N decoded points, and determining to perform an inverse DCT transform on the K points to be decoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0334] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

[0335] Optionally, the third information includes K points to be decoded, and the second acquisition module 701 is further used to:

[0336] The to-be-decoded point cloud is sorted to obtain K to-be-decoded points in the sorted to-be-decoded point cloud.

[0337] Optionally, the second obtaining module 701 is further used for:

[0338] Calculate the Hilbert code corresponding to each point in the to-be-decoded point cloud, sort the to-be-decoded point cloud according to the Hilbert code, and select K to-be-decoded points in order from the sorted to-be-decoded point cloud; or,

[0339] The Morton code corresponding to each point in the to-be-decoded point cloud is calculated, the to-be-decoded point cloud is sorted according to the Morton code, and K to-be-decoded points are sequentially selected from the sorted to-be-decoded point cloud.

[0340] Optionally, the device further includes an attribute prediction module, configured to:

[0341] Obtaining S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order, wherein the target point to be decoded is any one of the K points to be decoded;

[0342] Determine initial attribute prediction information of the target point to be decoded based on the S neighboring points;

[0343] The attribute prediction information of the target to-be-decoded point is determined according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information.

[0344] Optionally, the attribute prediction module is further used to:

[0345] In a given preset search range, the first M points of the target to-be-decoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-decoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2; or,

[0346] In the given preset search range, the leading M points of the target to-be-decoded point are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target to-be-decoded point are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2;

[0347] Wherein, M, N1 and N2 are all positive integers.

[0348] Optionally, 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;

[0349] 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, and the second attribute parameter is used to characterize the second preset range;

[0350] In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

[0351] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

[0352] Optionally, the attribute prediction module is further used to:

[0353] Based on each neighbor point in the S neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

[0354] Optionally, the third information includes the K points to be decoded, and the attribute prediction module is further used to:

[0355] Taking the first point among the K points to be decoded as a reference point, obtaining T neighboring points of the reference point;

[0356] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0357] Obtaining L neighboring points with the closest Manhattan distances to a target point to be decoded among the K points to be decoded among the R neighboring points, wherein the target point to be decoded is any one of the K points to be decoded;

[0358] Determine the initial attribute prediction information of the target point to be decoded based on L neighboring points;

[0359] Determining attribute prediction information of the target to-be-decoded point according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information;

[0360] Wherein, T, R and L are all positive integers.

[0361] Optionally, the attribute prediction module is further used to:

[0362] Based on each neighbor point in the L neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

[0363] Optionally, the sum of the first weights corresponding to each of the K to-be-decoded nodes is 1.

[0364] Optionally, the device further includes a dequantization module, configured to:

[0365] Obtaining transform coefficients of the K points to be decoded;

[0366] Dequantizing the transform coefficients to obtain dequantized transform coefficients;

[0367] The second transformation module 703 is further used for:

[0368] Perform DCT inverse transformation on the K points to be decoded based on the inverse quantized transformation coefficients.

[0369] Optionally, the transform coefficients include high-frequency coefficients and low-frequency coefficients, and the dequantization module is further used to:

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

[0371] The high frequency coefficient is dequantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is dequantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

[0372] Optionally, the dequantization module is further used for:

[0373] According to the component distribution corresponding to the attribute information of the K points to be decoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

[0374] Optionally, the dequantization module is further used for:

[0375] In the case where the 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 the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0376] When the component distribution corresponding to the attribute information of the K points to be decoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0377] Optionally, when the high-frequency coefficient is less than a first preset threshold, the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is less than a second preset threshold, the quantized value of the low-frequency coefficient is 0.

[0378] Optionally, the device further comprises a quantization module, configured to:

[0379] When it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transformation coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

[0380] Optionally, the device further includes a fourth determining module, configured to:

[0381] Acquire identification information from a binary code stream, the identification information being used to indicate whether the device performs point cloud attribute information decoding;

[0382] Determine whether the device performs the point cloud attribute information decoding according to the identification information.

[0383] It should be noted that the device performs point cloud attribute information decoding, which means that the device performs corresponding operations based on the above-mentioned modules (such as the second acquisition module, the second determination module, etc.), which will not be repeated here.

[0384] The point cloud attribute information decoding device provided by the embodiment of the present application, in the process of decoding the point cloud to be decoded, needs to decide whether to perform DCT transform on the point to be decoded based on the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point. When it is determined that DCT transform is required for the point to be decoded, DCT transform is performed on the point to be decoded, so as to convert the dispersed distribution of attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and decoding, thereby removing attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

[0385] The point cloud attribute information decoding device in the embodiment of the present application can be a device, a device or electronic device with an operating system, or a component, integrated circuit, or chip in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal can include but is not limited to the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.

[0386] The point cloud attribute information decoding device provided in the embodiment of the present application can achieve Figure 5 The various processes implemented in the method embodiment achieve the same technical effect and will not be described again here to avoid repetition.

[0387] Optional, such as Figure 8 As shown, the 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 executable on the processor 801. For example, when the communication device 800 is a terminal, the program or instruction is executed by the processor 801 to implement the above Figure 3 or Figure 4 Each process of the method embodiment, or the implementation of the above Figure 5 The various processes of the method embodiment can achieve the same technical effect, and to avoid repetition, they will not be described again here.

[0388] The present application also provides a terminal, including a processor and a communication interface, wherein the processor is used to implement the above Figure 3 or Figure 4 Each process of the method embodiment, or the implementation of the above Figure 5 The various processes of the method embodiment. This terminal embodiment corresponds to the above-mentioned terminal side method embodiment, and each implementation process and implementation method of the above-mentioned method embodiment can be applied to this terminal embodiment and can achieve the same technical effect. Specifically, Fig. 9 A schematic diagram of the hardware structure of a terminal for implementing an embodiment of the present application.

[0389] The terminal 900 includes but is 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 at least some of the components of a processor 910.

[0390] Those skilled in the art will appreciate that the terminal 900 may also include a power source (such as a battery) for supplying power to various components, and the power source may be logically connected to the processor 910 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Fig. 9 The terminal structure shown in the figure does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.

[0391] It should be understood that in the embodiment of the present application, the input unit 904 may include a graphics processor (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 processes the image data of the static picture or video obtained by the image capture device (such as a camera) in the video capture mode or the image capture mode. The display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 907 includes a touch panel 9071 and other input devices 9072. The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts: a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.

[0392] In the embodiment of the present application, the radio frequency unit 901 receives downlink data from the network side device and sends it to the processor 910 for processing; in addition, the uplink data is sent 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.

[0393] The memory 909 can be used to store software programs or instructions and various data. The memory 909 can mainly include a program or instruction storage area and a data storage area, wherein the program or instruction storage area can store an operating system, an application program or instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 909 can include a high-speed random access memory, and can also include a non-volatile memory, wherein the non-volatile memory can be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically erasable programmable read-only memory (Electrically EPROM, EEPROM) or a flash memory. For example, at least one disk storage device, a flash memory device, or other non-volatile solid-state storage devices.

[0394] The processor 910 may include one or more processing units; optionally, the processor 910 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and application programs or instructions, etc., and the modem processor mainly processes wireless communications, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 910.

[0395] In one implementation, the processor 910 is configured to:

[0396] Obtaining first information;

[0397] Determine whether to perform discrete cosine transform DCT transform on the K points to be encoded based on second information associated with the first information;

[0398] In the case where it is determined that the K points to be encoded are to be subjected to DCT transformation, the K points to be encoded are subjected to DCT transformation to obtain transformation coefficients of the K points to be encoded;

[0399] quantizing the transform coefficients of the K to-be-encoded points, performing entropy coding based on the quantized transform coefficients, and generating a binary code stream;

[0400] The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1.

[0401] Optionally, the first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; the processor 910 is further configured to:

[0402] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform DCT transformation on the K points to be encoded; or

[0403] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than a second threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0404] Optionally, the first information includes first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points; the processor 910 is further configured to:

[0405] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N encoded points, and determining to perform DCT transformation on the K points to be encoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0406] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform DCT transformation on the K points to be encoded.

[0407] Optionally, the first information includes the K points to be encoded, and the processor 910 is further configured to:

[0408] The to-be-encoded point cloud is sorted to obtain K to-be-encoded points in the sorted to-be-encoded point cloud.

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

[0410] Calculate the Hilbert code corresponding to each point in the to-be-encoded point cloud, sort the to-be-encoded point cloud according to the Hilbert code, and select K to-be-encoded points in order from the sorted to-be-encoded point cloud; or,

[0411] The Morton code corresponding to each point in the point cloud to be encoded is calculated, the point cloud to be encoded is sorted according to the Morton code, and K points to be encoded are selected in sequence from the sorted point cloud to be encoded.

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

[0413] According to the double Hilbert order or the double Morton order, S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained, and the target point to be encoded is any one of the K points to be encoded;

[0414] Determine initial attribute prediction information of the target point to be encoded based on the S neighboring points;

[0415] Determine the attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information.

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

[0417] In a given preset search range, the first M points of the target to-be-encoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-encoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-encoded point are obtained within the target range determined based on M, N1 and N2; or,

[0418] In the given preset search range, the leading M points of the target point to be encoded are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target point to be encoded are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained within the target range determined based on M, N1 and N2;

[0419] Wherein, M, N1 and N2 are all positive integers.

[0420] Optionally, 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;

[0421] 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, and the second attribute parameter is used to characterize the second preset range;

[0422] In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

[0423] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

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

[0425] Based on each of the S neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0426] Optionally, the first information includes the K points to be encoded, and the processor 910 is further configured to:

[0427] Taking the first point among the K points to be encoded as a reference point, obtaining T neighboring points of the reference point;

[0428] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0429] Obtaining L neighboring points with the closest Manhattan distances to a target point to be encoded among the K points to be encoded among the R neighboring points, wherein the target point to be encoded is any one of the K points to be encoded;

[0430] Determine the initial attribute prediction information of the target point to be encoded based on L neighboring points;

[0431] Determining attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information;

[0432] Wherein, T, R and L are all positive integers.

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

[0434] Based on each neighbor point in the L neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

[0435] Optionally, the sum of the first weights corresponding to the K nodes to be encoded is 1.

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

[0437] Based on the attribute prediction information of the K points to be encoded, obtaining attribute residual information of the K points to be encoded;

[0438] The performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded includes:

[0439] Perform DCT transformation on the attribute residual information of the K points to be encoded to obtain transformation coefficients corresponding to the K points to be encoded.

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

[0441] The transform coefficients based on the quantization are dequantized, and the inverse transform coefficients obtained after the dequantization are dequantized to obtain the attribute reconstruction information of the K points to be encoded.

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

[0443] quantizing the high-frequency coefficients and the low-frequency coefficients corresponding to the K to-be-encoded points, and performing entropy encoding on the quantized high-frequency coefficients and the low-frequency coefficients, respectively, to obtain a first encoding value and a second encoding value;

[0444] The step of inverse quantizing the coded value obtained after the entropy coding and inversely transforming the inverse transformation coefficient obtained after the inverse quantization to obtain the attribute reconstruction information of the K points to be coded includes:

[0445] Dequantizing the first coded value and the second coded value to obtain dequantized dequantized dequantized high-frequency coefficients and dequantized low-frequency coefficients;

[0446] Performing an inverse DCT transform 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 encoded;

[0447] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

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

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

[0450] The high frequency coefficient is quantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is quantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

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

[0452] According to the component distribution corresponding to the attribute information of the K points to be encoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

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

[0454] In the case where the component distribution corresponding to the attribute information of the K to-be-encoded points is flat, the quantization step size of the high-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0455] When the component distribution corresponding to the attribute information of the K points to be encoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0456] Optionally, when the high-frequency coefficient is less than a first preset threshold, the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is less than a second preset threshold, the quantized value of the low-frequency coefficient is 0.

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

[0458] When it is determined that the K to-be-encoded points are not to be subjected to DCT transformation, quantizing the attribute residual information of the K to-be-encoded points;

[0459] The attribute residual information of the K to-be-encoded points after quantization is entropy-encoded to generate a binary code stream.

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

[0461] Dequantizing the coded value obtained after the entropy coding to obtain inverse attribute residual information of the K to-be-coded points after dequantization;

[0462] According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

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

[0464] Acquire identification information, where the identification information is used to indicate whether the processor 910 performs point cloud attribute information encoding;

[0465] Determining whether the processor 910 performs the point cloud attribute information decoding according to the identification information;

[0466] The identification information is written into the binary code stream.

[0467] The processor 910 performs the point cloud attribute information encoding, which means that the processor 910 performs the above steps to implement the point cloud attribute information encoding, or implements the following steps: Figure 3 or Figure 4 The specific implementation of the point cloud attribute information encoding method is not described here.

[0468] In this embodiment, during the encoding process of the coding point cloud, the terminal 900 needs to decide whether to perform DCT transform on the coding point based on the attribute prediction information of the to-be-coded point or the attribute reconstruction information of the coded point. When it is determined that DCT transform is required on the coding point, DCT transform is performed on the coding point, thereby converting the dispersed distribution of the attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and encoding, thereby removing attribute redundancy and achieving the purpose of improving attribute coding efficiency and reconstruction performance.

[0469] Alternatively, in another implementation, the processor 910 is configured to:

[0470] Obtaining third party information;

[0471] Determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information;

[0472] In the case where it is determined to perform an inverse DCT transform on the K points to be decoded, performing an inverse DCT transform on the K points to be decoded to obtain attribute residual information of the K points to be decoded;

[0473] Based on the attribute residual information and attribute prediction information of the K points to be decoded, attribute reconstruction information of the K points to be decoded is obtained to decode the undecoded points in the point cloud to be decoded;

[0474] Among them, 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, K is a positive integer, and N is an integer greater than 1.

[0475] 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 processor 910 is further configured to:

[0476] Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be decoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform an inverse DCT transform on the K points to be decoded; or

[0477] When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than the second threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

[0478] 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 processor 910 is further configured to:

[0479] Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N decoded points, and determining to perform an inverse DCT transform on the K points to be decoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or

[0480] When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

[0481] Optionally, the third information includes K points to be decoded, and the processor 910 is further configured to:

[0482] The to-be-decoded point cloud is sorted to obtain K to-be-decoded points in the sorted to-be-decoded point cloud.

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

[0484] Calculate the Hilbert code corresponding to each point in the to-be-decoded point cloud, sort the to-be-decoded point cloud according to the Hilbert code, and select K to-be-decoded points in order from the sorted to-be-decoded point cloud; or,

[0485] The Morton code corresponding to each point in the to-be-decoded point cloud is calculated, the to-be-decoded point cloud is sorted according to the Morton code, and K to-be-decoded points are sequentially selected from the sorted to-be-decoded point cloud.

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

[0487] Obtaining S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order, wherein the target point to be decoded is any one of the K points to be decoded;

[0488] Determine initial attribute prediction information of the target point to be decoded based on the S neighboring points;

[0489] The attribute prediction information of the target to-be-decoded point is determined according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information.

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

[0491] In a given preset search range, the first M points of the target to-be-decoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-decoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2; or,

[0492] In the given preset search range, the leading M points of the target to-be-decoded point are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target to-be-decoded point are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2;

[0493] Wherein, M, N1 and N2 are all positive integers.

[0494] Optionally, 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;

[0495] 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, and the second attribute parameter is used to characterize the second preset range;

[0496] In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

[0497] Optionally, the given preset search range is determined according to a correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

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

[0499] Based on each neighbor point in the S neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

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

[0501] Taking the first point among the K points to be decoded as a reference point, obtaining T neighboring points of the reference point;

[0502] Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point;

[0503] Obtaining L neighboring points with the closest Manhattan distances to a target point to be decoded among the K points to be decoded among the R neighboring points, wherein the target point to be decoded is any one of the K points to be decoded;

[0504] Determine the initial attribute prediction information of the target point to be decoded based on L neighboring points;

[0505] Determining attribute prediction information of the target to-be-decoded point according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information;

[0506] Wherein, T, R and L are all positive integers.

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

[0508] Based on each neighbor point in the L neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

[0509] Optionally, the sum of the first weights corresponding to each of the K to-be-decoded nodes is 1.

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

[0511] Obtaining transform coefficients of the K points to be decoded;

[0512] Dequantizing the transform coefficients to obtain dequantized transform coefficients;

[0513] The performing inverse DCT transformation on the K points to be decoded comprises:

[0514] Perform DCT inverse transformation on the K points to be decoded based on the inverse quantized transformation coefficients.

[0515] Optionally, the transform coefficients include high-frequency coefficients and low-frequency coefficients, and the processor 910 is further configured to:

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

[0517] The high frequency coefficient is dequantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is dequantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

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

[0519] According to the component distribution corresponding to the attribute information of the K points to be decoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

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

[0521] In the case where the 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 the sum of the original quantization step size, the preset quantization step size offset and the high-frequency coefficient quantization step size offset, and the quantization step size of the low-frequency transform coefficient is the sum of the original quantization step size, the preset quantization step size offset and the low-frequency coefficient quantization step size offset;

[0522] When the component distribution corresponding to the attribute information of the K points to be decoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

[0523] Optionally, when the high-frequency coefficient is less than a first preset threshold, the quantized value of the high-frequency coefficient is 0, and when the low-frequency coefficient is less than a second preset threshold, the quantized value of the low-frequency coefficient is 0.

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

[0525] When it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transformation coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

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

[0527] Acquire identification information from the binary code stream, where the identification information is used to indicate whether the processor 910 performs point cloud attribute information decoding;

[0528] Determine whether the processor 910 executes the point cloud attribute information decoding according to the identification information.

[0529] The processor 910 performs point cloud attribute information decoding, which means that the processor 910 performs the above steps to achieve point cloud attribute information decoding, or to achieve the following: Figure 5 The specific implementation of the point cloud attribute information decoding method is not described here.

[0530] In this embodiment, during the decoding process of the point cloud to be decoded, the terminal 900 needs to decide whether to perform DCT transform on the point to be decoded based on the attribute prediction information of the point to be decoded or the attribute reconstruction information of the decoded point. When it is determined that DCT transform is required for the point to be decoded, DCT transform is performed on the point to be decoded, thereby converting the dispersed distribution of attribute information in the spatial domain into a relatively concentrated distribution in the transform domain, so that the signal energy is concentrated in a few coefficients, which is more convenient for quantization and decoding, thereby removing attribute redundancy and achieving the purpose of improving attribute decoding efficiency and reconstruction performance.

[0531] The embodiment of the present application also provides a readable storage medium on which a program or instruction is stored. When the program or instruction is executed by a processor, the above Figure 3 or Figure 4 Each process of the method embodiment, or the implementation of the above Figure 5 The various processes of the method embodiment can achieve the same technical effect, and to avoid repetition, they will not be described again here.

[0532] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes 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.

[0533] The present application also provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the above Figure 3 or Figure 4 Each process of the method embodiment, or the implementation of the above Figure 5 The various processes of the method embodiment can achieve the same technical effect, and to avoid repetition, they will not be described again here.

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

[0535] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0536] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0537] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A method for encoding point cloud attribute information, characterized in that: include: Obtaining first information; Determine to perform discrete cosine transform DCT transform on K points to be encoded based on second information associated with the first information; Performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded; quantizing the transform coefficients of the K to-be-encoded points, performing entropy coding based on the quantized transform coefficients, and generating a binary code stream; The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1; The first information includes the K points to be encoded, and before determining whether to perform DCT transformation on the K points to be encoded based on the second information associated with the first information, the method further includes: Taking the first point among the K points to be encoded as a reference point, obtaining T neighboring points of the reference point; Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point; Obtaining L neighboring points with the closest Manhattan distances to a target point to be encoded among the K points to be encoded among the R neighboring points, wherein the target point to be encoded is any one of the K points to be encoded; Determine the initial attribute prediction information of the target point to be encoded based on L neighboring points; Determining attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information; Wherein, T, R and L are all positive integers.

2. The method according to claim 1, characterized in that The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; The determining whether to perform DCT transformation on the K to-be-encoded points based on the second information associated with the first information includes: Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be encoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform DCT transformation on the K points to be encoded; or When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than a second threshold, it is determined to perform DCT transformation on the K points to be encoded.

3. The method according to claim 1, characterized in that The first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points; The determining whether to perform DCT transformation on the K to-be-encoded points based on the second information associated with the first information includes: Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N encoded points, and determining to perform DCT transformation on the K points to be encoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform DCT transformation on the K points to be encoded.

4. The method according to claim 1, characterized in that: The first information includes the K points to be encoded, and the obtaining of the first information includes: The to-be-encoded point cloud is sorted to obtain K to-be-encoded points in the sorted to-be-encoded point cloud.

5. The method according to claim 4, characterized in that The step of sorting the to-be-encoded point cloud to obtain K to-be-encoded points in the sorted to-be-encoded point cloud includes: Calculate the Hilbert code corresponding to each point in the to-be-encoded point cloud, sort the to-be-encoded point cloud according to the Hilbert code, and select K to-be-encoded points in order from the sorted to-be-encoded point cloud; or, The Morton code corresponding to each point in the point cloud to be encoded is calculated, the point cloud to be encoded is sorted according to the Morton code, and K points to be encoded are selected in sequence from the sorted point cloud to be encoded.

6. The method according to claim 1, characterized in that Before determining whether to perform DCT transformation on the K to-be-encoded points based on the second information associated with the first information, the method further includes: According to the double Hilbert order or the double Morton order, S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained, and the target point to be encoded is any one of the K points to be encoded; Determine initial attribute prediction information of the target point to be encoded based on the S neighboring points; Determine the attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information.

7. The method according to claim 6, characterized in that The method of obtaining the S neighboring points with the closest Manhattan distance to the target point to be encoded according to the double Hilbert order or the double Morton order includes: In a given preset search range, the first M points of the target to-be-encoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-encoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-encoded point are obtained within the target range determined based on M, N1 and N2; or, In the given preset search range, the leading M points of the target point to be encoded are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target point to be encoded are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target point to be encoded are obtained within the target range determined based on M, N1 and N2; Wherein, M, N1 and N2 are all positive integers.

8. The method according to claim 7, characterized in that The search range of the Hilbert 1 order or Morton 1 order is the first preset range, the pre-order search range of the Hilbert 2 order or Morton 2 order is the second preset range, and the post-order search range of the Hilbert 2 order or Morton 2 order is the third preset range or the second preset range; 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, and the second attribute parameter is used to characterize the second preset range; In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

9. The method according to claim 7, characterized in that: The given preset search range is determined according to the correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

10. The method according to claim 6, characterized in that The determining the initial attribute prediction information of the target point to be encoded based on the S neighboring points includes: Based on each of the S neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

11. The method according to claim 10, characterized in that The determining of the initial attribute prediction information of the target point to be encoded based on the L neighboring points includes: Based on each neighbor point in the L neighbor points and the corresponding second weight, initial attribute prediction information of the target point to be encoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be encoded and the neighbor point.

12. The method according to any one of claims 6 to 11, characterized in that: The sum of the first weights corresponding to the K points to be encoded is 1.

13. The method according to any one of claims 6 to 11, characterized in that: Before performing DCT transformation on the K to-be-encoded points to obtain transformation coefficients of the K to-be-encoded points, the method further includes: Based on the attribute prediction information of the K points to be encoded, obtaining attribute residual information of the K points to be encoded; The performing DCT transformation on the K points to be encoded to obtain transformation coefficients of the K points to be encoded includes: Perform DCT transformation on the attribute residual information of the K points to be encoded to obtain transformation coefficients corresponding to the K points to be encoded.

14. The method according to claim 13, characterized in that After quantizing the transform coefficients of the K to-be-encoded points and performing entropy coding based on the quantized transform coefficients, the method further includes: The transform coefficients based on the quantization are dequantized, and the inverse transform coefficients obtained after the dequantization are dequantized to obtain the attribute reconstruction information of the K points to be encoded.

15. The method according to claim 14, characterized in that The transform coefficients include low-frequency coefficients and high-frequency coefficients, and the quantizing the transform coefficients of the K points to be encoded and performing entropy coding based on the quantized transform coefficients includes: quantizing the high-frequency coefficients and the low-frequency coefficients corresponding to the K to-be-encoded points, and performing entropy encoding on the quantized high-frequency coefficients and the low-frequency coefficients, respectively, to obtain a first encoding value and a second encoding value; The step of inverse quantizing the coded value obtained after the entropy coding and inversely transforming the inverse transformation coefficient obtained after the inverse quantization to obtain the attribute reconstruction information of the K points to be coded includes: Dequantizing the first coded value and the second coded value to obtain dequantized dequantized dequantized high-frequency coefficients and dequantized low-frequency coefficients; Performing an inverse DCT transform 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 encoded; According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

16. The method according to claim 14, characterized in that The quantizing of the high-frequency coefficients and the low-frequency coefficients corresponding to the K points to be encoded includes: 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; The high frequency coefficient is quantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is quantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

17. The method according to claim 16, characterized in that 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, comprises: According to the component distribution corresponding to the attribute information of the K points to be encoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

18. The method according to claim 17, characterized in that The obtaining, according to the component distribution corresponding to the attribute information of the K to-be-encoded points, the high-frequency coefficient quantization step size corresponding to the high-frequency coefficient, and the obtaining the low-frequency coefficient quantization step size corresponding to the low-frequency coefficient, comprises: In the case where the component distribution corresponding to the attribute information of the K points to be encoded is flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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, the preset quantization step size offset and the low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be encoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

19. The method according to claim 16, characterized in that When the high frequency coefficient is less than a first preset threshold, the quantized value of the high frequency coefficient is 0; when the low frequency coefficient is less than a second preset threshold, the quantized value of the low frequency coefficient is 0.

20. The method according to claim 13, characterized in that The method further comprises: When it is determined that the K to-be-encoded points are not to be subjected to DCT transformation, quantizing the attribute residual information of the K to-be-encoded points; The attribute residual information of the K to-be-encoded points after quantization is entropy-encoded to generate a binary code stream.

21. The method according to claim 20, characterized in that After entropy coding the attribute residual information of the K to-be-coded points after quantization, the method further includes: Dequantizing the coded value obtained after the entropy coding to obtain inverse attribute residual information of the K to-be-coded points after dequantization; According to the attribute prediction information and the inverse attribute residual information of the K points to be encoded, attribute reconstruction information of the K points to be encoded is obtained.

22. The method according to claim 1, characterized in that Before obtaining the first information, the method further includes: Acquire identification information, where the identification information is used to indicate whether to execute the method; Determining whether to execute the method according to the identification information; After generating the binary code stream, the method further includes: The identification information is written into the binary code stream.

23. A method for decoding point cloud attribute information, characterized in that: include: Obtaining third party information; Determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information; In the case where it is determined to perform DCT inverse transform on the K points to be decoded, DCT inverse transform is performed on the K points to be decoded to obtain attribute residual 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, attribute reconstruction information of the K points to be decoded is obtained to decode the undecoded points in the point cloud to be decoded; 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, K is a positive integer, and N is an integer greater than 1; The third information includes the K points to be decoded, and before determining whether to perform an inverse DCT transform on the K points to be decoded based on the fourth information associated with the third information, the method further includes: Taking the first point among the K points to be decoded as a reference point, obtaining T neighboring points of the reference point; Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point; Obtaining L neighboring points with the closest Manhattan distances to a target point to be decoded among the K points to be decoded among the R neighboring points, wherein the target point to be decoded is any one of the K points to be decoded; Determine the initial attribute prediction information of the target point to be decoded based on L neighboring points; Determining attribute prediction information of the target to-be-decoded point according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information; Wherein, T, R and L are all positive integers.

24. The method according to claim 23, characterized in that 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 determining whether to perform an inverse DCT transform on the K points to be decoded based on the fourth information associated with the third information includes: Obtaining a maximum attribute prediction value and a minimum attribute prediction value in the attribute prediction information corresponding to the K points to be decoded, and when an absolute difference between the maximum attribute prediction value and the minimum attribute prediction value is less than a first threshold, determining to perform an inverse DCT transform on the K points to be decoded; or When the absolute ratio of the maximum attribute prediction value to the minimum attribute prediction value is less than the second threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

25. The method according to claim 23, characterized in that The third information includes the first N decoded points of the K points to be decoded, and the fourth information includes the attribute reconstruction information of the N decoded points; The determining whether to perform an inverse DCT transform on the K points to be decoded based on the fourth information associated with the third information includes: Obtaining a maximum attribute reconstruction value and a minimum attribute reconstruction value in the attribute reconstruction information corresponding to the N decoded points, and determining to perform an inverse DCT transform on the K points to be decoded when an absolute difference between the maximum attribute reconstruction value and the minimum attribute reconstruction value is less than a third threshold; or When the absolute ratio of the maximum attribute reconstruction value to the minimum attribute reconstruction value is smaller than a fourth threshold, it is determined to perform an inverse DCT transform on the K points to be decoded.

26. The method according to claim 23, characterized in that The third information includes K points to be decoded, and obtaining the third information includes: The to-be-decoded point cloud is sorted to obtain K to-be-decoded points in the sorted to-be-decoded point cloud.

27. The method according to claim 26, characterized in that The step of sorting the to-be-decoded point cloud to obtain K to-be-decoded points in the sorted to-be-decoded point cloud includes: Calculate the Hilbert code corresponding to each point in the to-be-decoded point cloud, sort the to-be-decoded point cloud according to the Hilbert code, and select K to-be-decoded points in order from the sorted to-be-decoded point cloud; or, The Morton code corresponding to each point in the to-be-decoded point cloud is calculated, the to-be-decoded point cloud is sorted according to the Morton code, and K to-be-decoded points are sequentially selected from the sorted to-be-decoded point cloud.

28. The method according to claim 23, characterized in that Before determining whether to perform DCT inverse transformation on the K points to be decoded based on the fourth information associated with the third information, the method further includes: Obtaining S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order, wherein the target point to be decoded is any one of the K points to be decoded; Determine initial attribute prediction information of the target point to be decoded based on the S neighboring points; The attribute prediction information of the target to-be-decoded point is determined according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information.

29. The method according to claim 28, characterized in that The step of obtaining the S neighboring points with the closest Manhattan distance to the target point to be decoded according to the double Hilbert order or the double Morton order includes: In a given preset search range, the first M points of the target to-be-decoded point are obtained according to the Hilbert 1 order, and the first N1 points and the last N2 points of the target to-be-decoded point are obtained according to the Hilbert 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2; or, In the given preset search range, the leading M points of the target to-be-decoded point are obtained according to the Morton 1 order, and the leading N1 points and the trailing N2 points of the target to-be-decoded point are obtained according to the Morton 2 order, and the S neighboring points with the closest Manhattan distance to the target to-be-decoded point are obtained within the target range determined based on M, N1 and N2; Wherein, M, N1 and N2 are all positive integers.

30. The method according to claim 29, characterized in that The search range of the Hilbert 1 order or Morton 1 order is a first preset range, the pre-order search range of the Hilbert 2 order or Morton 2 order is a second preset range, and the post-order search range of the Hilbert 2 order or Morton 2 order is a third preset range; 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, and the second attribute parameter is used to characterize the second preset range; In the case where the post-order search range of the Hilbert 2-order or the Morton 2-order 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.

31. The method according to claim 29, characterized in that The given preset search range is determined according to the correlation between the initial number of points in the point cloud sequence and the volume of the input point cloud bounding box.

32. The method according to claim 28, characterized in that The determining the initial attribute prediction information of the target point to be decoded based on the S neighboring points includes: Based on each neighbor point in the S neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

33. The method according to claim 23, characterized in that The determining of the initial attribute prediction information of the target point to be decoded based on the L neighboring points includes: Based on each neighbor point in the L neighbor points and a corresponding second weight, initial attribute prediction information of the target point to be decoded is determined, where the second weight is the inverse of the Manhattan distance between the target point to be decoded and the neighbor point.

34. The method according to any one of claims 28 to 33, characterized in that: The sum of the first weights corresponding to the K points to be decoded is 1.

35. The method according to any one of claims 28 to 33, characterized in that Before performing inverse DCT transformation on the K points to be decoded, the method further includes: Obtaining transform coefficients of the K points to be decoded; Dequantizing the transform coefficients to obtain dequantized transform coefficients; The performing inverse DCT transformation on the K points to be decoded comprises: Perform DCT inverse transformation on the K points to be decoded based on the inverse quantized transformation coefficients.

36. The method according to claim 35, characterized in that The transform coefficients include high-frequency coefficients and low-frequency coefficients, and the dequantizing the transform coefficients to obtain dequantized transform coefficients includes: 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; The high frequency coefficient is dequantized according to the high frequency coefficient and the high frequency coefficient quantization step size, and the low frequency coefficient is dequantized according to the low frequency coefficient and the low frequency coefficient quantization step size.

37. The method according to claim 36, characterized in that 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, comprises: According to the component distribution corresponding to the attribute information of the K points to be decoded, the high-frequency coefficient quantization step corresponding to the high-frequency coefficient is obtained, and the low-frequency coefficient quantization step corresponding to the low-frequency coefficient is obtained.

38. The method according to claim 37, characterized in that The step of obtaining the high-frequency coefficient quantization step corresponding to the high-frequency coefficient and the step of obtaining the low-frequency coefficient quantization step corresponding to the low-frequency coefficient according to the component distribution corresponding to the attribute information of the K to-be-decoded points includes: In the case where the component distribution corresponding to the attribute information of the K points to be decoded is flat, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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, the preset quantization step size offset and the low-frequency coefficient quantization step size offset; When the component distribution corresponding to the attribute information of the K points to be decoded is uneven, the quantization step size of the high-frequency coefficient is the sum of the original quantization step size, the preset quantization step size offset and the 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.

39. The method according to claim 36, characterized in that When the high frequency coefficient is less than a first preset threshold, the quantized value of the high frequency coefficient is 0; when the low frequency coefficient is less than a second preset threshold, the quantized value of the low frequency coefficient is 0.

40. The method according to claim 35, characterized in that The method further comprises: When it is determined that the K points to be decoded are not to be subjected to inverse DCT transformation, the transformation coefficients of the K points to be decoded are quantized to obtain attribute residual information of the K points to be decoded.

41. The method according to claim 23, characterized in that Before obtaining the third information, the method further includes: Acquire identification information from a binary code stream, wherein the identification information is used to indicate whether to execute the method; Determine whether to execute the method according to the identification information.

42. A point cloud attribute information encoding device, characterized in that: include: A first acquisition module, used to acquire first information; A first determination module, configured to determine whether to perform discrete cosine transform (DCT) on the K to-be-encoded points based on second information associated with the first information; A first transformation module is used for performing DCT transformation on the K points to be coded to obtain transformation coefficients of the K points to be coded when it is determined that DCT transformation is performed on the K points to be coded; A coding module, used for quantizing the transformation coefficients of the K to-be-coded points, performing entropy coding based on the quantized transformation coefficients, and generating a binary code stream; The first information includes the K points to be encoded, and the second information includes attribute prediction information of the K points to be encoded; or the first information includes the first N encoded points of the K points to be encoded, and the second information includes attribute reconstruction information of the N encoded points, K is a positive integer, and N is an integer greater than 1; The first information includes the K points to be encoded, and the device further includes an attribute information prediction module, which is used to: Taking the first point among the K points to be encoded as a reference point, obtaining T neighboring points of the reference point; Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point; Obtaining L neighboring points with the closest Manhattan distances to a target point to be encoded among the K points to be encoded among the R neighboring points, wherein the target point to be encoded is any one of the K points to be encoded; Determine the initial attribute prediction information of the target point to be encoded based on L neighboring points; Determining attribute prediction information of the target point to be encoded according to the first weight corresponding to the target point to be encoded and the initial attribute prediction information; Wherein, T, R and L are all positive integers.

43. A point cloud attribute information decoding device, characterized in that: include: A second acquisition module, used to acquire third information; A second determination module, configured to determine whether to perform an inverse DCT transform on the K points to be decoded based on fourth information associated with the third information; A second transformation module is used to perform an inverse DCT transformation on the K points to be decoded, to obtain attribute residual information of the K points to be decoded, when it is determined that an inverse DCT transformation is performed on the K points to be decoded; A decoding module, used for 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, so as to decode the undecoded points in the point cloud to be decoded; The third information includes the K points to be decoded, and the fourth information includes the 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 the attribute reconstruction information of the N decoded points, K is a positive integer, and N is an integer greater than 1; The third information includes the K points to be decoded, and the device further includes an attribute prediction module, which is used to: Taking the first point among the K points to be decoded as a reference point, obtaining T neighboring points of the reference point; Obtain R neighbor points among the T neighbor points that have the closest Manhattan distance to the reference point; Obtaining L neighboring points with the closest Manhattan distances to a target point to be decoded among the K points to be decoded among the R neighboring points, wherein the target point to be decoded is any one of the K points to be decoded; Determine the initial attribute prediction information of the target point to be decoded based on L neighboring points; Determining attribute prediction information of the target to-be-decoded point according to the first weight corresponding to the target to-be-decoded point and the initial attribute prediction information; Wherein, T, R and L are all positive integers.

44. A terminal, characterized in that: It includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor. When the program or instruction is executed by the processor, the steps of the point cloud attribute information encoding method as described in any one of claims 1 to 22 are implemented, or the steps of the point cloud attribute information decoding method as described in any one of claims 23 to 41 are implemented.

45. A readable storage medium, characterized in that The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of the point cloud attribute information encoding method described in any one of claims 1 to 22 are implemented, or the steps of the point cloud attribute information decoding method described in any one of claims 23 to 41 are implemented.

Citation Information

Patent Citations

  • Method and device of processing point cloud data

    CN110996098A

  • Point cloud attribute encoding and decoding method, device and system based on DCT

    CN111953998A

  • Point cloud layering method based on space sequence, point cloud prediction method and equipment

    CN112218079A

  • Variable speed picture encoding system

    JP1994086264A

  • Volumetric video compression with motion history

    US20190200046A1