Decoding Method, Encoding Method, Device, Storage Medium and Equipment for Point Cloud Data

Through non-equal encoding, encoding parameters are adaptively determined based on the signal characteristics of point cloud data blocks, solving the problem of low point cloud data decoding efficiency and achieving more efficient encoding and decoding.

CN115396668BActive Publication Date: 2025-07-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211003838.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-19
Publication Date
2025-07-22
Estimated Expiration
2042-08-19

AI Technical Summary

Technical Problem

During the decoding process of point cloud data, the data block has a large amount of code stream data, resulting in low decoding efficiency.

Method used

The non-equal encoding method is adopted to determine the target encoding parameters based on the signal characteristics of the signal to be encoded in the target data block, and the length of the encoded data is adaptively determined to reduce redundancy, and the data block is quickly decoded through the target decoding parameters.

Benefits of technology

It effectively reduces the encoded data redundancy of point cloud data, and improves decoding efficiency and transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115396668B_ABST
    Figure CN115396668B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a decoding method, an encoding method, a device, a storage medium, and a device for point cloud data. Embodiments of the present application can be applied to scenarios such as cloud technology, intelligent transportation, and assisted driving. The decoding method includes: obtaining encoded data of a target data block in the point cloud data; determining target decoding parameters of the target data block according to target encoding parameters corresponding to the target data block; and decoding the encoded data according to the target decoding parameters to obtain a decoded signal of the target data block. Through the present application, the decoding efficiency of data blocks in point cloud data can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data processing, and in particular, to a decoding method, an encoding method, a device, a storage medium, and a device for point cloud data. Background Art

[0002] Point cloud data refers to a large number of point sets obtained by scanning the surface attribute characteristics of a target object. A point or a group of points in the point cloud data can be referred to as a data block in the point cloud data. Usually, each data block in the point cloud data includes multiple types of attributes such as geometric information, color, and reflectivity of the target object, and the order of magnitude of the data blocks in the point cloud data is relatively large. It can be seen that the amount of data included in the point cloud data is extremely large. Therefore, it is necessary to encode multiple types of attributes of the data blocks in the point cloud data to obtain a bitstream, and the transmission efficiency of the point cloud data can be improved by transmitting the bitstream. However, in the process of decoding the bitstream of the data blocks in the point cloud data at the decoding end, there is a problem that the amount of data of the bitstream of the data blocks is large, and the decoding device needs to spend a long time receiving and decoding the bitstream of the data blocks, resulting in low decoding efficiency. Summary of the Invention

[0003] The technical problem to be solved by the embodiments of the present application is to provide a decoding method, an encoding method, a device, a storage medium, and a device for point cloud data, which can improve the decoding efficiency of the data blocks of the point cloud data.

[0004] On the one hand, an embodiment of the present application provides a decoding method for point cloud data, including:

[0005] Obtain the encoded data of a target data block in the point cloud data; the encoded data of the target data block is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameter of the target data block in a variable-length encoding method, and the target encoding parameter is determined based on the signal characteristics of the signal to be encoded in the target data block;

[0006] Determine the target decoding parameter of the target data block according to the target encoding parameter;

[0007] Decode the encoded data of the target data block according to the target decoding parameter to obtain the decoded signal of the target data block; the decoded signal is used to reflect the media attributes of the target data block.

[0008] On the one hand, an embodiment of the present application provides an encoding method for point cloud data, including:

[0009] Obtain the signal to be encoded in the target data block in the point cloud data, and the signal characteristics of the signal to be encoded in the target data block; the encoding method of the point cloud data is a variable-length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block;

[0010] Determine the target encoding parameter of the target data block under the encoding mode according to the signal characteristics of the signal to be encoded in the target data block;

[0011] Encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block.

[0012] One aspect of the embodiments of the present application provides a decoding device for point cloud data, including:

[0013] A first acquisition module, configured to acquire the encoded data of the target data block in the point cloud data; the encoded data of the target data block is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameter of the target data block under the encoding mode of variable-length encoding, and the target encoding parameter is determined based on the signal characteristics of the signal to be encoded in the target data block;

[0014] A first determination module, configured to determine the target decoding parameter of the target data block according to the target encoding parameter;

[0015] A decoding module, configured to decode the encoded data of the target data block according to the target decoding parameter to obtain the decoded signal of the target data block; the decoded signal is used to reflect the media attribute of the target data block.

[0016] One aspect of the embodiments of the present application provides an encoding device for point cloud data, including:

[0017] A third acquisition module, configured to acquire the signal to be encoded in the target data block in the point cloud data and the signal characteristics of the signal to be encoded in the target data block; the encoding mode of the point cloud data is variable-length encoding, and the signal to be encoded is used to reflect the media attribute of the target data block;

[0018] A determination module, configured to determine the target encoding parameter of the target data block under the encoding mode according to the signal characteristics of the signal to be encoded in the target data block;

[0019] An encoding module, configured to encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block;

[0020] One aspect of the embodiments of the present application provides a computer device, including: a processor and a memory;

[0021] The processor is connected to the memory, wherein the memory is used to store a computer program, and when the computer program is executed by the processor, the computer device executes the method provided by the embodiments of the present application.

[0022] One aspect of the embodiments of the present application provides a computer-readable storage medium storing a computer program, which is adapted to be loaded and executed by a processor so that a computer device having the processor executes the method provided by the embodiments of the present application.

[0023] One aspect of the embodiments of the present application provides a computer program product or a computer program. The computer program product or the computer program includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions so that the computer device executes the method provided by the embodiments of the present application.

[0024] In the embodiments of the present application, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameters in the non-uniform encoding method. The target encoding parameters are determined based on the signal characteristics of the signal to be encoded in the target data block. The encoded data of the target data block here refers to the number of bits used to describe the encoded data of the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. In other words, by adaptively determining how many encodings (i.e., bit positions) are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded in the target data block, data blocks with different signal characteristics have different encodings (i.e., different bit positions), which can effectively reduce the redundancy of the encoded data of the target data block, that is, can reduce the length of the encoded data of the target data block. At the same time, it can improve the transmission efficiency of the encoded data of the target data block. Further, after the decoding device receives the encoded data of the target data block, it can decode the encoded data of the target data block according to the target decoding parameters to obtain the decoded signal of the target data block. The target decoding parameters are determined by the above target encoding parameters. Since the redundancy of the encoded data of the target data block is relatively low, the decoded signal of the target data block can be decoded quickly, and thus the decoding efficiency can be improved. Description of the Drawings

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0026] Figure 1 It is a schematic diagram of a point cloud data processing process provided by the embodiments of the present application;

[0027] Figure 2 It is a schematic flowchart of a method for encoding point cloud data provided by an embodiment of the present application;

[0028] Figure 3 It is a schematic diagram of a data block provided by an embodiment of the present application;

[0029] Figure 4 It is a schematic diagram of data group division provided by an embodiment of the present application;

[0030] Figure 5 It is a schematic diagram of a method for decoding point cloud data provided by an embodiment of the present application;

[0031] Figure 6 It is a schematic structural diagram of a device for decoding point cloud data provided by an embodiment of the present application;

[0032] Figure 7 It is a schematic structural diagram of a device for encoding point cloud data provided by an embodiment of the present application;

[0033] Figure 8 It is a schematic structural diagram of a computer device provided by an embodiment of the present application;

[0034] Figure 9 It is a schematic structural diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners

[0035] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without any creative efforts shall fall within the protection scope of the present invention.

[0036] This application relates to the field of cloud technology. Among them, this application relates to cloud computing in the field of cloud technology. Cloud computing is a computing model that distributes computing tasks on a resource pool composed of a large number of computing devices, enabling various application systems to obtain computing power, storage space, and information services as needed. The network that provides resources is called the "cloud". The resources in the "cloud" seem to be infinitely expandable to users, and can be obtained at any time, used on demand, and expanded at any time. This application can encode and decode target data blocks in multiple point cloud data through cloud computing.

[0037] The embodiments of this application relate to the technology of processing point cloud data. The embodiments of this application mainly relate to point cloud data encoding and point cloud data decoding, as Figure 1 shown Figure 1It is a schematic diagram of point cloud data processing provided by an embodiment of the present application. The point cloud data processing process can be as follows Figure 1 shown, and specifically may include: acquisition 10a of point cloud data, preprocessing 10b of point cloud data, encoding 10c of point cloud data, quantization 10d of point cloud data, entropy encoding 10e of point cloud data, and decoding of point cloud data.

[0038] Point cloud data: Point cloud data is a set of discrete points that are irregularly distributed in space and represent the spatial structure and surface attributes of a three-dimensional object or scene. Each data block in the point cloud data has at least geometric position information (i.e., three-dimensional position information). Depending on the application scenario, it may also have color, material, or other raw media attributes. Usually, each data point in the point cloud data has the same number of raw media attributes. In the present application, one data point or a group of data points in the point cloud data can be referred to as a data block.

[0039] Acquisition 10a of point cloud data: It refers to acquiring point cloud data. The acquisition methods of point cloud data include but are not limited to: computer generation, 3D laser scanning, 3D photogrammetry, etc. A computer can generate point cloud data of virtual three-dimensional objects and scenes. 3D scanning can obtain point cloud data of static real-world three-dimensional objects or scenes, and can acquire millions of points per second. 3D photography can obtain point cloud data of dynamic real-world three-dimensional objects or scenes, and can acquire tens of millions of points per second. With the continuous accumulation of large-scale point cloud data, the efficient storage, transmission, publishing, sharing, and standardization of point cloud data have become the key to point cloud applications.

[0040] Preprocessing 10b of point cloud data: Preprocess the point cloud data in 3D space. This preprocessing includes coordinate transformation (Transform coordinates) and voxelization (VoxeL1ze). Among them, coordinate transformation refers to converting the coordinate system of the points in the point cloud data through methods such as scaling and translation into a target coordinate system (such as the world coordinate system). Voxelization refers to performing coordinate quantization, duplicate point deletion, and attribute assignment on the points in the point cloud data, quantifying all points within the same voxel to the voxel center, and assigning the combined attributes of all points within the voxel to the voxel center, and determining the voxel center as a new point. In this way, through the operations of scaling and translation, the point cloud data in 3D space is converted into an integer form, and its minimum geometric position is moved to the origin of the coordinate system.

[0041] Encoding 10c of point cloud data: It refers to encoding data blocks in point cloud data, including encoding of geometric information and encoding of attribute information. Geometric information encoding is to encode the geometric position information of points to obtain the geometric bitstream of points. Geometric encoding can include the following two modes: (a) Geometric encoding based on octree (Octree): An octree is a tree-shaped data structure. In 3D space division, the bounding box of the point cloud (i.e., the smallest cube containing all point clouds) is evenly divided, and each node has eight child nodes. By using "1" and "0" to indicate whether each child node in the octree is occupied or not, occupancy code information is obtained, and the occupancy code information is used as the bitstream of the point cloud geometric information. (b) Geometric encoding based on triangular representation (Trisoup): The point cloud is divided into blocks of a certain size, the intersection points of the point cloud surface at the edges of the blocks are located and triangles are constructed, and the bitstream of the point cloud geometric information is obtained by encoding the intersection point positions. Attribute information encoding is to encode the attribute information of points to obtain the attribute bitstream of points.

[0042] Quantization 10d of point cloud data: For the geometric bitstream and attribute bitstream of points, a lossy quantization operation is further performed to lose certain information, so that the quantized bitstream is conducive to compressed representation. The quantization of point cloud data can include geometric quantization and attribute quantization. For example, geometric quantization refers to quantizing the bitstream of point cloud geometric information, and quantizing the encoded values within the target value range into the same encoded value. The fineness of quantization is usually determined by the quantization parameter (QP, i.e., quantization parameter). A larger QP value means that coefficients in a larger value range will be quantized into the same output, so it usually brings greater distortion and a lower bit rate. On the contrary, a smaller QP value means that coefficients in a smaller value range will be quantized into the same output, so it usually brings less distortion and corresponds to a higher bit rate. In point cloud encoding, quantization is directly performed on the coordinate information of points. Attribute quantization refers to quantizing the bitstream of point cloud attribute information, and quantizing the encoded values within the target value range into the same encoded value. The fineness of quantization is usually determined by the quantization parameter (QP). In predictive coding, quantization is performed on the attribute residuals; in transform coding, quantization is performed on the transform coefficients.

[0043] Entropy Coding or Statistical Coding of Point Cloud Data: For the quantized bitstream, statistical compression coding will be performed based on the frequencies of various values in the bitstream, and finally a binary (0 or 1) compressed bitstream will be output. Entropy coding includes geometric entropy coding and attribute entropy coding. Geometric entropy coding refers to performing statistical compression coding on the bitstream of point cloud geometric information, and finally outputting a binary (0 or 1) compressed bitstream, such as performing statistical compression coding on the occupancy code information of an octree. Statistical coding is a lossless coding method that can effectively reduce the bitrate required to represent the same signal. The commonly used statistical coding method is context-based binary arithmetic coding. Attribute information entropy coding refers to performing statistical compression on the quantized attribute residuals or transform coefficients, and finally outputting a binary (0 or 1) compressed bitstream. Generally, run length coding and arithmetic coding are used to finally compress the quantized attribute residuals or transform coefficients. Information such as the corresponding coding mode and quantization parameters is also encoded using an entropy encoder.

[0044] Decoding of Point Cloud Data: At the decoding end, after the decoder obtains the compressed bitstream of the point cloud data, it first performs entropy decoding on the compressed coding to obtain the quantized geometric information and the quantized attribute information. First, the geometric information undergoes inverse quantization to obtain the position information of the reconstructed points. On the other hand, the quantized attribute information undergoes inverse quantization to obtain the attribute residuals, and the reference signal is confirmed according to the adopted coding mode to obtain the reconstructed attribute information, which corresponds one by one with the geometric information in sequence to generate the output reconstructed point cloud data.

[0045] The data block in the embodiments of this application can be a data point in the above-mentioned point cloud data, or a group of data points composed of at least two data points in the point cloud data. As Figure 2 shown, Figure 2 is a schematic flowchart of a coding method for point cloud data provided by the embodiments of this application. This method can be executed by a computer device, and this computer device can refer to a coding device. As Figure 2 shown, this method may specifically include but is not limited to the following steps:

[0046] S101, obtain the signal to be encoded within the target data block in the point cloud data, and the signal characteristics of the signal to be encoded within the target data block.

[0047] Specifically, point cloud data is widely used in the construction of urban digital maps and plays a technical support role in many popular research fields such as smart cities, autonomous driving, and cultural relic protection. A computer device can collect the surface of a target object through a three-dimensional scanning device to obtain point cloud data. The point cloud data includes multiple data points. A data point can refer to a very small area on the surface of the target object. A target data block can be any one data point in the point cloud data or a set of data points composed of at least two data points. For example, the target data block can refer to point cloud data, a macro block in the point cloud data, a prediction tree in the point cloud data (a tree composed of multiple data points in the point cloud data), etc. Among them, the point cloud data can include one or more data blocks, and the target data block belongs to any one of the one or more data blocks. The computer device can obtain the signal to be encoded within the target data block in the point cloud data. The number of signals to be encoded within the target data block can be one or more. The signal to be encoded within the target data block can be used to reflect the media attributes of the target data block. The media attributes can refer to attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material characteristics, and texture information. Among them, the signal to be encoded can be obtained by performing attribute prediction, attribute transformation, attribute prediction transformation, or attribute transformation prediction on the media attributes of the target data block, such as geometric prediction residuals, attribute prediction residuals, or attribute transformation coefficients. The computer device can obtain the signal characteristics of the signal to be encoded within the target data block. The signal characteristics can refer to the signal threshold range of the signal to be encoded, the distribution characteristics of the signal to be encoded, the signal value size of the signal to be encoded, or the signal characteristics of the associated signal associated with the signal to be encoded within the target data block, etc.

[0048] Among them, the encoding method of the point cloud data is a variable-length encoding method, which may include unsigned exponential Golomb encoding, signed exponential Golomb encoding, truncated exponential Golomb encoding, mapped exponential Golomb encoding, etc. Since the machine can only recognize 0 and 1, it is necessary to encode the signal to be encoded in the target data block into a character composed of 0 and 1. When encoding the signal to be encoded in the target data block using binary, since binary encoding is a fixed-length encoding, that is, different values to be encoded are recorded with the same encoding (i.e., bit positions), a large amount of redundant information will be generated. For example, when the signal value of the signal to be encoded is 2, the encoded data obtained by binary encoding is 00000010. The data that originally only needed 2 bits to represent now requires 8 bits to represent. Then the remaining 6 bits are redundant data. When transmitting over the network, there will be a large amount of redundancy, increasing the network burden. Encoding the signal to be encoded in the target data block using a variable-length encoding method can reduce the amount of data in the encoded data of the target data block, so as to reduce the network burden, improve the transmission efficiency of the point cloud data, and at the same time reduce the amount of data in the bitstream that needs to be decoded at the decoding end, so as to improve the encoding and decoding efficiency of the point cloud data. For example, when the signal value of the signal to be encoded is 0, the encoded data obtained by using the 0th-order exponential Golomb encoding method is 1, which has only one bit position and can greatly reduce the number of bit positions and the amount of encoded data.

[0049] Specifically, the signal to be encoded in the target data block can be obtained by predicting the media attributes of the target data block. Among them, the signal to be encoded in the target data block includes the attribute prediction residuals corresponding to the M types of media attributes of the target data block, that is, one type of media attribute corresponds to one attribute prediction residual. For example, when one type of media attribute of the target data block is the color attribute, the signal to be encoded in the target data block can be the attribute prediction residual corresponding to the color attribute. For example, when another type of media attribute of the target data block is the reflectivity attribute, the signal to be encoded in the target data block can be the attribute prediction residual corresponding to the reflectivity attribute. Among them, the attribute prediction residual is obtained by taking the difference between the media attribute of the target data block and the predicted attribute of the target data block. The predicted attribute of the target data block can be predicted based on the media attributes of the reference data block of the target data block, and this attribute prediction residual is the signal to be encoded in the target data block. For example, when the media attribute of the target data block is the color attribute, the color attribute prediction residual of the target data block is obtained by taking the difference between the color attribute of the reference data block of the target data block and the color attribute of the target data block. Among them, the reference data block of the target data block can be a data block in the point cloud data whose position distance from the target data block is less than or equal to the distance threshold.

[0050] Specifically, the signal to be encoded of the target data block may refer to the result of attribute transformation on the media attributes of the target data block. The signal to be encoded of the target data block may be obtained by performing attribute transformation on the media attributes of the target data block using a transformation matrix. The transformation matrix is determined according to the number of data blocks in the target data block. The computer device may obtain a target number of transformation matrices from the set of transformation matrices according to the number of data points in the target data block. The computer device performs transformation processing on the media attributes of the target data block through the transformation matrix to obtain a first attribute transformation coefficient (i.e., the DC component coefficient) and one or more second attribute transformation coefficients (i.e., the AC component coefficients). The first attribute transformation coefficient (i.e., the DC component coefficient) and the one or more second attribute transformation coefficients (i.e., the AC component coefficients) are the signals to be encoded of the target data block.

[0051] Specifically, the signal to be encoded of the target data block may refer to the result of attribute prediction transformation on the media attributes of the target data block. Attribute prediction transformation refers to performing attribute prediction processing on the media attributes of the target data block, obtaining an attribute prediction residual, and then performing attribute transformation processing on the attribute prediction residual of the target data block to obtain the attribute transformation coefficient of the target data block. The attribute transformation coefficient of the target data block is the signal to be encoded of the target data block.

[0052] Specifically, the signal to be encoded of the target data block may refer to the result of attribute transformation prediction on the media attributes of the target data block. Attribute transformation prediction refers to performing attribute transformation processing on the media attributes of the target data block to obtain the attribute transformation coefficient of the target data block, and then performing attribute prediction on the attribute transformation coefficient of the target data block to obtain the attribute prediction residual of the target data block. The attribute prediction residual of the data block is the signal to be encoded of the target data block.

[0053] Among them, the formula for attribute prediction transformation may be shown as the following formula (1):

[0054] Y = AX (1)

[0055] Among them, X is the attribute prediction residual of the media attributes of the target data block, Y is the first transformation coefficient and the second transformation coefficients corresponding to the media attributes of the target data block, A is the K_i - element DCT transformation matrix, and i is the number of data points included in the target data block. For example, when the number of data points in the target data block is 4, the four - element DCT transformation matrix is A = {{256, 256, 256, 256}, {256, 256, - 256, - 256}, {256, - 256, - 256, 256}, {256, - 256, 256, - 256}}, and when X = {-2, -3, -17, -16}, then Y = {-9728, 7168, 512, 0}. Among them, Y(0) = -9728 is the first transformation coefficient, and the other 3 are the second transformation coefficients.

[0056] As Figure 3 shown Figure 3 is a schematic diagram of a data block provided by an embodiment of the present application. As Figure 3 shown, a computer device can divide the three-dimensional space formed by point cloud data by using an octree partitioning method to obtain data blocks in the point cloud data. The octree partitioning method is to uniformly partition the bounding box of the point cloud data (i.e., the three-dimensional space formed by the point cloud data) layer by layer to obtain an octree of the point cloud data, and each node in the octree has eight child nodes. Among them, a data block in the point cloud data can be any node in the octree, that is, a data block in the point cloud data can be a node in any layer of the octree. As Figure 3 shown, a computer device can use "1" and "0" to indicate whether each child node in the octree is occupied, and obtain a bitstream of geometric information corresponding to the point cloud data. That is, if there is a point in the point cloud data in the child node, it is represented by "1"; if there is no point in the point cloud data in the child node, it is represented by "0". As Figure 3 shown, the computer device performs a first partition on the bounding box of the point cloud data to obtain 8 first-level child nodes in the first layer, that is, encoded as 10000001. A data block in the point cloud data can be one of the 8 first-level child nodes in the first layer. Among them, the first first-level child node contains data points in the point cloud data, so the occupancy information of the first first-level child node is "1". The second to seventh first-level child nodes do not contain data points in the point cloud data, so the occupancy information of the first first-level child node is "0". The eighth first-level child node contains data points in the point cloud data, so the occupancy information of the first first-level child node is "1". And so on, the first first-level child node in the second layer includes 8 second-level child nodes, the encoding of the first first-level child node is 00011000, and the encoding of the eighth first-level child node is 10001000. Similarly, a data block in the point cloud data can also be a second-level child node in the second layer.

[0057] S102. Determine target encoding parameters of the target data block in an encoding mode according to signal characteristics of a signal to be encoded in the target data block.

[0058] Specifically, the computer device can determine the target encoding parameters of the target data block in the encoding mode according to the signal characteristics of the signal to be encoded in the target data block. The target encoding parameters include parameters for indicating the length to which the encoded data of the target data block belongs. For example, when the encoding mode is the exponential Golomb encoding mode, the target encoding parameters can refer to the order based on the exponential Golomb encoding mode, such as one of 0th order, 1st order, 2nd order, etc. For example, taking the signal value of the signal to be encoded in the target data block as 3, if the target encoding parameter is of 0th order, the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the target data block belongs is 5 bits (i.e., the encoded data of 3 is 00100); if the target encoding parameter is of 1st order, the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the target data block belongs is 4 bits (i.e., the encoded data of 3 is 0101); if the target encoding parameter is of 2nd order, the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the target data block belongs is 3 bits (i.e., the encoded data of 3 is 111). Among them, the computer device can determine the target encoding parameters of the target data block in the encoding mode according to the signal characteristics of the signal to be encoded in the target data block, so as to represent the encoded data of the target data block with the least encoding (i.e., bit positions). The encoded data of the target data block here refers to the number of bits used to describe the encoded data of the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. In other words, by adaptively determining how many encodings are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded in the target data block, that is, data blocks with different signal characteristics have different encodings, which can effectively reduce the redundancy of the encoded data of the target data block, that is, can reduce the length of the encoded data of the target data block. At the same time, it can improve the transmission efficiency of the encoded data of the target data block.

[0059] Optionally, the computer device may determine the target encoding parameter corresponding to the target data block according to the signal value of the signal to be encoded. Specifically, the computer device obtains the target signal range to which the signal to be encoded belongs, and determines the target encoding parameter corresponding to the target data block from the first parameter table according to the target signal range to which the signal to be encoded belongs. The first parameter table includes one or more signal ranges and the encoding parameters respectively corresponding to the one or more signal ranges. For example, when the encoding method is the exponential Golomb encoding method, if the signal value of the signal to be encoded in the target data block is larger, a larger target encoding parameter (i.e., order) can be used; if the signal value of the signal to be encoded in the target data block is smaller, a smaller target encoding parameter can be used. For example, when the signal value of the signal to be encoded in the target data block is "0", 0 order can be used as the target encoding parameter corresponding to the target data block, that is, the 0-order exponential Golomb encoding method is used to encode the signal to be encoded in the target data block. When the signal value of the signal to be encoded in the target data block is "7", 3 order can be used as the target encoding parameter of the target data block. Of course, the target encoding parameter corresponding to the target data block may also be determined according to other signal characteristics of the signal to be encoded and the encoding characteristics of the encoding method. The computer device may preset the first parameter table according to the signal value of the signal to be encoded and the quantity information of the encodings obtained by encoding different signal values with different encoding parameters of the exponential Golomb encoding method. For example, when the signal value is 0, the target encoding parameter of 0 can represent the signal value 0 with the fewest encodings, that is, the encoded data of the signal value 0 is 1; when the signal value is 1, the target encoding parameter of 1 can represent the signal value 1 with the fewest encodings, that is, the encoded data of the signal value 1 is 11; when the signal value is 2, the target encoding parameter of 0 or 2 can represent the signal value 2 with the fewest encodings. When the target encoding parameter is 0, the encoded data of the signal value 0 is 011; when the target encoding parameter is 2, the encoded data of the signal value 0 is 110. When there are multiple optional target encoding parameters, one encoding parameter for encoding the target data block may be randomly selected from the multiple optional target encoding parameters, or one encoding parameter for encoding the target data block may be determined from the multiple optional target encoding parameters according to other screening conditions (such as the encoding parameters of the adjacent data blocks corresponding to the target data block, or conditions such as the group to which the target data block belongs).

[0060] Optionally, the signal characteristics of the signal to be encoded in the target data block include the signal range value of the signal to be encoded in the target data block; the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the target data block; or the signal range value is determined based on the sampling precision of the signal to be encoded in the target data block.

[0061] Specifically, the signal feature may refer to the signal range value of the signal to be encoded within the target data block, and this signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the target data block. Specifically, the signal range value may refer to the difference between the signal value of the maximum signal to be encoded and the signal value of the minimum signal to be encoded within the target data block. For example, when the signal to be encoded in the target data block is a geometric prediction residual, the signal range value may refer to the difference between the maximum geometric prediction residual and the minimum geometric prediction residual. For example, if the signal value of the maximum signal to be encoded within the target data block is 6 and the signal value of the minimum signal to be encoded is 0, then the signal range value of the signal to be encoded in the target data block is 6. Alternatively, this signal range value may be determined based on the sampling accuracy of the signal to be encoded within the target data block. For example, if the geometric accuracy of the point cloud data is 10 bits, then the sampling accuracy of the signal to be encoded within the target data block in the point cloud data may be 10 bits, and the signal range value of the signal to be encoded in the target data block may be 2 10 。

[0062] Furthermore, the specific manner in which the computer device determines the target encoding parameters of the target data block in the encoding mode may include: generating a target index value corresponding to the target data block according to the signal range value included in the signal feature. Query the encoding parameters associated with the target index value from the second parameter table. The second parameter table includes at least one index value and the encoding parameters associated with each of the at least one index values, that is, one index value corresponds to one encoding parameter. The computer device may determine the encoding parameters obtained by the query as the target encoding parameters of the target data block in the encoding mode. Among them, the computer device may preset the second parameter table according to the signal range value. For example, the computer device may preset the target parameter query table according to the difference between the maximum signal to be encoded and the minimum signal to be encoded. The computer device may also preset the second parameter table according to the maximum value of the sampling accuracy of the point cloud data. For example, determine the range of the index values of the second parameter table according to the maximum sampling accuracy of the point cloud data (that is, determine the length of the second parameter table), and determine the encoding parameters corresponding to each index value.

[0063] Optionally, the specific manner in which the computer device generates the target index value corresponding to the target data block may include: quantizing the signal range value included in the signal feature to obtain the quantized signal range value. Obtain the logarithm value of the quantized signal range value, and perform a difference operation on the logarithm value of the quantized signal range value to obtain the target index value corresponding to the target data block.

[0064] Specifically, the computer device can obtain a quantization step, which can be preset by the administrator or determined according to the signal range of the signal to be encoded. Further, the computer device can quantize the signal range value included in the signal characteristics of the signal to be encoded based on the quantization step to obtain a quantized signal range value. By performing quantization processing on the signal range value, the signal range values within the target range can be replaced by a target signal range value to compress data, facilitating subsequent rapid query of the target index value corresponding to the target data block. Further, the computer device can obtain the logarithm value of the quantized signal range value, perform a difference operation on the logarithm value of the quantized signal range value, and obtain the target index value corresponding to the target data block.

[0065] Among them, the target index value corresponding to the target data block generated by the computer device can be obtained by the following formula (2):

[0066] Index = log2B′ - 1 (2)

[0067] Among them, Index is the target index value corresponding to the target data block, and B′ is the quantized signal range value.

[0068] Specifically, after the computer device obtains the target index value corresponding to the target data block, it can set GolombNum = LUT kthIndex [Index], and query the target coding parameter corresponding to the target data block from the second parameter table. Among them, GolombNum is the target coding parameter corresponding to the target data block, and LUT indicates querying the target coding parameter corresponding to the target index value from the second parameter table.

[0069] Optionally, the point cloud data includes at least two data groups. The target data block belongs to the first data group among the at least two data groups, and the number of index values included in the second parameter table is the same as the number of data blocks included in the first data group. For example, if the number of data blocks in the first data group is 8, the second parameter table can be a parameter table in the parameter table set that includes 8 index values. In this way, it is convenient to query the encoding parameters corresponding to each data block in the first data group from the second parameter table. The target index value belongs to the target index value range, and the target index value range is determined according to at least one index value in the second parameter table. It can be understood that when the number of index values is large, multiple index values can be divided into different index value ranges, and one index value range corresponds to one parameter table. In this way, the computer device can determine the target index value range to which the target index value belongs, and query the target encoding parameter corresponding to the target index value from the second parameter table corresponding to the target index value range, which can avoid comparing all index values one by one and reduce the amount of data to be queried. Among them, the computer device can adjust the encoding parameters according to the grouping, such as adaptively adjusting the encoding parameters of the data blocks within the same group, or not adjusting the encoding parameters of the data blocks within the same group, etc.

[0070] Optionally, when the number of signals to be encoded of the target data block is 1, the computer device can determine the target encoding parameter corresponding to the target data block according to the signal value of the signal to be encoded within the target data block. Alternatively, the computer device can determine the target encoding parameter of the target data block according to the data block associated with the target data block (such as a position-adjacent data block or other data blocks in the data group where the target data block is located, etc.). Optionally, when the number of signals to be encoded of the target data block is multiple, the computer device can determine the target encoding parameter corresponding to the target data block according to the difference between the maximum signal to be encoded and the minimum signal to be encoded in the target data block. Alternatively, the computer device can determine the target encoding parameter corresponding to the target data block according to the signal value of the maximum signal to be encoded in the target data block. Alternatively, the computer device can determine the target encoding parameter corresponding to the target data block according to the signal mean value of all signals to be encoded within the target data block. Of course, the computer device can also determine the target encoding parameter corresponding to the target data block according to the data block associated with the target data block. Of course, the target encoding parameter corresponding to the target encoding data block can be defaulted by the encoding device that encodes the point cloud data and the decoding device that decodes the encoded data corresponding to the point cloud data, such as determined by the encoding device and the decoding device according to the historical encoding and decoding records of the point cloud data.

[0071] Optionally, the specific manner in which the computer device determines the target coding parameter corresponding to the target data block may include: determining an initial coding parameter of the target data block in the coding mode according to the signal characteristics of the signal to be coded in the target data block; obtaining the coded data of the coded data block adjacent to the target data block in the point cloud data; and adjusting the initial coding parameter according to the coded data of the coded data block to obtain the target coding parameter of the target data block in the coding mode.

[0072] Specifically, the computer device may determine an initial coding parameter of the target data block in the coding mode according to the signal characteristics of the signal to be coded in the target data block. For the specific manner in which the computer device determines the initial coding parameter, reference may be made to the above-mentioned manner of determining the coding parameter according to the signal characteristics of the signal to be coded in the target data block, which will not be elaborated in this embodiment of the present application. Further, the computer device may obtain the coded data of the coded data block adjacent to the target data block in the point cloud data. The coded data block adjacent to the target data block may refer to the coded data block whose position in the point cloud data is adjacent to the position of the target data block in the point cloud data. Alternatively, the coded data block may refer to the coded data block whose coding order is adjacent to the coding order of the target data block. Alternatively, the coded data block may refer to the data block in the second data packet adjacent to the first data packet where the target data block is located among at least two data packets included in the point cloud data. The computer device may adjust the initial coding parameter according to the coded data of the coded data block to obtain the target coding parameter of the target data block in the coding mode. In this way, when the coding parameter determined by the computer device according to the signal characteristics of the signal to be coded in the target data block is used as the initial coding parameter corresponding to the target data block, and then the initial coding parameter corresponding to the target data block is adjusted according to the coded data of the coded data block to obtain the target coding parameter of the target data block, the accuracy of the target coding parameter can be improved, so as to better implement representing the coded data of the target data block with less coding and reduce the data volume of the coded data.

[0073] Optionally, the coding mode may be the exponential Golomb coding mode, and the initial coding parameter of the target data block is the initial order. The specific manner in which the computer device adjusts the initial coding parameter may include: determining the target coding value of the coded data of the coded data block; determining a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order; obtaining the magnitude relationship between the target coding value and the first limit order and the second limit order, and adjusting the initial order according to the magnitude relationship to obtain the target order associated with the target data block; and determining the target order as the target coding parameter of the target data block in the coding mode.

[0074] Specifically, the number of encoded data blocks can be one or n1. When the number of encoded data blocks is one and the number of signals to be encoded within the encoded data block is 1, the target encoded value of the encoded data of the encoded data block can be the signal value corresponding to the signal to be encoded within the encoded data block. When the number of encoded data blocks is one and the number of signals to be encoded within the encoded data block is n1, the target encoded value of the encoded data of the encoded data block can be the average value of the signal values corresponding to the n1 signals to be encoded within the encoded data block. When the number of encoded data blocks is n1, the target encoded value of the encoded data of the encoded data block can be the average value of the encoded data of the n1 encoded data blocks. The computer device can determine a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order. Among them, the computer device can set a buffer (register) for storing encoded values, with the buffer size being n1, and the target encoded value of the encoded data block is statistically calculated every n2 points. Among them, the encoded data block can be a data point in the point cloud data, and the initial order can be adjusted every n1 data points.

[0075] Specifically, the first limit order refers to the lower limit order, the second limit order can refer to the upper limit order, the initial order is represented by golombNum, the first limit order is represented by golombNumLow, and the second limit order is represented by golombNumLow. Optionally, the manner in which the computer device determines the first limit order and the second limit order according to the initial order can include but is not limited to the following manners: Manner 1: golombNumLow = 2^golombNum, golombNumUp = 2^(golombNum + 1). Manner 2: golombNumLow = 2^(golombNum - 1), golombNumUp = 2^golombNum. Manner 3: golombNumUp = 2^((golombNum - 1)) + 2^((golombNum - 2)); golombNumLow = 2^((golombNum - 1)) - 2^((golombNum - 2)). It should be noted that in addition to the above manners, other manners can also be adopted to determine the first limit order and the second limit order according to specific situations, and the application embodiments will not be elaborated herein.

[0076] Further, the computer device can obtain the magnitude relationship between the target coding value of the coded data of the coded data block and the first limit order and the second limit order. The magnitude relationship may include that the target coding value is less than the first limit order, or the target coding value is greater than the second order, or the target coding value is greater than or equal to the first limit order and less than or equal to the second limit order. The computer device can adjust the initial order according to the magnitude relationship to obtain the target order associated with the target data block. The computer device can determine the target order as the target coding parameter of the target data block in the coding mode. In this way, by adjusting the initial order, a more accurate target order can be obtained. Encoding the signal to be coded in the target data block using the target order can represent the signal to be coded with fewer codes, reduce the data volume of the coded data corresponding to the target data block, and thus improve the encoding and decoding efficiency.

[0077] Optionally, the specific manner in which the computer device adjusts the initial order may include, but is not limited to, the following: If the magnitude relationship indicates that the target coding value is less than the first limit order, the sum of the initial order and the first adjustment step is determined as the target order associated with the target data block. If the magnitude relationship indicates that the target coding value is greater than the second limit order, the difference between the initial order and the first adjustment step is determined as the target order associated with the target data block. If the magnitude relationship indicates that the target coding value is greater than or equal to the first limit order and less than or equal to the second limit order, the initial order is determined as the target order associated with the target data block.

[0078] Specifically, if the computer device determines that the magnitude relationship indicates that the target coding value is less than the first limit order, the computer device can determine the sum of the initial order and the first adjustment step as the target order associated with the target data block. Among them, the first adjustment step can be determined by historical coding record information, or the first adjustment step can be determined by the administrator, etc. The first adjustment step can be a value such as 1, 2, 3, etc. If the magnitude relationship indicates that the target coding value is greater than the second limit order, the computer device can determine the difference between the initial order and the first adjustment step as the target order associated with the target data block. If the magnitude relationship indicates that the target coding value is greater than or equal to the first limit order and less than or equal to the second limit order, the initial order is not adjusted, and the initial order is determined as the target order associated with the data block. In this way, the target order associated with the target data block can be restricted within a reasonable order range, and at the same time, the accuracy of the target order can be improved to realize representing the coded data of the target data block with fewer codes.

[0079] Optionally, the ways for the computer device to adjust the initial order may include, but are not limited to, the following ways: Obtain the encoding parameters corresponding to the encoded data block. If the size relationship indicates that the target encoding value is less than the first limit order, then determine the sum of the historical order and the second adjustment step size as the target order associated with the target data block. If the size relationship indicates that the target encoding value is greater than the second limit order, then determine the difference between the historical order and the second adjustment step size as the target order associated with the target data block. If the size relationship indicates that the target encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, then determine the initial order as the target order associated with the target data block.

[0080] Specifically, the computer device can obtain the encoding parameters corresponding to the encoded data block. If the size relationship indicates that the target encoding value is less than the first limit order, then determine the sum of the historical order and the second adjustment step size as the target order associated with the target data block. The second adjustment step size may be the same as the first adjustment step size or may be different from the first adjustment step size. Similarly, the second adjustment step size may also be determined by the historical encoding record information, or the second adjustment step size may be determined by the management personnel, etc. The second adjustment step size may be a value such as 1, 2, 3, etc. If the size relationship indicates that the target encoding value is greater than the second limit order, then determine the difference between the historical order and the second adjustment step size as the target order associated with the target data block. If the size relationship indicates that the target encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, then determine the initial order as the target order associated with the target data block. In this way, the target order associated with the target data block can be restricted within a reasonable order range, and at the same time, the accuracy of the target order can be improved to achieve encoding the target data block with fewer encodings.

[0081] Optionally, the specific ways for the computer device to adjust the initial order may include, but are not limited to, the following ways: Adjust the initial order according to the size relationship to obtain the candidate order associated with the target data block. If the candidate order is less than or equal to the third limit order, then determine the sum of the candidate order and the third adjustment step size as the target order associated with the target data block. If the target order is greater than or equal to the fourth limit order, then determine the difference between the candidate order and the third adjustment step size as the target order associated with the target data block; the third limit order is less than the fourth limit order. If the target order is greater than the third limit order and less than the fourth limit order, then determine the candidate order as the target order associated with the target data block.

[0082] Specifically, the computer device can adjust the initial order according to the size relationship to obtain the candidate order associated with the target data block. The specific process of adjusting the initial order can refer to the above process of adjusting the initial order. The computer device can detect the relationship between the candidate order associated with the target data block and the third limit order and the fourth limit order, and adjust the candidate order according to this relationship to obtain the target order associated with the target data block. The third limit order and the fourth limit order are used to limit the target order associated with the target data block within a reasonable order range, and the third limit order is less than the fourth limit order. Specifically, if the candidate order is less than or equal to the third limit order, it can be determined that the candidate order is too small, and the sum of the candidate order and the third adjustment step can be determined as the target order associated with the target data block. Or, if the candidate order is less than or equal to the third limit order, the first preset order can be used as the target order associated with the target data, and the first preset order is greater than the third limit order and less than the fourth limit order, that is, the first preset order is within the reasonable order range. If the target order is greater than or equal to the fourth limit order, the difference between the candidate order and the third adjustment step can be determined as the target order associated with the target data block. Or, if the candidate order is greater than or equal to the fourth limit order, the second preset order can be determined as the target order associated with the target data block. The second preset order is greater than the third limit order and less than the fourth limit order, that is, the second preset order is within the reasonable order range. If the target order is greater than the third limit order and less than the fourth order, it means that the candidate order is within the reasonable order range, and the candidate order is not adjusted, and the candidate order is determined as the target order associated with the target data block.

[0083] Optionally, the target coding value of the coded data of the coded data block is the average value of all the coding values in the coded data of the coded data block. Or, the target coding value of the coded data of the coded data block is the average value of the non-zero coding values in the coded data of the coded data block.

[0084] Optionally, the computer device may obtain the signal to be encoded within the encoded data block and the encoding parameters of the encoded data block. The encoding parameters of the encoded data block may be determined based on the signal characteristics of the signal to be encoded within the encoded data block, or the encoding parameters of the encoded data block may be determined based on the data blocks associated with the encoded data block. The computer device may detect the signal magnitude relationship between the signal to be encoded within the target data block and the signal to be encoded within the encoded data block, and determine the encoding parameters of the target data block according to the signal magnitude relationship and the encoding parameters of the encoded data block. Specifically, if the signal to be encoded within the target data block is equal to the signal to be encoded within the encoded data block, the encoding parameters of the encoded data block may be determined as the target encoding parameters corresponding to the target data block. If the signal to be encoded within the target data block is less than the signal to be encoded within the encoded data block, the difference between the encoding parameters of the encoded data block and the fourth adjustment step size may be determined as the target encoding parameters corresponding to the target data block. If the signal to be encoded within the target data block is greater than the signal to be encoded within the encoded data block, the sum of the encoding parameters of the encoded data block and the fourth adjustment step size may be determined as the target encoding parameters corresponding to the target data block. Similarly, the fourth adjustment step size may be determined by the historical encoding record information, or the fourth adjustment step size may be determined by the management personnel, etc. The fourth adjustment step size may be a value such as 1, 2, 3, etc.

[0085] Optionally, the point cloud data includes at least two data groups, and the target data block belongs to the first data group among the at least two data groups; the encoding parameters corresponding to the data blocks within the first data group are the same, that is, the encoding parameters corresponding to the data blocks within the first data group are all the target encoding parameters. The encoded data block belongs to the second data group that has an adjacent relationship with the first data group among the at least two data groups. Among them, since there is a great similarity in the media attributes between the data blocks within the same data group, the data blocks within the same data group may adopt the same encoding parameters. Of course, the data blocks within the same data group may adopt different encoding parameters.

[0086] Optionally, the computer device may group the data blocks in the point cloud data to obtain at least two data groups. The specific ways for the computer device to group the point cloud data may include but are not limited to the following ways: Way 1: The at least two data groups are obtained by grouping according to the positions of the data blocks in the point cloud data. The computer device may divide the data blocks at adjacent positions into one data group according to the positions of the data blocks in the point cloud data, so as to obtain at least two data groups in the point cloud data.

[0087] Method 2: At least two data groups are obtained by grouping according to the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data; the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data are obtained by performing Hilbert transform on the positions of each data block in the point cloud data. The computer device can perform Hilbert transform on the positions of each data block in the point cloud data to obtain the Hilbert codes of each data block pair, and sort the data blocks in the point cloud data according to the Hilbert codes corresponding to each data block to obtain the sorted data blocks. Further, the computer device can group the sorted data blocks in sequence based on the order of the space-filling curve, and group the data blocks with the same first L bits of the Hilbert code into one data group. Specifically, the computer device can also group the data blocks with the same first L bits of the Hilbert code into one data group to obtain candidate data groups. If the number of data blocks in the candidate data group is more than the limit number, the candidate data group can be sub-grouped to limit the number of data blocks in the candidate data group within the limit data volume, or the candidate data group can be adjusted according to the number of data blocks included in the previous grouping to obtain the data group.

[0088] Method 3: At least two data groups are obtained by dividing the point cloud data according to the division size. The computer device can divide the three-dimensional space formed by the point cloud data into non-overlapping coding macroblocks of size, and each coding macroblock can be used as a basic coding unit and can be a data group. Among them, x, y, z are coordinate information, and d is the octree division depth. The computer device can set the division size (such as the octree division depth d or through parameters) to control the size of the data blocks.

[0089] Method 4: At least two data groups are obtained by dividing the point cloud data according to the target limit number and the coding order of the data blocks. The computer device can group the data blocks in the point cloud data in sequence according to the target limit number and the coding order of the data blocks in the point cloud data to obtain at least two data groups. For example, the coding order of 5 data blocks in the point cloud data is: data block s1, data block s2, data block s3, data block s4, and data block s5. If the target limit number is 2, one data group is: data block s1 and data block s2; another data group is: data block s3 and data block s4; and another data group is: data block s5. Or, at least two data groups can refer to the prediction tree units in the prediction tree generated according to the point cloud data, and the prediction tree unit can refer to the unit composed of multiple prediction tree nodes in the prediction tree.

[0090] Such as Figure 4 shown, Figure 4 is a schematic diagram of a data group division provided by an embodiment of the present application. As Figure 4 shown, the computer device can divide the three-dimensional space formed by the point cloud data into Non-overlapping coded macroblocks of a size. As Figure 4 shown, the computer device can evenly divide the three-dimensional space formed by the point cloud data into 4 non-overlapping coded macroblocks. For a data group in one coded macroblock, each data group can include 4 data blocks. As Figure 4 shown, data group 40a includes four data blocks, each data block includes four data points. Data group 40a contains data points in the point cloud data. In the second data block 2 of the data group, it includes a data point 4, and in the third data block 3, it includes data point 5. Data group 40b also includes four data blocks, each data block includes four data points. Data group 40b contains data points in the point cloud data. In the first data block 7 of the data group, it includes data points 9 and A, and in the fourth data block 8, it includes data point B.

[0091] Optionally, the signal to be coded for the target data block can include one or more of geometric prediction residuals, attribute prediction residuals, and attribute transform coefficients, etc. Among them, the geometric prediction residual of the data block ranked first in the coding order in the point cloud data can be the difference between the preset geometric position and the geometric position of the data block ranked first, or it can be the geometric position of the data block ranked first. The geometric prediction residual of other data blocks in the point cloud data except the data block ranked first can be the difference between the geometric position of the data block ranked before the coding order of the current data block in the coding order and the geometric position of the current data block. Among them, the attribute prediction residual of the data block ranked first in the coding order in the point cloud data can be the difference between the preset attribute and the media attribute of the data block ranked first, or it can be the media attribute of the data block ranked first. The attribute prediction residual of other data blocks in the point cloud data except the data block ranked first can be the difference between the media attribute of the data block ranked before the coding order of the current data block in the coding order and the media attribute of the current data block. Among them, the attribute transform coefficient refers to the result obtained by transforming the media attribute of the data block using a transformation matrix.

[0092] Optionally, the signals to be encoded in the target data block include a first signal to be encoded and a second signal to be encoded, and the attribute types corresponding to the first signal to be encoded and the second signal to be encoded are different. For example, the attribute type of the first signal to be encoded may refer to a geometric position, and the attribute type of the second signal to be encoded may refer to a color attribute. The target encoding parameters of the target data block include first encoding parameters for encoding the first signal to be encoded and second encoding parameters for encoding the second signal to be encoded, and the first encoding parameters are different from the second encoding parameters. It can be understood that signals to be encoded with different attribute types in the target data block are encoded using different encoding parameters. In this way, different encoding parameters can be determined according to signals to be encoded with different attribute types, so as to determine more accurate encoding parameters and implement encoding data representing the target data block with fewer encodings.

[0093] Optionally, the first signal to be encoded includes a first sub-encoded signal, a second sub-encoded signal, and a third sub-encoded signal, and the first encoding parameters for encoding the first signal to be encoded are determined based on the sub-signal characteristics corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal respectively. Specifically, the first encoding parameters may be determined based on the largest sub-encoded signal among the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal. Of course, the first encoding parameters may be determined based on the average signal value among the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal. Of course, the first encoding parameters may be determined based on any one of the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal. Among them, the encoding parameters corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal are all the first encoding parameters. It can be understood that sub-encoded signals of the same attribute type may all use the same encoding parameters. Among them, the encoding parameters corresponding to the associated information associated with the first signal to be encoded are the first encoding parameters. For example, the run length of zeros and the non-zero signal values obtained by performing run-length encoding on the first signal to be encoded using run-length encoding may be encoded using the same first encoding parameters (i.e., the first encoding parameters corresponding to the first signal to be encoded). Among them, run-length encoding refers to replacing a continuous string of the same value with a representative value and the string length. For example, when the first signal to be encoded is aaaabaaaa, run-length encoding can be used to obtain 4b4. When encoding the first signal to be encoded, the run length "4" and the non-zero signal value "b" can be encoded using exponential Golomb encoding with the first encoding parameters corresponding to the first signal to be encoded.

[0094] Optionally, the first signal to be encoded includes a first sub-encoded signal, a second sub-encoded signal, and a third sub-encoded signal, and the first encoding parameter includes a first sub-encoding parameter corresponding to the first sub-encoded signal, a second sub-encoding parameter corresponding to the second sub-encoded signal, and a third sub-encoding parameter corresponding to the third sub-encoded signal. It can be understood that different sub-encoded signals in the first signal to be encoded adopt different encoding parameters. In this way, the encoding parameters corresponding to different sub-encoded signals can be determined according to the signal characteristics of different sub-encoded signals, so as to determine more accurate encoding parameters and implement encoding data that represents the target data block with fewer encodings. Among them, the computer device can use the offset function to adjust the encoding parameters of the sub-encoded signals in the first signal to be encoded. The offset function is a function that takes a specified reference as a reference system and obtains a new reference by a given offset. The first sub-encoding parameter is determined based on the sub-signal characteristics corresponding to the first sub-encoded signal, the second sub-encoding parameter is determined based on the first sub-encoding parameter and the target offset, and the third sub-encoding parameter is determined based on the second sub-encoding parameter and the target offset. Among them, the target offset can be set by the administrator, determined by the historical encoding and decoding record information, or set according to specific situations. The embodiments of the present application do not limit this here. Of course, the encoding parameters in the signals to be encoded of different attribute types can also be adjusted by the offset function. For example, the first encoding parameter of the first signal to be encoded is determined based on the signal characteristics of the first signal to be encoded, and the encoding parameter of the second signal to be encoded is determined based on the given offset and the encoding parameter of the first signal to be encoded. Or, the encoding parameters corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal are determined based on the sub-signal characteristics corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal respectively.

[0095] S103, encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block.

[0096] Specifically, the computer device can encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block. Among them, the exponential Golomb coding method can be used to encode the signal to be encoded in the target data block according to the target encoding parameter. Among them, when encoding the signal to be encoded in the target data block with different encoding parameters, the encoded data of the target data block belongs to the encoding lengths corresponding to different encoding parameters. For example, when encoding the signal to be encoded in the target data block with the encoding parameter r1, the obtained encoded data of the target data block belongs to the encoding description range corresponding to the encoding parameter r1; when encoding the signal to be encoded in the target data block with the encoding parameter r2, the obtained encoded data of the target data block belongs to the encoding description range corresponding to the encoding parameter r2. In this way, encoding the signal to be encoded in the target data block with the target encoding parameter can achieve representing the signal to be encoded in the target data block with fewer encodings, so as to reduce the data volume of the encoded data. It can be understood that the encoded data obtained by encoding the signal to be encoded in the target data block with the target encoding parameter is smaller than the encoded data obtained by encoding the signal to be encoded in the target data block with other encoding parameters. Since the redundancy of the encoded data of the target data block is relatively low, the decoded signal of the target data block can be decoded quickly, and thus the decoding efficiency can be improved.

[0097] Optionally, after obtaining the target encoding parameter corresponding to the target data block, the computer device can directly encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block.

[0098] Optionally, the specific method for the computer device to encode the signal to be encoded in the target data block may include: if the signal to be encoded in the target data block is different from the target signal threshold, generate a first encoding label for indicating that the signal to be encoded in the target data block is different from the target signal threshold. Perform a difference operation on the signal to be encoded in the target data block according to the target signal threshold to obtain a signal difference. Encode the signal difference according to the target encoding parameter to obtain a signal encoding value of the signal to be encoded in the target data block, and determine the signal encoding value and the first encoding label as the encoded data of the target data block.

[0099] Specifically, the computer device can separately detect whether the signal to be encoded in the target data block is the same as the target signal threshold. When the signal to be encoded in the target data block is the same as the target signal value, the second coding label is used as the encoded data of the target data block; when the signal to be encoded in the target data block is not the same as the target signal value, the signal to be encoded in the target data block is encoded according to the first coding label and the target coding parameter. Among them, the target signal threshold can refer to the signal value of the signal to be encoded that appears most frequently in the signal to be encoded in the target data block, or the target signal threshold can also be the signal value of the signal to be encoded that appears most frequently in the point cloud data, and can also be set according to other specific situations. Among them, the first coding label is used to indicate that the signal to be encoded in the target data block is not the same as the target signal threshold. When the decoding device decodes, it can decode the encoded data of the target data block according to the first coding label and the target decoding parameter (i.e., the target coding parameter) to obtain the decoded signal of the target data block (the signal value of the decoded signal is the same as the signal value of the signal to be encoded).

[0100] Specifically, when the computer device determines that the signal to be encoded in the target data block is the same as the target signal threshold, it can determine the second encoding label as the encoded data of the signal to be encoded. The second encoding label is used to indicate that the signal to be encoded in the target data block is the same as the target signal threshold. In this way, when the signal to be encoded in the target data block is the same as the target signal threshold, the second encoding label is used as the encoded data of the signal to be encoded. Only when the signal to be encoded in the target data block is different from the target signal threshold, the target data block is encoded according to the first encoding label and the target encoding parameters. In this way, when there are a large number of signals to be encoded adjacent to the target signal threshold in the signals to be encoded in the target data block, the second encoding label can be directly used as the encoded data of the signal to be encoded that is the same as the target signal threshold, which can reduce the number of signals to be encoded and improve the encoding efficiency. For example, when the target data block includes 5 signals to be encoded, the signal value of the first signal to be encoded is 1, the signal value of the second signal to be encoded is 0, the signal value of the third signal to be encoded is 1, the signal value of the fourth signal to be encoded is 1, and the signal value of the fifth signal to be encoded is 2, the target signal threshold can be 1, the first encoding label can be flag≠1, and the second encoding label can be flag=1. In this way, since the first signal to be encoded is the same as the target signal threshold, the second encoding label flag=1 can be used as the encoded data corresponding to the first signal to be encoded. In this way, during decoding, the signal value of the first signal to be encoded can be directly determined as 1 according to the second encoding label flag=1. Since the second signal to be encoded is different from the target signal threshold, the second signal to be encoded can be encoded according to the first encoding label flag≠1 and the target encoding parameters. Since the third signal to be encoded is the same as the target signal threshold, the encoded data of the third signal to be encoded is the second encoding label. Since the fourth signal to be encoded is the same as the target signal threshold, the encoded data of the fourth signal to be encoded is the second encoding label. Since the fifth signal to be encoded is different from the target signal threshold, the second signal to be encoded can be encoded according to the first encoding label flag≠1 and the target encoding parameters.

[0101] Optionally, when the signal to be encoded in the target data block is different from the target signal threshold, the computer device can directly encode the signal to be encoded in the target data block according to the target encoding parameters corresponding to the target data block to obtain the encoded data corresponding to the target data block. When decoding, the decoding device can directly decode the encoded data corresponding to the target data block according to the target decoding parameters (i.e., the target encoding parameters) to obtain the decoded signal of the target data block.

[0102] Optionally, the specific manner in which the computer device encodes the signal to be encoded according to the first encoding label and the target encoding parameter may include: If the signal to be encoded in the target data block is different from the target signal threshold, a first encoding label is generated to indicate that the signal to be encoded in the target data block is different from the target signal threshold. According to the target signal threshold, a difference operation is performed on the signal to be encoded in the target data block to obtain a signal difference value, and the signal difference value is encoded according to the target encoding parameter to obtain a signal encoding value of the signal to be encoded in the target data block. The signal encoding value of the signal to be encoded in the target data block and the first encoding label are determined as the encoded data of the target data block.

[0103] Specifically, when the computer device determines that the signal to be encoded in the target data block is different from the target signal threshold, a first encoding label can be generated to indicate that the signal to be encoded in the target data block is different from the target signal threshold. According to the target signal threshold, a difference operation is performed on the signal to be encoded in the target data block to obtain a signal difference value. Among them, the computer device can obtain the difference between the signal to be encoded in the target data block and the target signal threshold and determine it as the signal difference value. Among them, the computer device can also obtain the difference between the signal to be encoded in the target data block and the target signal threshold and the first threshold as the signal difference value. Specifically, the computer device can obtain the candidate difference between the signal to be encoded in the target data block and the target signal threshold, and then obtain the difference between the candidate difference and the first threshold as the signal difference value. Specifically, the first threshold can be 1 or other thresholds. When the first threshold is 1, the signal difference value = the signal value of the signal to be encoded - (m + 1), where m is the target signal threshold.

[0104] Further, the computer device may encode the signal difference according to the target encoding parameter to obtain the signal encoding value of the signal to be encoded, and determine the signal encoding value of the signal to be encoded and the first encoding tag as the encoding data of the signal to be encoded. For example, taking the signal to be encoded in the target data block as 3, the target signal threshold as 2, and the first threshold as 1, the computer device obtains the difference between the signal value of the signal to be encoded, the target signal threshold, and the first threshold as the signal difference, that is, the signal difference is 3 - 2 - 1 = 0. The computer device may directly encode the signal difference 0, which can reduce the data volume of the encoding data. In this way, when the computer device determines that the signal to be encoded in the target data block is different from the target signal threshold, the difference processing may be performed on the signal to be encoded in the target data block, and the signal difference obtained by the difference processing is encoded, which can reduce the signal value of the signal to be encoded that needs to be encoded. In this way, since the number of encoding data obtained when encoding a smaller signal value is smaller, encoding the signal difference corresponding to the signal to be encoded can reduce the data volume of the encoding data to improve the encoding and decoding efficiency. When the decoding device decodes the encoding data of the signal to be encoded, it may decode the encoding data of the signal to be encoded according to the target decoding parameter (the target decoding parameter is the same as the target encoding parameter) to obtain the signal encoding value of the signal to be encoded, and perform a summation process on the signal encoding value of the signal to be encoded according to the target signal threshold to obtain the decoded signal of the signal to be encoded.

[0105] Optionally, the computer device can sequentially detect whether the signal to be encoded in the target data block is the same as the target signal threshold, and detect whether the signal to be encoded is the same as a positive integer smaller than the target signal threshold, and generate corresponding encoding tags to indicate the signal value of the signal to be encoded in the target data block. For example, when the target signal threshold is 2, the computer device can detect whether the signal to be encoded in the target data block is the same as the threshold 2. If they are the same, the encoding tag of the signal to be encoded is flag = 2; if not, then flag ≠ 2. When the signal to be encoded is not the same as the threshold 2, the computer device can continue to detect whether the signal to be encoded in the target data block is the same as the threshold 1 (a positive integer smaller than the threshold 2). If the signal to be encoded is the same as the threshold 1, the encoding tag of the signal to be encoded is flag = 1; if not, then flag ≠ 1. When the computer device determines that the signal to be encoded is not the same as the threshold 1, the computer device can continue to detect whether the signal to be encoded in the target data block is the same as the threshold 0 (a positive integer smaller than the threshold 2). If the signal to be encoded is the same as the threshold 0, the encoding tag of the signal to be encoded is flag = 0; if not, then flag ≠ 0. If the computer device determines that the signal to be encoded is not the same as the threshold 2, the threshold 1, and the threshold 0, it can be determined that the signal to be encoded in the target data block is greater than 2. Then, the difference processing can be performed on the signal to be encoded in the target data block according to the target signal threshold to obtain a signal difference, and the signal difference can be encoded. In this way, since the number of encoded data obtained when encoding a smaller signal value is smaller, encoding the signal difference corresponding to the signal to be encoded can reduce the amount of encoded data, thereby improving the encoding and decoding efficiency.

[0106] Among them, after the computer device encodes the target data block to obtain the encoded data of the target data block, it can associatively store the encoded data of the target data block and the target encoded data of the target data block, generate a bitstream of the point cloud data according to the encoded data corresponding to one or more data blocks respectively, and send the bitstream of the point cloud data to the decoding device so that the decoding device can reconstruct the point cloud data according to the bitstream of the point cloud data. Specifically, the computer device can store the encoding parameters corresponding to each data block in the point cloud data in one or more parameter sets, and the parameter set includes the correspondence between the data blocks in the point cloud data and the corresponding encoding parameters. In this way, the computer device can send the one or more parameter sets and the bitstream of the point cloud data to the decoding device, and the decoding device can determine the encoding parameters corresponding to the corresponding data blocks from the parameter sets as decoding parameters. Alternatively, in the bitstream of the point cloud data generated by the computer device according to the target encoding parameters corresponding to the target data block and the encoded data of the target data block, the encoded data of one target data block corresponds to one target encoding parameter.

[0107] In an alternative embodiment, the computer device may construct a geometric prediction tree for the point cloud data, obtain the geometric prediction residuals of each node in the geometric prediction tree, and obtain the geometric prediction tree residual information. Among them, when the computer device obtains the geometric prediction residuals of each node in the geometric prediction tree, the geometric prediction residual of each node can be predicted based on the signal value of its previous point, or the geometric prediction residual of each node can be predicted based on the signal values of its previous two points, or the geometric prediction residual of each node can be predicted based on the signal values of its previous a1 points. Further, the computer device may, based on the distribution of the geometric prediction tree residual information, take different Golomb-Rice orders for the starting residual information and other residual information in the geometric prediction tree, denoted as k1 and k2 respectively, and use the Golomb-Rice with an adaptive order to encode the starting residual information and other residual information, so as to obtain the encoded data of the point cloud data. Among them, the initial order k1 is set based on the range of the geometric information of the geometric prediction tree as the order of the starting residual information; the corresponding order k2 = k1 + offset is set, where offset can be any integer; or the initial order k2 = k1;

[0108] Optionally, k1 and k2 are adaptively adjusted based on the residual information of the previously decoded points of the same type. Among them, k1 is adaptively adjusted based on the average value of the residual information of n1 previous starting points, and k2 is adaptively adjusted based on the average value of the residual information of n1 previous other points; or the starting point order k1 is fixed and k2 is adaptively adjusted.

[0109] In an alternative embodiment, the computer device may obtain the attribute prediction residuals of the data points in the point cloud data, and determine the initial encoding parameters of the data points according to the signal characteristics of the attribute prediction residuals of the data points. The upper limit parameter and the lower limit parameter are determined according to the initial encoding parameters. Further, the computer device may adjust the initial encoding parameters according to the signal characteristics of the attribute prediction residuals of the data points to obtain the target encoding parameters of the data points. Specifically, if the attribute prediction residual of the data point is less than the lower limit parameter, the target encoding parameter of the data point is the initial encoding parameter plus one; if the attribute prediction residual of the data point is greater than the lower limit parameter, the target encoding parameter of the data point is the initial encoding parameter minus one. Further, if the target encoding parameter is less than 0, it is determined that the target encoding parameter is equal to 0, or if the target encoding parameter is less than 0, it is determined that the target encoding parameter is equal to the initial encoding parameter.

[0110] In an alternative embodiment, the computer device may obtain the attribute transformation coefficient of the data points in the point cloud data, and determine the initial coding parameter of the data points according to the signal characteristics of the attribute transformation coefficient of the data points. The upper limit parameter and the lower limit parameter are determined according to the initial coding parameter. Further, the computer device may adjust the initial coding parameter according to the signal characteristics of the attribute transformation coefficient of the data points to obtain the target coding parameter of the data points. Specifically, if the attribute transformation coefficient of the data point is less than the lower limit parameter, the target coding parameter of the data point is the initial coding parameter plus one; if the attribute transformation coefficient of the data point is greater than the lower limit parameter, the target coding parameter of the data point is the initial coding parameter minus one. Further, if the target coding parameter is less than 0, it is determined that the target coding parameter is equal to 0, or, if the target coding parameter is less than 0, it is determined that the target coding parameter is equal to the initial coding parameter.

[0111] In the embodiment of the present application, by obtaining the signal to be encoded in the target data block in the point cloud data and the signal characteristics of the signal to be encoded in the target data block, the encoding method of the point cloud data is a variable-length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block. It can be seen that by adopting the variable-length encoding method, the amount of encoded data of the target data block can be reduced. According to the signal characteristics of the signal to be encoded in the target data block, the target coding parameter of the target data block in the encoding method is determined. The encoded data of the target data block here refers to the number of bits of the encoded data used to describe the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. The signal to be encoded in the target data block is encoded according to the target coding parameter to obtain the encoded data of the target data block. It can be seen that by encoding the signal to be encoded of the target data block with an accurate target coding parameter, it is possible to represent the signal to be encoded with fewer encodings, reduce the amount of encoded data corresponding to the target data block, reduce the pressure of network transmission, and at the same time reduce the receiving pressure of the decoding device for receiving the encoded data, and at the same time improve the decoding efficiency of the encoded data. In other words, by adaptively determining how many encodings are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded in the target data block, that is, data blocks with different signal characteristics have different encodings, which can effectively reduce the redundancy of the encoded data of the target data block, that is, can reduce the length of the encoded data of the target data block, and at the same time, can improve the transmission efficiency of the encoded data of the target data block.

[0112] As Figure 5 shown, Figure 5 is a decoding method for point cloud data provided by an embodiment of the present application. Below, in conjunction with Figure 5 , the decoding method for point cloud data proposed in the embodiment of the present application will be described in detail. This method can be executed by a computer device, and the computer device may refer to a decoding device. AsFigure 5 As shown in Figure 5 , the method may specifically include but is not limited to the following steps:

[0113] S201. Obtain the encoded data of the target data block in the point cloud data.

[0114] Specifically, point cloud data is widely used in the construction of urban digital maps and plays a technical support role in many popular research fields such as smart cities, autonomous driving, and cultural relic protection. The computer device can collect the surface of the target object through a three-dimensional scanning device to obtain point cloud data. The encoding device can encode the point cloud data to obtain the encoded data corresponding to the point cloud data and send the encoded data corresponding to the point cloud data to the decoding device. The decoding device decodes the encoded data of the point cloud data to obtain the point cloud data and restores the point cloud data. Among them, the point cloud data includes one or more data blocks, and the target data block belongs to any one of the one or more data blocks in the point cloud data. Among them, the target data block can be any data point in the point cloud data or a set of data points composed of at least two data points. For example, the target data block can refer to the point cloud data, the macro block in the point cloud data, the prediction tree in the point cloud data (a tree composed of multiple data points in the point cloud data), etc. The encoded data of the target data block is obtained by the encoding device encoding the signal to be encoded in the target data block according to the target encoding parameters in the non-uniform encoding method. Among them, the target encoding parameters are determined based on the signal characteristics of the signal to be encoded in the target data block. The encoding device can send the encoded data of the target data block in the point cloud data to the decoding device. After receiving the encoded data of the target data block in the point cloud data, the decoding device can determine the decoding method for decoding the encoded data of the target data block. The decoding method can refer to the decoding method corresponding to the non-uniform encoding method used by the encoding device to encode the target data block.

[0115] Among them, the non-uniform encoding method can refer to the unsigned exponential Golomb encoding method, the signed exponential Golomb encoding method, the truncated exponential Golomb encoding method, the mapped exponential Golomb encoding method, etc. The decoding method of the target data block is the decoding method corresponding to the encoding method of the target data block. For example, when the encoding method of the target data block is the unsigned exponential Golomb encoding method, the decoding method of the target data block is the unsigned exponential Golomb decoding method.

[0116] S202. Determine the target decoding parameters of the target data block according to the target encoding parameters.

[0117] Specifically, the computer device can determine the target decoding parameters of the target data block according to the target encoding parameters. Among them, the target decoding parameters can be the same as the target encoding parameters of the target data block in the encoding method. For example, when the target encoding parameter of the target data block in the exponential Golomb encoding method is "order 0", the target decoding parameter is "order 0". Among them, the target encoding parameter of the target data block in the encoding method can be determined based on the signal characteristics of the signal to be encoded in the target data block. The signal to be encoded in the target data block is used to reflect the media attributes of the target data block. The media attributes can refer to attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material characteristics, and texture information. The number of signals to be encoded in the target data block can be one or more. The signal to be encoded can be obtained by the encoding device through attribute prediction, attribute transformation, attribute prediction transformation, or attribute transformation prediction of the media attributes of the target data block, such as geometric prediction residuals, attribute prediction residuals, or attribute transformation coefficients. The signal characteristics of the signal to be encoded can refer to the signal threshold range of the signal to be encoded, the distribution characteristics of the signal to be encoded, the signal value size of the signal to be encoded, or the signal characteristics of the associated signal associated with the signal to be encoded in the target data block.

[0118] Optionally, the signal threshold range of the signal to be encoded can be determined based on the maximum signal to be encoded and the minimum signal to be encoded in the target data block; or, the signal range value is determined based on the sampling accuracy of the target data block. The target encoding parameter corresponding to the target data block can be obtained by querying from the second parameter table based on the target index value. The second parameter table includes at least one index value and the encoding parameters associated with each index value in the at least one index value. The target index value is obtained by quantifying and taking the difference of the signal threshold range of the signal to be encoded. Optionally, the target encoding parameter can be determined according to the encoded data of the encoded data block adjacent to the target data block in the point cloud data. The determination process of the target encoding parameter corresponding to the target data block can refer to the above Figure 2 in the determination process of the target encoding parameter corresponding to the target data block by the encoding device in the present application embodiment, which will not be elaborated herein.

[0119] Optionally, the point cloud data includes at least two data groups. The target data block belongs to the first data group among the at least two data groups. The encoding parameters corresponding to the data blocks within the first data group are the same. The encoded data block belongs to the second data group that has an adjacent relationship with the first data group among the at least two data groups. Among them, the at least two data groups are obtained by grouping according to the positions of the data blocks in the point cloud data; or, the at least two data groups are obtained by grouping according to the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data; the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data are obtained by performing Hilbert transform on the positions of each data block in the point cloud data; or, the at least two data groups are obtained by dividing the point cloud data according to the division size; or, the at least two data groups are obtained by dividing the point cloud data according to the target limit quantity and the encoding order of the data blocks. Among them, different encoding parameters can be used for the to-be-encoded signals of multiple different attribute types within the target data block, that is, one to-be-encoded signal corresponds to one encoding parameter. The same encoding parameter or different encoding parameters can be used for the different sub-encoding signals within different to-be-encoded signals. For specific details, reference can be made to the description in Figure 2 above, and details are not described herein again in the embodiments of the present application.

[0120] Optionally, the specific manner for the computer device to determine the target decoding parameter may include: obtaining the parameter set corresponding to the point cloud data; the parameter set includes the encoding parameters corresponding to each data block in the point cloud data. Obtain the target encoding parameter corresponding to the target data block from the parameter set corresponding to the point cloud data, and determine the target encoding parameter corresponding to the target data block as the target decoding parameter of the target data block, and determine the target encoding parameter corresponding to the target data block as the target decoding parameter of the target data block.

[0121] Specifically, after the encoding device encodes the target data block to obtain the encoded data of the target data block, it can associatively store the encoded data of the target data block and the target encoded data of the target data block, and generate a bitstream of the point cloud data according to the encoded data respectively corresponding to one or more data blocks. Specifically, the encoding device can store the encoding parameters corresponding to each data block in the point cloud data in the parameter set. The parameter set includes the correspondence between the data blocks in the point cloud data and the corresponding encoding parameters, and send the parameter set to the decoding device. After obtaining the parameter set and the bitstream of the point cloud data, the decoding device can decode the encoded data corresponding to each data block in the point cloud data to obtain the decoded signal corresponding to each data block. The target data block belongs to the data blocks in the point cloud data. Specifically, the parameter set includes the encoding parameters corresponding to each data block in the point cloud data. The computer device can obtain the target encoding parameter corresponding to the target data block from the parameter set corresponding to the point cloud data, and determine the target encoding parameter corresponding to the target data block as the target decoding parameter of the target data block.

[0122] Among them, the encoding device may also associate and store the encoding parameters corresponding to each data block in the point cloud data in the bitstream of the point cloud data, and send the bitstream of the point cloud data to the decoding device. After receiving the bitstream of the point cloud data, the decoding device may obtain the encoded data corresponding to each data block in the point cloud data and the encoding parameters corresponding to each data block from the bitstream of the point cloud data. The computer device may obtain the target encoding parameters corresponding to the target data block from the encoding parameters corresponding to each data block in the point cloud data, and determine the target encoding parameters corresponding to the target data block as the target decoding parameters of the target data block.

[0123] The computer device may determine the target decoding parameters corresponding to the encoded data of the target data block according to the parameter determination method of the target encoding parameters. This parameter determination method may be the default encoding parameter and decoding parameter determination method of the encoding device and the decoding device of the point cloud data. It can be understood that the encoding device determines the target encoding parameters by using the parameter determination method, encodes the point cloud data by using the target encoding parameters, and obtains the encoded data of the point cloud data. The decoding device may determine the target decoding parameters in the same way as the parameter determination method for determining the target encoding parameters by the encoding device, and decode the encoded data of the point cloud data by using the target decoding parameters to obtain the point cloud data. In other words, the method for the encoding device to determine the target encoding parameters of the target data block is the same as the method for the decoding device to determine the target decoding parameters of the encoded data of the target data block. Among them, the parameter determination method of the target encoding parameters may be default by the encoding device and the decoding device.

[0124] Optionally, the parameter determination method of the target encoding parameters includes a method based on querying a parameter table, that is, the target encoding device determines the target index value based on the signal characteristics of the signal to be encoded in the target data block, and queries the target encoding parameters corresponding to the target data block from the second parameter table. The specific content may refer to the above Figure 2 described content, which will not be elaborated in this embodiment of the present application. The specific method for the computer device to determine the target decoding parameters may include: obtaining the signal range value corresponding to the signal to be encoded in the target data block. Quantifying the signal range value corresponding to the signal to be encoded in the target data block to obtain a quantified signal range value. Obtaining the logarithm value of the quantified signal range value, performing a difference operation on the logarithm value of the quantified signal range value to obtain the target index value corresponding to the target data block. Querying the decoding parameters associated with the target index value from the first parameter table, where the first parameter table includes at least one index value and the decoding parameters associated with each index value in the at least one index value. Determining the queried decoding parameters as the target decoding parameters of the target data block.

[0125] Specifically, the computer device can obtain the signal range value corresponding to the signal to be encoded in the target data block, and the signal range value corresponding to the signal to be encoded in the target data block can be sent from the encoding device to the decoding device. The computer device can generate a target index value corresponding to the target data block according to the signal range value corresponding to the signal to be encoded in the target data block. Specifically, the computer device can obtain the quantization step (which can be obtained from the quantization parameter), and the quantization step can be preset by the administrator or determined according to the signal range of the signal to be encoded. Further, the computer device can quantize the signal range value corresponding to the signal to be encoded in the target data block based on the quantization step to obtain the quantized signal range value. By quantizing the signal range value, the signal range values within the target range can be replaced by one target signal range value to compress the data, facilitating subsequent quick query of the target index value corresponding to the target data block. Further, the computer device can obtain the logarithm of the quantized signal range value, perform a difference operation on the logarithm of the quantized signal range value, and obtain the target index value corresponding to the target data block.

[0126] Further, query the encoding parameters associated with the target index value from the first parameter table. The first parameter table includes at least one index value and the decoding parameters associated with each index value in the at least one index value, that is, one index value corresponds to one decoding parameter. The computer device can determine the queried decoding parameter as the target decoding parameter of the target data block. Among them, the first parameter table is the same as the first parameter table in the encoding device, can be sent from the encoding device to the decoding device, and can be generated by the decoding device in the same way as the encoding device generates the second parameter table.

[0127] Optionally, the parameter determination method of the target encoding parameter includes the method based on the data blocks with adjacent relationships, that is, the target encoding device adjusts the initial order based on the encoded data of the encoded data blocks adjacent to the target data block in the point cloud data to obtain the content of the target encoding parameter of the target data block. For specific details, reference can be made to the above Figure 2 The content is not elaborated herein in this embodiment of the present application. The specific method for the computer device to determine the target decoding parameter can include: obtaining the signal range value corresponding to the signal to be encoded in the target data block. Determining the initial decoding parameter of the target data block according to the signal range value corresponding to the target data block. Obtaining the decoded signals of the decoded data blocks adjacent to the target data block in the point cloud data. Adjusting the initial decoding parameter according to the decoded signals of the decoded data to obtain the target decoding parameter corresponding to the encoded data of the target data block.

[0128] Specifically, the computer device obtains the signal range value corresponding to the signal to be encoded within the target data block, and determines the initial decoding parameters of the target data block according to the signal range value corresponding to the target data block. The specific determination process can refer to the above process of determining the target index value according to the signal range value corresponding to the target data block, and determining the target decoding parameters from the first parameter table according to the target index value. Further, the computer device can obtain the decoded signals of the decoded data blocks adjacent to the target data block in the point cloud data, and adjust the initial decoding parameters according to the decoded signals of the decoded data to obtain the target decoding parameters corresponding to the encoded data of the target data block. The specific content can refer to the above Figure 2 process in which the encoding device determines the target encoding parameters according to the encoded data of the encoded data block, that is, the manner in which the decoding device determines the target decoding parameters is the same as the manner in which the encoding device determines the target encoding manner, and this application embodiment will not be elaborated herein.

[0129] Optionally, the signal range value of the signal to be encoded within the target data block is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the target data block; or, the signal range value is determined based on the sampling accuracy of the signal to be encoded within the target data block.

[0130] Specifically, the signal feature may refer to the signal range value of the signal to be encoded within the target data block, and this signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the target data block. Among them, the maximum signal to be encoded and the minimum signal to be encoded within the target data block may be sent by the encoding device. Specifically, the signal range value may refer to the difference between the signal value of the maximum signal to be encoded and the signal value of the minimum signal to be encoded within the target data block. For example, when the signal to be encoded of the target data block is the geometric prediction residual, the signal range value may refer to the difference between the maximum geometric prediction residual and the minimum geometric prediction residual. For example, if the signal value of the maximum signal to be encoded within the target data block is 6 and the signal value of the minimum signal to be encoded is 0, then the signal range value of the signal to be encoded of the target data block is 6. Or, this signal range value may be determined based on the sampling accuracy of the signal to be encoded within the target data block, and the sampling accuracy of the signal to be encoded within the target data block is sent by the encoding device to the decoding device. For example, if the geometric accuracy of the point cloud data is 10 bit, then the sampling accuracy of the signal to be encoded within the target data block in the point cloud data may be 10 bit, and the signal range value of the signal to be encoded of the target data block may be 2 10 。

[0131] Optionally, if the encoding method of the encoding device can be the Exponential Golomb coding method, the decoding method of the decoding device can be the Exponential Golomb coding method, and the initial decoding parameter of the target data block is the initial order (the same as the initial encoding parameter of the target data block in the encoding device). The specific manner in which the computer device adjusts the initial decoding parameter may include: determining the target signal value of the decoded signal of the decoded data block. According to the initial order, determining a first limit order and a second limit order, where the first limit order is less than the second limit order. Obtaining the magnitude relationship between the target signal value and the first limit order and the second limit order. According to the magnitude relationship, adjusting the initial order to obtain the target order associated with the target data block, and determining the target order as the target decoding parameter corresponding to the encoded data of the target data block.

[0132] Specifically, the number of decoded data blocks may be one or n1. If the encoding device adjusts the initial order with one encoded data block, the number of decoded data blocks is one; if the encoding device adjusts the initial order with n1 encoded data blocks, the number of decoded data blocks is n1. When the number of decoded data blocks is one and the number of decoded signals in the encoded data block is 1, the target signal value of the decoded signal of the decoded data block may be the signal value corresponding to the decoded signal in the decoded data block. When the number of decoded data blocks is one and the number of decoded signals in the decoded data block is n1, the target signal value of the decoded signal of the decoded data block may be the average value of the signal values corresponding to the n1 decoded signals in the decoded data block. When the number of decoded data blocks is n1, the target signal value of the decoded signal of the decoded data block may be the average value of the decoded signals of the n1 decoded data blocks. The computer device may determine a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order. Among them, the computer device may set the size of the buffer (register) for storing decoded data blocks to n1, and statistically calculate the target signal value of the decoded data block every n2 points. Among them, the decoded data block may be a data point in the point cloud data, and the initial order may be adjusted every n1 data points.

[0133] Specifically, the first restricted order refers to the lower limit order, the second restricted order may refer to the upper limit order, the initial order is represented by golombNum, the first restricted order is represented by golombNumLow, and the second restricted order is represented by golombNumLow. Optionally, the ways for the computer device to determine the first restricted order and the second restricted order according to the initial order may include but are not limited to the following ways: Way 1: golombNumLow = 2^golombNum, golombNumUp = 2^(golombNum + 1). Way 2: golombNumLow = 2^(golombNum - 1), golombNumUp = 2^golombNum. Way 3: golombNumUp = 2^((golombNum - 1)) + 2^((golombNum - 2)); golombNumLow = 2^((golombNum - 1)) - 2^((golombNum - 2)). It should be noted that in addition to the above ways, other ways may also be adopted to determine the first restricted order and the second restricted order according to specific situations, which are not elaborated in the application embodiments here.

[0134] Further, the computer device can obtain the magnitude relationship between the target signal value of the decoded signal of the decoded data block and the first restricted order and the second restricted order. This magnitude relationship may include that the target signal value is less than the first restricted order, or the target signal value is greater than the second order, or the target signal value is greater than or equal to the first restricted order and less than or equal to the second restricted order. The computer device can adjust the initial order according to this magnitude relationship to obtain the target order associated with the target data block. The computer device can determine the target order as the target decoding parameter of the target data block.

[0135] Optionally, the specific ways for the computer device to adjust the initial order may include but are not limited to the following ways: If the magnitude relationship indicates that the target signal value is less than the first restricted order, then the sum of the initial order and the first adjustment step is determined as the target order associated with the target data block. If the magnitude relationship indicates that the target signal value is greater than the second restricted order, then the difference between the initial order and the first adjustment step is determined as the target order associated with the target data block. If the magnitude relationship indicates that the target signal value is greater than or equal to the first restricted order and less than or equal to the second restricted order, then the initial order is determined as the target order associated with the target data block.

[0136] Specifically, if the computer device determines that the size relationship indicates that the target signal value is less than the first limit order, the computer device may determine the sum between the initial order and the first adjustment step as the target order associated with the target data block. Wherein, the first adjustment step can be determined by historical coding record information, or the first adjustment step can be determined by a management staff, etc., and the first adjustment step can be a value such as 1, 2, 3, etc. If the size relationship indicates that the target signal value is greater than the second limit order, the computer device may determine the difference between the initial order and the first adjustment step as the target order associated with the target data block. If the size relationship indicates that the target signal value is greater than or equal to the first limit order and less than or equal to the second limit order, no adjustment is made to the initial order, and the initial order is determined as the target order associated with the data block.

[0137] Optionally, obtain the decoding parameters corresponding to the decoded data block. If the size relationship indicates that the target signal value is less than the first limit order, determine the sum between the historical order and the second adjustment step as the target order associated with the target data block. If the size relationship indicates that the target signal value is greater than the second limit order, determine the difference between the historical order and the second adjustment step as the target order associated with the target data block. If the size relationship indicates that the target signal value is greater than or equal to the first limit order and less than or equal to the second limit order, determine the initial order as the target order associated with the target data block.

[0138] Specifically, the computer device may obtain the historical order corresponding to the decoded data block. If the size relationship indicates that the target signal value is less than the first limit order, determine the sum between the historical order and the second adjustment step as the target order associated with the target data block. The second adjustment step may be the same as the first adjustment step or may be different from the first adjustment step. Similarly, the second adjustment step can also be determined by historical coding record information, or the second adjustment step can be determined by a management staff, etc., and the second adjustment step can be a value such as 1, 2, 3, etc. If the size relationship indicates that the target signal value is greater than the second limit order, determine the difference between the historical order and the second adjustment step as the target order associated with the target data block. If the size relationship indicates that the target signal value is greater than or equal to the first limit order and less than or equal to the second limit order, determine the initial order as the target order associated with the target data block. Specifically, reference may be made to the above Figure 2 content regarding the adjustment of the initial order, and the embodiments of the present application will not elaborate herein.

[0139] Optionally, the specific manner in which the computer device adjusts the initial order may include, but is not limited to, the following: adjusting the initial order according to the size relationship to obtain the candidate order associated with the target data block. If the candidate order is less than or equal to the third limit order, then the sum of the candidate order and the third adjustment step is determined as the target order associated with the target data block. If the target order is greater than or equal to the fourth limit order, then the difference between the candidate order and the third adjustment step is determined as the target order associated with the target data block; the third limit order is less than the fourth limit order. If the target order is greater than the third limit order and less than the fourth limit order, then the candidate order is determined as the target order associated with the target data block.

[0140] Specifically, the computer device may adjust the initial order according to the size relationship to obtain the candidate order associated with the target data block. The specific process of adjusting the initial order may refer to the above process of adjusting the initial order. The computer device may detect the relationship between the candidate order associated with the target data block and the third limit order and the fourth limit order, and adjust the candidate order according to this relationship to obtain the target order associated with the target data block. The third limit order and the fourth limit order are used to limit the target order associated with the target data block within a reasonable order range, and the third limit order is less than the fourth limit order. Specifically, if the candidate order is less than or equal to the third limit order, it can be determined that the candidate order is too small, and then the sum of the candidate order and the third adjustment step can be determined as the target order associated with the target data block. Or, if the candidate order is less than or equal to the third limit order, the first preset order can be used as the target order associated with the target data. The first preset order is greater than the third limit order and less than the fourth limit order, that is, the first preset order is within a reasonable order range. If the target order is greater than or equal to the fourth limit order, the difference between the candidate order and the third adjustment step can be determined as the target order associated with the target data block. Or, if the candidate order is greater than or equal to the fourth limit order, the second preset order can be determined as the target order associated with the target data block. The second preset order is greater than the third limit order and less than the fourth limit order, that is, the second preset order is within a reasonable order range. If the target order is greater than the third limit order and less than the fourth order, it means that the candidate order is within a reasonable order range, and the candidate order is not adjusted and is determined as the target order associated with the target data block.

[0141] It should be noted that the above specific content can be referred to Figure 2 the process of determining the target coding parameter based on the encoded data blocks with an adjacent relationship in, that is, the process of the decoding device determining the target decoding parameter based on the encoded data blocks is the same as the process of the encoding device determining the target coding parameter according to the encoded data blocks.

[0142] Optionally, the encoded data within the target data block includes first encoded data and second encoded data, and the attribute types of the first encoded data and the second encoded data are different; the target decoding parameters of the target data block include first decoding parameters for decoding the first encoded data and second decoding parameters for decoding the second encoded data; the first decoding parameters and the second decoding parameters are different.

[0143] Optionally, the first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data; the first decoding parameters are determined based on the sub-signal characteristics corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data respectively; the decoding parameters corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data respectively are all the first decoding parameters; the decoding parameters corresponding to the association information associated with the first encoded data are the first decoding parameters.

[0144] Optionally, the first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data, and the first decoding parameters include first sub-decoding parameters corresponding to the first sub-encoded data, second sub-decoding parameters corresponding to the second sub-encoded data, and third sub-decoding parameters corresponding to the third sub-encoded data; the first sub-decoding parameters are determined based on the sub-signal characteristics corresponding to the first sub-encoded data; the second sub-decoding parameters are determined based on the first sub-decoding parameters and a target offset; the third sub-decoding parameters are determined based on the second sub-decoding parameters and the target offset.

[0145] Specifically, the above content can refer to the description in the above Figure 2 The method for the encoding device to determine the target encoding parameters of the target data block is the same as the method for the decoding device to determine the target decoding parameters of the encoded data of the target data block, and the embodiments of the present application will not elaborate here.

[0146] S203. Decode the encoded data according to the target decoding parameters to obtain a decoded signal of the target data block.

[0147] Specifically, the computer device can decode the encoded data according to the target decoding parameters to obtain a decoded signal of the target data block, and the decoded signal is used to reflect the media attributes of the target data block. The media attributes of the target data block may include attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material characteristics, and texture information. The decoded signal may refer to the result obtained by performing attribute prediction, attribute transformation, attribute prediction transformation, or attribute transformation prediction on the media attributes of the target data block, such as geometric prediction residuals, attribute prediction residuals, or attribute transformation coefficients.

[0148] Optionally, the encoded data of the target data block includes an encoding label and a target signal threshold. The specific manner in which the computer device decodes the encoded data may include: If the encoding label included in the encoded data of the target data block is the first encoding label, the encoded data is decoded according to the target decoding parameter to obtain an initial decoded signal, and the initial decoded signal is summed according to the target signal threshold to obtain the decoded signal of the target data block; the first encoding label is used to indicate that the decoded signal of the target data block is different from the target signal threshold. If the encoding label included in the encoded data of the target data block is the second encoding label, the target signal threshold is determined as the decoded signal of the target data block; the second encoding label is used to indicate that the decoded signal of the target data block is the same as the target signal threshold.

[0149] Specifically, when the computer device detects that the encoded data of the target data block includes an encoding label and a target signal threshold, the computer device may detect whether the encoding label in the encoded data of the target data block is the first encoding label. If the encoding label in the encoded data is the first encoding label, and the first encoding label is used to indicate that the decoded signal of the target data block is different from the target signal threshold, the computer device may decode the encoded data corresponding to the target data block according to the target decoding parameter to obtain an initial decoded signal. Further, the computer device may sum the initial decoded signal according to the target signal threshold to obtain the decoded signal of the target data block. For example, when the encoding device encodes the signal to be encoded of the target data block by using signal difference = signal value of the signal to be encoded - (m + 1), the decoding device may use the sum of the initial decoded signal and m + 1 as the decoded signal of the target data block, where m is the target signal threshold. If the encoding label included in the encoded data of the target data block is the second encoding label, and the second encoding label is used to indicate that the decoded signal of the target data block is the same as the target signal threshold, the computer device may determine the target signal threshold as the decoded signal of the target data block.

[0150] In the embodiment of the present application, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameter of the target data block under the encoding method of variable-length encoding. The target encoding parameter is determined based on the signal characteristics of the signal to be encoded in the target data block. The encoded data of the target data block here refers to the number of bits of the encoded data used to describe the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. In other words, by adaptively determining how many encodings are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded in the target data block, that is, data blocks with different signal characteristics have different encodings, which can effectively reduce the redundancy of the encoded data of the target data block, that is, can reduce the length of the encoded data of the target data block. At the same time, it can improve the transmission efficiency of the encoded data of the target data block. Further, after the decoding device receives the encoded data of the target data block, it can decode the encoded data of the target data block according to the target decoding parameter to obtain the decoded signal of the target data block. The target decoding parameter is determined by the above target encoding parameter. Since the redundancy of the encoded data of the target data block is relatively low, the decoded signal of the target data block can be decoded quickly, and thus the decoding efficiency can be improved.

[0151] Please refer to Figure 6 , Figure 6 which is a schematic structural diagram of a decoding device for point cloud data provided by an embodiment of the present application. The above decoding device for point cloud data may be a computer program (including program code) running in a computer device. For example, the decoding device for point cloud data is an application software; the decoding device for point cloud data can be used to execute the corresponding steps in the decoding method for point cloud data provided by an embodiment of the present application. As Figure 6 shown, the decoding device for point cloud data may include: a first acquisition module 11, a first determination module 12, and a decoding module 13.

[0152] The first acquisition module 11 is configured to acquire the encoded data of the target data block in the point cloud data; the encoded data of the target data block is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameter of the target data block under the encoding method of variable-length encoding, and the target encoding parameter is determined based on the signal characteristics of the signal to be encoded in the target data block;

[0153] The first determination module 12 is configured to determine the target decoding parameter of the target data block according to the target encoding parameter;

[0154] A decoding module 13, configured to decode the encoded data of the target data block according to the target decoding parameter to obtain a decoded signal of the target data block; the decoded signal is used to reflect the media attribute of the target data block.

[0155] Wherein, the first determination module 12 includes:

[0156] A first query unit 1201, configured to obtain a target encoding parameter corresponding to the target data block from a parameter set corresponding to the point cloud data;

[0157] A first determination unit 1202, configured to determine the target encoding parameter corresponding to the target data block as the target decoding parameter of the target data block.

[0158] It can be understood that the first determination module 12 determines the target decoding parameter of the target data block according to the target encoding parameter, including:

[0159] If the parameter determination method of the target encoding parameter is based on querying a parameter table, then obtain a signal range value corresponding to the signal to be encoded in the target data block;

[0160] According to the signal range value corresponding to the signal to be encoded in the target data block, determine a target index value corresponding to the target data block;

[0161] Query a decoding parameter associated with the target index value from a first parameter table, where the first parameter table includes at least one index value and a decoding parameter associated with each index value in the at least one index value;

[0162] Determine the query-obtained decoding parameter as the target decoding parameter of the target data block.

[0163] It can be understood that the first determination module 12 determines the target decoding parameter of the target data block according to the target encoding parameter, including:

[0164] If the parameter determination method of the target encoding parameter is based on data blocks with an adjacent relationship, then obtain a signal range value corresponding to the signal to be encoded in the target data block;

[0165] Determine an initial decoding parameter of the target data block according to the signal range value corresponding to the target data block;

[0166] Obtain a decoded signal of a decoded data block adjacent to the target data block in the point cloud data;

[0167] Adjust the initial decoding parameter according to the decoded signal of the decoded data to obtain a target decoding parameter corresponding to the encoded data of the target data block.

[0168] It is understandable that the initial decoding parameter is the initial order; the first determination module 12 adjusts the initial decoding parameter according to the decoding signal of the decoded data to obtain the target decoding parameter corresponding to the encoded data of the target data block, including:

[0169] Determine the target signal value of the decoding signal of the decoded data block;

[0170] According to the initial order, determine a first restricted order and a second restricted order, where the first restricted order is less than the second restricted order;

[0171] Obtain the magnitude relationship between the target signal value and the first restricted order and the second restricted order;

[0172] According to the magnitude relationship, adjust the initial order to obtain the target order associated with the target data block;

[0173] Determine the target order as the target decoding parameter corresponding to the encoded data of the target data block.

[0174] It is understandable that the first determination module 12 adjusts the initial order according to the magnitude relationship to obtain the target order associated with the target data block, including:

[0175] If the magnitude relationship indicates that the target signal value is less than the first restricted order, then determine the sum of the initial order and the first adjustment step as the target order associated with the target data block;

[0176] If the magnitude relationship indicates that the target signal value is greater than the second restricted order, then determine the difference between the initial order and the first adjustment step as the target order associated with the target data block;

[0177] If the magnitude relationship indicates that the target signal value is greater than or equal to the first restricted order and less than or equal to the second restricted order, then determine the initial order as the target order associated with the target data block.

[0178] It is understandable that the first determination module 12 adjusts the initial order according to the magnitude relationship to obtain the target order associated with the target data block, including:

[0179] Obtain the decoding parameter corresponding to the decoded data block;

[0180] If the magnitude relationship indicates that the target signal value is less than the first restricted order, then determine the sum of the historical order and the second adjustment step as the target order associated with the target data block;

[0181] If the magnitude relationship indicates that the target signal value is greater than the second limiting order, then the difference between the historical order and the second adjustment step is determined as the target order associated with the target data block;

[0182] If the magnitude relationship indicates that the target signal value is greater than or equal to the first limiting order and less than or equal to the second limiting order, then the initial order is determined as the target order associated with the target data block.

[0183] It can be understood that the first determination module 12 adjusts the initial order according to the magnitude relationship to obtain the target order associated with the target data block, including:

[0184] Adjust the initial order according to the magnitude relationship to obtain a candidate order associated with the target data block;

[0185] If the candidate order is less than or equal to the third limiting order, then the sum of the candidate order and the third adjustment step is determined as the target order associated with the target data block;

[0186] If the candidate order is greater than or equal to the fourth limiting order, then the difference between the candidate order and the third adjustment step is determined as the target order associated with the target data block; the third limiting order is less than the fourth limiting order;

[0187] If the candidate order is greater than the third limiting order and less than the fourth limiting order, then the candidate order is determined as the target order associated with the target data block.

[0188] It can be understood that the signal range value of the signal to be encoded in the target data block is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the target data block; or,

[0189] The signal range value is determined based on the sampling accuracy of the signal to be encoded in the target data block.

[0190] It can be understood that the encoded data in the target data block includes first encoded data and second encoded data, and the attribute types of the first encoded data and the second encoded data are different;

[0191] The target decoding parameters of the target data block include first decoding parameters for decoding the first encoded data and second decoding parameters for decoding the second encoded data; the first decoding parameters and the second decoding parameters are different.

[0192] It can be understood that the first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data;

[0193] The first decoding parameter is determined based on sub-signal features corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data respectively;

[0194] The decoding parameters corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data respectively are all the first decoding parameter;

[0195] The decoding parameter corresponding to the association information associated with the first encoded data is the first decoding parameter.

[0196] It can be understood that the first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data, and the first decoding parameter includes a first sub-decoding parameter corresponding to the first sub-encoded data, a second sub-decoding parameter corresponding to the second sub-encoded data, and a third sub-decoding parameter corresponding to the third sub-encoded data;

[0197] The first sub-decoding parameter is determined based on the sub-signal feature corresponding to the first sub-encoded data;

[0198] The second sub-decoding parameter is determined based on the first sub-decoding parameter and a target offset;

[0199] The third sub-decoding parameter is determined based on the second sub-decoding parameter and the target offset.

[0200] The decoding module 13 includes:

[0201] A first decoding unit 1301, configured to, if the encoding label included in the encoded data of the target data block is a first encoding label, decode the encoded data according to a target decoding parameter to obtain an initial decoded signal, and perform a summation process on the initial decoded signal according to a target signal threshold to obtain a decoded signal of the target data block; the first encoding label is used to indicate that the decoded signal of the target data block is different from the target signal threshold;

[0202] A second decoding unit 1302, configured to, if the encoding label included in the encoded data of the target data block is a second encoding label, determine the target signal threshold as the decoded signal of the target data block; the second encoding label is used to indicate that the decoded signal of the target data block is the same as the target signal threshold.

[0203] According to an embodiment of the present application, Figure 6Each module in the decoding device for the point cloud data shown can be separately or all combined into one or several units to form, or a certain one (or some) of the units can be further split into multiple smaller sub-units in terms of function, and the same operations can be achieved without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In practical applications, the function of one module can also be realized by multiple units, or the functions of multiple modules can be realized by one unit. In other embodiments of the present application, the decoding device for the point cloud data can also include other units. In practical applications, these functions can also be assisted by other units and can be realized by the cooperation of multiple units.

[0204] In the present application, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameters in the non-uniform encoding method, and the target encoding parameters are determined based on the signal characteristics of the signal to be encoded in the target data block. The encoded data of the target data block here refers to the number of bits of the encoded data used to describe the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. In other words, by adaptively determining how many encodings are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded in the target data block, that is, data blocks with different signal characteristics have different encodings, which can effectively reduce the redundancy of the encoded data of the target data block, that is, can reduce the length of the encoded data of the target data block. At the same time, it can improve the transmission efficiency of the encoded data of the target data block. Further, after the decoding device receives the encoded data of the target data block, it can decode the encoded data of the target data block according to the target decoding parameters to obtain the decoded signal of the target data block, and the target decoding parameters are determined by the above target encoding parameters. Since the redundancy of the encoded data of the target data block is relatively low, the decoded signal of the target data block can be decoded quickly, and thus the decoding efficiency can be improved.

[0205] Please refer to Figure 7 , Figure 7 is a schematic structural diagram of an encoding device for point cloud data provided by an embodiment of the present application. The above encoding device for point cloud data can be a computer program (including program code) running in a computer device. For example, the encoding device for point cloud data is an application software; the encoding device for point cloud data can be used to execute the corresponding steps in the encoding method for point cloud data provided by the embodiments of the present application. As Figure 7 shown, the encoding device for point cloud data can include: a second acquisition module 21, a second determination module 22, an encoding module 23, and a third determination module 24.

[0206] The second acquisition module 21 is configured to acquire the signal to be encoded within the target data block in the point cloud data, and the signal characteristics of the signal to be encoded within the target data block; the encoding method of the point cloud data is a variable-length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block;

[0207] The second determination module 22 is configured to determine the target encoding parameters of the target data block in the encoding method according to the signal characteristics of the signal to be encoded within the target data block;

[0208] The encoding module 23 is configured to encode the signal to be encoded within the target data block according to the target encoding parameters to obtain the encoded data of the target data block.

[0209] Wherein, the signal characteristics of the signal to be encoded within the target data block include the signal range value of the signal to be encoded within the target data block; the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the target data block; or,

[0210] The signal range value is determined based on the sampling accuracy of the target data block.

[0211] Wherein, the second determination module 22 includes:

[0212] The generation unit 2201 is configured to quantize the signal range value included in the signal characteristics to obtain the quantized signal range value; obtain the logarithm value of the quantized signal range value, and perform a difference processing on the logarithm value of the quantized signal range value to obtain the target index value corresponding to the target data block;

[0213] The second query unit 2202 is configured to query the encoding parameters associated with the target index value from the second parameter table; the second parameter table includes at least one index value, and the encoding parameters associated with each index value in the at least one index value, the second parameter table is based on the same number of data blocks included in the first data group, the first data is at least two data groups of the point cloud data that include the data group of the target data block, the target index value belongs to the target index value range, and the target index value range is determined according to at least one index value in the second parameter table;

[0214] The second determination unit 2203 is configured to determine the encoding parameters obtained by querying as the target encoding parameters of the target data block in the encoding method.

[0215] Wherein, the second determination module 22 includes:

[0216] The third determination unit 2204 is configured to determine the initial encoding parameters of the target data block in the encoding method according to the signal characteristics of the signal to be encoded within the target data block;

[0217] An acquisition unit 2205, configured to acquire encoded data of an encoded data block adjacent to a target data block in point cloud data;

[0218] An adjustment unit 2206, configured to adjust an initial encoding parameter according to the encoded data of the encoded data block to obtain a target encoding parameter of the target data block in an encoding mode.

[0219] Wherein, the initial encoding parameter is an initial order;

[0220] The adjustment unit 2206 is specifically configured to:

[0221] Determine a target encoding value of the encoded data of the encoded data block;

[0222] Determine a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order;

[0223] Obtain a magnitude relationship between the target encoding value and the first limit order and the second limit order;

[0224] Adjust the initial order according to the magnitude relationship to obtain a target order associated with the target data block;

[0225] Determine the target order as the target encoding parameter of the target data block in the encoding mode.

[0226] Wherein, the adjustment unit 2206 is specifically configured to:

[0227] If the magnitude relationship indicates that the target encoding value is less than the first limit order, then determine the sum of the initial order and a first adjustment step as the target order associated with the target data block;

[0228] If the magnitude relationship indicates that the target encoding value is greater than the second limit order, then determine the difference between the initial order and the first adjustment step as the target order associated with the target data block;

[0229] If the magnitude relationship indicates that the target encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, then determine the initial order as the target order associated with the target data block.

[0230] Wherein, the adjustment unit 2206 is specifically configured to:

[0231] Obtain an encoding parameter corresponding to the encoded data block;

[0232] If the magnitude relationship indicates that the target encoding value is less than the first limit order, then determine the sum of the historical order and a second adjustment step as the target order associated with the target data block;

[0233] If the size relationship indicates that the target coding value is greater than the second limit order, then the difference between the historical order and the second adjustment step is determined as the target order associated with the target data block;

[0234] If the size relationship indicates that the target coding value is greater than or equal to the first limit order and less than or equal to the second limit order, then the initial order is determined as the target order associated with the target data block.

[0235] Among them, the adjustment unit 2206 is specifically used for:

[0236] According to the size relationship, adjust the initial order to obtain the candidate order associated with the target data block;

[0237] If the candidate order is less than or equal to the third limit order, then the sum of the candidate order and the third adjustment step is determined as the target order associated with the target data block;

[0238] If the target order is greater than or equal to the fourth limit order, then the difference between the candidate order and the third adjustment step is determined as the target order associated with the target data block; the third limit order is less than the fourth limit order;

[0239] If the target order is greater than the third limit order and less than the fourth limit order, then the candidate order is determined as the target order associated with the target data block.

[0240] Among them, the target coding value of the encoded data of the encoded data block is the average value of all the coding values in the encoded data of the encoded data block; or,

[0241] The target coding value of the encoded data of the encoded data block is the average value of the non-zero coding values in the encoded data of the encoded data block.

[0242] Among them, the point cloud data includes at least two data groups, and the target data block belongs to the first data group among the at least two data groups; the coding parameters corresponding to the data blocks within the first data group are all target coding parameters;

[0243] The encoded data block belongs to the second data group that has an adjacent relationship with the first data group among the at least two data groups.

[0244] Among them, the at least two data groups are obtained by grouping according to the positions of the data blocks in the point cloud data; or,

[0245] The at least two data groups are obtained by grouping according to the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data; the Hilbert transform codes respectively corresponding to the data blocks in the point cloud data are obtained by performing Hilbert transform on the positions of each data block in the point cloud data; or,

[0246] At least two data groups are obtained by dividing the point cloud data according to the division size; or,

[0247] At least two data groups are obtained by dividing the point cloud data according to the target limit number and the encoding order of data blocks.

[0248] Among them, the signals to be encoded in the target data block include one or more of geometric prediction residuals, attribute prediction residuals, and attribute transformation coefficients;

[0249] The signals to be encoded in the target data block include a first signal to be encoded and a second signal to be encoded, and the attribute types of the first signal to be encoded and the second signal to be encoded are different;

[0250] The target encoding parameters of the target data block include first encoding parameters for encoding the first signal to be encoded and second encoding parameters for encoding the second signal to be encoded; the first encoding parameters and the second encoding parameters are different.

[0251] Among them, the first signal to be encoded includes a first sub-encoded signal, a second sub-encoded signal, and a third sub-encoded signal;

[0252] The first encoding parameters are determined based on the sub-signal features corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal respectively;

[0253] The encoding parameters corresponding to the first sub-encoded signal, the second sub-encoded signal, and the third sub-encoded signal respectively are all the first encoding parameters;

[0254] The encoding parameters corresponding to the association information associated with the first signal to be encoded are the first encoding parameters.

[0255] Among them, the first signal to be encoded includes a first sub-encoded signal, a second sub-encoded signal, and a third sub-encoded signal, and the first encoding parameters include first sub-encoding parameters corresponding to the first sub-encoded signal, second sub-encoding parameters corresponding to the second sub-encoded signal, and third sub-encoding parameters corresponding to the third sub-encoded signal;

[0256] The first sub-encoding parameters are determined based on the sub-signal features corresponding to the first sub-encoded signal;

[0257] The second sub-encoding parameters are determined based on the first sub-encoding parameters and the target offset;

[0258] The third sub-encoding parameters are determined based on the second sub-encoding parameters and the target offset.

[0259] Among them, the number of signals to be encoded in the target data block is M, and M is a positive integer;

[0260] The encoding module 23 includes:

[0261] An encoding unit 2301, configured to, if the signal to be encoded is different from the target signal threshold, encode the signal to be encoded according to the first encoding label and the target encoding parameter to obtain the encoded data of the signal to be encoded; the signal to be encoded belongs to M signals to be encoded, the target signal threshold is the signal to be encoded with the most occurrences among the M signals to be encoded, the first encoding label is used to indicate that the signal to be encoded is different from the target signal threshold, and i is a positive integer less than or equal to M;

[0262] A fourth determination unit 2302, configured to, if the encoded data corresponding to each of the M signals to be encoded is obtained, determine the encoded data corresponding to each of the M signals to be encoded as the encoded data of the target data block.

[0263] Wherein, the encoding device for point cloud data further includes:

[0264] A third determination module 24, configured to, if the signal to be encoded is the same as the target signal threshold, determine the second encoding label as the encoded data of the signal to be encoded; the second encoding label is used to indicate that the signal to be encoded is the same as the target signal threshold.

[0265] Wherein, the encoding unit 2301 is specifically configured to:

[0266] If the signal to be encoded is different from the target signal threshold, generate a first encoding label for indicating that the signal to be encoded is different from the target signal threshold;

[0267] Perform a difference operation on the signal to be encoded according to the target signal threshold to obtain a signal difference;

[0268] Encode the signal difference according to the target encoding parameter to obtain a signal encoding value of the signal to be encoded;

[0269] Determine the signal encoding value of the signal to be encoded and the first encoding label as the encoded data of the signal to be encoded.

[0270] According to an embodiment of the present application, Figure 7 Each module in the encoding device for point cloud data shown can be separately or all combined into one or several units to form, or a certain one (or some) of the units can be further split into multiple smaller sub-units in terms of function, and the same operation can be achieved without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In actual applications, the function of one module can also be realized by multiple units, or the functions of multiple modules can be realized by one unit. In other embodiments of the present application, the encoding device for point cloud data can also include other units. In actual applications, these functions can also be assisted by other units and can be realized by the cooperation of multiple units.

[0271] In the embodiments of the present application, by obtaining the signal to be encoded within the target data block in the point cloud data and the signal characteristics of the signal to be encoded within the target data block, the encoding method of the point cloud data is a variable-length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block. It can be seen that by adopting the variable-length encoding method, the amount of encoded data of the target data block can be reduced. According to the signal characteristics of the signal to be encoded within the target data block, the target encoding parameters of the target data block under the encoding method are determined. Here, the encoded data of the target data block refers to the number of bits used to describe the encoded data of the target data block, that is, the encoded data of the target data block refers to the length of the encoded data of the target data block. The signal to be encoded within the target data block is encoded according to the target encoding parameters to obtain the encoded data of the target data block. It can be seen that by encoding the signal to be encoded of the target data block with accurate target encoding parameters, it is possible to represent the signal to be encoded with fewer encodings, reduce the amount of encoded data corresponding to the target data block, reduce the pressure of network transmission, and at the same time reduce the receiving pressure of the decoding device for receiving the encoded data, and also improve the decoding efficiency of the encoded data. In other words, by adaptively determining how many encodings are needed to describe the encoded data of the target data block based on the signal characteristics of the signal to be encoded within the target data block, that is, data blocks with different signal characteristics have different encodings, which can effectively reduce the redundancy of the encoded data of the target data block, that is, reduce the length of the encoded data of the target data block, and at the same time improve the transmission efficiency of the encoded data of the target data block.

[0272] Please refer to Figure 8 , Figure 8 is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 8 shown, the computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. In addition, the computer device 1000 may further include: a user interface 1003 and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. Optionally, the network interface 1004 may include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. Optionally, the memory 1005 may further be at least one storage device located far from the aforementioned processor 1001. As Figure 8As shown in the figure, the memory 1005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0273] In the computer device 1000 as shown in Figure 8 the figure, the network interface 1004 can provide network communication functions; the user interface 1003 is mainly used to provide an interface for users to input; and the processor 1001 can be used to call the device control application program stored in the memory 1005 to achieve:

[0274] Obtaining the encoded data of the target data block in the point cloud data; the encoded data of the target data block is obtained by encoding the signal to be encoded in the target data block according to the target encoding parameters in the variable-length encoding method, and the target encoding parameters are determined based on the signal characteristics of the signal to be encoded in the target data block;

[0275] Determining the target decoding parameters of the target data block according to the target encoding parameters;

[0276] Decoding the encoded data of the target data block according to the target decoding parameters to obtain the decoded signal of the target data block; the decoded signal is used to reflect the media attributes of the target data block.

[0277] It should be understood that the computer device 1000 described in the embodiments of the present application can execute the description of the method for decoding point cloud data in the corresponding embodiments described above, and can also execute the description of the device for decoding point cloud data in the corresponding embodiments described above, which will not be elaborated here. In addition, the description of the beneficial effects of adopting the same method will not be elaborated either. Figure 5 the description of the method for decoding point cloud data in the corresponding embodiments described above, and can also execute the description of the device for decoding point cloud data in the corresponding embodiments described above, which will not be elaborated here. In addition, the description of the beneficial effects of adopting the same method will not be elaborated either. Figure 7 Please refer to

[0278] Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of a computer device provided by an embodiment of the present application. As shown in Figure 9As shown in the figure, the computer device 2000 may include: a processor 2001, a network interface 2004, and a memory 2005. In addition, the computer device 2000 may further include: a user interface 2003 and at least one communication bus 2002. Among them, the communication bus 2002 is used to realize the connection and communication between these components. Among them, the user interface 2003 may include a display screen (Display) and a keyboard (Keyboard). Optionally, the user interface 2003 may further include a standard wired interface and a wireless interface. Optionally, the network interface 2004 may include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 2005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. Optionally, the memory 2005 may also be at least one storage device located far from the aforementioned processor 2001. As Figure 9 shown, the memory 2005, as a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0279] In the computer device 2000 as Figure 9 shown, the network interface 2004 can provide network communication functions; while the user interface 2003 is mainly used to provide an input interface for users; and the processor 2001 can be used to call the device control application program stored in the memory 2005 to achieve:

[0280] Obtain the signal to be encoded within the target data block in the point cloud data, and the signal characteristics of the signal to be encoded within the target data block; the encoding method of the point cloud data is a variable-length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block;

[0281] Determine the target encoding parameters of the target data block in the encoding method according to the signal characteristics of the signal to be encoded within the target data block;

[0282] Encode the signal to be encoded within the target data block according to the target encoding parameters to obtain the encoded data of the target data block.

[0283] It should be understood that the computer device 2000 described in the embodiments of the present application can execute the description of the encoding method of the point cloud data in the corresponding embodiments described above Figure 2 and can also execute the description of the encoding device of the point cloud data in the corresponding embodiments described above Figure 6 and will not be elaborated here. In addition, the description of the beneficial effects of using the same method will not be elaborated either.

[0284] In addition, it should be noted here that: The embodiments of the present application also provide a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the decoding device for the point cloud data mentioned above. The computer program includes program instructions. When the processor executes the program instructions, it can execute the Figure 5 description of the method for decoding point cloud data in the corresponding embodiments, or, Figure 2 description of the method for encoding point cloud data in the corresponding embodiments. Therefore, the description will not be repeated here.

[0285] In addition, the description of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiments of the computer-readable storage medium involved in the present application, please refer to the description of the method embodiments of the present application. As an example, the program instructions can be deployed to be executed on a computing device, or on multiple computing devices located at one location, or, on multiple computing devices distributed at multiple locations and interconnected by a communication network. The multiple computing devices distributed at multiple locations and interconnected by a communication network can form a blockchain system.

[0286] In addition, it should be noted that: The embodiments of the present application also provide a computer program product or a computer program. The computer program product or the computer program may include computer instructions, and the computer instructions can be stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor can execute the computer instructions, so that the computer device executes the Figure 5 description of the method for decoding point cloud data in the corresponding embodiments, or, Figure 2 description of the method for encoding point cloud data in the corresponding embodiments. Therefore, the description will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiments of the computer program product or the computer program involved in the present application, please refer to the description of the method embodiments of the present application.

[0287] It should be noted that, for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present application is not limited by the described action sequence, because according to the present application, some steps can be in other sequences or performed simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.

[0288] The steps in the method embodiments of the present application can be adjusted, combined, and deleted according to actual needs.

[0289] The modules in the device according to the embodiments of the present application can be combined, divided, and deleted according to actual needs.

[0290] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above methods. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM), etc.

[0291] The above-disclosed are only the preferred embodiments of the present invention. Of course, the scope of the rights of the present invention cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present invention still fall within the scope covered by the present invention.

Claims

1. A decoding method for point cloud data, characterized in that, Including: Obtaining encoded data of a target data block in point cloud data; The encoded data of the target data block is obtained by encoding the signal to be encoded within the target data block according to target encoding parameters of the target data block under a variable-length encoding method, and the target encoding parameters are determined based on signal characteristics of the signal to be encoded within the target data block; If the parameter determination method of the target encoding parameters is based on data blocks with an adjacent relationship, obtaining a signal range value corresponding to the signal to be encoded within the target data block; Determining initial decoding parameters of the target data block according to the signal range value corresponding to the target data block; The initial decoding parameters are an initial order; Obtaining decoded signals of decoded data blocks adjacent to the target data block in the point cloud data; Determining a target signal value of the decoded signals of the decoded data blocks; Determining a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order; Obtaining a magnitude relationship between the target signal value and the first limit order and the second limit order; Adjusting the initial order according to the magnitude relationship to obtain a target order associated with the target data block; Determining the target order as target decoding parameters corresponding to the encoded data of the target data block; Decoding the encoded data of the target data block according to the target decoding parameters to obtain a decoded signal of the target data block; the decoded signal is used to reflect media attributes of the target data block.

2. The method according to claim 1, wherein The method further includes: Obtaining target encoding parameters corresponding to the target data block from a parameter set corresponding to the point cloud data; Determining the target encoding parameters corresponding to the target data block as target decoding parameters corresponding to the encoded data of the target data block.

3. The method according to claim 1, wherein The method further includes: If the parameter determination method of the target encoding parameters is based on querying a parameter table, obtaining a signal range value corresponding to the signal to be encoded within the target data block; Determining a target index value corresponding to the target data block according to the signal range value corresponding to the signal to be encoded within the target data block; Querying decoding parameters associated with the target index value from a first parameter table, where the first parameter table includes at least one index value and decoding parameters associated with each of the at least one index value; Determining the query-obtained decoding parameters as target decoding parameters of the target data block.

4. The method according to claim 1, characterized in that The adjusting the initial order according to the magnitude relationship to obtain a target order associated with the target data block includes: If the magnitude relationship indicates that the target signal value is less than the first limit order, determining a sum of the initial order and a first adjustment step as the target order associated with the target data block; If the magnitude relationship indicates that the target signal value is greater than the second limit order, determining a difference between the initial order and the first adjustment step as the target order associated with the target data block; If the size relationship indicates that the target signal value is greater than or equal to the first limit order and less than or equal to the second limit order, then determine the initial order as the target order associated with the target data block.

5. The method according to claim 1, wherein The adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: Obtain the decoding parameters corresponding to the decoded data block; the decoding parameters of the decoded data block include the historical order of the decoded data block; If the size relationship indicates that the target signal value is less than the first limit order, then determine the sum of the historical order and the second adjustment step as the target order associated with the target data block; If the size relationship indicates that the target signal value is greater than the second limit order, then determine the difference between the historical order and the second adjustment step as the target order associated with the target data block; If the size relationship indicates that the target signal value is greater than or equal to the first limit order and less than or equal to the second limit order, then determine the initial order as the target order associated with the target data block.

6. The method according to claim 1, characterized in that, The adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: Adjust the initial order according to the size relationship to obtain a candidate order associated with the target data block; If the candidate order is less than or equal to the third limit order, then determine the sum of the candidate order and the third adjustment step as the target order associated with the target data block; If the candidate order is greater than or equal to the fourth limit order, then determine the difference between the candidate order and the third adjustment step as the target order associated with the target data block; the third limit order is less than the fourth limit order; If the candidate order is greater than the third limit order and less than the fourth limit order, then determine the candidate order as the target order associated with the target data block.

7. The method according to any one of claims 1 to 6, characterized in that, The signal range value of the signal to be encoded in the target data block is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the target data block; or, The signal range value is determined based on the sampling accuracy of the signal to be encoded in the target data block.

8. The method according to claim 1, wherein The encoded data in the target data block includes first encoded data and second encoded data, and the attribute types of the first encoded data and the second encoded data are different; The target decoding parameters of the target data block include first decoding parameters for decoding the first encoded data and second decoding parameters for decoding the second encoded data; the first decoding parameters and the second decoding parameters are different.

9. The method according to claim 8, characterized in that The first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data; The first decoding parameters are determined based on the sub-signal characteristics corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data respectively; The decoding parameters corresponding to the first sub-encoded data, the second sub-encoded data, and the third sub-encoded data are all the first decoding parameter; The decoding parameter corresponding to the associated information associated with the first encoded data is the first decoding parameter.

10. The method according to claim 9, wherein The first encoded data includes first sub-encoded data, second sub-encoded data, and third sub-encoded data, and the first decoding parameter includes a first sub-decoding parameter corresponding to the first sub-encoded data, a second sub-decoding parameter corresponding to the second sub-encoded data, and a third sub-decoding parameter corresponding to the third sub-encoded data; The first sub-decoding parameter is determined based on the sub-signal characteristics corresponding to the first sub-encoded data; The second sub-decoding parameter is determined based on the first sub-decoding parameter and the target offset; The third sub-decoding parameter is determined based on the second sub-decoding parameter and the target offset.

11. The method according to claim 1, characterized in that, The encoded data of the target data block includes an encoding label and a target signal threshold; The decoding of the encoded data according to the target decoding parameter to obtain the decoded signal of the target data block includes: If the encoding label included in the encoded data of the target data block is the first encoding label, the encoded data is decoded according to the target decoding parameter to obtain an initial decoded signal, and the initial decoded signal is summed according to the target signal threshold to obtain the decoded signal of the target data block; the first encoding label is used to indicate that the decoded signal of the target data block is different from the target signal threshold; If the encoding label included in the encoded data of the target data block is the second encoding label, the target signal threshold is determined as the decoded signal of the target data block; the second encoding label is used to indicate that the decoded signal of the target data block is the same as the target signal threshold.

12. A coding method for point cloud data, characterized in that, Includes: Obtain the signal to be encoded in the target data block in the point cloud data and the signal characteristics of the signal to be encoded in the target data block; the encoding method of the point cloud data is a non-uniform encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block; Determine the initial encoding parameter of the target data block in the encoding method according to the signal characteristics of the signal to be encoded in the target data block; The initial encoding parameter is the initial order; Obtain the encoded data of the encoded data block adjacent to the target data block in the point cloud data; Determine the target encoding value of the encoded data of the encoded data block; According to the initial order, determine a first limit order and a second limit order, where the first limit order is less than the second limit order; Obtain the magnitude relationship between the target encoding value and the first limit order and the second limit order; Adjust the initial order according to the magnitude relationship to obtain the target order associated with the target data block; Determine the target order as the target encoding parameter of the target data block in the encoding method; Encode the signal to be encoded in the target data block according to the target encoding parameter to obtain the encoded data of the target data block.

13. The method according to claim 12, wherein The signal characteristics of the signal to be encoded within the target data block include the signal range value of the signal to be encoded within the target data block; the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the target data block; or, the signal range value is determined based on the sampling precision of the signal to be encoded within the target data block.

14. The method according to claim 12, wherein The method further includes: quantifying the signal range value included in the signal characteristics to obtain a quantified signal range value; obtaining the logarithm of the quantified signal range value, performing a difference operation on the logarithm of the quantified signal range value to obtain a target index value corresponding to the target data block; querying for the encoding parameters associated with the target index value from a second parameter table; the second parameter table includes at least one index value and the encoding parameters associated with each of the at least one index value, the second parameter table is based on the same number of data blocks included in the first data group, the first data is at least two data groups of point cloud data that include the data group of the target data block, the target index value belongs to a target index value range, and the target index value range is determined according to at least one index value in the second parameter table; determining the encoding parameters obtained by the query as the target encoding parameters of the target data block in the encoding mode.

15. The method according to claim 12, wherein The adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: if the size relationship indicates that the target encoding value is less than the first limit order, then determining the sum of the initial order and the first adjustment step as the target order associated with the target data block; if the size relationship indicates that the target encoding value is greater than the second limit order, then determining the difference between the initial order and the first adjustment step as the target order associated with the target data block; if the size relationship indicates that the target encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, then determining the initial order as the target order associated with the target data block.

16. The method according to claim 12, wherein The adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: obtaining the encoding parameters corresponding to the encoded data block; the encoding parameters of the encoded data block include the historical order of the encoded data block; if the size relationship indicates that the target encoding value is less than the first limit order, then determining the sum of the historical order and the second adjustment step as the target order associated with the target data block; if the size relationship indicates that the target encoding value is greater than the second limit order, then determining the difference between the historical order and the second adjustment step as the target order associated with the target data block; if the size relationship indicates that the target encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, then determining the initial order as the target order associated with the target data block.

17. The method according to claim 12, wherein Adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: Adjusting the initial order according to the size relationship to obtain a candidate order associated with the target data block; If the candidate order is less than or equal to a third limit order, then determine the sum of the candidate order and a third adjustment step as the target order associated with the target data block; If the target order is greater than or equal to a fourth limit order, then determine the difference between the candidate order and the third adjustment step as the target order associated with the target data block; the third limit order is less than the fourth limit order; If the target order is greater than the third limit order and less than the fourth limit order, then determine the candidate order as the target order associated with the target data block.

18. The method according to claim 12, wherein The target coding value of the coded data of the coded data block is the average value of all coding values in the coded data of the coded data block; or, The target coding value of the coded data of the coded data block is the average value of non-zero coding values in the coded data of the coded data block.

19. The method according to claim 12, characterized in that, The point cloud data includes at least two data groups, and the target data block belongs to the first data group among the at least two data groups; the coding parameters corresponding to the data blocks within the first data group are all the target coding parameters; The coded data block belongs to the second data group having an adjacent relationship with the first data group among the at least two data groups.

20. The method according to claim 12, wherein The signal to be coded within the target data block includes one or more of a geometric prediction residual, an attribute prediction residual, and an attribute transform coefficient; The signal to be coded within the target data block includes a first signal to be coded and a second signal to be coded, and the attribute types of the first signal to be coded and the second signal to be coded are different; The target coding parameters of the target data block include a first coding parameter for coding the first signal to be coded and a second coding parameter for coding the second signal to be coded; the first coding parameter is different from the second coding parameter.

21. The method according to claim 20, characterized in that, The first signal to be coded includes a first sub-coded signal, a second sub-coded signal, and a third sub-coded signal; The first coding parameter is determined based on the sub-signal features corresponding to the first sub-coded signal, the second sub-coded signal, and the third sub-coded signal respectively; The coding parameters corresponding to the first sub-coded signal, the second sub-coded signal, and the third sub-coded signal respectively are all the first coding parameter; The coding parameter corresponding to the association information associated with the first signal to be coded is the first coding parameter.

22. The method according to claim 20, wherein The first signal to be coded includes a first sub-coded signal, a second sub-coded signal, and a third sub-coded signal, and the first coding parameter includes a first sub-coding parameter corresponding to the first sub-coded signal, a second sub-coding parameter corresponding to the second sub-coded signal, and a third sub-coding parameter corresponding to the third sub-coded signal; The first sub-coding parameter is determined based on the sub-signal feature corresponding to the first sub-coded signal; The second sub - coding parameter is determined based on the first sub - coding parameter and the target offset; The third sub - coding parameter is determined based on the second sub - coding parameter and the target offset.

23. The method according to claim 12, wherein Encoding the signal to be encoded in the target data block according to the target coding parameter to obtain the encoded data of the target data block includes: If the signal to be encoded in the target data block is different from the target signal threshold, generate a first coding label for indicating that the signal to be encoded in the target data block is different from the target signal threshold; Perform a difference operation on the signal to be encoded in the target data block according to the target signal threshold to obtain a signal difference; Encode the signal difference according to the target coding parameter to obtain a signal coding value of the signal to be encoded in the target data block, and determine the signal coding value and the first coding label as the encoded data of the target data block.

24. A decoding device for point cloud data, characterized in that, Includes: A first acquisition module for acquiring the encoded data of the target data block in the point cloud data; The encoded data of the target data block is obtained by encoding the signal to be encoded in the target data block according to the target coding parameter in a non - uniform coding method, and the target coding parameter is determined based on the signal characteristics of the signal to be encoded in the target data block; A first determination module, if the parameter determination method of the target coding parameter is based on data blocks with an adjacent relationship, acquires the signal range value corresponding to the signal to be encoded in the target data block; determines the initial decoding parameter of the target data block according to the signal range value corresponding to the target data block; The initial decoding parameter is the initial order; acquires the decoded signal of the decoded data block adjacent to the target data block in the point cloud data; Determines the target signal value of the decoded signal of the decoded data block; determines a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order; acquires the size relationship between the target signal value and the first limit order and the second limit order; adjusts the initial order according to the size relationship to obtain the target order associated with the target data block; determines the target order as the target decoding parameter corresponding to the encoded data of the target data block; A decoding module for decoding the encoded data of the target data block according to the target decoding parameter to obtain the decoded signal of the target data block; the decoded signal is used to reflect the media attribute of the target data block.

25. An encoding device for point cloud data, characterized in that, Includes: A third acquisition module for acquiring the signal to be encoded in the target data block in the point cloud data and the signal characteristics of the signal to be encoded in the target data block; the coding method of the point cloud data is a non - uniform coding method, and the signal to be encoded is used to reflect the media attribute of the target data block; The first determination module includes a third determination unit, an acquisition unit, and an adjustment unit; A third determination unit, which determines initial encoding parameters of the target data block in the encoding mode according to signal characteristics of the signals to be encoded in the target data block; the initial encoding parameters are initial orders. The obtaining unit is configured to obtain encoded data of an encoded data block adjacent to the target data block in the point cloud data. The adjustment unit is configured to determine a target encoding value of the encoded data of the encoded data block; determine a first limit order and a second limit order according to the initial order, where the first limit order is less than the second limit order; obtain a magnitude relationship between the target encoding value and the first limit order and the second limit order; adjust the initial order according to the magnitude relationship to obtain a target order associated with the target data block; and determine the target order as the target encoding parameter of the target data block in the encoding mode. An encoding module, which encodes the signals to be encoded in the target data block according to the target encoding parameter to obtain encoded data of the target data block.

26. A computer device, characterized in that, Comprising: A processor and a memory; The processor is connected to the memory, where the memory is configured to store a computer program, and the processor is configured to call the computer program so that the computer device executes the method according to any one of claims 1-23.

27. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, and the computer program is adapted to be loaded and executed by a processor so that a computer device having the processor executes the method according to any one of claims 1-23.

Citation Information

Patent Citations

  • System, method and device for coding and decoding

    CN101547010A

  • Point cloud data coding method and device, point cloud data decoding method and device, equipment and storage medium

    CN114598892A