WO2020186535A1 - 点云属性编码方法和装置以及点云属性解码方法和装置 - Google Patents

点云属性编码方法和装置以及点云属性解码方法和装置 Download PDF

Info

Publication number
WO2020186535A1
WO2020186535A1 PCT/CN2019/079150 CN2019079150W WO2020186535A1 WO 2020186535 A1 WO2020186535 A1 WO 2020186535A1 CN 2019079150 W CN2019079150 W CN 2019079150W WO 2020186535 A1 WO2020186535 A1 WO 2020186535A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute value
code
bits
indication information
binary attribute
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/CN2019/079150
Other languages
English (en)
French (fr)
Inventor
李璞
郑萧桢
陈嘉枫
王文义
虞露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
SZ DJI Technology Co Ltd
Original Assignee
Zhejiang University ZJU
SZ DJI Technology Co Ltd
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 Zhejiang University ZJU, SZ DJI Technology Co Ltd filed Critical Zhejiang University ZJU
Priority to CN201980039255.XA priority Critical patent/CN112262578B/zh
Priority to PCT/CN2019/079150 priority patent/WO2020186535A1/zh
Publication of WO2020186535A1 publication Critical patent/WO2020186535A1/zh
Priority to US17/479,812 priority patent/US20220005229A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • This application relates to the field of data processing, and more specifically, to a point cloud attribute encoding method and device, and a point cloud attribute decoding method and device.
  • a point cloud is a representation of a three-dimensional object or a three-dimensional scene. It is composed of a set of discrete points that are randomly distributed in space and express the spatial structure and surface properties of the three-dimensional object or three-dimensional scene. In order to reduce the bandwidth occupied by point cloud data storage and transmission, it is necessary to encode and compress the point cloud data.
  • a point cloud data is usually composed of location information and attribute information. The location information is used to describe the location of the point cloud data, such as three-dimensional coordinates; the attribute information is used to describe the attributes of the point cloud data, such as color and reflectivity.
  • the position information processing process includes: quantizing the coordinates; removing duplicate coordinates in the coordinates; octree encoding the processed coordinates; reordering the attribute information according to the order of the coordinates after the octree encoding, and generating levels Coding scheme.
  • the processing process of the attribute information includes: performing attribute conversion on the attribute information, for example, converting from RGB format to YCbCr format; then performing predictive coding on the attribute information after attribute conversion according to a hierarchical coding scheme to generate residuals; and quantizing the residuals. Finally, arithmetic coding is performed on the octree-encoded position information and the quantized residual to generate a code stream.
  • the foregoing encoding process needs to traverse all or part of the point cloud data multiple times, which incurs relatively large time overhead.
  • the decoding process is roughly the same as the reverse process of the encoding process, and there is also the problem of large time overhead.
  • This application provides a point cloud attribute coding method and device, and a point cloud attribute decoding method and device.
  • a point cloud attribute coding method and device By binarizing the attribute information in the point cloud data, and performing arithmetic coding on the result of the binarization, It avoids the use of hierarchical coding schemes to encode and decode attribute information, thereby reducing time overhead.
  • a point cloud attribute coding method including: binarizing attribute values in point cloud data to obtain binary attribute values, wherein the bit depth of the binary attribute values is N, and N is greater than Or a positive integer equal to 1; using at least one probability model to perform arithmetic coding on the bits in the binary attribute value.
  • a point cloud attribute decoding method which includes: using at least one probability model to arithmetically decode the bits in the code stream to obtain a binary attribute value; according to the binarization method corresponding to the binary attribute value The binary attribute value is de-binarized to obtain the attribute value.
  • another point cloud attribute coding method which includes: binarizing attribute values in point cloud data to obtain a binary attribute value, the bit depth of the binary attribute value is N bits, and N Is a positive integer greater than or equal to 1, and the N bits include a first part of bits; the first probability model is determined from M probability models according to the first part of bits, and M is a positive integer greater than or equal to 1, And, M is less than or equal to N; the first probability model is used to encode the first part of bits.
  • another point cloud attribute decoding method which includes: performing arithmetic decoding on attribute information in the bitstream to obtain a binary attribute value, the bit depth of the binary attribute value is N bits, and N is greater than Or a positive integer equal to 1, the N bits include a first part of bits, the first part of bits is obtained by decoding using a first probability model, and the first probability model is determined from M probability models When it comes out, M is a positive integer greater than or equal to 1, and M is less than or equal to N; the binary attribute value is de-binarized according to the binarization method corresponding to the binary attribute value to obtain the attribute value.
  • a point cloud attribute encoding device is provided, and the device is configured to execute the method in the first aspect.
  • a point cloud attribute encoding device in a sixth aspect, includes a memory and a processor, the memory is used to store instructions, and the processor is used to execute instructions stored in the memory and store information in the memory. Execution of the instructions of causes the processor to execute the method of the first aspect.
  • a chip in a seventh aspect, includes a processing module and a communication interface, the processing module is configured to control the communication interface to communicate with the outside, and the processing module is also configured to implement the method of the first aspect.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a computer, the computer realizes the method of the first aspect.
  • the computer may be the above-mentioned point cloud attribute encoding device.
  • a computer program product containing instructions which when executed by a computer causes the computer to implement the method of the first aspect.
  • the computer may be the above-mentioned point cloud attribute encoding device.
  • a point cloud attribute decoding device is provided, and the device is configured to execute the method in the second aspect described above.
  • a point cloud attribute decoding device in an eleventh aspect, includes a memory and a processor.
  • the memory is used to store instructions.
  • the processor is used to execute instructions stored in the memory, and Execution of the stored instructions causes the processor to execute the method of the second aspect.
  • a chip in a twelfth aspect, includes a processing module and a communication interface, the processing module is configured to control the communication interface to communicate with the outside, and the processing module is also configured to implement the method of the second aspect.
  • a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer realizes the method of the second aspect.
  • the computer may be the above-mentioned point cloud attribute decoding device.
  • a computer program product containing instructions which when executed by a computer causes the computer to implement the method of the second aspect.
  • the computer may be the above-mentioned point cloud attribute decoding device.
  • a point cloud attribute encoding device is provided, and the device is used to execute the method in the third aspect.
  • a point cloud attribute encoding device in a sixteenth aspect, includes a memory and a processor, the memory is used to store instructions, and the processor is used to execute instructions stored in the memory, and Execution of the stored instructions causes the processor to execute the method of the third aspect.
  • a chip in a seventeenth aspect, includes a processing module and a communication interface, the processing module is used to control the communication interface to communicate with the outside, and the processing module is also used to implement the method of the third aspect.
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a computer, the computer realizes the method of the third aspect.
  • the computer may be the above-mentioned point cloud attribute encoding device.
  • a computer program product containing instructions which when executed by a computer causes the computer to implement the method of the third aspect.
  • the computer may be the above-mentioned point cloud attribute encoding device.
  • a point cloud attribute decoding device is provided, and the device is configured to execute the method in the fourth aspect.
  • a point cloud attribute decoding device in a twenty-first aspect, includes a memory and a processor, the memory is used to store instructions, and the processor is used to execute instructions stored in the memory, and to Execution of the instructions stored in the processor causes the processor to execute the method of the fourth aspect.
  • a chip in a twenty-second aspect, includes a processing module and a communication interface, the processing module is used to control the communication interface to communicate with the outside, and the processing module is also used to implement the method of the fourth aspect .
  • a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a computer, the computer realizes the method of the fourth aspect.
  • the computer may be the above-mentioned point cloud attribute decoding device.
  • a computer program product containing instructions which when executed by a computer causes the computer to implement the method of the fourth aspect.
  • the computer may be the above-mentioned point cloud attribute decoding device.
  • Fig. 1 is a schematic diagram of an encoding process provided by this application.
  • Figure 2 is a schematic diagram of an encoding process provided by this application.
  • Fig. 3 is a schematic diagram of a point cloud attribute coding method provided by the present application.
  • Fig. 4 is a schematic diagram of a point cloud attribute decoding method provided by the present application.
  • Fig. 5 is a schematic diagram of an encoding device provided by the present application.
  • Fig. 6 is a schematic diagram of a decoding device provided by the present application.
  • Figure 1 shows a schematic diagram of an encoding process provided by this application.
  • the encoding system separately encodes the position information and attribute information in the input point cloud data.
  • the point cloud data may be point cloud data obtained by a sensor (such as a lidar) on a mobile platform.
  • the position information is quantized, for example, the coordinate value is rounded. It is possible to choose to perform position coding on the quantized coordinates before removing duplicate coordinates, or directly perform position coding on the quantized coordinates.
  • the position coding described above is, for example, octree coding. The order of the position information after position encoding has changed.
  • the attribute information can be encoded after attribute conversion, or the attribute information can be directly encoded.
  • the attribute conversion needs to be performed during the attribute encoding process, for example, the attribute information corresponding to the merged coordinates is merged; if the process of removing duplicate coordinates is not performed, the attribute information can be directly encoded .
  • the attribute information is coded sequentially in the order of the position information.
  • the above attribute coding is, for example, binarizing the attribute information, that is, converting the value of the attribute information into a binary code.
  • arithmetic coding ie, compression coding
  • arithmetic coding is performed on the position information subjected to the position coding and the attribute information subjected to the attribute coding in the arithmetic coding engine, and finally a code stream after compression coding is obtained.
  • FIG. 2 shows a schematic diagram of a decoding process provided by the present application.
  • the decoding system After obtaining the input code stream, the decoding system first performs arithmetic decoding to obtain the position information to be decoded and the attribute information to be decoded. The decoding system respectively decodes the position information to be decoded and the attribute information to be decoded.
  • the decoding system first performs position decoding to obtain quantized position information, and then performs inverse quantization processing on the quantized position information to obtain position information.
  • the decoding system can decode the attributes in the order of the quantized position information. For example, the attribute information to be decoded is decoded to obtain a binary code containing the attribute information, and then the binary code is decoded according to the binarization method used by the encoding system to obtain the attribute information.
  • the decoding system may determine the binarization method used by the encoding system according to the indication information in the header information of the bitstream, or may determine the binarization method used by the encoding system according to preset information in the decoding system.
  • the point cloud data can be obtained by combining the position information and attribute information obtained by the above decoding.
  • the attribute information is processed through the binarization method without generating a hierarchical coding scheme, that is, it is not necessary to traverse all or part of the point cloud data multiple times, thereby reducing the time overhead in the coding process.
  • the attribute information is reconstructed through the inverse process of the binarization method. There is no need to reconstruct the attribute information based on the hierarchical coding scheme, that is, there is no need to traverse all or part of the point cloud data multiple times, thereby reducing Time overhead in the decoding process.
  • Figure 3 shows a point cloud attribute coding method provided by this application.
  • the method 300 includes:
  • S310 Binarize the attribute value in the point cloud data to generate a binary attribute value, wherein the bit depth of the binary attribute value is N, and N is a positive integer greater than or equal to 1.
  • the attribute value is the attribute information described above, for example, the attribute value is the reflectance value.
  • the attribute value can be the value obtained after attribute conversion, or the value without attribute conversion.
  • Binarization is to convert non-binary values into binary values.
  • the encoding system can select the target binarization method according to the actual situation. For example, if the decoding system only supports fixed-length codes, the encoding system can select the fixed-length code encoding method as the target binarization method; if the decoding system supports the fixed-length code encoding method , Truncated Rice code coding and exponential Golomb code, the coding system can choose a binarization method with better coding performance as the target binarization method. It should be noted that the above three methods are only examples, and the binarization method applicable to this application is not limited to these.
  • the encoding system and the decoding system use the same binarization method by default, and the encoding system does not need to indicate in the code stream which binarization method the encoding system uses.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of binary attribute values.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code, or that the binary attribute value is a truncated Rice code, or that the binary attribute value is an exponential Golomb code.
  • the method 300 provided by the present application binarizes the attribute information in the point cloud data and performs arithmetic coding on the result of the binarization, avoiding the use of a hierarchical coding scheme to encode and decode the attribute information, thereby Reduced time overhead.
  • the target binarization method is a fixed-length code encoding method.
  • the fixed-length code encoding method is a method of converting attribute values into fixed-length binary codes.
  • the fixed length is the number of bits contained in the binary code, which can also be called bit depth.
  • the value of bit depth N is greater than or A positive integer equal to 1, for example, N can be equal to 8 or 10 or 12.
  • the specific method can refer to the processing method in the prior art, for the sake of brevity, it will not be repeated here.
  • the bit depth N can be written into the header information of the arithmetic-coded bitstream for use by the decoder.
  • the target binarization method is the truncated Rice code encoding method.
  • the truncated Rice code encoding method can also be used. Set the threshold value as cMax, the Rice parameter as R, and the attribute value as Ref.
  • the truncated Rice code is formed by concatenating the prefix code and the suffix code, and the calculation method of the prefix value P is shown in Equation 1.
  • >> means right shift. If P is less than the value (cMax>>R), the prefix code consists of P 1s and one 0, and the length is P+1; if P is greater than or equal to the value (cMax>>R), the prefix code is composed of (cMax>>R) ) Consists of 1 and the length is (cMax>>R).
  • the attribute value Ref is less than cMax, its suffix value S is as shown in formula 2.
  • the suffix code is a binary string of S, and the length is R.
  • the attribute value Ref is greater than or equal to cMax, there is no suffix code.
  • the binary code stream after the attribute value binarization is sequentially sent to the arithmetic coding engine in the order of the position information after the position encoding for compression coding, and finally the compressed code stream is obtained.
  • the cutoff Rice threshold cMax the Rice parameter R can be set.
  • the threshold value of the truncated Rice code and/or the Rice parameter are written into the header information of the arithmetic-encoded bitstream for use by the decoder.
  • the target binarization method is an exponential Golomb code encoding method.
  • the exponential Golomb code coding method can also be used for coding.
  • the exponential Golomb code consists of a prefix and a suffix. Both the prefix and the suffix depend on the order k of the exponential Golomb code.
  • the k-order exponential Golomb code representing the non-negative integer attribute N can be generated by the following steps.
  • the coding method of the first-order exponential Golomb code is as follows:
  • the prefix is composed of m consecutive 0s and a 1
  • the suffix is composed of m+k, which is the binary representation of X-2k (2m-1). Accordingly, the binarization of attributes can be realized. Then the binary code stream after attribute binarization is sequentially sent to the arithmetic coding engine in the order of the position information after position encoding for compression coding, and finally the compressed code stream is obtained.
  • the order of the Columbus code may be included in the header information of the foregoing code stream.
  • the order of the Columbus code may also be information preset by the encoding system and the decoding system. In this case, the header information of the code stream does not need to include the order of the Columbus code.
  • the header information of the code stream finally generated by the encoding system may contain indication information indicating the binarization method.
  • the coding system can use the probability model to arithmetic coding a binary attribute value.
  • a binary attribute value it may include N bits, where N is a positive integer greater than or equal to 1, and the coding system may perform S320 to perform arithmetic coding on it.
  • S320 Use at least one probability model to perform arithmetic coding on bits in a binary attribute value.
  • the header information of the code stream finally generated by the coding system may include an indication that the coding end uses multiple (ie, at least two) probability models for arithmetic coding. Encoding instructions.
  • the basic principle of arithmetic coding is: According to the probability of different symbol sequences that the source may find, the interval [0,1) is divided into non-overlapping sub-intervals, and the width of the sub-intervals is exactly the probability of each symbol sequence. In this way, the different symbol sequences sent by the source will correspond to each sub-interval one-to-one, so any real number in each sub-interval can be used to represent the corresponding symbol sequence, and this number is the code word corresponding to the symbol sequence. Obviously, the greater the probability of a sequence of symbols, the wider the corresponding sub-interval, and the number of bits used to express it decreases, so the corresponding codeword is shorter.
  • the binary attribute value is a sequence of symbols, and the probability of the bit value on each of the N bits can be described by a probability model.
  • all bits in a binary attribute value are arithmetically coded using the same probability model.
  • the same probability model is updated, and the updated probability model is used to perform arithmetic coding on the next one or more bits.
  • At least two probability models are used to respectively perform arithmetic coding on different bits in a binary attribute value.
  • the first N/2 bits are arithmetic coding using the first probability model
  • the last N/2 bits are arithmetic coding using the second probability model.
  • the first probability model is updated, and the updated first probability model is used for the next or next Perform arithmetic coding on multiple bits; after each or every multiple bits of the last N/2 bits, the second probability model is updated, and the updated second probability model is used to Arithmetic coding is performed on the next one or more bits.
  • M probability models can be used to determine the probability of the bit value of each bit, where N and M are both positive integers greater than or equal to 1, and M is less than or equal to N.
  • the same probability model is used to perform arithmetic decoding on the lowest 2 bits in the binary attribute value. In one example, arithmetic decoding is performed on the highest at least 2 bits in the binary attribute value using different probability models.
  • a bit-by-bit encoding method can be adopted, that is, different bits of a binary attribute value are arithmetic-encoded by using different probability models. Specifically, N probability models are used to perform arithmetic coding on N bits.
  • the same probability model may be used to perform arithmetic coding on the same bits.
  • the same probability model is used to perform arithmetic coding for the bits at the same position (for example, the second, or the second and third) of each binary attribute value.
  • the corresponding probability model is updated, and then the updated probability model is used to calculate the next one or more binary attribute values The bit at this position in is arithmetic coded.
  • the coding system can determine the probability model corresponding to the bit according to the bit. For example, if the N bits of the binary attribute value include the first part of bits, the encoding system can determine the first probability model corresponding to the first part of bits from the M probability models, and use the first probability model to compare the first part of bits. Encode. For another example, if the N bits of the binary attribute value include the second part of bits, the encoding system can determine the second probability model corresponding to the second part of the bits from the M probability models, and use the second probability model to compare the second Two parts of bits are encoded.
  • the arithmetic coding method uses at least two probabilities The model performs arithmetic coding on a binary attribute value, so that the probability of bit values on different bits can be determined more accurately.
  • the encoding system can also use the same probability model to encode multiple bits.
  • the first part of bits includes at least two bits
  • the first probability model is a probability model
  • the encoding system can use one probability model to encode at least two bits, thereby reducing the complexity of arithmetic coding.
  • the coding system can use a probability model to encode multiple low-order bits, which can reduce the complexity of arithmetic coding while reducing Impact on the accuracy of arithmetic coding.
  • different probability models can be used for arithmetic coding.
  • the binary attribute value is 0100, and the bit with the two "0"s on the right belongs to the low-order bit. You can use the same probability model to perform arithmetic coding on these two bits; the bit with the "01" on the left is the high-order bit Bits, you can use different probability models to encode these two bits.
  • the encoding system can also update the probability model corresponding to a bit according to the number of times that different bit values appear on the bit. For example, there are two bit values for the first bit, namely "0" and "1". If the bit value of the first bit of the current binary attribute value is "0", the coding system can update the first probability model and increase Increase the probability value of "0” and decrease the probability value of "1"; if the bit value of the first bit of the current binary attribute value is "1", the coding system can update the first probability model to increase the value of "1" Probability value, decrease the probability value of "0".
  • the probability model described above can be referred to as a "context probability model", which has the property of adaptive change.
  • the probability model in each embodiment of the present application may also be a fixed probability model, that is, the probability model does not change with changes in context.
  • the coding system can use the same initial probability model to perform arithmetic coding on the different bits in the binary attribute value, and The probability models corresponding to the different bits of the are updated respectively; the updated probability model is used to perform arithmetic coding on the corresponding bits.
  • the coding system can also use different initial probability models to arithmeticly encode different bits in the binary attribute value, and update the probability models corresponding to different bits in the binary attribute value; use the updated probability model to The bits are arithmetic coded.
  • the coding system can use the same update method to update the probability models corresponding to different bits in the binary attribute value respectively.
  • the encoding system may use different update methods to update the probability models corresponding to different bits in the binary attribute value respectively.
  • the different probability models mentioned above can be obtained by updating the same initial probability model, or can be derived from different initial probabilities The model is updated.
  • the different probability models may be updated according to the same update method or different update methods.
  • the code stream further includes first indication information, and the first indication information is used to indicate the arithmetic coding scheme of the binary attribute value.
  • the first indication information is used to indicate that the coding scheme of the attribute value is a direct coding scheme
  • the direct coding scheme refers to performing arithmetic using at least one probability model after binarizing the attribute value coding.
  • the direct coding scheme refers to performing arithmetic coding using multiple probability models after binarizing the attribute value.
  • the direct coding scheme may be the coding scheme described in the method 300 provided above.
  • the arithmetic coding scheme includes at least one of a direct coding scheme, a hierarchical coding scheme, and a Morton code-based predictive coding scheme, and different values of the first indication information are used to indicate different schemes.
  • the code stream may not include indication information for indicating the arithmetic coding scheme of the binary attribute value, but the codec end uses the same arithmetic coding scheme by default, for example, the direct coding scheme is used by default.
  • the encoding method provided by this application is described in detail above, and the reverse process of the decoding method and the encoding method is roughly the same.
  • the encoding system binarizes the attribute value based on the fixed-length code encoding method, and the two-decoding system can decode the binary attribute value based on the fixed-length code decoding method; for another example, the encoding system uses different bits of a binary attribute value Different probability models are encoded, the decoding system can use different probability models to decode different bits of a binary attribute value. Therefore, even if the processing procedures of the decoding system are not clearly stated in the above individual places, those skilled in the art can clearly understand the processing procedures of the decoding system based on the processing procedures of the encoding system.
  • Fig. 4 shows a schematic diagram of a point cloud attribute decoding method provided by the present application.
  • the method 400 includes:
  • S410 Use at least one probability model to perform arithmetic decoding on the attribute information in the code stream to obtain a binary attribute value.
  • S420 De-binarize the binary attribute value according to the binarization method corresponding to the binary attribute value to obtain the attribute value.
  • the decoding system first obtains the code stream, and then uses at least one probability model to perform arithmetic decoding on the attribute information in the code stream.
  • the specific decoding method refer to the corresponding decoding method in Table 1. For brevity, details are not repeated here.
  • S410 may include:
  • At least two probability models are used to perform arithmetic decoding on different bits in the code stream.
  • the method 400 may further include:
  • S410 may include:
  • S410 may include:
  • Arithmetic decoding is performed on the highest at least 2 bits in the binary attribute value using different probability models.
  • S410 may include:
  • the method 400 further includes:
  • the header information of the code stream includes first indication information, and the first indication information is used to indicate an arithmetic coding scheme of the binary attribute value.
  • different values of the first indication information are respectively used to indicate different arithmetic coding schemes.
  • the first indication information is used to indicate that the coding scheme of the attribute value is a direct coding scheme, and the direct coding scheme refers to performing binarization of the attribute value and then using at least one probability model. Arithmetic coding.
  • the direct coding scheme refers to performing arithmetic coding using multiple probability models after binarizing the attribute value.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of the binary attribute value.
  • the second indication information is used to indicate that the binary attribute value is one of fixed-length code, truncated Rice code, and exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code
  • the header information of the code stream further includes third indication information, which is used to indicate the bit depth of the fixed-length code.
  • the second indication information is used to indicate that the binary attribute value is a truncated Rice code
  • the header information of the code stream further includes fourth indication information, which is used to indicate the threshold value and/or the Rice parameter of the truncated Rice code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the header information of the code stream further includes fifth indication information, which is used to indicate the order of the exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the order of the exponential Golomb code is the default value.
  • the binary attribute value defaults to a fixed-length code
  • the header information of the code stream further includes third indication information for indicating the bit depth of the fixed-length code
  • the binary attribute value is a truncated Rice code by default, and the header information of the code stream further includes fourth indication information for indicating the threshold value and/or Rice parameter of the truncated Rice code; or,
  • the binary attribute value defaults to the exponential Golomb code, and the order of the exponential Golomb code is the default value, or the header information of the code stream further includes fifth indication information for indicating the order of the exponential Golomb code .
  • bitstream further includes sixth indication information, which is used to indicate that the same probability model or different probability models are used in different bits of the binary attribute value.
  • the probability model is a context probability model.
  • the method 400 further includes:
  • the probability model is updated based on the decoded bits.
  • the attribute value includes reflectivity.
  • the point cloud data is point cloud data obtained by the sensor on the mobile platform.
  • Fig. 5 is a schematic structural diagram of an encoding device provided.
  • the apparatus 500 shown in FIG. 5 includes a memory 510 and a processor 520.
  • the memory 510 can be used to store codes.
  • the processor 520 may be used to read the code in the memory 510 to perform the following operations: Binarize the attribute value in the point cloud data to obtain a binary attribute value, where the bit depth of the binary attribute value is N , N is a positive integer greater than or equal to 1; at least one probability model is used to perform arithmetic coding on the bits in the binary attribute value.
  • the using at least one probability model to perform arithmetic coding on the bits in the binary attribute value includes: using at least two probability models to perform arithmetic coding on different bits in the binary attribute value.
  • the processor 520 is further configured to perform arithmetic coding for the same bits in different binary attribute values using the same probability model.
  • the using at least one probability model to perform arithmetic coding on the bits in the binary attribute value includes: using the same probability model to perform arithmetic coding on the lowest two bits in the binary attribute value.
  • the using at least one probability model to perform arithmetic coding on the bits in the binary attribute value includes: using different probability models to perform arithmetic coding on the highest two bits in the binary attribute value.
  • the using at least one probability model to perform arithmetic coding on the bits in the binary attribute value includes: using different probability models to perform arithmetic coding on different bits in the binary attribute value.
  • the processor 520 is further configured to execute: generating a code stream including the coding result of the arithmetic coding.
  • the header information of the code stream includes first indication information, and the first indication information is used to indicate a coding scheme of the attribute value.
  • different values of the first indication information are respectively used to indicate different coding schemes.
  • the first indication information is used to indicate that the coding scheme of the attribute value is a direct coding scheme, and the direct coding scheme refers to performing binarization of the attribute value and then using at least one probability model. Arithmetic coding.
  • the direct coding scheme refers to performing arithmetic coding with multiple probability models after binarizing the attribute value.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of the binary attribute value.
  • the second indication information is used to indicate that the binary attribute value is one of fixed-length code, truncated Rice code, and exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code; the header information of the code stream further includes third indication information that is used to indicate the bit depth of the fixed-length code.
  • the second indication information is used to indicate that the binary attribute value is a truncated Rice code;
  • the header information of the code stream further includes fourth indication information that is used to indicate the threshold of the truncated Rice code Value and/or Rice parameter.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the header information of the code stream further includes fifth indication information that is used to indicate the order of the exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code; the order of the exponential Golomb code is a default value.
  • the binary attribute value defaults to a fixed-length code
  • the header information of the code stream further includes third indication information for indicating the bit depth of the fixed-length code
  • the binary attribute value is a truncated Rice code by default, and the header information of the code stream further includes fourth indication information for indicating the threshold value and/or Rice parameter of the truncated Rice code; or,
  • the binary attribute value defaults to the exponential Golomb code, and the order of the exponential Golomb code is the default value, or the header information of the code stream further includes fifth indication information for indicating the order of the exponential Golomb code .
  • the code stream further includes sixth indication information, which is used to indicate bits that use the same probability model or use different probability models in the binary attribute value.
  • the probability model is a context probability model.
  • the method further includes: updating the probability model based on the encoded bits.
  • the using at least two probability models to perform arithmetic coding on different bits in the binary attribute value includes: using the same initial probability model to perform arithmetic coding on different bits in the binary attribute value; The probability models corresponding to different bits in the binary attribute value are respectively updated; the updated probability model is used to perform arithmetic coding on the corresponding bits.
  • said using at least two probability models to perform arithmetic coding on different bits in the binary attribute value includes: using different initial probability models to perform arithmetic coding on different bits in the binary attribute value, The probability models corresponding to different bits in the binary attribute value are respectively updated; the updated probability model is used to perform arithmetic coding on the corresponding bits.
  • the respectively updating the probability models corresponding to different bits in the binary attribute value includes: adopting the same update method to perform respectively on the probability models corresponding to different bits in the binary attribute value Update.
  • the respectively updating the probability models corresponding to different bits in the binary attribute value includes: adopting different update methods to perform respectively on the probability models corresponding to different bits in the binary attribute value Update.
  • the attribute value includes reflectivity.
  • the point cloud data is point cloud data obtained by the sensor on the mobile platform.
  • the processor 520 may also be used to read the code in the memory 510 to perform the following operations: Binarize the attribute values in the point cloud data to obtain Binary attribute value, the bit depth of the binary attribute value is N bits, N is a positive integer greater than or equal to 1, and the N bits include a first part of bits; according to the first part of bits, M A first probability model is determined in the probability model, where M is a positive integer greater than or equal to 1, and M is less than or equal to N; the first probability model is used to encode the first part of bits.
  • the first part of bits includes at least two bits.
  • the first partial bits are low-order bits of the binary attribute value.
  • the first part of bits is 1 bit.
  • the value of the first partial bit is the first partial bit value
  • the processor 520 is further configured to execute: update the first probability model according to the first partial bit value.
  • the N bits include a second partial bit; the processor 520 is further configured to execute: use a second probability model to encode the second partial bit, the second probability model and The first probability model is different.
  • the value of the second partial bit is a second bit value
  • the processor 520 is further configured to execute: update the second probability model according to the second partial bit value.
  • the first probability model and the second probability model are updated from the same or different initial probability models.
  • the first probability model and the second probability model are updated according to the same update method or different update methods.
  • the processor 520 is further configured to execute: generating a code stream including the coding result of the arithmetic coding.
  • the header information of the code stream includes first indication information, and the first indication information is used to indicate a coding scheme of the attribute value.
  • different values of the first indication information are respectively used to indicate different coding schemes.
  • the first indication information is used to indicate that the coding scheme of the attribute value is a direct coding scheme, and the direct coding scheme refers to performing binarization of the attribute value and then using at least one probability model. Arithmetic coding.
  • the direct coding scheme refers to performing arithmetic coding using multiple probability models after binarizing the attribute value.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of the binary attribute value.
  • the second indication information is used to indicate that the binary attribute value is one of fixed-length code, truncated Rice code, and exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code; the header information of the code stream further includes third indication information that is used to indicate the bit depth of the fixed-length code.
  • the second indication information is used to indicate that the binary attribute value is a truncated Rice code;
  • the header information of the code stream further includes fourth indication information that is used to indicate the threshold of the truncated Rice code Value and/or Rice parameter.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the header information of the code stream further includes fifth indication information that is used to indicate the order of the exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code; the order of the exponential Golomb code is a default value.
  • the binary attribute value defaults to a fixed-length code
  • the header information of the code stream further includes third indication information for indicating the bit depth of the fixed-length code
  • the binary attribute value is a truncated Rice code by default, and the header information of the code stream further includes fourth indication information for indicating the threshold value and/or Rice parameter of the truncated Rice code; or,
  • the binary attribute value defaults to the exponential Golomb code, and the order of the exponential Golomb code is the default value, or the header information of the code stream further includes fifth indication information for indicating the order of the exponential Golomb code .
  • the code stream further includes sixth indication information, which is used to indicate bits that use the same probability model or use different probability models in the binary attribute value.
  • the probability model is a context probability model.
  • the attribute value includes reflectivity.
  • the point cloud data is point cloud data obtained by the sensor on the mobile platform.
  • Fig. 6 is a schematic structural diagram of a decoding device provided by the present application.
  • the apparatus 600 in FIG. 6 includes a memory 610 and a processor 620.
  • the memory 610 can be used to store codes.
  • the processor 620 may be configured to read the code in the memory to perform the following operations: use at least one probability model to arithmetically decode the attribute information in the code stream to obtain a binary attribute value; and according to the binary attribute value corresponding to the binary attribute value
  • the transformation method debinarizes the binary attribute value to obtain the attribute value.
  • the using at least one probability model to perform arithmetic decoding on the bits in the code stream includes: using at least two probability models to perform arithmetic decoding on different bits in the code stream.
  • the processor 620 is further configured to: use the same probability model to perform arithmetic decoding on the same bits in different binary attribute values in the code stream.
  • the using at least one probability model to perform arithmetic decoding on the bits in the bitstream includes: using the same probability model to perform arithmetic decoding on the lowest two bits in the binary attribute value.
  • the using at least one probability model to perform arithmetic decoding on the bits in the bitstream includes: using different probability models to perform arithmetic decoding on the highest two bits in the binary attribute value.
  • the using at least one probability model to perform arithmetic decoding on the bits in the bitstream includes: using different probability models to perform arithmetic decoding on different bits in the binary attribute value.
  • the processor 620 is further configured to receive a code stream including the attribute information.
  • the header information of the bitstream includes first indication information, and the first indication information is used to indicate a decoding scheme of the attribute value.
  • different values of the first indication information are respectively used to indicate different decoding schemes.
  • the first indication information is used to indicate that the decoding scheme of the attribute value is a direct decoding scheme
  • the direct decoding scheme refers to performing binarization of the attribute value and then using at least one probability model. Arithmetic decoding.
  • the direct decoding scheme refers to arithmetic decoding using multiple probability models after binarizing the attribute value.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of the binary attribute value.
  • the second indication information is used to indicate that the binary attribute value is one of fixed-length code, truncated Rice code, and exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code; the header information of the code stream further includes third indication information that is used to indicate the bit depth of the fixed-length code.
  • the second indication information is used to indicate that the binary attribute value is a truncated Rice code;
  • the header information of the code stream further includes fourth indication information that is used to indicate the threshold of the truncated Rice code Value and/or Rice parameter.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the header information of the code stream further includes fifth indication information that is used to indicate the order of the exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code; the order of the exponential Golomb code is a default value.
  • the binary attribute value defaults to a fixed-length code
  • the header information of the code stream further includes third indication information for indicating the bit depth of the fixed-length code
  • the binary attribute value is a truncated Rice code by default, and the header information of the code stream further includes fourth indication information for indicating the threshold value and/or Rice parameter of the truncated Rice code; or,
  • the binary attribute value defaults to the exponential Golomb code, and the order of the exponential Golomb code is the default value, or the header information of the code stream further includes fifth indication information for indicating the order of the exponential Golomb code .
  • bitstream further includes sixth indication information, which is used to indicate that the same probability model or different probability models are used in different bits of the binary attribute value.
  • the probability model is a context probability model.
  • the processor 620 is further configured to perform: updating the probability model based on the decoded bits.
  • the using at least two probability models to perform arithmetic decoding on different bits in the binary attribute value includes: using the same initial probability model to perform arithmetic decoding on different bits in the binary attribute value, The probability models corresponding to different bits in the binary attribute value are respectively updated; the updated probability model is used to perform arithmetic decoding on the corresponding bits.
  • said using at least two probability models to perform arithmetic decoding on different bits in the binary attribute value includes: using different initial probability models to perform arithmetic decoding on different bits in the binary attribute value, The probability models corresponding to different bits in the binary attribute value are respectively updated; the updated probability model is used to perform arithmetic decoding on the corresponding bits.
  • the respectively updating the probability models corresponding to different bits in the binary attribute value includes: adopting the same update method to perform respectively on the probability models corresponding to different bits in the binary attribute value Update.
  • the respectively updating the probability models corresponding to different bits in the binary attribute value includes: adopting different update methods to perform respectively on the probability models corresponding to different bits in the binary attribute value Update.
  • the attribute value includes reflectivity.
  • the point cloud data is point cloud data obtained by the sensor on the mobile platform.
  • the processor 620 may also be used to read the code in the memory 610 to perform the following operations: perform arithmetic decoding on the attribute information in the code stream to obtain binary attributes Value, the bit depth of the binary attribute value is N bits, N is a positive integer greater than or equal to 1, the N bits include a first part of bits, and the first part of bits adopts the first probability model
  • the first probability model is determined from M probability models, M is a positive integer greater than or equal to 1, and M is less than or equal to N; according to the binary attribute value corresponding to the binary value
  • the transformation method debinarizes the binary attribute value to obtain the attribute value.
  • the first part of bits includes at least two bits.
  • the first partial bits are low-order bits of the binary attribute value.
  • the first part of bits is 1 bit.
  • the value of the first partial bit is the first partial bit value
  • the processor 620 is further configured to execute: update the first probability model according to the first partial bit value.
  • the N bits include a second partial bit; the second partial bit is obtained by decoding using a second probability model, and the second probability model is different from the first probability model.
  • the value of the second partial bit is a second bit value
  • the processor 620 is further configured to execute: updating the second probability model according to the second partial bit value.
  • the first probability model and the second probability model are updated from the same or different initial probability models.
  • the first probability model and the second probability model are updated according to the same update method or different update methods.
  • the processor 620 is further configured to execute: receiving a code stream including the attribute information.
  • the header information of the bitstream includes first indication information, and the first indication information is used to indicate a decoding scheme of the attribute value.
  • different values of the first indication information are respectively used to indicate different decoding schemes.
  • the first indication information is used to indicate that the decoding scheme of the attribute value is a direct decoding scheme
  • the direct decoding scheme refers to performing binarization of the attribute value and then using at least one probability model. Arithmetic decoding.
  • the direct decoding scheme refers to performing arithmetic decoding with multiple probability models after binarizing the attribute value.
  • the header information of the code stream includes second indication information, and different values of the second indication information are used to indicate different types of the binary attribute value.
  • the second indication information is used to indicate that the binary attribute value is one of fixed-length code, truncated Rice code, and exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is a fixed-length code; the header information of the code stream further includes third indication information that is used to indicate the bit depth of the fixed-length code.
  • the second indication information is used to indicate that the binary attribute value is a truncated Rice code;
  • the header information of the code stream further includes fourth indication information that is used to indicate the threshold of the truncated Rice code Value and/or Rice parameter.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code
  • the header information of the code stream further includes fifth indication information that is used to indicate the order of the exponential Golomb code.
  • the second indication information is used to indicate that the binary attribute value is an exponential Golomb code; the order of the exponential Golomb code is a default value.
  • the binary attribute value defaults to a fixed-length code
  • the header information of the code stream further includes third indication information for indicating the bit depth of the fixed-length code
  • the binary attribute value is a truncated Rice code by default, and the header information of the code stream further includes fourth indication information for indicating the threshold value and/or Rice parameter of the truncated Rice code; or,
  • the binary attribute value defaults to the exponential Golomb code, and the order of the exponential Golomb code is the default value, or the header information of the code stream further includes fifth indication information for indicating the order of the exponential Golomb code .
  • bitstream further includes sixth indication information, which is used to indicate bits that use the same probability model or use different probability models in the binary attribute value.
  • the probability model is a context probability model.
  • the attribute value includes reflectivity.
  • the point cloud data is point cloud data obtained by the sensor on the mobile platform.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)), etc.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

提供了一种点云属性编码方法,包括:对点云数据中的属性值进行二值化,得到二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数;采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码。上述方法通过对点云数据中的属性信息进行二值化,并对二值化的结果进行算术编码,避免了使用层次编码方案对属性信息进行编码和解码,从而减小了时间开销。

Description

点云属性编码方法和装置以及点云属性解码方法和装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及数据处理领域,并且更为具体地,涉及一种点云属性编码方法和装置,以及一种点云属性解码方法和装置。
背景技术
点云是三维物体或三维场景的一种表现形式,是由空间中一组无规则分布的、表达三维物体或三维场景的空间结构和表面属性的离散点所构成。为了减少点云数据存储和传输时所占用的带宽,需要对点云数据进行编码压缩。一个点云数据通常由位置信息和属性信息构成,位置信息用于描述该点云数据所在位置,例如三维坐标;属性信息用于描述该点云数据的属性,例如颜色和反射率。
在点云编码压缩过程中对位置信息的处理通常与对属性信息的处理分开进行。位置信息的处理过程包括:对坐标进行量化;去除坐标中的重复坐标;对处理后的坐标进行八叉树编码;根据八叉树编码后的坐标的顺序对属性信息进行重新排序,并生成层次编码方案。属性信息的处理过程包括:对属性信息进行属性转换,例如,从RGB格式转换为YCbCr格式;接着根据层次编码方案对属性转换后的属性信息进行预测编码,生成残差;对残差进行量化。最后对经过八叉树编码的位置信息和经过量化的残差进行算术编码,生成码流。
上述编码流程需要多次遍历全部或部分点云数据,从而带来了较大的时间开销。解码流程与编码流程的逆过程大致相同,同样存在时间开销较大的问题。
发明内容
本申请提供了一种点云属性编码方法和装置,以及一种点云属性解码方 法和装置,通过对点云数据中的属性信息进行二值化,并对二值化的结果进行算术编码,避免了使用层次编码方案对属性信息进行编码和解码,从而减小了时间开销。
第一方面,提供了一种点云属性编码方法,包括:对点云数据中的属性值进行二值化,得到二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数;采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码。
第二方面,提供了一种点云属性解码方法,包括:采用至少一个概率模型对码流中的比特位进行算术解码,得到二进制属性值;根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
第三方面,提供了另一种点云属性编码方法,包括:对点云数据中的属性值进行二值化,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位;根据所述第一部分比特位从M个概率模型中确定第一概率模型,M为大于或等于1的正整数,且,M小于或等于N;使用所述第一概率模型对所述第一部分比特位进行编码。
第四方面,提供了另一种点云属性解码方法,包括:对码流中的属性信息进行算术解码,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位,所述第一部分比特位是采用第一概率模型进行解码得到的,所述第一概率模型是从M个概率模型中确定出来的,M为大于或等于1的正整数,且,M小于或等于N;根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
第五方面,提供一种点云属性编码装置,所述装置用于执行上述第一方面中的方法。
第六方面,提供一种点云属性编码装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第一方面的方法。
第七方面,提供一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第一方面的方法。
第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第一方面的方法。具体地,所述计算机可以为上述点云属性编码装置。
第九方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第一方面的方法。具体地,所述计算机可以为上述点云属性编码装置。
第十方面,提供一种点云属性解码装置,所述装置用于执行上述第二方面中的方法。
第十一方面,提供一种点云属性解码装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第二方面的方法。
第十二方面,提供一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第二方面的方法。
第十三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第二方面的方法。具体地,所述计算机可以为上述点云属性解码装置。
第十四方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第二方面的方法。具体地,所述计算机可以为上述点云属性解码装置。
第十五方面,提供一种点云属性编码装置,所述装置用于执行上述第三方面中的方法。
第十六方面,提供一种点云属性编码装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第三方面的方法。
第十七方面,提供一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第三方面的方法。
第十八方面,提供一种计算机可读存储介质,其上存储有计算机程序, 所述计算机程序被计算机执行时使得所述计算机实现第三方面的方法。具体地,所述计算机可以为上述点云属性编码装置。
第十九方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第三方面的方法。具体地,所述计算机可以为上述点云属性编码装置。
第二十方面,提供一种点云属性解码装置,所述装置用于执行上述第四方面中的方法。
第二十一方面,提供一种点云属性解码装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第四方面的方法。
第二十二方面,提供一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第四方面的方法。
第二十三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得所述计算机实现第四方面的方法。具体地,所述计算机可以为上述点云属性解码装置。
第二十四方面,提供一种包含指令的计算机程序产品,所述指令被计算机执行时使得所述计算机实现第四方面的方法。具体地,所述计算机可以为上述点云属性解码装置。
附图说明
图1是本申请提供的一种编码流程的示意图。
图2是本申请提供的一种编码流程的示意图。
图3是本申请提供的一种点云属性编码方法的示意图。
图4是本申请提供的一种点云属性解码方法的示意图。
图5是本申请提供的一种编码装置的示意图。
图6是本申请提供的一种解码装置的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
图1示出了本申请提供的一种编码流程的示意图。
编码系统对输入的点云数据中的位置信息和属性信息分别进行编码。该点云数据可以是传感器(例如激光雷达)在移动平台上所获取到的点云数据。
对于位置信息,在一个示例中,对位置信息进行量化,例如,对坐标值进行取整处理。可以选择对量化后的坐标先进行去除重复坐标处理再进行位置编码,也可以直接对量化后的坐标进行位置编码,上述位置编码例如是八叉树编码。经过位置编码后的位置信息的顺序发生了变化。
对于属性信息,可以对属性信息进行属性转换后在进行属性编码,也可以直接对属性信息进行编码。其中,若执行了去除重复坐标处理,则在属性编码过程中需要进行属性转换,例如,将合并的坐标对应的属性信息进行合并;若未执行去除重复坐标处理,则可以直接对属性信息进行编码。随后按照位置信息的顺序依次对属性信息进行属性编码,上述属性编码例如是对属性信息进行二值化处理,即,将属性信息的值转换为二进制码。
随后,在算术编码引擎中对经过位置编码的位置信息和经过属性编码的属性信息进行算术编码(即,压缩编码),最终得到压缩编码后的码流。
点云数据的解码流程与编码流程的逆过程大致相同。图2示出了本申请提供的一种解码流程的示意图。
解码系统对获取输入的码流后,首先进行算术解码,得到待解码的位置信息和待解码的属性信息。解码系统对待解码的位置信息和待解码的属性信息分别进行解码。
解码系统首先进行位置解码,得到量化的位置信息,随后对该量化的位置信息进行逆量化处理,得到位置信息。
在获取量化的位置信息后,解码系统即可按照量化的位置信息的顺序进行属性解码。例如,对待解码的属性信息解码得到包含属性信息的二进制码,随后,根据编码系统使用的二值化方法对二进制码进行解码,得到属性信息。其中,解码系统可以根据码流的头信息中的指示信息确定编码系统使用的二值化方法,也可以根据解码系统中预设的信息确定编码系统使用的二值化方法。
最后,将上述解码得到的位置信息和属性信息合并后即可得到点云数据。
在本申请提供的编码系统中,通过二值化方法对属性信息进行处理,无需生成层次编码方案,即,无需多次遍历全部或部分点云数据,从而减小了编码过程中的时间开销。类似地,在本申请提供的编码系统中,通过二值化方法的逆过程重建属性信息,无需基于层次编码方案重建属性信息,即,无需多次遍历全部或部分点云数据,从而减小了解码过程中的时间开销。
下面,将详细描述本申请提供的基于二值化方法进行编码和解码的过程。
图3示出了本申请提供的一种点云属性编码方法。该方法300包括:
S310,对点云数据中的属性值进行二值化,生成二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数。
属性值即上文所述的属性信息,例如,属性值为反射率的值。属性值可以是经过属性转换后得到的值,也可以是未经过属性转换的值。二值化处理即将非二进制数值转换为二进制数值。
编码系统可以根据实际情况选择目标二值化方法,例如,若解码系统仅支持定长码,则编码系统可以选择定长码编码方法作为目标二值化方法;若解码系统支持定长码编码方法、截断莱斯码编码和指数哥伦布码,则编码系统可以选择一个编码性能较好的二值化方法作为目标二值化方法。需要说明的是,上述三种方法仅是举例说明,适用于本申请的二值化方法不限于此。
一个示例中,编码系统和解码系统默认使用同一个二值化方法,则编码系统无需在码流中指示编码系统使用的哪个二值化方法。
一个示例中,编码系统和解码系统未约定使用哪种二值化方法,则编码系统需要在码流中指示采用的哪种二值化方法。一个示例中,码流的头信息包括第二指示信息,该第二指示信息的不同取值用于指示二进制属性值的不同类型。例如,第二指示信息用于指示二进制属性值为定长码,或者用于指示二进制属性值为截断莱斯码,或者用于指示二进制属性值为指数哥伦布码。
由上可知,本申请提供的方法300通过对点云数据中的属性信息进行二值化,并对二值化的结果进行算术编码,避免了使用层次编码方案对属性信息进行编码和解码,从而减小了时间开销。
下面,将分三种情况对上述二值化处理的过程进行介绍。
情况一,目标二值化方法为定长码编码方法。
定长码编码方法是一种将属性值转换为固定长度的二进制码的方法,该 固定长度即二进制码所包含的比特位的数量,也可称为比特深度,比特深度的值N为大于或等于1的正整数,例如,N可以等于8或10或12。具体的方法可以参考现有技术中的处理方法,为了简洁,在此不再赘述。一个示例中,比特深度N可以写入算术编码后的码流的头信息中供解码端使用。
情况二,目标二值化方法为截断莱斯码编码方法。
对属性值的二值化,还可以采用截断莱斯码编码方法。设门限值为cMax,莱斯参数为R,属性值为Ref。截断莱斯码由前缀码和后缀码串联而成,前缀值P的计算方法如式1所示。
P=Ref>>R               式1
其中,“>>”表示右移。若P小于值(cMax>>R),则前缀码由P个1和一个0组成,长度为P+1;若P大于等于值(cMax>>R),则前缀码由(cMax>>R)个1组成,长度为(cMax>>R)。当属性值Ref小于cMax时,其后缀值S如式2所示。
S=Ref-(P<<R)              式2
其中,“<<”表示左移。后缀码为S的二元化串,长度为R。当属性数值Ref大于等于cMax时,无后缀码。接着将属性值二值化后的二进制码流按照位置编码后位置信息的顺序依次送入算术编码引擎中进行压缩编码,最终得到压缩编码后的码流。在这里关于截断莱斯的门限值cMax,莱斯参数R可以设定。
一个示例中,截断莱斯码的门限值和/或莱斯参数写入算术编码后的码流的头信息中供解码端使用。
情况三,目标二值化方法为指数哥伦布码编码方法。
对属性值的二值化,还可以采用指数哥伦布码编码方法进行编码。指数哥伦布码由前缀和后缀两部分组成,前缀和后缀都依赖于指数哥伦布码的阶数k。表示非负整数属性N的k阶指数哥伦布码可用如下步骤生成。
①将数字X以二进制形式写出,去掉最低的k个比特位,之后加1。
②计算留下的比特位数,将此数减一,即是需要增加的前缀零的个数。
③将步骤①中去掉的最低k个比特位补回比特串尾部。
例如,反射率的数值(即,属性值)为4时,一阶指数哥伦布码编码方法如下:
①4的二进制表示为100,去掉最低1个比特位0变为10,加1后变为 11。
②11的比特数为2,因此前缀中0的个数为1。
③在比特串最低比特位补上步骤①中去掉的0,最终码字为0110。
对于k阶哥伦布码,前缀由m个连续的0和一个1构成,后缀由m+k构成,是X-2k(2m-1)的二进制表示。据此即可实现对属性的二值化。接着将属性二值化后的二进制码流按照位置编码后位置信息的顺序依次送入算术编码引擎中进行压缩编码,最终得到压缩编码后的码流。可选地,哥伦布码的阶数可以包含在上述码流的头信息中。可选地,哥伦布码的阶数也可以是编码系统和解码系统预设的信息,此时,码流的头信息中无需包含哥伦布码的阶数。
需要说明的是,上述三种二值化方法仅是举例说明,适用于本申请的二值化方法不限于此。在编码系统最终生成的码流的头信息中,可以包含指示二值化方法的指示信息。
属性值二值化完成后,编码系统可以采用概率模型对一个二进制属性值进行算术编码。对于一个二进制属性值,其可以包含N个比特位,N为大于或等于1的正整数,编码系统可以执行S320对其进行算术编码。
S320,采用至少一个概率模型对一个二进制属性值中的比特位进行算术编码。
在一个示例中,若采用至少两个概率模型进行算术编码,则在编码系统最终生成的码流的头信息中,可以包含指示编码端使用了多个(即,至少两个)概率模型进行算术编码的指示信息。
算术编码的基本原理是:根据信源可能发现的不同符号序列的概率,把区间[0,1)划分为互不重叠的子区间,子区间的宽度恰好是各符号序列的概率。这样信源发出的不同符号序列将与各子区间一一对应,因此每个子区间内的任意一个实数都可以用来表示对应的符号序列,这个数就是该符号序列所对应的码字。显然,一串符号序列发生的概率越大,对应的子区间就越宽,要表达它所用的比特数就减少,因而相应的码字就越短。
二进制属性值即为一种符号序列,N个比特位中各个比特位上的比特值出现的概率可以通过概率模型来描述。
在一个示例中,对一个二进制属性值中的所有比特位均采用同一个概率模型进行算术编码。可选地,在每编码完一个或多个比特位后,都对同一个 概率模型进行更新,以及采用该更新的概率模型对下一个或多个比特位进行算术编码。
在一个示例中,采用至少两个概率模型分别对一个二进制属性值中的不同比特位进行算术编码。例如,在二进制属性值的N个比特位中,前N/2个比特位采用第一概率模型进行算术编码,后N/2个比特位采用第二概率模型进行算术编码。可选地,在每编完该前N/2个比特位中的每个或每多个比特位后,对该第一概率模型进行更新,采用更新后的第一概率模型对下一个或下多个比特位进行算术编码;在每编完该后N/2个比特位中的每个或每多个比特位后,对该第二概率模型进行更新,采用更新后的第二概率模型对下一个或下多个比特位进行算术编码。
对于二进制属性值的N个比特位,可以采用M个概率模型确定各个比特位的比特值的概率,其中,N和M均为大于或等于1的正整数,且M小于或等于N。
在一个示例中,采用同一个概率模型对二进制属性值中最低的至少2个比特位进行算术解码。在一个示例中,采用不同概率模型对二进制属性值中最高的至少2个比特位进行算术解码。
在一个示例中,可以采用的逐比特编码方法,即,对一个二进制属性值的不同的比特位采用不同的概率模型进行算术编码。具体的,对N个比特位采用N个概率模型进行算术编码。
在一个示例中,对于不同的二进制属性值,可以采用相同的概率模型对相同的比特位进行算术编码。例如,对每个二进制属性值的相同位置(例如第二个,或者,第二个和第三个)处的比特位,采用相同的概率模型进行算术编码。可选地,在每编完1个或多个二进制属性值的一个位置处的比特位之后,对对应的概率模型进行更新,然后采用更新后的概率模型对下一个或下多个二进制属性值中的该位置处的比特位进行算术编码。
编码系统可以根据比特位确定该比特位对应的概率模型。例如,二进制属性值的N个比特位包括第一部分比特位,则编码系统可以从M个概率模型中确定与第一部分比特位对应的第一概率模型,并使用第一概率模型对第一部分比特位进行编码。又例如,二进制属性值的N个比特位包括第二部分比特位,则编码系统可以从M个概率模型中确定与第二部分比特位对应的第二概率模型,并使用第二概率模型对第二部分比特位进行编码。
由于相同的比特值在不同比特位上出现的概率不同,相比于现有技术中仅使用一个概率模型对一个二进制属性值进行算术编码的方法,本申请提供的算术编码方法使用至少两个概率模型对一个二进制属性值进行算术编码,从而可以更加精确地确定不同比特位上比特值的概率。
可选地,编码系统也可以对多个比特位采用相同的概率模型进行编码。例如,第一部分比特位包括至少两个比特位,第一概率模型为一个概率模型,编码系统可以使用一个概率模型为至少两个比特位进行编码,从而可以减小算术编码的复杂度。
对于一个二进制属性值,由于低位比特位上不同比特值的概率相同或相近,因此,编码系统可以使用一个概率模型对多个低位比特进行编码,从而可以在减小算术编码的复杂度的同时降低对算术编码的精度的影响。对于高位比特位,可以采用不同的概率模型进行算术编码。
例如,二进制属性值为0100,右边两个“0”所在的比特位属于低位比特位,可以使用相同的概率模型对这两个比特位进行算术编码;左边的“01”所在的比特位为高位比特位,可以使用不同的概率模型对这两个比特位进行编码。
编码系统还可以根据一个比特位上不同比特值出现的次数更新该比特位对应的概率模型。例如,第一比特位存在两种比特值,分别为“0”和“1”,若当前二进制属性值的第一比特位的比特值为“0”,编码系统可以更新第一概率模型,增大“0”的概率值,减小“1”的概率值;若当前二进制属性值的第一比特位的比特值为“1”,编码系统可以更新第一概率模型,增大“1”的概率值,减小“0”的概率值。
上文所述的概率模型可以称为“上下文概率模型”,该概率模型具有适应性变化的性质。本申请各个实施例中的概率模型还可以是固定的概率模型,即,概率模型不随上下文的变化而改变。
若采用上下文概率模型对一个二进制属性值的不同比特位进行算术编码,则编码系统可以采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;采用更新后的概率模型对对应的比特位进行算术编码。
或者,编码系统也可以采用不同的初始概率模型对二进制属性值中的不同比特位进行算术编码,对二进制属性值中的不同比特位对应的概率模型分 别进行更新;采用更新后的概率模型对对应的比特位进行算术编码。
编码系统可以采用相同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。或者,编码系统可以采用不同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
上文所述的不同概率模型(例如上文提到的“第一概率模型”和“第二概率模型”)可以是由同一个初始概率模型进行更新得到的,也可以是由不同的初始概率模型进行更新得到的。此外,该不同概率模型可以是根据相同的更新方法或不同的更新方法更新得到的。
在一个示例中,码流中还包含第一指示信息,所述第一指示信息用于指示所述二进制属性值的算术编码方案。
可选地,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,该直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。可选地,所述直接编码方案指的是对所述属性值进行二值化后采用多种概率模型进行算术编码。例如,该直接编码方案可以是上述提供的方法300中所描述的编码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的算术编码方案。例如,算术编码方案包含直接编码方案、层次编码方案、基于莫顿码的预测编码方案中的至少一种,第一指示信息的不同取值分别用于指示其中的不同的方案。
在一个示例中,码流中也可以不包含用于指示二进制属性值的算术编码方案的指示信息,而是编解码端默认采用同一个算术编码方案,例如默认采用直接编码方案。
上文详细介绍了本申请提供的编码方法,解码方法与编码方法的逆过程大致相同。例如,编码系统基于定长码编码方法对属性值进行二值化,二解码系统可以基于定长码解码方法对二进制属性值进行解码;又例如,编码系统对一个二进制属性值的不同比特位采用不同的概率模型进行编码,则解码系统可以对一个二进制属性值的不同比特位采用不同的概率模型进行解码。因此,即使上文个别地方未明确写明解码系统的处理过程,本领域技术人员也可以基于编码系统的处理过程清楚地了解解码系统的处理过程。
图4示出了本申请提供的一种点云属性解码方法的示意图。该方法400包括:
S410,采用至少一个概率模型对码流中的属性信息进行算术解码,得到二进制属性值。
S420,根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
解码系统首选获取码流,随后采用至少一个概率模型对码流中的属性信息进行算术解码,具体的解码方法可参照表1对应的解码方法,为了简洁,在此不再赘述。
可选地,S410可以包括:
采用至少两个概率模型对码流中的不同比特位进行算术解码。
可选地,方法400还可以包括:
对码流中不同二进制属性值中的相同比特位,采用相同的概率模型进行算术解码。
可选地,S410可以包括:
采用同一个概率模型对二进制属性值中最低的至少2个比特位进行算术解码。
可选地,S410可以包括:
采用不同概率模型对二进制属性值中最高的至少2个比特位进行算术解码。
可选地,S410可以包括:
采用不同概率模型对一个二进制属性值中的不同比特位进行算术解码。
可选地,在S410之前,方法400还包括:
接收包括二进制属性值的码流。
可选地,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述二进制属性值的算术编码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的算术编码方案。
可选地,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
可选地,所述直接编码方案指的是对所述属性值进行二值化后采用多种概率模型进行算术编码。
可选地,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码;
所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
可选地,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
所述指数哥伦布码的阶数为默认值。
可选地,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述码流中还包括第六指示信息,用于指示所述二进制属性值的不同比特位中采用相同的概率模型或者采用不同的概率模型的比特位。
可选地,所述概率模型为上下文概率模型。
可选地,方法400还包括:
基于已解码的比特位对所述概率模型进行更新。
可选地,所述属性值包括反射率。
可选地,所述点云数据为传感器在移动平台上所获取到的点云数据。
上述各个可选的实施方式在方法300中均有对应的描述。
上文结合图1至图4,详细描述了本申请的方法实施例,下面结合图5 和图6,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是提供的一种编码装置的示意性结构图。图5所示的装置500包括:存储器510和处理器520。
存储器510可用于存储代码。处理器520可用于读取所述存储器510中的代码,以执行如下操作:对点云数据中的属性值进行二值化,得到二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数;采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码。
可选地,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码。
可选地,处理器520还用于执行:对不同二进制属性值中的相同比特位,采用相同的概率模型进行算术编码。
可选地,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术编码。
可选地,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术编码。
可选地,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:采用不同概率模型对所述二进制属性值中的不同比特位进行算术编码。
可选地,处理器520还用于执行:生成包括所述算术编码的编码结果的码流。
可选地,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的编码方案。
可选地,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
可选地,所述直接编码方案指的是对所述属性值进行二值化后采用多个 概率模型进行算术编码。
可选地,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码;所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
可选地,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述指数哥伦布码的阶数为默认值。
可选地,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
可选地,所述概率模型为上下文概率模型。
可选地,所述方法还包括:基于已编码的比特位对所述概率模型进行更新。
可选地,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码,包括:采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码;对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;采用更新后的概率模型对对应的比特位进行算术编码。
可选地,所述采用至少两个概率模型对所述二进制属性值中的不同比特 位进行算术编码,包括:采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;采用更新后的概率模型对对应的比特位进行算术编码。
可选地,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:采用相同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
可选地,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:采用不同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
可选地,所述属性值包括反射率。
可选地,所述点云数据为传感器在移动平台上所获取到的点云数据。
上文介绍了本申请提供的编码装置的一个实施例,处理器520还可用于读取所述存储器510中的代码,以执行如下操作:对点云数据中的属性值进行二值化,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位;根据所述第一部分比特位从M个概率模型中确定第一概率模型,M为大于或等于1的正整数,且,M小于或等于N;使用所述第一概率模型对所述第一部分比特位进行编码。
可选地,所述第一部分比特位包括至少两个比特位。
可选地,所述第一部分比特位为所述二进制属性值的低位比特位。
可选地,所述第一部分比特位为1个比特位。
可选地,所述第一部分比特位的值为第一部分比特值,所述处理器520还用于执行:根据所述第一部分比特值更新所述第一概率模型。
可选地,所述N个比特位包括第二部分比特位;所述处理器520还用于执行:使用第二概率模型对所述第二部分比特位进行编码,所述第二概率模型和所述第一概率模型不同。
可选地,所述第二部分比特位的值为第二比特值,所述处理器520还用于执行:根据所述第二部分比特值更新所述第二概率模型。
可选地,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
可选地,所述第一概率模型和所述第二概率模型是根据相同的更新方法 或不同的更新方法更新得到的。
可选地,所述处理器520还用于执行:生成包括所述算术编码的编码结果的码流。
可选地,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的编码方案。
可选地,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
可选地,所述直接编码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术编码。
可选地,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码;所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
可选地,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述指数哥伦布码的阶数为默认值。
可选地,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
可选地,所述概率模型为上下文概率模型。
可选地,所述属性值包括反射率。
可选地,所述点云数据为传感器在移动平台上所获取到的点云数据。
图6是本申请提供的一种解码装置的示意性结构图。图6的装置600包括:存储器610和处理器620。
存储器610可用于存储代码。处理器620可用于读取所述存储器中的代码,以执行如下操作:采用至少一个概率模型对码流中的属性信息进行算术解码,得到二进制属性值;根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
可选地,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:采用至少两个概率模型对所述码流中的不同比特位进行算术解码。
可选地,所述处理器620还用于:对所述码流中不同二进制属性值中的相同比特位,采用相同的概率模型进行算术解码。
可选地,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术解码。
可选地,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术解码。
可选地,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:采用不同概率模型对所述二进制属性值中的不同比特位进行算术解码。
可选地,所述处理器620还用于:接收包括所述属性信息的码流。
可选地,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的解码方案。
可选地,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术解码。
可选地,所述直接解码方案指的是对所述属性值进行二值化后采用多个 概率模型进行算术解码。
可选地,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码;所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
可选地,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述指数哥伦布码的阶数为默认值。
可选地,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述码流中还包括第六指示信息,用于指示所述二进制属性值的不同比特位中采用相同的概率模型或者采用不同的概率模型的比特位。
可选地,所述概率模型为上下文概率模型。
可选地,所述处理器620还用于执行:基于已解码的比特位对所述概率模型进行更新。
可选地,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术解码,包括:采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;采用更新后的概率模型对对应的比特位进行算术解码。
可选地,所述采用至少两个概率模型对所述二进制属性值中的不同比特 位进行算术解码,包括:采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;采用更新后的概率模型对对应的比特位进行算术解码。
可选地,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:采用相同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
可选地,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:采用不同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
可选地,所述属性值包括反射率。
可选地,所述点云数据为传感器在移动平台上所获取到的点云数据。
上文介绍了本申请提供的解码装置的一个实施例,处理器620还可用于读取所述存储器610中的代码,以执行如下操作:对码流中的属性信息进行算术解码,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位,所述第一部分比特位是采用第一概率模型进行解码得到的,所述第一概率模型是从M个概率模型中确定出来的,M为大于或等于1的正整数,且,M小于或等于N;根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
可选地,所述第一部分比特位包括至少两个比特位。
可选地,所述第一部分比特位为所述二进制属性值的低位比特位。
可选地,所述第一部分比特位为1个比特位。
可选地,所述第一部分比特位的值为第一部分比特值,所述处理器620还用于执行:根据所述第一部分比特值更新所述第一概率模型。
可选地,所述N个比特位包括第二部分比特位;所述第二部分比特位是采用第二概率模型解码得到的,所述第二概率模型和所述第一概率模型不同。
可选地,所述第二部分比特位的值为第二比特值,所述处理器620还用于执行:根据所述第二部分比特值更新所述第二概率模型。
可选地,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
可选地,所述第一概率模型和所述第二概率模型是根据相同的更新方法 或不同的更新方法更新得到的。
可选地,所述处理器620还用于执行:接收包括所述属性信息的码流。
可选地,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
可选地,所述第一指示信息的不同取值分别用于指示不同的解码方案。
可选地,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术解码。
可选地,所述直接解码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术解码。
可选地,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
可选地,所述第二指示信息用于指示所述二进制属性值为定长码;所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
可选地,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;所述指数哥伦布码的阶数为默认值。
可选地,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
可选地,所述码流中还包括第六指示信息,用于指示所述二进制属性值 中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
可选地,所述概率模型为上下文概率模型。
可选地,所述属性值包括反射率。
可选地,所述点云数据为传感器在移动平台上所获取到的点云数据。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (208)

  1. 一种点云属性编码方法,其特征在于,包括:
    对点云数据中的属性值进行二值化,得到二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数;
    采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码。
  2. 根据权利要求1所述的方法,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码。
  3. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    对不同二进制属性值中的相同比特位,采用相同的概率模型进行算术编码。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术编码。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术编码。
  6. 根据权利要求1至3中任一项所述的方法,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用不同概率模型对所述二进制属性值中的不同比特位进行算术编码。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
    生成包括所述算术编码的编码结果的码流。
  8. 根据权利要求7所述的方法,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
  9. 根据权利要求8所述的方法,其特征在于,所述第一指示信息的不同取值分别用于指示不同的编码方案。
  10. 根据权利要求7或8所述的方法,其特征在于,所述第一指示信息 用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
  11. 根据权利要求10所述的方法,其特征在于,所述直接编码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术编码。
  12. 根据权利要求6至11中任一项所述的方法,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  13. 根据权利要求12所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  14. 根据权利要求13所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  15. 根据权利要求13所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  16. 根据权利要求13所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  17. 根据权利要求13所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  18. 根据权利要求7所述的方法,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥 伦布码的阶数。
  19. 根据权利要求7至18中任一项所述的方法,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  20. 根据权利要求1至19中任一项所述的方法,其特征在于,所述概率模型为上下文概率模型。
  21. 根据权利要求1至20中任一项所述的方法,其特征在于,所述方法还包括:
    基于已编码的比特位对所述概率模型进行更新。
  22. 根据权利要求2至21中任一项所述的方法,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码,包括:
    采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码;
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术编码。
  23. 根据权利要求1至21中任一项所述的方法,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码,包括:
    采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术编码。
  24. 根据权利要求22或23所述的方法,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用相同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  25. 根据权利要求22或23所述的方法,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用不同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  26. 根据权利要求1至25中任一项所述的方法,其特征在于,所述属性值包括反射率。
  27. 根据权利要求1至26中任一项所述的方法,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  28. 一种点云属性解码方法,其特征在于,包括:
    采用至少一个概率模型对码流中的属性信息进行算术解码,得到二进制属性值;
    根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
  29. 根据权利要求28所述的方法,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用至少两个概率模型对所述码流中的不同比特位进行算术解码。
  30. 根据权利要求28或39所述的方法,其特征在于,所述方法还包括:
    对所述码流中不同二进制属性值中的相同比特位,采用相同的概率模型进行算术解码。
  31. 根据权利要求28至30中任一项所述的方法,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术解码。
  32. 根据权利要求28至31中任一项所述的方法,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术解码。
  33. 根据权利要求28至30中任一项所述的方法,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用不同概率模型对所述二进制属性值中的不同比特位进行算术解码。
  34. 根据权利要求28至33中任一项所述的方法,其特征在于,所述方法还包括:
    接收包括所述属性信息的码流。
  35. 根据权利要求34所述的方法,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
  36. 根据权利要求35所述的方法,其特征在于,所述第一指示信息的不同取值分别用于指示不同的解码方案。
  37. 根据权利要求34或35所述的方法,其特征在于,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述码流中的属性信息采用至少一个概率模型进行算术解码。
  38. 根据权利要求37所述的方法,其特征在于,所述直接解码方案指的是对所述码流中的属性值采用多个概率模型进行算术解码。
  39. 根据权利要求33至38中任一项所述的方法,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  40. 根据权利要求39所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  41. 根据权利要求40所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  42. 根据权利要求40所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  43. 根据权利要求40所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  44. 根据权利要求40所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  45. 根据权利要求34所述的方法,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指 示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  46. 根据权利要求34至45中任一项所述的方法,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值的不同比特位中采用相同的概率模型或者采用不同的概率模型的比特位。
  47. 根据权利要求28至46中任一项所述的方法,其特征在于,所述概率模型为上下文概率模型。
  48. 根据权利要求28至47中任一项所述的方法,其特征在于,所述方法还包括:
    基于已解码的比特位对所述概率模型进行更新。
  49. 根据权利要求29至48中任一项所述的方法,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术解码,包括:
    采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术解码。
  50. 根据权利要求28至48所述的方法,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术解码,包括:
    采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术解码。
  51. 根据权利要求49或50所述的方法,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用相同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  52. 根据权利要求49或50所述的方法,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用不同的更新方法,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  53. 根据权利要求28至52中任一项所述的方法,其特征在于,所述属性值包括反射率。
  54. 根据权利要求28至53中任一项所述的方法,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  55. 一种点云属性编码方法,其特征在于,包括:
    对点云数据中的属性值进行二值化,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位;
    根据所述第一部分比特位从M个概率模型中确定第一概率模型,M为大于或等于1的正整数,且,M小于或等于N;
    使用所述第一概率模型对所述第一部分比特位进行编码。
  56. 根据权利要求55所述的方法,其特征在于,所述第一部分比特位包括至少两个比特位。
  57. 根据权利要求56所述的方法,其特征在于,所述第一部分比特位为所述二进制属性值的低位比特位。
  58. 根据权利要求55所述的方法,其特征在于,所述第一部分比特位为1个比特位。
  59. 根据权利要求55至57中任一项所述的方法,其特征在于,所述第一部分比特位的值为第一部分比特值,所述方法还包括:
    根据所述第一部分比特值更新所述第一概率模型。
  60. 根据权利要求55所述的方法,其特征在于,所述N个比特位包括第二部分比特位;所述方法还包括:
    使用第二概率模型对所述第二部分比特位进行编码,所述第二概率模型和所述第一概率模型不同。
  61. 根据权利要求60所述的方法,其特征在于,所述第二部分比特位的值为第二比特值,所述方法还包括:
    根据所述第二部分比特值更新所述第二概率模型。
  62. 根据权利要求60所述的方法,其特征在于,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
  63. 根据权利要求62所述的方法,其特征在于,所述第一概率模型和所述第二概率模型是根据相同的更新方法或不同的更新方法更新得到的。
  64. 根据权利要求55至63中任一项所述的方法,其特征在于,所述方法还包括:
    生成包括所述算术编码的编码结果的码流。
  65. 根据权利要求64所述的方法,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
  66. 根据权利要求65所述的方法,其特征在于,所述第一指示信息的不同取值分别用于指示不同的编码方案。
  67. 根据权利要求64或65所述的方法,其特征在于,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
  68. 根据权利要求67所述的方法,其特征在于,所述直接编码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术编码。
  69. 根据权利要求64至68中任一项所述的方法,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  70. 根据权利要求69所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  71. 根据权利要求70所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  72. 根据权利要求70所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  73. 根据权利要求70所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  74. 根据权利要求70所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  75. 根据权利要求64至68中任一项所述的方法,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  76. 根据权利要求64至75中任一项所述的方法,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  77. 根据权利要求55至73中任一项所述的方法,其特征在于,所述概率模型为上下文概率模型。
  78. 根据权利要求55至77中任一项所述的方法,其特征在于,所述属性值包括反射率。
  79. 根据权利要求55至78中任一项所述的方法,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  80. 一种点云属性解码方法,其特征在于,包括:
    对码流中的属性信息进行算术解码,得到二进制属性值;所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位,所述第一部分比特位是采用第一概率模型进行解码得到的,所述第一概率模型是从M个概率模型中确定出来的,M为大于或等于1的正整数,且,M小于或等于N;
    根据所述二进制属性值对应的二值化方法对所述二进制属性值进行反二值化,得到属性值。
  81. 根据权利要求80所述的方法,其特征在于,所述第一部分比特位包括至少两个比特位。
  82. 根据权利要求81所述的方法,其特征在于,所述第一部分比特位 为所述二进制属性值的低位比特位。
  83. 根据权利要求80所述的方法,其特征在于,所述第一部分比特位为1个比特位。
  84. 根据权利要求80至82中任一项所述的方法,其特征在于,所述第一部分比特位的值为第一部分比特值,所述方法还包括:
    根据所述第一部分比特值更新所述第一概率模型。
  85. 根据权利要求80所述的方法,其特征在于,所述N个比特位包括第二部分比特位;所述第二部分比特位是采用第二概率模型解码得到的,所述第二概率模型和所述第一概率模型不同。
  86. 根据权利要求85所述的方法,其特征在于,所述第二部分比特位的值为第二比特值,所述方法还包括:
    根据所述第二部分比特值更新所述第二概率模型。
  87. 根据权利要求85所述的方法,其特征在于,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
  88. 根据权利要求87所述的方法,其特征在于,所述第一概率模型和所述第二概率模型是根据相同的更新方法或不同的更新方法更新得到的。
  89. 根据权利要求80至88中任一项所述的方法,其特征在于,所述方法还包括:
    接收包括所述属性信息的码流。
  90. 根据权利要求89所述的方法,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
  91. 根据权利要求90所述的方法,其特征在于,所述第一指示信息的不同取值分别用于指示不同的解码方案。
  92. 根据权利要求89或90所述的方法,其特征在于,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术解码。
  93. 根据权利要求92所述的方法,其特征在于,所述直接解码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术解码。
  94. 根据权利要求89至93中任一项所述的方法,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  95. 根据权利要求94所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  96. 根据权利要求95所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  97. 根据权利要求95所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  98. 根据权利要求95所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  99. 根据权利要求95所述的方法,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  100. 根据权利要求89至93中任一项所述的方法,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  101. 根据权利要求89至100中任一项所述的方法,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  102. 根据权利要求89至98中任一项所述的方法,其特征在于,所述概率模型为上下文概率模型。
  103. 根据权利要求89至102中任一项所述的方法,其特征在于,所述 属性值包括反射率。
  104. 根据权利要求89至103任一项所述的方法,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  105. 一种点云属性编码装置,其特征在于,包括:
    存储器,用于存储代码;
    处理器,用于读取所述存储器中的代码,以执行如下操作:
    对点云数据中的属性值进行二值化,得到二进制属性值,其中,所述二进制属性值的比特深度为N,N为大于或等于1的正整数;
    采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码。
  106. 根据权利要求105所述的装置,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码。
  107. 根据权利要求105或106所述的装置,其特征在于,所述处理器还用执行以下操作:
    对不同二进制属性值中的相同比特位,采用相同的概率模型进行算术编码。
  108. 根据权利要求105至107中任一项所述的装置,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术编码。
  109. 根据权利要求105至108中任一项所述的装置,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术编码。
  110. 根据权利要求105至107中任一项所述的装置,其特征在于,所述采用至少一个概率模型对所述二进制属性值中的比特位进行算术编码,包括:
    采用不同概率模型对所述二进制属性值中的不同比特位进行算术编码。
  111. 根据权利要求105至110中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    生成包括所述算术编码的编码结果的码流。
  112. 根据权利要求111所述的装置,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
  113. 根据权利要求112所述的装置,其特征在于,所述第一指示信息的不同取值分别用于指示不同的编码方案。
  114. 根据权利要求111或112所述的装置,其特征在于,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
  115. 根据权利要求114所述的装置,其特征在于,所述直接编码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术编码。
  116. 根据权利要求110至115中任一项所述的装置,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  117. 根据权利要求116所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  118. 根据权利要求117所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  119. 根据权利要求117所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  120. 根据权利要求117所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  121. 根据权利要求117所述的装置,其特征在于,所述第二指示信息 用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  122. 根据权利要求111所述的装置,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  123. 根据权利要求111至122中任一项所述的装置,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  124. 根据权利要求105至123中任一项所述的装置,其特征在于,所述概率模型为上下文概率模型。
  125. 根据权利要求105至124中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    基于已编码的比特位对所述概率模型进行更新。
  126. 根据权利要求106至125中任一项所述的装置,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码,包括:
    采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码;
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术编码。
  127. 根据权利要求105至125中任一项所述的装置,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术编码,包括:
    采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术编码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术编码。
  128. 根据权利要求126或127所述的装置,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用相同的更新装置,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  129. 根据权利要求126或127所述的装置,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用不同的更新装置,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  130. 根据权利要求105至129中任一项所述的装置,其特征在于,所述属性值包括反射率。
  131. 根据权利要求105至130中任一项所述的装置,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  132. 一种点云属性解码装置,其特征在于,包括:
    存储器,用于存储代码;
    处理器,用于读取所述存储器中的代码,以执行如下操作:
    采用至少一个概率模型对码流中的属性信息进行算术解码,得到二进制属性值;
    根据所述二进制属性值对应的二值化装置对所述二进制属性值进行反二值化,得到属性值。
  133. 根据权利要求132所述的装置,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用至少两个概率模型对所述码流中的不同比特位进行算术解码。
  134. 根据权利要求132或133所述的装置,其特征在于,所述处理器还用执行以下操作:
    对所述码流中不同二进制属性值中的相同比特位,采用相同的概率模型进行算术解码。
  135. 根据权利要求132至134中任一项所述的装置,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用同一个概率模型对所述二进制属性值中最低的至少2个比特位进行算术解码。
  136. 根据权利要求132至135中任一项所述的装置,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用不同概率模型对所述二进制属性值中最高的至少2个比特位进行算术解码。
  137. 根据权利要求132至134中任一项所述的装置,其特征在于,所述采用至少一个概率模型对码流中的比特位进行算术解码,包括:
    采用不同概率模型对所述二进制属性值中的不同比特位进行算术解码。
  138. 根据权利要求132至137中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    接收包括所述属性信息的码流。
  139. 根据权利要求138所述的装置,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
  140. 根据权利要求139所述的装置,其特征在于,所述第一指示信息的不同取值分别用于指示不同的解码方案。
  141. 根据权利要求138或139所述的装置,其特征在于,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述码流中的属性信息采用至少一个概率模型进行算术解码。
  142. 根据权利要求141所述的装置,其特征在于,所述直接解码方案指的是对所述码流中的属性值采用多个概率模型进行算术解码。
  143. 根据权利要求137至142中任一项所述的装置,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  144. 根据权利要求143所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  145. 根据权利要求144所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  146. 根据权利要求144所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门 限值和/或莱斯参数。
  147. 根据权利要求144所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  148. 根据权利要求144所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  149. 根据权利要求148所述的装置,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  150. 根据权利要求148至149中任一项所述的装置,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值的不同比特位中采用相同的概率模型或者采用不同的概率模型的比特位。
  151. 根据权利要求132至150中任一项所述的装置,其特征在于,所述概率模型为上下文概率模型。
  152. 根据权利要求132至150中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    基于已解码的比特位对所述概率模型进行更新。
  153. 根据权利要求133至152中任一项所述的装置,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术解码,包括:
    采用相同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术解码。
  154. 根据权利要求133至152所述的装置,其特征在于,所述采用至少两个概率模型对所述二进制属性值中的不同比特位进行算术解码,包括:
    采用不同的初始概率模型对所述二进制属性值中的不同比特位进行算术解码,
    对所述二进制属性值中的不同比特位对应的概率模型分别进行更新;
    采用更新后的概率模型对对应的比特位进行算术解码。
  155. 根据权利要求153或154所述的装置,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用相同的更新装置,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  156. 根据权利要求153或154所述的装置,其特征在于,所述对所述二进制属性值中的不同比特位对应的概率模型分别进行更新,包括:
    采用不同的更新装置,对所述二进制属性值中的不同比特位对应的概率模型分别进行更新。
  157. 根据权利要求133至156中任一项所述的装置,其特征在于,所述属性值包括反射率。
  158. 根据权利要求133至157中任一项所述的装置,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  159. 一种点云属性编码装置,其特征在于,包括:
    存储器,用于存储代码;
    处理器,用于读取所述存储器中的代码,以执行如下操作:
    对点云数据中的属性值进行二值化,得到二进制属性值,所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位;
    根据所述第一部分比特位从M个概率模型中确定第一概率模型,M为大于或等于1的正整数,且,M小于或等于N;
    使用所述第一概率模型对所述第一部分比特位进行编码。
  160. 根据权利要求159所述的装置,其特征在于,所述第一部分比特位包括至少两个比特位。
  161. 根据权利要求160所述的装置,其特征在于,所述第一部分比特位为所述二进制属性值的低位比特位。
  162. 根据权利要求159所述的装置,其特征在于,所述第一部分比特位为1个比特位。
  163. 根据权利要求159至161中任一项所述的装置,其特征在于,所述第一部分比特位的值为第一部分比特值,所述处理器还用执行以下操作:
    根据所述第一部分比特值更新所述第一概率模型。
  164. 根据权利要求159所述的装置,其特征在于,所述N个比特位包括第二部分比特位;所述处理器还用执行以下操作:
    使用第二概率模型对所述第二部分比特位进行编码,所述第二概率模型和所述第一概率模型不同。
  165. 根据权利要求164所述的装置,其特征在于,所述第二部分比特位的值为第二比特值,所述处理器还用执行以下操作:
    根据所述第二部分比特值更新所述第二概率模型。
  166. 根据权利要求164所述的装置,其特征在于,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
  167. 根据权利要求166所述的装置,其特征在于,所述第一概率模型和所述第二概率模型是根据相同的更新装置或不同的更新装置更新得到的。
  168. 根据权利要求159至167中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    生成包括所述算术编码的编码结果的码流。
  169. 根据权利要求168所述的装置,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的编码方案。
  170. 根据权利要求169所述的装置,其特征在于,所述第一指示信息的不同取值分别用于指示不同的编码方案。
  171. 根据权利要求168或169所述的装置,其特征在于,所述第一指示信息用于指示所述属性值的编码方案为直接编码方案,所述直接编码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术编码。
  172. 根据权利要求171所述的装置,其特征在于,所述直接编码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术编码。
  173. 根据权利要求168至172中任一项所述的装置,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示 所述二进制属性值的不同类型。
  174. 根据权利要求173所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  175. 根据权利要求174所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  176. 根据权利要求174所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  177. 根据权利要求174所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  178. 根据权利要求174所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  179. 根据权利要求168至172中任一项所述的装置,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  180. 根据权利要求168至179中任一项所述的装置,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  181. 根据权利要求159至177中任一项所述的装置,其特征在于,所述概率模型为上下文概率模型。
  182. 根据权利要求159至181中任一项所述的装置,其特征在于,所述属性值包括反射率。
  183. 根据权利要求159至182中任一项所述的装置,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
  184. 一种点云属性解码装置,其特征在于,包括:
    存储器,用于存储代码;
    处理器,用于读取所述存储器中的代码,以执行如下操作:
    对码流中的属性信息进行算术解码,得到二进制属性值;所述二进制属性值的比特深度为N个比特位,N为大于或等于1的正整数,所述N个比特位包括第一部分比特位,所述第一部分比特位是采用第一概率模型进行解码得到的,所述第一概率模型是从M个概率模型中确定出来的,M为大于或等于1的正整数,且,M小于或等于N;
    根据所述二进制属性值对应的二值化装置对所述二进制属性值进行反二值化,得到属性值。
  185. 根据权利要求184所述的装置,其特征在于,所述第一部分比特位包括至少两个比特位。
  186. 根据权利要求185所述的装置,其特征在于,所述第一部分比特位为所述二进制属性值的低位比特位。
  187. 根据权利要求184所述的装置,其特征在于,所述第一部分比特位为1个比特位。
  188. 根据权利要求184至186中任一项所述的装置,其特征在于,所述第一部分比特位的值为第一部分比特值,所述处理器还用执行以下操作:
    根据所述第一部分比特值更新所述第一概率模型。
  189. 根据权利要求184所述的装置,其特征在于,所述N个比特位包括第二部分比特位;所述第二部分比特位是采用第二概率模型解码得到的,所述第二概率模型和所述第一概率模型不同。
  190. 根据权利要求189所述的装置,其特征在于,所述第二部分比特位的值为第二比特值,所述处理器还用执行以下操作:
    根据所述第二部分比特值更新所述第二概率模型。
  191. 根据权利要求189所述的装置,其特征在于,所述第一概率模型和所述第二概率模型是由同一个或不同初始概率模型更新得到的。
  192. 根据权利要求191所述的装置,其特征在于,所述第一概率模型和所述第二概率模型是根据相同的更新装置或不同的更新装置更新得到的。
  193. 根据权利要求184至192中任一项所述的装置,其特征在于,所述处理器还用执行以下操作:
    接收包括所述属性信息的码流。
  194. 根据权利要求193所述的装置,其特征在于,所述码流的头信息包括第一指示信息,所述第一指示信息用于指示所述属性值的解码方案。
  195. 根据权利要求194所述的装置,其特征在于,所述第一指示信息的不同取值分别用于指示不同的解码方案。
  196. 根据权利要求193或194所述的装置,其特征在于,所述第一指示信息用于指示所述属性值的解码方案为直接解码方案,所述直接解码方案指的是对所述属性值进行二值化后进行采用至少一个概率模型进行算术解码。
  197. 根据权利要求196所述的装置,其特征在于,所述直接解码方案指的是对所述属性值进行二值化后采用多个概率模型进行算术解码。
  198. 根据权利要求193至197中任一项所述的装置,其特征在于,所述码流的头信息包括第二指示信息,所述第二指示信息的不同取值用于指示所述二进制属性值的不同类型。
  199. 根据权利要求198所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码、截断莱斯码、指数哥伦布码中的一种。
  200. 根据权利要求199所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为定长码;
    所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度。
  201. 根据权利要求199所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为截断莱斯码;
    所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数。
  202. 根据权利要求199所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的 阶数。
  203. 根据权利要求199所述的装置,其特征在于,所述第二指示信息用于指示所述二进制属性值为指数哥伦布码;
    所述指数哥伦布码的阶数为默认值。
  204. 根据权利要求193至197中任一项所述的装置,其特征在于,所述二进制属性值默认为定长码,所述码流的头信息还包括第三指示信息,用于指示所述定长码的比特深度;或者,
    所述二进制属性值默认为截断莱斯码,所述码流的头信息还包括第四指示信息,用于指示所述截断莱斯码的门限值和/或莱斯参数;或者,
    所述二进制属性值默认为指数哥伦布码,所述指数哥伦布码的阶数为默认值,或者,所述码流的头信息还包括第五指示信息,用于指示所述指数哥伦布码的阶数。
  205. 根据权利要求193至204中任一项所述的装置,其特征在于,所述码流中还包括第六指示信息,用于指示所述二进制属性值中采用相同的概率模型的比特位或者采用不同的概率模型的比特位。
  206. 根据权利要求184至202中任一项所述的装置,其特征在于,所述概率模型为上下文概率模型。
  207. 根据权利要求184至206中任一项所述的装置,其特征在于,所述属性值包括反射率。
  208. 根据权利要求184至207中任一项所述的装置,其特征在于,所述点云数据为传感器在移动平台上所获取到的点云数据。
PCT/CN2019/079150 2019-03-21 2019-03-21 点云属性编码方法和装置以及点云属性解码方法和装置 Ceased WO2020186535A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980039255.XA CN112262578B (zh) 2019-03-21 2019-03-21 点云属性编码方法和装置以及点云属性解码方法和装置
PCT/CN2019/079150 WO2020186535A1 (zh) 2019-03-21 2019-03-21 点云属性编码方法和装置以及点云属性解码方法和装置
US17/479,812 US20220005229A1 (en) 2019-03-21 2021-09-20 Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/079150 WO2020186535A1 (zh) 2019-03-21 2019-03-21 点云属性编码方法和装置以及点云属性解码方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/479,812 Continuation US20220005229A1 (en) 2019-03-21 2021-09-20 Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie

Publications (1)

Publication Number Publication Date
WO2020186535A1 true WO2020186535A1 (zh) 2020-09-24

Family

ID=72519459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/079150 Ceased WO2020186535A1 (zh) 2019-03-21 2019-03-21 点云属性编码方法和装置以及点云属性解码方法和装置

Country Status (3)

Country Link
US (1) US20220005229A1 (zh)
CN (1) CN112262578B (zh)
WO (1) WO2020186535A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114556790A (zh) * 2019-11-08 2022-05-27 谷歌有限责任公司 用于熵代码化的概率估计
CN113840150B (zh) * 2021-09-17 2023-09-26 中山大学 一种点云反射率属性熵编解码方法
CN120019649A (zh) * 2022-10-18 2025-05-16 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2024103304A1 (zh) * 2022-11-16 2024-05-23 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器、码流及存储介质
CN121773621A (zh) * 2023-08-18 2026-03-31 Oppo广东移动通信有限公司 编解码方法、编解码器以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595976B1 (en) * 2016-09-16 2017-03-14 Google Inc. Folded integer encoding
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992496B1 (en) * 2017-11-15 2018-06-05 Google Llc Bin string coding based on a most probable symbol
CN108632607B (zh) * 2018-05-09 2019-06-21 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
CN108632621B (zh) * 2018-05-09 2019-07-02 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170347100A1 (en) * 2016-05-28 2017-11-30 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US9595976B1 (en) * 2016-09-16 2017-03-14 Google Inc. Folded integer encoding
CN107403456A (zh) * 2017-07-28 2017-11-28 北京大学深圳研究生院 一种基于kd树和优化图变换的点云属性压缩方法
US20190080483A1 (en) * 2017-09-14 2019-03-14 Apple Inc. Point Cloud Compression
CN108322742A (zh) * 2018-02-11 2018-07-24 北京大学深圳研究生院 一种基于帧内预测的点云属性压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIN, JING: "Research on Improved CABAC Algorithm Based on Motion Vector Difference in H.264", CHINA MASTER’S THESES FULL-TEXT DATABASE, no. 1, 15 January 2014 (2014-01-15), CN, pages 1 - 63, XP009523261 *
WANG PENG-JIE ,SONG HAI-YU ,SHENG SEN: "Compression Algorithm of Point Clouds Based on Surfel", APPLICATION RESEARCH OF COMPUTERS, vol. 25, no. 11, 15 November 2008 (2008-11-15), CN, pages 3471 - 3473, XP055734358, ISSN: 1001-3695 *

Also Published As

Publication number Publication date
CN112262578B (zh) 2023-07-25
US20220005229A1 (en) 2022-01-06
CN112262578A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN112262578B (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
JP4801776B2 (ja) データ圧縮
US9035807B2 (en) Hierarchical entropy encoding and decoding
CN107743239B (zh) 一种视频数据编码、解码的方法及装置
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
CN116506073B (zh) 一种工业计算机平台数据快速传输方法及系统
US10666289B1 (en) Data compression using dictionary encoding
JP2013526140A (ja) 算術符号化のための適応型2値化
JP4179640B2 (ja) 情報信号の算術符号化及び復号
CN104125475B (zh) 一种多维量子数据压缩、解压缩方法及装置
CN104380733B (zh) 视频量化参数编码方法、视频量化参数解码方法、设备
CN112740707B (zh) 点云的编解码方法和装置
CN121037545A (zh) 点云编码、解码方法、装置及通信设备
US20100321218A1 (en) Lossless content encoding
CN113840150B (zh) 一种点云反射率属性熵编解码方法
CN103597829B (zh) 对视频量化参数编码的方法和对视频量化参数解码的方法
JP2017527165A (ja) 制限されたキャリー演算による算術コーディングを遂行するための方法及び装置
WO2020095706A1 (ja) 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
CN104682966A (zh) 列表数据的无损压缩方法
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
CN116566397A (zh) 编码、解码方法、编码器、解码器、电子设备及存储介质
CN110191341B (zh) 一种深度数据的编码方法和解码方法
JP4037875B2 (ja) コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
CN118872278B (zh) 零游程值编解码方法及视频编解码方法、装置和系统
CN118715720B (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: 19919777

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19919777

Country of ref document: EP

Kind code of ref document: A1