Point cloud data decoding method, point cloud data coding method, point cloud data decoding device, point cloud data coding device, storage medium and equipment
By employing a non-uniform length encoding method during point cloud data decoding and adaptively determining encoding parameters based on signal characteristics, the problem of large data volume in point cloud data block bitstreams is solved, thereby improving decoding and transmission efficiency.
Patent Information
- Application Number
- CN202511165412.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-19
- Publication Date
- 2025-11-14
AI Technical Summary
During the decoding process of point cloud data, the large amount of bitstream data in the data blocks causes the decoding equipment to spend a long time and the decoding efficiency to be low.
A non-uniform length coding method is adopted, which determines the target coding parameters based on the signal characteristics of the signal to be encoded in the target data block, and adaptively determines the length of the encoded data to reduce redundancy and improve transmission efficiency.
By using adaptive encoding parameters, the redundancy of encoded point cloud data blocks is reduced, and the decoding efficiency and transmission efficiency of the decoding device are improved.
Smart Images

Figure CN120956878A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and more particularly to a method for decoding point cloud data, an encoding method, an apparatus, a storage medium, and a device. Background Technology
[0002] Point cloud data refers to a massive collection of points obtained by scanning the surface attributes of a target object. A single point or group of points in a point cloud can be called a data block. Typically, each data block in a point cloud includes multiple attributes such as the geometric information, color, and reflectivity of the target object. The number of data blocks in a point cloud is quite large, indicating that the amount of data contained in point cloud data is enormous. Therefore, it is necessary to encode the multiple attributes of the data blocks in the point cloud data to obtain a bitstream. Transmitting this bitstream can improve the transmission efficiency of point cloud data. However, during the decoding process of the bitstream of the data blocks in the point cloud data, there is a problem: the data volume of the bitstream of each data block 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 this application is to provide a decoding method, encoding method, apparatus, storage medium and device for point cloud data, which can improve the decoding efficiency of data blocks of point cloud data.
[0004] One embodiment of this application provides a method for decoding point cloud data, including:
[0005] The encoded data of the target data block in the point cloud data is obtained; 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 of the target data block under the non-uniform 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.
[0006] Based on the target encoding parameters, determine the target decoding parameters for the target data block;
[0007] The encoded data of the target data block is decoded 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.
[0008] One embodiment of this application provides a method for encoding point cloud data, including:
[0009] The signal to be encoded within the target data block in the point cloud data is obtained, along with the signal characteristics of the signal to be encoded within the target data block. The point cloud data is encoded using a non-uniform length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block.
[0010] Based on the signal characteristics of the signal to be encoded within the target data block, determine the target encoding parameters of the target data block under the encoding method;
[0011] The signal to be encoded in the target data block is encoded according to the target encoding parameters to obtain the encoded data of the target data block.
[0012] One embodiment of this application provides a point cloud data decoding device, including:
[0013] The first acquisition module is used to acquire the 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 in the target data block according to the target encoding parameters of the target data block under the non-uniform 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;
[0014] The first determining module is used to determine the target decoding parameters of the target data block based on the target encoding parameters;
[0015] A decoding module is used to 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 decoded signal is used to reflect the media attributes of the target data block.
[0016] One embodiment of this application provides a point cloud data encoding device, including:
[0017] The third acquisition module is used to acquire the signal to be encoded within the target data block in the point cloud data, as well as the signal characteristics of the signal to be encoded within the target data block; the encoding method of the point cloud data is a non-uniform length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block;
[0018] The determination module is used to determine the target encoding parameters of the target data block under the encoding mode based on the signal characteristics of the signal to be encoded in the target data block;
[0019] The encoding module is used to encode the signal to be encoded in the target data block according to the target encoding parameters to obtain the encoded data of the target data block;
[0020] One embodiment of this application provides a computer device, including: a processor and a memory;
[0021] The processor is connected to a memory, which stores a computer program. When the computer program is executed by the processor, it causes the computer device to perform the method provided in the embodiments of this application.
[0022] One aspect of this application provides a computer-readable storage medium storing a computer program adapted to be loaded and executed by a processor, so that a computer device having the processor performs the method provided in this application.
[0023] One embodiment of this application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the method provided in this application embodiment.
[0024] In this embodiment, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded within the target data block according to the target encoding parameters of the target data block under a non-uniform length encoding method. These target encoding parameters are determined based on the signal characteristics of the signal to be encoded within the target data block. 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. In other words, by adaptively determining how many encodings (i.e., bits) 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, data blocks with different signal characteristics have different encodings (i.e., different bits). This effectively reduces the redundancy of the encoded data of the target data block, thus reducing its length, and simultaneously improves the transmission efficiency of the encoded data of the target data block. Furthermore, 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 aforementioned 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, thereby improving the decoding efficiency. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a schematic diagram of a point cloud data processing process provided in an embodiment of this application;
[0027] Figure 2 This is a flowchart illustrating a point cloud data encoding method provided in an embodiment of this application;
[0028] Figure 3 This is a schematic diagram of a data block provided in an embodiment of this application;
[0029] Figure 4 This is a schematic diagram of a data group partitioning provided in an embodiment of this application;
[0030] Figure 5 This is a schematic diagram of a point cloud data decoding method provided in an embodiment of this application;
[0031] Figure 6 This is a schematic diagram of the structure of a point cloud data decoding device provided in an embodiment of this application;
[0032] Figure 7 This is a schematic diagram of the structure of a point cloud data encoding device provided in an embodiment of this application;
[0033] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application;
[0034] Figure 9 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0035] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0036] This application relates to the field of cloud technology. Specifically, it relates to cloud computing, a computing model that distributes computing tasks across a resource pool composed of numerous computers, enabling various application systems to access computing power, storage space, and information services as needed. The network providing these resources is called the "cloud." Resources in the "cloud" appear infinitely scalable to the user and can be accessed, used on demand, and expanded at any time. This application utilizes cloud computing to encode and decode target data blocks from multiple point cloud datasets.
[0037] This application's embodiments relate to point cloud data processing technology, primarily involving point cloud data encoding and decoding, such as... Figure 1 As shown, Figure 1This is a schematic diagram of point cloud data processing provided in an embodiment of this application. The point cloud data processing process can be described as follows: Figure 1 As shown, it may specifically include: point cloud data acquisition 10a, point cloud data preprocessing 10b, point cloud data attribute encoding 10c, point cloud data attribute information quantization 10d, point cloud data attribute entropy encoding 10e, and point cloud data decoding.
[0038] Point cloud data: Point cloud data is a set of discrete points in space that are randomly distributed and represent the spatial structure and surface properties of a three-dimensional object or scene. Each data block in point cloud data has at least geometric location information (i.e., three-dimensional location information), and depending on the application scenario, may also have color, material, or other original media attributes. Typically, each data point in point cloud data has the same number of original media attributes. In this application, a single data point or a group of data points in point cloud data can be referred to as a data block.
[0039] Point cloud data acquisition 10a: This refers to acquiring point cloud data. Methods for acquiring point cloud data include, but are not limited to, computer generation, 3D laser scanning, and 3D photogrammetry. Computers can generate point cloud data for virtual 3D objects and scenes. 3D scanning can obtain point cloud data for static real-world 3D objects or scenes, acquiring millions of points per second. 3D photography can obtain point cloud data for dynamic real-world 3D objects or scenes, acquiring tens of millions of points per second. With the continuous accumulation of large-scale point cloud data, efficient storage, transmission, publishing, sharing, and standardization of point cloud data have become crucial for point cloud applications.
[0040] Point cloud data preprocessing 10b: Preprocessing of point cloud data in 3D space includes coordinate transformation and voxelization. Coordinate transformation refers to converting the coordinate system of points in the point cloud data into a target coordinate system (such as the world coordinate system) through scaling and translation. Voxelization involves quantizing the coordinates of points in the point cloud data, deleting duplicate points, and assigning attributes. All points within the same voxel are quantized to the voxel center, and the attribute combination of all points within the voxel is assigned to that voxel center, which is then designated as the new point. In this way, through scaling and translation operations, the point cloud data in 3D space is converted into integer form, and its smallest geometric position is moved to the origin.
[0041] Attribute encoding of point cloud data (10c): This refers to encoding data blocks within point cloud data, including both geometric information encoding and attribute information encoding. Geometric information encoding encodes the geometric position information of points to obtain a geometric code stream. Geometric encoding (10f) can include the following two modes: (a) Octree-based geometric encoding: An octree is a tree-like data structure. In 3D spatial partitioning, the bounding box of the point cloud (i.e., the smallest cube containing all point clouds) is uniformly divided, with each node having eight child nodes. By using "1" and "0" to indicate whether each child node in the octree is occupied, occupancy code information is obtained and used as the code stream of point cloud geometric information. (b) Trisoup-based geometric encoding: The point cloud is divided into blocks of a certain size. The intersection points of the point cloud surface with the edges of the blocks are located and triangles are constructed. The code stream of point cloud geometric information is obtained by encoding the intersection points. Attribute information encoding refers to encoding the attribute information of points to obtain an attribute code stream.
[0042] 10d Quantization of Point Cloud Data Attribute Information: For the geometric and attribute bitstreams of points, further lossy quantization is performed, losing some information to make the quantized bitstream more suitable for compression. Point cloud data quantization can include geometric quantization and attribute quantization. For example, geometric quantization refers to quantizing the bitstream of point cloud geometric information, quantizing the encoded values within a target range into the same encoded value. The fineness of quantization is usually determined by the quantization parameter (QP). A larger QP value means that coefficients with a larger range of values will be quantized into the same output, thus usually resulting in greater distortion and a lower bitrate. Conversely, a smaller QP value means that coefficients with a smaller range of values will be quantized into the same output, thus usually resulting in less distortion and a higher bitrate. In point cloud encoding, quantization is performed directly on the coordinate information of the points. Attribute quantization refers to quantizing the bitstream of point cloud attribute information, quantizing the encoded values within a target range into the same encoded value. The fineness of quantization is usually determined by the quantization parameter (QP). In predictive coding, attribute residuals are quantized; in transform coding, transform coefficients are quantized.
[0043] Entropy coding (10e) or statistical coding for point cloud data: The quantized bitstream is statistically compressed based on the frequency of each value, ultimately outputting a binary (0 or 1) compressed bitstream. Entropy coding includes geometric entropy coding (10g) and attribute entropy coding. Geometric entropy coding involves statistically compressing the bitstream of point cloud geometric information, outputting a binary (0 or 1) compressed bitstream, such as statistically compressing the occupancy code information of an octree. Statistical coding is a lossless coding method that effectively reduces the bit rate required to represent the same signal. A commonly used statistical coding method is context-based binary arithmetic coding. Attribute information entropy coding involves statistically compressing the quantized attribute residuals or transform coefficients, outputting a binary (0 or 1) compressed bitstream. Run-length coding and arithmetic coding are generally used to achieve the final compression of the quantized attribute residuals or transform coefficients. The corresponding coding mode, quantization parameters, and other information are 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 code to obtain quantized geometric information and quantized attribute information. First, the geometric information undergoes dequantization to obtain the position information of the reconstructed points. On the other hand, the quantized attribute information undergoes dequantization to obtain attribute residuals, and the reference signal is confirmed according to the encoding mode used to obtain the reconstructed attribute information. These are then matched one-to-one with the geometric information in sequence to generate the output reconstructed point cloud data.
[0045] In this application embodiment, the data block can be a single data point from the aforementioned point cloud data, or it can be a group of data points consisting of at least two data points from the point cloud data. For example... Figure 2 As shown, Figure 2 This is a flowchart illustrating a point cloud data encoding method provided in an embodiment of this application. This method can be executed by a computer device, which can refer to an encoding device. Figure 2 As shown, the method may specifically include, but is not limited to, the following steps:
[0046] S101, 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.
[0047] Specifically, point cloud data is widely used in the construction of digital city maps, playing a crucial technical support role in numerous popular research areas such as smart cities, autonomous driving, and cultural relic protection. Computer equipment can collect point cloud data from the surface of a target object using 3D scanning equipment. This point cloud data includes multiple data points, where a data point can refer to a small area on the surface of the target object. A target data block can be any single data point or a group of at least two data points from the point cloud data. For example, a target data block can refer to point cloud data, macroblocks within point cloud data, or prediction trees (trees composed of multiple data points from point cloud data). Point cloud data can include one or more data blocks, and the target data block belongs to any one of these data blocks. Computer equipment can acquire the signals to be encoded within the target data block of the point cloud data. The number of signals to be encoded within the target data block can be one or more. These signals can reflect the media attributes of the target data block, which can include geometric location information, color, reflectivity, classification value, intensity value, time, material properties, and texture information, among other attributes. The signal to be encoded can refer to the media attributes of the target data block obtained through attribute prediction, attribute transformation, attribute prediction transformation, or attribute transformation prediction, such as geometric prediction residuals, attribute prediction residuals, or attribute transformation coefficients. The computer equipment can acquire the signal characteristics of the signal to be encoded within the target data block. These 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 of the signal to be encoded, or the signal characteristics of associated signals related to the signal to be encoded in the target data block.
[0048] The point cloud data is encoded using a non-uniform length encoding method, which can include unsigned exponential Golomb encoding, signed exponential Golomb encoding, truncated exponential Golomb encoding, and mapped exponential Golomb encoding. Since machines can only recognize 0 and 1, the signal to be encoded in the target data block needs to be encoded into characters composed of 0s and 1s. When encoding the signal to be encoded in the target data block using binary, because binary encoding is a uniform length encoding (i.e., using the same code (bits) to record different values to be encoded), a large amount of redundant information is generated. For example, if the signal value to be encoded is 2, the encoded data obtained using binary encoding is 00000010. Data that originally only required 2 bits now requires 8 bits, making the remaining 6 bits redundant. During network transmission, this results in significant redundancy and increases the network load. Using a non-uniform length encoding method to encode the signal to be encoded in the target data block can reduce the amount of encoded data in the target data block, thereby alleviating the network burden and improving the transmission efficiency of point cloud data. Simultaneously, it can reduce the amount of data in the bitstream that the decoding end needs to decode, thus improving the encoding and decoding efficiency of point cloud data. For example, when the signal value of the signal to be encoded is 0, the encoded data obtained by using a 0th-order exponential Golomb encoding method is 1, which is only one bit, significantly reducing the number of bits required to encode data.
[0049] Specifically, the signal to be encoded for a target data block can refer to the attribute prediction obtained from the media attributes of the target data block. The signal to be encoded for a target data block includes the attribute prediction residuals corresponding to each of the M types of media attributes of the target data block; that is, one attribute prediction residual corresponds to one type of media attribute. For example, when one type of media attribute of the target data block is color, the signal to be encoded for the target data block can refer to the attribute prediction residual corresponding to the color attribute. Similarly, when another type of media attribute of the target data block is reflectance, the signal to be encoded for the target data block can refer to the attribute prediction residual corresponding to the reflectance attribute. The attribute prediction residual is obtained by subtracting the media attribute of the target data block from its predicted attribute. The predicted attribute of the target data block can be predicted based on the media attributes of a reference data block, and this attribute prediction residual is the signal to be encoded for the target data block. For example, when the media attribute of the target data block is color, the color attribute prediction residual is obtained by subtracting the color attribute of the reference data block from the color attribute of the target data block. The reference data block for the target data block can be a data block in the point cloud data whose positional distance from the target data block is less than or equal to a distance threshold.
[0050] Specifically, the signal to be encoded for the target data block can refer to the signal obtained by transforming the media attributes of the target data block. The signal to be encoded for the target data block can be obtained by transforming the media attributes of the target data block using a transformation matrix. The transformation matrix is determined based on the number of data blocks in the target data block. The computer device can obtain a target number of transformation matrices from the set of transformation matrices based on the number of data points in the target data block. The computer device transforms the media attributes of the target data block using the transformation matrix to obtain a first attribute transformation coefficient (i.e., DC component coefficient) and one or more second attribute transformation coefficients (i.e., AC component coefficients). This first attribute transformation coefficient (i.e., DC component coefficient) and one or more second attribute transformation coefficients (i.e., AC component coefficients) constitute the signal to be encoded for the target data block.
[0051] Specifically, the signal to be encoded in the target data block can refer to the signal obtained by performing 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 attribute prediction residuals, and then performing attribute transformation processing on the attribute prediction residuals of the target data block to obtain attribute transformation coefficients of the target data block. These attribute transformation coefficients of the target data block are the signal to be encoded in the target data block.
[0052] Specifically, the signal to be encoded in the target data block can refer to the signal predicted by attribute transformation of 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 coefficients of the target data block, and then performing attribute prediction on the attribute transformation coefficients of the target data block to obtain the attribute prediction residual of the target data block. The attribute prediction residual of this data block is the signal to be encoded in the target data block.
[0053] The formula for attribute prediction transformation can be shown in the following formula (1):
[0054] Y = AX (1)
[0055] Where X is the attribute prediction residual of the media attribute of the target data block, Y is the first transformation coefficient and the second transformation coefficient corresponding to the media attribute of the target data block, A is the K_i-ary DCT transformation matrix, and i is the number of data points contained in the target data block. For example, when the number of data points in the target data block is 4, the quaternary DCT transformation matrix is A={{256,256,256,256},{256,256,-256,-256},{256,-256,-256,256},{256,-256,-256,256},{256,-256,256,-256}}. When X={-2,-3,-17,-16}, then Y={-9728,7168,512,0}. Where Y(0)=-9728 is the first transformation coefficient, and the other 3 are the second transformation coefficients.
[0056] like Figure 3 As shown, Figure 3 This is a schematic diagram of a data block provided in an embodiment of this application, such as... Figure 3 As shown, computer equipment can use an octree partitioning method to divide the three-dimensional space formed by point cloud data, obtaining data blocks within the point cloud data. The octree partitioning method uniformly divides the bounding box (i.e., the three-dimensional space formed by the point cloud data) of the point cloud data level by level, resulting in an octree of the point cloud data. Each node in the octree has eight child nodes. A data block in the point cloud data can be any node in this octree; that is, a data block in the point cloud data can be a node at any level in the octree. For example... Figure 3 As shown, computer equipment can use "1" and "0" to indicate whether each child node in an occlusion tree is occupied, thus obtaining the bitstream of geometric information corresponding to the point cloud data. That is, if a point from the point cloud data exists in the child node, it is represented by "1"; if a point from the point cloud data does not exist in the child node, it is represented by "0". For example... Figure 3 As shown, the computer device performs the first partitioning of the bounding box of the point cloud data, obtaining eight first child nodes for the first layer, coded as 10000001. Data blocks in the point cloud data can be these eight first child nodes. Specifically, the first child node contains data points from the point cloud data, so its occupancy information is "1". The second to seventh child nodes do not contain data points, so their occupancy information is "0". The eighth child node contains data points, so its occupancy information is "1". Similarly, the first child node of the second layer includes eight second child nodes, with the first child node coded as 00011000 and the eighth child node coded as 10001000. Likewise, data blocks in the point cloud data can also be second child nodes of the second layer.
[0057] S102, determine the target encoding parameters of the target data block under the encoding mode based on the signal characteristics of the 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 under the encoding method based on the signal characteristics of the signal to be encoded within the target data block. These target encoding parameters include parameters indicating the length of the encoded data in the target data block. For example, when the encoding method is exponential Golomb encoding, the target encoding parameter can refer to the order of the exponential Golomb encoding method, such as order 0, order 1, order 2, etc. For instance, taking the signal value of the signal to be encoded in the target data block as 3, if the target encoding parameter is order 0, then the target encoding parameter indicates that the first encoding length of the encoded data in the target data block is 5 bits (i.e., the encoded data of 3 is 00100); if the target encoding parameter is order 1, then the target encoding parameter indicates that the first encoding length of the encoded data in the target data block is 4 bits (i.e., the encoded data of 3 is 0101); if the target encoding parameter is order 2, then the target encoding parameter indicates that the first encoding length of the encoded data in the target data block is 3 bits (i.e., the encoded data of 3 is 111). The computer equipment can determine the target encoding parameters of the target data block under the encoding method based on the signal characteristics of the signal to be encoded within the target data block, so as to represent the encoded data of the target data block with the minimum number of codes (i.e., bits). 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. In other words, by adaptively determining how many codes to use 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, data blocks with different signal characteristics have different codes. This effectively reduces the redundancy of the encoded data of the target data block, i.e., reduces the length of the encoded data of the target data block, and at the same time improves the transmission efficiency of the encoded data of the target data block.
[0059] Optionally, the computer device can determine the target encoding parameters corresponding to the target data block based on 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 parameters corresponding to the target data block from a first parameter table based on the target signal range to which the signal to be encoded belongs. This first parameter table includes one or more signal ranges, and one or more encoding parameters corresponding to each signal range. For example, when the encoding method is exponential Golomb encoding, 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", order 0 can be used as the target encoding parameter corresponding to the target data block, that is, order 0 exponential Golomb encoding is used to encode the signal to be encoded within the target data block. When the signal value of the signal to be encoded in the target data block is "7", order 3 can be used as the target encoding parameter for the target data block. Of course, the target encoding parameters corresponding to the target data block can also be determined based on other signal characteristics of the signal to be encoded and the encoding method characteristics. The computer equipment can preset a first parameter table based on the signal value of the signal to be encoded and the number of codes obtained by encoding different signal values using different encoding parameters of the exponential Golomb coding scheme. For example, when the signal value is 0, the target encoding parameter 0 can represent the signal value 0 with the minimum code, that is, the encoded data of the signal value 0 is 1; when the signal value is 1, the target encoding parameter 1 can represent the signal value 1 with the minimum code, that is, the encoded data of the signal value 1 is 11; when the signal value is 2, the target encoding parameter 0 or 2 can represent the signal value 2 with the minimum code, 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 selectable target encoding parameters, one parameter can be randomly selected from the multiple selectable target encoding parameters to encode the target data block, or a parameter can be determined from the multiple selectable target encoding parameters based on other filtering conditions (such as the encoding parameters of adjacent data blocks corresponding to the target data block, or the group to which the target data block belongs).
[0060] Optionally, 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 and minimum signals 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.
[0061] Specifically, signal characteristics can refer to the signal range value of the signal to be encoded within the target data block. This signal range value is determined based on the maximum and minimum signal values to be encoded within the target data block. Specifically, the signal range value can be the difference between the signal values of the maximum and minimum signal values 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 can be the difference between the maximum and minimum geometric prediction residuals. For example, if the signal value of the maximum signal to be encoded in 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, the signal range value can be determined based on the sampling precision of the signal to be encoded within the target data block. For example, if the geometric precision of the point cloud data is 10 bits, then the sampling precision of the signal to be encoded within the target data block in the point cloud data can be 10 bits, and the signal range value of the signal to be encoded in the target data block can be 2. 10 .
[0062] Furthermore, the specific method by which the computer device determines the target encoding parameters of the target data block under the encoding mode may include: generating a target index value corresponding to the target data block based on the signal range values included in the signal characteristics. The encoding parameters associated with the target index value are queried from a second parameter table, which includes at least one index value and an encoding parameter associated with each of the at least one index value; that is, one index value corresponds to one encoding parameter. The computer device can determine the queried encoding parameters as the target encoding parameters of the target data block under the encoding mode. Specifically, the computer device can preset the second parameter table based on the signal range values. For example, the computer device can preset the target parameter lookup table based on the difference between the maximum and minimum signals to be encoded. Alternatively, the computer device can preset the second parameter table based on the maximum sampling precision of the point cloud data, such as determining the range of index values in the second parameter table (i.e., determining the length of the second parameter table) based on the maximum sampling precision of the point cloud data, and determining the encoding parameter corresponding to each index value.
[0063] Optionally, the specific method by 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 features to obtain the quantized signal range value; obtaining the logarithm of the quantized signal range value; and performing a subtraction operation on the logarithm of the quantized signal range value to obtain the target index value corresponding to the target data block.
[0064] Specifically, the computer equipment can acquire the quantization step size, which can be preset by the administrator or determined based on the signal range of the signal to be encoded. Further, based on the quantization step size, the computer equipment can quantize the signal range values encompassed by the signal features of the signal to be encoded, obtaining quantized signal range values. By quantizing the signal range values, signal range values belonging to the target range can be replaced by a target signal range value to compress the data and facilitate subsequent rapid lookup of the target index value corresponding to the target data block. Further, the computer equipment can acquire the logarithm of the quantized signal range values and perform subtraction on the logarithm of the quantized signal range values to obtain the target index value corresponding to the target data block.
[0065] The target index value corresponding to the target data block generated by the computer equipment can be obtained by the following formula (2):
[0066] Index = log2B′-1 (2)
[0067] Where Index is the target index value corresponding to the target data block, and B′ is the quantized signal range value.
[0068] Specifically, after obtaining the target index value corresponding to the target data block, the computer device can use GolombNum = LUT. kthIndex [Index] retrieves the target encoding parameters corresponding to the target data block from the second parameter table. Here, GolombNum represents the target encoding parameters corresponding to the target data block, and LUT indicates that the target encoding parameters corresponding to the target index value are retrieved from the second parameter table.
[0069] Optionally, the point cloud data includes at least two data groups, and the target data block belongs to the first data group within these at least two data groups. The number of index values contained in the second parameter table is the same as the number of data blocks included in the first data group. For example, if the first data group contains 8 data blocks, the second parameter table can be a parameter table containing 8 index values. This facilitates querying the encoding parameters corresponding to each data block in the first data group from the second parameter table. The target index value belongs to a target index value range, which is determined based on at least one index value in the second parameter table. It is understandable that when there are many index values, multiple index values can be divided into different index value ranges, with one index value range corresponding to one parameter table. This allows the computer device to determine the target index value range to which the target index value belongs and query the target encoding parameters corresponding to the target index value from the second parameter table corresponding to the target index value range. This avoids comparing all index values one by one and reduces the amount of data queried. The computer device can adjust the encoding parameters according to the grouping, such as adaptively adjusting the encoding parameters of data blocks within the same group, or not adjusting the encoding parameters of data blocks within the same group.
[0070] Optionally, when the target data block contains only one signal to be encoded, the computer device can determine the target encoding parameters corresponding to the target data block based on the signal values of the signals to be encoded within the target data block. Alternatively, the computer device can determine the target encoding parameters of the target data block based on data blocks associated with the target data block (such as adjacent data blocks or other data blocks in the data group containing the target data block). Optionally, when the target data block contains multiple signals to be encoded, the computer device can determine the target encoding parameters corresponding to the target data block based on the difference between the largest and smallest signals to be encoded within the target data block. Alternatively, the computer device can determine the target encoding parameters corresponding to the target data block based on the signal value of the largest signal to be encoded within the target data block. Alternatively, the computer device can determine the target encoding parameters corresponding to the target data block based on the average signal value of all signals to be encoded within the target data block. Of course, the computer device can also determine the target encoding parameters corresponding to the target data block based on data blocks associated with the target data block. Of course, the target encoding parameters corresponding to the target encoded data block can be determined by the encoding device that encodes the point cloud data and the decoding device that decodes the corresponding encoded data, such as by the encoding device and the decoding device based on the historical encoding and decoding records of the point cloud data.
[0071] Optionally, the specific method by which the computer device determines the target encoding parameters corresponding to the target data block may include: determining the initial encoding parameters of the target data block under the encoding method based on the signal characteristics of the signal to be encoded within the target data block; acquiring the encoded data of already encoded data blocks that are adjacent to the target data block in the point cloud data; and adjusting the initial encoding parameters based on the encoded data of the already encoded data blocks to obtain the target encoding parameters of the target data block under the encoding method.
[0072] Specifically, the computer device can determine the initial encoding parameters of the target data block under the encoding method based on the signal characteristics of the signal to be encoded within the target data block. The specific method by which the computer device determines the initial encoding parameters can be found in the above-described method of determining encoding parameters based on the signal characteristics of the signal to be encoded within the target data block, and will not be repeated here. Further, the computer device can acquire the encoded data of encoded data blocks in the point cloud data that are adjacent to the target data block. These encoded data blocks can refer to encoded data blocks whose positions in the point cloud data are adjacent to the target data block's position. Alternatively, they can refer to encoded data blocks whose encoding order is adjacent to the target data block's encoding order. Or, they can refer to data blocks in a second data group adjacent to the first data group containing the target data block, among at least two data groups included in the point cloud data. The computer device can adjust the initial encoding parameters based on the encoded data of the encoded data blocks to obtain the target encoding parameters of the target data block under the encoding method. In this way, when the computer device determines the encoding parameters based on the signal characteristics of the signal to be encoded in the target data block, and uses them as the initial encoding parameters for the target data block, and then adjusts the initial encoding parameters for the target data block based on the encoded data of the already encoded data block, the target encoding parameters for the target data block can be obtained. This can improve the accuracy of the target encoding parameters, so as to better represent the encoded data of the target data block with fewer codes and reduce the amount of encoded data.
[0073] Optionally, the encoding method can be the exponential Golomb encoding method, and the initial encoding parameter of the target data block is the initial order. The specific method by which the computer device adjusts the initial encoding parameter may include: determining the target encoding value of the encoded data of the encoded data block; determining a first constraint order and a second constraint order based on the initial order, where the first constraint order is less than the second constraint order; obtaining the relationship between the target encoding value and the first and second constraint orders; adjusting the initial order based on this relationship to obtain the target order associated with the target data block; and determining the target order as the target encoding parameter of the target data block under the encoding method.
[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 one, 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 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 of the encoded data of the n1 encoded data blocks. The computer device can determine a first limiting order and a second limiting order based on the initial order, where the first limiting order is less than the second limiting order. The computer device can be configured to store the encoded values in a buffer, with a size of n1, and the target encoded value of the encoded data block is calculated every n2 points. 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 limiting order refers to the lower limiting order, and the second limiting order can refer to the upper limiting order. The initial order is represented by `golombNum`, the first limiting order is represented by `golombNumLow`, and the second limiting order is represented by `golombNumLow`. Optionally, the computer device may determine the first and second limiting orders based on the initial order in ways including but not limited to the following: Method 1: `golombNumLow = 2^golombNum`, `golombNumUp = 2^(golombNum+1)`. Method 2: `golombNumLow = 2^(golombNum-1)`, `golombNumUp = 2^golombNum`. Method 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 methods, other methods can be used to determine the first and second restriction orders depending on the specific circumstances. The application embodiments will not be elaborated here.
[0076] Furthermore, the computer device can obtain the relationship between the target encoded value of the encoded data of the encoded data block and the first and second constraint orders. This relationship can include the target encoded value being less than the first constraint order, or the target encoded value being greater than the second constraint order, or the target encoded value being greater than or equal to the first constraint order and less than or equal to the second constraint order. Based on this relationship, the computer device can adjust the initial order to obtain the target order associated with the target data block. The computer device can determine the target order as the target encoding parameter of the target data block under the encoding method. Thus, adjusting the initial order yields a more accurate target order. Encoding the signal to be encoded within the target data block using the target order allows for representing the signal with fewer codes, reducing the amount of encoded data corresponding to the target data block and thereby improving encoding and decoding efficiency.
[0077] Optionally, the computer device may adjust the initial order in the following ways, including but not limited to: if the size relationship indicates that the target coding value is less than the first limiting order, then the sum of the initial order and the first adjustment step size is determined as the target order associated with the target data block. If the size relationship indicates that the target coding value is greater than the second limiting order, then the difference between the initial order and the first adjustment step size is determined as the target order associated with the target data block. If the size relationship indicates that the target coding 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.
[0078] Specifically, if the computer device determines that the target code value indicating a size relationship is less than the first limiting order, then the computer device can determine the target order associated with the target data block as the sum of the initial order and the first adjustment step size. The first adjustment step size can be determined by historical coding record information, or by administrators, and can be a value such as 1, 2, or 3. If the target code value indicating a size relationship is greater than the second limiting order, then the computer device can determine the target order associated with the target data block as the difference between the initial order and the first adjustment step size. If the target code value indicating a size relationship 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 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 limited to a reasonable range, while improving the accuracy of the target order, thus enabling the representation of the target data block's encoded data with fewer codes.
[0079] Optionally, the computer device may adjust the initial order in ways including but not limited to the following: obtaining the encoding parameters corresponding to the encoded data block; if the size relationship indicates that the target encoded value is less than the first limiting order, then the sum of the historical order and the second adjustment step size is determined as the target order associated with the target data block; if the size relationship indicates that the target encoded value is greater than the second limiting order, then the difference between the historical order and the second adjustment step size is determined as the target order associated with the target data block; if the size relationship indicates that the target encoded 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.
[0080] Specifically, the computer equipment 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 limiting order, the sum of the historical order and the second adjustment step size is determined as the target order associated with the target data block. The second adjustment step size can be the same as or different from the first adjustment step size. Similarly, the second adjustment step size can also be determined by historical encoding record information, or by administrators, etc., and the second adjustment step size can be a value such as 1, 2, or 3. If the size relationship indicates that the target encoding value is greater than the second limiting order, the difference between the historical order and the second adjustment step size is determined 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 limiting order and less than or equal to the second limiting order, the initial order is determined as the target order associated with the target data block. In this way, the target order associated with the target data block can be limited to a reasonable order range, while improving the accuracy of the target order, so as to represent the encoded data of the target data block with fewer codes.
[0081] Optionally, the specific method by which the computer device adjusts the initial order may include, but is not limited to, the following: Adjusting the initial order based on 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 limiting order, the sum of the candidate order and the third adjustment step size is determined as the target order associated with the target data block. If the target order is greater than or equal to the fourth limiting order, the difference between the candidate order and the third adjustment step size is determined as the target order associated with the target data block; the third limiting order is less than the fourth limiting order. If the target order is greater than the third limiting order and less than the fourth limiting order, the candidate order is determined as the target order associated with the target data block.
[0082] Specifically, the computer equipment can adjust the initial order based on the size relationship to obtain the candidate order associated with the target data block. The process of adjusting the initial order can be found in the above-described process. The computer equipment can detect the relationship between the candidate order associated with the target data block and the third and fourth limiting orders, and adjust the candidate order based on this relationship to obtain the target order associated with the target data block. The third and fourth limiting orders are used to restrict the target order associated with the target data block to a reasonable order range, with the third limiting order being less than the fourth limiting order. Specifically, if the candidate order is less than or equal to the third limiting order, it can be determined that the candidate order is too small, and the sum of the candidate order and the third adjustment step size can be used as the target order associated with the target data block. Alternatively, if the candidate order is less than or equal to the third limiting order, a first preset order can be used as the target order associated with the target data block. This first preset order is greater than the third limiting order and less than the fourth limiting order, meaning the first preset order is within a reasonable order range. If the target order is greater than or equal to the fourth limiting order, the difference between the candidate order and the third adjustment step size can be determined as the target order associated with the target data block. Alternatively, if the candidate order is greater than or equal to the fourth limiting 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 limiting order and less than the fourth limiting order, meaning the second preset order is within a reasonable order range. If the target order is greater than the third limiting order and less than the fourth limiting order, it indicates that the candidate order is within a reasonable order range, and no adjustment is made to the candidate order; the candidate order is determined as the target order associated with the target data block.
[0083] Optionally, the target encoded value of the encoded data of the encoded data block is the average of all encoded values in the encoded data of the encoded data block. Alternatively, the target encoded value of the encoded data of the encoded data block is the average of the non-zero encoded values in the encoded data of the encoded data block.
[0084] Optionally, the computer device can acquire the signal to be encoded within an encoded data block, as well as the encoding parameters of the encoded data block. The encoding parameters of the encoded data block can be determined based on the signal characteristics of the signal to be encoded within the encoded data block, or they can be determined based on data blocks associated with the encoded data block. The computer device can detect the signal magnitude relationship between the signal to be encoded in the target data block and the signal to be encoded in the encoded data block, and determine the encoding parameters of the target data block based on this signal magnitude relationship and the encoding parameters of the encoded data block. Specifically, if the signal to be encoded in the target data block is equal to the signal to be encoded in the encoded data block, the encoding parameters of the encoded data block can be determined as the target encoding parameters corresponding to the target data block. If the signal to be encoded in the target data block is less than the signal to be encoded in the encoded data block, the difference between the encoding parameters of the encoded data block and the fourth adjustment step size can be determined as the target encoding parameters corresponding to the target data block. If the signal to be encoded in the target data block is greater than the signal to be encoded in the already encoded data block, then the sum of the encoding parameters of the already encoded data block and the fourth adjustment step size can be used to determine the target encoding parameters corresponding to the target data block. Similarly, the fourth adjustment step size can be determined by historical encoding record information, or by the administrator, etc., and the fourth adjustment step size can be a value such as 1, 2, or 3.
[0085] Optionally, the point cloud data includes at least two data groups, and the target data block belongs to the first data group within these two data groups. Data blocks within the first data group share the same encoding parameters; that is, all data blocks within the first data group use the target encoding parameters. The encoded data block belongs to the second data group, which is adjacent to the first data group. Since data blocks within the same data group have significant similarities in media attributes, they can use the same encoding parameters; however, they can also use different encoding parameters.
[0086] Optionally, the computer device can group the data blocks in the point cloud data to obtain at least two data groups. The specific methods by which the computer device groups the point cloud data may include, but are not limited to, the following: Method 1: The at least two data groups are obtained by grouping the data blocks according to their positions in the point cloud data. The computer device can divide adjacent data blocks into a data group based on their positions in the point cloud data, thereby obtaining at least two data groups in the point cloud data.
[0087] Method 2: At least two data groups are obtained by grouping data blocks in the point cloud data according to their Hilbert transform codes. The Hilbert transform codes are obtained by performing a Hilbert transform on the position of each data block in the point cloud data. The computer device can perform a Hilbert transform on the position of each data block in the point cloud data to obtain the Hilbert code for each data block pair. Based on the Hilbert codes of each data block, the data blocks in the point cloud data are sorted to obtain sorted data blocks. Further, the computer device can group the sorted data blocks sequentially based on the order of the space-filling curve, grouping data blocks with the same first L bits of their Hilbert codes into one data group. Specifically, the computer device can also group data blocks with the same first L bits of their Hilbert codes into one data group to obtain candidate data groups. If the number of data blocks in a candidate data group exceeds the limit, the candidate data group can be further subdivided to limit the number of data blocks within the limit. Alternatively, the candidate data groups can be adjusted based on the number of data blocks contained in the preceding groups to obtain the final data groups.
[0088] Method 3: At least two data sets are obtained by dividing the point cloud data according to the partition size. Computer equipment can divide the three-dimensional space formed by the point cloud data into... Non-overlapping coded macroblocks of varying sizes, each macroblock serving as a basic coding unit, can be a data block. Here, x, y, z represent coordinate information, and d represents the octree partition depth. The partition size (e.g., octree partition depth d) can be set by the computer device 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 encoding order of the data blocks. The computer device can group the data blocks in the point cloud data sequentially according to the target limit number and the encoding order of the data blocks in the point cloud data to obtain at least two data groups. For example, if the encoding 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, and if the target limit number is 2, then one data group is: data block s1 and data block s2; another data group is: data block s3 and data block s4; and yet another data group is: data block s5. Alternatively, at least two data groups can refer to prediction tree units in the prediction tree generated from the point cloud data, where a prediction tree unit can be a unit composed of multiple prediction tree nodes.
[0090] like Figure 4 As shown, Figure 4 This is a schematic diagram of a data group partitioning provided in an embodiment of this application, such as... Figure 4 As shown, computer equipment can divide the three-dimensional space formed by point cloud data into... Non-overlapping coded macroblocks of varying sizes. For example... Figure 4 As shown, a computer device can divide a three-dimensional space composed of point cloud data into four non-overlapping coded macroblocks, and then divide a data group within a coded macroblock, with each data group potentially containing four data blocks. For example... Figure 4 As shown, data group 40a includes four data blocks, each containing four data points. Data group 40a contains data points from the point cloud data. The second data block 2 in the data group contains one data point 4, and the third data block 3 contains data point 5. Data group 40b also includes four data blocks, each containing four data points. Data group 40b contains data points from the point cloud data. The first data block 7 in the data group contains data points 9 and 9, and the fourth data block 8 contains data point 9.
[0091] Optionally, the signal to be encoded for the target data block may include one or more of the following: geometric prediction residual, attribute prediction residual, and attribute transformation coefficients. Specifically, the geometric prediction residual of the first data block in the point cloud data can be the difference between a preset geometric position and the geometric position of the first data block, or simply the geometric position of the first data block. The geometric prediction residuals of other data blocks in the point cloud data, excluding the first data block, can be the difference between the geometric position of a data block whose encoding order precedes the current data block and the geometric position of the current data block. Similarly, the attribute prediction residual of the first data block in the point cloud data can be the difference between a preset attribute and the media attribute of the first data block, or simply the media attribute of the first data block. The attribute prediction residuals of other data blocks in the point cloud data, excluding the first data block, can be the difference between the media attribute of a data block whose encoding order precedes the current data block and the media attribute of the current data block. The attribute transformation coefficients are obtained by transforming the media attributes of the data block using a transformation matrix.
[0092] Optionally, the signals to be encoded within the target data block include a first signal to be encoded and a second signal to be encoded, wherein the first signal to be encoded and the second signal to be encoded correspond to different attribute types. For example, the attribute type of the first signal to be encoded could refer to geometric position, while the attribute type of the second signal to be encoded could refer to color. The target encoding parameters of the target data block include a first encoding parameter for encoding the first signal to be encoded and a second encoding parameter for encoding the second signal to be encoded, wherein the first encoding parameter and the second encoding parameter are different. It is understood that signals to be encoded with different attribute types within the target data block are encoded using different encoding parameters. In this way, different encoding parameters can be determined based on signals to be encoded with different attribute types, so as to determine more accurate encoding parameters and achieve the goal of representing the encoded data of the target data block with fewer codes.
[0093] Optionally, the first signal to be encoded includes a first sub-coded signal, a second sub-coded signal, and a third sub-coded signal. The first encoding parameter used to encode the first signal to be encoded is determined based on the sub-signal characteristics corresponding to the first, second, and third sub-coded signals, respectively. Specifically, the first encoding parameter can be determined based on the largest sub-coded signal among the first, second, and third sub-coded signals. Alternatively, the first encoding parameter can be determined based on the average signal value among the first, second, and third sub-coded signals. Or, the first encoding parameter can be determined based on any one of the first, second, and third sub-coded signals. The encoding parameters corresponding to the first, second, and third sub-coded signals are all considered first encoding parameters. It is understood that sub-coded signals of the same attribute type can all use the same encoding parameter. The encoding parameter corresponding to the association information associated with the first signal to be encoded is the first encoding parameter. For example, the stroke length of the zero value and the non-zero signal value obtained by stroke encoding the first signal to be encoded can be encoded using the same first encoding parameter (i.e., the first encoding parameter corresponding to the first signal to be encoded). Stroke encoding refers to replacing a continuous string of the same value with a representative value and string length. For example, when the first signal to be encoded is aaaabaaaa, stroke encoding can be used to obtain 4b4. When encoding the first signal to be encoded, the stroke length "4" and the non-zero signal value "b" can be encoded using the first encoding parameter corresponding to the first signal to be encoded using exponential Golomb encoding.
[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. The first encoding parameters include the first sub-encoded parameter corresponding to the first sub-encoded signal, the second sub-encoded parameter corresponding to the second sub-encoded signal, and the third sub-encoded parameter corresponding to the third sub-encoded signal. It is understood that different sub-encoded signals in the first signal to be encoded use different encoding parameters. This allows for the determination of encoding parameters corresponding to different sub-encoded signals based on their signal characteristics, leading to more accurate encoding parameters and enabling the representation of the target data block using fewer encodings. The computer device can use the offset function to adjust the encoding parameters of the sub-encoded signals within the first signal to be encoded. The offset function uses a specified reference as a reference and obtains a new reference by a given offset. The first sub-encoded parameter is determined based on the sub-signal characteristics corresponding to the first sub-encoded signal. The second sub-encoded parameter is determined based on the first sub-encoded parameter and the target offset. The third sub-encoded parameter is determined based on the second sub-encoded parameter and the target offset. The target offset can be set by the administrator, determined by historical encoding / decoding records, or set according to specific circumstances; this embodiment does not impose any limitations on this. Of course, the encoding parameters within signals of different attribute types can also be adjusted using 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 a given offset and the encoding parameter of the first signal to be encoded. Alternatively, the encoding parameters corresponding to the first, second, and third sub-encoded signals are determined based on the sub-signal characteristics corresponding to the first, second, and third sub-encoded signals, respectively.
[0095] S103, Encode the signal to be encoded in the target data block according to the target encoding parameters to obtain the encoded data of the target data block.
[0096] Specifically, computer equipment can encode the signal to be encoded within a target data block according to target encoding parameters to obtain the encoded data of the target data block. Exponential Golomb coding can be used to encode the signal to be encoded within the target data block according to the target encoding parameters. When different encoding parameters are used to encode the signal to be encoded within the target data block, the encoded data of the target data block belongs to the encoding length corresponding to different encoding parameters. For example, when encoding parameter r1 is used to encode the signal to be encoded within the target data block, the resulting encoded data of the target data block belongs to the encoding description range corresponding to encoding parameter r1; when encoding parameter r2 is used, the resulting encoded data belongs to the encoding description range corresponding to encoding parameter r2. Thus, using the target encoding parameters to encode the signal to be encoded within the target data block allows for the representation of the signal to be encoded within the target data block with fewer codes, thereby reducing the amount of encoded data. It can be understood that the encoded data obtained by encoding the signal to be encoded within the target data block using the target encoding parameters is smaller than the encoded data obtained by encoding the signal to be encoded within the target data block using other encoding parameters. Because the redundancy of the encoded data in the target data block is relatively low, the decoded signal of the target data block can be decoded quickly, thereby improving decoding efficiency.
[0097] Optionally, after obtaining the target encoding parameters 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 parameters to obtain the encoded data of the target data block.
[0098] Optionally, the specific method by which the computer device encodes the signal to be encoded within the target data block may include: if the signal to be encoded within the target data block is not the same as a target signal threshold, then generating a first encoding tag to indicate that the signal to be encoded within the target data block is not the same as the target signal threshold; performing a subtraction operation on the signal to be encoded within the target data block according to the target signal threshold to obtain a signal difference value; encoding the signal difference value according to the target encoding parameters to obtain the signal encoding value of the signal to be encoded within the target data block; and determining the signal encoding value and the first encoding tag as the encoded data of the target data block.
[0099] Specifically, the computer equipment can detect whether the signal to be encoded within the target data block is the same as the target signal threshold. When the signal to be encoded within the target data block is the same as the target signal value, the second encoding tag is used as the encoded data of the target data block. When the signal to be encoded within the target data block is different from the target signal value, the signal to be encoded within the target data block is encoded according to the first encoding tag and the target encoding parameters. The target signal threshold can refer to the signal value of the most frequently occurring signal among the signals to be encoded within the target data block, or it can be the signal value of the most frequently occurring signal among the point cloud data, or it can be set according to other specific circumstances. The first encoding tag is used to indicate that the signal to be encoded within the target data block is different from the target signal threshold. During decoding, the decoding equipment can decode the encoded data of the target data block according to the first encoding tag and the target decoding parameters (i.e., the target encoding parameters) 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 within the target data block is the same as the target signal threshold, it can determine the second encoding tag as the encoded data of the signal to be encoded. This second encoding tag is used to indicate that the signal to be encoded within the target data block is the same as the target signal threshold. Thus, when the signal to be encoded within the target data block is the same as the target signal threshold, the second encoding tag is used as the encoded data of the signal to be encoded. Only when the signal to be encoded within the target data block is different from the target signal threshold is the target data block encoded according to the first encoding tag and the target encoding parameters. In this way, when there are a large number of signals to be encoded within the target data block that are adjacent to the target signal threshold, the second encoding tag can be directly used as the encoded data of the signals to be encoded that are the same as the target signal threshold, reducing the number of signals that need to be encoded and improving encoding efficiency. For example, when the target data block includes 5 signals to be encoded, with the first signal having a value of 1, the second signal having a value of 0, the third signal having a value of 1, the fourth signal having a value of 1, and the fifth signal having a value of 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. Thus, if the first signal to be encoded has the same threshold as the target signal, then the second encoding label flag=1 can be used as the encoded data corresponding to the first signal. During decoding, the signal value of the first signal to be encoded can be directly determined as 1 based on the second encoding label flag=1. If the second signal to be encoded does not have the same threshold as the target signal, then the second signal to be encoded can be encoded based on the first encoding label flag≠1 and the target encoding parameters. If the third signal to be encoded has the same threshold as the target signal, then the encoded data of the third signal is the second encoding label. If the fourth signal to be encoded has the same threshold as the target signal, then the encoded data of the fourth signal is the second encoding label. If the threshold of the fifth signal to be encoded is different from that of the target signal, then 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 within the target data block is not the same as the target signal threshold, the computer device can directly encode the signal to be encoded within 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. During 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 method by which the computer device encodes the signal to be encoded based on the first encoding tag and the target encoding parameters may include: if the signal to be encoded within the target data block is not the same as a target signal threshold, then a first encoding tag is generated to indicate that the signal to be encoded within the target data block is not the same as the target signal threshold. Based on the target signal threshold, the signal to be encoded within the target data block is subtracted to obtain a signal difference value. This signal difference value is then encoded according to the target encoding parameters to obtain the signal encoding value of the signal to be encoded within the target data block. The signal encoding value of the signal to be encoded within the target data block and the first encoding tag are then determined as the encoded data of the target data block.
[0103] Specifically, when the computer device determines that the signal to be encoded within the target data block is different from the target signal threshold, it can generate a first encoding tag to indicate that the signal to be encoded within the target data block is different from the target signal threshold. Based on the target signal threshold, the signal to be encoded within the target data block is subtracted to obtain a signal difference value. Specifically, the computer device can obtain the difference between the signal to be encoded within the target data block and the target signal threshold, and determine it as the signal difference value. Alternatively, the computer device can obtain the difference between the signal to be encoded within the target data block and both the target signal threshold and the first threshold, and use this as the signal difference value. Specifically, the computer device can obtain candidate differences between the signal to be encoded within the target data block and the target signal threshold, and then obtain the difference between the candidate differences and the first threshold, and use this 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] Furthermore, the computer device can encode the signal difference according to the target encoding parameters to obtain the signal encoding value of the signal to be encoded. The signal encoding value of the signal to be encoded and the first encoding tag are determined as the encoded 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 and 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 can directly encode the signal difference of 0, which can reduce the amount of encoded data. Thus, when the computer device determines that the signal to be encoded in the target data block is not the same as the target signal threshold, it can perform subtraction processing on the signal to be encoded in the target data block, and encode the signal difference obtained by subtraction processing, which can reduce the signal value of the signal to be encoded that needs to be encoded. In this way, since the amount of encoded data obtained when encoding smaller signal values is smaller, encoding the signal difference corresponding to the signal to be encoded can reduce the amount of encoded data and improve the encoding and decoding efficiency. When the decoding device decodes the encoded data of the signal to be encoded, it can decode the encoded data of the signal to be encoded according to the target decoding parameters (the target decoding parameters are the same as the target encoding parameters) to obtain the signal encoding value of the signal to be encoded. According to the target signal threshold, the signal encoding value of the signal to be encoded is summed 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 within the target data block is the same as a target signal threshold, and whether the signal to be encoded is the same as a positive integer less than the target signal threshold, and generate a corresponding encoding label to indicate the signal value of the signal to be encoded within the target data block. For example, when the target signal threshold is 2, the computer device can detect whether the signal to be encoded within the target data block is the same as threshold 2. If they are the same, the encoding label of the signal to be encoded is flag = 2; if they are different, then flag ≠ 2. When the signal to be encoded is different from threshold 2, the computer device can continue to detect whether the signal to be encoded within the target data block is the same as threshold 1 (a positive integer less than threshold 2). If the signal to be encoded is the same as threshold 1, the encoding label of the signal to be encoded is flag = 1; if they are different, then flag ≠ 1. If the computer determines that the signal to be encoded is different from threshold 1, it can continue to check whether the signal to be encoded within the target data block is the same as threshold 0 (a positive integer less than threshold 2). If the signal to be encoded is the same as threshold 0, the encoding label of the signal to be encoded is flag = 0; if they are different, flag ≠ 0. If the computer determines that the signal to be encoded is different from threshold 2, threshold 1, and threshold 0, it can be determined that the signal to be encoded within the target data block is greater than 2. Then, the difference between the signals to be encoded within the target data block can be calculated based on the target signal threshold to obtain the signal difference value, which is then encoded. In this way, since encoding smaller signal values results in less encoded data, encoding the signal difference value corresponding to the signal to be encoded can reduce the amount of encoded data and improve encoding / decoding efficiency.
[0106] In this process, the computer equipment encodes the target data block to obtain its encoded data. It then associates and stores the encoded data with the target encoded data of the target data block. Based on the encoded data corresponding to one or more data blocks, it generates a bitstream of point cloud data and sends this bitstream to the decoding device. The decoding device then reconstructs the point cloud data from the bitstream. Specifically, the computer equipment can store the encoding parameters corresponding to each data block in the point cloud data in one or more parameter sets. These parameter sets include the correspondence between data blocks and their corresponding encoding parameters. The computer equipment can then send this parameter set along with the bitstream of the point cloud data to the decoding device, which can then determine the encoding parameters of the corresponding data block from the parameter set as decoding parameters. Alternatively, the computer equipment can generate a bitstream of point cloud data based on the target encoding parameters corresponding to the target data block, where each encoded data block corresponds to one target encoding parameter.
[0107] In one optional embodiment, the computer device can construct a geometric prediction tree for the point cloud data and obtain the geometric prediction residual for each node in the geometric prediction tree to obtain geometric prediction tree residual information. Specifically, when obtaining the geometric prediction residual for each node in the geometric prediction tree, the geometric prediction residual for each node can be predicted using the signal value of its previous node, or it can be predicted using the signal values of its two previous nodes, or it can be predicted using the signal values of its a1 previous nodes. Further, based on the distribution of the geometric prediction tree residual information, the computer device can assign different exponential Golomb orders (k1 and k2) to the initial residual information and other residual information in the geometric prediction tree, and use an adaptive exponential Golomb order to encode the initial residual information and other residual information to obtain encoded point cloud data. Specifically, based on the range of geometric information values of the geometric prediction tree, an initial order k1 is set as the order of the initial 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, wherein k1 is based on the average value of the residual information of n1 previous starting points, and k2 is based on the average value of the residual information of n1 other previous points; or the order of the starting point k1 is fixed, and k2 is adaptively adjusted.
[0109] In one optional embodiment, the computer device can acquire the attribute prediction residuals of data points in point cloud data, and determine the initial encoding parameters of the data points based on the signal characteristics of the attribute prediction residuals. An upper limit parameter and a lower limit parameter are then determined based on these initial encoding parameters. Further, the computer device can adjust the initial encoding parameters based on 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 a 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 a 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, the target encoding parameter is determined to be equal to 0; or, if the target encoding parameter is less than 0, the target encoding parameter is determined to be equal to the initial encoding parameter.
[0110] In one optional embodiment, the computer device can acquire the attribute transformation coefficients of data points in point cloud data, and determine the initial encoding parameters of the data points based on the signal characteristics of the attribute transformation coefficients. An upper limit parameter and a lower limit parameter are then determined based on the initial encoding parameters. Further, the computer device can adjust the initial encoding parameters based on the signal characteristics of the attribute transformation coefficients of the data points to obtain the target encoding parameters of the data points. Specifically, if the attribute transformation coefficient 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 transformation coefficient 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, the target encoding parameter is determined to be equal to 0; or, if the target encoding parameter is less than 0, the target encoding parameter is determined to be equal to the initial encoding parameter.
[0111] In this embodiment, by acquiring the signal to be encoded within the target data block of point cloud data, and the signal characteristics of the signal to be encoded within the target data block, the point cloud data is encoded using a non-uniform length encoding method. The signal to be encoded is used to reflect the media attributes of the target data block. It is evident that using a non-uniform length encoding method can reduce the amount of encoded data in the target data block. Based on the signal characteristics of the signal to be encoded within the target data block, the target encoding parameters for 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, i.e., 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 is evident that using accurate target encoding parameters to encode the signal to be encoded in the target data block can achieve representation of the signal to be encoded with fewer bits, thereby reducing the amount of encoded data corresponding to the target data block, reducing the pressure on network transmission, reducing the receiving pressure on the decoding device, and improving the decoding efficiency of the encoded data. In other words, by adaptively determining how many codes 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, data blocks with different signal characteristics have different codes. This 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.
[0112] like Figure 5 As shown, Figure 5 This application provides a method for decoding point cloud data, which will be described below in conjunction with... Figure 5 This application provides a detailed description of the point cloud data decoding method proposed in its embodiments. This method can be executed by a computer device, which may refer to a decoding device. Figure 5 As shown, 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 digital city maps, playing a crucial technical support role in numerous popular research areas such as smart cities, autonomous driving, and cultural relic protection. Computer equipment can collect point cloud data from the surface of a target object using 3D scanning equipment. This point cloud data can then be encoded by an encoding device to obtain coded data, which is sent to a decoding device. The decoding device decodes the coded data to obtain the original point cloud data and reconstructs it. The point cloud data includes one or more data blocks, and the target data block belongs to any one of these data blocks. The target data block can be any single data point or a group of at least two data points within the point cloud data. For example, a target data block can refer to point cloud data, a macroblock within point cloud data, or a prediction tree (a tree composed of multiple data points in point cloud data). The coded data of the target data block is obtained by the encoding device encoding the signal to be encoded within the target data block according to the target encoding parameters under a non-uniform length encoding method. The target encoding parameters are determined based on the signal characteristics of the signal to be encoded within 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 used to decode the encoded data of the target data block. This decoding method can refer to the decoding method corresponding to the non-uniform length encoding method used by the encoding device to encode the target data block.
[0115] Among them, non-uniform length encoding methods can refer to unsigned exponential Golomb encoding, signed exponential Golomb encoding, truncated exponential Golomb encoding, and mapped exponential Golomb encoding, 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, if the encoding method of the target data block is unsigned exponential Golomb encoding, then the decoding method of the target data block is unsigned exponential Golomb decoding.
[0116] S202, Determine the target decoding parameters of the target data block based on the target encoding parameters.
[0117] Specifically, the computer equipment can determine the target decoding parameters of the target data block based on the target encoding parameters. The target decoding parameters can be the same as the target encoding parameters of the target data block under the encoding method. For example, if the target encoding parameter of the target data block under the exponential Golomb encoding method is "order 0", then the target decoding parameter is also "order 0". The target encoding parameters of the target data block under the encoding method can be determined based on the signal characteristics of the signal to be encoded within the target data block. This signal reflects the media attributes of the target data block, which can refer to attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material properties, and texture information. The number of signals to be encoded within the target data block can be one or more. These signals 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, distribution characteristics, signal value, or signal characteristics of the associated signal related to 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 and minimum signals to be encoded within the target data block; or, the signal range value can be determined based on the sampling precision of the target data block. The target encoding parameters corresponding to the target data block can be obtained from a second parameter table based on the target index value. This second parameter table includes at least one index value and encoding parameters associated with each of the at least one index value. The target index value is obtained by quantizing and subtracting the signal threshold range of the signal to be encoded. Optionally, the target encoding parameters can be determined based on the encoded data of already encoded data blocks that are adjacent to the target data block in the point cloud data. The process for determining the target encoding parameters corresponding to the target data block can be found above. Figure 2 The process by which the encoding device determines the target encoding parameters corresponding to the target data block is not described in detail in the embodiments of this application.
[0119] Optionally, the point cloud data includes at least two data groups. The target data block belongs to the first data group, and the data blocks within the first data group have the same encoding parameters. The encoded data block belongs to the second data group, which is adjacent to the first data group. The at least two data groups are obtained by grouping the data blocks according to their positions in the point cloud data; or, the at least two data groups are obtained by grouping the data blocks according to their respective Hilbert transform codes. The Hilbert transform codes are obtained by applying a Hilbert transform to the position 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 a partition size; or, the at least two data groups are obtained by dividing the point cloud data according to a target limit number and the encoding order of the data blocks. Different encoding parameters can be used between multiple signals of different attribute types within the target data block, i.e., one encoding parameter corresponds to one signal. Different sub-encoded signals within different signals can use the same or different encoding parameters, as detailed above. Figure 2 The descriptions in the embodiments of this application will not be repeated here.
[0120] Optionally, the specific method by which the computer device determines the target decoding parameters may include: obtaining a 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. From the parameter set corresponding to the point cloud data, the target encoding parameters corresponding to the target data block are obtained, and the target encoding parameters corresponding to the target data block are determined as the target decoding parameters 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 associate and store the encoded data of the target data block with the target encoded data of the target data block, and generate a bitstream of point cloud data based on the encoded data 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 a parameter set. This parameter set includes the correspondence between data blocks in the point cloud data and their corresponding encoding parameters, and sends this 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 encoded parameters corresponding to the target data block from the parameter set corresponding to the point cloud data, and determine the target encoded parameters corresponding to the target data block as the target decoding parameters for the target data block.
[0122] The encoding device can also associate and store the encoding parameters corresponding to each data block in the point cloud data within the point cloud data bitstream, and then send the bitstream to the decoding device. Upon receiving the bitstream, the decoding device can retrieve the encoded data and encoding parameters corresponding to each data block from the bitstream. The computer device can then obtain the target encoding parameters corresponding to the target data block from the encoding parameters of each data block in the point cloud data, and determine the target encoding parameters of the target data block as the target decoding parameters for the target data block.
[0123] The computer device can 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 can be the default method for determining encoding and decoding parameters used by the encoding and decoding devices for point cloud data. It is understood that the encoding device uses the parameter determination method to determine the target encoding parameters, and uses the target encoding parameters to encode the point cloud data to obtain the encoded point cloud data. The decoding device can use the same method as the encoding device to determine the target encoding parameters, and uses the target decoding parameters to decode the encoded point cloud data to obtain the point cloud data. In other words, the method by which the encoding device determines the target encoding parameters of the target data block is the same as the method by which the decoding device determines the target decoding parameters of the encoded data of the target data block. The parameter determination method for the target encoding parameters can be the default method used by both the encoding and decoding devices.
[0124] Optionally, the target encoding parameters can be determined using a method based on a query parameter table. This means the target encoding device determines the target index value based on the signal characteristics of the signal to be encoded within the target data block, and then queries the second parameter table to retrieve the target encoding parameters corresponding to the target data block. For details, please refer to the above. Figure 2 The content described herein will not be repeated here. The specific method by which a computer device determines target decoding parameters may include: obtaining the signal range value corresponding to the signal to be encoded within the target data block; quantizing the signal range value corresponding to the signal to be encoded within the target data block to obtain a quantized signal range value; obtaining the logarithm of the quantized signal range value; subtracting the logarithm of the quantized signal range value to obtain a target index value corresponding to the target data block; querying a first parameter table for decoding parameters associated with the target index value, wherein the first parameter table includes at least one index value and decoding parameters associated with each of the at least one index value; and determining the queried decoding parameters as the target decoding parameters for the target data block.
[0125] Specifically, the computer device can obtain the signal range value corresponding to the signal to be encoded within the target data block. This signal range value 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 based on the signal range value corresponding to the signal to be encoded within the target data block. Specifically, the computer device can obtain the quantization step size (which can be obtained from quantization parameters). This quantization step size can be preset by the administrator or determined based on 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 within the target data block based on the quantization step size, obtaining the quantized signal range value. By quantizing the signal range value, signal range values within the target range can be replaced by a target signal range value to compress the data and facilitate subsequent quick retrieval 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 and perform a subtraction operation on the logarithm of the quantized signal range value to obtain the target index value corresponding to the target data block.
[0126] Further, the encoding parameters associated with the target index value are queried from the first parameter table. The first parameter table includes at least one index value and a decoding parameter associated with each of the at least one index value; that is, one index value corresponds to one decoding parameter. The computer device can determine the queried decoding parameters as the target decoding parameters for the target data block. The first parameter table is identical to the first parameter table in the encoding device and can be sent by the encoding device to the decoding device. The decoding device can also generate the first parameter table according to the method used by the encoding device to generate the second parameter table.
[0127] Optionally, the target encoding parameters can be determined based on adjacent data blocks. That is, the target encoding device adjusts the initial order based on the encoded data of already encoded data blocks adjacent to the target data block in the point cloud data to obtain the target encoding parameters for the target data block. See the above for details. Figure 2 The content of this embodiment will not be repeated here. The specific method by which a computer device determines the target decoding parameters may include: obtaining the signal range value corresponding to the signal to be encoded within the target data block; determining the initial decoding parameters of the target data block based on the signal range value corresponding to the target data block; obtaining the decoding signals of already decoded data blocks in the point cloud data that are adjacent to the target data block; and adjusting the initial decoding parameters based on the decoding signals of the already decoded data to obtain the target decoding parameters corresponding to the encoded data of the target data block.
[0128] Specifically, the computer device acquires 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 based on the signal range value. The specific determination process can refer to the above-described process of determining the target index value based on the signal range value corresponding to the target data block, and determining the target decoding parameters from the first parameter table based on the target index value. Further, the computer device can acquire the decoding signals of already decoded data blocks in the point cloud data that are adjacent to the target data block, and adjust the initial decoding parameters based on the decoding signals of the already decoded data to obtain the target decoding parameters corresponding to the encoded data of the target data block. For details, please refer to the above. Figure 2 The process by which the encoding device determines the target encoding parameters based on the encoded data of the encoded data block is the same as the method by which the decoding device determines the target decoding parameters. This will not be elaborated further in the embodiments of this application.
[0129] Optionally, the signal range value of the signal to be encoded within the target data block is determined based on the maximum and minimum signals to be encoded within the target data block; or, the signal range value is determined based on the sampling precision of the signals to be encoded within the target data block.
[0130] Specifically, the signal characteristic can refer to the signal range value of the signal to be encoded within the target data block. This signal range value is determined based on the maximum and minimum signals to be encoded within the target data block. The maximum and minimum signals to be encoded within the target data block can be determined by the encoding device. Specifically, the signal range value can refer to the difference between the signal values of the maximum and minimum signals 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 can refer to the difference between the maximum and minimum geometric prediction residuals. For example, if the signal value of the maximum signal to be encoded in 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, the signal range value can be determined based on the sampling precision of the signal to be encoded within the target data block, which is sent by the encoding device to the decoding device. For example, if the geometric precision of point cloud data is 10 bits, then the precision of the signal to be encoded within the target data block in the point cloud data can be 10 bits, and the signal range value of the signal to be encoded in the target data block can be 2. 10 .
[0131] Optionally, if the encoding method of the encoding device can be exponential Golomb encoding, then the decoding method of the decoding device can also be exponential Golomb encoding, 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 method by 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; determining a first limiting order and a second limiting order based on the initial order, wherein the first limiting order is less than the second limiting order; obtaining the magnitude relationship between the target signal value and the first limiting order and the second limiting order; adjusting the initial order based on the magnitude relationship 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 can 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 within the encoded data block is one, the target signal value of the decoded signal of the decoded data block can be the signal value corresponding to the decoded signal within the decoded data block. When the number of decoded data blocks is one, and the number of decoded signals within the decoded data block is n1, the target signal value of the decoded signal of the decoded data block can be the average of the signal values corresponding to the n1 decoded signals within 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 can be the average of the decoded signals of the n1 decoded data blocks. The computer device can determine a first limiting order and a second limiting order based on the initial order, where the first limiting order is less than the second limiting order. The computer device can be configured to store the decoded data blocks in buffers of size n1, and the target signal value of the decoded data blocks can be counted every n2 points. Each decoded data block can be a single data point in the point cloud data, and the initial order can be adjusted every n1 data points.
[0133] Specifically, the first limiting order refers to the lower limiting order, and the second limiting order can refer to the upper limiting order. The initial order is represented by `golombNum`, the first limiting order is represented by `golombNumLow`, and the second limiting order is represented by `golombNumLow`. Optionally, the computer device may determine the first and second limiting orders based on the initial order in ways including but not limited to the following: Method 1: `golombNumLow = 2^golombNum`, `golombNumUp = 2^(golombNum+1)`. Method 2: `golombNumLow = 2^(golombNum-1)`, `golombNumUp = 2^golombNum`. Method 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 methods, other methods can be used to determine the first and second restriction orders depending on the specific circumstances. The application embodiments will not be elaborated here.
[0134] Furthermore, the computer device can obtain the relationship between the target signal value of the decoded signal of the decoded data block and the first and second limiting orders. This relationship can include the target signal value being less than the first limiting order, or the target signal value being greater than the second limiting order, or the target signal value being greater than or equal to the first limiting order and less than or equal to the second limiting order. Based on this relationship, the computer device can adjust the initial order to obtain the target order associated with the target data block. The computer device can then determine the target order as the target decoding parameter for the target data block.
[0135] Optionally, the computer device may adjust the initial order in the following ways, including but not limited to: if the target signal value indicating the size relationship is less than a first limiting order, then the sum of the initial order and the first adjustment step size is determined as the target order associated with the target data block. If the target signal value indicating the size relationship is greater than a second limiting order, then the difference between the initial order and the first adjustment step size is determined as the target order associated with the target data block. If the target signal value indicating the size relationship 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.
[0136] Specifically, if the computer device determines that the target signal value indicating the size relationship is less than the first limiting order, the computer device can determine the target order associated with the target data block as the sum of the initial order and the first adjustment step size. The first adjustment step size can be determined by historical encoding records, or by administrators, and can be a value such as 1, 2, or 3. If the target signal value indicating the size relationship is greater than the second limiting order, the computer device can determine the target order associated with the target data block as the difference between the initial order and the first adjustment step size. If the target signal value indicating the size relationship is greater than or equal to the first limiting order and less than or equal to the second limiting order, the initial order is not adjusted, and the initial order is determined as the target order associated with the data block.
[0137] Optionally, the decoding parameters corresponding to the decoded data block are obtained. If the size relationship indicates that the target signal value is less than the first limiting order, the sum of the historical order and the second adjustment step size is determined 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 limiting order, the difference between the historical order and the second adjustment step size is determined 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 limiting order and less than or equal to the second limiting order, the initial order is determined as the target order associated with the target data block.
[0138] Specifically, the computer equipment can 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 limiting order, the sum of the historical order and the second adjustment step size is determined as the target order associated with the target data block. The second adjustment step size can be the same as or different from the first adjustment step size. Similarly, the second adjustment step size can also be determined by historical encoding record information, or by administrators, etc. The second adjustment step size can be a value such as 1, 2, or 3. If the size relationship indicates that the target signal value is greater than the second limiting order, the difference between the historical order and the second adjustment step size is determined 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 limiting order and less than or equal to the second limiting order, the initial order is determined as the target order associated with the target data block. See the above for details. Figure 2 The adjustments to the initial order are not detailed here in the embodiments of this application.
[0139] Optionally, the specific method by which the computer device adjusts the initial order may include, but is not limited to, the following: Adjusting the initial order based on 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 limiting order, the sum of the candidate order and the third adjustment step size is determined as the target order associated with the target data block. If the target order is greater than or equal to the fourth limiting order, the difference between the candidate order and the third adjustment step size is determined as the target order associated with the target data block; the third limiting order is less than the fourth limiting order. If the target order is greater than the third limiting order and less than the fourth limiting order, the candidate order is determined as the target order associated with the target data block.
[0140] Specifically, the computer equipment can adjust the initial order based on the size relationship to obtain the candidate order associated with the target data block. The process of adjusting the initial order can be found in the above-described process. The computer equipment can detect the relationship between the candidate order associated with the target data block and the third and fourth limiting orders, and adjust the candidate order based on this relationship to obtain the target order associated with the target data block. The third and fourth limiting orders are used to restrict the target order associated with the target data block to a reasonable order range, with the third limiting order being less than the fourth limiting order. Specifically, if the candidate order is less than or equal to the third limiting order, it can be determined that the candidate order is too small, and the sum of the candidate order and the third adjustment step size can be used as the target order associated with the target data block. Alternatively, if the candidate order is less than or equal to the third limiting order, a first preset order can be used as the target order associated with the target data block. This first preset order is greater than the third limiting order and less than the fourth limiting order, meaning the first preset order is within a reasonable order range. If the target order is greater than or equal to the fourth limiting order, the difference between the candidate order and the third adjustment step size can be determined as the target order associated with the target data block. Alternatively, if the candidate order is greater than or equal to the fourth limiting 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 limiting order and less than the fourth limiting order, meaning the second preset order is within a reasonable order range. If the target order is greater than the third limiting order and less than the fourth limiting order, it indicates that the candidate order is within a reasonable order range, and no adjustment is made to the candidate order; the candidate order is determined as the target order associated with the target data block.
[0141] It should be noted that the above details can be referenced. Figure 2 The process of determining the target encoding parameters based on the encoded data blocks with adjacent relationships is the same as the process of the encoding device determining the target encoding parameters based on the encoded data blocks.
[0142] Optionally, the encoded data within the target data block includes first encoded data and second encoded data, wherein 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 a first decoding parameter for decoding the first encoded data and a second decoding parameter for decoding the second encoded data; the first decoding parameter and the second decoding parameter 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 parameter is determined based on the sub-signal features 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 parameters; the decoding parameter corresponding to the association information associated with the first encoded data is the first decoding parameter.
[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 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 features 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; and the third sub-decoding parameter is determined based on the second sub-decoding parameter and the target offset.
[0145] Specifically, the above content can be found in the above text. Figure 2 As described in the text, the method by which the encoding device determines the target encoding parameters of the target data block is the same as the method by which the decoding device determines the target decoding parameters of the encoded data of the target data block, and will not be repeated here in the embodiments of this application.
[0146] S203, decode the encoded data according to the target decoding parameters to obtain the decoded signal of the target data block.
[0147] Specifically, computer equipment can decode encoded data according to target decoding parameters to obtain a decoded signal for the target data block. This decoded signal reflects the media attributes of the target data block. The media attributes of the target data block can include properties such as geometric location information, color, reflectivity, classification value, intensity value, time, material properties, and texture information. The decoded signal 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.
[0148] Optionally, the encoded data of the target data block includes an encoding tag and a target signal threshold. The specific method by which the computer device decodes the encoded data may include: if the encoding tag included in the encoded data of the target data block is a first encoding tag, then the encoded data is decoded according to the target decoding parameters to obtain an initial decoded signal; the initial decoded signal is then summed according to the target signal threshold to obtain the decoded signal of the target data block; the first encoding tag is used to indicate that the decoded signal of the target data block is different from the target signal threshold. If the encoding tag included in the encoded data of the target data block is a second encoding tag, then the target signal threshold is determined as the decoded signal of the target data block; the second encoding tag is used to indicate that the decoded signal of the target data block is the same as the target signal threshold.
[0149] Specifically, if the computer device detects that the encoded data of the target data block includes an encoding tag and a target signal threshold, the computer device can detect whether the encoding tag in the encoded data of the target data block is a first encoding tag. If the encoding tag in the encoded data is a first encoding tag, which indicates that the decoded signal of the target data block is different from the target signal threshold, the computer device can decode the encoded data corresponding to the target data block according to the target decoding parameters to obtain an initial decoded signal. Further, the computer device can 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 uses the signal difference = signal value of the signal to be encoded - (m+1) to encode the signal to be encoded in the target data block, the decoding device can 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 tag included in the encoded data of the target data block is a second encoding tag, which indicates that the decoded signal of the target data block is the same as the target signal threshold, the computer device can determine the target signal threshold as the decoded signal of the target data block.
[0150] In this embodiment, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded within the target data block according to the target encoding parameters of the target data block under a non-uniform length encoding method. These target encoding parameters are determined based on the signal characteristics of the signal to be encoded within the target data block. 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. In other words, by adaptively determining how many bits of encoding 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, data blocks with different signal characteristics have different encodings. This effectively reduces the redundancy of the encoded data of the target data block, i.e., reduces the length of the encoded data of the target data block, and simultaneously improves the transmission efficiency of the encoded data of the target data block. Furthermore, 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 aforementioned 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, thereby improving the decoding efficiency.
[0151] Please see Figure 6 , Figure 6 This is a schematic diagram of a point cloud data decoding device provided in an embodiment of this application. The aforementioned point cloud data decoding device can be a computer program (including program code) running on a computer device; for example, the point cloud data decoding device is an application software. The point cloud data decoding device can be used to execute corresponding steps in the point cloud data decoding method provided in the embodiments of this application. Figure 6 As shown, the decoding device for the 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 used to acquire the 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 in the target data block according to the target encoding parameters of the target data block under the non-uniform 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;
[0153] The first determining module 12 is used to determine the target decoding parameters of the target data block based on the target encoding parameters;
[0154] The decoding module 13 is used to decode the encoded data of the target data block according to the target decoding parameters to obtain the decoding signal of the target data block; the decoding signal is used to reflect the media attributes of the target data block.
[0155] The first determining module 12 includes:
[0156] The first query unit 1201 is used to obtain the target encoding parameters corresponding to the target data block from the parameter set corresponding to the point cloud data;
[0157] The first determining unit 1202 is used to determine the target encoding parameters corresponding to the target data block as the target decoding parameters of the target data block.
[0158] Understandably, the first determining module 12 determines the target decoding parameters of the target data block based on the target encoding parameters, including:
[0159] If the target encoding parameters are determined by querying a parameter table, then the signal range value corresponding to the signal to be encoded within the target data block is obtained;
[0160] The target index value corresponding to the target data block is determined based on the signal range value corresponding to the signal to be encoded within the target data block.
[0161] The decoding parameters associated with the target index value are queried from a first parameter table, which includes at least one index value and a decoding parameter associated with each of the at least one index value.
[0162] The decoding parameters obtained from the query are determined as the target decoding parameters for the target data block.
[0163] Understandably, the first determining module 12 determines the target decoding parameters of the target data block based on the target encoding parameters, including:
[0164] If the target encoding parameters are determined based on data blocks with adjacent relationships, then the signal range value corresponding to the signal to be encoded within the target data block is obtained;
[0165] The initial decoding parameters of the target data block are determined based on the signal range value corresponding to the target data block;
[0166] Obtain the decoding signal of the decoded data block that is adjacent to the target data block in the point cloud data;
[0167] Based on the decoding signal of the decoded data, the initial decoding parameters are adjusted to obtain the target decoding parameters corresponding to the encoded data of the target data block.
[0168] Understandably, the initial decoding parameters are the initial order; the first determining module 12 adjusts the initial decoding parameters according to the decoding signal of the decoded data to obtain the target decoding parameters corresponding to the encoded data of the target data block, including:
[0169] Determine the target signal value of the decoded signal of the decoded data block;
[0170] Based on the initial order, a first limiting order and a second limiting order are determined, wherein the first limiting order is less than the second limiting order;
[0171] Obtain the magnitude relationship between the target signal value and the first constraint order and the second constraint order;
[0172] Based on the size relationship, the initial order is adjusted to obtain the target order associated with the target data block;
[0173] The target order is determined as the target decoding parameter corresponding to the encoded data of the target data block.
[0174] Understandably, the first determining module 12 adjusts the initial order according to the size 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 limiting order, then the sum between the initial order and the first adjustment step size is determined 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 limiting order, then the difference between the initial order and the first adjustment step size is determined 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 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.
[0178] Understandably, the first determining module 12 adjusts the initial order according to the size relationship to obtain the target order associated with the target data block, including:
[0179] Obtain the decoding parameters corresponding to the decoded data block;
[0180] If the size relationship indicates that the target signal value is less than the first limiting order, then the sum of the historical order and the second adjustment step size is determined 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 limit order, then the difference between the historical order and the second adjustment step size 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] Understandably, the first determining module 12 adjusts the initial order according to the size relationship to obtain the target order associated with the target data block, including:
[0184] Based on the size relationship, the initial order is adjusted to obtain the 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 size 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 size 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 restricted order and less than the fourth restricted order, then the candidate order is determined as the target order associated with the target data block.
[0188] It is understood that the signal range value of the signal to be encoded within the target data block is determined based on the maximum and minimum signals to be encoded within the target data block; or,
[0189] The signal range value is determined based on the sampling accuracy of the signal to be encoded within the target data block.
[0190] It is understood that 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;
[0191] The target decoding parameters of the target data block include a first decoding parameter for decoding the first encoded data and a second decoding parameter for decoding the second encoded data; the first decoding parameter and the second decoding parameter are different.
[0192] It is 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 the sub-signal features corresponding to the first sub-coded data, the second sub-coded data, and the third sub-coded data, respectively;
[0194] 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 parameters;
[0195] The decoding parameter corresponding to the association information associated with the first encoded data is the first decoding parameter.
[0196] It is 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 the first sub-decoding parameter corresponding to the first sub-encoded data, the second sub-decoding parameter corresponding to the second sub-encoded data, and the third sub-decoding parameter corresponding to the third sub-encoded data.
[0197] The first sub-decoding parameter is determined based on the sub-signal features corresponding to the first sub-encoded data;
[0198] The second sub-decoding parameter is determined based on the first sub-decoding parameter and the target offset;
[0199] The third sub-decoding parameter is determined based on the second sub-decoding parameter and the target offset.
[0200] Decoding module 13 includes:
[0201] The first decoding unit 1301 is used to decode the encoded data according to the target decoding parameters to obtain an initial decoding signal if the encoded tag included in the encoded data of the target data block is the first encoding tag, and to sum the initial decoding signal according to the target signal threshold to obtain the decoded signal of the target data block; the first encoding tag is used to indicate that the decoded signal of the target data block is different from the target signal threshold.
[0202] The second decoding unit 1302 is used to determine the target signal threshold as the decoding signal of the target data block if the encoding tag included in the encoded data of the target data block is the second encoding tag; the second encoding tag is used to indicate that the decoding signal of the target data block is the same as the target signal threshold.
[0203] According to one embodiment of this application, Figure 6The various modules in the point cloud data decoding device shown can be individually or entirely merged into one or more units, or one or more of these units can be further divided into multiple functionally smaller sub-units to achieve the same operation without affecting the technical effects of the embodiments of this application. The above modules are based on logical functional division; in practical applications, the function of one module can be implemented by multiple units, or the function of multiple modules can be implemented by one unit. In other embodiments of this application, the point cloud data decoding device may also include other units; in practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0204] In this application, the encoded data of the target data block in the point cloud data is obtained by encoding the signal to be encoded within the target data block according to the target encoding parameters of the target data block under a non-uniform length encoding method. These target encoding parameters are determined based on the signal characteristics of the signal to be encoded within the target data block. 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. In other words, by adaptively determining how many bits of encoding 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, data blocks with different signal characteristics have different encodings. This effectively reduces the redundancy of the encoded data of the target data block, i.e., reduces the length of the encoded data of the target data block, and simultaneously improves the transmission efficiency of the encoded data of the target data block. Furthermore, 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 aforementioned 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, thereby improving the decoding efficiency.
[0205] Please see Figure 7 , Figure 7 This is a schematic diagram of a point cloud data encoding device provided in an embodiment of this application. The aforementioned point cloud data encoding device can be a computer program (including program code) running on a computer device; for example, the point cloud data encoding device is an application software. The point cloud data encoding device can be used to execute corresponding steps in the point cloud data encoding method provided in the embodiments of this application. Figure 7 As shown, the encoding device for the point cloud data may 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 used to acquire the signal to be encoded in the target data block of 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 length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block;
[0207] The second determining module 22 is used to determine the target encoding parameters of the target data block under the encoding mode based on the signal characteristics of the signal to be encoded in the target data block;
[0208] The encoding module 23 is used to encode the signal to be encoded in the target data block according to the target encoding parameters to obtain the encoded data of the target data block.
[0209] 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 and minimum signals 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] The second determining module 22 includes:
[0212] The generation unit 2201 is used to quantize the signal range value included in the signal feature to obtain the quantized signal range value; obtain the logarithm of the quantized signal range value; and perform subtraction on the logarithm 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 used 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 encoding parameters associated with each of the at least one index value, the second parameter table is based on the fact that the number of data blocks contained in the first data group is the same, at least two data groups of point cloud data in the first data contain 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 determining unit 2203 is used to determine the encoding parameters obtained from the query as the target encoding parameters of the target data block under the encoding method.
[0215] The second determining module 22 includes:
[0216] The third determining unit 2204 is used to determine the initial encoding parameters of the target data block under the encoding mode based on the signal characteristics of the signal to be encoded in the target data block;
[0217] The acquisition unit 2205 is used to acquire the encoded data of the encoded data block that is adjacent to the target data block in the point cloud data;
[0218] The adjustment unit 2206 is used to adjust the initial encoding parameters according to the encoded data of the encoded data block to obtain the target encoding parameters of the target data block under the encoding mode.
[0219] Wherein, the initial encoding parameter is the initial order;
[0220] Adjustment unit 2206 is specifically used for:
[0221] Determine the target encoded value for the encoded data of the encoded data block;
[0222] Based on the initial order, determine the first and second constraint orders, where the first constraint order is less than the second constraint order.
[0223] Obtain the relationship between the target encoded value and the first and second constraint orders;
[0224] Based on the size relationship, the initial order is adjusted to obtain the target order associated with the target data block;
[0225] The target order is determined as the target encoding parameter of the target data block under the encoding method.
[0226] Specifically, the adjustment unit 2206 is used for:
[0227] If the size relationship indicates that the target encoding value is less than the first limit order, then the sum between the initial order and the first adjustment step size is determined as the target order associated with the target data block;
[0228] If the size relationship indicates that the target encoding value is greater than the second limit order, then the difference between the initial order and the first adjustment step size is determined as the target order associated with the target data block;
[0229] If the size relationship indicates that the target encoded value is greater than or equal to the first constraint order and less than or equal to the second constraint order, then the initial order is determined as the target order associated with the target data block.
[0230] Specifically, the adjustment unit 2206 is used for:
[0231] Get the encoding parameters corresponding to the encoded data block;
[0232] If the size relationship indicates that the target encoding value is less than the first limit order, then the sum of the historical order and the second adjustment step size is determined as the target order associated with the target data block.
[0233] If the size relationship indicates that the target encoding value is greater than the second limit order, then the difference between the historical order and the second adjustment step size is determined as the target order associated with the target data block.
[0234] If the size relationship indicates that the target encoded value is greater than or equal to the first constraint order and less than or equal to the second constraint order, then the initial order is determined as the target order associated with the target data block.
[0235] Specifically, the adjustment unit 2206 is used for:
[0236] Based on the size relationship, the initial order is adjusted to obtain the candidate order associated with the target data block;
[0237] If the candidate order is less than or equal to the third limiting order, the sum of the candidate order and the third adjustment step size 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 constraint order, the difference between the candidate order and the third adjustment step size is determined as the target order associated with the target data block; the third constraint order is less than the fourth constraint order.
[0239] If the target order is greater than the third constraint order but less than the fourth constraint order, then the candidate order is determined as the target order associated with the target data block.
[0240] Wherein, the target encoded value of the encoded data of the encoded data block is the average of all encoded values in the encoded data of the encoded data block; or,
[0241] The target encoded value of the encoded data of the encoded data block is the average of the non-zero encoded values in the encoded data of the encoded data block.
[0242] The point cloud data includes at least two data groups, and the target data block belongs to the first data group of the at least two data groups; the encoding parameters corresponding to the data blocks in the first data group are all target encoding parameters.
[0243] The encoded data block belongs to the second data group, which is adjacent to the first data group, in at least two data groups.
[0244] At least two of these data groups are grouped based on the location of the data blocks within the point cloud data; or,
[0245] At least two data groups are obtained by grouping data blocks in the point cloud data according to their respective Hilbert transform codes; the Hilbert transform codes for each data block in the point cloud data are obtained by performing a Hilbert transform on the position of each data block in the point cloud data; or...
[0246] At least two data sets were obtained by dividing the point cloud data according to the partition 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 the data blocks.
[0248] The signal to be encoded in the target data block includes one or more of the following: geometric prediction residual, attribute prediction residual, and attribute transformation coefficients.
[0249] The signals to be encoded within 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 a first signal to be encoded, and second encoding parameters for encoding a second signal to be encoded; the first encoding parameters and the second encoding parameters are different.
[0251] 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 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;
[0253] 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;
[0254] The encoding parameters corresponding to the association information associated with the first signal to be encoded are the first encoding parameters.
[0255] 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 the first sub-encoded parameter corresponding to the first sub-encoded signal, the second sub-encoded parameter corresponding to the second sub-encoded signal and the third sub-encoded parameter corresponding to the third sub-encoded signal.
[0256] The first sub-coding parameter is determined based on the sub-signal features corresponding to the first sub-coding signal;
[0257] The second sub-coding parameter is determined based on the first sub-coding parameter and the target offset;
[0258] The third sub-encoding parameter is determined based on the second sub-encoding parameter and the target offset.
[0259] The number of signals to be encoded in the target data block is M, where M is a positive integer;
[0260] Encoding module 23 includes:
[0261] Encoding unit 2301 is used to encode the signal to be encoded according to the first encoding tag and the target encoding parameter if the signal to be encoded is not the same as the target signal threshold, so as 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 that appears most frequently among the M signals to be encoded, the first encoding tag is used to indicate that the signal to be encoded is not the same as the target signal threshold, and i is a positive integer less than or equal to M;
[0262] The fourth determining unit 2302 is used to determine the encoded data corresponding to the M signals to be encoded as the encoded data of the target data block if the encoded data corresponding to the M signals to be encoded are obtained respectively.
[0263] The point cloud data encoding device also includes:
[0264] The third determining module 24 is used to determine the second encoding tag as the encoded data of the signal to be encoded if the threshold of the signal to be encoded is the same as that of the target signal; the second encoding tag is used to indicate that the threshold of the signal to be encoded is the same as that of the target signal.
[0265] Specifically, the encoding unit 2301 is used for:
[0266] If the threshold values of the signal to be encoded and the target signal are not the same, a first encoding tag is generated to indicate that the threshold values of the signal to be encoded and the target signal are not the same.
[0267] Based on the target signal threshold, the signal to be encoded is subtracted to obtain the signal difference value;
[0268] The signal difference is encoded according to the target encoding parameters to obtain the signal encoding value of the signal to be encoded;
[0269] The signal encoding value of the signal to be encoded and the first encoding tag are determined as the encoded data of the signal to be encoded.
[0270] According to one embodiment of this application, Figure 7 The modules in the point cloud data encoding device shown can be individually or entirely merged into one or more units, or some of these units can be further divided into multiple functionally smaller sub-units to achieve the same operation without affecting the technical effects of the embodiments of this application. The above modules are based on logical functional division; in practical applications, the function of one module can be implemented by multiple units, or the function of multiple modules can be implemented by one unit. In other embodiments of this application, the point cloud data encoding device may also include other units; in practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0271] In this embodiment, by acquiring the signal to be encoded within the target data block of point cloud data, and the signal characteristics of the signal to be encoded within the target data block, the point cloud data is encoded using a non-uniform length encoding method. The signal to be encoded is used to reflect the media attributes of the target data block. It is evident that using a non-uniform length encoding method can reduce the amount of encoded data in the target data block. Based on the signal characteristics of the signal to be encoded within the target data block, the target encoding parameters for 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, i.e., 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 is evident that using accurate target encoding parameters to encode the signal to be encoded in the target data block can achieve representation of the signal to be encoded with fewer bits, thereby reducing the amount of encoded data corresponding to the target data block, reducing the pressure on network transmission, reducing the receiving pressure on the decoding device, and improving the decoding efficiency of the encoded data. In other words, by adaptively determining how many codes 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, data blocks with different signal characteristics have different codes. This 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 see Figure 8 , Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 8 As shown, the computer device 1000 may include a processor 1001, a network interface 1004, and a memory 1005. Furthermore, the computer device 1000 may also include a user interface 1003 and at least one communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen and a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. Optionally, the network interface 1004 may include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as at least one disk storage device. Optionally, the memory 1005 may also be at least one storage device located remotely from the processor 1001. Figure 8As shown, 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.
[0273] In such Figure 8 In the computer device 1000 shown, the network interface 1004 provides network communication functionality; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:
[0274] The encoded data of the target data block in the point cloud data is obtained; 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 of the target data block under the non-uniform 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] Based on the target encoding parameters, determine the target decoding parameters for the target data block;
[0276] The encoded data of the target data block is decoded 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 this application can execute the foregoing text. Figure 5 The description of the point cloud data decoding method in the corresponding embodiment can also be executed as described above. Figure 7 The description of the point cloud data decoding device in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated.
[0278] Please see Figure 9 , Figure 9 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 9As shown, the computer device 2000 may include a processor 2001, a network interface 2004, and a memory 2005. Furthermore, the computer device 2000 may also include a user interface 2003 and at least one communication bus 2002. The communication bus 2002 is used to enable communication between these components. The user interface 2003 may include a display screen and a keyboard; optionally, the user interface 2003 may also include a standard wired interface or a wireless interface. Optionally, the network interface 2004 may include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 2005 may be high-speed RAM or non-volatile memory, such as at least one disk storage device. Optionally, the memory 2005 may also be at least one storage device located remotely from the processor 2001. Figure 9 As shown, the memory 2005, 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.
[0279] In such Figure 9 In the computer device 2000 shown, the network interface 2004 provides network communication functionality; the user interface 2003 is mainly used to provide an input interface for the user; and the processor 2001 can be used to call the device control application program stored in the memory 2005 to achieve:
[0280] The signal to be encoded within the target data block in the point cloud data is obtained, along with the signal characteristics of the signal to be encoded within the target data block. The point cloud data is encoded using a non-uniform length encoding method, and the signal to be encoded is used to reflect the media attributes of the target data block.
[0281] Based on the signal characteristics of the signal to be encoded within the target data block, determine the target encoding parameters of the target data block under the encoding method;
[0282] The signal to be encoded in the target data block is encoded 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 this application can execute the foregoing text. Figure 2 The description of the point cloud data encoding method in the corresponding embodiments can also be performed as described above. Figure 6 The description of the point cloud data encoding device in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated.
[0284] Furthermore, it should be noted that this application embodiment also provides a computer-readable storage medium, which stores a computer program executed by the decoding device for the point cloud data mentioned above. The computer program includes program instructions, and when the processor executes the program instructions, it can execute the aforementioned... Figure 5 The decoding method for point cloud data in the corresponding embodiment, or, Figure 2 The description of the encoding method for point cloud data in the corresponding embodiments will not be repeated here.
[0285] Furthermore, the beneficial effects of using the same method will not be repeated here. For technical details not disclosed in the computer-readable storage medium embodiments involved in this application, please refer to the description of the method embodiments of this application. As an example, program instructions can be deployed and executed on a computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed in multiple locations and interconnected through a communication network. Multiple computing devices distributed in multiple locations and interconnected through a communication network can constitute a blockchain system.
[0286] Furthermore, it should be noted that this application also provides a computer program product or computer program, which may include computer instructions, which may be stored in a computer-readable storage medium. The processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor may execute the computer instructions, causing the computer device to perform the aforementioned actions. Figure 5 The decoding method for point cloud data in the corresponding embodiment, or, Figure 2 The description of the point cloud data encoding method in the corresponding embodiments is already provided and will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the computer program products or computer program embodiments related to this application, please refer to the description of the method embodiments of this application.
[0287] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0288] The steps in the method of this application embodiment can be adjusted, combined, or deleted according to actual needs.
[0289] The modules in the device of this application embodiment can be merged, divided, and deleted according to actual needs.
[0290] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0291] The above description discloses only preferred embodiments of the present invention and should not be construed as limiting the scope of the present invention. Therefore, equivalent variations made in accordance with the claims of the present invention are still within the scope of the present invention.
Claims
1. A method for decoding point cloud data, characterized in that, include: Obtain 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 of the target data block under the non-uniform length encoding encoding method; Based on the target encoding parameters, determine the target decoding parameters for the target data block; The encoded data of the target data block is decoded according to the target decoding parameters to obtain the decoded signal of the target data block.
2. The method according to claim 1, characterized in that, Determining the target decoding parameters of the target data block based on the target encoding parameters includes: Obtain the target encoding parameters corresponding to the target data block from the parameter set corresponding to the point cloud data; The target encoding parameters corresponding to the target data block are determined as the target decoding parameters corresponding to the encoded data of the target data block.
3. The method according to claim 1, characterized in that, Determining the target decoding parameters of the target data block based on the target encoding parameters includes: If the target encoding parameters are determined by querying a parameter table, then the signal range value corresponding to the signal to be encoded within the target data block is obtained; The target index value corresponding to the target data block is determined based on the signal range value corresponding to the signal to be encoded within the target data block. The decoding parameters associated with the target index value are queried from a first parameter table, which includes at least one index value and a decoding parameter associated with each of the at least one index value. The decoding parameters obtained from the query are determined as the target decoding parameters for the target data block.
4. The method according to claim 1, characterized in that, Determining the target decoding parameters of the target data block based on the target encoding parameters includes: If the target encoding parameters are determined based on data blocks with adjacent relationships, then the signal range value corresponding to the signal to be encoded within the target data block is obtained; The initial decoding parameters of the target data block are determined based on the signal range value corresponding to the target data block; Obtain the decoding signal of the decoded data block that is adjacent to the target data block in the point cloud data; Based on the decoding signal of the decoded data, the initial decoding parameters are adjusted to obtain the target decoding parameters corresponding to the encoded data of the target data block.
5. The method according to claim 4, characterized in that, The initial decoding parameters are the initial order; The step of adjusting the initial decoding parameters based on the decoding signal of the decoded data to obtain the target decoding parameters corresponding to the encoded data of the target data block includes: Determine the target signal value of the decoded signal of the decoded data block; Based on the initial order, a first limiting order and a second limiting order are determined, wherein the first limiting order is less than the second limiting order; Obtain the magnitude relationship between the target signal value and the first constraint order and the second constraint order; Based on the size relationship, the initial order is adjusted to obtain the target order associated with the target data block; The target order is determined as the target decoding parameter corresponding to the encoded data of the target data block.
6. The method according to claim 5, characterized in that, The step of adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: If the magnitude relationship indicates that the target signal value is less than the first limiting order, then the sum between the initial order and the first adjustment step size 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 limiting order, then the difference between the initial order and the first adjustment step size 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 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.
7. The method according to claim 5, characterized in that, The step of 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 limiting order, then the sum of the historical order and the second adjustment step size 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 limit order, then the difference between the historical order and the second adjustment step size 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 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.
8. The method according to claim 5, characterized in that, The step of adjusting the initial order according to the size relationship to obtain the target order associated with the target data block includes: Based on the size relationship, the initial order is adjusted to obtain the candidate order associated with the target data block; 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 size is determined as the target order associated with the target data block. 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 size is determined as the target order associated with the target data block; the third limiting order is less than the fourth limiting order. If the candidate order is greater than the third restricted order and less than the fourth restricted order, then the candidate order is determined as the target order associated with the target data block.
9. The method according to any one of claims 3-8, characterized in that, The signal range value of the signal to be encoded within the target data block is determined based on the maximum and minimum signals 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.
10. The method according to claim 1, characterized in that, The encoded data within the target data block includes first encoded data and second encoded data, wherein 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 a first decoding parameter for decoding the first encoded data and a second decoding parameter for decoding the second encoded data; the first decoding parameter and the second decoding parameter are different.
11. The method according to claim 10, characterized in that, The first encoded data includes a first sub-encoded data, a second sub-encoded data, and a third sub-encoded data; The first decoding parameter is determined based on the sub-signal features corresponding to the first sub-coded data, the second sub-coded data, and the third sub-coded 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 parameters; The decoding parameter corresponding to the association information associated with the first encoded data is the first decoding parameter.
12. The method according to claim 11, characterized in that, The first encoded data includes a first sub-encoded data, a second sub-encoded data, and a third sub-encoded data. The first decoding parameters include 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 features 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.
13. The method according to claim 1, characterized in that, The encoded data of the target data block includes an encoded tag and a target signal threshold; The step of decoding the encoded data according to the target decoding parameters to obtain the decoded signal of the target data block includes: If the encoded data of the target data block includes an encoded tag that is a first encoded tag, then the encoded data is decoded according to the target decoding parameters to obtain an initial decoded signal. The initial decoded signal is then summed according to the target signal threshold to obtain the decoded signal of the target data block. The first encoded tag is used to indicate that the decoded signal of the target data block is not the same as the target signal threshold. If the encoded data of the target data block includes a second encoded tag, then the target signal threshold is determined as the decoded signal of the target data block; the second encoded tag is used to indicate that the decoded signal of the target data block is the same as the target signal threshold.
14. The method according to claim 1, characterized in that, The target encoding parameters are determined based on the signal characteristics of the signal to be encoded within the target data block; The decoded signal is used to reflect the media attributes of the target data block.
15. A method for encoding point cloud data, characterized in that, include: The signal to be encoded within a target data block in point cloud data, and the signal characteristics of the signal to be encoded within the target data block, are obtained; the encoding method of the point cloud data is a non-uniform length encoding method. Based on 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; The signal to be encoded in the target data block is encoded according to the target encoding parameters to obtain the encoded data of the target data block.
16. A decoding device for point cloud data, characterized in that, include: The first acquisition module is used to acquire the encoded data of the target data block in the point cloud data; The encoded data of the target data block is based on the target encoding parameters of the target data block under the non-uniform length encoding method; The first determining module is used to determine the target decoding parameters of the target data block based on the target encoding parameters; The decoding module is used to 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.
17. An encoding device for point cloud data, characterized in that, include: The third acquisition module is used to acquire the signal to be encoded within the target data block in the point cloud data, as well as the signal characteristics of the signal to be encoded within the target data block; the encoding method of the point cloud data is a non-uniform length encoding method; The first determining module is used to determine the target encoding parameters of the target data block under the encoding method based on the signal characteristics of the signal to be encoded in the target data block; The encoding module is used to encode the signal to be encoded in the target data block according to the target encoding parameters to obtain the encoded data of the target data block.
18. A computer device, characterized in that, include: Processor and memory; The processor is connected to a memory, wherein the memory is used to store a computer program, and the processor is used to invoke the computer program to cause the computer device to perform the method according to any one of claims 1-15.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1-15.