Point cloud encoding processing method, point cloud decoding processing method, and related devices

By adaptively determining the point cloud block size and constructing a prediction tree for entropy coding, the redundancy problem in point cloud coding is solved, and coding efficiency is improved.

CN118678075BActive Publication Date: 2025-10-24VIVO MOBILE COMM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310243014.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2025-10-24
Estimated Expiration
2043-03-14

AI Technical Summary

Technical Problem

Existing technologies suffer from coding redundancy during point cloud encoding, resulting in low encoding efficiency.

Method used

The size of the point cloud block to be encoded is adaptively determined based on the geometric information of the point cloud, a prediction tree is constructed and entropy coding is performed to reduce coding redundancy.

Benefits of technology

It improves the efficiency of point cloud encoding, reduces encoding redundancy, and enhances encoding quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118678075B_ABST
    Figure CN118678075B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud encoding processing method, a point cloud decoding processing method and related equipment, and belongs to the technical field of computers. The point cloud encoding processing method comprises the following steps: determining a to-be-encoded point cloud block based on the geometric information of the point cloud; determining a first parameter based on the to-be-encoded point cloud block, wherein the first parameter is used for representing the number of bits required for encoding a second parameter, and the second parameter is used for indicating the size of the to-be-encoded point cloud block; constructing a prediction tree corresponding to the to-be-encoded point cloud block, and determining a prediction residual of a node in the prediction tree; and performing entropy encoding on the prediction residual based on the first parameter to obtain a geometric encoding result.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of computers, and particularly relates to a point cloud encoding processing method, a point cloud decoding processing method and related equipment. BACKGROUND

[0002] A point cloud is a form of representation of a three-dimensional object or scene, and is composed of a set of discrete points that are irregularly distributed in space and express the spatial structure and surface attributes of a three-dimensional object or scene. In order to accurately reflect the information in space, the number of discrete points required is quite large, and in order to reduce the bandwidth occupied when storing and transmitting point cloud data, it is necessary to perform encoding and compression processing on the point cloud data. Point cloud data is usually composed of geometric information such as three-dimensional coordinates (x, y, z) that describe a position, and attribute information such as color (R, G, B) or reflectivity of the position. In the encoding and compression process of point cloud data, the encoding of geometric information and attribute information is performed separately.

[0003] At present, in the process of encoding the geometric information of a point cloud by using a prediction tree encoding technology, the prediction residual is encoded based on a fixed encoding parameter set in advance, which causes encoding redundancy and makes the encoding efficiency low. SUMMARY

[0004] The embodiments of the present application provide a point cloud encoding processing method, a point cloud decoding processing method and related equipment, which can solve the problem of low encoding efficiency.

[0005] In a first aspect, a point cloud encoding processing method is provided, which is executed by an encoding end and includes the following steps.

[0006] A to-be-encoded point cloud block is determined based on the geometric information of a point cloud, a first parameter is determined based on the to-be-encoded point cloud block, the first parameter is used to represent the number of bits required for encoding a second parameter, and the second parameter is used to indicate the size of the to-be-encoded point cloud block;

[0007] A prediction tree corresponding to the to-be-encoded point cloud block is constructed, and a prediction residual of a node in the prediction tree is determined.

[0008] The prediction residual is entropy encoded based on the first parameter, and a geometric encoding result is obtained.

[0009] In a second aspect, a point cloud decoding processing method is provided, which is executed by a decoding end and includes the following steps.

[0010] A first parameter corresponding to a to-be-decoded point cloud block is obtained, the first parameter is used to represent the number of bits required for encoding a second parameter, and the second parameter is used to indicate the size of the to-be-decoded point cloud block;

[0011] entropy-decode, based on the first parameter, a geometry coding result corresponding to the to-be-decoded point cloud block, to obtain a prediction residual;

[0012] perform geometry reconstruction processing based on the prediction residual, to obtain geometry information.

[0013] In a third aspect, a point cloud encoding processing apparatus is provided, comprising:

[0014] a first determining module configured to determine a to-be-encoded point cloud block based on geometry information of a point cloud, determine a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the to-be-encoded point cloud block;

[0015] a second determining module configured to construct a prediction tree corresponding to the to-be-encoded point cloud block, and determine a prediction residual of a node in the prediction tree;

[0016] an encoding module configured to entropy-encode, based on the first parameter, the prediction residual, to obtain a geometry coding result.

[0017] In a fourth aspect, a point cloud decoding processing apparatus is provided, comprising:

[0018] an obtaining module configured to obtain a first parameter corresponding to a to-be-decoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the to-be-decoded point cloud block;

[0019] a decoding module configured to entropy-decode, based on the first parameter, a geometry coding result corresponding to the to-be-decoded point cloud block, to obtain a prediction residual;

[0020] a reconstruction module configured to perform geometry reconstruction processing based on the prediction residual, to obtain geometry information.

[0021] In a fifth aspect, a terminal is provided, comprising a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions being executed by the processor to implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0022] In a sixth aspect, a terminal is provided, comprising a processor and a communication interface, wherein the processor is configured to determine a to-be-encoded point cloud block based on geometry information of a point cloud, determine a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the to-be-encoded point cloud block; construct a prediction tree corresponding to the to-be-encoded point cloud block, and determine a prediction residual of a node in the prediction tree; and entropy-encode, based on the first parameter, the prediction residual, to obtain a geometry coding result.

[0023] In a seventh aspect, a terminal is provided, comprising a processor and a communication interface, wherein the processor is configured to: obtain a first parameter corresponding to a point cloud block to be decoded, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the point cloud block to be decoded; perform entropy decoding on a geometry coding result corresponding to the point cloud block to be decoded based on the first parameter, to obtain a prediction residual; and perform geometry reconstruction processing based on the prediction residual, to obtain geometry information.

[0024] In an eighth aspect, a readable storage medium is provided, the readable storage medium storing a program or instructions, which, when executed by a processor, implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0025] In a ninth aspect, a coding system is provided, comprising: an encoding device and a decoding device, the encoding device being configured to implement steps of the method according to the first aspect, and the decoding device being configured to implement steps of the method according to the second aspect.

[0026] In a tenth aspect, a chip is provided, comprising a processor and a communication interface, the communication interface being coupled to the processor, and the processor being configured to run a program or instructions, to implement the method according to the first aspect, or implement the method according to the second aspect.

[0027] In an eleventh aspect, a computer program / program product is provided, the computer program / program product being stored in a storage medium, and the program / program product being executed by at least one processor to implement steps of the method according to the first aspect, or implement steps of the method according to the second aspect.

[0028] In the embodiments of the present application, a point cloud block to be encoded is determined based on geometry information of a point cloud, a first parameter is determined based on the point cloud block to be encoded, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the point cloud block to be encoded; a prediction tree corresponding to the point cloud block to be encoded is constructed, and a prediction residual of each node in the prediction tree is determined; and the prediction residual is entropy encoded based on the first parameter, to obtain a geometry coding result. In this way, in the process of encoding geometry information of a point cloud by using a prediction tree coding technology, the first parameter is adaptively determined based on the size of the point cloud block to be encoded, and the prediction residual is entropy encoded based on the first parameter, which can reduce coding redundancy, and thus improve coding efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0029] Figure 1 is a schematic diagram of an AVS encoder framework in related technologies;

[0030] Figure 2 is a schematic diagram of an AVS decoder framework in the related art;

[0031] Figure 3 is a schematic diagram of a prediction tree in the related art;

[0032] Figure 4 is a flowchart of a point cloud encoding processing method provided by an embodiment of the present application;

[0033] Figure 5 is a flowchart of a point cloud decoding processing method provided by an embodiment of the present application;

[0034] Figure 6 is a schematic diagram of a point cloud encoding processing apparatus provided by an embodiment of the present application;

[0035] Figure 7 is a schematic diagram of a point cloud decoding processing apparatus provided by an embodiment of the present application;

[0036] Figure 8 is a schematic diagram of a communication device provided by an embodiment of the present application;

[0037] Figure 9 is a schematic diagram of a terminal provided by an embodiment of the present application. DETAILED DESCRIPTION

[0038] The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all the other embodiments obtained by those of ordinary skill in the art belong to the scope of protection of the present application.

[0039] The terms “first”, “second”, and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by “first”, “second” are generally of a kind and do not limit the number of objects, for example, the first object can be one or more. In addition, “or” in the present application means at least one of the connected objects. For example, “A or B” covers three schemes, namely, scheme one: including A and not including B; scheme two: including B and not including A; scheme three: including A and including B. The character “ / ” generally represents that the objects before and after are in an “or” relationship.

[0040] The term "indication" in this application can be either a direct indication (or explicit indication) or an indirect indication (or implicit indication). A direct indication can be understood as the sender explicitly informing the receiver of specific information, the operation to be performed, or the requested result, etc. in the instruction sent; an indirect indication can be understood as the receiver determining the corresponding information based on the instruction sent by the sender, or making a judgment and determining the operation to be performed or the requested result, etc. based on the judgment result.

[0041] The codec end corresponding to the point cloud codec processing method in the embodiment of the present application may be a terminal, which may also be referred to as a terminal device or user equipment (UE). The terminal may be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (PDA), a handheld computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile internet device (Mobile Internet Device, MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device (Wearable Device) or a vehicle-mounted device (VUE), a pedestrian terminal (PUE) and other terminal-side devices. Wearable devices include: smart watches, bracelets, headphones, glasses, etc. It should be noted that the specific type of the terminal is not limited in the embodiment of the present application.

[0042] For ease of understanding, some of the contents involved in the embodiments of this application are described below:

[0043] like Figure 1 and Figure 2 As shown in the figure, in the point cloud audio and video coding standard (AVS) codec framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately. The encoding process of the geometric information of the point cloud is as follows: the coordinates of the geometric information are transformed so that all the point clouds are contained in a bounding box. The geometric information of the point cloud is then quantized. This step of quantization mainly plays a role in scaling. Due to the quantization rounding, the geometric information of some points is the same. The parameters are used to decide whether to remove duplicate points. The process of quantization and removal of duplicate points belongs to the preprocessing process. Divide the three-dimensional space where the bounding box is located into several The size of the non-overlapping coding macroblocks, each macroblock as a basic coding unit. In each macroblock, different geometric coding methods can be used according to its characteristics.

[0044] In the related art, there are two kinds of geometric coding methods, one is octree coding, which is suitable for dense point clouds; and the other is prediction tree coding, which is suitable for sparse point clouds. If the current macroblock selects the prediction tree coding, first, the Morton sorting is performed on the part of the point cloud (this step is not necessary), and then the prediction tree is constructed for the sorted point cloud. The prediction tree adopts a single chain structure, as shown in Figure 3 In addition to the unique leaf node, each tree node has only one child node. Except that the root node is predicted by a default value, other nodes are provided with a geometric prediction value by their parent nodes. The method for constructing the prediction tree is as follows: an auxiliary KD tree (K-dimensional tree) is constructed by using the points to be coded. In order to reduce the complexity of construction, the number of nodes in the tree can be controlled at the coding end; first, the root node is selected, and then the nearest point to the root node in the KD tree is searched as the unique child node of the root node, and the child node is removed from the KD tree; the nearest neighbor of the child node is searched in the KD tree in the same way as the child node; and the construction of the entire prediction tree is completed in this way. The constructed prediction tree is a single chain tree. The KD tree is a binary tree in which each node is a k-dimensional point. Since each node in the prediction tree has only one child node and only one prediction mode, the geometric position residual of each point in the code stream only needs to be entropy coded to completely express the entire prediction tree, and thus the geometric coding is completed. After the geometric coding is completed, the geometric information is reconstructed to obtain a geometric reconstructed point cloud, which is used for re-painting in the attribute coding process.

[0045] Attribute coding is mainly for color and reflectance information. First, it is judged whether to perform color space conversion according to the parameters. If color space conversion is performed, the color information is converted from the RGB color space to the YUV color space. Then, the original point cloud is used to re-paint the geometric reconstructed point cloud, so that the uncoded attribute information corresponds to the reconstructed geometric information. In color information coding, after the point cloud is sorted by using the Morgen code, the nearest neighbor of the to-be-predicted point is searched by using the geometric space relationship, and the reconstructed attribute value of the found neighbor is used to predict the to-be-predicted point to obtain a predicted attribute value. Then, the real attribute value and the predicted attribute value are differenced to obtain a prediction residual. Finally, the prediction residual is quantized and coded to generate a binary code stream.

[0046] The point cloud coding processing method, the point cloud decoding processing method and the related equipment provided by the embodiments of the present application will be described in detail in combination with some embodiments and application scenarios thereof with reference to the accompanying drawings.

[0047] Referring to Figure 4 , Figure 4FIG. 1 is a flowchart of a point cloud encoding processing method provided by an embodiment of the present application, which can be applied to an encoding end, such as Figure 4 As shown in FIG. 1, the point cloud encoding processing method comprises the following steps:

[0048] Step 101, determining a to-be-encoded point cloud block based on the geometric information of the point cloud, determining a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent the number of bits required for encoding a second parameter, the second parameter being used to indicate the size of the to-be-encoded point cloud block.

[0049] The to-be-encoded point cloud block can be an encoding macro block, which is a basic encoding unit. The point cloud can be divided into a bounding box, and the three-dimensional space where the bounding box is located is divided into a plurality of non-overlapping encoding macro blocks, and the divided encoding macro blocks are taken as the to-be-encoded point cloud block. For example, the process of determining the to-be-encoded point cloud block based on the geometric information of the point cloud can be as follows: coordinate conversion is performed on the geometric information, so that all the point clouds are contained in a bounding box, and the three-dimensional space where the bounding box is located is divided into a plurality of non-overlapping encoding macro blocks of different sizes, and the divided encoding macro blocks are taken as the to-be-encoded point cloud block. The size of the to-be-encoded point cloud block can be represented by the second parameter.

[0050] In addition, the second parameter can represent the bit depth of the edge length of the to-be-encoded point cloud block. The bit depth of the edge length of the to-be-encoded point cloud block can refer to the number of bits required to represent the edge length of the to-be-encoded point cloud block. For example, the second parameter can represent the bit depth of the longest edge length of the to-be-encoded point cloud block; or the second parameter can include a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter representing the bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter representing the bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter representing the bit depth of the to-be-encoded point cloud block in a third direction. For example, the to-be-encoded point cloud block is a cuboid, the bit depth of the cuboid in the length direction is 32, the bit depth of the cuboid in the width direction is 15, and the bit depth of the cuboid in the height direction is 8. The second parameter can be 32, or the second parameter can include 32, 15 and 8.

[0051] It should be noted that the first parameter can be the minimum number of bits required for encoding the second parameter, or can be described as representing the number of bits required for the second parameter. For example, if the second parameter is 32, the number of bits required for encoding the second parameter is 6 bits, and the first parameter is 6; for example, if the second parameter includes 32, 15 and 8, the number of bits required for encoding the second parameter is 6 bits, 4 bits and 4 bits respectively, and the first parameter includes 6, 4 and 4.

[0052] Step 102, constructing a prediction tree corresponding to the to-be-encoded point cloud block, and determining the prediction residual of a node in the prediction tree.

[0053] The KD tree can be constructed based on the points in the to-be-encoded point cloud block, a root node is selected, a point nearest to the root node in the constructed KD tree is searched as a unique child node of the root node, and the child node is removed from the KD tree; a nearest neighbor of the child node in the KD tree is searched as a child node of the child node in the same way; and the construction of the single-chain tree is implemented in this way, and the constructed single-chain tree is the prediction tree corresponding to the to-be-encoded point cloud block.

[0054] In addition, the prediction residual of the node in the prediction tree can be determined, the prediction residual of each node in the prediction tree can be determined, the prediction residual can be entropy encoded based on the first parameter, and the geometry encoding result of each node can be obtained by entropy encoding the prediction residual of each node based on the first parameter. When calculating the prediction residual of a node, the calculation method of the prediction residual of each node in the prediction tree is the same except for the root node. For example, the prediction residual of a node is the difference between the geometric position coordinates of the node and the geometric position coordinates of the previous node. The prediction residual of the root node can be the difference between the geometric position coordinates of the root node and a first preset value, which can be 0 or another preset value.

[0055] Step 103, entropy encoding the prediction residual based on the first parameter to obtain a geometry encoding result.

[0056] The entropy encoding of the prediction residual based on the first parameter to obtain the geometry encoding result can include performing a shift operation on the absolute value of the prediction residual to obtain a first value, determining a target encoding bit number required for encoding the first value, encoding the target encoding bit number with the first parameter as the encoding bit number to obtain a first encoding sub-result, encoding the first value based on the target encoding bit number to obtain a second encoding sub-result, performing a modulo operation on the absolute value of the prediction residual to obtain a second value, encoding the second value to obtain a third encoding sub-result, and encoding a third value to obtain a fourth encoding sub-result, the third value being used to indicate whether the prediction residual is greater than zero. The geometry encoding result includes the first encoding sub-result, the second encoding sub-result, the third encoding sub-result, and the fourth encoding sub-result.

[0057] In the embodiments of the present application, a to-be-encoded point cloud block is determined based on geometric information of a point cloud, a first parameter is determined based on the to-be-encoded point cloud block, the first parameter is used to represent a number of bits required for encoding a second parameter, and the second parameter is used to indicate a size of the to-be-encoded point cloud block; a prediction tree corresponding to the to-be-encoded point cloud block is constructed, and a prediction residual of each node in the prediction tree is determined; and the prediction residual is entropy encoded based on the first parameter to obtain a geometric encoding result. In this way, in the process of encoding the geometric information of the point cloud by using the prediction tree encoding technology, the first parameter is adaptively determined according to the size of the to-be-encoded point cloud block, and the prediction residual is entropy encoded based on the first parameter, so that the encoding redundancy can be reduced, and the encoding efficiency can be improved.

[0058] Optionally, the entropy encoding of the prediction residual based on the first parameter comprises:

[0059] performing a shift operation on the absolute value of the prediction residual to obtain a first value;

[0060] determining a target encoding bit number required for encoding the first value;

[0061] encoding the target encoding bit number by using the first parameter as an encoding bit number to obtain a first encoding sub-result;

[0062] The geometric encoding result comprises the first encoding sub-result.

[0063] Optionally, the shift operation on the absolute value of the prediction residual to obtain a first value can be a right shift operation on a to-be-shifted value corresponding to the absolute value of the prediction residual to obtain the first value. The to-be-shifted value can be the absolute value of the prediction residual, or can be a difference between the absolute value of the prediction residual and a second preset value. The second preset value can be 1, or can be another preset value. For example, the first value ResHalf is ResHalf = absRes-1>>1, and absRes is the absolute value of the prediction residual.

[0064] In addition, the encoding bit number can be understood as an encoding bit number. The target encoding bit number can be a minimum encoding bit number required for encoding the first value. For example, when the first value is 2 32 , the target encoding bit number is 32. For example, when the first parameter is 6, the first encoding sub-result is 100000.

[0065] It should be noted that the number of encoding bits required for encoding the first value is less than or equal to the number of encoding bits required for encoding the absolute value of the prediction residual, the number of encoding bits required for encoding the absolute value of the prediction residual is less than or equal to the number of bits required for encoding the size of the to-be-encoded point cloud block, the second parameter can represent the bit depth of the side length of the to-be-encoded point cloud block, and therefore the number of encoding bits required for encoding the first value (i.e., the target number of encoding bits) is less than or equal to the second parameter, so that the number of bits required for encoding the target number of encoding bits is less than or equal to the number of bits required for encoding the second parameter (i.e., the first parameter). Encoding the target number of encoding bits by using the first parameter as the number of encoding bits can meet the encoding requirement of the target number of encoding bits, and can greatly reduce encoding redundancy and improve encoding efficiency.

[0066] In this embodiment, the absolute value of the prediction residual is subjected to a shift operation to obtain a first value; a target number of encoding bits required for encoding the first value is determined; and the target number of encoding bits is encoded by using the first parameter as the number of encoding bits to obtain a first encoding sub-result; wherein the geometric encoding result comprises the first encoding sub-result. In this way, by encoding the target number of encoding bits by using the first parameter adaptively determined according to the size of the to-be-encoded point cloud block as the number of encoding bits, compared with encoding the target number of encoding bits by using a fixed encoding parameter set in advance, encoding redundancy can be reduced and encoding efficiency can be improved.

[0067] Optionally, the entropy encoding the prediction residual based on the first parameter further comprises:

[0068] encoding the first value based on the target number of encoding bits to obtain a second encoding sub-result;

[0069] performing a remainder operation on the absolute value of the prediction residual to obtain a second value;

[0070] encoding the second value to obtain a third encoding sub-result;

[0071] encoding a third value to obtain a fourth encoding sub-result, the third value being used to indicate whether the prediction residual is greater than zero;

[0072] The geometric encoding result comprises the first encoding sub-result, the second encoding sub-result, the third encoding sub-result, and the fourth encoding sub-result.

[0073] The remainder operation on the absolute value of the prediction residual to obtain a second value can be a remainder operation on the absolute value of the prediction residual and 2 to obtain a second value. For example, the second value ResRemainder is: ResRemainder = absRes % 2.

[0074] In addition, the third value is used to indicate whether the prediction residual is greater than zero, so that the positive and negative signs of the prediction residual can be encoded by encoding the third value.

[0075] It should be noted that whether the prediction residual is 0 can also be indicated by an identifier, and the identifier is transmitted to the decoding end.

[0076] In this embodiment, the first value is encoded based on the target number of encoding bits to obtain a second encoding sub-result; the absolute value of the prediction residual is processed by a modulo operation to obtain a second value; the second value is encoded to obtain a third encoding sub-result; the third value is encoded to obtain a fourth encoding sub-result, the third value being used to indicate whether the prediction residual is greater than zero; wherein the geometric encoding result comprises the first encoding sub-result, the second encoding sub-result, the third encoding sub-result and the fourth encoding sub-result, so that the entropy encoding of the prediction residual can be realized.

[0077] Optionally, the second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter representing a bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter representing a bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter representing a bit depth of the to-be-encoded point cloud block in a third direction.

[0078] The first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter representing a number of bits required for encoding the first sub-parameter, the fifth sub-parameter representing a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter representing a number of bits required for encoding the third sub-parameter.

[0079] The entropy encoding of the prediction residual based on the first parameter comprises:

[0080] The prediction residual in the first direction is entropy encoded based on the fourth sub-parameter.

[0081] The prediction residual in the second direction is entropy encoded based on the fifth sub-parameter.

[0082] The prediction residual in the third direction is entropy encoded based on the sixth sub-parameter.

[0083] The first direction, the second direction and the third direction can be directions of three coordinate axes of a three-dimensional space where the point cloud is located, or can be a length direction, a width direction and a height direction of the to-be-encoded point cloud block. Taking the first direction, the second direction and the third direction as directions of three coordinate axes (namely, X, Y and Z axes) of a three-dimensional space where the point cloud is located as an example, the bit depth of the to-be-encoded point cloud block in the first direction can refer to a bit depth of a length of the to-be-encoded point cloud block in the first direction, that is, a number of bits required to represent the length of the to-be-encoded point cloud block in the first direction; the bit depth of the to-be-encoded point cloud block in the second direction can refer to a bit depth of a length of the to-be-encoded point cloud block in the second direction, that is, a number of bits required to represent the length of the to-be-encoded point cloud block in the second direction; and the bit depth of the to-be-encoded point cloud block in the third direction can refer to a bit depth of a length of the to-be-encoded point cloud block in the third direction, that is, a number of bits required to represent the length of the to-be-encoded point cloud block in the third direction.

[0084] In addition, the prediction residual of the node can include a prediction residual in the first direction, a prediction residual in the second direction and a prediction residual in the third direction. Taking the first direction as the X-axis direction, the second direction as the Y-axis direction and the third direction as the Z-axis direction as an example, the prediction residual of the node can include a prediction residual in the X-axis direction, a prediction residual in the Y-axis direction and a prediction residual in the Z-axis direction. The first sub-parameter represents the bit depth of the to-be-encoded point cloud block in the X-axis direction, the second sub-parameter represents the bit depth of the to-be-encoded point cloud block in the Y-axis direction, and the third sub-parameter represents the bit depth of the to-be-encoded point cloud block in the Z-axis direction, so that the prediction residuals in the X-axis direction, the Y-axis direction and the Z-axis direction can be respectively entropy encoded by the fourth sub-parameter, the fifth sub-parameter and the sixth sub-parameter.

[0085] In this embodiment, the second parameter includes a first sub-parameter, a second sub-parameter and a third sub-parameter, and the first parameter includes a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter. The prediction residual in the first direction is entropy encoded based on the fourth sub-parameter, the prediction residual in the second direction is entropy encoded based on the fifth sub-parameter, and the prediction residual in the third direction is entropy encoded based on the sixth sub-parameter. In this way, the prediction residuals of the node of the to-be-encoded point cloud block in each direction can be respectively entropy encoded according to the bit depths of the to-be-encoded point cloud block in each direction, so that the coding redundancy in each direction can be reduced and the coding efficiency can be improved.

[0086] Optionally, after the prediction residual is entropy encoded based on the first parameter to obtain the geometry coding result, the method further includes:

[0087] sending the geometry code stream to a decoding end, the geometry code stream including the geometry coding result and the first parameter.

[0088] It should be noted that the first parameter can be transmitted from the encoding end to the decoding end, or can be calculated by the decoding end through the bit depth of the point cloud and does not need to be written into the code stream and transmitted to the decoding end.

[0089] In this embodiment, the geometry code stream is sent to the decoding end, and the geometry code stream includes the geometry coding result and the first parameter, so that the decoding end can decode the prediction residual through the first parameter carried in the geometry code stream.

[0090] Optionally, the first parameter is determined based on the to-be-encoded point cloud block, including:

[0091] In a case where a longest side length of the to-be-encoded point cloud block is less than or equal to a threshold, the first parameter is determined based on the to-be-encoded point cloud block.

[0092] The threshold can be set to 2 32 , or can be set to 2 40 , or can be set to 2 50 , and the like. The embodiment does not limit the threshold, and the threshold can be set in advance. The longest side length of the to-be-encoded point cloud block being less than or equal to the threshold can be understood as that the bit depth of the longest side length of the to-be-encoded point cloud block has an upper limit. When the longest side length of the to-be-encoded point cloud block is greater than the threshold, it can be considered that the bit depth of the supported encoded point cloud is exceeded. At this time, the to-be-encoded point cloud block can not be encoded.

[0093] It should be noted that in the related art, the AVS encoding platform does not specify the bit depth upper limit of the supported encoded point cloud, and therefore if the bit depth of the to-be-encoded point cloud block is greater than 31, the existing prediction tree encoding technology still uses fixed 5 bits to encode the minimum number of coding bits required for ResHalf, which can cause insufficient bits and result in failure of normal encoding and decoding. By limiting the bit depth of the longest side length of the to-be-encoded point cloud block, and by using the first parameter adaptively determined by the size of the to-be-encoded point cloud block as the coding number to encode the minimum number of coding bits required for encoding ResHalf, normal encoding and decoding can be achieved.

[0094] It should be noted that the embodiment of the present application relates to the prediction tree entropy coding part in the AVS encoder framework.

[0095] In the related art, in the AVS encoding process, the prediction residual of the node in the prediction tree corresponding to the geometry information is encoded in the following process:

[0096] The prediction residual value of the node in the prediction tree is denoted as Res i[k], k = 0, 1, 2 represent the corresponding geometric position coordinates X, Y, Z; i represents the point number, i = 0, 1, …, N-1, N is the point number of the node in the point cloud block to be encoded. For the prediction residual between two adjacent points (P i-1 and P i ), it is:

[0097]

[0098] For Res i [k], its absolute value is defined as absRes i [k].

[0099] The encoding method of the absolute value absRes i [k] of the prediction residual is as follows:

[0100] (1) Determine whether the current absRes i [k] is zero, if it is zero, a flag bit is used for indication;

[0101] (2) If absRes i [k] is not zero, calculate:

[0102] ResHalf i [k] = absRes i [k] - 1 >> 1, ResRemainder i [k] = absRes i [k] % 2;

[0103] Wherein, ">>" is the right shift operator symbol, "%" is the remainder operator symbol.

[0104] (3) Calculate the minimum number of coding bits B i [k] required for encoding ResHalf i .

[0105] (4) Design a context model to encode B i [k] (b4b3b2b1b0), using fixed 5-bit coding B i [k], design a part of the related context model ctxNumBits[ctxIdx] to encode the bit number of B i [k] :

[0106] ctxIdx = 0, encode b0;

[0107] ctxIdx = 1 + b0, encode b1;

[0108] ctxIdx = 3 + b1, encode b2;

[0109] ctxIdx = 5 + b2 + b1 * 2, encode b3;

[0110] ctxIdx = 9, encode b4;

[0111] According to the number of bits B i [k], encode ResHalf o [k] bit by bit; encode ResRemainder i [k].

[0112] The sign of the prediction residual Res o [k] is encoded.

[0113] It should be noted that in the related art, when the prediction tree coding technology encodes the absolute value of the residual, a fixed 5-bit bit is used to encode ResHalf o The minimum number of encoding bits B o [k] required, for a smaller point cloud block to be encoded, the number of bits required for encoding B i [k] is less than 5 bits, if a fixed 5-bit encoding is used, there will be a waste of bits, causing coding redundancy, and there is also a redundancy occupation in the use of the context model.

[0114] In the embodiments of the present application, when coding based on the prediction tree, the encoding bit depth B i [k] required for encoding ResHalf i [k] is adaptively calculated based on the size of the current point cloud block, which can improve the coding efficiency and reduce the redundancy occupation of the context model.

[0115] As a specific embodiment, the point cloud encoding processing method performed by the encoding end can include the following processes:

[0116] Step (11): first define an upper limit for the size (or bit depth) of the current point cloud block to be encoded, and use the parameter MaxLCUDimLog2 to represent it, then obtain the bit depth in three directions based on the size of the current point cloud block to be encoded, calculate the number of bits required to represent the bit depth, and use the parameter Maxnumbits[k] to represent it, k = 0, 1, 2 represents the corresponding geometric position X, Y, Z dimension. The Maxnumbits[k] parameter is transmitted to the decoding end as an identifier.

[0117] Step (12): Morden sort the points in the current point cloud block to be encoded (this step is not necessary), construct a prediction tree for the sorted point cloud, and after the construction is completed, predict each point and obtain its prediction residual, denoted as Res i[k], k = 0, 1, 2 represent the corresponding geometric position coordinates X, Y, Z; i represents the point number, i = 0, 1, …, N-1, N is the point number of the point cloud block to be encoded. For the prediction residual between two adjacent points (P i-1 and P i ) is:

[0118]

[0119] wherein, P i is the geometric position coordinate of i point, P i-1 is the geometric position coordinate of i-1 point.

[0120] For Res i [k], its absolute value is defined as absRes i [k].

[0121] Step (13): the encoding method of the absolute value absRes i [k] of the prediction residual is as follows:

[0122] (a) determine whether the current absRes i [k] is zero, if it is zero, a flag bit is used for indication;

[0123] (b) if absRes i [k] is not zero, then calculate:

[0124] ResHalf i [k] = absRes i [k] >> 1, ResRemainder i [k] = absRes i [k] % 2;

[0125] wherein, ">>" is the right shift operator symbol, "%" is the remainder operator symbol.

[0126] (c) calculate the minimum number of encoding bits B i [k] required for encoding ResHalf i .

[0127] (d) design a context model to encode B i [k], the number of bits required is Maxnumbits[k], design part of the related context model ctxNumBits[ctxIdx] to encode each bit b0b1...b i [k] of B n :

[0128] ctxIdx = 0, encode b0;

[0129] ctxIdx = 1 + b0, encode b1;

[0130] ctxIdx = 3 + b1, encode b2;

[0131] ctxIdx = 5 + b2 + b1*2, encode b3;

[0132] ctxIdx = 9, encode b4, b5,..., b n ;

[0133] where n-1 is the number of bits of B i [k].

[0134] According to the number of bits B i , the ResHalf i [k] is encoded bit by bit; and then ResRemainder i [k] is encoded.

[0135] Step (14): encode the sign of the prediction residual Res i [k].

[0136] The steps (11) to (14) are repeatedly performed to entropy encode the prediction residual of the geometric position of each point until the last point is encoded, and the geometric encoding is completed.

[0137] Referring to Figure 5 , Figure 5 is a flowchart of a point cloud decoding processing method provided by an embodiment of the present application, which can be applied to a decoding end, as shown in FIG. 1, the point cloud decoding processing method comprises the following steps: Figure 5

[0138] Step 201: acquiring a first parameter corresponding to a to-be-decoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, and the second parameter being used to indicate a size of the to-be-decoded point cloud block;

[0139] Step 202: entropy decoding a geometric coding result corresponding to the to-be-decoded point cloud block based on the first parameter, to obtain a prediction residual;

[0140] Step 203: performing geometric reconstruction processing based on the prediction residual, to obtain geometric information.

[0141] Optionally, the geometric coding result comprises a first encoding sub-result, a second encoding sub-result, a third encoding sub-result and a fourth encoding sub-result.

[0142] The entropy decoding of the geometric coding result corresponding to the to-be-decoded point cloud block based on the first parameter, to obtain a prediction residual, comprises:

[0143] ​decode the first encoding sub-result based on the first parameter to obtain a target encoding bit number;

[0144] decode the second encoding sub-result based on the target encoding bit number to obtain a first value;

[0145] decode the third encoding sub-result to obtain a second value, the second value being a value obtained by performing a modulo operation on an absolute value of the prediction residual;

[0146] decode the fourth encoding sub-result to obtain a third value, the third value being used to indicate whether the prediction residual is greater than zero;

[0147] determine the prediction residual based on the first value, the second value and the third value.

[0148] Optionally, the decoding, based on the first parameter, of the first encoding sub-result to obtain a target encoding bit number comprises:

[0149] decoding, based on the first parameter as a decoding bit number, of the first encoding sub-result to obtain a target encoding bit number, the target encoding bit number being an encoding bit number required for encoding the first value, the first value being a value obtained by performing a shift operation on an absolute value of the prediction residual.

[0150] Optionally, the second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a first direction, the second sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a second direction, and the third sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a third direction.

[0151] the first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter indicating a bit number required for encoding the first sub-parameter, the fifth sub-parameter indicating a bit number required for encoding the second sub-parameter, and the sixth sub-parameter indicating a bit number required for encoding the third sub-parameter.

[0152] the entropy decoding, based on the first parameter, of the geometric encoding result corresponding to the to-be-decoded point cloud block comprises:

[0153] entropy decoding, based on the fourth sub-parameter, of the geometric encoding result of the to-be-decoded point cloud block in the first direction;

[0154] entropy decoding, based on the fifth sub-parameter, of the geometric encoding result of the to-be-decoded point cloud block in the second direction;

[0155] entropy decoding, based on the sixth sub-parameter, of the geometric encoding result of the to-be-decoded point cloud block in the third direction.

[0156] Optionally, the obtaining the first parameter corresponding to the to-be-decoded point cloud block comprises:

[0157] receiving a geometry bitstream sent by the decoding end, the geometry bitstream comprising a geometry coding result corresponding to the to-be-decoded point cloud block and the first parameter.

[0158] Optionally, the obtaining the first parameter corresponding to the to-be-decoded point cloud block comprises:

[0159] In a case where a longest side length of the to-be-decoded point cloud block is less than or equal to a threshold, the first parameter corresponding to the to-be-decoded point cloud block is obtained.

[0160] It should be noted that the embodiment is used as an implementation of the decoding side corresponding to the embodiment shown in Figure 4 , and the specific implementation can be referred to the related description of the embodiment shown in Figure 4 , and the embodiment will not be described in detail again to avoid repetition, and the same beneficial effects can also be achieved.

[0161] As a specific embodiment, the point cloud decoding processing method performed by the decoding end comprises the following processes:

[0162] Step (21): The size (or bit depth) of the to-be-decoded point cloud block needs to be within a set MaxLCUDimLog2 parameter to be decoded. The Maxnumbits[k] parameter is parsed from the geometry bitstream.

[0163] Step (22): The prediction residual information is parsed from the geometry bitstream in the following manner:

[0164] (a) The absolute value absRes i [k] of the current prediction residual is parsed, and if the absolute value is zero, the prediction residual Res i [k] is 0; k=0, 1, 2 represent the corresponding geometric position coordinates X, Y, Z; i represents the point number, i=0, 1, …, N-1, and N is the point number of the to-be-decoded point cloud block.

[0165] (b) If the absolute value absRes i [k] is not zero, the ResHalf i [k] is parsed by using the parameter Maxnumbits[k] to indicate the minimum number of required coding bits B i [k]:

[0166] In the parsing process, the related context model ctxNumBits[ctxIdx] is used to decode each bit b0b1...b i [k] of B n [k]:

[0167] ctxIdx=0,decode b0;

[0168] ctxIdx=1+b0, decode b1;

[0169] ctxIdx=3+b1, decode b2;

[0170] ctxIdx=5+b2+b1*2, decode b3;

[0171] ctxIdx=9, decode b4, b5, ..., b n ;

[0172] Among them, n-1 is B i The number of bits in [k].

[0173] (c) According to the number of bits B i , decode ResHalf bit by bit i [k]; then decode ResRemainder i [k];

[0174] Step (23): For the prediction residual Res i [k] is decoded.

[0175] Repeat the above steps (21) to (23) to perform entropy decoding and coordinate compensation on the prediction residual of the geometric position of each point until the last point is decoded. At this time, the geometric information is reconstructed and the decoding is completed.

[0176] This embodiment proposes an entropy encoding and decoding method based on a prediction tree. When encoding and decoding based on the prediction tree, the encoding ResHalf is adaptively calculated according to the current point cloud block size. i The number of coding bits required B i The bit depth of [k] can improve coding efficiency and reduce the redundant occupancy of the context model.

[0177] It should be noted that the point cloud coding processing method provided in the embodiments of the present application can be executed by a point cloud coding processing device, or a control module in the point cloud coding processing device for executing the point cloud coding processing method. In the embodiments of the present application, the point cloud coding processing device provided in the embodiments of the present application is described by taking the point cloud coding processing method executed by the point cloud coding processing device as an example.

[0178] See Figure 6 , Figure 6 This is a structural diagram of a point cloud coding processing device provided in an embodiment of the present application. Figure 6 As shown, the point cloud coding processing device 300 includes:

[0179] The first determining module 301 is configured to determine a to-be-encoded point cloud block based on geometric information of the point cloud, determine a first parameter based on the to-be-encoded point cloud block, and the first parameter is used to represent a number of bits required for encoding a second parameter, and the second parameter is used to indicate a size of the to-be-encoded point cloud block.

[0180] The second determining module 302 is configured to construct a prediction tree corresponding to the to-be-encoded point cloud block, and determine a prediction residual of a node in the prediction tree.

[0181] The encoding module 303 is configured to perform entropy encoding on the prediction residual based on the first parameter, to obtain a geometric encoding result.

[0182] Optionally, the encoding module is specifically configured to:

[0183] perform a shift operation on an absolute value of the prediction residual to obtain a first value;

[0184] determine a target encoding bit number required for encoding the first value;

[0185] encode the target encoding bit number with the first parameter as an encoding bit number to obtain a first encoding sub-result;

[0186] The geometric encoding result includes the first encoding sub-result.

[0187] Optionally, the encoding module is further configured to:

[0188] encode the first value based on the target encoding bit number to obtain a second encoding sub-result;

[0189] perform a remainder operation on the absolute value of the prediction residual to obtain a second value;

[0190] encode the second value to obtain a third encoding sub-result;

[0191] encode a third value to obtain a fourth encoding sub-result, and the third value is used to indicate whether the prediction residual is greater than zero;

[0192] The geometric encoding result includes the first encoding sub-result, the second encoding sub-result, the third encoding sub-result, and the fourth encoding sub-result.

[0193] Optionally, the second parameter includes a first sub-parameter, a second sub-parameter, and a third sub-parameter, the first sub-parameter represents a bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter represents a bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter represents a bit depth of the to-be-encoded point cloud block in a third direction.

[0194] The first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter represents a number of bits required for encoding the first sub-parameter, the fifth sub-parameter represents a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter represents a number of bits required for encoding the third sub-parameter.

[0195] The entropy encoding of the prediction residual based on the first parameter comprises:

[0196] entropy encoding of the prediction residual in the first direction based on the fourth sub-parameter;

[0197] entropy encoding of the prediction residual in the second direction based on the fifth sub-parameter;

[0198] entropy encoding of the prediction residual in the third direction based on the sixth sub-parameter.

[0199] Optionally, the apparatus further comprises:

[0200] a sending module configured to send a geometry bitstream to a decoding end, the geometry bitstream comprising the geometry coding result and the first parameter.

[0201] Optionally, the first determining module is specifically configured to:

[0202] in a case where a length of a longest side of the to-be-encoded point cloud block is less than or equal to a threshold, determining a first parameter based on the to-be-encoded point cloud block.

[0203] The point cloud encoding processing apparatus 300 in the embodiments of the present application can reduce coding redundancy, thereby improving coding efficiency.

[0204] The point cloud encoding processing apparatus in the embodiments of the present application can be an apparatus, an apparatus with an operating system or an electronic device, or a component in a terminal, an integrated circuit or a chip. The apparatus or the electronic device can be a mobile terminal or a non-mobile terminal. Illustratively, the mobile terminal can include, but is not limited to, the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine or a self-service machine, etc., and the embodiments of the present application are not limited in this regard.

[0205] The point cloud encoding processing apparatus provided in the embodiments of the present application can implement the method embodiments Figure 4 achieve the same technical effects, and thus details are not repeated here.

[0206] It should be noted that the point cloud decoding processing method provided in the embodiments of the present application can be executed by a point cloud decoding processing device, or a control module in the point cloud decoding processing device for executing the method of point cloud decoding processing. In the embodiments of the present application, the method of point cloud decoding processing executed by the point cloud decoding processing device is taken as an example to illustrate the point cloud decoding processing device provided in the embodiments of the present application.

[0207] Please refer to Figure 7 , Figure 7 is a structural diagram of a point cloud decoding processing device provided in the embodiments of the present application, as Figure 7 shown, the point cloud decoding processing device 400 comprises:

[0208] The acquisition module 401 is configured to acquire a first parameter corresponding to a to-be-decoded point cloud block, wherein the first parameter is used to represent a number of bits required for encoding a second parameter, and the second parameter is used to indicate a size of the to-be-decoded point cloud block.

[0209] The decoding module 402 is configured to perform entropy decoding on a geometric encoding result corresponding to the to-be-decoded point cloud block based on the first parameter, to obtain a prediction residual.

[0210] The reconstruction module 403 is configured to perform geometric reconstruction processing based on the prediction residual, to obtain geometric information.

[0211] Optionally, the geometric encoding result comprises a first encoding sub-result, a second encoding sub-result, a third encoding sub-result and a fourth encoding sub-result.

[0212] The decoding module comprises:

[0213] The first decoding unit is configured to decode the first encoding sub-result based on the first parameter, to obtain a target number of encoding bits.

[0214] The second decoding unit is configured to decode the second encoding sub-result based on the target number of encoding bits, to obtain a first value.

[0215] The third decoding unit is configured to decode the third encoding sub-result, to obtain a second value, wherein the second value is a value obtained by performing a modulo operation on an absolute value of the prediction residual.

[0216] The fourth decoding unit is configured to decode the fourth encoding sub-result, to obtain a third value, wherein the third value is used to indicate whether the prediction residual is greater than zero.

[0217] The determination unit is configured to determine the prediction residual based on the first value, the second value and the third value.

[0218] Optionally, the first decoding unit is specifically configured to:

[0219] decode the first encoding sub-result by taking the first parameter as a decoding bit number, to obtain a target encoding bit number, the target encoding bit number being an encoding bit number required for encoding the first value, the first value being an absolute value of the prediction residual obtained by performing a shift operation.

[0220] Optionally, the second parameter includes a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a first direction, the second sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a second direction, and the third sub-parameter indicating a bit depth of the to-be-decoded point cloud block in a third direction.

[0221] The first parameter includes a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter indicating a bit number required for encoding the first sub-parameter, the fifth sub-parameter indicating a bit number required for encoding the second sub-parameter, and the sixth sub-parameter indicating a bit number required for encoding the third sub-parameter.

[0222] The decoding module is specifically configured to:

[0223] entropy decode the geometry encoding result of the to-be-decoded point cloud block in the first direction based on the fourth sub-parameter;

[0224] entropy decode the geometry encoding result of the to-be-decoded point cloud block in the second direction based on the fifth sub-parameter;

[0225] entropy decode the geometry encoding result of the to-be-decoded point cloud block in the third direction based on the sixth sub-parameter.

[0226] Optionally, the obtaining module is specifically configured to:

[0227] receive a geometry bitstream sent by a decoding end, the geometry bitstream including a geometry encoding result corresponding to the to-be-decoded point cloud block and the first parameter.

[0228] Optionally, the obtaining module is specifically configured to:

[0229] in a case where a longest side length of the to-be-decoded point cloud block is less than or equal to a threshold, obtain the first parameter corresponding to the to-be-decoded point cloud block.

[0230] The point cloud decoding processing apparatus in the embodiments of the present application can be an apparatus, an apparatus with an operating system or an electronic device, and can also be a component in a terminal, an integrated circuit or a chip. The apparatus or the electronic device can be a mobile terminal or a non-mobile terminal. Exemplarily, the mobile terminal can include, but is not limited to, the types of terminals listed above, and the non-mobile terminal can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a cashier machine or a self-service machine, and the like, and the embodiments of the present application are not limited specifically.

[0231] The point cloud decoding processing apparatus provided in the embodiments of the present application can implement the method embodiments of the method and achieve the same technical effects. For the sake of avoiding repetition, the details are not described herein. Figure 5 The point cloud decoding processing apparatus provided in the embodiments of the present application can implement the method embodiments of the method and achieve the same technical effects. For the sake of avoiding repetition, the details are not described herein.

[0232] Optionally, as shown in Figure 8 the embodiments of the present application also provide a communication device 500, which includes a processor 501 and a memory 502, and the memory 502 stores programs or instructions executable on the processor 501. For example, when the communication device 500 is an encoding end device, the programs or instructions are executed by the processor 501 to implement the steps of the point cloud encoding processing method embodiments described above and achieve the same technical effects. When the communication device 500 is a decoding end device, the programs or instructions are executed by the processor 501 to implement the steps of the point cloud decoding processing method embodiments described above and achieve the same technical effects. For the sake of avoiding repetition, the details are not described herein.

[0233] The embodiment of the present application further provides a terminal, comprising a processor and a communication interface, the processor is used for: determining a to-be-encoded point cloud block based on geometric information of the point cloud, determining a first parameter based on the to-be-encoded point cloud block, the first parameter is used for representing a number of bits required for encoding a second parameter, and the second parameter is used for indicating a size of the to-be-encoded point cloud block; constructing a prediction tree corresponding to the to-be-encoded point cloud block, and determining a prediction residual of a node in the prediction tree; and performing entropy encoding on the prediction residual based on the first parameter, to obtain a geometric encoding result. Alternatively, the processor is used for: obtaining a first parameter corresponding to a to-be-decoded point cloud block, the first parameter is used for representing a number of bits required for encoding a second parameter, and the second parameter is used for indicating a size of the to-be-decoded point cloud block; performing entropy decoding on a geometric encoding result corresponding to the to-be-decoded point cloud block based on the first parameter, to obtain a prediction residual; and performing geometric reconstruction processing based on the prediction residual, to obtain geometric information. The terminal embodiment corresponds to the point cloud encoding processing method or the point cloud decoding processing method embodiment, each implementation process and implementation manner of the point cloud encoding processing method or the point cloud decoding processing method embodiment can be applied to the terminal embodiment, and the same technical effects can be achieved. Specifically, Figure 9 A hardware structure diagram of a terminal for implementing the embodiment of the present application.

[0234] The terminal 600 includes, but is not limited to, at least part of components such as a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609, and a processor 610.

[0235] Those skilled in the art can understand that the terminal 600 can further include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 610 through a power management system, so as to realize functions such as management of charging, discharging, and power consumption management through the power management system. Figure 9 The terminal structure shown in the above figure does not constitute a limitation on the terminal, and the terminal can include more or fewer components than the figure, or combine certain components, or different component arrangements, which are not described here again.

[0236] It should be understood that in the embodiments of the present application, the input unit 604 can include a graphics processing unit (GPU) 6041 and a microphone 6042. The graphics processor 6041 processes image data of a still picture or a video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 606 can include a display panel 6061, which can be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071, also known as a touch screen. The touch panel 6071 can include two parts of a touch detection device and a touch controller. The other input devices 6072 can include, but are not limited to, a physical keyboard, function keys (such as volume control keys, on-off keys, etc.), trackballs, mice, joysticks, etc., which will not be described here.

[0237] In the embodiments of the present application, after the radio frequency unit 601 receives the downlink data from the network side device, it can be transmitted to the processor 610 for processing. In addition, the radio frequency unit 601 can send uplink data to the network side device. Generally, the radio frequency unit 601 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.

[0238] The memory 609 can be used to store software programs or instructions and various data. The memory 609 can mainly include a first storage area storing programs or instructions and a second storage area storing data, wherein the first storage area can store an operating system, application programs or instructions required by at least one function (such as a sound playing function, an image playing function, etc.), and the like. In addition, the memory 609 can include a volatile memory or a non-volatile memory, or the memory 609 can include both volatile and non-volatile memories. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synch link DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM). The memory 609 in the embodiments of the present application includes but is not limited to these and any other suitable types of memories.

[0239] The processor 610 can include one or more processing units; optionally, the processor 610 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and an application program, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 610.

[0240] In the case where the terminal is an encoding end:

[0241] The processor 610 is configured to:

[0242] determine a to-be-encoded point cloud block based on geometric information of the point cloud, determine a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, and the second parameter being used to indicate a size of the to-be-encoded point cloud block.

[0243] constructing a prediction tree corresponding to the to-be-encoded point cloud block, and determining a prediction residual of a node in the prediction tree;

[0244] entropy encoding the prediction residual based on the first parameter to obtain a geometry encoding result.

[0245] Optionally, the processor 610 is configured to:

[0246] performing a shift operation on the absolute value of the prediction residual to obtain a first value;

[0247] determining a target number of encoding bits required for encoding the first value;

[0248] encoding the target number of encoding bits with the first parameter as the number of encoding bits to obtain a first encoding sub-result;

[0249] The geometry encoding result includes the first encoding sub-result.

[0250] Optionally, the processor 610 is configured to:

[0251] encoding the first value based on the target number of encoding bits to obtain a second encoding sub-result;

[0252] performing a remainder operation on the absolute value of the prediction residual to obtain a second value;

[0253] encoding the second value to obtain a third encoding sub-result;

[0254] encoding a third value to obtain a fourth encoding sub-result, the third value being used to indicate whether the prediction residual is greater than zero;

[0255] The geometry encoding result includes the first encoding sub-result, the second encoding sub-result, the third encoding sub-result, and the fourth encoding sub-result.

[0256] Optionally, the second parameter includes a first sub-parameter, a second sub-parameter, and a third sub-parameter, the first sub-parameter representing a bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter representing a bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter representing a bit depth of the to-be-encoded point cloud block in a third direction;

[0257] The first parameter includes a fourth sub-parameter, a fifth sub-parameter, and a sixth sub-parameter, the fourth sub-parameter representing a number of bits required for encoding the first sub-parameter, the fifth sub-parameter representing a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter representing a number of bits required for encoding the third sub-parameter;

[0258] The processor 610 is configured to:

[0259] entropy encode the prediction residual in the first direction based on the fourth sub-parameter;

[0260] entropy encode the prediction residual in the second direction based on the fifth sub-parameter;

[0261] entropy encode the prediction residual in the third direction based on the sixth sub-parameter.

[0262] Optionally, the processor 610 is configured to:

[0263] send a geometry bitstream to a decoding end, the geometry bitstream comprising the geometry coding result and the first parameter.

[0264] Optionally, the processor 610 is configured to:

[0265] in a case where a longest side length of the to-be-encoded point cloud block is less than or equal to a threshold, determine the first parameter based on the to-be-encoded point cloud block.

[0266] wherein, in a case where the terminal is a decoding end:

[0267] The processor 610 is configured to:

[0268] obtain a first parameter corresponding to a to-be-decoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to indicate a size of the to-be-decoded point cloud block;

[0269] entropy decode a geometry coding result corresponding to the to-be-decoded point cloud block based on the first parameter, to obtain a prediction residual;

[0270] perform geometry reconstruction processing based on the prediction residual, to obtain geometry information.

[0271] Optionally, the geometry coding result comprises a first coding sub-result, a second coding sub-result, a third coding sub-result, and a fourth coding sub-result.

[0272] The processor 610 is specifically configured to:

[0273] decode the first coding sub-result based on the first parameter, to obtain a target coding bit number;

[0274] decode the second coding sub-result based on the target coding bit number, to obtain a first value;

[0275] decode the third coding sub-result, to obtain a second value, the second value being a value obtained by performing a modulo operation on an absolute value of the prediction residual;

[0276] decoding the fourth encoding sub-result to obtain a third value, where the third value is used to indicate whether the prediction residual is greater than zero;

[0277] The prediction residual is determined based on the first value, the second value, and the third value.

[0278] Optionally, the processor 610 is specifically configured to:

[0279] The first encoding sub-result is decoded using the first parameter as the decoding bit number to obtain a target coding bit number, where the target coding bit number is the coding bit number required to encode the first value, and the first value is obtained by performing a shift operation on the absolute value of the prediction residual.

[0280] Optionally, the second parameter includes a first sub-parameter, a second sub-parameter, and a third sub-parameter, the first sub-parameter representing the bit depth of the point cloud block to be decoded in the first direction, the second sub-parameter representing the bit depth of the point cloud block to be decoded in the second direction, and the third sub-parameter representing the bit depth of the point cloud block to be decoded in the third direction;

[0281] The first parameter includes a fourth sub-parameter, a fifth sub-parameter, and a sixth sub-parameter, the fourth sub-parameter indicating the number of bits required to encode the first sub-parameter, the fifth sub-parameter indicating the number of bits required to encode the second sub-parameter, and the sixth sub-parameter indicating the number of bits required to encode the third sub-parameter;

[0282] The processor 610 is specifically configured to:

[0283] Performing entropy decoding on a geometric encoding result of the point cloud block to be decoded in the first direction based on the fourth sub-parameter;

[0284] Performing entropy decoding on a geometric encoding result of the point cloud block to be decoded in the second direction based on the fifth sub-parameter;

[0285] Based on the sixth sub-parameter, entropy decoding is performed on the geometric encoding result of the point cloud block to be decoded in the third direction.

[0286] Optionally, the processor 610 is specifically configured to:

[0287] A geometric code stream sent by a decoding end is received, where the geometric code stream includes a geometric coding result corresponding to a point cloud block to be decoded and a first parameter.

[0288] Optionally, the processor 610 is specifically configured to:

[0289] When the longest side length of the point cloud block to be decoded is less than or equal to the threshold, a first parameter corresponding to the point cloud block to be decoded is obtained.

[0290] Specifically, the terminal of the embodiment of the present application further includes instructions or programs stored on the memory 609 and executable on the processor 610, and the processor 610 invokes the instructions or programs in the memory 609 to execute the method shown by each module and achieve the same technical effects. To avoid repetition, details are not described herein. Figure 6 Or Figure 7 The method shown by each module and achieve the same technical effects. To avoid repetition, details are not described herein.

[0291] The embodiment of the present application also provides a readable storage medium, the readable storage medium stores programs or instructions, the programs or instructions are executed by a processor to implement various processes of the point cloud encoding processing method embodiment described above, or the programs or instructions are executed by a processor to implement various processes of the point cloud decoding processing method embodiment described above, and the same technical effects can be achieved. To avoid repetition, details are not described herein.

[0292] The processor is the processor in the terminal described in the above embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc. In some examples, the readable storage medium can be a non-transitory readable storage medium.

[0293] The embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface and the processor are coupled, the processor is used to run programs or instructions, implement various processes of the point cloud encoding processing method embodiment described above, or implement various processes of the point cloud decoding processing method embodiment described above, and the same technical effects can be achieved. To avoid repetition, details are not described herein.

[0294] It should be understood that the chip mentioned in the embodiment of the present application can also be referred to as a system chip, a system chip, a chip system or a system on chip, etc.

[0295] The embodiment of the present application further provides a computer program / program product, the computer program / program product is stored in a storage medium, and the computer program / program product is executed by at least one processor to implement various processes of the point cloud encoding processing method or the point cloud decoding processing method embodiment described above, and the same technical effects can be achieved. To avoid repetition, details are not described herein.

[0296] The embodiment of the present application further provides a coding system, including: an encoding end device and a decoding end device, the encoding end device can be used to execute the steps of the point cloud encoding processing method described above, and the decoding end device can be used to execute the steps of the point cloud decoding processing method described above.

[0297] It should be noted that, in the present document, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises a", "comprising", or the like does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element. Furthermore, it is to be understood that the methods and apparatuses of the present application can be carried out by specific hardware, by software, or by a combination of hardware and software. It is therefore, contemplated to this patent to cover any and all modifications, variations, or equivalents that fall within the scope of the present application. Accordingly, where a concept can have been illustrated in only one of the exemplary embodiments, various aspects of the concept can be modified and / or combined to produce a variety of other embodiments that are not specifically illustrated. Thus, for purposes of describing particular embodiments, reference has been made to orientations. However, it should be understood that the described embodiments can be carried out in other orientations than those explicitly described without departing from the scope of the present application.

[0298] From the above description of the embodiments of the present application, it is apparent that the above-described method of the embodiments can be implemented by means of computer software products added to a general purpose hardware platform, and of course, can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disc, optical disc, etc.), and includes a plurality of instructions for making a terminal or network side device execute the method described in each embodiment of the present application.

[0299] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-described specific embodiments, and the above-described specific embodiments are merely illustrative rather than limiting, and a person of ordinary skill in the art can make many forms of embodiments under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims, and these embodiments all belong to the protection scope of the present application.

Claims

1. A method of point cloud encoding processing, performed by an encoding end, characterized in that, The method comprises: determining a to-be-encoded point cloud block based on point cloud geometry information, determining a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter representing bit depth of an edge length of the to-be-encoded point cloud block; constructing a prediction tree corresponding to the to-be-encoded point cloud block, and determining a prediction residual of a node in the prediction tree; entropy encoding the prediction residual based on the first parameter to obtain a geometry encoding result; the second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter representing bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter representing bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter representing bit depth of the to-be-encoded point cloud block in a third direction; the first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter representing a number of bits required for encoding the first sub-parameter, the fifth sub-parameter representing a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter representing a number of bits required for encoding the third sub-parameter; the entropy encoding of the prediction residual based on the first parameter comprises: entropy encoding the prediction residual in the first direction based on the fourth sub-parameter; entropy encoding the prediction residual in the second direction based on the fifth sub-parameter; entropy encoding the prediction residual in the third direction based on the sixth sub-parameter; wherein the first direction, the second direction and the third direction are directions of three coordinate axes of a three-dimensional space in which the point cloud is located, or are a length direction, a width direction and a height direction of the to-be-encoded point cloud block.

2. The method of claim 1, wherein, After the entropy encoding of the prediction residual based on the first parameter to obtain the geometry encoding result, the method further comprises: sending a geometry bitstream to a decoding end, the geometry bitstream comprising the geometry encoding result and the first parameter.

3. The method of claim 1, wherein, The determination of the first parameter based on the to-be-encoded point cloud block comprises: in a case where a longest edge length of the to-be-encoded point cloud block is less than or equal to a threshold value, determining the first parameter based on the to-be-encoded point cloud block.

4. A method of point cloud decoding processing, performed by a decoding end, the method comprising: The method comprises: obtaining a first parameter corresponding to a to-be-decoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter representing bit depth of an edge length of the to-be-decoded point cloud block; entropy decoding a geometry encoding result corresponding to the to-be-decoded point cloud block based on the first parameter to obtain a prediction residual; performing geometry reconstruction processing based on the prediction residual to obtain geometry information; the second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter representing bit depth of the to-be-decoded point cloud block in a first direction, the second sub-parameter representing bit depth of the to-be-decoded point cloud block in a second direction, and the third sub-parameter representing bit depth of the to-be-decoded point cloud block in a third direction; The first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter represents a number of bits required for encoding the first sub-parameter, the fifth sub-parameter represents a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter represents a number of bits required for encoding the third sub-parameter; The entropy decoding of the geometric coding result corresponding to the to-be-decoded point cloud block based on the first parameter comprises: entropy decoding of the geometric coding result of the to-be-decoded point cloud block in the first direction based on the fourth sub-parameter; entropy decoding of the geometric coding result of the to-be-decoded point cloud block in the second direction based on the fifth sub-parameter; entropy decoding of the geometric coding result of the to-be-decoded point cloud block in the third direction based on the sixth sub-parameter; The first direction, the second direction and the third direction are directions of three coordinate axes of a three-dimensional space in which the point cloud is located, or are a length direction, a width direction and a height direction of the to-be-decoded point cloud block.

5. The method of claim 4, wherein, The first parameter corresponding to the to-be-decoded point cloud block is obtained by: receiving a geometry bitstream sent by a decoding end, the geometry bitstream comprising the geometric coding result and the first parameter corresponding to the to-be-decoded point cloud block.

6. The method of claim 4, wherein, The first parameter corresponding to the to-be-decoded point cloud block is obtained by: in a case where a longest side length of the to-be-decoded point cloud block is less than or equal to a threshold value, obtaining the first parameter corresponding to the to-be-decoded point cloud block.

7. A point cloud encoding processing apparatus characterized by comprising: comprise: a first determination module configured to determine a to-be-encoded point cloud block based on geometric information of a point cloud, and determine a first parameter based on the to-be-encoded point cloud block, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter representing bit depth of a side length of the to-be-encoded point cloud block; a second determination module configured to construct a prediction tree corresponding to the to-be-encoded point cloud block, and determine a prediction residual of a node in the prediction tree; an encoding module configured to entropy encode the prediction residual based on the first parameter to obtain a geometric coding result; The second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter representing bit depth of the to-be-encoded point cloud block in a first direction, the second sub-parameter representing bit depth of the to-be-encoded point cloud block in a second direction, and the third sub-parameter representing bit depth of the to-be-encoded point cloud block in a third direction; The first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter representing a number of bits required for encoding the first sub-parameter, the fifth sub-parameter representing a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter representing a number of bits required for encoding the third sub-parameter; The entropy encoding of the prediction residual based on the first parameter comprises: entropy encoding of the prediction residual in the first direction based on the fourth sub-parameter; entropy encoding of the prediction residual in the second direction based on the fifth sub-parameter; entropy encoding of the prediction residual in the third direction based on the sixth sub-parameter; The first direction, the second direction and the third direction are directions of three coordinate axes of a three-dimensional space in which the point cloud is located, or are a length direction, a width direction and a height direction of the point cloud block to be encoded.

8. An apparatus for point cloud decoding processing, characterized in that, The method comprises the following steps: The acquisition module is configured to acquire a first parameter corresponding to the point cloud block to be decoded, the first parameter being used to represent a number of bits required for encoding a second parameter, the second parameter being used to represent a bit depth of an edge length of the point cloud block to be decoded. The decoding module is configured to perform entropy decoding on a geometry encoding result corresponding to the point cloud block to be decoded based on the first parameter, to obtain a prediction residual. The reconstruction module is configured to perform geometry reconstruction processing based on the prediction residual, to obtain geometry information. The second parameter comprises a first sub-parameter, a second sub-parameter and a third sub-parameter, the first sub-parameter being used to represent a bit depth of the point cloud block to be decoded in a first direction, the second sub-parameter being used to represent a bit depth of the point cloud block to be decoded in a second direction, and the third sub-parameter being used to represent a bit depth of the point cloud block to be decoded in a third direction. The first parameter comprises a fourth sub-parameter, a fifth sub-parameter and a sixth sub-parameter, the fourth sub-parameter being used to represent a number of bits required for encoding the first sub-parameter, the fifth sub-parameter being used to represent a number of bits required for encoding the second sub-parameter, and the sixth sub-parameter being used to represent a number of bits required for encoding the third sub-parameter. The decoding module is specifically configured to: perform entropy decoding on a geometry encoding result of the point cloud block to be decoded in the first direction based on the fourth sub-parameter; perform entropy decoding on a geometry encoding result of the point cloud block to be decoded in the second direction based on the fifth sub-parameter; and perform entropy decoding on a geometry encoding result of the point cloud block to be decoded in the third direction based on the sixth sub-parameter. The first direction, the second direction and the third direction are directions of three coordinate axes of a three-dimensional space in which the point cloud is located, or are a length direction, a width direction and a height direction of the point cloud block to be decoded.

9. A terminal, characterized by comprising: The processor, the memory and the program or the instructions stored in the memory and executable on the processor are used to implement the steps of the point cloud encoding processing method according to any one of claims 1 to 3, or are used to implement the steps of the point cloud decoding processing method according to any one of claims 4 to 6.

10. A readable storage medium, characterized by, The program or the instructions stored in the readable storage medium are used to implement the steps of the point cloud encoding processing method according to any one of claims 1 to 3 when executed by the processor, or are used to implement the steps of the point cloud decoding processing method according to any one of claims 4 to 6 when executed by the processor.

11. A computer program product, characterised in that, The computer program product is stored in the storage medium, and the computer program product is executed by the at least one processor to implement the steps of the point cloud encoding processing method according to any one of claims 1 to 3, or to implement the steps of the point cloud decoding processing method according to any one of claims 4 to 6.

Citation Information

Patent Citations

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    CN115335868A

  • Point cloud coding processing method, point cloud decoding processing method and related equipment

    CN115474058A