WO2024037244A1 - 点云数据的解码方法、编码方法、装置、存储介质及设备 - Google Patents

点云数据的解码方法、编码方法、装置、存储介质及设备 Download PDF

Info

Publication number
WO2024037244A1
WO2024037244A1 PCT/CN2023/106256 CN2023106256W WO2024037244A1 WO 2024037244 A1 WO2024037244 A1 WO 2024037244A1 CN 2023106256 W CN2023106256 W CN 2023106256W WO 2024037244 A1 WO2024037244 A1 WO 2024037244A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
encoded
data
processed
data block
Prior art date
Application number
PCT/CN2023/106256
Other languages
English (en)
French (fr)
Inventor
朱文婕
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2024037244A1 publication Critical patent/WO2024037244A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present application relates to the field of data processing technology, and in particular to a coding and decoding technology for point cloud data.
  • Point cloud data refers to a massive point collection obtained by scanning the surface attributes of an object.
  • a point or a group of points in point cloud data can be called a data block in point cloud data.
  • each data block in point cloud data includes multiple attributes such as geometric information, color and reflectivity of the object, and the magnitude of the data blocks in point cloud data is relatively large. From this, it can be seen that the amount of data included in point cloud data Very huge. Therefore, it is necessary to encode multiple attributes of data blocks in point cloud data to obtain a code stream. By transmitting this code stream, the transmission efficiency of point cloud data can be improved.
  • the technical problem to be solved by the embodiments of the present application is to provide a decoding method, encoding method, device, storage medium and equipment for point cloud data, which can improve the decoding efficiency of data blocks of point cloud data.
  • embodiments of the present application provide a method for decoding point cloud data.
  • the method is executed by a computer device and includes:
  • the encoded data of the data block to be processed is obtained by encoding the signal to be encoded in the data block to be processed according to the target encoding parameters, and the target encoding parameters is the coding parameter of the data block to be processed in the non-equal-length coding coding mode, and the target coding parameter is determined based on the signal characteristics of the signal to be coded;
  • the encoded data of the data block to be processed is decoded according to the target decoding parameter to obtain a decoded signal of the data block to be processed; the decoded signal is used to reflect the media attributes of the data block to be processed.
  • embodiments of the present application provide a method for encoding point cloud data.
  • the method is executed by a computer device and includes:
  • the encoding method of the point cloud data is a non-equal length encoding encoding method, and the signal to be encoded is used to reflect The media attributes of the data block to be processed;
  • the signal to be encoded is encoded according to the target encoding parameter to obtain encoded data of the data block to be processed.
  • inventions of the present application provide a device for decoding point cloud data.
  • the device is deployed on a computer device and includes:
  • the first acquisition module is used to obtain the encoded data of the data block to be processed in the point cloud data; the encoded data of the data block to be processed is obtained by encoding the signal to be encoded in the data block to be processed according to the target encoding parameters.
  • the target coding parameters are the coding parameters of the data block to be processed in a non-equal-length coding encoding mode, and the target coding parameters are determined based on the signal characteristics of the signal to be coded;
  • a first determination module configured to determine the target decoding parameters of the data block to be processed according to the target encoding parameters
  • a decoding module configured to decode the encoded data of the data block to be processed according to the target decoding parameters to obtain a decoded signal of the data block to be processed; the decoded signal is used to reflect the media of the data block to be processed. Attributes.
  • inventions of the present application provide a device for encoding point cloud data.
  • the device is deployed on a computer device and includes:
  • the third acquisition module is used to obtain the signal to be encoded in the data block to be processed in the point cloud data, and the signal characteristics of the signal to be encoded;
  • the encoding method of the point cloud data is a non-equal length encoding encoding method, so
  • the signal to be encoded is used to reflect the media attributes of the data block to be processed;
  • a first determination module configured to determine the target encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded
  • An encoding module configured to encode the signal to be encoded according to the target encoding parameter to obtain the encoded data of the data block to be processed.
  • embodiments of the present application provide a computer device, including: a processor and a memory;
  • the processor is connected to a memory, where the memory is used to store a computer program.
  • the computer program is executed by the processor, the computer device executes the method provided by the embodiment of the present application.
  • inventions of the present application provide a computer-readable storage medium.
  • the computer-readable storage medium stores a computer program.
  • the computer program is adapted to be loaded and executed by a processor, so that a computer device having the processor executes the present application. Examples provide methods.
  • embodiments of the present application provide a computer program product.
  • the computer program product includes a computer program, and the computer program is stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the method provided by the embodiment of the present application.
  • the data blocks in the point cloud data can be used as the data blocks to be processed.
  • the encoded data of the data blocks to be processed is obtained by encoding the signals to be encoded in the data blocks to be processed according to the target encoding parameters.
  • the target encoding The parameters are the coding parameters of the data block to be processed in the non-equal-length coding coding mode, and the target coding parameters are determined based on the signal characteristics of the signal to be coded.
  • the encoded data of the data block to be processed here refers to the number of bits used to describe the encoded data of the data block to be processed, that is, the encoded data of the data block to be processed refers to the length of the encoded data of the data block to be processed.
  • the decoding device After the decoding device receives the encoded data of the data block to be processed, it can decode the encoded data of the data block to be processed according to the target decoding parameter, and obtain the decoded signal of the data block to be processed.
  • the target decoding parameter is the above target.
  • the encoding parameters are determined, and since the redundancy of the encoded data of the data block to be processed is relatively low, the decoded signal of the data block to be processed can be quickly decoded, thereby improving the decoding efficiency.
  • Figure 1 is a schematic diagram of a point cloud data processing process provided by an embodiment of the present application.
  • Figure 2 is a schematic flow chart of a point cloud data encoding method provided by an embodiment of the present application
  • Figure 3 is a schematic diagram of a data block provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of a data group division provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of a point cloud data decoding method provided in an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of a point cloud data decoding device provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a point cloud data encoding device provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • Figure 9 is a schematic structural diagram of a computer device provided by an embodiment of the present application.
  • This application relates to the technical field of cloud technology.
  • this application relates to cloud computing in the field of cloud technology.
  • Cloud computing is a computing model that distributes computing tasks on a resource pool composed of a large number of computers, enabling various application systems to obtain computing power as needed. , storage space and information services.
  • the network that provides resources is called a "cloud”.
  • the resources in the "cloud” can be infinitely expanded from the user's perspective, and can be obtained at any time, used on demand, and expanded at any time.
  • This application can encode and decode data blocks to be processed in multiple point cloud data through cloud computing.
  • FIG. 1 is a point cloud data processing method provided by the embodiment of the present application. Schematic diagram, the point cloud data processing process is shown in Figure 1, which may include: acquisition of point cloud data 10a, preprocessing of point cloud data 10b, encoding of point cloud data 10c, quantification of point cloud data 10d, point cloud Entropy encoding of data 10e and decoding of point cloud data.
  • Point cloud data is a set of discrete points randomly distributed in space that express the spatial structure and surface properties of a three-dimensional object or scene.
  • Each data block in point cloud data has at least geometric position information (that is, three-dimensional position information). Depending on the application scenario, it may also have color, material or other media attribute information. Generally, each data point in the point cloud data has the same amount of media attribute information. In this application, one data point or a group of data points in the point cloud data can be called a data block.
  • Acquisition of point cloud data 10a refers to the acquisition of point cloud data.
  • the acquisition methods of point cloud data include but are not limited to: computer generation, 3D laser scanning, 3D photogrammetry, etc.
  • Computers can generate point cloud data of virtual three-dimensional objects and scenes.
  • 3D scanning can obtain point cloud data of static real-world three-dimensional objects or scenes, and millions of points can be obtained per second.
  • 3D photography can obtain point cloud data of dynamic real-world three-dimensional objects or scenes, and can obtain tens of millions of points per second.
  • Preprocessing of point cloud data 10b Preprocessing of point cloud data in 3D space includes coordinate system transformation (Transform coordinates) and voxelization (VoxeL1ze).
  • coordinate system transformation refers to converting the coordinate system of the points in the point cloud data into another different coordinate system (such as the world coordinate system) through scaling and translation.
  • Voxelization refers to coordinate quantification, deletion of duplicate points, and attribute assignment of points in point cloud data. All points located in the same voxel are quantified to the center of the voxel, and the attributes of all points in the voxel are combined and assigned. Give the voxel center and determine the voxel center as the new point. In this way, through scaling and translation operations, the point cloud data in the 3D space is converted into integer form, and its minimum geometric position is moved to the coordinate origin.
  • Coding of point cloud data 10c refers to coding of data blocks in point cloud data, including coding in both geometric coding and attribute coding (for example, as shown in Figure 1).
  • Geometric coding is to encode the geometric position information of points to obtain the geometric code stream of the points.
  • Geometric encoding can include the following two modes: (a) Octree-based geometric encoding (Octree): Octree is a tree data structure. In 3D space division, the point cloud bounding box (that is, containing all points The smallest cube of the cloud) is evenly divided, with each node having eight child nodes.
  • the occupancy code information (occupancy code) is obtained, and the occupancy code information is used as the code stream of the point cloud geometry information.
  • Geometric encoding (Trisoup) based on triangle representation: Divide the point cloud into blocks of a certain size, locate the intersection points of the point cloud surface at the edge of the block and construct triangles, and obtain the geometric information of the point cloud by encoding the intersection positions. code stream. Attribute encoding refers to encoding the media attribute information of the point to obtain the attribute code stream of the point.
  • Quantification of point cloud data 10d For the geometric code stream and attribute code stream of points, further lossy quantization operations are performed, and certain information is lost, making the quantized code stream conducive to compressed expression.
  • the quantification of point cloud data can Including geometric quantification and attribute quantification.
  • geometric quantization refers to quantizing the code stream of point cloud geometric information, and quantizing the coded values within a certain value range into the same coded value.
  • the degree of fineness of quantization is usually determined by the quantization parameter (QP, quantization parameter). If QP has a larger value, coefficients representing a larger value range will be quantized into the same output, so it will usually bring greater distortion. and lower code rates.
  • Attribute information quantization (for example, attribute information quantization 10d in Figure 1) refers to quantizing the attribute code stream, and quantizing the coded values within the value range into the same coded value. The fineness of quantization is usually determined by the quantization parameter (QP).
  • QP quantization parameter
  • Entropy Coding 10e or statistical coding of point cloud data The quantized code stream will be statistically compressed and coded according to the frequency of occurrence of each value in the code stream, and finally a binary (0 or 1) compression code will be output. flow.
  • Entropy coding includes geometric entropy coding (such as geometric entropy coding 10e in Figure 1) and attribute entropy coding (such as attribute entropy coding 10e in Figure 1).
  • Geometric entropy coding refers to statistical compression coding of the code stream of point cloud geometric information.
  • Statistical coding is a lossless coding method that can effectively reduce the bit rate required to express the same signal.
  • a commonly used statistical coding method is context-based binary arithmetic coding.
  • Attribute entropy coding refers to statistically compressing the quantized attribute residuals or transformation coefficients, and finally outputting a binary (0 or 1) compressed code stream, such as an attribute bit stream.
  • run length coding and arithmetic coding are used to achieve final compression of the quantized attribute residuals or transformation coefficients.
  • the corresponding coding mode, quantization parameters and other information are also encoded using the entropy encoder.
  • Decoding of point cloud data On the decoding end, after the decoder obtains the compressed code stream of point cloud data, it first performs entropy decoding on the compressed encoding to obtain quantized geometric information and quantized attribute information. First, the geometric information is inversely quantized to obtain the position information of the reconstructed points. On the other hand, the quantized attribute information is inversely quantized to obtain the attribute residual, and the reference signal is confirmed according to the adopted encoding mode to obtain the reconstructed attribute information, which corresponds to the geometric information one-to-one in order to generate output reconstructed point cloud data.
  • the data block in the embodiment of the present application may be one data point in the above-mentioned point cloud data, or may be a group of data points composed of at least two data points in the point cloud data.
  • Figure 2 is a schematic flow chart of a point cloud data encoding method provided by an embodiment of the present application. The method can be executed by a computer device, and the computer device can refer to a coding device. As shown in Figure 2, the method may specifically include but is not limited to the following steps:
  • Point cloud data is widely used in the construction of urban digital maps and plays a technical supporting role in many popular studies such as smart cities, driverless driving, and cultural relic protection.
  • Computer equipment can collect the surface of an object through a three-dimensional scanning device to obtain point cloud data.
  • the point cloud data includes multiple data points.
  • the data point can refer to a small area on the surface of the object.
  • the data to be processed A block can be any data point in the point cloud data or a group of data points composed of at least two data points.
  • the data block to be processed may refer to point cloud data, macroblocks in point cloud data, prediction trees in point cloud data (a tree composed of multiple data points in point cloud data), etc.
  • the point cloud data may include one or more data blocks, and the data block to be processed belongs to any one of the one or more data blocks.
  • the computer device can acquire the signal to be encoded in the data block to be processed in the point cloud data.
  • the number of signals to be encoded in the data block to be processed can be one or more.
  • the signal to be encoded in the data block to be processed can be used to reflect Media attributes of the data block to be processed.
  • the media attributes may refer to attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material properties, and texture information.
  • the signal to be encoded may be obtained by attribute prediction, attribute transformation, attribute prediction transformation or attribute transformation prediction of the media attributes of the data block to be processed, such as geometric prediction residuals, attribute prediction residuals or attribute transformation coefficients, etc.
  • the computer device can obtain the signal characteristics of the signal to be encoded.
  • the signal characteristics may refer to the signal threshold range of the signal to be encoded, the distribution characteristics of the signal to be encoded, the signal value size of the signal to be encoded, or associated with the signal to be encoded of the data block to be processed. The signal characteristics of the associated signal, etc.
  • the encoding method of the point cloud data can be a non-equal length encoding encoding method.
  • the encoding method of the non-equal length encoding can include an unsigned exponential Golomb coding method, a signed exponential Golomb coding method, a truncated exponential Golomb coding method, and a mapping method. Exponential Columbus coding method, etc. Since the machine can only recognize 0 and 1, the signal to be encoded of the data block to be processed needs to be encoded into characters composed of 0 and 1.
  • the binary encoding is an equal-length encoding, that is, using the same encoding (i.e., bits) to record different values to be encoded, a large amount of redundant information will be generated. For example, when the signal value of the signal to be encoded is 2, binary encoding is used to obtain The encoded data is 00000010. Data that originally only required 2 bits to represent now requires 8 bits to represent. Then the remaining 6 bits are redundant data. During network transmission, there will be a large amount of redundancy, which aggravates the situation. Network burden.
  • non-equal-length coding to encode the signal to be encoded in the data block to be processed can reduce the amount of encoded data in the data block to be processed, reduce the network burden, improve the transmission efficiency of point cloud data, and at the same time reduce the need for decoding at the decoding end.
  • the signal to be encoded of the data block to be processed may be obtained by attribute prediction of the media attributes of the data block to be processed.
  • the signal to be encoded of the data block to be processed includes attribute prediction residuals corresponding to M types of media attributes of the data block to be processed, that is, one type of media attribute corresponds to one attribute prediction residual.
  • one type of media attribute of the data block to be processed is a color attribute
  • the signal to be encoded of the data block to be processed may refer to the attribute prediction residual corresponding to the color attribute.
  • another type of media attribute of the data block to be processed is a reflectivity attribute
  • the signal to be encoded of the data block to be processed may refer to the attribute prediction residual corresponding to the reflectivity attribute.
  • the attribute prediction residual is obtained by calculating the difference between the media attributes of the data block to be processed and the prediction attributes of the data block to be processed.
  • the prediction attributes of the data block to be processed may refer to the media attributes of the reference data block according to the data block to be processed. Obtained by prediction, the prediction residual of this attribute is the signal to be encoded of the data block to be processed.
  • the media attribute of the data block to be processed is a color attribute
  • the prediction residual of the color attribute of the data block to be processed is obtained by calculating the difference between the color attribute of the reference data block of the data block to be processed and the color attribute of the data block to be processed. of.
  • the reference data block of the data block to be processed may refer to a data block in the point cloud data whose position distance from the data block to be processed is less than or equal to the distance threshold.
  • the signal to be encoded of the data block to be processed may be obtained by attribute transformation of the media attributes of the data block to be processed.
  • the signal to be encoded of the data block to be processed can be obtained by using a transformation matrix to transform the media attributes of the data block to be processed.
  • the transformation matrix is determined based on the number of data points in the data block to be processed.
  • the computer device can be based on the data to be processed. The number of data points in the block, the corresponding transformation matrix is obtained from the set of transformation matrices.
  • the computer device transforms the media attributes of the data block to be processed through the transformation matrix to obtain a first attribute transformation coefficient (ie, DC component coefficient) and one or more second attribute transformation coefficients (ie, AC component coefficient).
  • the attribute transformation coefficient (that is, the DC component coefficient) and one or more second attribute transformation coefficients (that is, the AC component coefficient) are signals to be encoded of the data block to be processed.
  • the signal to be encoded of the data block to be processed may be obtained by performing attribute prediction transformation on the media attributes of the data block to be processed.
  • Attribute prediction transformation refers to performing attribute prediction processing on the media attributes of the data block to be processed.
  • the attribute prediction residual of the data block to be processed is subjected to attribute transformation processing to obtain the attribute transformation coefficient of the data block to be processed.
  • the attribute transformation coefficient of the processed data block is the signal to be encoded of the data block to be processed.
  • the signal to be encoded of the data block to be processed may be obtained by attribute transformation prediction of the media attributes of the data block to be processed.
  • Attribute transformation prediction refers to performing attribute transformation processing on the media attributes of the data block to be processed to obtain the attribute transformation coefficients of the data block to be processed, and then performing attribute prediction based on the attribute transformation coefficients of the data block to be processed to obtain the attribute prediction residual of the data block to be processed. difference, the attribute prediction residual of the data block is the signal to be encoded of the data block to be processed.
  • DCT DCT transformation matrix
  • i is the number of data points contained in the data block to be processed.
  • the other three are the second transformation coefficients.
  • Figure 3 is a schematic diagram of a data block provided by an embodiment of the present application.
  • the computer device can use an octree division method to divide the three-dimensional space composed of point cloud data, and obtain Data blocks in point cloud data.
  • the octree division method is to evenly divide the bounding box of point cloud data (that is, the three-dimensional space composed of point cloud data) layer by layer to obtain an octree of point cloud data.
  • Each node in the octree Has eight child nodes.
  • the data blocks in the point cloud data can be any node in the octree, that is, the data blocks in the point cloud data can be nodes in any layer of the octree.
  • the computer device can use "1" and "0" to indicate whether each sub-node in the octree is occupied or not, and obtain the code stream of the geometric information corresponding to the point cloud data. That is, if the point in the point cloud data exists in the child node, it is represented by "1"; if there is no point in the point cloud data in the child node, it is represented by "0".
  • the computer equipment divides the bounding box of the point cloud data for the first time, and obtains the 8 first child nodes of the first layer, which are encoded as 10000001.
  • the data blocks in the point cloud data can be the first layer.
  • the 8 first child nodes are encoded as 10000001.
  • the first first sub-node contains data points in the point cloud data, then the occupancy information of the first first sub-node is "1", and the second to seventh first sub-nodes do not contain point clouds. data points in the data, then the occupancy information of the first first child node is "0", and the eighth first child node contains data points in the point cloud data, then the occupancy information of the first first child node is "1".
  • the first first sub-node of the second layer includes 8 second sub-nodes, the first first sub-node is coded as 00011000, and the eighth first sub-node is coded as 10001000.
  • the data block in the point cloud data can also be the second child node of the second layer.
  • S102 Determine the target encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded.
  • the computer device can determine the target encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded, where the target encoding parameters include parameters indicating the length of the encoded data of the data block to be processed.
  • the target encoding parameter may refer to an order based on the exponential Golomb coding method, such as one of order 0, order 1, order 2, etc.
  • the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the data block to be processed belongs is 5 bits (i.e., the encoding of 3 The data is 00100); if the target encoding parameter is level 1, the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the data block to be processed belongs is 4 bits (that is, the encoded data of 3 is 0101); if the target encoding parameter is level 2, then the target encoding parameter is used to indicate that the first encoding length to which the encoded data of the data block to be processed belongs is 3 bits (that is, the encoded data of 3 is 111).
  • the computer device can determine the target encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded, so as to represent the encoded data of the data block to be processed with the least encoding (ie, bits).
  • the encoding data of the data block to be processed here refers to the encoding used to describe the data block to be processed.
  • the number of data bits, that is, the encoded data of the data block to be processed refers to the length of the encoded data of the data block to be processed.
  • the computer device can determine the target encoding parameter corresponding to the data block to be processed according to the signal value of the signal to be encoded. Specifically, the computer device obtains the signal range to which the signal to be encoded belongs, and determines the target encoding parameters corresponding to the data block to be processed from the signal range parameter table according to the signal range to which the signal to be encoded belongs.
  • the signal range parameter table includes one or more signal ranges and coding parameters corresponding to one or more signal ranges.
  • the encoding method is exponential Golomb coding
  • a larger target encoding parameter ie, order
  • the signal value of the data block to be processed is to be encoded
  • the target coding parameters can be used.
  • the signal value of the signal to be encoded in the data block to be processed is "0"
  • order 0 can be used as the target encoding parameter corresponding to the data block to be processed, that is, the order 0 exponential Golomb coding method is used to encode the signal to be encoded in the target block.
  • the encoded signal is encoded.
  • the third order can be used as the target encoding parameter of the data block to be processed.
  • the target encoding parameters corresponding to the data block to be processed can also be determined based on other signal characteristics of the signal to be encoded and the encoding method characteristics of the encoding method.
  • the computer device can preset the signal range parameter table according to the signal value of the signal to be encoded and the coded quantity information obtained by encoding different signal values with different coding parameters of the exponential Golomb coding method.
  • the signal value 0 when the signal value is 0 and the target encoding parameter is 0, the signal value 0 can be represented by the minimum encoding, that is, the encoding data of the signal value 0 is 1; when the signal value is 1, the target encoding parameter is 1 and the signal can be represented by the minimum encoding. Value 1, that is, the encoded data of signal value 1 is 11; when the signal value is 2, the target encoding parameter is 0 or 2.
  • the minimum encoding can be used to represent signal value 2.
  • the target encoding parameter When the target encoding parameter is 0, the encoded data of signal value 0 is 011 ;When the target encoding parameter is 2, the encoding data of signal value 0 is 110.
  • one parameter for encoding the data block to be processed can be randomly selected from the multiple target encoding parameters, or the parameter for encoding the data block to be processed can also be selected based on other filtering conditions (such as the adjacent data blocks corresponding to the data block to be processed).
  • Encoding parameters, or conditions such as the group to which the data block to be processed belongs determine a parameter for encoding the data block to be processed from multiple target encoding parameters.
  • the signal characteristics of the signal to be encoded include the signal range value of the signal to be encoded; the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed; or, the signal The range value is determined based on the sampling accuracy of the signal to be encoded within the data block to be processed.
  • the signal range value may refer to the maximum signal to be encoded in the data block to be processed.
  • the difference between the signal value and the signal value of the smallest signal to be encoded For example, when the signal to be encoded of the data block to be processed is a geometric prediction residual, the signal range value may refer to the difference between the maximum geometric prediction residual and the minimum geometric prediction residual. For example, if the signal value of the maximum signal to be encoded in the data block to be processed 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 data block to be processed is 6.
  • the signal range value may be determined based on the sampling accuracy of the signal to be encoded within the data block to be processed. For example, if the geometric accuracy of point cloud data is 10 bit, then the The accuracy of the signal to be encoded in the data block to be processed can be 10 bits, and the signal range value of the signal to be encoded in the data block to be processed can be 210.
  • the specific way for the computer device to determine the target encoding parameters of the data block to be processed in the encoding mode may include: generating a to-be-processed index corresponding to the data block to be processed according to the signal range value included in the signal characteristics. value. Query the encoding parameters associated with the index value to be processed from the second parameter table.
  • the second parameter table includes at least one index value, and the encoding parameters associated with each index value in the at least one index value, that is, one index value corresponds to one Encoding parameters.
  • the computer device can determine the encoding parameters obtained from the query as the target encoding parameters of the data block to be processed in the encoding mode.
  • the computer device can preset the second parameter table based on the signal range value.
  • the computer device can preset the second parameter table based on the difference between the maximum signal to be encoded and the minimum signal to be encoded.
  • the computer device can also preset the second parameter table based on the point cloud data.
  • the maximum value of the sampling accuracy is preset in the second parameter table, such as determining the range of the index value of the second parameter table according to the maximum sampling accuracy of the point cloud data (that is, determining the length of the second parameter table), and determining the corresponding value of each index value. encoding parameters.
  • the specific way in which the computer device generates the index value to be processed corresponding to the data block to be processed may include: quantizing the signal range value included in the signal feature to obtain the quantized signal range value. Obtain the logarithmic value of the quantized signal range value, perform difference processing on the obtained logarithmic value, and obtain the to-be-processed index value corresponding to the data block to be processed.
  • the computer device can obtain the quantization step size, which can be preset by the manager or determined according to the signal range of the signal to be encoded.
  • the computer device can quantize the signal range value included in the signal feature of the signal to be encoded based on the quantization step size, and obtain the quantized signal range value.
  • the signal range value within the target range can be replaced by a target signal range value to compress the data and facilitate subsequent quick query of the to-be-processed index value corresponding to the data block to be processed.
  • the computer device can obtain the logarithmic value of the quantized signal range value, perform a difference processing on the logarithmic value, and obtain the to-be-processed index value corresponding to the data block to be processed.
  • Index is the index value to be processed corresponding to the data block to be processed
  • B′ is the quantized signal range value
  • the point cloud data includes at least two data groups, the data block to be processed belongs to the first data group of the at least two data groups, and the number of index values contained in the second parameter table The same number of data blocks as included in the first data group.
  • the second parameter table may be a parameter table containing 8 index values in the parameter table set. In this way, it is convenient to query the encoding parameters corresponding to each data block in the first data group from the second parameter table.
  • the index value to be processed belongs to a range of index values to be processed, and the range of index values to be processed is determined based on at least one index value in the second parameter table.
  • the computer The device can determine the range of index values to be processed to which the index value to be processed belongs, and query the encoding parameters corresponding to the index value to be processed from the second parameter table corresponding to the index value range to be processed, thus avoiding the one-to-one comparison of all index values. Can reduce the amount of query data.
  • the computer device can adjust the coding parameters according to the group, such as adaptively adjusting the coding parameters of the data blocks in the same group, or not adjusting the coding parameters of the data blocks in the same group.
  • the computer device can determine the target encoding parameters corresponding to the data block to be processed according to the signal value of the signal to be encoded.
  • the computer device may determine the target encoding parameters of the data block to be processed based on the data blocks associated with the data block to be processed (such as adjacent data blocks or other data blocks in the data group where the data block to be processed is located).
  • the computer device can determine based on the difference between the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed. The target encoding parameters corresponding to the data block to be processed.
  • the computer device may determine the target encoding parameter corresponding to the data block to be processed based on the signal value of the largest signal to be encoded in the data block to be processed. Alternatively, the computer device may determine the target encoding parameter corresponding to the data block to be processed based on the signal average of all signals to be encoded in the data block to be processed. Of course, the computer device may also determine the target encoding parameter corresponding to the data block to be processed based on the data block associated with the data block to be processed.
  • the target encoding parameters corresponding to the target encoding data block can be defaulted by the encoding device that encodes the point cloud data and the decoding device that decodes the encoded data corresponding to the point cloud data, such as by the encoding device and the decoding device according to the point cloud data.
  • the historical encoding and decoding records are determined.
  • the specific way in which the computer device determines the target encoding parameters corresponding to the data block to be processed may include: determining the initial encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded. Obtain the encoded data block in the point cloud data that has an adjacent relationship with the data block to be processed. According to the encoding data of the encoded data block, the initial encoding parameters are adjusted to obtain the target encoding parameters.
  • the specific way in which the computer device determines the initial encoding parameters may refer to the above-mentioned way of determining the encoding parameters based on the signal characteristics of the signal to be encoded in the data block to be processed, which will not be described again in the embodiment of the present application.
  • the computer device can obtain the encoded data block in the point cloud data that has an adjacent relationship with the data block to be processed.
  • the coded data block having an adjacent relationship with the data block to be processed may refer to the coded data block whose position is adjacent to the position of the data block to be processed in the point cloud data.
  • the coded data block may refer to a coded data block whose coding sequence is adjacent to the coding sequence of the data block to be processed.
  • the encoded data block may refer to a data block in a second data group adjacent to the first data group in which the data block to be processed is located among at least two data groups included in the point cloud data.
  • the computer device can adjust the initial encoding parameters according to the encoded data of the encoded data block to obtain the target encoding parameters.
  • the computer device determines the coding parameters based on the signal characteristics of the signal to be coded, as the initial coding parameters corresponding to the data block to be processed, and then adjusts the initial coding parameters corresponding to the data block to be processed based on the coded data of the coded data block, we get
  • the target encoding parameters of the data block to be processed can improve the accuracy of the target encoding parameters to better realize the encoding data of the data block to be processed with fewer encodings to reduce the amount of encoded data.
  • the encoding method can be exponential Golomb encoding
  • the initial encoding parameter of the data block to be processed is the initial order.
  • the specific manner in which the computer device adjusts the initial encoding parameters may include: determining the final encoding value of the encoded data of the encoded data block. According to the initial order, the first limit order and the second limit order are determined, and the first limit order is smaller than the second limit order. Get the final encoding value and the first restriction order and the second restriction order The initial order is adjusted according to the size relationship between the data blocks to obtain the target order associated with the data block to be processed. Determine the target order as the target encoding parameter.
  • the number of encoded data blocks may be one or n1.
  • the final coded value of the coded data of the coded data block can be the value corresponding to the signal to be coded in the coded data block. signal value.
  • the final coded value of the coded data of the coded data block may be n1 signals to be coded in the coded data block. The average of the signal values corresponding to the signal.
  • the final encoding value of the encoded data of the encoded data blocks may be the average value of the encoded data of the n1 encoded data blocks.
  • the computer device may determine the first limiting order and the second limiting order based on the initial order, and the first limiting order is smaller than the second limiting order.
  • the computer device can be configured to store encoded value buffers (cache), the buffer size is n1, and the final encoding value of the encoded data block is counted 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.
  • the first limit order refers to the lower limit order
  • the second limit order can refer to the upper limit order
  • the initial order is represented by golombNum
  • the first limit order is represented by golombNumLow
  • the second limit order is represented by golombNumUP said.
  • the computer device can obtain the size relationship between the final encoding value and the first restriction order and the second restriction order.
  • the magnitude relationship may include that the final encoding value is less than the first limiting order, or the final encoding value is greater than the second limiting order, or the final encoding value is greater than or equal to the first limiting order and less than or equal to the second limiting order.
  • the computer device can adjust the initial order according to the size relationship to obtain the target order associated with the data block to be processed.
  • the computer equipment can determine the target order as the target encoding parameter. In this way, by adjusting the initial order, a more accurate target order can be obtained.
  • the specific way in which the computer device adjusts the initial order may include, but is not limited to, the following: if the size relationship indicates that the final encoding value is less than the first limiting order, then the initial order is compared with the first limiting order. The sum between the adjustment steps is determined as the target order. If the size relationship indicates that the final encoding value is greater than the second limiting order, then the difference between the initial order and the first adjustment step is determined as the target order. If the magnitude relationship indicates that the final encoding 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.
  • the computer device may determine the sum between the initial order and the first adjustment step as the target order.
  • the first adjustment step size may be determined by historical coding record information, or the first adjustment step size may be determined by a manager, etc.
  • the first adjustment step size may be a value such as 1, 2, or 3.
  • the computer device may change the initial order The difference from the first adjustment step is determined as the target order. If the size relationship indicates that the final encoding value is greater than or equal to the first limit order and less than or equal to the second limit order, the initial order is not adjusted and the initial order is determined as the target order. In this way, the target order associated with the data block to be processed can be limited to a reasonable order range, and the accuracy of the target order can be improved at the same time, so that the coded data of the data block to be processed can be represented with fewer codes.
  • the computer device adjusts the initial order in a manner that includes, but is not limited to, the following: obtaining encoding parameters corresponding to the encoded data block, and the encoding parameters of the encoded data block include the encoding parameters of the encoded data block. historical level. If the size relationship indicates that the final encoding value is less than the first limiting order, then the sum between the historical order and the second adjustment step is determined as the target order. If the magnitude relationship indicates that the final encoding value is greater than the second limiting order, then the difference between the historical order and the second adjustment step is determined as the target order. If the magnitude relationship indicates that the final encoding 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.
  • the computer device can obtain the encoding parameters corresponding to the encoded data block. If the size relationship indicates that the final encoding value is less than the first limiting order, then the sum between the historical order and the second adjustment step is determined as the target order.
  • the second adjustment step size may be the same as the first adjustment step size, or may be different from the first adjustment step size. Similarly, the second adjustment step size can also be determined by historical coding record information, or the second adjustment step size can be determined by managers, etc.
  • the second adjustment step size can be 1, 2, 3, etc. If the magnitude relationship indicates that the final encoding value is greater than the second limiting order, then the difference between the historical order and the second adjustment step is determined as the target order.
  • the initial order is determined as the target order.
  • the target order associated with the data block to be processed can be limited to a reasonable order range, and the accuracy of the target order can be improved at the same time, so that the coded data of the data block to be processed can be represented with fewer codes.
  • the specific way in which the computer device adjusts the initial order may include but is not limited to the following: adjusting the initial order according to the size relationship to obtain candidate orders associated with the data block to be processed. If the candidate order is less than or equal to the third limiting order, then the sum between the candidate order and the third adjustment step is determined as the target order. If the candidate order is greater than or equal to the fourth limit order, the difference between the candidate order and the third adjustment step is determined as the target order; the third limit order is less than the fourth limit order. If the candidate 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 data block to be processed.
  • the computer device can adjust the initial order according to the size relationship to obtain the candidate order associated with the data block to be processed.
  • the computer device can detect the relationship between the candidate order associated with the data block to be processed and the third limiting order and the fourth limiting order, adjust the candidate order according to the relationship, and obtain the target order associated with the data block to be processed. .
  • the third limiting order and the fourth limiting order are used to limit the target order within a reasonable order range, and the third limiting order is smaller than the fourth limiting order.
  • 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 between the candidate order and the third adjustment step can be determined as the target order.
  • the first preset order can be used as the target order, and the first preset order is greater than the third limit order and less than the fourth limit order, That is, the first preset order is within a reasonable order range.
  • the difference between the candidate order and the third adjustment step can be determined as the target order.
  • the second preset order may be determined as the target order.
  • the second preset order is greater than the third limiting order and less than the fourth limiting order, that is, the second preset order is within a reasonable order range. If you wait If the selected order is greater than the third limiting order and less than the fourth order, it means that the candidate order is within a reasonable order range. The candidate order will not be adjusted and the candidate order will be determined as the target order.
  • the final encoding value may be an average of all encoding values in the encoding data of the encoded data block.
  • the final coded value may be the average of the non-zero coded values in the coded data of the coded data block.
  • the computer device can obtain the to-be-encoded signal in the encoded data block and the encoding parameters of the encoded data block.
  • the encoding parameters of the encoded data block can be based on the to-be-encoded signal in the encoded data block.
  • the encoding parameters of the encoded data block may be determined based on the signal characteristics of the encoded signal, or the encoding parameters of the encoded data block may be determined based on the data blocks associated with the encoded data block.
  • the computer device can detect the signal size relationship between the signal to be coded in the data block to be processed and the signal to be coded in the coded data block, and determine the size of the data block to be processed based on the signal size relationship and the coding parameters of the coded data block.
  • Encoding parameters Specifically, if the signal to be encoded in the data block to be processed 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. If the signal to be encoded in the data block to be processed is smaller than the signal to be encoded in the encoded data block, the difference between the encoding parameter of the encoded data block and the fourth adjustment step can be determined as the target encoding parameter.
  • the fourth adjustment step size can be determined by historical coding record information, or the fourth adjustment step size can be determined by managers, etc.
  • the fourth adjustment step size can be 1, 2, 3 and other values.
  • the point cloud data includes at least two data groups, and the data block to be processed belongs to the first data group of the at least two data groups; the coding parameters corresponding to the data blocks in the first data group are the same, That is, the coding parameters corresponding to the data blocks in the first data group are all target coding parameters.
  • the coded data block belongs to a second data group of at least two data groups that has an adjacent relationship with the first data group. Among them, due to the greater similarity between the media attributes between data blocks located in the same data group, the data blocks in the same data group can use the same encoding parameters. Of course, the data blocks in the same data group can also Different encoding parameters can be used.
  • the computer device can group data blocks in the point cloud data to obtain at least two data groups.
  • the specific ways in which the computer equipment groups the point cloud data may include but are not limited to the following ways: Method 1: At least two data groups are grouped according to the positions of the data blocks in the point cloud data. The computer equipment may group the data blocks according to their positions in the point cloud data. Positions in point cloud data divide data blocks at adjacent positions into one data group to obtain at least two data groups in point cloud data.
  • Method 2 At least two data groups are grouped according to the Hilbert transform codes corresponding to the data blocks in the point cloud data; the Hilbert transform codes corresponding to the data blocks in the point cloud data are obtained by The position of the block in the point cloud data is obtained by performing Hilbert transformation.
  • the computer device can perform Hilbert transformation on the position of each data block in the point cloud data to obtain the Hilbert code of each data block pair. According to the Hilbert code corresponding to each data block code, sort the data blocks in the point cloud data, and obtain the sorted data blocks. Further, the computer device can group the sorted data blocks sequentially based on the order of the space filling curve, and group the data blocks with the same first L bits of the Hilbert code into one data group.
  • the computer device can also classify data blocks with the same first L bits of the Hilbert code into one data group to obtain a candidate data group. If the number of data blocks in the candidate data group is more than the limited number, the candidate data can be The group is subdivided into groups, and the number of data blocks in the candidate data group is limited to the limited data amount. The candidate data group can also be adjusted according to the number of data blocks included in the pre-order grouping to obtain the data group.
  • Method 3 At least two data groups are obtained by dividing the point cloud data according to the division size.
  • Computer equipment can divide the three-dimensional space composed of point cloud data into Non-overlapping coded macroblocks of different sizes, each coded macroblock serves as a basic coding unit and can be a data group.
  • x, y, z are coordinate information
  • d octree divides the depth.
  • the partition size can be set for the computer device (such as the octree partition depth d or through parameters) to control the size of the data block.
  • Method 4 At least two data groups are obtained by dividing the point cloud data according to a specific limited number and the encoding order of data blocks.
  • the computer device can sequentially group the data blocks in the point cloud data according to a specific limited number and the encoding order of the data blocks in the point cloud data to obtain at least two data groups.
  • the coding order of 5 data blocks in point cloud data is: data block s1, data block s2, data block s3, data block s4 and data block s5.
  • the specific limit number is 2
  • a data group is: data block s1 and data block s2; another data group is: data block s3 and data block s4; another data group is: data block s5.
  • the at least two data groups may refer to prediction tree units in the prediction tree generated according to the point cloud data, and the prediction tree unit may refer to a unit composed of multiple prediction tree nodes in the prediction tree.
  • Figure 4 is a schematic diagram of a data group division provided by an embodiment of the present application.
  • the computer device can divide the three-dimensional space composed of point cloud data into size of non-overlapping coded macroblocks.
  • the computer device can evenly divide the three-dimensional space composed of point cloud data into 4 non-overlapping coded macroblocks, and each data group in one coded macroblock can include 4 pieces of data. piece.
  • the data group 40a includes four data blocks, each data block includes four data points, the data group 40a contains data points in the point cloud data, and the second data block 2 in the data group includes One data point 4, the third data block 3 contains data point 5.
  • the data group 40b also includes four data blocks, each data block includes four data points.
  • the data group 40b includes data points in the point cloud data.
  • the first data block 7 in the data group includes data point 9 and data. Point A, data point B is included in the fourth data block 8.
  • the signal to be encoded of the data block to be processed may include one or more of geometric prediction residuals, attribute prediction residuals, attribute transformation coefficients, and the like.
  • the geometric prediction residual of the data block ranked first in coding order in the point cloud data can be the difference between the preset geometric position and the geometric position of the data block ranked first, or it can be the data block ranked first. geometric position.
  • the geometric prediction residual of other data blocks in the point cloud data can be the difference between the geometric position of the data block before the current data block in coding order and the geometric position of the current data block.
  • the other data blocks are point cloud data.
  • the attribute prediction residual of the first-ranked data block may be the difference between the preset attribute and the media attribute of the first-ranked data block, or may be the media attribute of the first-ranked data block.
  • the attribute prediction residual of other data blocks in the point cloud data can be the difference between the media attributes of the data block before the current data block in encoding order and the media attributes of the current data block.
  • the attribute transformation coefficient is obtained by using a transformation matrix to transform the media attributes of the data block.
  • the signal to be encoded includes a first signal to be encoded and a second signal to be encoded, and the first signal to be encoded and the second signal to be encoded respectively correspond to different attribute types.
  • the attribute type of the first signal to be encoded may refer to the geometric position
  • the attribute type of the second signal to be encoded may refer to the color attribute.
  • the target encoding parameters of the data block to be processed include first encoding parameters and second encoding parameters. The first encoding parameters are used to encode the first signal to be encoded. The second encoding parameters are used to encode the second signal to be encoded. The first encoding parameter is different from the second encoding parameter.
  • signals to be encoded with different attribute types in the data block to be processed are encoded using different encoding parameters. code.
  • different encoding parameters can be determined based on the signals to be encoded with different attribute types, so as to determine more accurate encoding parameters and achieve using less encoding to represent the encoded data of the data block to be processed.
  • 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 parameter may be based on the first sub-encoded signal, the second sub-encoded signal
  • the sub-signal characteristics corresponding to the signal and the third sub-coded signal are determined.
  • the first encoding parameter may be determined based on the largest sub-encoding signal among the first sub-encoding signal, the second sub-encoding signal and the third sub-encoding signal.
  • the first encoding parameter may be determined based on the average signal value in the first sub-encoded signal, the second sub-encoded signal and the third sub-encoded signal.
  • the first encoding parameter may be determined based on any one of the first sub-encoding signal, the second sub-encoding signal, and the third sub-encoding signal.
  • the coding parameters respectively corresponding to the first sub-coded signal, the second sub-coded signal and the third sub-coded signal may be determined as the first coding parameters.
  • sub-encoding signals under the same attribute type can all use the same encoding parameters.
  • the encoding parameters corresponding to the associated information associated with the first to-be-encoded signal can be determined as the first Coding parameters, such as the run length of zero values and non-zero signal values obtained by run-length coding of the first signal to be coded using run-length coding, can use the same first coding parameter (i.e., the first coding parameter corresponding to the first signal to be coded) Encode.
  • run-length 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, run-length encoding can be used to obtain 4b4.
  • the run-length The length "4" and the non-zero signal value "b" can be exponential Golomb encoded using the first encoding parameter corresponding to the first signal to be encoded.
  • 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 parameter includes a first sub-encoding parameter corresponding to the first sub-encoded signal.
  • the second sub-coding parameter corresponding to the second sub-coding signal and the third sub-coding parameter corresponding to the third sub-coding signal can be understood that different sub-encoding signals in the first signal to be encoded adopt different encoding parameters. In this way, the encoding parameters corresponding to the different sub-encoding signals can be determined according to the signal characteristics of the different sub-encoding signals, so as to determine more accurate encoding parameters.
  • the computer device can use the offset function to adjust the encoding parameters of the sub-encoded signals in the first to-be-encoded signal.
  • the offset function is a method that uses a specified reference as a reference system and obtains a new reference through a given offset.
  • the first sub-encoding parameter may be determined based on the sub-signal characteristics corresponding to the first sub-encoding signal
  • the second sub-encoding parameter may be determined based on the first sub-encoding parameter and the parameter offset
  • the third sub-encoding parameter may be determined based on the first sub-encoding parameter.
  • the two sub-coding parameters and parameter offsets are determined.
  • the parameter offset can be set by the administrator, or can be determined by historical encoding and decoding record information, or can be specifically set according to specific circumstances.
  • the embodiments of the present application are not limited here.
  • the encoding parameters in signals to be encoded of different attribute types can also be adjusted through the offset function.
  • 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
  • the second signal to be encoded is determined based on the signal characteristics of the signal to be encoded.
  • the encoding parameters of are determined based on the given offset and the encoding parameters of the first signal to be encoded.
  • the coding parameters corresponding to the first sub-coded signal, the second sub-coded signal and the third sub-coded signal are based on the sub-signal characteristics respectively corresponding to the first sub-coded signal, the second sub-coded signal and the third sub-coded signal. definite.
  • S103 Encode the signal to be encoded according to the target encoding parameters to obtain the encoded data of the data block to be processed.
  • the computer device can encode the signal to be encoded in the data block to be processed according to the target encoding parameters to obtain the encoded data of the data block to be processed.
  • the exponential Golomb encoding method can be used to encode the signal to be encoded in the data block to be processed according to the target encoding parameters.
  • different encoding parameters are used to process the data in the data block to be processed.
  • the coded data of the data block to be processed belongs to the coding description range corresponding to the coding parameter r1; the coding parameter r2 is used to code the signal to be coded in the data block to be processed.
  • the encoded data of the data block to be processed belongs to the encoding description range corresponding to the encoding parameter r2.
  • the coded data obtained by coding the signal to be coded in the data block to be processed using the target coding parameters is smaller than the coded data obtained by coding the signal to be coded in the data block to be processed using other coding parameters. Since the redundancy of the encoded data of the data block to be processed is relatively low, the decoded signal of the data block to be processed can be quickly decoded, thereby improving the decoding efficiency.
  • the computer device after the computer device obtains the target encoding parameters corresponding to the data block to be processed, it can directly encode the signal to be encoded in the data block to be processed according to the target encoding parameters to obtain the encoded data of the data block to be processed.
  • the specific manner in which the computer device encodes the signal to be encoded in the data block to be processed may include: if the signal to be encoded in the data block to be processed is different from the signal threshold, generating a first encoding label , the first encoding tag is used to indicate that the signal to be encoded in the data block to be processed is different from the signal threshold.
  • the signal threshold the signal to be encoded in the data block to be processed is subjected to difference processing to obtain the signal difference value.
  • the signal difference value is encoded according to the target encoding parameter to obtain the signal encoding value of the signal to be encoded, and the signal encoding value and the first encoding label are determined as the encoded data of the data block to be processed.
  • the computer device can detect whether the signal to be encoded in the data block to be processed is the same as the signal threshold, and when the signal to be encoded in the data block to be processed is the same as the signal threshold, the second encoding tag is used as the encoded data of the data block to be processed; When the signal to be encoded in the data block to be processed is different from the signal threshold, the signal to be encoded in the data block to be processed is encoded according to the first encoding label and the target encoding parameter.
  • the signal threshold may refer to the signal value of the signal to be encoded that appears most frequently among the signals to be encoded in the data block to be processed, or the signal threshold may also be the signal value of the signal to be encoded that appears most frequently in the point cloud data, It can also be set according to other specific situations.
  • the first encoding tag is used to indicate that the signal to be encoded in the data block to be processed is different from the signal threshold.
  • the encoded data of the data block to be processed can be decoded according to the first encoding label and the target decoding parameter (ie, the target encoding parameter) to obtain the decoded signal of the data block to be processed (the signal value of the decoded signal is the same as the signal value of the data block to be processed).
  • the signal value of the encoded signal is the same).
  • the second encoding label can be determined as the encoded data of the signal to be encoded, and the second encoding label is used to indicate the signal in the data block to be processed.
  • the signal to be encoded is the same as the signal threshold.
  • the second encoding label is used as the encoded data of the signal to be encoded. Only when the signal to be encoded in the data block to be processed is different from the signal threshold, The data block to be processed is encoded according to the first encoding tag and the target encoding parameters.
  • the second coding label can be directly used as the coded data of the to-be-coded signal that is the same as the signal threshold, which can reduce the need for The number of encodings to improve encoding efficiency.
  • the signal of the first signal to be encoded The value is 1, the signal value of the second signal to be encoded is 0, the signal value of the third signal to be encoded is 1, the signal value of the fourth signal to be encoded is 1, and the signal value of the fifth signal to be encoded is
  • the signal threshold can be 1
  • the first encoding label can be flag ⁇ 1
  • the second signal to be encoded 1 determines that the signal value of the first signal to be encoded is 1. If the second signal to be encoded is different from the signal threshold, the second signal to be encoded can be encoded according to the first encoding tag flag ⁇ 1 and the target encoding parameters. If the third signal to be encoded is the same as the signal threshold, the encoded data of the third signal to be encoded is the second encoding tag. The fourth signal to be encoded is the same as the signal threshold, then the encoded data of the fourth signal to be encoded is the second encoding tag. If the fifth signal to be encoded is different from the signal threshold, the second signal to be encoded can be encoded according to the first encoding tag flag ⁇ 1 and the target encoding parameters.
  • the computer device can directly encode the signal to be encoded in the data block to be processed according to the target encoding parameter corresponding to the data block to be processed. Encoding is performed to obtain the encoded data corresponding to the data block to be processed.
  • the decoding device can directly decode the encoded data corresponding to the data block to be processed according to the target decoding parameters (ie, the target encoding parameters) to obtain the decoded signal of the data block to be processed.
  • the computer device When the computer device determines that the signal to be encoded in the data block to be processed is different from the signal threshold, it can generate a first encoding tag indicating that the signal to be encoded in the data block to be processed is different from the signal threshold.
  • the signal to be encoded is The signal to be encoded in the data block is processed for difference processing to obtain the signal difference value.
  • the computer device can obtain the difference between the signal to be encoded in the data block to be processed and the signal threshold, and determine it as the signal difference value, wherein the computer device can also obtain the signal to be encoded and the signal threshold in the data block to be processed, and The difference between the first thresholds is used as the signal difference.
  • the computer device can obtain the candidate difference between the signal to be encoded in the data block to be processed and the signal threshold, and then obtain the difference between the candidate difference and the first threshold as the signal difference.
  • the first threshold can be set according to the actual situation.
  • the first threshold can be 1 or other thresholds.
  • the signal difference the signal value of the signal to be encoded - (m+1), m is the signal threshold.
  • the difference processing can be performed on the signal to be encoded in the data block to be processed, and the signal difference obtained by the difference processing can be encoded. 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 a smaller signal value is smaller, encoding the signal difference value corresponding to the signal to be encoded can reduce the amount of encoded data to improve encoding and decoding efficiency.
  • the decoding device 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 signal threshold , the signal encoding values of the signal to be encoded are summed to obtain the decoded signal of the signal to be encoded.
  • the target decoding parameters are the same as the target encoding parameters
  • the computer device encodes the data block to be processed, and after obtaining the encoded data of the data block to be processed, the encoded data of the data block to be processed and the target encoded data of the data block to be processed can be stored in association, according to one or more data blocks
  • the corresponding encoded data generates a code stream of the point cloud data
  • the code stream of the point cloud data is sent to the decoding device, so that the decoding device reconstructs the point cloud data based on the code stream of the point cloud data.
  • the computer device can store the encoding parameters corresponding to each data block in the point cloud data in one or more parameter sets, and the parameter set includes the correspondence between the data blocks in the point cloud data and the corresponding encoding parameters.
  • the computer device can send the one or more parameter sets and the code stream of the point cloud data to the decoding device, and the decoding device can determine the encoding parameters of the corresponding data block from the parameter set as the decoding parameters.
  • the computer device can generate a code stream of point cloud data based on the target encoding parameters corresponding to the data block to be processed and the encoding data of the data block to be processed.
  • the encoding data of one data block to be processed corresponds to one target encoding parameter.
  • the computer device can construct a geometric prediction tree of point cloud data, obtain the geometric prediction residual of each node in the geometric prediction tree, and obtain the geometric prediction tree residual information.
  • the geometric prediction residual of each node can be predicted by the signal value of its previous point, or the geometric prediction residual of each node It can be predicted by the signal value of its first two points, or the geometric prediction residual of each node can be predicted by the signal value of its first a1 points.
  • the computer device can adopt different exponential Columbus orders for the starting residual information and other residual information in the geometric prediction tree, recorded as k1 and k2 respectively, using an adaptive order.
  • the exponential Columbus of the number encodes the starting residual information and other residual information to obtain the encoded data of the point cloud data.
  • K1 and k2 are adaptively adjusted respectively based on the residual information of the same type of decoded points in the previous sequence, where k1 is based on the average of the residual information of n1 previous starting points, and k2 is based on the average of other residual information of n1 previous sequences.
  • the value is adaptively adjusted; or the starting point order k1 is fixed and k2 is adaptively adjusted.
  • the computer device can obtain the attribute prediction residual of the data point in the point cloud data, predict the signal characteristics of the residual according to the attribute of the data point, and determine the initial encoding parameters of the data point.
  • the upper limit parameter and the lower limit parameter are determined based on the initial encoding parameter.
  • the computer device can predict the signal characteristics of the residual according to the attributes of the data points, adjust the initial encoding parameters, and obtain the target encoding parameters of the data points.
  • the target encoding parameter of the data point is the initial encoding parameter plus one; if the attribute prediction residual of the data point is greater than the lower limit parameter, the target encoding parameter of the data point is the initial encoding parameter. Decrease the encoding parameter by one. Further, if the target encoding parameter is less than 0, it is determined that the target encoding parameter is equal to 0, or if the target encoding parameter is less than 0, it is determined that the target encoding parameter is equal to the initial encoding parameter.
  • the computer device can obtain the attribute transformation coefficients of the data points in the point cloud data, and determine the initial encoding parameters of the data points based on the signal characteristics of the attribute transformation coefficients of the data points.
  • the upper limit parameter and the lower limit parameter are determined based on the initial encoding parameter.
  • the computer device can adjust the initial encoding parameters according to the signal characteristics of the attribute transformation coefficients of the data points to obtain the target encoding parameters of the data points.
  • 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, it is determined that the target encoding parameter is equal to 0, or if the target encoding parameter is less than 0, it is determined that the target encoding parameter is equal to the initial encoding parameter.
  • the encoding method of the point cloud data is a non-equal length encoding encoding method
  • the signal to be encoded is To reflect the media attributes of the data block to be processed. It can be seen that using a non-equal-length encoding encoding method can reduce the amount of encoded data of the data block to be processed.
  • the target encoding parameters of the data block to be processed in the encoding mode are determined.
  • the encoded data of the data block to be processed here is used to describe the number of bits of the encoded data of the data block to be processed, that is, the encoded data of the data block to be processed refers to the length of the encoded data of the data block to be processed.
  • the signal to be encoded in the data block to be processed is encoded according to the target encoding parameters to obtain the encoded data of the data block to be processed. It can be seen that by using accurate target encoding parameters to encode the signal to be encoded in the data block to be processed, the signal to be encoded can be represented with fewer codes, thereby reducing the amount of encoded data corresponding to the data block to be processed and reducing the pressure on network transmission.
  • the decoding device can also reduce the receiving pressure of the decoding device in receiving the encoded data, and at the same time, it can also improve the decoding efficiency of the encoded data.
  • it can effectively reduce the redundancy of the encoded data of the data block to be processed, that is, it can reduce the length of the encoded data of the data block to be processed, and at the same time, it can improve the transmission efficiency of the encoded data of the data block to be processed.
  • Figure 5 is a method for decoding point cloud data provided by an embodiment of the present application.
  • the following is a detailed description of the method of decoding point cloud data proposed by an embodiment of the present application in conjunction with Figure 5.
  • This method can be used by computer equipment To perform, the computer device may refer to a decoding device.
  • the method may specifically include but is not limited to the following steps:
  • point cloud data is widely used in the construction of urban digital maps, and plays a technical supporting role in many popular studies such as smart cities, driverless driving, and cultural relic protection.
  • the computer device can collect the surface of the target object through a three-dimensional scanning device to obtain point cloud data.
  • the encoding device can encode the point cloud data to obtain the encoded data corresponding to the point cloud data, and send the encoded data corresponding to the point cloud data.
  • the decoding device decodes the encoded data of the point cloud data, obtains the point cloud data, and restores the point cloud data.
  • the point cloud data includes one or more data blocks, and the data block to be processed belongs to any one of the one or more data blocks in the point cloud data.
  • the data block to be processed may be any data point in the point cloud data or a group of data points composed of at least two data points.
  • the data block to be processed may refer to point cloud data, macroblocks in point cloud data, prediction trees in point cloud data (a tree composed of multiple data points in point cloud data), etc.
  • the encoded data of the data block to be processed is obtained by encoding the signal to be encoded in the data block to be processed according to the target encoding parameters.
  • the target coding parameters are coding parameters of the data block to be processed in a non-equal-length coding encoding method, and the target coding parameters are determined based on the signal characteristics of the signal to be coded.
  • the encoding device can send the encoded data of the data block to be processed to the decoding device. After receiving the encoded data of the data block to be processed, the decoding device can determine a decoding method for decoding the encoded data.
  • the decoding method can refer to non- The decoding method corresponding to the encoding method of equal length encoding.
  • the coding method of non-equal length coding may refer to the unsigned exponential Golomb coding method, the signed exponential Golomb coding method, the truncated exponential Golomb coding method, the mapped exponential Golomb coding method, etc.
  • the decoding method of the data block to be processed is the decoding method corresponding to the encoding method of the data block to be processed.
  • the decoding method of the data block to be processed is the unsigned exponential Golomb coding method. decoding method.
  • S202 Determine the target decoding parameters of the data block to be processed according to the target coding parameters.
  • the computer device may determine target decoding parameters of the data block to be processed based on the target encoding parameters.
  • the target decoding parameter can be the same as the target encoding parameter of the data block to be processed in the encoding mode.
  • the target encoding parameters of the data block to be processed in the encoding mode can be determined based on the signal characteristics of the signal to be encoded in the data block to be processed, and the signal to be encoded of the data block to be processed is used to reflect the media of the data block to be processed. Attributes.
  • the media attributes 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 in the data block to be processed may be one or more.
  • the signals to be encoded may be obtained by the encoding device performing attribute prediction, attribute transformation, attribute prediction transformation or attribute transformation prediction on the media attributes of the data block to be processed. , such as geometric prediction residuals, attribute prediction residuals or attribute transformation coefficients, etc.
  • the signal characteristics of the signal to be encoded may 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 the associated signal associated with the signal to be encoded of the data block to be processed, etc.
  • the signal threshold range of the signal to be encoded can be determined based on the maximum signal to be encoded and the minimum signal to be encoded within the data block to be processed; or, the signal range value is based on the samples of the data block to be processed. The accuracy is determined.
  • the target encoding parameter corresponding to the data block to be processed can be obtained from the second parameter table based on the index value to be processed.
  • the second parameter table includes at least one index value, and each index value in the at least one index value.
  • the associated coding parameters and the index value to be processed are obtained by quantizing and difference processing the signal threshold range of the signal to be coded.
  • the target encoding parameters can be determined based on the encoding data of the encoded data block in the point cloud data that has an adjacent relationship with the data block to be processed.
  • the target encoding parameter corresponding to the data block to be processed is indeed
  • the determination process please refer to the determination process of the target encoding parameters corresponding to the data block to be processed by the encoding device in the above-mentioned Figure 2, and the embodiments of the present application will not be repeated here.
  • the point cloud data includes at least two data groups
  • the data block to be processed belongs to the first data group of the at least two data groups
  • the coding parameters corresponding to the data blocks in the first data group are the same
  • the coded data block belongs to a second data group of at least two data groups that has an adjacent relationship with the first data group.
  • at least two data groups are grouped according to the position of the data block in the point cloud data; or, at least two data groups are grouped according to the Hilbert transform codes corresponding to the data blocks in the point cloud data.
  • the Hilbert transformation codes corresponding to the data blocks in the point cloud data are obtained by performing Hilbert transformation on the position of each data block in the point cloud data; or, at least two data groups are obtained according to the division size
  • the point cloud data is partitioned; alternatively, at least two data groups are obtained by partitioning the point cloud data according to a specific limited number and the encoding order of the data blocks.
  • different encoding parameters can be used for multiple signals to be encoded with different attribute types in the data block to be processed, that is, one signal to be encoded corresponds to one encoding parameter.
  • Different sub-coded signals in different signals to be coded may use the same coding parameters, or may use different coding parameters. For details, please refer to the description in Figure 2 above, and the embodiments of the present application will not be repeated here.
  • the computer device before determining the target decoding parameters, can obtain a parameter set corresponding to the point cloud data; the parameter set includes encoding parameters corresponding to each data block in the point cloud data. From the parameter set corresponding to the point cloud data, obtain the target encoding parameters corresponding to the data block to be processed. In this way, the computer device may determine the target decoding parameter by determining the target encoding parameter corresponding to the data block to be processed as the target decoding parameter of the data block to be processed.
  • the encoded data of the data block to be processed and the encoded data of the data block to be processed can be stored in association, according to a Or the coded data corresponding to multiple data blocks generates a code stream of point cloud data.
  • the encoding device can store the encoding parameters corresponding to each data block in the point cloud data in a parameter set, which includes the correspondence between the data blocks and the encoding parameters, and send the parameter set to the decoding device.
  • the decoding device After the decoding device obtains the parameter set and the code stream of the point cloud data, it 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 data block to be processed belongs to the point cloud. Data blocks in data.
  • the parameter set includes encoding parameters corresponding to each data block in the point cloud data.
  • the computer device can obtain the target encoding parameters corresponding to the data block to be processed from the parameter set corresponding to the point cloud data, and determine the target encoding parameters corresponding to the data block to be processed as the target decoding parameters of the data block to be processed.
  • the encoding device can also associate and store the encoding parameters corresponding to each data block in the point cloud data in the code stream of the point cloud data, and send the code stream of the point cloud data to the decoding device.
  • the decoding device After the decoding device receives the code stream of the point cloud data, it can obtain the encoding data corresponding to each data block in the point cloud data and the encoding parameters corresponding to each data block from the code stream of the point cloud data.
  • the computer device can obtain the target encoding parameters corresponding to the data block to be processed from the encoding parameters corresponding to each data block in the point cloud data, and determine the target encoding parameters corresponding to the data block to be processed as the target decoding parameters of the data block to be processed.
  • the computer device can determine the target decoding parameter corresponding to the encoded data of the data block to be processed according to the parameter determination method of the target encoding parameter.
  • the parameter determination method can be the default encoding parameters and the decoding device of the point cloud data. How the decoding parameters are determined. It can be understood that the encoding device uses a parameter determination method to determine the target encoding parameters, uses the target encoding parameters to encode the point cloud data, and obtains the encoded data of the point cloud data.
  • Decoding equipment The target decoding parameters can be determined in the same way that the encoding device determines the target encoding parameters, and the target decoding parameters are used to decode the encoded data of the point cloud data to obtain the point cloud data.
  • the encoding device determines the target encoding parameters of the data block to be processed in the same manner as the decoding device determines the target decoding parameters.
  • the parameter determination method of the target encoding parameters may be defaulted by the encoding device and the decoding device.
  • the parameter determination method of the target encoding parameters includes a method based on querying the parameter table, that is, the target encoding device determines the index value to be processed based on the signal characteristics of the signal to be encoded in the data block to be processed, from
  • the method of querying the target encoding parameters corresponding to the data block to be processed in the second parameter table please refer to the content described in Figure 2 above for the specific content, and the embodiments of the present application will not be repeated here.
  • the specific manner in which the computer device determines the target decoding parameter may include: obtaining the signal range value of the signal to be encoded within the data block to be processed. Quantize the signal range value to obtain the quantized signal range value.
  • Decoding parameters associated with the index value to be processed are queried from the first parameter table, which includes at least one index value and decoding parameters associated with each index value in the at least one index value.
  • the decoding parameters obtained from the query are determined as the target decoding parameters of the data block to be processed.
  • the computer device can obtain the signal range value corresponding to the signal to be encoded in the data block to be processed, and the signal range value can be sent by the encoding device to the decoding device.
  • the computer device can generate a to-be-processed index value corresponding to the to-be-processed data block according to the signal range value corresponding to the to-be-encoded signal in the to-be-processed data block.
  • the computer device can obtain the quantization step size (which can be obtained from the quantization parameter), and the quantization step size can be preset by the manager or determined according to the signal range of the signal to be encoded.
  • the computer device can quantize the signal range value of the signal to be encoded based on the quantization step size to obtain the quantized signal range value.
  • the signal range values belonging to one range can be replaced by one signal range value to compress the data and facilitate subsequent quick query of the index value to be processed.
  • the computer device can obtain the logarithmic value of the quantized signal range value, perform a difference processing on the logarithmic value, and obtain the to-be-processed index value corresponding to the data block to be processed.
  • the first parameter table includes at least one index value, and the decoding parameters associated with each index value in the at least one index value, that is, one index value corresponds to A decoding parameter.
  • the computer device may determine the decoding parameters obtained from the query as target decoding parameters of the data block to be processed.
  • the first parameter table is the same as the first parameter table in the encoding device, and can be sent by the encoding device to the decoding device, and the decoding device can generate the first parameter table according to the way the encoding device generates the second parameter table.
  • the parameter determination method of the target encoding parameters includes a method based on data blocks with adjacent relationships, that is, the encoding device is based on the encoded data in the point cloud data that has an adjacent relationship with the data block to be processed.
  • the coding data of the block is adjusted to the initial order to obtain the content of the target coding parameters.
  • the specific manner in which the computer device determines the target decoding parameters may include: obtaining the signal range value corresponding to the signal to be encoded in the data block to be processed.
  • the initial decoding parameters of the target number of blocks are determined according to the signal range value corresponding to the data block to be processed.
  • the initial decoding parameters are adjusted to obtain the target decoding parameters corresponding to the encoded data of the data block to be processed.
  • the computer device obtains the signal range value corresponding to the signal to be encoded in the data block to be processed, and determines the initial decoding parameters of the target block according to the signal range value corresponding to the data block to be processed.
  • the specific determination process can refer to the above-mentioned root.
  • the computer device can obtain decoded data blocks in the point cloud data that have an adjacent relationship with the data block to be processed, and adjust the initial decoding parameters according to the decoding signal of the decoded data to obtain the target decoding parameters.
  • the encoding device determines the target encoding parameters according to the encoded data of the encoded data block in Figure 2 above. That is, the way in which the decoding device determines the target decoding parameters is the same as the way in which the encoding device determines the target encoding.
  • the embodiments of the present application are not included here. Repeat.
  • the signal range value of the signal to be encoded in the data block to be processed is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed; or, the signal range value is based on the signal to be encoded.
  • the sampling accuracy of the signal to be encoded within the processed data block is determined.
  • the signal characteristics may refer to the signal range value of the signal to be encoded in the data block to be processed, and the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed.
  • the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed may be determined by the encoding device.
  • the signal range value may refer to the difference between the signal value of the largest signal to be encoded and the signal value of the smallest signal to be encoded within the data block to be processed.
  • the signal range value may refer to the difference between the maximum geometric prediction residual and the minimum geometric prediction residual.
  • the signal range value of the signal to be encoded in the data block to be processed is 6.
  • the signal range value may be determined based on the sampling accuracy of the signal to be encoded in the data block to be processed, and the sampling accuracy of the signal to be encoded in the data block to be processed is sent by the encoding device to the decoding device. For example, if the geometric accuracy of the point cloud data is 10 bits, the accuracy of the signals to be encoded in the data blocks to be processed in the point cloud data can be 10 bits, and the signal range value of the signals to be encoded in the data blocks to be processed can be 210.
  • the encoding method of the encoding device can be exponential Golomb coding
  • the decoding method of the decoding device can be exponential Golomb coding
  • the initial decoding parameter of the data block to be processed is the initial order (the same as the encoding method).
  • the initial encoding parameters of the data block to be processed in the device are the same).
  • a specific manner in which the computer device adjusts the initial decoding parameters may include: determining a final signal value of the decoded signal of the decoded data block. According to the initial order, the first limit order and the second limit order are determined, and the first limit order is smaller than the second limit order. Obtain the magnitude relationship between the final signal value and the first limiting order and the second limiting order. The initial order is adjusted according to the size relationship to obtain the target order associated with the data block to be processed, and the target order is determined as the target decoding parameter.
  • 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 uses n1 encoded data blocks, The data block adjusts the initial order, and the number of decoded data blocks is n1. When the number of decoded data blocks is one and the number of decoded signals in the encoded data block is 1, the final signal value of the decoded signal of the decoded data block may be the signal corresponding to the decoded signal in the decoded data block. value.
  • the final signal value of the decoded signal of the decoded data block may be the average of the signal values corresponding to the n1 decoded signals.
  • the final signal value may be the average value of the decoded signals of n1 decoded data blocks.
  • the computer device may determine the first limiting order and the second limiting order based on the initial order, and the first limiting order is smaller than the second limiting order.
  • the computer equipment can set the buffer (buffer) size for storing decoded data blocks to n1, and count the final signal of the decoded data block every n2 points. value.
  • the decoded data block can be a data point in the point cloud data, and the initial order can be adjusted every n1 data points.
  • the first limit order refers to the lower limit order
  • the second limit order can refer to the upper limit order
  • the initial order is represented by golombNum
  • the first limit order is represented by golombNumLow
  • the second limit order is represented by golombNumUP.
  • the computer device may obtain a magnitude relationship between the final signal value of the decoded signal of the decoded data block and the first limiting order and the second limiting order.
  • the magnitude relationship may include that the final signal value is smaller than the first limiting order, or that the final signal value is greater than the second limiting order, or that the final signal value is greater than or equal to the first limiting order and less than or equal to the second limiting order.
  • the computer device can adjust the initial order according to the size relationship to obtain the target order associated with the data block to be processed.
  • the computer device may determine the target order as the target decoding parameter.
  • the specific way in which the computer device adjusts the initial order may include but is not limited to the following: if the magnitude relationship indicates that the final signal value is less than the first limiting order, then the initial order is compared with the first limiting order. The sum between the adjustment steps is determined as the target order. If the magnitude relationship indicates that the final signal value is greater than the second limiting order, then the difference between the initial order and the first adjustment step is determined as the target order. If the magnitude relationship indicates that the final 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.
  • the computer device may determine the sum between the initial order and the first adjustment step as the associated target order of the target data block.
  • the first adjustment step size may be determined by historical coding record information, or the first adjustment step size may be determined by a manager, etc.
  • the first adjustment step size may be a value such as 1, 2, or 3. If the magnitude relationship indicates that the final signal value is greater than the second limiting order, the computer device may determine the difference between the initial order and the first adjustment step as the target order. If the magnitude relationship indicates that the final signal value is greater than or equal to the first limit order and less than or equal to the second limit order, the initial order is not adjusted and the initial order is determined as the target order.
  • decoding parameters corresponding to the decoded data block are obtained, and the decoding parameters of the decoded data block include the historical order of the decoded data block. If the magnitude relationship indicates that the final signal value is less than the first limiting order, then the sum between the historical order and the second adjustment step is determined as the target order. If the magnitude relationship indicates that the final signal value is greater than the second limiting order, then the difference between the historical order and the second adjustment step is determined as the target order. If the magnitude relationship indicates that the final 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.
  • the computer device can obtain the historical order corresponding to the decoded data block. If the size relationship indicates that the final signal value is less than the first limiting order, then the sum between the historical order and the second adjustment step is determined as the target order.
  • the second adjustment step size may be the same as the first adjustment step size, or may be different from the first adjustment step size. Similarly, the second adjustment step size can also be determined by historical coding record information, or the second adjustment step size can be determined by managers, etc.
  • the second adjustment step size can be Think of values as 1, 2, 3, etc. If the magnitude relationship indicates that the final signal value is greater than the second limiting order, then the difference between the historical order and the second adjustment step is determined as the target order.
  • the initial order is determined as the target order.
  • the adjustment content of the initial order in Figure 2 above please refer to the adjustment content of the initial order in Figure 2 above, which will not be described in detail here in the embodiment of the present application.
  • the specific way in which the computer device adjusts the initial order may include but is not limited to the following: adjusting the initial order according to the size relationship to obtain candidate orders associated with the data block to be processed. If the candidate order is less than or equal to the third limiting order, then the sum between the candidate order and the third adjustment step is determined as the target order. If the candidate order is greater than or equal to the fourth limit order, the difference between the candidate order and the third adjustment step is determined as the target order; the third limit order is less than the fourth limit order. If the candidate order is greater than the third limiting order and less than the fourth limiting order, the candidate order is determined as the target order.
  • the computer device can adjust the initial order according to the size relationship to obtain the candidate order associated with the data block to be processed.
  • the computer device can detect the relationship between the candidate order associated with the data block to be processed and the third limiting order and the fourth limiting order, adjust the candidate order according to the relationship, and obtain the target order associated with the data block to be processed. .
  • the third limiting order and the fourth limiting order are used to limit the target order within a reasonable order range, and the third limiting order is smaller than the fourth limiting order.
  • 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 between the candidate order and the third adjustment step can be determined as the target order.
  • the first preset order can be used as the target order, and the first preset order is greater than the third limit order and less than the fourth limit order, That is, the first preset order is within a reasonable order range.
  • the difference between the candidate order and the third adjustment step can be determined as the target order.
  • the second preset order may be determined as the target order.
  • the second preset order is greater than the third limiting order and less than the fourth limiting order, that is, the second preset order is within a reasonable order range. If the candidate order is greater than the third limiting order and less than the fourth order, it means that the candidate order is within a reasonable order range, and the candidate order is not adjusted and the candidate order is determined as the target order.
  • the above specific content can refer to the process of determining the target encoding parameters based on the encoded data blocks with adjacent relationships in Figure 2, that is, the process of the decoding device determining the target decoding parameters based on the encoded data blocks is the same as the process of the encoding device determining the target decoding parameters based on the encoded data blocks.
  • the process of determining the target encoding parameters for encoding data blocks is the same.
  • the encoded data in the data block to be processed includes first encoded data and second encoded data, and the attribute types of the first encoded data and the second encoded data are different; the target decoding parameters of the data block to be processed Including first decoding parameters and second decoding parameters, the first decoding parameters are used to decode the first encoded data, and the second decoding parameters are used to decode the second encoded data; the first decoding parameters are different from the second decoding parameters.
  • the first encoded data includes first sub-encoded data, second sub-encoded data and third sub-encoded data; the first decoding parameter is based on the first sub-encoded data, the second sub-encoded data and The sub-signal characteristics corresponding to the third sub-encoded data are determined; or, the decoding parameters corresponding to the first sub-encoded data, the second sub-encoded data and the third sub-encoded data are determined as the first decoding parameters; or, the decoding parameters are determined with The decoding parameter corresponding to the association information associated with the first encoded data is the first decoding parameter.
  • the first encoded data includes first sub-encoded data, second sub-encoded data and third sub-encoded data
  • the first decoding parameter includes the first sub-decoding parameter corresponding to the first sub-encoded data
  • the first sub-decoding parameter is determined based on the sub-signal characteristics corresponding to the first sub-encoded data
  • the second sub-decoding The parameters are determined based on the first sub-decoding parameter and the parameter offset
  • the third sub-decoding parameter is determined based on the second sub-decoding parameter and the parameter offset.
  • the above content may refer to the description in Figure 2.
  • the encoding device determines the target encoding parameters of the data block to be processed in the same manner as the decoding device determines the target decoding parameters of the encoded data of the data block to be processed.
  • the embodiments of the present application are not discussed here. Repeat.
  • S203 Decode the encoded data according to the target decoding parameters to obtain the decoded signal of the data block to be processed.
  • the computer device can decode the encoded data according to the target decoding parameters to obtain a decoded signal of the data block to be processed, and the decoded signal is used to reflect the media attributes of the data block to be processed.
  • the media attributes of the data block to be processed may include attributes such as geometric position information, color, reflectivity, classification value, intensity value, time, material properties, and texture information.
  • the decoded signal may be obtained by performing attribute prediction, attribute transformation, attribute prediction transformation or attribute transformation prediction on the media attributes of the data block to be processed, such as geometric prediction residuals, attribute prediction residuals or attribute transformation coefficients, etc.
  • the encoding data of the data block to be processed includes encoding tags and signal thresholds.
  • the specific manner in which the computer device decodes the encoded data may include: if the encoding tag included in the encoded data of the data block to be processed is the first encoding tag, decoding the encoded data according to the target decoding parameters to obtain an initial decoding signal, and according to the signal
  • the threshold sums the initial decoded signals to obtain the decoded signal of the data block to be processed; the first encoding label is used to indicate that the decoded signal of the data block to be processed is different from the signal threshold.
  • the signal threshold is determined as the decoded signal of the data block to be processed; the second encoding tag is used to indicate the decoded signal and signal threshold of the data block to be processed. same.
  • the computer device can detect whether the encoding tag in the encoded data of the data block to be processed is the first encoding tag. If the encoding tag in the encoded data is a first encoding tag, and the first encoding tag is used to indicate that the decoded signal of the data block to be processed is different from the signal threshold, the computer device can encode the data corresponding to the data block to be processed according to the target decoding parameter. Decode to obtain the initial decoded signal. Further, the computer device can perform a summation process on the initial decoded signals according to the signal threshold to obtain the decoded signal of the data block to be processed.
  • the decoding device can use the sum of the initial decoded signal and m+1 as The decoded signal of the data block to be processed, where m is the signal threshold. If the encoding tag included in the encoded data in the data block to be processed is a second encoding tag, and the second encoding tag is used to indicate that the decoded signal of the data block to be processed is the same as the signal threshold, then the computer device may determine the signal threshold as Decoded signal of the data block to be processed.
  • the data blocks in the point cloud data can be used as the data blocks to be processed.
  • the encoded data of the data blocks to be processed is obtained by encoding the signals to be encoded in the data blocks to be processed according to the target encoding parameters.
  • the target encoding The parameters are the coding parameters of the data block to be processed in the non-equal-length coding coding mode, and the target coding parameters are determined based on the signal characteristics of the signal to be coded.
  • the encoded data of the data block to be processed here refers to the code used to describe the data block to be processed.
  • the number of bits of encoded data that is, the encoded data of the data block to be processed refers to the length of the encoded data of the data block to be processed.
  • the decoding device After the decoding device receives the encoded data of the data block to be processed, it can decode the encoded data of the data block to be processed according to the target decoding parameter, and obtain the decoded signal of the data block to be processed.
  • the target decoding parameter is the above target.
  • the encoding parameters are determined, and since the redundancy of the encoded data of the data block to be processed is relatively low, the decoded signal of the data block to be processed can be quickly decoded, thereby improving the decoding efficiency.
  • FIG. 6 is a schematic structural diagram of a point cloud data decoding device provided by an embodiment of the present application.
  • the above-mentioned device for decoding point cloud data may be a computer program (including program code) running in a computer device.
  • the device for decoding point cloud data may be an application software; the device for decoding point cloud data may be used to execute the present application.
  • the embodiment provides corresponding steps in the method for decoding point cloud data.
  • the point cloud data decoding device may include: a first acquisition module 11 , a first determination module 12 and a decoding module 13 .
  • the first acquisition module 11 is used to obtain the encoded data of the data block to be processed in the point cloud data; the encoded data of the data block to be processed is to encode the signal to be encoded in the data block to be processed according to the target encoding parameters. It is obtained that the target coding parameters are the coding parameters of the data block to be processed in a non-equal-length coding encoding mode, and the target coding parameters are determined based on the signal characteristics of the signal to be coded;
  • the first determination module 12 is configured to determine the target decoding parameters of the data block to be processed according to the target encoding parameters
  • Decoding module 13 is used to decode the encoded data of the data block to be processed according to the target decoding parameter to obtain a decoded signal of the data block to be processed; the decoded signal is used to reflect the decoded data of the data block to be processed.
  • Media properties are used to decode the encoded data of the data block to be processed according to the target decoding parameter to obtain a decoded signal of the data block to be processed; the decoded signal is used to reflect the decoded data of the data block to be processed.
  • the first determination module 12 includes:
  • the first query unit 1201 is used to obtain the target encoding parameters corresponding to the data block to be processed from the parameter set corresponding to the point cloud data;
  • the first determining unit 1202 is configured to determine the target encoding parameter as the target decoding parameter.
  • the first determination module 12 determines the target decoding parameters of the data block to be processed according to the target encoding parameters, including:
  • the parameter determination method of the target encoding parameter is based on querying a parameter table, obtain the signal range value of the signal to be encoded;
  • the decoding parameters obtained from the query are determined as the target decoding parameters.
  • the first determination module 12 determines the target decoding parameters of the data block to be processed according to the target encoding parameters, including:
  • the parameter determination method of the target encoding parameter is based on data blocks with adjacent relationships, then obtain the signal range value of the signal to be encoded;
  • the initial decoding parameters are adjusted to obtain the target decoding parameters.
  • the initial decoding parameters are initial orders; the first determination module 12 adjusts the initial decoding parameters according to the decoding signal of the decoded data to obtain the target decoding parameters, including:
  • a first limit order and a second limit order are determined, and the first limit order is smaller than the second limit order;
  • the target order is determined as the target decoding parameter.
  • the first determination module 12 adjusts the initial order according to the size relationship to obtain the target order associated with the data block to be processed, including:
  • the sum between the initial order and the first adjustment step is determined as the target order
  • the difference between the initial order and the first adjustment step is determined as the target order
  • the initial order is determined as the target order.
  • the first determination module 12 adjusts the initial order according to the size relationship to obtain the target order associated with the data block to be processed, including:
  • the decoding parameters of the decoded data block include the historical order of the decoded data block;
  • the sum between the historical order and the second adjustment step is determined as the target order
  • the difference between the historical order and the second adjustment step is determined as the target order
  • the initial order is determined as the target order.
  • the first determination module 12 adjusts the initial order according to the size relationship to obtain the target order associated with the data block to be processed, including:
  • the candidate order is less than or equal to the third limiting order, then the sum between the candidate order and the third adjustment step is determined as the target order;
  • the difference between the candidate order and the third adjustment step is determined as the target order; the third limiting order Less than the fourth limiting order;
  • the candidate order is determined as the target order.
  • the signal range value of the signal to be encoded is determined based on the maximum signal to be encoded and the minimum signal to be encoded within the data block to be processed; or,
  • the signal range value of the signal to be encoded is determined based on the sampling accuracy of the signal to be encoded within the data block to be processed.
  • the encoded data of the data block to be processed includes first encoded data and second encoded data, and the attribute types of the first encoded data and the second encoded data are different;
  • the target decoding parameters include first decoding parameters and second decoding parameters.
  • the first decoding parameters are used to decode the first encoded data, and the second decoding parameters are used to decode the second encoded data. Decoding; the first decoding parameter is different from the second decoding parameter.
  • 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 characteristics respectively corresponding to the first sub-encoded data, the second sub-encoded data and the third sub-encoded data;
  • a decoding parameter corresponding to the association information associated with the first encoded data is determined as the first decoding parameter.
  • the first encoded data includes first sub-encoded data, second sub-encoded data and third sub-encoded data
  • the first decoding parameter includes the first sub-decoded data corresponding to the first sub-encoded data. parameters, 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;
  • the first sub-decoding parameter is determined based on the sub-signal characteristics corresponding to the first sub-encoded data
  • the second sub-decoding parameter is determined based on the first sub-decoding parameter and a parameter offset
  • the third sub-decoding parameter is determined based on the second sub-decoding parameter and the parameter offset.
  • the encoded data of the data block to be processed includes encoding tags and signal thresholds; the decoding module 13 includes:
  • the first decoding unit 1301 is configured to decode the encoded data according to the target decoding parameter to obtain an initial decoding signal if the encoding tag included in the encoded data of the data block to be processed is the first encoding tag; according to The signal threshold sums the initial decoded signals to obtain the decoded signal of the data block to be processed; the first encoding label is used to indicate that the decoded signal of the data block to be processed is different from the signal threshold;
  • the second decoding unit 1302 is configured to determine the signal threshold as the decoded signal of the data block to be processed if the encoding tag included in the encoded data of the data block to be processed is a second encoding tag;
  • the second encoding tag is used to indicate that the decoded signal of the data block to be processed is the same as the signal threshold.
  • each module in the point cloud data decoding device shown in Figure 6 can be separately or entirely combined into one or several units to form, or some of the units (some) can be further split.
  • Multiple small sub-units can implement the same operation without affecting the realization of the technical effects of the embodiments of the present application.
  • the above modules are divided based on logical functions. In practical applications, the function of one module can also be realized by multiple units, or the functions of multiple modules can be realized by one unit. In other embodiments of the present application, the point cloud data decoding device may also include other units. In practical applications, these functions may also be implemented with the assistance of other units, and may be implemented by multiple units in cooperation.
  • the coded data of the data block to be processed in the point cloud data is obtained by encoding the signal to be coded in the data block to be processed according to the target coding parameters of the data block to be processed in the non-equal-length coding encoding method.
  • the target encoding parameters are determined based on the signal characteristics of the signal to be encoded in the data block to be processed.
  • the coded data of the data block to be processed here refers to the number of bits used to describe the coded data of the data block to be processed, that is, the coded data of the data block to be processed refers to the length of the coded data of the data block to be processed.
  • the target decoding parameter is the above target.
  • the encoding parameters are determined, and since the redundancy of the encoded data of the data block to be processed is relatively low, the decoded signal of the data block to be processed can be quickly decoded, thereby improving the decoding efficiency.
  • FIG. 7 is a schematic structural diagram of a point cloud data encoding device provided by an embodiment of the present application.
  • the above-mentioned encoding device for point cloud data may be a computer program (including program code) running in a computer device.
  • the device for encoding point cloud data may be an application software; the device for encoding point cloud data may be used to execute the present application.
  • the embodiment provides corresponding steps in the encoding method of point cloud data.
  • the point cloud data encoding device may include: a second acquisition module 21 and a second determination module 22 , an encoding module 23 and a third determination module 24 .
  • the second acquisition module 21 is used to obtain the signal to be encoded in the data block to be processed in the point cloud data, and the signal characteristics of the signal to be encoded;
  • the encoding method of the point cloud data is a non-equal length encoding encoding method, and the signal to be encoded is To reflect the media attributes of the data block to be processed;
  • the second determination module 22 is used to determine the target encoding parameters of the data block to be processed in the encoding mode according to the signal characteristics of the signal to be encoded;
  • the encoding module 23 is used to encode the signal to be encoded according to the target encoding parameters to obtain the encoded data of the data block to be processed.
  • the signal characteristics of the signal to be encoded include the signal range value of the signal to be encoded; the signal range value is determined based on the maximum signal to be encoded and the minimum signal to be encoded in the data block to be processed; or,
  • the signal range value is determined based on the sampling accuracy of the signal to be encoded.
  • the second determination module 22 includes:
  • 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 logarithmic value of the quantized signal range value, perform difference processing on the logarithmic value, and obtain the data block to be processed The corresponding index value to be processed;
  • the second query unit 2202 is used to query the coding parameters associated with the index value to be processed from the second parameter table;
  • the second parameter table includes at least one index value, and the coding associated with each index value in the at least one index value.
  • the number of index values contained in the second parameter table is the same as the number of data blocks contained in the first data group
  • the first data group is a data group containing data blocks to be processed in at least two data groups, at least two
  • the data group is a data group included in the point cloud data
  • the index value to be processed belongs to the index value range to be processed, and the index value range to be processed is determined based on at least one index value in the second parameter table;
  • the second determining unit 2203 is used to determine the encoding parameters obtained by query as target encoding parameters.
  • the second determination module 22 includes:
  • the third determination unit 2204 is used to determine the initial coding parameters of the data block to be processed in the coding mode according to the signal characteristics of the signal to be coded;
  • the acquisition unit 2205 is used to acquire the encoded data block in the point cloud data that has an adjacent relationship with the data block to be processed;
  • the adjustment unit 2206 is used to adjust the initial coding parameters according to the coded data of the coded data block to obtain the target coding parameters.
  • the initial coding parameter is the initial order
  • the adjustment unit 2206 is specifically used for:
  • the first limit order and the second limit order are determined, and the first limit order is smaller than the second limit order;
  • the adjustment unit 2206 is specifically used for:
  • the sum between the initial order and the first adjustment step is determined as the target order
  • the difference between the initial order and the first adjustment step is determined as the target order
  • the initial order is determined as the target order.
  • the adjustment unit 2206 is specifically used for:
  • the encoding parameters of the encoded data block include the historical order of the encoded data block;
  • the sum between the historical order and the second adjustment step is determined as the target order
  • the difference between the historical order and the second adjustment step is determined as the target order
  • the initial order is determined as the target order.
  • the adjustment unit 2206 is specifically used for:
  • the candidate order is less than or equal to the third limiting order, then the sum between the candidate order and the third adjustment step is determined as the target order;
  • the difference between the candidate order and the third adjustment step is determined as the target order; the third limit order is less than the fourth limit order;
  • the candidate order is determined as the target order.
  • the final coded value is the average of all coded values in the coded data of the coded data block.
  • the final coded value is the average of the non-zero coded values in the coded data of the coded data block.
  • the point cloud data includes at least two data groups, and the data block to be processed 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;
  • the coded data block belongs to a second data group of at least two data groups, and the second data group has an adjacent relationship with the first data group.
  • At least two data groups are grouped according to the position of the data block in the point cloud data; or,
  • At least two data groups are obtained by grouping according to the Hilbert transform codes corresponding to the data blocks in the point cloud data; the Hilbert transform codes corresponding to the data blocks in the point cloud data are obtained by grouping each data block at the point.
  • the position in the cloud data is obtained by performing Hilbert transformation; or,
  • At least two data groups are obtained by dividing the point cloud data according to the dividing size; or,
  • 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 signal to be encoded in the data block to be processed includes one or more of geometric prediction residuals, attribute prediction residuals and attribute transformation coefficients;
  • the signal to be encoded includes a first signal to be encoded and a second signal to be encoded, and the first signal to be encoded and the second signal to be encoded have different attribute types;
  • the target encoding parameters include first encoding parameters and second encoding parameters.
  • the first encoding parameters are used to encode the first signal to be encoded, and the second encoding parameters are used to encode the second signal to be encoded.
  • the first encoding parameters are the same as the second encoding parameters.
  • the two encoding parameters are different.
  • 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 coding parameter is determined based on the sub-signal characteristics respectively corresponding to the first sub-coding signal, the second sub-coding signal and the third sub-coding signal;
  • the encoding parameter corresponding to the associated information of the first signal to be encoded is determined as the first encoding parameter.
  • 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 parameter includes a first sub-encoding parameter corresponding to the first sub-encoded signal and a second sub-encoded signal corresponding to The second sub-coding parameter and the third sub-coding parameter corresponding to the third sub-coding signal
  • the first sub-coding parameter is determined based on the sub-signal characteristics corresponding to the first sub-coding signal
  • the second sub-coding parameter is determined based on the first sub-coding parameter and the parameter offset;
  • the third sub-encoding parameter is determined based on the second sub-encoding parameter and the parameter offset.
  • the number of signals to be encoded in the data block to be processed is M, and M is a positive integer;
  • Coding module 23 includes:
  • Encoding unit 2301 is used to, if the signal to be encoded is different from the signal threshold, encode the signal to be encoded according to the first encoding label and the target encoding parameter to obtain the encoded data of the signal to be encoded; the signal to be encoded belongs to M to be encoded signal, the signal threshold is the signal to be encoded that appears most frequently among the M signals to be encoded, the first encoding label is used to indicate that the signal to be encoded is different from the signal threshold, i is a positive integer less than or equal to M;
  • the fourth determination unit 2302 is configured to determine the encoded data corresponding to the M signals to be encoded as the encoded data of the data block to be processed if the encoded data corresponding to the M signals to be encoded are obtained.
  • the point cloud data encoding device also includes:
  • the third determination module 24 is used to determine the second encoding label as the encoding data of the signal to be encoded if the signal to be encoded is the same as the signal threshold; the second encoding label is used to indicate that the signal to be encoded is the same as the signal threshold.
  • the coding unit 2301 is specifically used for:
  • a first encoding label is generated, and the first encoding label is used to indicate that the signal to be encoded is different from the signal threshold;
  • the signal threshold perform difference processing on the signal to be encoded to obtain the signal difference
  • the signal difference value is encoded according to the target encoding parameter to obtain the signal encoding value of the signal to be encoded, and the signal encoding value and the first encoding label are determined as the encoded data of the data block to be processed.
  • each module in the point cloud data encoding device shown in Figure 7 can be separately or entirely combined into one or several units, or some of the units can be further split. Multiple subunits with smaller functions can implement the same operation without affecting the realization of the technical effects of the embodiments of the present application.
  • the above modules are divided based on logical functions. In practical applications, the function of one module can also be realized by multiple units, or the functions of multiple modules can be realized by one unit. In other embodiments of the present application, the point cloud data encoding device may also include other units. In practical applications, these functions may also be implemented with the assistance of other units, and may be implemented by multiple units in cooperation.
  • the signal to be encoded in the data block to be processed in the point cloud data is obtained, and the signal characteristics of the signal to be encoded in the data block to be processed are obtained.
  • the encoding method of the point cloud data is a non-equal length encoding encoding method.
  • the signal to be encoded is used to reflect the media attributes of the data block to be processed. It can be seen that using a non-equal-length encoding encoding method can reduce the amount of encoded data of the data block to be processed.
  • the target encoding parameters of the data block to be processed in the encoding mode are determined.
  • the encoded data of the data block to be processed here refers to the number of bits used to describe the encoded data of the data block to be processed, that is, the encoded data of the data block to be processed refers to the length of the encoded data of the data block to be processed.
  • the signal to be encoded in the data block to be processed is encoded according to the target encoding parameters to obtain the encoded data of the data block to be processed. It can be seen that by using accurate target encoding parameters to encode the signal to be encoded in the data block to be processed, the signal to be encoded can be represented with fewer codes, thereby reducing the amount of encoded data corresponding to the data block to be processed and reducing the pressure on network transmission.
  • the decoding device can also reduce the receiving pressure of the decoding device in receiving the encoded data, and at the same time, it can also improve the decoding efficiency of the encoded data.
  • it can also reduce the receiving pressure of the decoding device in receiving the encoded data, and at the same time, it can also improve the decoding efficiency of the encoded data.
  • the data blocks have different encodings, which can effectively reduce the redundancy of the encoded data of the data block to be processed, that is, it can reduce the length of the encoded data of the data block to be processed, and at the same time, it can improve the transmission efficiency of the encoded data of the data block to be processed. .
  • the computer device 1000 may include a processor 1001 , a network interface 1004 and a memory 1005 .
  • the computer device 1000 may further include a user interface 1003 and at least one communication bus 1002 .
  • the communication bus 1002 is used to realize connection communication between these components.
  • the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface.
  • 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 a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. In a possible implementation, the memory 1005 may also be at least one storage device located far away from the aforementioned processor 1001. As shown in Figure 8, memory 1005, which is a computer-readable storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.
  • the network interface 1004 can provide network communication functions; 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 stored in the memory 1005. application to achieve:
  • the encoding data of the data block to be processed is obtained by encoding the signal to be encoded in the data block to be processed according to the target encoding parameters.
  • the target encoding parameter is the data block to be processed in a non-linear region. Coding parameters under the encoding method of equal length coding, the target coding parameters are determined based on the signal characteristics of the signal to be encoded;
  • the encoded data of the data block to be processed is decoded according to the target decoding parameters to obtain the decoded signal of the data block to be processed; the decoded signal is used to reflect the media attributes of the data block to be processed.
  • the computer device 1000 described in the embodiment of the present application can perform the description of the decoding method of point cloud data in the embodiment corresponding to Figure 5, and can also perform the decoding method of point cloud data in the embodiment corresponding to Figure 7.
  • the description of the decoding device will not be repeated here.
  • the description of the beneficial effects of using the same method will not be described again.
  • the computer device 2000 may include a processor 2001 , a network interface 2004 and a memory 2005 .
  • the computer device 2000 may further include a user interface 2003 and at least one communication bus 2002 .
  • the communication bus 2002 is used to realize connection communication between these components.
  • the user interface 2003 may include a display screen (Display) and a keyboard (Keyboard), and the optional user interface 2003 may also include a standard wired interface and a wireless interface.
  • 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 a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. In a possible implementation, the memory 2005 may also be at least one storage device located far away from the aforementioned processor 2001. As shown in Figure 9, 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.
  • the network interface 2004 can provide network communication functions;
  • 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 stored in the memory 2005. application to achieve:
  • the signal to be encoded in the data block to be processed in the point cloud data and the signal characteristics of the signal to be encoded;
  • the encoding method of the point cloud data is non-equal length coding, and the signal to be encoded is used to reflect the media of the data block to be processed. Attributes;
  • the target encoding parameters of the data block to be processed in the encoding mode determine the target encoding parameters of the data block to be processed in the encoding mode
  • the signal to be encoded is encoded according to the target encoding parameters to obtain the encoded data of the data block to be processed.
  • the computer device 2000 described in the embodiment of the present application can perform the description of the encoding method of point cloud data in the embodiment corresponding to FIG. 2, and can also perform the encoding method of point cloud data in the embodiment corresponding to FIG. 6.
  • the description of the encoding device will not be repeated here.
  • the description of the beneficial effects of using the same method will not be described again.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the computer program executed by the aforementioned point cloud data decoding device, and the computer
  • the program includes program instructions.
  • the processor executes the program instructions, it can execute the decoding method of point cloud data in the embodiment corresponding to Figure 5, or the description of the encoding method of point cloud data in the embodiment corresponding to Figure 2, Therefore, no further details will be given here.
  • program instructions may be deployed for execution on one computing device, or on multiple computing devices located at one location, or on multiple computing devices distributed across multiple locations and interconnected by a communications network.
  • multiple computing devices distributed in multiple locations and interconnected through communication networks can form a blockchain system.
  • embodiments of the present application also provide a computer program product.
  • the computer program product may include a computer program, and the computer program may be stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer program from the computer-readable storage medium, and the processor can execute the computer program, so that the computer device performs the decoding method for point cloud data in the embodiment corresponding to Figure 5, or, Figure 2
  • the description of the encoding method of point cloud data in the corresponding embodiment is therefore not repeated here.
  • the description of the beneficial effects of using the same method will not be described again.
  • Modules in the device of the embodiment of the present application can be merged, divided, and deleted according to actual needs.
  • the program can be stored in a computer-readable storage medium, and the program can be executed when executed. When doing so, it may include the processes of the above method embodiments.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random access memory (Random Access Memory, RAM), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请实施例公开了点云数据的解码方法、编码方法、装置、存储介质及设备,本申请实施例可应用于云技术、智慧交通、辅助驾驶等场景。解码方法包括:获取点云数据中待处理数据块的编码数据;根据待处理数据块对应的目标编码参数,确定待处理数据块的目标解码参数;根据目标解码参数对编码数据进行解码,得到待处理数据块的解码信号。通过本申请可以提高对点云数据中的数据块的解码效率。

Description

点云数据的解码方法、编码方法、装置、存储介质及设备
本申请要求于2022年8月19日提交中国专利局、申请号202211003838.7、申请名称为“点云数据的解码方法、编码方法、装置、存储介质及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及一种数据处理技术领域,尤其涉及一种点云数据的编解码技术。
背景技术
点云数据是指对一个对象的表面属性特性进行扫描所得到的海量点集合,点云数据中的一个点或一组点可以称为点云数据中的一个数据块。通常点云数据中的每个数据块包括对象的几何信息、颜色和反射率等多类属性,且点云数据中的数据块的数量级比较大,由此可知,点云数据所包括的数据量十分庞大。因此,需要对点云数据中数据块的多类属性进行编码得到码流,通过传输该码流可以提高点云数据的传输效率。
但是,在解码端对点云数据中的数据块的码流进行解码的过程中,存在数据块的码流的数据量较大的问题,解码设备需要花费较长时间接收和解码数据块的码流,导致解码效率较低。
发明内容
本申请实施例所要解决的技术问题在于,提供点云数据的解码方法、编码方法、装置、存储介质及设备,可以提高点云数据的数据块的解码效率。
本申请实施例一方面提供一种点云数据的解码方法,所述方法由计算机设备执行,包括:
获取点云数据中待处理数据块的编码数据;所述待处理数据块的编码数据是根据目标编码参数,对所述待处理数据块内的待编码信号进行编码得到的,所述目标编码参数是所述待处理数据块在非等长编码的编码方式下的编码参数,所述目标编码参数是基于所述待编码信号的信号特征确定的;
根据所述目标编码参数,确定所述待处理数据块的目标解码参数;
根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号;所述解码信号用于反映所述待处理数据块的媒体属性。
本申请实施例一方面提供一种点云数据的编码方法,所述方法由计算机设备执行,包括:
获取点云数据中待处理数据块内的待编码信号,以及所述待编码信号的信号特征;所述点云数据的编码方式为非等长编码的编码方式,所述待编码信号用于反映所述待处理数据块的媒体属性;
根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数;
根据所述目标编码参数对所述待编码信号进行编码,得到所述待处理数据块的编码数据。
本申请实施例一方面提供一种点云数据的解码装置,所述装置部署在计算机设备上,包括:
第一获取模块,用于获取点云数据中待处理数据块的编码数据;所述待处理数据块的编码数据是根据目标编码参数,对所述待处理数据块内的待编码信号进行编码得到的,所述目标编码参数是所述待处理数据块在非等长编码的编码方式下的编码参数,所述目标编码参数是基于所述待编码信号的信号特征确定的;
第一确定模块,用于根据所述目标编码参数,确定所述待处理数据块的目标解码参数;
解码模块,用于根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号;所述解码信号用于反映所述待处理数据块的媒体属性。
本申请实施例一方面提供一种点云数据的编码装置,所述装置部署在计算机设备上,包括:
第三获取模块,用于获取点云数据中待处理数据块内的待编码信号,以及所述待编码信号的信号特征;所述点云数据的编码方式为非等长编码的编码方式,所述待编码信号用于反映所述待处理数据块的媒体属性;
第一确定模块,用于根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数;
编码模块,用于根据所述目标编码参数对所述待编码信号进行编码,得到所述待处理数据块的编码数据。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例中,点云数据中的数据块可以作为待处理数据块,待处理数据块的编码数据是根据目标编码参数,对待处理数据块内的待编码信号进行编码得到的,该目标编码参数是待处理数据块在非等长编码的编码方式下的编码参数,目标编码参数是基于该待编码信号的信号特征确定的。此处的待处理数据块的编码数据是指用于描述待处理数据块的编码数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。换言之,通过基于待处理数据块内待编码信号的信号特征,自适应地确定需要采用多少个编码(即比特位)来描述该待处理数据块的编码数据,即具有不同信号特征的数据块具有不同的编码(即不同的比特位),这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效 率。进一步,在解码设备接收到待处理数据块的编码数据后,可以根据目标解码参数对该待处理数据块的编码数据进行解码,得到该待处理数据块的解码信号,该目标解码参数是上述目标编码参数确定的,由于待处理数据块的编码数据的冗余度比较低,因此,可以快速地解码出待处理数据块的解码信号,进而可以提高解码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种点云数据处理过程的示意图;
图2是本申请实施例提供的一种点云数据的编码方法的流程示意图;
图3是本申请实施例提供的一种数据块的示意图;
图4是本申请实施例提供的一种数据组划分的示意图;
图5是本申请实施例中提供的一种点云数据的解码方法的示意图;
图6是本申请实施例提供的一种点云数据的解码装置的结构示意图;
图7是本申请实施例提供的一种点云数据的编码装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请涉及云技术技领域。其中,本申请涉及云技术技领域中的云计算,云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展。本申请可以通过云计算对多个点云数据中的待处理数据块进行编码和解码。
本申请实施例涉及点云数据的处理技术,本申请实施例主要涉及点云数据编码和点云数据解码,如图1所示,图1是本申请实施例提供的一种点云数据处理的示意图,针对点云数据处理过程可如图1所示,具体可包括:点云数据的获取10a,点云数据的预处理10b、点云数据的编码10c、点云数据的量化10d、点云数据的熵编码10e以及点云数据的解码。
点云数据:点云数据是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云数据中的每个数据块至少具有几何位置信息(即三维位置信息),根据应用场景的不同,还可能具有色彩、材质或其他媒体属性信息。通常,点云数据中的每个数据点都具有相同数量的媒体属性信息,本申请中点云数据中的可以一个数据点或一组数据点可以称为一个数据块。
点云数据的获取10a:是指获取点云数据,点云数据的获取方式包括但不限于:计算机生成、3D激光扫描、3D摄影测量等。计算机可以生成虚拟三维物体及场景的点云数据。3D扫描可以获得静态现实世界三维物体或场景的点云数据,每秒可以获取百万级点。3D摄像可以获得动态现实世界三维物体或场景的点云数据,每秒可以获取千万级点。伴随着大规模的点云数据不断积累,点云数据的高效存储、传输、发布、共享和标准化,成为点云应用的关键。
点云数据的预处理10b:对3D空间中的点云数据进行预处理,该预处理包括坐标系变换(Transform coordinates)和体素化(VoxeL1ze)。其中,坐标系变换是指通过缩放和平移等方式对点云数据中点的坐标系进行转换,转换成另一不同的坐标系(如世界坐标系)。体素化是指对点云数据中的点进行坐标量化、重复点删除以及属性赋值,将位于同一体素内的所有点都量化到体素中心,并将体素内所有点的属性组合分配给该体素中心,并将体素中心确定为新的点。这样,通过缩放和平移的操作,将3D空间中的点云数据转换成整数形式,并将其最小几何位置移至坐标原点处。
点云数据的编码10c:是指对点云数据中的数据块进行编码,包括几何编码和属性编码两方面的编码(例如图1所示)。几何编码是对点的几何位置信息进行编码,得到点的几何码流。几何编码可以包含如下两种模式:(a)基于八叉树的几何编码(Octree):八叉树是一种树形数据结构,在3D空间划分中,对点云包围盒(即包含所有点云的最小立方体)进行均匀划分,每个节点都具有八个子节点。通过对八叉树中各个子节点的占用与否采用“1”和“0”指示,获得占用码信息(occupancy code),将占用码信息作为点云几何信息的码流。(b)基于三角表示的几何编码(Trisoup):将点云划分为一定大小的块(block),定位点云表面在块的边缘的交点并构建三角形,通过编码交点位置得到点云几何信息的码流。属性编码是指对点的媒体属性信息进行编码,得到点的属性码流。
点云数据的量化10d:对于点的几何码流和属性码流,进一步的进行有损的量化操作,丢失掉一定的信息,使得量化后的码流有利于压缩表达,点云数据的量化可包括几何量化和属性量化。例如,几何量化是指对点云几何信息的码流进行量化,将某取值范围内的编码值量化为同一编码值。量化的精细程度通常由量化参数(QP,即quantization parameter)来决定,QP取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率。相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。在点云编码中,量化是直接对点的坐标信息进行的。属性信息量化(例如图1中属性信息量化10d)是指对属性码流进行量化,将取值范围内的编码值量化为同一编码值。量化的精细程度通常由量化参数(QP)来决定。在预测编码中,是对属性残差进行量化;在变换编码中,是对变换系数进行量化。
点云数据的熵编码(Entropy Coding)10e或统计编码:量化后的码流,将根据码流中各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。熵编码包括几何熵编码(例如图1中几何熵编码10e)和属性熵编码(例如图1中属性熵编码10e),几何熵编码是指对点云几何信息的码流进行统计压缩编码,最后输出二值化(0或者1)的 压缩码流,例如几何比特流,如对八叉树的占用码信息进行统计压缩编码。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常用的统计编码方式是基于上下文的二值化算术编码。属性熵编码是指对量化后的属性残差或变换系数进行统计压缩,最后输出二值化(0或者1)的压缩码流,例如属性比特流。一般使用行程编码(run length coding)及算数编码(arithmetic coding)实现对量化后的属性残差或变换系数进行最终的压缩。相应的编码模式,量化参数等信息也同样采用熵编码器进行编码。
点云数据的解码:在解码端,解码器获得点云数据的压缩码流后,首先进行对压缩编码进行熵解码,得到量化后的几何信息以及量化后的属性信息。首先,几何信息经过反量化,得到重建点的位置信息。另一方面,量化后的属性信息经过反量化得到属性残差,并根据采用的编码模式确认参考信号,得到重建的属性信息,按顺序与几何信息一一对应,产生输出的重建点云数据。
本申请实施例中的数据块可以是上述点云数据中的一个数据点,也可以是点云数据中的至少两个数据点所构成的一组数据点。如图2所示,图2是本申请实施例提供的一种点云数据的编码方法的流程示意图,该方法可由计算机设备来执行,该计算机设备可以是指编码设备。如图2所示,该方法具体可包括但不限于以下步骤:
S101,获取点云数据中待处理数据块内的待编码信号,以及待编码信号的信号特征。
点云数据广泛应用于城市数字化地图的构建,在如智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。计算机设备可以通过三维扫描设备对一个对象的表面进行采集,得到点云数据,该点云数据中包括多个数据点,数据点可以是指对象的表面上的一个很小的区域,待处理数据块可以为点云数据中的任意一个数据点或者至少两个数据点所构成的一组数据点。例如,待处理数据块可以是指点云数据、点云数据中的宏块、点云数据中的预测树(由点云数据中多个数据点构成的树)等。其中,点云数据中可以包括一个或者多个数据块,待处理数据块属于一个或者多个数据块中的任意一个数据块。计算机设备可以获取点云数据中待处理数据块内的待编码信号,待处理数据块内的待编码信号的数量可以为一个或者多个,该待处理数据块内的待编码信号可以用于反映待处理数据块的媒体属性,该媒体属性可以是指几何位置信息、颜色、反射率、分类值、强度值、时间、材料特性以及纹理信息等属性。其中,待编码信号可以是指对待处理数据块的媒体属性进行属性预测、属性变换、属性预测变换或者属性变换预测得到的,如几何预测残差、属性预测残差或者属性变换系数等。计算机设备可以获取待编码信号的信号特征,该信号特征可以是指待编码信号的信号阈值范围、待编码信号的分布特征、待编码信号的信号值大小或者与待处理数据块的待编码信号关联的关联信号的信号特征等。
其中,点云数据的编码方式可以为非等长编码的编码方式,该非等长编码的编码方式可以包括指无符号指数哥伦布编码方式、有符号指数哥伦布编码方式、截断指数哥伦布编码方式以及映射指数哥伦布编码方式等。由于机器仅能识别0和1,因此需要将待处理数据块的待编码信号编码成由0和1组成的字符。在采用二进制对待处理数据块的待编码信号进行编码时,由于二进制编码是等长编码,即以相同编码(即比特位)记录不同待编码值,会产生大量的冗余信息。例如,待编码信号的信号值为2时,采用二进制编码得到的 编码数据为00000010,原本只需要2个bit就能表示的数据,如今需要8个bit来表示,那么其余6个bit就是冗余数据,在网络传输时,会出现很大的冗余量,加重网络负担。采用非等长编码的编码方式对待处理数据块的待编码信号进行编码,可以减少待处理数据块的编码数据的数据量,以减轻网络负担,提高点云数据的传输效率,同时可以减少解码端需要解码的码流的数据量,以提高点云数据的编码解码效率。例如,当待编码信号的信号值为0时,采用0阶的指数哥伦布编码方式编码得到的编码数据为1,只有一个比特位,可以大大较少比特位的数量,以编码数据的数量。
在一种可能的实现方式中,待处理数据块的待编码信号可以是指对待处理数据块的媒体属性进行属性预测得到的。其中,待处理数据块的待编码信号包括待处理数据块的M类媒体属性分别对应的属性预测残差,即一类媒体属性对应一个属性预测残差。例如,待处理数据块的一类媒体属性为颜色属性时,则待处理数据块的待编码信号可以是指颜色属性对应的属性预测残差。例如,待处理数据块的另一类媒体属性为反射率属性时,则待处理数据块的待编码信号可以是指反射率属性对应的属性预测残差。其中,属性预测残差是对待处理数据块的媒体属性和待处理数据块的预测属性进行求差得到的,待处理数据块的预测属性可以是指根据待处理数据块的参考数据块的媒体属性进行预测得到的,该属性预测残差为待处理数据块的待编码信号。例如,当待处理数据块的媒体属性为颜色属性时,待处理数据块的颜色属性预测残差是根据待处理数据块的参考数据块的颜色属性与待处理数据块的颜色属性进行求差得到的。其中,待处理数据块的参考数据块可以是指点云数据中与待处理数据块之间的位置距离小于或者等于距离阈值的数据块。
在一种可能的实现方式中,待处理数据块的待编码信号可以是指对待处理数据块的媒体属性进行属性变换得到的。待处理数据块的待编码信号可以是采用变换矩阵对待处理数据块的媒体属性进行属性变换得到的,变换矩阵是根据待处理数据块中的数据点的数量确定的,计算机设备可以根据待处理数据块中的数据点的数量,从变换矩阵集合中获取对应的变换矩阵。计算机设备通过变换矩阵对待处理数据块的媒体属性进行变换处理,得到一个第一属性变换系数(即直流分量系数)和一个或者多个第二属性变换系数(即交流分量系数),该一个第一属性变换系数(即直流分量系数)和一个或者多个第二属性变换系数(即交流分量系数)为待处理数据块的待编码信号。
在一种可能的实现方式中,待处理数据块的待编码信号可以是指对待处理数据块的媒体属性进行属性预测变换得到的。属性预测变换是指对待处理数据块的媒体属性进行属性预测处理,得到属性预测残差后,对待处理数据块的属性预测残差进行属性变换处理,得到待处理数据块的属性变换系数,该待处理数据块的属性变换系数为待处理数据块的待编码信号。
在一种可能的实现方式中,待处理数据块的待编码信号可以是指对待处理数据块的媒体属性进行属性变换预测得到的。属性变换预测是指对待处理数据块的媒体属性进行属性变换处理,得到待处理数据块的属性变换系数,再通过对待处理数据块的属性变换系数进行属性预测,得到待处理数据块的属性预测残差,该据块的属性预测残差为待处理数据块的待编码信号。
其中,属性预测变换的公式可以如以下公式(1)所示:
Y=AX   (1)
其中,X为待处理数据块的媒体属性的属性预测残差,Y为待处理数据块的媒体属性对应的第一变换系数和第二变换系数,A为K_i元离散余弦变换(Discrete Cosine Transform,DCT)变换矩阵,i为待处理数据块中包含的数据点的数量。例如,待处理数据块内的数据点的数量为4时,四元DCT变换矩阵为A={{256,256,256,256},{256,256,-256,-256},{256,-256,-256,256},{256,-256,256,-256}},X={-2,-3,-17,-16}时,则Y={-9728,7168,512,0}。其中Y(0)=-9728为第一变换系数,其他3个为第二变换系数。
如图3所示,图3是本申请实施例提供的一种数据块的示意图,如图3所示,计算机设备可以采用八叉树划分方式对点云数据所构成的三维空间进行划分,得到点云数据中的数据块。八叉树划分方式是逐层次地对点云数据的包围盒(即点云数据所构成的三维空间)进行均匀划分,得到点云数据的八叉树,八叉树中的每个节点都具有八个子节点。其中,点云数据中的数据块可以为该八叉树中的任意节点,即点云数据中的数据块可以为八叉树中任意一层中的节点。如图3所示,计算机设备可以对八叉树中各个子节点的占用与否采用“1”和“0”指示,获取点云数据对应的几何信息的码流。即若该子节点中存在点云数据中的点,则用“1”表示;若该子节点中不存在点云数据中的点,则用“0”表示。如图3所示,计算机设备对点云数据的包围盒进行第一次划分,得到第一层的8个第一子节点,即编码为10000001,点云数据中的数据块可以为第一层的8个第一子节点。其中,第一个第一子节点中包含点云数据中的数据点,则第一个第一子节点的占用信息为“1”,第二个至第七个第一子节点不包含点云数据中的数据点,则第一个第一子节点的占用信息为“0”,第八个第一子节点包含点云数据中的数据点,则第一个第一子节点的占用信息为“1”。以此类推,第二层的第一个第一子节点包括8个第二子节点,第一个第一子节点的编码为00011000,第八个第一子节点的编码为10001000。同样的,点云数据中的数据块也可以为第二层的第二子节点。
S102,根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数。
计算机设备可以根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数,该目标编码参数包括用于指示待处理数据块的编码数据所属的长度的参数。例如,编码方式为指数哥伦布编码方式时,目标编码参数可以是指基于指数哥伦布编码方式的阶数,如0阶、1阶、2阶….等中的一个。例如,以待编码信号的信号值为3为例,若目标编码参数为0阶,则目标编码参数用于指示待处理数据块的编码数据所属的第一编码长度为5位(即3的编码数据为00100);若目标编码参数为1阶,则目标编码参数用于指示待处理数据块的编码数据所属的第一编码长度为4位(即3的编码数据为0101);若目标编码参数为2阶,则目标编码参数用于指示待处理数据块的编码数据所属的第一编码长度为3位(即3的编码数据为111)。其中,计算机设备可以根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数,以用最少的编码(即比特位)表示待处理数据块的编码数据。此处的待处理数据块的编码数据是指用于描述待处理数据块的编码 数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。换言之,通过基于待处理数据块内的待编码信号的信号特征,自适应地确定需要采用多少个编码来描述该待处理数据块的编码数据,即具有不同信号特征的数据块具有不同的编码,这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效率。
在一种可能的实现方式中,计算机设备可以根据待编码信号的信号值确定待处理数据块对应的目标编码参数。具体的,计算机设备获取待编码信号所属的信号范围,根据待编码信号所属的信号范围,从信号范围参数表中确定待处理数据块对应的目标编码参数。其中,该信号范围参数表包括一个或者多个信号范围,以及一个或者多个信号范围分别对应的编码参数。例如,当编码方式为指数哥伦布编码方式时,若待处理数据块的待编码信号的信号值越大,则可以采用越大的目标编码参数(即阶数);若待处理数据块的待编码信号的信号值越小,则可以采用越小的目标编码参数。例如,当待处理数据块的待编码信号的信号值为“0”时,则可以0阶作为待处理数据块对应的目标编码参数,即采用0阶指数哥伦布编码方式对目标数块内的待编码信号进行编码。当待处理数据块的待编码信号的信号值为“7”时,则可以将3阶作为待处理数据块的目标编码参数。当然,也可以根据待编码信号的其他信号特征以及编码方式的编码方式特征,确定待处理数据块对应的目标编码参数。其中,计算机设备可以根据待编码信号的信号值,以及指数哥伦布编码方式不同编码参数对不同信号值进行编码得到的编码的数量信息,预设信号范围参数表。例如,在信号值为0时,目标编码参数为0可以用最少编码表示信号值0,即信号值0的编码数据为1;信号值为1时,目标编码参数为1可以用最少编码表示信号值1,即信号值1的编码数据为11;信号值为2时,目标编码参数为0或者2可以用最少编码表示信号值2,目标编码参数为0时,信号值0的编码数据为011;目标编码参数为2时,信号值0的编码数据为110。其中,当目标编码参数为多个时,可以从多个目标编码参数中随机挑选一个对待处理数据块进行编码的参数,也可以根据其他筛选条件(如待处理数据块对应的相邻数据块的编码参数,或者,待处理数据块所属的组等条件),从多个目标编码参数中确定一个对待处理数据块进行编码的参数。
在一种可能的实现方式中,待编码信号的信号特征包括待编码信号的信号范围值;信号范围值是基于待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,信号范围值是基于待处理数据块内的待编码信号的采样精度确定的。
若信号范围值是基于待处理数据块内的最大待编码信号和最小待编码信号确定的,在一种可能的实现方式中,信号范围值可以是指待处理数据块内的最大待编码信号的信号值与最小待编码信号的信号值之间的差值。例如,当待处理数据块的待编码信号为几何预测残差时,信号范围值可以是指最大几何预测残差与最小几何预测残差的之间的差值。例如,待处理数据块内的最大待编码信号的信号值为6,最小待编码信号的信号值为0,则待处理数据块的待编码信号的信号范围值为6。或者,该信号范围值可以是基于待处理数据块内的待编码信号的采样精度确定的。例如,若点云数据的几何精度为10bit,则点云数据中的 待处理数据块内的待编码信号的采用精度可以为10bit,待处理数据块的待编码信号的信号范围值可以为210。
在一种可能的实现方式中,计算机设备确定待处理数据块在编码方式下的目标编码参数的具体方式可以包括:根据信号特征所包括的信号范围值,生成待处理数据块对应的待处理索引值。从第二参数表中查询与待处理索引值关联的编码参数,第二参数表中包括至少一个索引值,以及与至少一个索引值中每个索引值关联的编码参数,即一个索引值对应一个编码参数。计算机设备可以将查询得到的编码参数,确定为待处理数据块在编码方式下的目标编码参数。其中,计算机设备可以根据信号范围值预设第二参数表,如计算机设备可以根据最大待编码信号与最小待编码信号之间的差值预设第二参数表,计算机设备也可以根据点云数据的采样精度的最大值预设第二参数表,如根据点云数据的最大采样精度确定第二参数表的索引值的范围(即确定第二参数表的长度),以及确定每个索引值对应的编码参数。
在一种可能的实现方式中,计算机设备生成待处理数据块对应的待处理索引值的具体方式可以包括:对信号特征所包括的信号范围值进行量化,得到量化后的信号范围值。获取量化后的信号范围值的对数值,对得到的对数值进行求差处理,得到待处理数据块对应的待处理索引值。
在一种可能的实现方式中,计算机设备可以获取量化步长,该量化步长可以由管理人员预先设置,也可以根据待编码信号的信号范围确定。计算机设备可以基于量化步长,对待编码信号的信号特征所包括的信号范围值进行量化,得到量化后的信号范围值。通过对信号范围值进行量化处理,可以属于目标范围内的信号范围值用于一个目标信号范围值代替,以压缩数据,便于后续快速查询到待处理数据块对应的待处理索引值。进一步地,计算机设备可以获取量化后的信号范围值的对数值,对该对数值进行求差处理,得到待处理数据块对应的待处理索引值。
其中,计算机设备生成待处理数据块对应的待处理索引值可以由如下公式(2)获得:
Index=log2B′-1   (2)
其中,Index为待处理数据块对应的待处理索引值,B′为量化后的信号范围值。
计算机设备得到待处理数据块对应的待处理索引值后,可以基于公式GolombNum=LUTkthIndex[Index],从第二参数表中查询到待处理数据块对应的目标编码参数。其中,Index为待处理数据块对应的待处理索引值,GolombNum为待处理数据块对应的目标编码参数,LUT指示从第二参数表中查询待处理索引值对应的编码参数。
在一种可能的实现方式中,点云数据中包括至少两个数据组,待处理数据块属于该至少两个数据组中的第一数据组,该第二参数表中包含的索引值的数量与第一数据组中包括的数据块的数量相同。例如,第一数据组中的数据块的数量为8个,则第二参数表可以为参数表集合中包含8个索引值的参数表。这样,便于从第二参数表中查询到第一数据组中每个数据块对应的编码参数。待处理索引值属于待处理索引值范围,该待处理索引值范围是根据第二参数表中的至少一个索引值确定的。可以理解的是,当索引值数量较多时,可以将多个索引值划分为不同索引值范围,一个索引值范围对应一个参数表。这样,计算机 设备可以确定待处理索引值所属的待处理索引值范围,从待处理索引值范围对应的第二参数表中查询待处理索引值对应的编码参数,可以避免对所有索引值进行一一比对,可以减少查询数据量。其中,计算机设备可以根据分组调整编码参数,如对同一个分组内的数据块的编码参数进行自适应调整,也可以不对同一个分组内的数据块的编码参数进行调整等。
在一种可能的实现方式中,当待编码信号的数量为1个时,计算机设备可以根据待编码信号的信号值,确定待处理数据块对应的目标编码参数。或者,计算机设备可以根据与待处理数据块关联的数据块(如位置相邻数据块或者待处理数据块所在数据组中的其他数据块等),确定待处理数据块的目标编码参数。在一种可能的实现方式中,当待处理数据块的待编码信号的数量为多个时,计算机设备可以根据待处理数据块中最大待编码信号和最小待编码信号之间的差值,确定待处理数据块对应的目标编码参数。或者,计算机设备可以根据待处理数据块中最大待编码信号的信号值,确定待处理数据块对应的目标编码参数。或者,计算机设备可以根据待处理数据块内所有待编码信号的信号均值,确定待处理数据块对应的目标编码参数。当然,计算机设备可以也根据待处理数据块关联的数据块,确定待处理数据块对应的目标编码参数。当然,目标编码数据块对应的目标编码参数可以由对点云数据进行编码的编码设备以及对点云数据对应的编码数据进行解码的解码设备默认,如由编码设备和解码设备根据对点云数据的历史编码解码记录确定。
在一种可能的实现方式中,计算机设备确定待处理数据块对应的目标编码参数的具体方式可以包括:根据待编码信号的信号特征,确定待处理数据块在编码方式下的初始编码参数。获取点云数据中与待处理数据块具有相邻关系的已编码数据块。根据已编码数据块的编码数据,对初始编码参数进行调整,得到目标编码参数。
其中,计算机设备确定初始编码参数的具体方式可以参见上述基于待处理数据块内的待编码信号的信号特征确定编码参数的方式,本申请实施例在此不再赘述。进一步地,计算机设备可以获取点云数据中与待处理数据块具有相邻关系的已编码数据块。其中,与待处理数据块具有相邻关系的已编码数据块可以是指在点云数据中位置与待处理数据块的位置相邻的已编码数据块。或者,已编码数据块可以是指编码顺序与待处理数据块的编码顺序相邻的已编码数据块。或者,已编码数据块可以是指点云数据包括的至少两个数据分组中,与待处理数据块所在的第一数据分组相邻的第二数据分组中的数据块。计算机设备可以根据已编码数据块的编码数据,对初始编码参数进行调整,得到目标编码参数。这样,当计算机设备根据待编码信号的信号特征确定的编码参数,作为待处理数据块对应的初始编码参数,再根据已编码数据块的编码数据对待处理数据块对应的初始编码参数进行调整,得到待处理数据块的目标编码参数,可以提高目标编码参数的准确性,以更好地实现以较少的编码表示待处理数据块的编码数据,以减少编码数据的数据量。
在一种可能的实现方式中,编码方式可以为指数哥伦布编码方式,待处理数据块的初始编码参数为初始阶数。计算机设备对初始编码参数进行调整的具体方式可以包括:确定已编码数据块的编码数据的最终编码值。根据初始阶数,确定第一限制阶数和第二限制阶数,第一限制阶数小于第二限制阶数。获取最终编码值与第一限制阶数、第二限制阶数之 间的大小关系,根据大小关系对初始阶数进行调整,得到待处理数据块关联的目标阶数。将目标阶数确定为目标编码参数。
具体的,已编码数据块的数量可以为一个或者n1个。在已编码数据块的数量为一个,且已编码数据块内的待编码信号的数量为1个时,已编码数据块的编码数据的最终编码值可以为已编码数据块内待编码信号对应的信号值。在已编码数据块的数量为一个,且已编码数据块内的待编码信号的数量为n1个时,已编码数据块的编码数据的最终编码值可以为已编码数据块内的n1个待编码信号对应的信号值的平均值。在已编码数据块的数量为n1个时,已编码数据块的编码数据的最终编码值可以为n1个已编码数据块的编码数据的平均值。计算机设备可以根据初始阶数,确定第一限制阶数和第二限制阶数,第一限制阶数小于第二限制阶数。其中,计算机设备可以设置用于存储已编码值buffer(缓存器),buffer大小为n1个,每隔n2个点统计已编码数据块的最终编码值。其中,已编码数据块可以为点云数据中的一个数据点,可以每隔n1数据点调整初始阶数。
通常情况下,第一限制阶数是指下限阶数,第二限制阶数可以是指上限阶数,初始阶数用于golombNum表示,第一限制阶数用golombNumLow表示,第二限制阶数用golombNumUP表示。在一种可能的实现方式中,计算机设备根据初始阶数确定第一限制阶数和第二限制阶数的方式可以包括但不限于以下方式:方式一:golombNumLow=2^golombNum,golombNumUp=2^(golombNum+1)。方式二:golombNumLow=2^(golombNum-1),golombNumUp=2^golombNum。方式三:golombNumUp=2^((golombNum-1))+2^((golombNum-2));golombNumLow=2^((golombNum-1))-2^((golombNum-2))。需要说明的是,除上述方式外,还可以根据具体情况采用其他方式确定第一限制阶数和第二限制阶数,申请实施例在此不在赘述。
计算机设备可以获取最终编码值与第一限制阶数、第二限制阶数之间的大小关系。该大小关系可以包括最终编码值小于第一限制阶数,或者,最终编码值大于第二阶数,或者,最终编码值大于或者等于第一限制阶数且小于或者等于第二限制阶数。计算机设备可以根据该大小关系对初始阶数进行调整,得到待处理数据块关联的目标阶数。计算机设备可以将目标阶数确定为目标编码参数,这样,对初始阶数进行调整,可以得到更加准确的目标阶数,采用目标阶数对待处理数据块内的待编码信号进行编码,可以实现以较少编码表示待编码信号,以减少待处理数据块对应的编码数据的数据量,进而可以提高编解码效率。
在一种可能的实现方式中,计算机设备对初始阶数进行调整的具体方式可以包括但不限于一下方式:若大小关系指示最终编码值小于第一限制阶数,则将初始阶数与第一调整步长之间的和,确定为目标阶数。若大小关系指示最终编码值大于第二限制阶数,则将初始阶数与第一调整步长之间的差,确定为目标阶数。若大小关系指示最终编码值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
若计算机设备确定大小关系指示最终编码值小于第一限制阶数,则计算机设备可以将初始阶数与第一调整步长之间的和,确定为目标阶数。其中,第一调整步长可以由历史编码记录信息确定,或者,第一调整步长可以由管理人员确定等,第一调整步长可以为1、2、3等数值。若大小关系指示最终编码值大于第二限制阶数,则计算机设备可以将初始阶数 与第一调整步长之间的差,确定为目标阶数。若大小关系指示最终编码值大于或者等于第一限制阶数且小于或者等于第二限制阶数,则不对初始阶数进行调整,将初始阶数确定为目标阶数。这样,可以将待处理数据块关联的目标阶数限制在合理的阶数范围内,同时可以提高目标阶数的准确性,以实现用较少编码表示待处理数据块的编码数据。
在一种可能的实现方式中,计算机设备对初始阶数进行调整的方式可以包括但不限于以下方式:获取已编码数据块对应的编码参数,已编码数据块的编码参数包括已编码数据块的历史阶数。若大小关系指示最终编码值小于第一限制阶数,则将历史阶数与第二调整步长之间的和,确定为目标阶数。若大小关系指示最终编码值大于第二限制阶数,则将历史阶数与第二调整步长之间的差,确定为目标阶数。若大小关系指示最终编码值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
计算机设备可以获取已编码数据块对应的编码参数。若大小关系指示最终编码值小于第一限制阶数,则将历史阶数与第二调整步长之间的和,确定为目标阶数。第二调整步长可以与第一调整步长相同,也可以与第一调整步长不相同。同样的,第二调整步长也可以由历史编码记录信息确定,或者,第二调整步长可以由管理人员确定等,第二调整步长可以为1、2、3等数值。若大小关系指示最终编码值大于第二限制阶数,则将历史阶数与第二调整步长之间的差,确定为目标阶数。若大小关系指示最终编码值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。这样,可以将待处理数据块关联的目标阶数限制在合理的阶数范围内,同时可以提高目标阶数的准确性,以实现用较少编码表示待处理数据块的编码数据。
在一种可能的实现方式中,计算机设备对初始阶数进行调整的具体方式可以包括但不限于以下方式:根据大小关系对初始阶数进行调整,得到待处理数据块关联的候选阶数。若候选阶数小于或者等于第三限制阶数,则将候选阶数与第三调整步长之间和,确定为目标阶数。若候选阶数大于或者等于第四限制阶数,则将候选阶数与第三调整步长之间差,确定为目标阶数;第三限制阶数小于第四限制阶数。若候选阶数大于第三限制阶数且小于第四限制阶数,则将候选阶数,确定为待处理数据块关联的目标阶数。
具体的,计算机设备可以根据大小关系,对初始阶数进行调整,得到待处理数据块关联的候选阶数,具体对初始阶数进行调整的过程可以参见上述对初始阶数进行调整的过程。计算机设备可以检测待处理数据块关联的候选阶数与第三限制阶数、第四限制阶数之间的关系,根据该关系对候选阶数进行调整,得到待处理数据块关联的目标阶数。该第三限制阶数和第四限制阶数用于限制目标阶数在合理的阶数范围内,第三限制阶数小于第四限制阶数。具体的,若候选阶数小于或者等于第三限制阶数,则可以确定候选阶数太小,则可以将候选阶数与第三调整步长之间的和,确定为目标阶数。或者,若候选阶数小于或者等于第三限制阶数,则可以将第一预设阶数作为目标阶数,该第一预设阶数大于第三限制阶数且小于第四限制阶数,即第一预设阶数在合理的阶数范围内。若候选阶数大于或者等于第四限制阶数,则可以将候选阶数与第三调整步长之间的差,确定为目标阶数。或者,若候选阶数大于或者等于第四限制阶数,则可以将第二预设阶数确定为目标阶数。第二预设阶数大于第三限制阶数且小于第四限制阶数,即第二预设阶数在合理的阶数范围内。若候 选阶数大于第三限制阶数且小于第四阶数,则说明候选阶数在合理的阶数范围内,不对候选阶数进行调整,将候选阶数确定为目标阶数。
在一种可能的实现方式中,最终编码值可以为已编码数据块的编码数据中所有编码值的平均值。或者,最终编码值可以为已编码数据块的编码数据中非零编码值的平均值。
在一种可能的实现方式中,计算机设备可以获取已编码数据块内的待编码信号,以及已编码数据块的编码参数,该已编码数据块的编码参数可以是基于已编码数据块内的待编码信号的信号特征确定的,或者,该已编码数据块的编码参数可以是基于已编码数据块关联的数据块确定。计算机设备可以检测待处理数据块内的待编码信号与已编码数据块内的待编码信号之间的信号大小关系,根据该信号大小关系以及已编码数据块的编码参数,确定待处理数据块的编码参数。具体的,若待处理数据块内的待编码信号等于已编码数据块内的待编码信号,则可以将已编码数据块的编码参数确定为目标编码参数。若待处理数据块内的待编码信号小于已编码数据块内的待编码信号,则可以将已编码数据块的编码参数与第四调整步长之间的差,确定为目标编码参数。若待处理数据块内的待编码信号大于已编码数据块内的待编码信号,则可以将已编码数据块的编码参数与第四调整步长之间的和,确定为目标编码参数。同样的,第四调整步长可以由历史编码记录信息确定,或者,第四调整步长可以由管理人员确定等,第四调整步长可以为1、2、3等数值。
在一种可能的实现方式中,点云数据包括至少两个数据组,待处理数据块属于至少两个数据组中的第一数据组;第一数据组内的数据块对应的编码参数相同,即第一数据组内的数据块对应的编码参数均为目标编码参数。已编码数据块属于至少两个数据组中与第一数据组具有相邻关系的第二数据组。其中,由于位于同一数据组内的数据块之间的媒体属性之间具有较大的相似性,因此同一数据组中的数据块可以采用相同的编码参数,当然,同一数据组中的数据块也可以采用不相同的编码参数。
在一种可能的实现方式中,计算机设备可以对点云数据中的数据块进行分组,得到至少两个数据组。计算机设备对点云数据进行分组的具体方式可以包括但不限于以下方式:方式一:至少两个数据组是根据数据块在点云数据中的位置进行分组得到的,计算机设备可以根据数据块在点云数据中的位置,将相邻位置的数据块划分为一个数据组,以此得到点云数据中的至少两个数据组。
方式二:至少两个数据组是根据点云数据中数据块分别对应的希尔伯特变换码进行分组得到的;点云数据中数据块分别对应的希尔伯特变换码是对每个数据块在点云数据中的位置进行希尔伯特变换得到的。计算机设备可以对点云数据中每个数据块在点云数据中的位置进行希尔伯特变换,得到每个数据块对的希尔伯特码,根据每个数据块对应的希尔伯特码,对点云数据中的数据块进行排序,得到排序后的数据块。进一步地,计算机设备可以基于空间填充曲线的序对排序后的数据块依次进行分组,将希尔伯特码前L位相同的数据块归为一个数据组。具体的,计算机设备还可以将希尔伯特码前L位相同的数据块归为一个数据组,得到候选数据组,若候选数据组中的数据块数量多于限制数量时,则可以对候选数据组进行细分组,将候选数据组中数据块的数量限制在限制数据量之内,也可以根据前序分组中所包含的数据块的数量对候选数据组进行调整,得到数据组。
方式三:至少两个数据组是根据划分尺寸对点云数据进行划分得到。计算机设备可以将点云数据所构成的三维空间划分为大小的不重叠的编码宏块,每个编码宏块作为基本的编码单元,可以为一个数据组。其中,x,y,z为坐标信息,d八叉树划分深度。为计算机设备可以设置划分尺寸(如八叉树划分深度d或者通过参数),来控制数据块的大小。
方式四:至少两个数据组是根据特定限制数量以及数据块的编码顺序对点云数据进行划分得到。计算机设备可以根据特定限制数量,以及点云数据中数据块的编码顺序,依次对点云数据中的数据块进行分组,得到至少两个数据组。例如,点云数据中5个数据块的编码顺序为:数据块s1、数据块s2、数据块s3、数据块s4以及数据块s5,若特定限制数量为2,则一个数据组为:数据块s1和数据块s2;另一数据组为:数据块s3和数据块s4;又一数据组为:数据块s5。或者,至少两个数据组可以是指根据点云数据生成的预测树中的预测树单元,该预测树单元可以是指由预测树中多个预测树节点构成的单元。
如图4所示,图4是本申请实施例提供的一种数据组划分的示意图,如图4所示,计算机设备可以将点云数据所构成的三维空间划分为大小的不重叠的编码宏块。如图4所示,计算机设备可以将点云数据构成的三维空间平均划分为4个不重叠的编码宏块,将一个编码宏块中的一个数据组,每个数据组中可以包括4个数据块。如图4所示,数据组40a中包括四个数据块,每个数据块包括四个数据点,数据组40a中包含点云数据中的数据点,数据组中第二个数据块2中包括一个数据点4,第三个数据块3中包括数据点5。数据组40b中也包括四个数据块,每个数据块包括四个数据点,数据组40b中包含点云数据中的数据点,数据组中第一个数据块7中包括数据点9和数据点A,第四个数据块8中包括数据点B。
在一种可能的实现方式中,待处理数据块的待编码信号可以包括几何预测残差、属性预测残差以及属性变换系数等中的一种或者多种。其中,点云数据中编码顺序排列第一的数据块的几何预测残差可以为预设几何位置与排列第一的数据块的几何位置之间的差值,也可以为排列第一的数据块的几何位置。点云数据中其他数据块的几何预测残差,可以为编码顺序排列在当前数据块之前的数据块的几何位置,与当前数据块的几何位置之间的差值,其他数据块是点云数据中除排列第一的数据块之外的数据块。其中,排列第一的数据块的属性预测残差可以为预设属性与排列第一的数据块的媒体属性之间的差值,也可以为排列第一的数据块的媒体属性。点云数据中其他数据块的属性预测残差,可以为编码顺序排列在当前数据块之前的数据块的媒体属性,与当前数据块的媒体属性之间的差值。其中,属性变换系数是指采用变换矩阵对数据块的媒体属性进行变换得到的。
在一种可能的实现方式中,待编码信号包括第一待编码信号和第二待编码信号,第一待编码信号与第二待编码信号分别对应的属性类型不同。例如,第一待编码信号的属性类型可以是指几何位置,第二待编码信号的属性类型可以是指颜色属性。待处理数据块的目标编码参数包括第一编码参数和第二编码参数,第一编码参数用于对第一待编码信号进行编码,第二编码参数用于对第二待编码信号进行编码,第一编码参数与第二编码参数不相同。可以理解的是,待处理数据块内不同属性类型的待编码信号采用不同编码参数进行编 码。这样,可以根据不同属性类型的待编码信号,确定不同的编码参数,以便确定更准确的编码参数,实现采用较少的编码表示待处理数据块的编码数据。
在一种可能的实现方式中,第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号,第一编码参数可以是基于第一子编码信号、第二子编码信号以及第三子编码信号分别对应的子信号特征确定的。例如,第一编码参数可以基于第一子编码信号、第二子编码信号以及第三子编码信号中最大子编码信号确定的。当然,第一编码参数可以基于第一子编码信号、第二子编码信号以及第三子编码信号中平均信号值确定的。在一种可能的实现方式中,第一编码参数可以基于第一子编码信号、第二子编码信号以及第三子编码信号中任意一个子编码信号确定。其中,可以将第一子编码信号、第二子编码信号以及第三子编码信号分别对应的编码参数确定为第一编码参数。在一种可能的实现方式中,同一属性类型下的子编码信号可以均采用相同的编码参数,在这种情况下,可以将第一待编码信号关联的关联信息对应的编码参数确定为第一编码参数,如采用行程编码对第一待编码信号进行行程编码得到的零值的行程长度以及非零信号值可以采用相同的第一编码参数(即第一待编码信号对应的第一编码参数)进行编码。其中,行程编码是指将一个相同值连续串用一个代表值和串长来代替,如第一待编码信号为aaaabaaaa时,可以采用行程编码得到4b4,对第一待编码信号进行编码时,行程长度“4”以及非零信号值“b”可以采用第一待编码信号对应的第一编码参数进行指数哥伦布编码。
在一种可能的实现方式中,第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号,第一编码参数包括第一子编码信号对应的第一子编码参数、第二子编码信号对应的第二子编码参数以及第三子编码信号对应的第三子编码参数。可以理解的是,第一待编码信号中的不同子编码信号采用不同的编码参数,这样,可以根据不同子编码信号的信号特征确定不同子编码信号对应的编码参数,以便确定更准确的编码参数,实现采用较少的编码表示待处理数据块的编码数据。其中,计算机设备可以采用offset函数调整第一待编码信号内的子编码信号的编码参数,offset函数是一种以指定的引用为参照系,通过给定偏移量得到新的引用。第一子编码参数可以是基于第一子编码信号对应的子信号特征确定的,第二子编码参数可以是基于第一子编码参数以及参数偏移量确定的,第三子编码参数是基于第二子编码参数以及参数偏移量确定的。其中,参数偏移量可以由管理人员设置,也可以由历史编码解码记录信息确定,也可以根据具体情况具体设置,本申请实施例在此不做限制。当然,也可以通过offset函数调整不同属性类型的待编码信号内的编码参数,如,第一待编码信号的第一编码参数是基于第一待编码信号的信号特征确定的,第二待编码信号的编码参数是基于给定偏移量与第一待编码信号的编码参数确定的。或者,第一子编码信号、第二子编码信号以及第三子编码信号分别对应的编码参数,是基于第一子编码信号、第二子编码信号以及第三子编码信号分别对应的子信号特征确定的。
S103,根据目标编码参数对待编码信号进行编码,得到待处理数据块的编码数据。
计算机设备可以根据目标编码参数,对待处理数据块内的待编码信号进行编码,得到待处理数据块的编码数据。其中,可以采用指数哥伦布编码方式,根据目标编码参数,对待处理数据块内的待编码信号进行编码。其中,采用不同编码参数对待处理数据块内的待 编码信号进行编码时,待处理数据块的编码数据属于不同编码参数对应的编码长度。例如,采用编码参数r1对待处理数据块内的待编码信号进行编码时,得到的待处理数据块的编码数据属于编码参数r1对应的编码描述范围;采用编码参数r2对待处理数据块内的待编码信号进行编码时,得到的待处理数据块的编码数据属于编码参数r2对应的编码描述范围。这样,采用目标编码参数对待处理数据块内的待编码信号进行编码,可以实现采用较少编码表示待处理数据块内的待编码信号,以减少编码数据的数据量。可以理解的是,采用目标编码参数对待处理数据块内的待编码信号进行编码得到的编码数据,小于采用其他编码参数对待处理数据块内的待编码信号进行编码得到的编码数据。由于待处理数据块的编码数据的冗余度比较低,因此,可以快速地解码出待处理数据块的解码信号,进而可以提高解码效率。
在一种可能的实现方式中,计算机设备得到待处理数据块对应的目标编码参数后,可以根据目标编码参数直接对待处理数据块内的待编码信号进行编码,得到待处理数据块的编码数据。
在一种可能的实现方式中,计算机设备对待处理数据块内的待编码信号进行编码的具体方式可以包括:若待处理数据块内的待编码信号与信号阈值不相同,则生成第一编码标签,第一编码标签用于指示待处理数据块内的待编码信号与信号阈值不相同。根据信号阈值,对待处理数据块内的待编码信号进行求差处理,得到信号差值。根据目标编码参数对信号差值进行编码,得到待编码信号的信号编码值,将信号编码值以及第一编码标签确定为待处理数据块的编码数据。
计算机设备可以检测待处理数据块内的待编码信号是否与信号阈值相同,在待处理数据块内的待编码信号与信号阈值相同时,则采用第二编码标签作为待处理数据块的编码数据;在待处理数据块内的待编码信号与信号阈值不相同时,则根据第一编码标签以及目标编码参数对待处理数据块内的待编码信号进行编码。其中,信号阈值可以是指待处理数据块内的待编码信号中出现次数最多的待编码信号的信号值,或者,信号阈值也可以为点云数据中出现次数最多的待编码信号的信号值,也可以根据其他具体情况进行设置。其中,第一编码标签用于指示待处理数据块内的待编码信号与信号阈值不相同。在解码设备解码的时候,可以根据第一编码标签以及目标解码参数(即目标编码参数),对待处理数据块的编码数据进行解码,得到待处理数据块的解码信号(解码信号的信号值与待编码信号的信号值相同)。
具体的,计算机设备确定待处理数据块内的待编码信号与信号阈值相同时,可以将第二编码标签确定为待编码信号的编码数据,该第二编码标签用于指示待处理数据块内的待编码信号与信号阈值相同。这样,在待处理数据块内的待编码信号与信号阈值相同时,则将第二编码标签作为待编码信号的编码数据,只有在待处理数据块内的待编码信号与信号阈值不相同时,根据第一编码标签以及目标编码参数对待处理数据块进行编码。这样,在待处理数据块的待编码信号中存在较多数量与信号阈值相邻的待编码信号时,可以直接将第二编码标签作为与信号阈值相同的待编码信号的编码数据,可以减少需要编码的数量,以提高编码效率。例如,当待处理数据块包括5个待编码信号,第一个待编码信号的信号 值为1,第二个待编码信号的信号值为0,第三个待编码信号的信号值为1,第四个待编码信号的信号值为1,第五个待编码信号的信号值为2时,信号阈值可以为1,第一编码标签可以为flag≠1,第二编码标签可以为flag=1。这样,第一个待编码信号与信号阈值相同,则可以将第二编码标签flag=1作为第一个待编码信号对应的编码数据,这样,在解码的时候,可以直接根据第二编码标签flag=1确定第一个待编码信号的信号值为1。第二个待编码信号与信号阈值不相同,则可以根据第一编码标签flag≠1以及目标编码参数对第二个待编码信号进行编码。第三个待编码信号与信号阈值相同,则第三个待编码信号的编码数据为第二编码标签。第四个待编码信号与信号阈值相同,则第四个待编码信号的编码数据为第二编码标签。第五个待编码信号与信号阈值不相同,则可以根据第一编码标签flag≠1以及目标编码参数对第二个待编码信号进行编码。
在一种可能的实现方式中,当待处理数据块内的待编码信号与信号阈值不相同时,计算机设备可以直接根据待处理数据块对应的目标编码参数,对待处理数据块内的待编码信号进行编码,得到待处理数据块对应的编码数据。解码设备在解码的时候,可以直接根据目标解码参数(即目标编码参数)对待处理数据块对应的编码数据进行解码,得到待处理数据块的解码信号。
计算机设备确定待处理数据块内的待编码信号与信号阈值不相同时,则可以生成用于指示待处理数据块内的待编码信号与信号阈值不相同的第一编码标签,根据信号阈值,对待处理数据块内的待编码信号进行求差处理,得到信号差值。其中,计算机设备可以获取待处理数据块内的待编码信号与信号阈值之间的差值,确定为信号差值,其中,计算机设备也可以获取待处理数据块内的待编码信号与信号阈值以及第一阈值之间的差值,作为信号差值。具体的,计算机设备可以获取待处理数据块内的待编码信号与信号阈值之间的候选差值,再获取候选差值与第一阈值之间的差值,作为信号差值。第一阈值可以根据实际情况进行设置,例如,第一阈值可以为1,也可以为其他阈值,在第一阈值为1时,信号差值=待编码信号的信号值-(m+1),m为信号阈值。
计算机设备可以根据目标编码参数对信号差值进行编码,得到待编码信号的信号编码值,将待编码信号的信号编码值以及第一编码标签确定为待编码信号的编码数据。例如,以待处理数据块内的待编码信号为3,信号阈值为2,第一阈值为1为例,计算机设备获取待编码信号的信号值与信号阈值以及第一阈值之间的差值,作为信号差值,即信号差值为3-2-1=0。计算机设备可以直接对信号差值0进行编码,可以减少编码数据的数据量。这样,在计算机设备确定待处理数据块内的待编码信号与信号阈值不相同时,可以对待处理数据块内的待编码信号进行求差处理,对求差处理得到的信号差值进行编码,可以降低需要编码的待编码信号的信号值。这样,由于对较小信号值进行编码时,得到的编码数据的数量较少,因此,对待编码信号对应的信号差值进行编码,可以减少编码数据的数据量,以提高编码解码效率。在解码设备对待编码信号的编码数据进行解码的时候,可以根据目标解码参数(目标解码参数与目标编码参数相同)对待编码信号的编码数据进行解码,得到待编码信号的信号编码值,根据信号阈值,对待编码信号的信号编码值进行求和处理,得到待编码信号的解码信号。
在一种可能的实现方式中,计算机设备可以依次检测待处理数据块内的待编码信号是否与信号阈值相同,以及检测待编码信号是否与小于信号阈值的正整数相同,并生成对应的编码标签,以指示待处理数据块内的待编码信号的信号值。例如,信号阈值为2时,计算机设备可以检测待处理数据块内的待编码信号是否与阈值2相同,若相同,则待编码信号的编码标签为flag=2;若不相同,则flag≠2。在待编码信号与阈值2不相同时,则计算机设备可以继续检测待处理数据块内的待编码信号是否与阈值1(小于阈值2的正整数)相同,若待编码信号与阈值1相同,则待编码信号的编码标签为flag=1;若不相同,则flag≠1。在计算机设备确定待编码信号与阈值1不相同时,则计算机设备可以继续检测待处理数据块内的待编码信号是否与阈值0(小于阈值2的正整数)相同,若待编码信号与阈值0相同,则待编码信号的编码标签为flag=0;若不相同,则flag≠0。若计算机设备确定待编码信号与阈值2、阈值1以及阈值0都不相同时,则可以确定待处理数据块内的待编码信号大于2,则可以根据信号阈值对待处理数据块内的待编码信号进行求差处理,得到信号差值,对信号差值进行编码。这样,由于对较小信号值进行编码时,得到的编码数据的数量较少,因此,对待编码信号对应的信号差值进行编码,可以减少编码数据的数据量,以提高编码解码效率。
其中,计算机设备对待处理数据块进行编码,得到待处理数据块的编码数据后,可以将待处理数据块的编码数据和待处理数据块的目标编码数据进行关联存储,根据一个或者多个数据块分别对应的编码数据生成点云数据的码流,将该点云数据的码流发送给解码设备,以使解码设备根据点云数据的码流重建点云数据。具体的,计算机设备可以将点云数据中每个数据块对应的编码参数存储在一个或者多个参数集中,该参数集中包括点云数据中数据块与对应的编码参数之间的对应关系。这样,计算机设备可以将该一个或者多个参数集与点云数据的码流发送给解码设备,解码设备可以从参数集中确定对应数据块的编码参数,作为解码参数。或者,计算机设备可以根据待处理数据块对应的目标编码参数,以及待处理数据块的编码数据生成点云数据的码流中,一个待处理数据块的编码数据对应一个目标编码参数。
在一种在一种可能的实现方式中实施例中,计算机设备可以构建点云数据的几何预测树,获取几何预测树中每个节点的几何预测残差,得到几何预测树残差信息。其中,计算机设备在获取几何预测树中每个节点的几何预测残差时,每个节点的几何预测残差可以以其前一个点的信号值进行预测,或者,每个节点的几何预测残差可以以其前两个点的信号值进行预测,或者,每个节点的几何预测残差可以以其前a1个点的信号值进行预测。进一步地,计算机设备可以基于几何预测树残差信息的分布,对几何预测树中起始残差信息和其他残差信息取不同的指数哥伦布阶数,分别记为k1和k2,采用自适应阶数的指数哥伦布对起始残差信息和其他残差信息进行编码,得到点云数据的编码数据。其中,基于几何预测树的几何信息取值范围设置初始阶数k1,作为起始残差信息的阶数;设置对应阶数k2=k1+offset,其中,offset可以是任意整数;或者初始阶数k2=k1;
基于前序同类型已解码点的残差信息对k1,k2分别进行自适应调整,其中k1基于n1个前序起始点残差信息的平均值,k2基于n1个前序其他残差信息的平均值进行自适应调整;或者固定起始点阶数k1,对k2进行自适应调整。
在一种可能的实现方式中,计算机设备可以获取点云数据中数据点的属性预测残差,根据数据点的属性预测残差的信号特征,确定数据点的初始编码参数。根据该初始编码参数确定上限参数和下限参数。进一步地,计算机设备可以根据数据点的属性预测残差的信号特征,对初始编码参数进行调整,得到数据点的目标编码参数。具体的,若数据点的属性预测残差小于下限参数,则数据点的目标编码参数为初始编码参数加一;若数据点的属性预测残差大于下限参数,则数据点的目标编码参数为初始编码参数减一。进一步地,若目标编码参数小于0,则确定目标编码参数等于0,或者,若目标编码参数小于0,则确定目标编码参数等于初始编码参数。
在一种可能的实现方式中,计算机设备可以获取点云数据中数据点的属性变换系数,根据数据点的属性变换系数的信号特征,确定数据点的初始编码参数。根据该初始编码参数确定上限参数和下限参数。进一步地,计算机设备可以根据数据点的属性变换系数的信号特征,对初始编码参数进行调整,得到数据点的目标编码参数。具体的,若数据点的属性变换系数小于下限参数,则数据点的目标编码参数为初始编码参数加一;若数据点的属性变换系数大于下限参数,则数据点的目标编码参数为初始编码参数减一。进一步地,若目标编码参数小于0,则确定目标编码参数等于0,或者,若目标编码参数小于0,则确定目标编码参数等于初始编码参数。
在本申请实施例中,通过获取点云数据中待处理数据块内的待编码信号,以及待编码信号的信号特征,点云数据的编码方式为非等长编码的编码方式,待编码信号用于反映待处理数据块的媒体属性。可见,采用非等长编码的编码方式,可以减少待处理数据块的编码数据的数据量。根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数。此处的待处理数据块的编码数据用于描述待处理数据块的编码数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。根据目标编码参数对待处理数据块内的待编码信号进行编码,得到待处理数据块的编码数据。可见,采用准确的目标编码参数对待处理数据块的待编码信号进行编码,可以实现以较少编码表示待编码信号,以减少待处理数据块对应的编码数据的数据量,降低网络传输的压力,同时也可以降低解码设备接收编码数据的接收压力,同时也可以提高对编码数据的解码效率。换言之,通过基于待处理数据块内的待编码信号的信号特征,自适应地确定需要采用多少个编码来描述该待处理数据块的编码数据,即具有不同信号特征的数据块具有不同的编码,这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效率。
如图5所示,图5是本申请实施例提供的一种点云数据的解码方法,下面结合图5,对本申请实施例提出的点云数据的解码方法进行详细说明,该方法可由计算机设备来执行,该计算机设备可以是指解码设备。如图5所示,该方法具体可包括但不限于以下步骤:
S201,获取点云数据中待处理数据块的编码数据。
具体的,点云数据广泛应用于城市数字化地图的构建,在如智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。计算机设备可以通过三维扫描设备对目标对象的表面进行采集,得到点云数据,可以由编码设备对点云数据进行编码,得到点云数据对应的编码数据,并将点云数据对应的编码数据发送给解码设备,解码设备对点云数据的编码数据进行解码,得到点云数据,并对点云数据进行还原。其中,点云数据中包括一个或者多个数据块,待处理数据块属于点云数据中一个或者多个数据块中的任意一个。其中,待处理数据块可以为点云数据中的任意一个数据点或者至少两个数据点所构成的一组数据点。例如,待处理数据块可以是指点云数据、点云数据中的宏块、点云数据中的预测树(由点云数据中多个数据点构成的树)等。该待处理数据块的编码数据是编码设备根据目标编码参数,对待处理数据块内的待编码信号进行编码得到的。其中,目标编码参数是待处理数据块在非等长编码的编码方式下的编码参数,目标编码参数是基于待编码信号的信号特征确定的。编码设备可以将待处理数据块的编码数据发送给解码设备,解码设备接收到待处理数据块的编码数据后,可以确定用于对该编码数据进行解码的解码方式,该解码方式可以是指非等长编码的编码方式对应的解码方式。
其中,非等长编码的编码方式可以是指无符号指数哥伦布编码方式、有符号指数哥伦布编码方式、截断指数哥伦布编码方式以及映射指数哥伦布编码方式等。待处理数据块的解码方式为待处理数据块的编码方式对应的解码方式,如待处理数据块的编码方式为无符号指数哥伦布编码方式时,则待处理数据块的解码方式为无符号指数哥伦布解码方式。
S202,根据目标编码参数,确定待处理数据块的目标解码参数。
计算机设备可以根据目标编码参数,确定待处理数据块的目标解码参数。其中,目标解码参数可以与待处理数据块在编码方式下的目标编码参数相同,如,待处理数据块在指数哥伦布编码方式下的目标编码参数为“0阶”时,目标解码参数为“0阶”。其中,待处理数据块在编码方式下的目标编码参数可以是基于待处理数据块内的待编码信号的信号特征确定的,该待处理数据块的待编码信号用于反映待处理数据块的媒体属性,该媒体属性可以是指几何位置信息、颜色、反射率、分类值、强度值、时间、材料特性以及纹理信息等属性。其中,待处理数据块内的待编码信号的数量可以为一个或者多个,待编码信号可以是编码设备对待处理数据块的媒体属性进行属性预测、属性变换、属性预测变换或者属性变换预测得到的,如几何预测残差、属性预测残差或者属性变换系数等。待编码信号的信号特征可以是指待编码信号的信号阈值范围、待编码信号的分布特征、待编码信号的信号值大小或者与待处理数据块的待编码信号关联的关联信号的信号特征等。
在一种可能的实现方式中,待编码信号的信号阈值范围可以是基于待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,信号范围值是基于待处理数据块的采样精度确定的。待处理数据块对应的目标编码参数可以是基于待处理索引值,从第二参数表中查询得到的,该第二参数表中包括至少一个索引值,以及与至少一个索引值中每个索引值关联的编码参数,待处理索引值是对待编码信号的信号阈值范围进行量化以及求差处理得到的。在一种可能的实现方式中,目标编码参数可以是根据点云数据中与待处理数据块具有相邻关系的已编码数据块的编码数据确定的,待处理数据块对应的目标编码参数的确 定过程可以参见上述图2中编码设备对待处理数据块对应的目标编码参数的确定过程,本申请实施例在此不在赘述。
在一种可能的实现方式中,点云数据包括至少两个数据组,待处理数据块属于至少两个数据组中的第一数据组,第一数据组内的数据块对应的编码参数相同,已编码数据块属于至少两个数据组中与第一数据组具有相邻关系的第二数据组。其中,至少两个数据组是根据数据块在点云数据中的位置进行分组得到的;或者,至少两个数据组是根据点云数据中数据块分别对应的希尔伯特变换码进行分组得到的;点云数据中数据块分别对应的希尔伯特变换码是对每个数据块在点云数据中的位置进行希尔伯特变换得到的;或者,至少两个数据组是根据划分尺寸对点云数据进行划分得到;或者,至少两个数据组是根据特定限制数量以及数据块的编码顺序对点云数据进行划分得到。其中,待处理数据块内的多个不同属性类型的待编码信号之间可以采用不同的编码参数,即一个待编码信号对应一个编码参数。不同待编码信号内的不同子编码信号可以采用相同的编码参数,也可以采用不同的编码参数,具体可以参见上述图2中的描述,本申请实施例在此不在赘述。
在一种可能的实现方式中,计算机设备在确定目标解码参数之前,可以获取点云数据对应的参数集;参数集中包括点云数据中每个数据块对应的编码参数。从点云数据对应的参数集中,获取待处理数据块对应的目标编码参数。这样,计算机设备确定目标解码参数的方式可以是将待处理数据块对应的目标编码参数,确定为待处理数据块的目标解码参数。
在一种可能的实现方式中,编码设备对待处理数据块进行编码得到待处理数据块的编码数据后,可以将待处理数据块的编码数据和待处理数据块的编码数据进行关联存储,根据一个或者多个数据块分别对应的编码数据生成点云数据的码流。具体的,编码设备可以将点云数据中每个数据块对应的编码参数存储在参数集中,该参数集中包括数据块与编码参数之间的对应关系,并将该参数集发送给解码设备。解码设备获取到该参数集以及点云数据的码流后,可以对点云数据中每个数据块对应的编码数据进行解码,得到每个数据块对应的解码信号,待处理数据块属于点云数据中的数据块。具体的,参数集中包括点云数据中每个数据块对应的编码参数。计算机设备可以从点云数据对应的参数集中,获取到待处理数据块对应的目标编码参数,将待处理数据块对应的目标编码参数,确定为待处理数据块的目标解码参数。
其中,编码设备也可以将点云数据中每个数据块对应的编码参数关联存储在点云数据的码流中,并将点云数据的码流发送给解码设备。解码设备接收到点云数据的码流后,可以从点云数据的码流中获取到点云数据中每个数据块对应的编码数据,以及每个数据块对应的编码参数。计算机设备可以从点云数据中每个数据块对应的编码参数,获取待处理数据块对应的目标编码参数,将待处理数据块对应的目标编码参数,确定为待处理数据块的目标解码参数。
计算机设备可以根据所述目标编码参数的参数确定方式,确定所述待处理数据块的编码数据对应的目标解码参数,该参数确定方式可以为点云数据的编码设备和解码设备默认的编码参数和解码参数的确定方式。可以理解的是,编码设备采用参数确定方式确定目标编码参数,采用目标编码参数对点云数据进行编码,得到点云数据的编码数据。解码设备 可以采用与编码设备确定目标编码参数的参数确定方式相同的方式,确定目标解码参数,采用目标解码参数对点云数据的编码数据进行解码,得到点云数据。换句话说,编码设备确定待处理数据块的目标编码参数的方式与解码设备确定目标解码参数的方式相同。其中,目标编码参数的参数确定方式可以是由编码设备和解码设备默认的。
在一种可能的实现方式中,目标编码参数的参数确定方式包括基于查询参数表的方式,即目标编码设备是基于待处理数据块内的待编码信号的信号特征,确定待处理索引值,从第二参数表中查询到待处理数据块对应的目标编码参数的方式,具体内容可以参考上述图2描述的内容,本申请实施例在此不再赘述。计算机设备确定目标解码参数的具体方式可以包括:获取所述待处理数据块内的待编码信号的信号范围值。对信号范围值进行量化,得到量化后的信号范围值。获取量化后的信号范围值的对数值,对对数值进行求差处理,得到待处理数据块对应的待处理索引值。从第一参数表中查询与待处理索引值关联的解码参数,第一参数表中包括至少一个索引值,以及与至少一个索引值中的每个索引值关联的解码参数。将查询得到的解码参数,确定为待处理数据块的目标解码参数。
具体的,计算机设备可以获取待处理数据块内的待编码信号对应的信号范围值,该信号范围值可以是由编码设备发送给解码设备的。计算机设备可以根据待处理数据块内的待编码信号对应的信号范围值,生成待处理数据块对应的待处理索引值。具体的,计算机设备可以获取量化步长(可以由量化参数获得),该量化步长可以由管理人员预先设置,也可以根据待编码信号的信号范围确定。进一步地,计算机设备可以基于量化步长,对待编码信号的信号范围值进行量化,得到量化后的信号范围值。通过对信号范围值进行量化处理,可以将属于一个范围内的信号范围值用于一个信号范围值代替,以压缩数据,便于后续快速查询到待处理索引值。进一步地,计算机设备可以获取量化后的信号范围值的对数值,对该对数值进行求差处理,得到待处理数据块对应的待处理索引值。
从第一参数表中查询与待处理索引值关联的编码参数,第一参数表中包括至少一个索引值,以及与至少一个索引值中的每个索引值关联的解码参数,即一个索引值对应一个解码参数。计算机设备可以将查询得到的解码参数,确定为待处理数据块的目标解码参数。其中,第一参数表与编码设备中的第一参数表相同,可以由编码设备发送给解码设备,可以由解码设备根据编码设备生成第二参数表的方式生成第一参数表。
在一种可能的实现方式中,目标编码参数的参数确定方式包括基于具有相邻关系的数据块的方式,即编码设备是基于点云数据中与待处理数据块具有相邻关系的已编码数据块的编码数据,对初始阶数进行调整,得到目标编码参数的内容,具体可以参见上述图2中的内容,本申请实施例在此不在赘述。计算机设备确定目标解码参数的具体方式可以包括:获取待处理数据块内的待编码信号对应的信号范围值。根据待处理数据块对应的信号范围值确定目标数块的初始解码参数。获取点云数据中与待处理数据块具有相邻关系的已解码数据块的解码信号。根据已解码数据的解码信号,对初始解码参数进行调整,得到待处理数据块的编码数据对应的目标解码参数。
具体的,计算机设备获取待处理数据块内的待编码信号对应的信号范围值,根据待处理数据块对应的信号范围值确定目标数块的初始解码参数,具体确定过程可以参考上述根 据待处理数据块对应的信号范围值确定待处理索引值,根据待处理索引值从第一参数表中确定目标解码参数的过程。进一步地,计算机设备可以获取点云数据中与待处理数据块具有相邻关系的已解码数据块,根据已解码数据的解码信号,对初始解码参数进行调整,得到目标解码参数。具体内容可以参考上述图2中编码设备根据已编码数据块的编码数据确定目标编码参数的过程,即解码设备确定目标解码参数的方式与编码设备确定目标编码方式相同,本申请实施例在此不在赘述。
在一种可能的实现方式中,待处理数据块内的待编码信号的信号范围值是基于待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,信号范围值是基于待处理数据块内的待编码信号的采样精度确定的。
具体的,信号特征可以是指待处理数据块内的待编码信号的信号范围值,该信号范围值是基于待处理数据块内的最大待编码信号和最小待编码信号确定的。其中,待处理数据块内的最大待编码信号和最小待编码信号确定的可以是由编码设备发送的。具体的,信号范围值可以是指待处理数据块内的最大待编码信号的信号值与最小待编码信号的信号值之间的差值。例如,当待处理数据块的待编码信号为几何预测残差时,信号范围值可以是指最大几何预测残差与最小几何预测残差的之间的差值。例如,待处理数据块内的最大待编码信号的信号值为6,最小待编码信号的信号值为0,则待处理数据块的待编码信号的信号范围值为6。或者,该信号范围值可以是基于待处理数据块内的待编码信号的采样精度确定的,该待处理数据块内的待编码信号的采样精度是编码设备向解码设备发送的。例如,若点云数据的几何精度为10bit,则点云数据中的待处理数据块内的待编码信号的采用精度可以为10bit,待处理数据块的待编码信号的信号范围值可以为210。
在一种可能的实现方式中,若编码设备的编码方式可以为指数哥伦布编码方式,则解码设备的解码方式可以为指数哥伦布编码方式,待处理数据块的初始解码参数为初始阶数(与编码设备中待处理数据块的初始编码参数相同)。计算机设备对初始解码参数进行调整的具体方式可以包括:确定已解码数据块的解码信号的最终信号值。根据初始阶数,确定第一限制阶数和第二限制阶数,第一限制阶数小于第二限制阶数。获取最终信号值与第一限制阶数、第二限制阶数之间的大小关系。根据大小关系对初始阶数进行调整,得到待处理数据块关联的目标阶数,将目标阶数确定为目标解码参数。
具体的,已解码数据块的数量可以为一个或者n1个,若编码设备以一个已编码数据块对初始阶数进行调整,则已解码数据块的数量为一个;若编码设备以n1个已编码数据块对初始阶数进行调整,则已解码数据块的数量为n1个。在已解码数据块的数量为一个,且已编码数据块内的解码信号的数量为1个时,已解码数据块的解码信号的最终信号值可以为已解码数据块内的解码信号对应的信号值。在已解码数据块的数量为一个,且已解码数据块内的解码信号的数量为n1个时,已解码数据块的解码信号的最终信号值可以为n1个解码信号对应的信号值的平均值。在已解码数据块的数量为n1个时,最终信号值可以为n1个已解码数据块的解码信号的平均值。计算机设备可以根据初始阶数,确定第一限制阶数和第二限制阶数,第一限制阶数小于第二限制阶数。其中,计算机设备可以设置用于存储已解码数据块的buffer(缓存器)大小为n1个,每隔n2个点统计已解码数据块的最终信号 值。其中,已解码数据块可以为点云数据中的一个数据点,可以每隔n1数据点调整初始阶数。
具体的,第一限制阶数是指下限阶数,第二限制阶数可以是指上限阶数,初始阶数用于golombNum表示,第一限制阶数用golombNumLow表示,第二限制阶数用golombNumUP表示。在一种可能的实现方式中,计算机设备根据初始阶数确定第一限制阶数和第二限制阶数的方式可以包括但不限于以下方式:方式一:golombNumLow=2^golombNum,golombNumUp=2^(golombNum+1)。方式二:golombNumLow=2^(golombNum-1),golombNumUp=2^golombNum。方式三:golombNumUp=2^((golombNum-1))+2^((golombNum-2));golombNumLow=2^((golombNum-1))-2^((golombNum-2))。需要说明的是,除上述方式外,还可以根据具体情况采用其他方式确定第一限制阶数和第二限制阶数,申请实施例在此不在赘述。
计算机设备可以获取已解码数据块的解码信号的最终信号值与第一限制阶数、第二限制阶数之间的大小关系。该大小关系可以包括最终信号值小于第一限制阶数,或者,最终信号值大于第二阶数,或者,最终信号值大于或者等于第一限制阶数且小于或者等于第二限制阶数。计算机设备可以根据该大小关系对初始阶数进行调整,得到待处理数据块关联的目标阶数。计算机设备可以将目标阶数确定为目标解码参数。
在一种可能的实现方式中,计算机设备对初始阶数进行调整的具体方式可以包括但不限于一下方式:若大小关系指示最终信号值小于第一限制阶数,则将初始阶数与第一调整步长之间的和,确定为目标阶数。若大小关系指示最终信号值大于第二限制阶数,则将初始阶数与第一调整步长之间的差,确定为目标阶数。若大小关系指示最终信号值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
若计算机设备确定大小关系指示目标信号值小于第一限制阶数,则计算机设备可以将初始阶数与第一调整步长之间的和,确定为目标数据块的关联的目标阶数。其中,第一调整步长可以由历史编码记录信息确定,或者,第一调整步长可以由管理人员确定等,第一调整步长可以为1、2、3等数值。若大小关系指示最终信号值大于第二限制阶数,则计算机设备可以将初始阶数与第一调整步长之间的差,确定为目标阶数。若大小关系指示最终信号值大于或者等于第一限制阶数且小于或者等于第二限制阶数,则不对初始阶数进行调整,将初始阶数确定为目标阶数。
在一种可能的实现方式中,获取已解码数据块对应的解码参数,已解码数据块的解码参数包括已解码数据块的历史阶数。若大小关系指示最终信号值小于第一限制阶数,则将历史阶数与第二调整步长之间的和,确定为目标阶数。若大小关系指示最终信号值大于第二限制阶数,则将历史阶数与第二调整步长之间的差,确定为目标阶数。若大小关系指示最终信号值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
计算机设备可以获取已解码数据块对应的历史阶数,若大小关系指示最终信号值小于第一限制阶数,则将历史阶数与第二调整步长之间的和,确定为目标阶数。第二调整步长可以与第一调整步长相同,也可以与第一调整步长不相同。同样的,第二调整步长也可以由历史编码记录信息确定,或者,第二调整步长可以由管理人员确定等,第二调整步长可 以为1、2、3等数值。若大小关系指示最终信号值大于第二限制阶数,则将历史阶数与第二调整步长之间的差,确定为目标阶数。若大小关系指示最终信号值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。具体可以参考上述图2中对初始阶数的调整内容,本申请实施例在此不在赘述。
在一种可能的实现方式中,计算机设备对初始阶数进行调整的具体方式可以包括但不限于以下方式:根据大小关系对初始阶数进行调整,得到待处理数据块关联的候选阶数。若候选阶数小于或者等于第三限制阶数,则将候选阶数与第三调整步长之间和,确定为目标阶数。若候选阶数大于或者等于第四限制阶数,则将候选阶数与第三调整步长之间差,确定为目标阶数;第三限制阶数小于第四限制阶数。若候选阶数大于第三限制阶数且小于第四限制阶数,则将候选阶数,确定为目标阶数。
计算机设备可以根据大小关系对初始阶数进行调整,得到待处理数据块关联的候选阶数,具体对初始阶数进行调整的过程可以参见上述对初始阶数进行调整的过程。计算机设备可以检测待处理数据块关联的候选阶数与第三限制阶数、第四限制阶数之间的关系,根据该关系对候选阶数进行调整,得到待处理数据块关联的目标阶数。该第三限制阶数和第四限制阶数用于限制目标阶数在合理的阶数范围内,第三限制阶数小于第四限制阶数。若候选阶数小于或者等于第三限制阶数,则可以确定候选阶数太小,则可以将候选阶数与第三调整步长之间的和,确定为目标阶数。或者,若候选阶数小于或者等于第三限制阶数,则可以将第一预设阶数作为目标阶数,该第一预设阶数大于第三限制阶数且小于第四限制阶数,即第一预设阶数在合理的阶数范围内。若候选阶数大于或者等于第四限制阶数,则可以将候选阶数与第三调整步长之间的差,确定为目标阶数。或者,若候选阶数大于或者等于第四限制阶数,则可以将第二预设阶数确定为目标阶数。第二预设阶数大于第三限制阶数且小于第四限制阶数,即第二预设阶数在合理的阶数范围内。若候选阶数大于第三限制阶数且小于第四阶数,则说明候选阶数在合理的阶数范围内,不对候选阶数进行调整,将候选阶数确定为目标阶数。
需要说明的是,上述具体内容可以参考图2中基于具有相邻关系的已编码数据块确定目标编码参数的过程,即解码设备基于已编码数据块确定目标解码采参数的过程与编码设备根据已编码数据块确定目标编码参数的过程相同。
在一种可能的实现方式中,待处理数据块内的编码数据包括第一编码数据和第二编码数据,第一编码数据与第二编码数据的属性类型不同;待处理数据块的目标解码参数包括第一解码参数和第二解码参数,第一解码参数用于对第一编码数据进行解码,第二解码参数用于对第二编码数据进行解码;第一解码参数与第二解码参数不相同。
在一种可能的实现方式中,第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据;第一解码参数是基于第一子编码数据、第二子编码数据以及第三子编码数据分别对应的子信号特征确定的;或者,将第一子编码数据、第二子编码数据以及第三子编码数据分别对应的解码参数确定为第一解码参数;或者,将与第一编码数据关联的关联信息对应的解码参数为第一解码参数。
在一种可能的实现方式中,第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据,第一解码参数包括第一子编码数据对应的第一子解码参数、第二子编码数据对应的第二子解码参数以及第三子编码数据对应的第三子解码参数;第一子解码参数是基于第一子编码数据对应的子信号特征确定的;第二子解码参数是基于第一子解码参数以及参数偏移量确定的;第三子解码参数是基于第二子解码参数以及参数偏移量确定的。
上述内容可以参考上述图2中的描述,编码设备确定待处理数据块的目标编码参数的方式与解码设备确定待处理数据块的编码数据的目标解码参数的方式相同,本申请实施例在此不在赘述。
S203,根据目标解码参数对编码数据进行解码,得到待处理数据块的解码信号。
计算机设备可以根据目标解码参数,对编码数据进行解码,得到待处理数据块的解码信号,该解码信号用于反映待处理数据块的媒体属性。待处理数据块的媒体属性可以包括媒体属性可以是指几何位置信息、颜色、反射率、分类值、强度值、时间、材料特性以及纹理信息等属性。该解码信号可以是指对待处理数据块的媒体属性进行属性预测、属性变换、属性预测变换或者属性变换预测得到的,如几何预测残差、属性预测残差或者属性变换系数等。
在一种可能的实现方式中,待处理数据块的编码数据中包括编码标签以及信号阈值。计算机设备对编码数据进行解码的具体方式可以包括:若待处理数据块的编码数据中包括的编码标签为第一编码标签,则根据目标解码参数对编码数据进行解码,得到初始解码信号,根据信号阈值对初始解码信号进行求和处理,得到待处理数据块的解码信号;第一编码标签用于指示待处理数据块的解码信号与信号阈值不相同。若待处理数据块的编码数据中包括的编码标签为第二编码标签,则将信号阈值确定为待处理数据块的解码信号;第二编码标签用于指示待处理数据块的解码信号与信号阈值相同。
具体的,若计算机设备检测到待处理数据块的编码数据中包括编码标签和信号阈值时,计算机设备可以检测待处理数据块的编码数据中的编码标签是否为第一编码标签。若编码数据中的编码标签为第一编码标签,该第一编码标签用于指示待处理数据块的解码信号与信号阈值不相同,则计算机设备可以根据目标解码参数对待处理数据块对应的编码数据进行解码,得到初始解码信号。进一步地,计算机设备可以根据信号阈值对初始解码信号进行求和处理,得到待处理数据块的解码信号。如在编码设备采用信号差值=待编码信号的信号值-(m+1),对待处理数据块的待编码信号进行编码时,则解码设备可以采用初始解码信号与m+1的和,作为待处理数据块的解码信号,其中,m为信号阈值。若待处理数据块中的编码数据中包括的编码标签为第二编码标签时,该第二编码标签用于指示待处理数据块的解码信号与信号阈值相同,则计算机设备可以将信号阈值确定为待处理数据块的解码信号。
本申请实施例中,点云数据中的数据块可以作为待处理数据块,待处理数据块的编码数据是根据目标编码参数,对待处理数据块内的待编码信号进行编码得到的,该目标编码参数是待处理数据块在非等长编码的编码方式下的编码参数,目标编码参数是基于该待编码信号的信号特征确定的。此处的待处理数据块的编码数据是指用于描述待处理数据块的 编码数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。换言之,通过基于待处理数据块内待编码信号的信号特征,自适应地确定需要采用多少个编码(即比特位)来描述该待处理数据块的编码数据,即具有不同信号特征的数据块具有不同的编码(即不同的比特位),这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效率。进一步,在解码设备接收到待处理数据块的编码数据后,可以根据目标解码参数对该待处理数据块的编码数据进行解码,得到该待处理数据块的解码信号,该目标解码参数是上述目标编码参数确定的,由于待处理数据块的编码数据的冗余度比较低,因此,可以快速地解码出待处理数据块的解码信号,进而可以提高解码效率。
请参见图6,图6是本申请实施例提供的一种点云数据的解码装置的结构示意图。上述点云数据的解码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该点云数据的解码装置为一个应用软件;该点云数据的解码装置可以用于执行本申请实施例提供的点云数据的解码方法中的相应步骤。如图6所示,该点云数据的解码装置可以包括:第一获取模块11、第一确定模块12以及解码模块13。
第一获取模块11,用于获取点云数据中待处理数据块的编码数据;所述待处理数据块的编码数据是根据目标编码参数,对所述待处理数据块内的待编码信号进行编码得到的,所述目标编码参数是所述待处理数据块在非等长编码的编码方式下的编码参数,所述目标编码参数是基于所述待编码信号的信号特征确定的;
第一确定模块12,用于根据所述目标编码参数,确定所述待处理数据块的目标解码参数;
解码模块13,用于根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号;所述解码信号用于反映所述待处理数据块的媒体属性。
其中,第一确定模块12包括:
第一查询单元1201,用于从点云数据对应的参数集中,获取待处理数据块对应的目标编码参数;
第一确定单元1202,用于将所述目标编码参数,确定为所述目标解码参数。
可理解的是,第一确定模块12根据所述目标编码参数,确定所述待处理数据块的目标解码参数,包括:
若所述目标编码参数的参数确定方式为基于查询参数表的方式,则获取所述待编码信号的信号范围值;
根据所述待编码信号的信号范围值,确定所述待处理数据块对应的待处理索引值;
从第一参数表中查询与所述待处理索引值关联的解码参数,所述第一参数表中包括至少一个索引值,以及与所述至少一个索引值中每个索引值关联的解码参数;
将查询得到的解码参数,确定为所述目标解码参数。
可理解的是,第一确定模块12根据所述目标编码参数,确定所述待处理数据块的目标解码参数,包括:
若所述目标编码参数的参数确定方式为基于具有相邻关系的数据块的方式,则获取所述待编码信号的信号范围值;
根据所述待编码信号的信号范围值,确定所述待处理数据块的初始解码参数;
获取所述点云数据中与所述待处理数据块具有相邻关系的已解码数据块;
根据所述已解码数据的解码信号,对所述初始解码参数进行调整,得到所述目标解码参数。
可理解的是,所述初始解码参数为初始阶数;第一确定模块12根据所述已解码数据的解码信号,对所述初始解码参数进行调整,得到所述目标解码参数,包括:
确定所述已解码数据块的解码信号的最终信号值;
根据所述初始阶数,确定第一限制阶数和第二限制阶数,所述第一限制阶数小于所述第二限制阶数;
获取所述最终信号值与所述第一限制阶数、所述第二限制阶数之间的大小关系;
根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数;
将所述目标阶数确定为所述目标解码参数。
可理解的是,第一确定模块12根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
若所述大小关系指示所述最终信号值小于所述第一限制阶数,则将所述初始阶数与第一调整步长之间的和,确定为所述目标阶数;
若所述大小关系指示所述最终信号值大于所述第二限制阶数,则将所述初始阶数与所述第一调整步长之间的差,确定为所述目标阶数;
若所述大小关系指示所述最终信号值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
可理解的是,第一确定模块12根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
获取所述已解码数据块对应的解码参数;所述已解码数据块的解码参数包括所述已解码数据块的历史阶数;
若所述大小关系指示所述最终信号值小于所述第一限制阶数,则将所述历史阶数与第二调整步长之间的和,确定为所述目标阶数;
若所述大小关系指示所述最终信号值大于所述第二限制阶数,则将所述历史阶数与所述第二调整步长之间的差,确定为所述目标阶数;
若所述大小关系指示所述最终信号值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
可理解的是,第一确定模块12根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的候选阶数;
若所述候选阶数小于或者等于第三限制阶数,则将所述候选阶数与第三调整步长之间的和,确定为所述目标阶数;
若所述候选阶数大于或者等于第四限制阶数,则将所述候选阶数与所述第三调整步长之间的差,确定为所述目标阶数;所述第三限制阶数小于所述第四限制阶数;
若所述候选阶数大于所述第三限制阶数且小于所述第四限制阶数,则将所述候选阶数,确定为所述目标阶数。
可理解的是,所述待编码信号的信号范围值是基于所述待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,
所述待编码信号的信号范围值是基于所述待处理数据块内的待编码信号的采样精度确定的。
可理解的是,所述待处理数据块的编码数据包括第一编码数据和第二编码数据,所述第一编码数据与所述第二编码数据的属性类型不同;
所述目标解码参数包括第一解码参数和第二解码参数,所述第一解码参数用于对所述第一编码数据进行解码,所述第二解码参数用于对所述第二编码数据进行解码;所述第一解码参数与所述第二解码参数不相同。
可理解的是,所述第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据;
所述第一解码参数是基于所述第一子编码数据、所述第二子编码数据以及所述第三子编码数据分别对应的子信号特征确定的;
或者,将所述第一子编码数据、所述第二子编码数据以及所述第三子编码数据分别对应的解码参数确定为所述第一解码参数;
或者,将与所述第一编码数据关联的关联信息对应的解码参数确定为所述第一解码参数。
可理解的是,所述第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据,所述第一解码参数包括所述第一子编码数据对应的第一子解码参数、所述第二子编码数据对应的第二子解码参数以及所述第三子编码数据对应的第三子解码参数;
所述第一子解码参数是基于所述第一子编码数据对应的子信号特征确定的;
所述第二子解码参数是基于所述第一子解码参数以及参数偏移量确定的;
所述第三子解码参数是基于所述第二子解码参数以及所述参数偏移量确定的。
所述待处理数据块的编码数据中包括编码标签以及信号阈值;解码模块13包括:
第一解码单元1301,用于若所述待处理数据块的编码数据中包括的编码标签为第一编码标签,则根据所述目标解码参数对所述编码数据进行解码,得到初始解码信号;根据信号阈值对所述初始解码信号进行求和处理,得到所述待处理数据块的解码信号;所述第一编码标签用于指示所述待处理数据块的解码信号与所述信号阈值不相同;
第二解码单元1302,用于若所述待处理数据块的编码数据中包括的编码标签为第二编码标签,则将所述信号阈值确定为所述待处理数据块的解码信号;所述第二编码标签用于指示所述待处理数据块的解码信号与所述信号阈值相同。
根据本申请的一个实施例,图6示的点云数据的解码装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更 小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,点云数据的解码装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
在本申请中,点云数据中待处理数据块的编码数据是根据待处理数据块在非等长编码的编码方式下的目标编码参数,对待处理数据块内的待编码信号进行编码得到的,该目标编码参数是基于该待处理数据块内的待编码信号的信号特征确定的。此处的待处理数据块的编码数据是指用于描述待处理数据块的编码数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。换言之,通过基于待处理数据块内的待编码信号的信号特征,自适应地确定需要采用多少个编码来描述该待处理数据块的编码数据,即具有不同信号特征的数据块具有不同的编码,这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效率。进一步,在解码设备接收到待处理数据块的编码数据后,可以根据目标解码参数对该待处理数据块的编码数据进行解码,得到该待处理数据块的解码信号,该目标解码参数是上述目标编码参数确定的,由于待处理数据块的编码数据的冗余度比较低,因此,可以快速地解码出待处理数据块的解码信号,进而可以提高解码效率。
请参见图7,图7是本申请实施例提供的一种点云数据的编码装置的结构示意图。上述点云数据的编码装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该点云数据的编码装置为一个应用软件;该点云数据的编码装置可以用于执行本申请实施例提供的点云数据的编码方法中的相应步骤。如图7所示,该点云数据的编码装置可以包括:第二获取模块21和第二确定模块22、编码模块23以及第三确定模块24。
第二获取模块21,用于获取点云数据中待处理数据块内的待编码信号,以及待编码信号的信号特征;点云数据的编码方式为非等长编码的编码方式,待编码信号用于反映待处理数据块的媒体属性;
第二确定模块22,用于根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数;
编码模块23,用于根据目标编码参数对待编码信号进行编码,得到待处理数据块的编码数据。
其中,待编码信号的信号特征包括待编码信号的信号范围值;信号范围值是基于待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,
信号范围值是基于待编码信号的采样精度确定的。
其中,第二确定模块22包括:
生成单元2201,用于对信号特征所包括的信号范围值进行量化,得到量化后的信号范围值;获取量化后的信号范围值的对数值,对对数值进行求差处理,得到待处理数据块对应的待处理索引值;
第二查询单元2202,用于从第二参数表中查询与待处理索引值关联的编码参数;第二参数表中包括至少一个索引值,以及与至少一个索引值中每个索引值关联的编码参数,第二参数表中包含的索引值的数量与第一数据组中包含的数据块的数量相同,第一数据组为至少两个数据组中包含待处理数据块的数据组,至少两个数据组为点云数据中包括的数据组,待处理索引值属于待处理索引值范围,待处理索引值范围是根据第二参数表中的至少一个索引值确定的;
第二确定单元2203,用于将查询得到的编码参数,确定为目标编码参数。
其中,第二确定模块22包括:
第三确定单元2204,用于根据待编码信号的信号特征,确定待处理数据块在编码方式下的初始编码参数;
获取单元2205,用于获取点云数据中与待处理数据块具有相邻关系的已编码数据块;
调整单元2206,用于根据已编码数据块的编码数据,对初始编码参数进行调整,得到目标编码参数。
其中,初始编码参数为初始阶数;
调整单元2206具体用于:
确定已编码数据块的编码数据的最终编码值;
根据初始阶数,确定第一限制阶数和第二限制阶数,第一限制阶数小于第二限制阶数;
获取最终编码值与第一限制阶数、第二限制阶数之间的大小关系;
根据大小关系对初始阶数进行调整,得到待处理数据块关联的目标阶数;
将目标阶数确定为目标编码参数。
其中,调整单元2206具体用于:
若大小关系指示最终编码值小于第一限制阶数,则将初始阶数与第一调整步长之间的和,确定为目标阶数;
若大小关系指示最终编码值大于第二限制阶数,则将初始阶数与第一调整步长之间的差,确定为目标阶数;
若大小关系指示最终编码值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
其中,调整单元2206具体用于:
获取已编码数据块对应的编码参数;已编码数据块的编码参数包括已编码数据块的历史阶数;
若大小关系指示最终编码值小于第一限制阶数,则将历史阶数与第二调整步长之间的和,确定为目标阶数;
若大小关系指示最终编码值大于第二限制阶数,则将历史阶数与第二调整步长之间的差,确定为目标阶数;
若大小关系指示最终编码值大于或者等于第一限制阶数,且小于或者等于第二限制阶数,则将初始阶数确定为目标阶数。
其中,调整单元2206具体用于:
根据大小关系对初始阶数进行调整,得到待处理数据块关联的候选阶数;
若候选阶数小于或者等于第三限制阶数,则将候选阶数与第三调整步长之间的和,确定为目标阶数;
若候选阶数大于或者等于第四限制阶数,则将候选阶数与第三调整步长之间的差,确定为目标阶数;第三限制阶数小于第四限制阶数;
若候选阶数大于第三限制阶数且小于第四限制阶数,则将候选阶数,确定为目标阶数。
其中,最终编码值为已编码数据块的编码数据中所有编码值的平均值;或者,
最终编码值为已编码数据块的编码数据中非零编码值的平均值。
其中,点云数据包括至少两个数据组,待处理数据块属于至少两个数据组中的第一数据组;第一数据组内的数据块对应的编码参数均为目标编码参数;
已编码数据块属于至少两个数据组中的第二数据组,第二数据组与第一数据组具有相邻关系。
其中,至少两个数据组是根据数据块在点云数据中的位置进行分组得到的;或者,
至少两个数据组是根据点云数据中数据块分别对应的希尔伯特变换码进行分组得到的;点云数据中数据块分别对应的希尔伯特变换码是对每个数据块在点云数据中的位置进行希尔伯特变换得到的;或者,
至少两个数据组是根据划分尺寸对点云数据进行划分得到;或者,
至少两个数据组是根据目标限制数量以及数据块的编码顺序对点云数据进行划分得到。
其中,待处理数据块内的待编码信号包括几何预测残差、属性预测残差以及属性变换系数中的一种或者多种;
待编码信号包括第一待编码信号和第二待编码信号,第一待编码信号与第二待编码信号的属性类型不同;
目标编码参数包括第一编码参数和第二编码参数,第一编码参数用于对第一待编码信号进行编码,第二编码参数用于对第二待编码信号进行编码;第一编码参数与第二编码参数不相同。
其中,第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号;
第一编码参数是基于第一子编码信号、第二子编码信号以及第三子编码信号分别对应的子信号特征确定的;
或者,将第一子编码信号、第二子编码信号以及第三子编码信号分别对应的编码参数确定为第一编码参数;
或者,将与第一待编码信号的关联信息对应的编码参数确定为第一编码参数。
其中,第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号,第一编码参数包括第一子编码信号对应的第一子编码参数、第二子编码信号对应的第二子编码参数以及第三子编码信号对应的第三子编码参数;
第一子编码参数是基于第一子编码信号对应的子信号特征确定的;
第二子编码参数是基于第一子编码参数以及参数偏移量确定的;
第三子编码参数是基于第二子编码参数以及参数偏移量确定的。
其中,待处理数据块内的待编码信号的数量为M个,M为正整数;
编码模块23包括:
编码单元2301,用于若待编码信号与信号阈值不相同,则根据第一编码标签和目标编码参数,对待编码信号进行编码,得到待所编码信号的编码数据;待编码信号属于M个待编码信号,信号阈值为M个待编码信号中出现次数最多的待编码信号,第一编码标签用于指示待编码信号与信号阈值不相同,i为小于或者等于M的正整数;
第四确定单元2302,用于若获取到M个待编码信号分别对应的编码数据,则将M个待编码信号分别对应的编码数据确定为待处理数据块的编码数据。
其中,点云数据的编码装置还包括:
第三确定模块24,用于若待编码信号与信号阈值相同,则将第二编码标签确定为待编码信号的编码数据;第二编码标签用于指示待编码信号与信号阈值相同。
其中,编码单元2301具体用于:
若待编码信号与信号阈值不相同,则生成第一编码标签,第一编码标签用于指示待编码信号与信号阈值不相同;
根据信号阈值,对待编码信号进行求差处理,得到信号差值;
根据目标编码参数对信号差值进行编码,得到待编码信号的信号编码值,将信号编码值以及第一编码标签确定为待处理数据块的编码数据。
根据本申请的一个实施例,图7示的点云数据的编码装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,点云数据的编码装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
在本申请实施例中,获取点云数据中待处理数据块内的待编码信号,以及待处理数据块内的待编码信号的信号特征,点云数据的编码方式为非等长编码的编码方式,待编码信号用于反映待处理数据块的媒体属性。可见,采用非等长编码的编码方式,可以减少待处理数据块的编码数据的数据量。根据待处理数据块内的待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数。此处的待处理数据块的编码数据是指用于描述待处理数据块的编码数据的位数,即待处理数据块的编码数据是指待处理数据块的编码数据的长度。根据目标编码参数对待处理数据块内的待编码信号进行编码,得到待处理数据块的编码数据。可见,采用准确的目标编码参数对待处理数据块的待编码信号进行编码,可以实现以较少编码表示待编码信号,以减少待处理数据块对应的编码数据的数据量,降低网络传输的压力,同时也可以降低解码设备接收编码数据的接收压力,同时也可以提高对编码数据的解码效率。换言之,通过基于待处理数据块内的待编码信号的信号特征,自适应地确定需要采用多少个编码来描述该待处理数据块的编码数据,即具有不同信号特征的 数据块具有不同的编码,这样能够有效降低待处理数据块的编码数据的冗余度,即能够降低待处理数据块的编码数据的长度,同时,能够提高待处理数据块的编码数据的传输效率。
请参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图。如图8所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。在一种可能的实现方式中,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。在一种可能的实现方式中,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图8所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取点云数据中待处理数据块的编码数据;待处理数据块的编码数据是根据目标编码参数,对待处理数据块内的待编码信号进行编码得到的,目标编码参数是待处理数据块在非等长编码的编码方式下的编码参数,目标编码参数是基于待编码信号的信号特征确定的;
根据目标编码参数,确定待处理数据块的目标解码参数;
根据目标解码参数对待处理数据块的编码数据进行解码,得到待处理数据块的解码信号;解码信号用于反映待处理数据块的媒体属性。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图5所对应实施例中对点云数据的解码方法的描述,也可执行前文图7所对应实施例中对点云数据的解码装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
请参见图9,图9是本申请实施例提供的一种计算机设备的结构示意图。如图9所示,该计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。在一种可能的实现方式中,网络接口2004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。在一种可能的实现方式中,存储器2005还可以是至少一个位于远离前述处理器2001的存储装置。如图9所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图9所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
获取点云数据中待处理数据块内的待编码信号,以及待编码信号的信号特征;点云数据的编码方式为非等长编码的编码方式,待编码信号用于反映待处理数据块的媒体属性;
根据待编码信号的信号特征,确定待处理数据块在编码方式下的目标编码参数;
根据目标编码参数对待编码信号进行编码,得到待处理数据块的编码数据。
应当理解,本申请实施例中所描述的计算机设备2000可执行前文图2所对应实施例中对点云数据的编码方法的描述,也可执行前文图6所对应实施例中对点云数据的编码装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的点云数据的解码装置所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图5所对应实施例中对点云数据的解码方法,或者,图2所对应实施例中对点云数据的编码方法的描述,因此,这里将不再进行赘述。
另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品,该计算机程序产品可以包括计算机程序,该计算机程序可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器可以执行该计算机程序,使得该计算机设备执行前文图5所对应实施例中对点云数据的解码方法,或者,图2所对应实施例中对点云数据的编码方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (32)

  1. 一种点云数据的解码方法,所述方法由计算机设备执行,包括:
    获取点云数据中待处理数据块的编码数据;所述待处理数据块的编码数据是根据目标编码参数,对所述待处理数据块内的待编码信号进行编码得到的,所述目标编码参数是所述待处理数据块在非等长编码的编码方式下的编码参数,所述目标编码参数是基于所述待编码信号的信号特征确定的;
    根据所述目标编码参数,确定所述待处理数据块的目标解码参数;
    根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号;所述解码信号用于反映所述待处理数据块的媒体属性。
  2. 根据权利要求1所述的方法,在所述根据所述目标编码参数,确定所述待处理数据块的目标解码参数之前,所述方法还包括:
    从所述点云数据对应的参数集中,获取所述目标编码参数;
    所述根据所述目标编码参数,确定所述待处理数据块的目标解码参数,包括:
    将所述目标编码参数,确定为所述目标解码参数。
  3. 根据权利要求1所述的方法,所述根据所述目标编码参数,确定所述待处理数据块的目标解码参数,包括:
    若所述目标编码参数的参数确定方式为基于查询参数表的方式,则获取所述待编码信号的信号范围值;
    根据所述待编码信号的信号范围值,确定所述待处理数据块对应的待处理索引值;
    从第一参数表中查询与所述待处理索引值关联的解码参数,所述第一参数表中包括至少一个索引值,以及与所述至少一个索引值中每个索引值关联的解码参数;
    将查询得到的解码参数,确定为所述目标解码参数。
  4. 根据权利要求1所述的方法,所述根据所述目标编码参数,确定所述待处理数据块的目标解码参数,包括:
    若所述目标编码参数的参数确定方式为基于具有相邻关系的数据块的方式,则获取所述待编码信号的信号范围值;
    根据所述待编码信号的信号范围值,确定所述待处理数据块的初始解码参数;
    获取所述点云数据中与所述待处理数据块具有相邻关系的已解码数据块;
    根据所述已解码数据的解码信号,对所述初始解码参数进行调整,得到所述目标解码参数。
  5. 根据权利要求4所述的方法,所述初始解码参数为初始阶数;所述根据所述已解码数据的解码信号,对所述初始解码参数进行调整,得到所述目标解码参数,包括:
    确定所述已解码数据块的解码信号的最终信号值;
    根据所述初始阶数,确定第一限制阶数和第二限制阶数,所述第一限制阶数小于所述第二限制阶数;
    获取所述最终信号值与所述第一限制阶数、所述第二限制阶数之间的大小关系;
    根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数;
    将所述目标阶数确定为所述目标解码参数。
  6. 根据权利要求5所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    若所述大小关系指示所述最终信号值小于所述第一限制阶数,则将所述初始阶数与第一调整步长之间的和,确定为所述目标阶数;
    若所述大小关系指示所述最终信号值大于所述第二限制阶数,则将所述初始阶数与所述第一调整步长之间的差,确定为所述目标阶数;
    若所述大小关系指示所述最终信号值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
  7. 根据权利要求5所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    获取所述已解码数据块对应的解码参数;所述已解码数据块的解码参数包括所述已解码数据块的历史阶数;
    若所述大小关系指示所述最终信号值小于所述第一限制阶数,则将所述历史阶数与第二调整步长之间的和,确定为所述目标阶数;
    若所述大小关系指示所述最终信号值大于所述第二限制阶数,则将所述历史阶数与所述第二调整步长之间的差,确定为所述目标阶数;
    若所述大小关系指示所述最终信号值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
  8. 根据权利要求5所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的候选阶数;
    若所述候选阶数小于或者等于第三限制阶数,则将所述候选阶数与第三调整步长之间的和,确定为所述目标阶数;
    若所述候选阶数大于或者等于第四限制阶数,则将所述候选阶数与所述第三调整步长之间的差,确定为所述目标阶数;所述第三限制阶数小于所述第四限制阶数;
    若所述候选阶数大于所述第三限制阶数且小于所述第四限制阶数,则将所述候选阶数,确定为所述目标阶数。
  9. 根据权利要求3-8任一项所述的方法,所述待编码信号的信号范围值是基于所述待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,
    所述待编码信号的信号范围值是基于所述待处理数据块内的待编码信号的采样精度确定的。
  10. 根据权利要求1所述的方法,所述待处理数据块的编码数据包括第一编码数据和第二编码数据,所述第一编码数据与所述第二编码数据的属性类型不同;
    所述目标解码参数包括第一解码参数和第二解码参数,所述第一解码参数用于对所述第一编码数据进行解码,所述第二解码参数用于对所述第二编码数据进行解码;所述第一解码参数与所述第二解码参数不相同。
  11. 根据权利要求10所述的方法,所述第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据;
    所述第一解码参数是基于所述第一子编码数据、所述第二子编码数据以及所述第三子编码数据分别对应的子信号特征确定的;
    或者,将所述第一子编码数据、所述第二子编码数据以及所述第三子编码数据分别对应的解码参数确定为所述第一解码参数;
    或者,将与所述第一编码数据关联的关联信息对应的解码参数确定为所述第一解码参数。
  12. 根据权利要求11所述的方法,所述第一编码数据包括第一子编码数据、第二子编码数据以及第三子编码数据,所述第一解码参数包括所述第一子编码数据对应的第一子解码参数、所述第二子编码数据对应的第二子解码参数以及所述第三子编码数据对应的第三子解码参数;
    所述第一子解码参数是基于所述第一子编码数据对应的子信号特征确定的;
    所述第二子解码参数是基于所述第一子解码参数以及参数偏移量确定的;
    所述第三子解码参数是基于所述第二子解码参数以及所述参数偏移量确定的。
  13. 根据权利要求1所述的方法,所述待处理数据块的编码数据中包括编码标签以及信号阈值;
    所述根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号,包括:
    若所述待处理数据块的编码数据中包括的编码标签为第一编码标签,则根据所述目标解码参数对所述编码数据进行解码,得到初始解码信号;
    根据信号阈值对所述初始解码信号进行求和处理,得到所述待处理数据块的解码信号;所述第一编码标签用于指示所述待处理数据块的解码信号与所述信号阈值不相同;
    若所述待处理数据块的编码数据中包括的编码标签为第二编码标签,则将所述信号阈值确定为所述待处理数据块的解码信号;所述第二编码标签用于指示所述待处理数据块的解码信号与所述信号阈值相同。
  14. 一种点云数据的编码方法,所述方法由计算机设备执行,包括:
    获取点云数据中待处理数据块内的待编码信号,以及所述待编码信号的信号特征;所述点云数据的编码方式为非等长编码的编码方式,所述待编码信号用于反映所述待处理数据块的媒体属性;
    根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数;
    根据所述目标编码参数对所述待编码信号进行编码,得到所述待处理数据块的编码数据。
  15. 根据权利要求14所述的方法,所述待编码信号的信号特征包括所述待编码信号的信号范围值;所述信号范围值是基于所述待处理数据块内的最大待编码信号和最小待编码信号确定的;或者,
    所述信号范围值是基于所述待编码信号的采样精度确定的。
  16. 根据权利要求15所述的方法,所述根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数,包括:
    对所述信号特征所包括的信号范围值进行量化,得到量化后的信号范围值;
    获取所述量化后的信号范围值的对数值,对所述对数值进行求差处理,得到所述待处理数据块对应的待处理索引值;
    从第二参数表中查询与所述待处理索引值关联的编码参数;所述第二参数表中包括至少一个索引值,以及与所述至少一个索引值中每个索引值关联的编码参数,所述第二参数表中包含的索引值的数量与第一数据组中包含的数据块的数量相同,所述第一数据组为至少两个数据组中包含所述待处理数据块的数据组,所述至少两个数据组为所述点云数据中包括的数据组,所述待处理索引值属于待处理索引值范围,所述待处理索引值范围是根据所述第二参数表中的至少一个索引值确定的;
    将查询得到的编码参数,确定为所述目标编码参数。
  17. 根据权利要求14所述的方法,所述根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数,包括:
    根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的初始编码参数;
    获取所述点云数据中与所述待处理数据块具有相邻关系的已编码数据块;
    根据所述已编码数据块的编码数据,对所述初始编码参数进行调整,得到所述目标编码参数。
  18. 根据权利要求17所述的方法,所述初始编码参数为初始阶数;所述根据所述已编码数据块的编码数据,对所述初始编码参数进行调整,得到所述目标编码参数,包括:
    确定所述已编码数据块的编码数据的最终编码值;
    根据所述初始阶数,确定第一限制阶数和第二限制阶数,所述第一限制阶数小于所述第二限制阶数;
    获取所述最终编码值与所述第一限制阶数、所述第二限制阶数之间的大小关系;
    根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数;
    将所述目标阶数确定为所述目标编码参数。
  19. 根据权利要求18所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    若所述大小关系指示所述最终编码值小于所述第一限制阶数,则将所述初始阶数与第一调整步长之间的和,确定为所述目标阶数;
    若所述大小关系指示所述最终编码值大于所述第二限制阶数,则将所述初始阶数与所述第一调整步长之间的差,确定为所述目标阶数;
    若所述大小关系指示所述最终编码值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
  20. 根据权利要求18所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    获取所述已编码数据块对应的编码参数;所述已编码数据块的编码参数包括所述已编码数据块的历史阶数;
    若所述大小关系指示所述最终编码值小于所述第一限制阶数,则将所述历史阶数与第二调整步长之间的和,确定为所述目标阶数;
    若所述大小关系指示所述最终编码值大于所述第二限制阶数,则将所述历史阶数与所述第二调整步长之间的差,确定为所述目标阶数;
    若所述大小关系指示所述最终编码值大于或者等于所述第一限制阶数,且小于或者等于所述第二限制阶数,则将所述初始阶数确定为所述目标阶数。
  21. 根据权利要求18所述的方法,所述根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的目标阶数,包括:
    根据所述大小关系对所述初始阶数进行调整,得到所述待处理数据块关联的候选阶数;
    若所述候选阶数小于或者等于第三限制阶数,则将所述候选阶数与第三调整步长之间的和,确定为所述目标阶数;
    若所述候选阶数大于或者等于第四限制阶数,则将所述候选阶数与所述第三调整步长之间的差,确定为所述目标阶数;所述第三限制阶数小于所述第四限制阶数;
    若所述候选阶数大于所述第三限制阶数且小于所述第四限制阶数,则将所述候选阶数,确定为所述目标阶数。
  22. 根据权利要求18所述的方法,所述最终编码值为所述已编码数据块的编码数据中所有编码值的平均值;或者,
    所述最终编码值为所述已编码数据块的编码数据中非零编码值的平均值。
  23. 根据权利要求17所述的方法,所述点云数据包括至少两个数据组,所述待处理数据块属于所述至少两个数据组中的第一数据组;所述第一数据组内的数据块对应的编码参数均为所述目标编码参数;
    所述已编码数据块属于所述至少两个数据组中的第二数据组,所述第二数据组与所述第一数据组具有相邻关系。
  24. 根据权利要求14所述的方法,所述待处理数据块内的待编码信号包括几何预测残差、属性预测残差以及属性变换系数中的一种或者多种;
    所述待编码信号包括第一待编码信号和第二待编码信号,所述第一待编码信号与所述第二待编码信号的属性类型不同;
    所述目标编码参数包括第一编码参数和第二编码参数,所述第一编码参数用于对所述第一待编码信号进行编码,所述第二编码参数用于对所述第二待编码信号进行编码;所述第一编码参数与所述第二编码参数不相同。
  25. 根据权利要求24所述的方法,所述第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号;
    所述第一编码参数是基于所述第一子编码信号、所述第二子编码信号以及所述第三子编码信号分别对应的子信号特征确定的;
    或者,将所述第一子编码信号、所述第二子编码信号以及所述第三子编码信号分别对应的编码参数确定为所述第一编码参数;
    或者,将与所述第一待编码信号的关联信息对应的编码参数确定为所述第一编码参数。
  26. 根据权利要求24所述的方法,所述第一待编码信号包括第一子编码信号、第二子编码信号以及第三子编码信号,所述第一编码参数包括所述第一子编码信号对应的第一子编码参数、所述第二子编码信号对应的第二子编码参数以及所述第三子编码信号对应的第三子编码参数;
    所述第一子编码参数是基于所述第一子编码信号对应的子信号特征确定的;
    所述第二子编码参数是基于所述第一子编码参数以及参数偏移量确定的;
    所述第三子编码参数是基于所述第二子编码参数以及所述参数偏移量确定的。
  27. 根据权利要求14所述的方法,所述根据所述目标编码参数对所述待编码信号进行编码,得到所述待处理数据块的编码数据,包括:
    若所述待编码信号与信号阈值不相同,则生成第一编码标签,第一编码标签用于指示所述待编码信号与所述信号阈值不相同;
    根据所述信号阈值,对所述待编码信号进行求差处理,得到信号差值;
    根据所述目标编码参数对所述信号差值进行编码,得到所述待编码信号的信号编码值,将所述信号编码值以及所述第一编码标签确定为所述待处理数据块的编码数据。
  28. 一种点云数据的解码装置,所述装置部署在计算机设备上,包括:
    第一获取模块,用于获取点云数据中待处理数据块的编码数据;所述待处理数据块的编码数据是根据目标编码参数,对所述待处理数据块内的待编码信号进行编码得到的,所述目标编码参数是所述待处理数据块在非等长编码的编码方式下的编码参数,所述目标编码参数是基于所述待编码信号的信号特征确定的;
    第一确定模块,用于根据所述目标编码参数,确定所述待处理数据块的目标解码参数;
    解码模块,用于根据所述目标解码参数对所述待处理数据块的编码数据进行解码,得到所述待处理数据块的解码信号;所述解码信号用于反映所述待处理数据块的媒体属性。
  29. 一种点云数据的编码装置,所述装置部署在计算机设备上,包括:
    第三获取模块,用于获取点云数据中待处理数据块内的待编码信号,以及所述待编码信号的信号特征;所述点云数据的编码方式为非等长编码的编码方式,所述待编码信号用于反映所述待处理数据块的媒体属性;
    第一确定模块,用于根据所述待编码信号的信号特征,确定所述待处理数据块在所述编码方式下的目标编码参数;
    编码模块,用于根据所述目标编码参数对所述待编码信号进行编码,得到所述待处理数据块的编码数据。
  30. 一种计算机设备,包括:处理器和存储器;
    所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-27任一项所述的方法。
  31. 一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-27任一项所述的方法。
  32. 一种计算机程序产品,包括计算机程序,该计算机程序被计算机设备执行时实现权利要求1-27任一项所述的方法。
PCT/CN2023/106256 2022-08-19 2023-07-07 点云数据的解码方法、编码方法、装置、存储介质及设备 WO2024037244A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211003838.7A CN115396668A (zh) 2022-08-19 2022-08-19 点云数据的解码方法、编码方法、装置、存储介质及设备
CN202211003838.7 2022-08-19

Publications (1)

Publication Number Publication Date
WO2024037244A1 true WO2024037244A1 (zh) 2024-02-22

Family

ID=84119920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/106256 WO2024037244A1 (zh) 2022-08-19 2023-07-07 点云数据的解码方法、编码方法、装置、存储介质及设备

Country Status (2)

Country Link
CN (1) CN115396668A (zh)
WO (1) WO2024037244A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396668A (zh) * 2022-08-19 2022-11-25 腾讯科技(深圳)有限公司 点云数据的解码方法、编码方法、装置、存储介质及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547010A (zh) * 2008-03-24 2009-09-30 华为技术有限公司 编码解码系统、方法及装置
CN111699683A (zh) * 2019-06-13 2020-09-22 深圳市大疆创新科技有限公司 一种点云编码方法、点云解码方法及相关设备
US20210201540A1 (en) * 2018-09-19 2021-07-01 Huawei Technologies Co., Ltd. Point cloud encoding method and encoder
CN113284250A (zh) * 2021-06-11 2021-08-20 北京大学深圳研究生院 一种点云的几何编码方法和解码方法及设备
CN114598892A (zh) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 点云数据编码方法、解码方法、装置、设备及存储介质
CN115396668A (zh) * 2022-08-19 2022-11-25 腾讯科技(深圳)有限公司 点云数据的解码方法、编码方法、装置、存储介质及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547010A (zh) * 2008-03-24 2009-09-30 华为技术有限公司 编码解码系统、方法及装置
US20210201540A1 (en) * 2018-09-19 2021-07-01 Huawei Technologies Co., Ltd. Point cloud encoding method and encoder
CN111699683A (zh) * 2019-06-13 2020-09-22 深圳市大疆创新科技有限公司 一种点云编码方法、点云解码方法及相关设备
CN114598892A (zh) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 点云数据编码方法、解码方法、装置、设备及存储介质
CN113284250A (zh) * 2021-06-11 2021-08-20 北京大学深圳研究生院 一种点云的几何编码方法和解码方法及设备
CN115396668A (zh) * 2022-08-19 2022-11-25 腾讯科技(深圳)有限公司 点云数据的解码方法、编码方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN115396668A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
CN111699695B (zh) 用于对经编码数据集进行解码的方法、设备和存储介质
Soler et al. Topologically controlled lossy compression
JP2020521359A (ja) 点群を符号化し再構築するための方法及び装置
WO2013067674A1 (en) Predictive position encoding
WO2020123469A1 (en) Hierarchical tree attribute coding by median points in point cloud coding
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
WO2021196029A1 (zh) 一种用于点云编码、解码的方法和设备
WO2022121649A1 (zh) 点云数据编码方法、解码方法、点云数据处理方法及装置、电子设备、计算机程序产品及计算机可读存储介质
WO2024037244A1 (zh) 点云数据的解码方法、编码方法、装置、存储介质及设备
WO2022121648A1 (zh) 点云数据编码方法、解码方法、设备、介质及程序产品
CN113632142A (zh) 点云压缩的方法和装置
TW202143709A (zh) 針對基於幾何的點雲壓縮的三湯語法訊號傳遞
WO2024037091A1 (zh) 一种点云处理方法、装置及计算机设备、存储介质
WO2023241107A1 (zh) 点云处理方法、装置及计算机设备、存储介质
US20230086264A1 (en) Decoding method, encoding method, decoder, and encoder based on point cloud attribute prediction
CN115088017A (zh) 点云的树内几何量化
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
Shaila et al. Block encoding of color histogram for content based image retrieval applications
WO2023213074A1 (zh) 点云处理方法、装置、设备、存储介质及产品
WO2023103564A1 (zh) 点云解码方法、点云编码方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
WO2022258063A1 (zh) 点云属性编码方法、装置、解码方法、装置及相关设备
WO2024065406A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024082152A1 (zh) 编解码方法及装置、编解码器、码流、设备、存储介质
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
WO2024082153A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质

Legal Events

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

Ref document number: 23854149

Country of ref document: EP

Kind code of ref document: A1