WO2023168712A1 - Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo - Google Patents
Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo Download PDFInfo
- Publication number
- WO2023168712A1 WO2023168712A1 PCT/CN2022/080461 CN2022080461W WO2023168712A1 WO 2023168712 A1 WO2023168712 A1 WO 2023168712A1 CN 2022080461 W CN2022080461 W CN 2022080461W WO 2023168712 A1 WO2023168712 A1 WO 2023168712A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- decoded
- encoded
- encoding
- identifier
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
Definitions
- Embodiments of the present disclosure relate to, but are not limited to, video technology, and more specifically, to a zero-run value encoding and decoding method and a video encoding and decoding method, device, and system.
- Point cloud is a set of discrete points randomly distributed in space that expresses the spatial structure and surface properties of a three-dimensional object or scene.
- Figure 1A and Figure 1B show an exemplary three-dimensional point cloud image and local enlargement. You can see The surface of a point cloud is composed of densely distributed points.
- Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes, and because point clouds can be obtained by directly sampling real objects, they can provide a strong sense of reality while ensuring accuracy, so they are widely used.
- the scope includes virtual reality games, computer-aided design, geographical information systems, automatic navigation systems, digital cultural heritage, free-viewpoint broadcasting, three-dimensional immersive telepresence, three-dimensional reconstruction of biological tissues and organs, etc. Changes in the way of obtaining point cloud data have made it possible to obtain large amounts of point cloud data. However, with the growth of application requirements, the processing of massive 3D point cloud data encounters storage space and transmission bandwidth limitations, and more effective compression methods need to be provided. .
- An embodiment of the present disclosure provides a zero run value decoding method, including:
- the identifier is 0, indicating that the zero run value is an odd number, and is 1, indicating that the zero run value is an even number.
- An embodiment of the present disclosure also provides a zero-run value encoding method, including:
- the flag bit indicating whether the zero run value is equal to 0 is encoded
- the identifier is 0, indicating that the zero run value is an odd number, and is 1, indicating that the zero run value is an even number.
- An embodiment of the present disclosure also provides a method for decoding zero-run values, including: respectively decoding the quotient and remainder of the zero-run value divided by 2 in the code stream, wherein the decoding is the quotient of the zero-run value divided by 2. ,include:
- the identifier is 0, indicating that the quotient is an odd number, and 1, indicating that the quotient is an even number.
- An embodiment of the present disclosure also provides a method for encoding a zero-run value, which includes: respectively encoding the quotient and remainder of a zero-run value divided by 2, wherein the encoding of the quotient of a zero-run value divided by 2 includes:
- the identifier is 0, indicating that the quotient is an odd number, and 1, indicating that the quotient is an even number.
- An embodiment of the present disclosure also provides a zero run value decoding method, including:
- the information unit includes: N flag bits indicating the size relationship between the value to be decoded and the set value, an identifier indicating the parity of the value to be decoded, based on the Describes the numerical value calculated from the value to be compiled, N is a positive integer;
- the value to be decoded is a zero run value or a quotient of a zero run value divided by a first divisor, and the first divisor is a positive integer.
- An embodiment of the present disclosure also provides a zero-run value encoding method, including:
- N flag bits indicating the relationship between the value to be encoded and the set value, an identifier indicating the parity of the value to be encoded, an identifier based on The numerical value obtained by calculating the value to be encoded, N is a positive integer;
- the value to be encoded is a zero run value or a quotient of a zero run value divided by a first divisor, and the first divisor is a positive integer.
- An embodiment of the present disclosure also provides a video decoding method, including:
- An embodiment of the present disclosure also provides a video encoding method, including:
- the attribute information of the points in the video is encoded point by point according to the set order, using zero run values to record the number of consecutive points with zero attribute information, and according to the zero run value encoding method as described in any embodiment of the present disclosure. Encode the zero run value.
- An embodiment of the present disclosure also provides a video code stream, which includes an information unit representing a zero run value, and the information unit includes at least one of the following:
- N flag bits are set to indicate the relationship between the value to be decoded and the set value, N is a positive integer;
- Identifier set to indicate the parity of the value to be decoded
- the value to be decoded is the zero run value, or is the quotient of the zero run value divided by a first divisor, and the first divisor is a positive integer.
- An embodiment of the present disclosure also provides a zero-run value decoding device, which includes a processor and a memory storing a computer program.
- a processor executes the computer program, it can implement the method described in any embodiment of the present disclosure. Zero run value decoding method.
- An embodiment of the present disclosure also provides a zero run value encoding device, including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement the method described in any embodiment of the present disclosure.
- Zero run value encoding method including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement the method described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a video decoding device, which includes a processor and a memory storing a computer program, wherein when the processor executes the computer program, the video decoding device as described in any embodiment of the present disclosure can be realized. Decoding method.
- An embodiment of the present disclosure also provides a video encoding device, including a processor and a memory storing a computer program, wherein when the processor executes the computer program, the video encoding device as described in any embodiment of the present disclosure can be implemented. Encoding method.
- An embodiment of the present disclosure also provides a video encoding and decoding system, which includes a video encoding device as described in any embodiment of the present disclosure and a video decoding device as described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a non-transitory computer-readable storage medium.
- the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it can implement any of the aspects of the present disclosure.
- Figures 1A and 1B are an exemplary three-dimensional point cloud image and a partial enlargement respectively;
- Figure 2A is a schematic diagram of the encoding framework of the point cloud compression platform of the first embodiment
- Figure 2B is a schematic diagram of the decoding framework of the point cloud compression platform of the first embodiment
- Figure 3A is a flowchart of a zero run value encoding method according to an embodiment of the present disclosure.
- Figure 3B is a flowchart after step 110 in Figure 3 is decomposed into multiple sub-steps;
- Figure 4 is a flow chart of a decoding method corresponding to the zero run value encoding method shown in Figure 3A;
- Figures 5 and 6 are respectively flow charts of a zero-run value encoding method and a zero-run value decoding method according to an embodiment of the present disclosure
- Figures 7 and 8 are respectively flow charts of a zero-run value encoding method and a zero-run value decoding method according to another embodiment of the present disclosure
- Figures 9 and 10 are respectively flow charts of a zero-run value encoding method and a zero-run value decoding method according to another embodiment of the present disclosure.
- Figures 11 and 12 are flow charts of a video encoding method and a video decoding method respectively according to an embodiment of the present disclosure
- Figure 13 is a schematic diagram of the data structure of zero run values in the code stream according to an embodiment of the present disclosure
- Figure 14 is a schematic diagram of a zero run value decoding device according to an embodiment of the present disclosure.
- the words “exemplary” or “such as” are used to mean an example, illustration, or explanation. Any embodiment described in this disclosure as “exemplary” or “such as” is not intended to be construed as preferred or advantageous over other embodiments.
- "And/or” in this article is a description of the relationship between associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist simultaneously, and they exist alone. B these three situations.
- "Plural” means two or more than two.
- words such as “first” and “second” are used to distinguish the same or similar items with basically the same functions and effects. Those skilled in the art can understand that words such as “first” and “second” do not limit the number and execution order, and words such as “first” and “second” do not limit the number and execution order.
- the embodiment of the present disclosure takes the point cloud attribute encoding and decoding scenario as an example to illustrate.
- the solution of the present disclosure is not only applicable to point cloud attribute encoding and decoding, but can also be applied to similar scenarios of other video encoding and decoding.
- Two-dimensional images have information expressed in each pixel and are distributed regularly, so there is no need to record additional position information; however, the distribution of points in the point cloud in the three-dimensional space is random and irregular, so each point needs to be recorded Only the position of the point in space can completely express a point cloud.
- each point in the collection process has corresponding attribute information, usually an RGB color value, and the color value reflects the color of the object; for point clouds, in addition to color, the attribute information corresponding to each point The more common one is reflectance.
- the reflectance value reflects the surface material of the object.
- point cloud data usually includes geometric information (x, y, z) composed of three-dimensional position information, attribute information composed of three-dimensional color information (r, g, b), and one-dimensional reflectance information (r).
- the corresponding point cloud data storage format consists of a file header information part and a data part.
- the header information includes the data format, data representation type, total point cloud points, and the content represented by the point cloud.
- the point cloud is in ".ply" format and is represented by ASCII code.
- the total number of points is 207242, and each point has three-dimensional position information xyz and three-dimensional color information rgb.
- Point cloud collection mainly includes computer generation, 3D laser scanning, 3D photogrammetry, etc.
- Computers can generate point clouds of virtual three-dimensional objects and scenes; 3D laser scanning can obtain point clouds of static real-world three-dimensional objects or scenes, and can obtain millions of point clouds per second; 3D photogrammetry can obtain dynamic real-world three-dimensional objects or scenes Point clouds can obtain tens of millions of point clouds per second.
- a 10s point cloud video with a frame rate of 30fps (frames per second) as an example, the number of points in each frame of the point cloud is 700,000, and each point has coordinate information xyz (float) and color information RGB (uchar), then a 10s point cloud video
- point cloud compression has become a key issue in the development of point cloud applications.
- Point cloud compression generally adopts the method of separately compressing point cloud geometric information and attribute information.
- the point cloud geometric information is first encoded in the geometry encoder, and then the reconstructed geometric information is input into the attribute encoder as additional information, and the auxiliary point Compression of cloud attributes;
- the point cloud geometric information is first decoded in the geometry decoder, and then the decoded geometric information is input into the attribute decoder as additional information to assist in the decompression of point cloud attributes.
- FIG. 2A shows a schematic diagram of an exemplary point cloud encoding framework
- FIG. 2B shows a schematic diagram of an exemplary point cloud decoding framework.
- the encoding end of the Point Cloud Compression Reference Platform includes a geometry encoder and an attribute encoder.
- the geometry encoder includes a coordinate translation module 11 , a coordinate quantization module 13 , an octree building module 15 , a geometry entropy encoder 17 and a geometry reconstruction module 19 .
- the coordinate translation module 11 and the coordinate quantization module 13 preprocess the original geometric information of the point cloud.
- the octree building module 15 and the geometric entropy encoder 17 encode the preprocessed geometric information to obtain a geometric code stream. in:
- the coordinate translation module 11 is configured to normalize the geometric origin of the original geometric information to the minimum value position in the point cloud space through coordinate translation.
- the coordinate quantization module 13 is configured to convert the geometric information output by the coordinate translation module 11 from floating point numbers into integers through coordinate quantization to facilitate subsequent regularization processing.
- the regularized geometric information is output to the octree building module 15 and the attribute encoder. .
- the octree building module 15 is configured to geometrically encode regularized geometric information, use the octree structure to recursively divide the point cloud space, divide the current node into eight sub-blocks of the same size each time, and judge each sub-block.
- the occupied codeword status of the block is recorded as empty when the sub-block does not contain points, otherwise it is recorded as non-empty.
- the occupied codeword information of all blocks is recorded and encoded at the last level of the recursive division; it will be processed through the octree structure
- the expressed geometric information is output to the geometric entropy encoder 17 and the geometric reconstruction module 19 .
- the geometric entropy encoder 17 is configured to entropy encode the geometric information expressed by the octree structure to form a geometric code stream.
- the attribute encoder includes a color space transformation module 21 , an attribute recoloring module 23 , an attribute prediction module 25 , a quantization module 27 and an attribute entropy encoding module 29 .
- the color space transformation module 21 and the attribute recoloring module 23 preprocess the original attribute information.
- Other modules perform attribute encoding on the preprocessed attribute information to obtain an attribute code stream. in:
- the color space conversion module 21 is configured to perform color space conversion when the processed original attribute information is a color value in RGB format, and convert it into a YUV color space that is more in line with the visual characteristics of the human eye.
- the attribute recoloring module 23 is set to reassign the attribute value to each point after geometric encoding based on the geometric information output by the geometry encoder. This process is called attribute recoloring to avoid the original geometric information and the geometric information after geometric encoding. The impact of the difference between.
- the attribute prediction module 25 is configured to reorder the point cloud.
- the reordering method is Morton code
- the traversal order of attribute encoding is Morton order
- the attribute prediction method is single point prediction based on Morton order. That is, one point is traced back forward from the current point to be encoded in Morton order, and the found point is used as the prediction reference point of the current point to be encoded.
- the attribute reconstruction value of the prediction reference point is used as the attribute prediction value.
- the difference from the predicted value of the attribute is the attribute residual.
- the quantization module 27 is configured to quantize the attribute residuals to obtain the quantized residuals of the attributes.
- the attribute entropy encoding module 29 is configured to entropy encode the quantized residual of the attribute to form an attribute code stream.
- the decoding end of the PCRM platform includes a geometry decoder and an attribute decoder.
- the geometry decoder includes a geometric entropy decoder 31 , an octree reconstruction module 33 , a coordinate inverse quantization module 35 and a coordinate inverse translation module 37 . in,
- the geometric entropy decoder 31 is configured to entropy decode the geometric code stream to obtain the geometric information of each node.
- the octree reconstruction module 33 is configured to construct an octree structure based on the geometric information of each node in the same manner as geometric encoding, and reconstruct the coordinate-transformed geometric information expressed through the octree structure in combination with the decoded geometry.
- the coordinate inverse quantization module 35 is configured to perform coordinate inverse quantization on the geometric information output by the octree reconstruction module 33.
- the geometric information after coordinate inverse quantization is output to the coordinate inverse translation module 37, and is output to the attribute decoder as additional information.
- the coordinate inverse translation module 37 is configured to perform coordinate inverse translation on the geometric information output by the coordinate inverse quantization module 35 to obtain decoded geometric information.
- the attribute decoder includes an attribute entropy decoder 41, an inverse quantization module 43, an attribute prediction module 45 and a color space inverse transform module 47. in:
- the attribute entropy decoder 41 is configured to entropy decode the attribute code stream to obtain the quantized residual of the point cloud.
- the inverse quantization module 43 is configured to inversely quantize the quantization residual to obtain the residual value of the point cloud attribute.
- the attribute prediction module 45 is configured to construct a Morton order based on the geometric information output by the geometry decoder in the same manner as attribute encoding, obtain the attribute prediction value of the current point to be decoded, and then add the attribute prediction value and the residual value to restore Outputs the YUV attribute value of the current point to be decoded.
- the color space inverse transformation module is configured to perform inverse color space transformation on the attribute information output by the attribute prediction module 45 to obtain decoded attribute information.
- the prediction branch When compressing, encoding and decoding point clouds based on the above encoding framework and decoding framework, there are two technical routes to distinguish based on the algorithm used for attribute compression.
- One is called the prediction branch, and the other is called the transformation branch.
- the attribute encoding and decoding method used by the prediction branch is as described above.
- the difference between the attribute encoding and decoding method used in the transformation branch and the prediction branch is that after obtaining the attribute residual of the point through attribute prediction, the residual is first transformed (the transformation algorithm used can be wavelet transform or k-element discrete cosine transform (DCT: Discrete Cosine Transform), and then quantize the transformed residual to obtain the quantized residual.
- DCT discrete cosine Transform
- the prediction branch after performing entropy decoding and inverse quantization on the attribute code stream to obtain the attribute residual, performs attribute prediction based on the residual obtained by inverse quantization, while the transformation branch first performs inverse transformation on the residual obtained by inverse quantization, and then based on the inverse
- the residuals obtained by the transformation are used for attribute prediction.
- a run-based encoding and decoding method is used for the quantized residual of point cloud attributes.
- the attribute entropy encoder on the encoding side and the attribute entropy decoder on the decoding side use the same order (such as the original acquisition order of the point cloud, Morton order, Hilbert order, etc.) to sequentially encode the quantized residuals of the attributes of the points in the point cloud. and decoding.
- the zero run value When encoding, use the zero run value to make statistics on whether the quantized residual of the attribute of the point is 0, and record the number of consecutive points where the quantized residual of the attribute is zero.
- the zero run value is an integer, and the initial value is set to 0.
- the quantized residual of any one dimension of the color three components of the point is not zero, encode the zero run value, then reset the zero run value to 0, and encode the quantized residual of the color three components of the point (Res 0 ,Res 1 ,Res 2 ), and then process the next point.
- the quantized residual of any one dimension of the color three components of the point is not zero, encode the zero run value, then reset the zero run value to 0, and encode the quantized residual and zero run value of the color three components of the point.
- the above process can also be used to encode the quantized residual of the reflectivity of points in the point cloud point by point by changing the attribute from "color three-component" to "reflectance".
- encoding the zero run value includes encoding the quotient of the zero run value divided by 2 (run_length/2) and encoding the remainder of the zero run value divided by 2 (run_length%2).
- An exemplary The encoding process is as follows:
- the first step is to encode the first flag indicating whether the quotient is equal to 0. If the quotient is 0, the encoding of the quotient is completed and the fourth step is entered. Otherwise, the second step is entered;
- the second step encode the second flag indicating whether the quotient is equal to 1. If the quotient is 1, the encoding of the quotient is completed and the fourth step is entered. Otherwise, the third step is entered;
- the third step is to subtract the difference of 2 from the encoding quotient (run_length/2-2), the encoding quotient is completed, and enter the fourth step;
- the fourth step is to encode the remainder of the zero run value divided by 2 (run_length%2), and the encoding of the remainder is completed.
- the zero run value is directly encoded.
- An exemplary encoding process is as follows:
- the first step is to encode the first flag bit indicating whether the zero run value is equal to 0. If the zero run value is 0, the encoding is completed, otherwise go to the second step;
- the third step is to encode the difference of zero run value minus 2 (run_length-2), and the encoding is completed.
- the above-mentioned first flag bit can be recorded as "is_run_length_equal_zero"
- the second flag bit can be recorded as "is_run_length_equal_one”.
- the decoding end When the decoding end decodes the quantized residual of the attributes of the points in the attribute code stream of the point cloud point by point, it needs to decode the zero run value run_length in the attribute code stream, and decode the attribute information of the points in the attribute code stream based on the decoded zero run value. .
- the decoding processing of other points includes:
- run_length 0, it is determined that the quantized residuals of the three color components of the current point are all zero, then the zero run value is reduced by 1 (--run_length), and then the next point is processed;
- run_length 0, it means that the quantized residuals of the three color components of the current point are not all zero, then decode the quantized residual of the color of the current point, then decode the zero run value corresponding to the next point, and update the current zero run value to Decode the resulting zero run value and proceed to the next point.
- the zero-run value used to decode the first point is decoded from the attribute code stream, and the zero-run value used to decode subsequent points is the zero-run value after subtracting 1 from the previous point, or The zero run value updated at the previous point.
- the decoding process can be ended after decoding the quantized residuals of the three color components of the point.
- the above process can also be used to decode the quantized residual of the reflectivity of points in the point cloud.
- the decoding process for the zero run value in this example includes:
- the first step is to decode the flag indicating whether the quotient is 0. If the flag indicates that the quotient is equal to 0, the decoding of the quotient is completed and the fourth step is entered. Otherwise, the second step is entered;
- the second step is to decode the flag indicating whether the quotient is 1. If the flag indicates that the quotient is equal to 1, the decoding of the quotient is completed and the fourth step is entered. Otherwise, the third step is entered;
- the third step is to subtract the difference of 2 from the decoding quotient (run_length/2-2), and determine that the quotient (run_length/2) is equal to the difference plus 2, and the decoding quotient is completed;
- the fourth step is to decode the remainder of the zero run value divided by 2 (run_length%2).
- the decoding remainder is completed.
- the decoded zero run value is equal to the decoded quotient multiplied by 2 plus the decoded remainder.
- the third step is to decode the difference between the zero run value minus 2 (run_length-2) and determine that the zero run value is equal to the difference plus 2.
- the decoding is completed.
- the zero-run value encoding and decoding methods of the above two examples can be used in the entropy encoding and entropy decoding of point cloud attributes by the prediction branch, and can also be used in the entropy encoding and entropy decoding of point cloud attributes by the transformation branch; and that is, It is used for entropy encoding and entropy decoding of point cloud color attributes, and can also be used for entropy encoding and entropy decoding of point cloud reflectivity attributes.
- the zero-run value encoding and decoding methods of different examples can also be selected when the branches are different and the attributes are different.
- the zero-run value encoding and decoding method of the first example is used in the entropy encoding and entropy decoding of the point cloud color attribute by the prediction branch.
- the zero-run value encoding and decoding method of the second example is used in the entropy encoding and entropy decoding of the point cloud color attribute in the transformation branch, and the second example is used in the entropy encoding and entropy decoding of the point cloud reflectance attribute in the prediction branch and the transformation branch.
- the zero-run value encoding and decoding method in the first embodiment above needs to encode and decode the zero-run-length value minus 2 for a zero-run-length code with a length greater than 1.
- the zero-run-length code is longer (the zero-run value is larger), In this case, more codewords are required.
- An embodiment of the present disclosure proposes a parity-based zero run value encoding method and a decoding method, using an identifier to represent the parity of the zero run value and using a flag bit.
- FIG. 3A The flow of the zero run value encoding method in this embodiment is shown in Figure 3A, including:
- Step 110 According to the zero run value to be encoded, encode a flag indicating whether the zero run value is equal to 0. If the zero run value is equal to 0, the encoding is completed; if the zero run value is not equal to 0, the encoding is completed. , continue to step 120;
- the flag bit indicating whether the zero run value is equal to 0 can be recorded as "is_run_length_equal_zero".
- Step 120 Encode an identifier indicating the parity of the zero run value and the quotient of the zero run value minus 1 and then divided by 2; wherein the identifier is 0 to indicate that the zero run value is an odd number, and 1 to indicate zero.
- the run length value is an even number.
- step 110 is divided into three steps to implement, namely:
- Step 1101 determine whether the zero run value is equal to 0, if not equal to 0, execute step 1103, if equal to 0, execute step 1105;
- Step 1103 write the flag position indicating whether the zero run value is equal to 0 into the code stream, indicating that the zero run value is equal to 0, and the encoding is completed;
- Step 1105 Write the flag position 0 indicating whether the zero run value is equal to 0 into the code stream, indicating that the zero run value is not equal to 0, and execute step 120.
- Step 120 Encode an identifier indicating the parity of the zero run value and the quotient of the zero run value minus 1 and then divided by 2; wherein the identifier is 0 to indicate that the zero run value is an odd number, and 1 to indicate zero.
- the run length value is an even number.
- the flag bit in the above example, defining the flag bit as 0 means that the zero run value is not equal to 0, and as 1 means that the zero run value is equal to 0.
- the flag bit can also be defined as 1 to indicate that the zero run value is not equal to 0, and as 0 to indicate that the zero run value is equal to 0.
- the process is basically the same as this example, see Figure 3B. The difference is that when the zero run value is equal to 0, the flag position is set to 0, and when the zero run value is not equal to 0, the flag position is set to 1. It is easy to understand that no matter which example is defined, encoding and decoding can be achieved without changing the number of codewords.
- the identifier when encoding the identifier indicating the parity of the zero run value and the quotient of the zero run value minus 1 and then divided by 2, the identifier can be encoded first and then the quotient value, or the quotient can be encoded first. Value recoding identifier.
- an identifier of 0 indicates that the zero-run value is an odd number
- an identifier of 1 indicates that the zero-run value is an even number.
- the zero-run value is If it is an odd number, set the flag to 0 during encoding and then write it into the code stream. If the zero run value is an even number, set the flag to 1 during encoding and then write it into the code stream.
- the identifier indicating the parity of the zero run value is recorded as "parity”.
- a parity of 1 indicates that the zero run value is an even number
- a parity of 0 indicates that the zero run value is an odd number.
- the identifier indicating the parity of the value to be encoded is also defined as “an identifier of 1 indicates that the zero run value is an odd number, "0 indicates that the zero run value is an even number” is easy to understand.
- the identifier should be set to 1 during encoding and then written into the code stream.
- the identifier should be set to 0 and then written into the code stream. This will not be described in detail below.
- the calculation is performed by subtracting 1 from the zero run value and then dividing it by 2 to obtain the quotient value, and then the quotient value is written into the code stream.
- Step 210 Decode the flag bit indicating whether the zero run value is equal to 0. If it is determined based on the flag bit that the zero run value is equal to 0, the decoding is completed; if it is determined based on the flag bit that the zero run value is not equal to 0. In this case, continue to step 220;
- Step 220 Decode the identifier indicating the parity of the zero run value and the quotient of the zero run value minus 1 and then divided by 2; multiply the quotient value by 2, add 1, and add the value of the identifier , to obtain the decoded zero-run value; wherein, the identifier is 0, which indicates that the zero-run value is an odd number, and is 1, which indicates that the zero-run value is an even number.
- step 210 when decoding the flag bit indicating whether the zero run value is equal to 0, the flag bit is extracted from the code stream and the value of the flag bit is determined.
- the flag bit when the flag bit is 1, it can be determined that the zero run value is equal to 0; when the flag bit is 0, it can be determined that the zero run value is not equal to 0.
- a flag bit of 0 indicates that the zero run value is equal to 0, and a flag bit of 1 indicates that the zero run value is not equal to 0.
- the flag bit When decoding the flag bit, the flag bit is extracted from the code stream. When the flag bit is equal to 0, it is determined that the zero run value is equal to 0. When the flag bit is not equal to 0, it is determined that the zero run value is not equal to 0. The same is true for other flag bits in other embodiments. The judgment needs to be made based on the definition of the value of the flag bit and the decoded value of the flag bit to be decoded (zero run value, the quotient of the zero run value divided by 2, etc.) , determine whether the value to be decoded is equal to the set value, or whether it is greater than the set value, etc.
- step 220 when decoding the identifier indicating the parity of the zero run value and the quotient of the zero run value minus 1 and then dividing by 2, the identifier and the quotient value are extracted from the code stream.
- the decoded zero run value can then be calculated based on the identifier and quotient without any additional reasoning.
- this embodiment replaces the identifier used in the first embodiment to indicate whether the zero run value is equal to 1 with an identifier indicating parity, thereby reducing the time required for encoding the original information.
- Codeword when the zero-run value to be encoded is large, the codeword length required to encode the zero-run value can be reduced and the coding efficiency can be improved.
- the zero-run value is in numerical form before encoding. After encoding, it includes information units such as flag bits, identifiers, and numerical values (such as quotient values), which are called codeword forms.
- the zero run value as the value to be encoded is the zero run value in numerical form
- the zero run value as the value to be decoded is the zero run value in "decode zero run value", "zero run value in code stream”, etc. is the zero run value in the form of a codeword.
- the quotient obtained by dividing the zero run value by 2 is similar.
- flag bits, identifiers and quotient values which also have numerical forms and codeword forms.
- Some other values, such as the quotient value in this embodiment, are also in numerical form in the code stream after encoding. They can be extracted from the code stream during decoding and used for subsequent operations.
- Table 1 lists the comparison of the codewords used to encode zero run values of different lengths using the first embodiment (indicated by "A” in the table) and this embodiment (indicated by "B” in the table):
- 0 ⁇ 8 in the table represents the zero run value
- eq0 represents the flag bit whether the zero run value is equal to
- eq1 represents the flag bit whether the zero run value is equal to 1
- parity is the value of the identifier
- value represents the quotient value.
- this embodiment was tested on the point cloud compression reference platform PCRM6.0 of the Audio Video Coding Standard (AVS: Audio Video coding Standard), involving the following four test conditions: limit-lossy geometry, lossy attributes, that is, the geometric position is limited and lossy, and the attributes are lossy; lossless geometry, lossy attributes, that is, the geometric position is lossless, and the attributes are lossy; lossless geometry, limit-lossy attributes, that is, the geometric position is lossless, and the attributes are limited and lossy; and , lossless geometry, lossless attributes, that is, lossless geometric position and lossless attributes.
- the test sequences used include five general test sequences: Cat1A, Cat1B, Cat1C, Cat2-frame and Cat3. Among them, Cat1A and Cat2-frame point clouds only contain reflectivity attribute information, Cat1B and Cat3 point clouds only contain color attribute information, and Cat1B Point clouds contain both color and reflectivity attribute information.
- Tables 2.1 to 2.4 show the experimental results based on each of the four test conditions using this embodiment under the transformation branch.
- Tables 3.1 to 3.4 show the experimental results based on each of the four test conditions using this embodiment under the prediction branch.
- class represents the category of the general test sequence
- EtE BD-AttrRate represents the end-to-end code rate-distortion
- EtE Hausdorff BD-AttrRate represents the end-to-end Hausdorff code rate-distortion
- bpip ratio represents the code rate per input point
- Y ,Cb and Cr respectively represent the three components of color
- Reflectance represents the reflectance.
- An embodiment of the present disclosure provides a parity-based zero run value encoding method and a decoding method, using an identifier to represent the parity of the zero run value and using a flag bit.
- the zero-run value encoding method of this embodiment separately encodes the quotient and remainder of the zero-run value divided by 2 in the code stream when encoding the zero-run value.
- the process of encoding the quotient of the zero-run value divided by 2 in the code stream is as shown in the figure. 5, including:
- Step 310 According to the value of the quotient, encode a flag indicating whether the quotient is equal to 0. If the quotient is equal to 0, the encoding of the quotient is completed and the process proceeds to step 330; if the quotient is not equal to 0, Execute step 320;
- Step 320 Encode an identifier indicating the parity of the quotient and the quotient value of the quotient minus 1 and then divided by 2; wherein, if the identifier is 0, it means that the quotient is an odd number, and if it is 1, it means that the quotient is an even number;
- This step can use "parity" to mark the parity of the quotient run_length/2.
- Step 330 Encode the remainder of the zero run value divided by 2 run_length%2.
- the remainder is encoded after encoding the quotient of the zero run value divided by the first divisor, in other embodiments the remainder may be encoded before or simultaneously with encoding the quotient.
- the zero run value decoding method of this embodiment decodes the quotient and remainder of the zero run value divided by 2 in the code stream respectively.
- the process of decoding the quotient of the zero run value divided by 2 in the code stream is as follows: As shown in Figure 6, including:
- Step 410 Decode the flag bit indicating whether the quotient is equal to 0. If it is determined based on the flag bit that the quotient is equal to 0, the decoding of the quotient is completed and the process proceeds to step 430; determine based on the flag bit that the quotient is not equal to 0. In this case, perform step 420;
- Step 420 Decode the identifier indicating the parity of the quotient and the quotient value minus 1 and then divide it by 2; multiply the quotient value by 2 and then add 1 and add the value of the identifier to obtain the decoded value.
- quotient run_length/2 parity+1+remainder ⁇ 1, where remainder is the quotient value and parity is the value of the identifier. " ⁇ 1" means shifting left by 1 bit or multiplying by 2.
- Step 430 Decode the remainder of dividing the zero run value by 2, multiply the decoded quotient by 2 and add the remainder to obtain the decoded zero run value.
- decoding the remainder of the zero run value divided by 2 in the code stream can also be performed before or at the same time as decoding the quotient of the zero run value divided by the first divisor.
- An embodiment of the present disclosure provides a parity-based zero run value encoding method and a decoding method, using identifiers to represent the zero run value or the parity of a value calculated based on the zero run value.
- Step 510 Obtain the value to be encoded, which is the zero run value or the quotient of the zero run value divided by the first divisor, where the first divisor is a positive integer;
- Step 520 According to the value to be encoded, encode at least one of the following information units according to the set encoding sequence: N flag bits indicating the relationship between the value to be encoded and the set value, and a flag indicating the parity of the value to be encoded. symbol, a numerical value calculated based on the value to be encoded, and N is a positive integer.
- the set encoding order is as follows:
- Encoding the identifier Encoding N flag bits, encoding a value calculated based on the value to be encoded; or
- the above-set encoding sequence does not mean that all encoding processes must be performed, and only part of the processing can be performed.
- the set encoding sequence is: encoding N flag bits, encoding the When encoding the identifier and the numerical value calculated based on the value to be encoded, only part or all of the N flag bits can be encoded to complete the encoding, and there is no need to encode the identifier and the numerical value. The same is true for other encoding sequences. Only one or more previous encoding processes can be performed. Some encoding processes, such as encoding N flag bits, can also only complete the encoding of part of the flag bits.
- the value to be encoded is the quotient of the zero run value divided by the first divisor
- the method further includes: encoding the quotient of the zero run value divided by the first divisor. Before or after or simultaneously, the remainder of the zero run value divided by the first divisor is encoded, wherein the first divisor is 2 or 3 or 4 or 8.
- This method is to divide the zero run value into the quotient and the remainder and encode them separately.
- the quotient is encoded using a parity-based encoding method.
- the zero-run value encoding method is called parity-based zero-run value encoding method.
- the present disclosure is not limited to setting the above-mentioned first divisor to 2, and may also be set to other values.
- the identifier is 1, it means that the value to be encoded is an odd number, and if it is 0, it means that the value to be encoded is an even number; or if the identifier is 0, it means that the value to be encoded is an odd number, and if it is 1, it means The value to be encoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by the first divisor
- the method further includes: decoding the quotient of the zero run value divided by the first divisor. Before, after, or at the same time, decoding the remainder of the zero run value divided by the first divisor; and, multiplying the decoded quotient by the first divisor and adding the decoded remainder to obtain the decoded zero run value. value, where the first divisor is equal to 2 or 3 or 4 or 8.
- the zero run value decoding method in this embodiment is shown in Figure 8, including:
- Step 610 Receive a code stream containing a value to be decoded.
- the code stream may be an attribute code stream of a point cloud, wherein the value to be decoded is a zero run value or a quotient of a zero run value divided by a first divisor, so The first divisor is a positive integer;
- Step 620 Decode the information unit included in the value to be decoded according to the set decoding order.
- the information unit includes: N flag bits indicating the relationship between the value to be decoded and the set value, and an identifier indicating the parity of the value to be decoded. , a value calculated based on the value to be compiled, N is a positive integer.
- the set decoding order is as follows:
- Decode N flag bits, decode the identifier, and decode the value calculated based on the value to be decoded;
- Decode the identifier decode the N flag bits, and decode the value calculated based on the value to be decoded;
- Decoding part of the N flag bits decoding the identifier, decoding the remaining flag bits of the N flag bits, and decoding a value calculated based on the value to be decoded.
- the decoding order set above does not mean that all decoding processes must be performed, and only part of the processing can be performed.
- the identifier is 1, it means that the value to be decoded is an odd number, and if it is 0, it means that the value to be decoded is an even number; or if the identifier is 0, it means that the value to be decoded is an odd number, and if it is 1, it means The value to be decoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by the first divisor
- the method further includes: decoding the quotient of the zero run value divided by the first divisor. Before, after or at the same time, decode the remainder of the zero run value divided by the first divisor; multiply the decoded quotient by 2 and add the decoded remainder to obtain the decoded zero run value, wherein the first divisor It's 2 or 3 or 4 or 8.
- the zero-run value encoding method and decoding method of the present disclosure through the combination of parity identifiers, flag bits, and numerical values, can reduce encoding when there are many larger values to be encoded, compared to simply using flag bits and numerical values.
- the number of codeword bits thereby improving the coding efficiency.
- An embodiment of the present disclosure provides a parity-based zero-run value encoding method and a decoding method.
- a parity identifier is used during encoding to improve encoding efficiency.
- the process of encoding the value to be encoded in this embodiment is shown in Figure 9.
- the value to be encoded is the zero run value or the quotient of the zero run value divided by 2.
- the process includes:
- Step 710 According to the value to be encoded, encode the first flag bit indicating whether the value to be encoded is equal to 0. If the value to be encoded is equal to 0, the encoding is completed; if the value to be encoded is not equal to 0, the encoding is completed. Next, continue to step 720;
- This step can use "is_run_length_equal_zero" to mark whether the value to be encoded is equal to 0.
- Step 720 Encode the second flag indicating whether the value to be encoded is equal to 1. If the value to be encoded is equal to 1, the encoding is completed; if the value to be encoded is not equal to 1, continue to step 730;
- This step can use "is_run_length_equal_one" to mark whether the value to be encoded is equal to 1.
- Step 730 Encode an identifier indicating the parity of the value to be encoded and the quotient of the value to be encoded minus 2 and then divided by 2; where the identifier is 1 indicating that the value to be encoded is an odd number, and 0 indicates that the value to be encoded is an odd number.
- the coded value is an even number.
- parity can be used as an identifier to mark the parity of the value to be encoded.
- the identifier can be encoded first, or the quotient value can be encoded first. This disclosure is Don't limit yourself.
- the value to be decoded is the quotient of a zero run value divided by 2. Then the zero run value encoding method also encodes the quotient of a zero run value divided by 2 before or after or at the same time. The zero run value is the remainder divided by 2.
- the process of decoding the value to be decoded in this embodiment is shown in Figure 10.
- the value to be decoded is the zero run value or the quotient of the zero run value divided by 2.
- the process includes:
- Step 810 Decode the first flag bit indicating whether the value to be decoded is equal to 0. If it is determined based on the first flag bit that the value to be decoded is equal to 0, decoding is completed; determine the value to be decoded based on the first flag bit. If the decoded value is not equal to 0, continue to step 820;
- Step 820 Decode the second flag bit indicating whether the value to be decoded is equal to 1. If it is determined based on the second flag bit that the value to be decoded is equal to 1, decoding is completed; determine the value to be decoded based on the second flag bit. If the decoded value is not equal to 1, continue to step 830;
- Step 830 Decode the identifier indicating the parity of the value to be decoded and the quotient of the value to be decoded minus 2 and then divided by 2; multiply the quotient value by 2, add 2, and add the value of the identifier , obtain the decoded value to be decoded; wherein, the identifier is 1, indicating that the value to be decoded is an odd number, and 0, indicating that the value to be decoded is an even number.
- run_length/2 parity+2+remainder ⁇ 1.
- the identifier when decoding the identifier indicating the parity of the value to be decoded and the quotient of the value to be decoded minus 2 and then divided by 2, the identifier may be decoded first, or the quotient may be decoded first. value, this disclosure does not limit this.
- the value to be decoded is the quotient of the zero run value divided by 2
- the zero run value decoding method also decodes the quotient of the zero run value divided by 2 before, after or at the same time as decoding the zero run value.
- the remainder of dividing the zero run value by 2; and multiplying the decoded quotient by 2 and adding the decoded remainder to obtain the decoded zero run value, expressed as: zero run value run_length (run_length/2)*2+(run_length%2), run_length/2 is the quotient obtained by decoding, and run_length%2 is the remainder obtained by decoding.
- the first flag bit in the above encoding process and decoding process is defined as a flag bit indicating whether the value to be encoded is equal to 1
- the second flag bit is defined as a flag bit indicating whether the value to be encoded is equal to 0.
- the quotient of dividing the zero run value by 2 is still called the "quotient”.
- the quotient value is the quotient of subtracting 2 from the quotient and then dividing it by 2. It is convenient to distinguish when both exist at the same time. Other embodiments are similar.
- Table 4 lists the comparison of the codewords used to encode zero run values of different lengths using the first embodiment (indicated by "A” in the table) and this embodiment (indicated by "C” in the table):
- 0 ⁇ 8 in the table represents the zero run value
- eq0 represents the flag bit whether the zero run value is equal to
- eq1 represents the flag bit whether the zero run value is equal to 1
- parity is the value of the identifier
- value represents the quotient value.
- This embodiment introduces a codeword that marks parity, which can divide the value to be encoded into two categories. When the value to be encoded is large, the encoding overhead can be saved. Experimental results show that using the zero-run value encoding and decoding method of this embodiment can bring significant performance gains.
- An embodiment of the present disclosure provides a zero-run value encoding method and a decoding method based on parity. Parity flags are used during encoding to improve encoding efficiency. This embodiment uses three flag bits.
- the process of encoding the value to be encoded is as follows.
- the value to be encoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to encode the first flag indicating whether the value to be encoded is equal to A according to the value to be encoded. When the value to be encoded is equal to A, the encoding is completed; when the value to be encoded is not equal to A, the encoding is completed. If so, proceed to step two;
- the second step is to encode the second flag indicating whether the value to be encoded is equal to B. If the value to be encoded is equal to B, the encoding is completed; if the value to be encoded is not equal to B, continue to the third step. ;
- the third step is to encode the third flag indicating whether the value to be encoded is equal to C. If the value to be encoded is equal to C, the encoding is completed; if the value to be encoded is not equal to C, continue to the fourth step. ;
- the fourth step is to encode the identifier indicating the parity of the value to be encoded and the quotient of the value to be encoded minus 3 and then divided by 2; where the identifier is 0 to indicate that the value to be encoded is an odd number, and 1 to indicate that the value to be encoded is an odd number.
- the value to be encoded is an even number;
- A, B, and C are respectively 0,1,2, or 0,2,1, or 1,0,2, or 1,2,0, or 2,0,1, or 2,1,0.
- the order of judging whether the value to be encoded is equal to 0, equal to 1 and equal to 2 can be adjusted and does not affect the achievement of the effect.
- the identifier may be encoded first, or the quotient value may be encoded first.
- the value to be decoded is the quotient of the zero run value divided by 2, then the zero run value is also encoded before, after, or at the same time as the quotient of the zero run value divided by 2. Remainder after dividing by 2.
- the process of decoding the value to be decoded is as follows.
- the value to be decoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to decode the first flag indicating whether the value to be decoded is equal to A. If it is determined according to the first flag that the value to be decoded is equal to A, the decoding is completed; and the decoding is completed according to the first flag. If the decoded value is not equal to A, continue to the second step;
- the second step decode the second flag indicating whether the value to be decoded is equal to B. If it is determined based on the second flag that the value to be decoded is equal to B, the decoding is completed; determine the value based on the second flag. If the decoded value is not equal to B, continue to the third step;
- the third step is to decode the third flag indicating whether the value to be decoded is equal to C. If it is determined based on the third flag that the value to be decoded is equal to C, the decoding is completed; the decoding is completed based on the third flag. If the decoded value is not equal to C, continue to step 4;
- the fourth step is to decode the identifier indicating the parity of the value to be decoded and the quotient of the value to be decoded minus 3 and then divided by 2; multiply the quotient value by 2, add 3 and then add the quotient of the identifier value to obtain the decoded value to be decoded;
- A, B, and C are respectively 0,1,2, or 0,2,1, or 1,0,2, or 1,2,0, or 2,0,1, or 2,1,0; That is, the order of determining whether the value to be decoded is equal to 0, equal to 1, and equal to 2 can be adjusted.
- the identifier if the identifier is 0, it means that the value to be decoded is an odd number, and if it is 1, it means that the value to be decoded is an even number.
- the identifier may be decoded first, or the quotient value may be decoded first.
- the value to be decoded is the quotient of the zero run value divided by 2, then before, after, or at the same time as decoding the quotient of the zero run value divided by 2, the zero run value is also decoded. The remainder after dividing by 2; and multiplying the decoded quotient by 2 and adding the decoded remainder to obtain the decoded zero run value.
- This embodiment introduces a codeword that marks parity, which can divide the value to be encoded into two categories.
- the encoding overhead can be saved and the encoding efficiency can be improved, thus bringing about performance gain.
- flag bits are used to indicate that the value to be encoded is equal to a set value such as 0, 1, and 2.
- more flag bits can be used to implement encoding with parity identifiers and quotient values to meet the needs of different scenarios.
- An embodiment of the present disclosure provides a zero-run value encoding method and a decoding method based on parity.
- a parity identifier is used during encoding to improve encoding efficiency.
- This embodiment uses a flag bit to indicate whether the value to be encoded is greater than 1. .
- the process of encoding the value to be encoded is as follows.
- the value to be encoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step according to the value to be encoded, encode an identifier indicating the parity of the value to be encoded and a flag bit indicating whether the value to be encoded is greater than 1.
- the value to be encoded is not greater than 1, the encoding is completed; If the value to be encoded is greater than 1, proceed to the second step;
- the flag bit can be encoded first, or the identifier can be encoded first.
- the second step is to encode the quotient of the value to be encoded minus 2 and divided by 2; where the identifier is 1, indicating that the value to be encoded is an odd number, and 0, indicating that the value to be encoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then the zero run value is also encoded before, after, or at the same time as the quotient of the zero run value divided by 2. Remainder after dividing by 2.
- the process of decoding the value to be decoded is as follows.
- the value to be decoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to decode the identifier indicating the parity of the value to be decoded and the flag bit indicating whether the value to be decoded is greater than 1. If it is determined based on the flag bit that the value to be decoded is not greater than 1, the identifier is The value is used as the decoded value to be decoded, and decoding is completed; if it is determined according to the flag bit that the value to be decoded is greater than 1, proceed to the second step;
- the second step is to decode the quotient of the value to be decoded minus 2 and then divide it by 2, multiply the quotient value by 2, add 2 and add the value of the identifier to obtain the decoded value to be decoded. ;
- the identifier is 1, indicating that the value to be decoded is an odd number, and the identifier is 0, indicating that the value to be decoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then before, after, or at the same time as decoding the quotient of the zero run value divided by 2, the zero run value is also decoded. The remainder after dividing by 2; and multiplying the decoded quotient by 2 and adding the decoded remainder to obtain the decoded zero run value.
- This embodiment introduces a code word that marks parity, which can divide the value to be encoded into two categories. With a flag bit to determine whether the value to be encoded is greater than 1, when the value to be encoded is large, the encoding overhead can be saved (it can be easily It is deduced that when the zero run value is 0 to 8, the codeword encoded according to this embodiment can be determined by comparing with the first embodiment), which improves the coding efficiency and thus brings about performance gain.
- An embodiment of the present disclosure provides a zero run value encoding method and a decoding method based on parity.
- a parity identifier is used during encoding to improve encoding efficiency.
- This embodiment also uses a flag indicating whether the value to be encoded is greater than 1. bit and a flag indicating whether the value to be encoded is greater than 3.
- the process of encoding the value to be encoded is as follows.
- the value to be encoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step encode an identifier indicating the parity of the value to be encoded and a first flag indicating whether the value to be encoded is greater than 1.
- the value to be encoded is not greater than 1, the encoding is completed. ; If the value to be encoded is greater than 1, proceed to the second step;
- the identifier may be encoded first, or the first flag bit may be encoded first.
- the second step is to encode the second flag indicating whether the value to be encoded is greater than 3. If the value to be encoded is not greater than 3, the encoding is completed; if the value to be encoded is greater than 3, continue to the third step. ;
- the encoding represents the quotient of the value to be encoded minus 4 and then divided by 2;
- the identifier is 1, it means that the value to be encoded is an odd number, and if it is 0, it means that the value to be encoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then the zero run value is also encoded before, after, or at the same time as the quotient of the zero run value divided by 2. Remainder after dividing by 2.
- the process of decoding the value to be decoded is as follows.
- the value to be decoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to decode the identifier indicating the parity of the value to be decoded and the first flag bit indicating whether the value to be decoded is greater than 1. If it is determined based on the first flag bit that the value to be decoded is not greater than 1, all The value of the identifier is used as the decoded value to be decoded, and decoding is completed; if it is determined based on the first flag bit that the value to be decoded is greater than 1, proceed to the second step;
- the third step is to decode the quotient of the value to be decoded minus 4 and then divided by 2. Multiply the quotient by 2 and add 4 to the value of the identifier to obtain the decoded value to be decoded. ; Wherein, the identifier is 1, indicating that the value to be decoded is an odd number, and the identifier is 0, indicating that the value to be decoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then before, after, or at the same time as decoding the quotient of the zero run value divided by 2, the zero run value is also decoded. The remainder after dividing by 2; and multiplying the decoded quotient by 2 and adding the decoded remainder to obtain the decoded zero run value.
- This embodiment introduces a codeword that marks parity, which can divide the value to be encoded into two categories. With a flag bit to judge whether the value to be encoded is greater than 1 and a flag bit to judge whether the value to be encoded is greater than 3, when the value to be encoded is larger than When large, the coding overhead can be saved (it can be easily deduced that when the zero run value is 0 to 16, the codeword obtained by encoding according to this embodiment can be determined by comparing it with the first embodiment), and the coding efficiency can be improved, thereby Bring performance gains.
- An embodiment of the present disclosure provides a zero-run value encoding method and a decoding method based on parity. Parity identifiers are used during encoding to improve encoding efficiency. This embodiment also uses a flag indicating whether the value to be encoded is greater than 0. bit and a flag indicating whether the value to be encoded is greater than 2.
- the process of encoding the value to be encoded is as follows.
- the value to be encoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to encode the first flag indicating whether the value to be encoded is greater than 0 according to the value to be encoded. When the value to be encoded is not greater than 0, the encoding is completed; when the value to be encoded is greater than 0, the encoding is completed. If so, proceed to step two;,
- the first flag bit indicating whether the value to be encoded is greater than 0 can also be called the first flag bit indicating whether the value to be encoded is equal to 0.
- the two are equivalent.
- the second step is to encode the identifier indicating the parity of the value to be encoded and the second flag bit indicating whether the value to be encoded is greater than 2.
- the encoding is completed; when the value to be encoded is If it is greater than 2, continue to step three;
- the third step is to encode the quotient of the value to be encoded minus 3 and divided by 2;
- the identifier if the identifier is 0, it means that the value to be encoded is an odd number, and if it is 1, it means that the value to be encoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then the zero run value is also encoded before, after, or at the same time as the quotient of the zero run value divided by 2. Remainder after dividing by 2.
- the process of decoding the value to be decoded is as follows.
- the value to be decoded is the zero run value or the quotient of the zero run value divided by 2:
- the first step is to decode the first flag bit that indicates whether the value to be decoded is greater than 0. If it is determined based on the first flag bit that the value to be decoded is not greater than 0, the decoded value to be decoded is 0. Decode Completed; if it is determined according to the first flag that the value to be decoded is greater than 0, proceed to the second step;
- the second step is to decode the identifier indicating the parity of the value to be decoded and the second flag bit indicating whether the value to be decoded is greater than 2. If it is determined based on the second flag bit that the value to be decoded is not greater than 2, all The value of the identifier is added by 1 as the decoded value to be decoded, and the decoding is completed; if it is determined based on the second flag bit that the value to be decoded is greater than 2, proceed to the third step;
- the third step is to decode the quotient of the value to be decoded minus 3 and divided by 2; multiply the quotient value by 2 and add 3 to the value of the identifier to obtain the decoded value to be decoded. ;
- the identifier is 0, indicating that the value to be decoded is an odd number, and is 1, indicating that the value to be decoded is an even number.
- the value to be decoded is the quotient of the zero run value divided by 2, then before, after, or at the same time as decoding the quotient of the zero run value divided by 2, the zero run value is also decoded. The remainder after dividing by 2; and multiplying the decoded quotient by 2 and adding the decoded remainder to obtain the decoded zero run value.
- This embodiment introduces a codeword that marks parity, which can divide the value to be encoded into two categories. With a flag bit to judge whether the value to be encoded is greater than 0 and a flag bit to judge whether the value to be encoded is greater than 2, when the value to be encoded is larger than When large, the coding overhead can be saved (for example, when the zero run value can be easily deduced to be 0 to 16, the codewords encoded according to this embodiment can be determined by comparing with the first embodiment), and the coding efficiency is improved. This results in performance gains.
- the above gives an example of using one flag bit and two flag bits, combining identifiers and numerical values to encode zero run values.
- These flag bits indicate whether the value to be encoded is greater than the set value.
- the set value can be 0, 1, 2,3 etc. It is easy to understand that more such flag bits can be set, and the zero run value can be encoded by combining appropriate identifiers and values, so I will not list them one by one here.
- An embodiment of the present disclosure also provides a zero-run value encoding method and a decoding method.
- the identifiers in this embodiment have different value methods.
- the identifier has only two values: 0 and 1.
- the divisor for calculating the identifier can also take other values. For example, when the divisor is 4, the identifier can have three values: 0, 1, 2, and 3.
- a flag bit is still used to indicate whether the zero run value is equal to 0, and the remainder after subtracting 1 from the zero run value and dividing it by 4 is used.
- the value of the identifier At this time, the identifier has four values: 0, 1, 2, 3.
- parity (run_length-1)% 4, and the calculated quotient becomes zero.
- decoding multiply the quotient by 4, add 1, and add the value of the identifier as the decoded zero run value. .
- the method in this example can also be used to encode and decode, and the quotient can be used as the value to be encoded and the value to be decoded instead of the zero run value.
- a flag bit indicating whether the zero run value is equal to 0 and a flag bit indicating whether the zero run value is equal to 1 are still used.
- the remainder after subtracting 2 from the run value and dividing by 4 is used as the value of the identifier.
- the identifier has four values: 0, 1, 2, 3.
- decoding multiply the quotient value by 4, add 2, and then add the flag.
- the value of the symbol is used as the decoded zero run value.
- the method in this example can also be used to encode and decode, and the quotient can be used as the value to be encoded and the value to be decoded instead of the zero run value.
- parity (run_length-3)%4
- An embodiment of the present disclosure also provides a video encoding method, as shown in Figure 11, including:
- Step 910 Obtain the attribute information of the video midpoint
- Step 920 Encode the attribute information of the midpoints in the video point by point according to the set order, use the zero run value to record the number of consecutive points with zero attribute information, and use the zero run value as described in any embodiment of the present disclosure.
- the value encoding method encodes the zero run value.
- This step can encode the zero run value when the attribute information of the current point is not zero and the quantized residual of the attribute of the last point is zero.
- the video is a point cloud video
- the attribute information of the points in the video includes at least one of the following: the quantized residual of the color of the point in the point cloud; the reflectivity of the point in the point cloud.
- Quantify residuals Regarding the process of encoding the quantized residual of the color of the point and the quantized residual of the reflectivity of the point in the point cloud attribute code stream point by point at the encoding end, please refer to the description of the first embodiment above. This embodiment describes the The method of encoding zero run values has been improved.
- the method before encoding the zero run value, further includes: determining whether to enable the parity-based zero run value encoding method according to a flag indicating the zero run value encoding method; determining to enable the parity-based zero run value encoding method; In the case of a specific zero-run value encoding method, the zero-run value is encoded according to the zero-run value encoding method described in any embodiment of the present disclosure.
- the flag in this example is related to a switch for enabling (also known as activation, use) or disabling (also known as deactivation, disabling).
- Embodiments of the present disclosure are based on parity (i.e., use indicates that to be encoded A zero-run value encoding that is an indicator of value parity).
- the encoding end can select an appropriate zero-run value encoding method according to the characteristics of the video to be processed.
- This flag can be set or generated locally at the encoding end.
- This flag can be encoded and written into the code stream, or passed to the decoding end through other methods, so that the decoding end can select the corresponding zero-run value decoding method based on this flag.
- the flag can have one or more bits.
- the flag can also be used to indicate which zero-run value encoding is used. Way.
- An embodiment of the present disclosure also provides a video decoding method, as shown in Figure 12, including:
- Step 1000 Decode the zero run value in the video code stream according to the method described in any embodiment of the present disclosure
- Step 1010 Decode the attribute information of the midpoint of the video code stream according to the decoded zero run value.
- the video code stream is an attribute code stream of a point cloud;
- the attribute information of the point includes at least one of the following: a quantized residual of the color of the point, a quantized residual of the reflectivity of the point. Difference.
- the process of decoding the quantized residual of the color of the point and the quantized residual of the reflectivity of the point in the point cloud attribute code stream at the decoding end point by point please refer to the description of the first embodiment above. In this embodiment, The method of decoding zero run values has been improved.
- the method before decoding the zero run-length value in the video code stream, the method further includes: determining whether to enable the parity-based zero run-length value encoding method according to a flag indicating the zero run-length value encoding method; and , when it is determined to enable the parity-based zero run-length encoding method, then decode the zero-run value in the video code stream according to the parity-based zero run value encoding method according to any embodiment of the present disclosure.
- the decoding end can configure the flag locally, or can receive the flag from the code stream or receive the flag sent from the encoding end through other methods, so as to use the corresponding zero run value decoding method to decode the zero run length based on the flag. value.
- the video is a point cloud video
- the video can also be other two-dimensional videos or three-dimensional videos.
- zero-value attribute information is encoded and decoded based on a zero-run value, it is easy to understand, and the zero-run value encoding and decoding method in any embodiment of the present disclosure can be used to improve encoding efficiency. That is, the solutions of the disclosed embodiments are applicable to similar scenarios in various video coding standards.
- Video coding standards include but are not limited to: H.264/Advanced Video Coding (AVC), H.265/High Efficiency Video Coding (HEVC), H.266/Versatile Video Coding (VVC), MPEG (Moving Picture Experts Group), AOM (Alliance for Open Media), AVS (Audio Video coding Standard) and extensions of these standards, or any other customized standards, etc.
- AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- VVC Very Low Efficiency Video Coding
- MPEG Motion Picture Experts Group
- AOM Alliance for Open Media
- AVS Audio Video coding Standard
- extensions of these standards or any other customized standards, etc.
- An embodiment of the present disclosure also provides a video code stream, which includes an information unit representing a zero run value.
- the information unit includes at least one of the following:
- N flag bits are set to indicate the relationship between the value to be decoded and the set value, N is a positive integer;
- Identifier set to indicate the parity of the value to be decoded
- the value to be decoded is the zero run value, or is the quotient of the zero run value divided by a first divisor, and the first divisor is a positive integer.
- the video code stream is an attribute code stream of a point cloud
- the zero run value is used to encode at least one of the following information: the quantized residual of the color of the point cloud, the point cloud Quantized residual of reflectance at midpoint.
- the video code stream further includes: a flag indicating the zero-run value encoding method, and a value of the flag indicates that the parity-based zero-run value encoding method is enabled.
- the arrangement order of the information units is as follows: N flag bits, the identifier, a value calculated based on the expected value; or, N flag bits, a value calculated based on the expected value. , the identifier; or, the identifier, N flag bits, a value calculated based on the expected value; or, some of the N flag bits, the identifier, N
- the remaining flag bits among the flag bits are values calculated based on the waiting values;
- the N flag bits that represent the relationship between the value to be encoded and the set value include any one or more of the following: a flag bit that indicates whether the value to be encoded is equal to the set value, and a flag bit that indicates whether the value to be encoded is greater than the set value.
- the identifier is 1, it means that the value to be encoded is an odd number, and if it is 0, it means that the value to be encoded is an even number; or if the identifier is 0, it means that the value to be encoded is an odd number, and if it is 1, it means that the value to be encoded is an even number;
- the information unit includes the following units in order:
- the value to be decoded is divided by 2 after subtracting 2. Quotient value, where A and B are 0,1 or 1,0 respectively; the identifier is 1, indicating that the value to be decoded is an odd number, and 0, indicating that the value to be decoded is an even number; or
- the quotient of the value to be decoded minus 1 and then divided by 2 is an identifier indicating the parity of the value to be decoded; where the identifier is 0, indicating a zero run value. is an odd number, 1 means that the zero run value is an even number; or
- the quotient of the value to be decoded minus 2 and then divided by 2 represents the parity of the value to be decoded. Identifier, where A and B are 0,1 or 1,0 respectively; the identifier is 1, indicating that the value to be decoded is an odd number, and 0, indicating that the value to be decoded is an even number; or
- An identifier indicating the parity of the value to be decoded a flag indicating whether the value to be decoded is greater than 1, the quotient of the value to be decoded minus 2 and divided by 2, where the identifier is 1, indicating that the value to be decoded is Odd number, 0 means the value to be decoded is an even number; or
- An identifier indicating the parity of the value to be decoded, the first flag bit indicating whether the value to be decoded is greater than 1, the second flag bit indicating whether the value to be decoded is greater than 3, indicating the quotient of the value to be decoded minus 4 and then divided by 2. value, where the identifier is 1, indicating that the value to be decoded is an odd number, and 0, indicating that the value to be decoded is an even number.
- An embodiment of the present disclosure also provides a zero-run value decoding device. As shown in Figure 14, it includes a processor 5 and a memory 6 storing a computer program. When the processor 5 executes the computer program, it can implement A zero-run value decoding method as described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a zero-run value encoding device. See Figure 14, which includes a processor and a memory storing a computer program. When the processor executes the computer program, it can implement any of the aspects of the present disclosure.
- An embodiment of the present disclosure also provides a video decoding device, see FIG. 14 , including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement any embodiment of the present disclosure.
- the video decoding method see FIG. 14 , including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a video encoding device, see FIG. 14 , including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement any embodiment of the present disclosure.
- the video encoding method see FIG. 14 , including a processor and a memory storing a computer program, wherein when the processor executes the computer program, it can implement any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a video encoding and decoding system, which includes a video encoding device as described in any embodiment of the present disclosure and a video decoding device as described in any embodiment of the present disclosure.
- An embodiment of the present disclosure also provides a non-transitory computer-readable storage medium.
- the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements any implementation of the present disclosure.
- Computer-readable media may include computer-readable storage media that corresponds to tangible media, such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, such as according to a communications protocol.
- Computer-readable media generally may correspond to non-transitory, tangible computer-readable storage media or communication media such as a signal or carrier wave.
- Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementing the techniques described in this disclosure.
- a computer program product may include computer-readable media.
- Such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory or may be used to store instructions or data. Any other medium that stores the desired program code in the form of a structure and that can be accessed by a computer.
- any connection is also termed a computer-readable medium if, for example, a connection is sent from a website, server, or using any of the following: coaxial cable, fiber-optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwave or other remote source transmits instructions, then coaxial cable, fiber optic cable, twin-wire, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of medium.
- coaxial cable, fiber optic cable, twin-wire, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of medium.
- disks and optical discs include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, or Blu-ray discs. Disks usually reproduce data magnetically, while optical discs use lasers to reproduce data. Regenerate data optically. Combinations of the above should also be included within the scope of computer-readable media.
- processors such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- FPGAs field programmable logic arrays
- Execute instructions may refer to any of the structures described above or any other structure suitable for implementing the techniques described herein.
- the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated in a combined codec.
- the techniques may be implemented entirely in one or more circuits or logic elements.
- inventions of the present disclosure may be implemented in a wide variety of devices or equipment, including wireless handsets, integrated circuits (ICs), or a set of ICs (eg, chipsets).
- ICs integrated circuits
- a set of ICs eg, chipsets.
- Various components, modules or units are depicted in embodiments of the present disclosure to emphasize functional aspects of devices configured to perform the described techniques, but do not necessarily require implementation by different hardware units. Rather, as described above, the various units may be combined in a codec hardware unit or provided by a collection of interoperating hardware units (including one or more processors as described above) in conjunction with suitable software and/or firmware.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Error Detection And Correction (AREA)
Abstract
La divulgation concerne des procédés de codage et de décodage de valeur de longueur de plage nulle et des procédés, des appareils et des systèmes de codage et de décodage vidéo. Lorsqu'un codage et un décodage point par point sont effectués sur des informations d'attribut de points dans une vidéo, des valeurs de longueur de plage nulle sont codées et décodées ; les valeurs de longueur de plage nulle sont codées, la parité de valeurs à coder est représentée à l'aide d'un marqueur de parité, et en combinaison avec un bit indicateur et une valeur numérique, ce qui achève le codage des valeurs à coder. Lors du décodage, le marqueur de parité, le bit indicateur et la valeur numérique sont utilisés pour acquérir une valeur de longueur de plage nulle. Les modes de réalisation de la présente divulgation concernent également des appareils et des systèmes de codage et de décodage correspondants. Les modes de réalisation de la présente divulgation peuvent réduire le surdébit de codage et augmenter l'efficacité de compression.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/080461 WO2023168712A1 (fr) | 2022-03-11 | 2022-03-11 | Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo |
| CN202280092225.7A CN118715720A (zh) | 2022-03-11 | 2022-03-11 | 零游程值编解码方法及视频编解码方法、装置和系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2022/080461 WO2023168712A1 (fr) | 2022-03-11 | 2022-03-11 | Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023168712A1 true WO2023168712A1 (fr) | 2023-09-14 |
Family
ID=87936939
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/080461 Ceased WO2023168712A1 (fr) | 2022-03-11 | 2022-03-11 | Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN118715720A (fr) |
| WO (1) | WO2023168712A1 (fr) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2358857A1 (fr) * | 1996-03-19 | 1997-09-25 | America Online Incorporated | Compression de donnees a affectation adaptative des bits et codage hybride a entropie sans perte |
| US5682152A (en) * | 1996-03-19 | 1997-10-28 | Johnson-Grace Company | Data compression using adaptive bit allocation and hybrid lossless entropy encoding |
| CN101202548A (zh) * | 2007-12-28 | 2008-06-18 | 北京邮电大学 | 一种双游程数据编码方法 |
| US20110052087A1 (en) * | 2009-08-27 | 2011-03-03 | Debargha Mukherjee | Method and system for coding images |
| CN112565734A (zh) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | 基于混合编码的点云属性编解码方法及装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
| CN102651795B (zh) * | 2012-05-15 | 2014-10-01 | 上海大学 | 游长缩减的二元序列压缩编码方法 |
-
2022
- 2022-03-11 WO PCT/CN2022/080461 patent/WO2023168712A1/fr not_active Ceased
- 2022-03-11 CN CN202280092225.7A patent/CN118715720A/zh active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2358857A1 (fr) * | 1996-03-19 | 1997-09-25 | America Online Incorporated | Compression de donnees a affectation adaptative des bits et codage hybride a entropie sans perte |
| US5682152A (en) * | 1996-03-19 | 1997-10-28 | Johnson-Grace Company | Data compression using adaptive bit allocation and hybrid lossless entropy encoding |
| CN101202548A (zh) * | 2007-12-28 | 2008-06-18 | 北京邮电大学 | 一种双游程数据编码方法 |
| US20110052087A1 (en) * | 2009-08-27 | 2011-03-03 | Debargha Mukherjee | Method and system for coding images |
| CN112565734A (zh) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | 基于混合编码的点云属性编解码方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| DATTA S, MCLAUGHLIN S W: "An enumerative method for Runlength-Limited Codes: Permutation codes", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE, USA, vol. 45, no. 6, 1 September 1999 (1999-09-01), USA, pages 2199 - 2204, XP002181996, ISSN: 0018-9448, DOI: 10.1109/18.782173 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118715720A (zh) | 2024-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2020397870B2 (en) | Method and apparatus for point cloud coding | |
| KR102645508B1 (ko) | Haar 기반 포인트 클라우드 코딩을 위한 방법 및 장치 | |
| CN108833927B (zh) | 一种基于删除量化矩阵中0元素的点云属性压缩方法 | |
| KR20220029595A (ko) | 포인트 클라우드 인코딩과 디코딩 방법, 인코더, 디코더 및 컴퓨터 저장 매체 | |
| JP2025004182A (ja) | 点群コーディングのためのパッチデータユニットのコーディングおよび復号 | |
| JP2015504545A (ja) | 予測位置符号化 | |
| WO2023184196A1 (fr) | Procédés de codage et de décodage de valeur d'exécution nulle et procédés, dispositifs et systèmes de codage et de décodage vidéo | |
| WO2023168712A1 (fr) | Procédés de codage et de décodage de valeur de longueur de plage nulle et procédés, appareils et systèmes de codage et de décodage vidéo | |
| WO2024174101A1 (fr) | Procédés de décodage et de codage de nuage de points, dispositif, système, support de stockage et flux de code | |
| TW202408237A (zh) | 一種點雲幀間補償方法、編解碼方法、碼流、裝置和系統 | |
| WO2024065269A1 (fr) | Procédé et appareil de codage et de décodage de nuage de points, dispositif, et support de stockage | |
| CN116458158B (zh) | 帧内预测方法及装置、编解码器、设备、存储介质 | |
| WO2024007253A1 (fr) | Procédé d'optimisation débit-distorsion de nuage de points, procédé et appareil de compression d'attribut, et support de stockage | |
| WO2024065270A1 (fr) | Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositifs, et support de stockage | |
| WO2023173237A1 (fr) | Procédé de codage, procédé de décodage, train de bits, codeur, décodeur et support d'enregistrement | |
| WO2023173238A1 (fr) | Procédé de codage, procédé de décodage, flux de code, codeur, décodeur et support d'enregistrement | |
| WO2024207247A1 (fr) | Procédé de codage de nuage de points, procédé de décodage de nuage de points, flux de code, codeur, décodeur et support d'enregistrement | |
| CN108513136A (zh) | 海量空间三维图像数据的压缩方法和读取方法 | |
| WO2025010590A9 (fr) | Procédé de décodage, procédé de codage, décodeur et codeur | |
| WO2024207235A1 (fr) | Procédé de codage/décodage, train de bits, codeur, décodeur et support de stockage | |
| WO2024207244A1 (fr) | Procédé de codage et de décodage de nuage de points, flux de code, codeur, décodeur et support de stockage | |
| WO2024065272A1 (fr) | Procédé et appareil de codage de nuage de points, procédé et appareil de décodage de nuage de points, dispositif, et support de stockage | |
| WO2023240660A1 (fr) | Procédé de décodage, procédé de codage, décodeur et codeur | |
| WO2024168607A1 (fr) | Procédé de décodage, procédé de codage, décodeur et codeur | |
| WO2024174092A9 (fr) | Procédé de codage/décodage, flux de code, codeur, décodeur et support d'enregistrement |
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: 22930350 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202280092225.7 Country of ref document: CN |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22930350 Country of ref document: EP Kind code of ref document: A1 |