Point cloud encoding method, point cloud decoding method, and terminal
By performing geometric coding and attribute prediction coding in parallel, or performing geometric prediction coding on a subset of points, the latency problem in point cloud encoding and decoding is solved, encoding efficiency is improved, and memory usage is reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-11
- Publication Date
- 2026-03-31
AI Technical Summary
The point cloud encoding and decoding process has a high latency, resulting in low encoding and decoding efficiency.
Parallel coding and geometric predictive coding are employed to reduce latency by performing geometric coding and attribute predictive coding in parallel, or by performing geometric predictive coding on a subset of the points to be coded.
It reduces latency in the point cloud encoding process, improves encoding efficiency, and reduces memory usage.
Smart Images

Figure CN115474051B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of point cloud processing technology, specifically relating to a point cloud encoding method, a point cloud decoding method, and a terminal. Background Technology
[0002] A point cloud is a set of randomly distributed discrete points in space that represent the spatial structure and surface properties of a three-dimensional object or scene. Each point in a point cloud typically includes geometric information and attribute information. The geometric information is, for example, three-dimensional coordinates (x, y, z), and the attribute information is, for example, color (R, G, B) and reflectivity.
[0003] Currently, in the Audio Video Coding Standard (AVS), the geometric information of the point cloud is encoded first. After the geometric encoding is completed and the point cloud is geometrically reconstructed, the attribute information of the point cloud is then encoded. This causes a significant time delay in the attribute encoding of the point cloud.
[0004] In the process of geometric encoding point clouds, multi-branch tree encoding is required, including but not limited to octree encoding, quadtree encoding, and binary tree encoding. In other words, the geometric information of the point cloud can only be obtained after a complete multi-branch tree partitioning, which introduces significant latency into the geometric encoding process. Furthermore, the decoding process of point clouds is identical to the encoding process, and it also involves considerable latency.
[0005] Based on the above, it can be concluded that the encoding and decoding process of point clouds has a high latency, which reduces the encoding and decoding efficiency of point clouds. Summary of the Invention
[0006] This application provides a point cloud encoding method, a point cloud decoding method, and a terminal, which can solve the problem that the point cloud encoding and decoding process has high latency, thereby reducing the encoding and decoding efficiency of point clouds.
[0007] Firstly, a point cloud encoding method is provided, which includes:
[0008] Obtain the first identifier parameter of the first target point cloud to be encoded;
[0009] The first target point cloud is encoded based on the first identifier parameter;
[0010] The encoding operation includes at least one of the following:
[0011] When the first identifier parameter is used to characterize parallel encoding, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud to obtain the encoding result of the first target point cloud;
[0012] Geometric predictive coding is performed on at least a portion of the points to be encoded in the first target point cloud.
[0013] Secondly, a point cloud decoding method is provided, which includes:
[0014] Obtain the fifth identifier parameter of the second target point cloud to be decoded;
[0015] Perform a decoding operation on the second target point cloud based on the fifth identification parameter;
[0016] The decoding operation includes at least one of the following:
[0017] When the fifth identifier parameter is used to characterize parallel decoding, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain the decoding result of the second target point cloud;
[0018] Geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud.
[0019] Thirdly, an encoder is provided, comprising:
[0020] The first acquisition module is used to acquire the first identifier parameter of the first target point cloud to be encoded;
[0021] The encoding module is used to perform encoding operations on the first target point cloud based on the first identifier parameter;
[0022] The encoding operation includes at least one of the following:
[0023] When the first identifier parameter is used to characterize parallel encoding, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud to obtain the encoding result of the first target point cloud;
[0024] Geometric predictive coding is performed on at least a portion of the points to be encoded in the first target point cloud.
[0025] Fourthly, a decoder is provided, including:
[0026] The second acquisition module is used to acquire the fifth identifier parameter of the second target point cloud to be decoded;
[0027] The decoding module is used to perform a decoding operation on the second target point cloud based on the fifth identifier parameter;
[0028] The decoding operation includes at least one of the following:
[0029] When the fifth identifier parameter is used to characterize parallel decoding, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain the decoding result of the second target point cloud;
[0030] Geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud.
[0031] Fifthly, a terminal is provided, the terminal including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the method as described in the first aspect, or implement the steps of the method as described in the second aspect.
[0032] In a sixth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.
[0033] In a seventh aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run a program or instructions to implement the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
[0034] Eighthly, a computer program / program product is provided, the computer program / program product being stored in a non-volatile storage medium, the program / program product being executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
[0035] In this embodiment, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud based on the first identifier parameter, thereby reducing the latency of the first target point cloud in the attribute encoding process. By performing geometric prediction encoding on at least a portion of the points to be encoded in the first target point cloud, instead of performing multi-branch tree encoding on all the points to be encoded, the latency of the first target point cloud in the geometric encoding process is further reduced. Thus, by reducing the latency of the first target point cloud in the encoding process, the encoding efficiency of the first target point cloud is improved. Attached Figure Description
[0036] Figure 1 This is a schematic diagram of the point cloud AVS encoder framework;
[0037] Figure 2 This is a schematic diagram of the point cloud AVS decoder framework;
[0038] Figure 3 This is a flowchart of the point cloud encoding method provided in the embodiments of this application;
[0039] Figure 4 This is a schematic diagram of the parallel encoding process provided in the embodiments of this application;
[0040] Figure 5 This is a schematic diagram of the low-latency geometric prediction coding process provided in the embodiments of this application;
[0041] Figure 6 This is a schematic diagram of the hybrid geometry coding process provided in the embodiments of this application;
[0042] Figure 7 This is a flowchart of the point cloud decoding method provided in the embodiments of this application;
[0043] Figure 8 This is a structural diagram of the encoder provided in the embodiments of this application;
[0044] Figure 9 This is a structural diagram of the decoder provided in the embodiments of this application;
[0045] Figure 10 This is a structural diagram of the communication device provided in the embodiments of this application;
[0046] Figure 11 This is a schematic diagram of the hardware structure of the terminal provided in the embodiments of this application. Detailed Implementation
[0047] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0048] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0049] In this application's embodiments, both the encoder corresponding to the point cloud encoding method and the decoder corresponding to the point cloud decoding method can be terminals. These terminals can also be called terminal devices or user equipment (UE). Terminals can be mobile phones, tablet computers, laptop computers, personal digital assistants (PDAs), handheld computers, netbooks, ultra-mobile personal computers (UMPCs), mobile internet devices (MIDs), augmented reality (AR) / virtual reality (VR) devices, robots, wearable devices or vehicle-mounted devices (VUEs), pedestrian terminals (PUEs), and other terminal-side devices. Wearable devices include smartwatches, wristbands, headphones, glasses, etc. It should be noted that this application's embodiments do not limit the specific type of terminal.
[0050] For ease of understanding, the following describes some aspects of the embodiments of this application:
[0051] Please see Figure 1 ,like Figure 1 As shown, in current digital audio and video codec standards, the geometric and attribute information of point clouds are encoded separately using a point cloud AVS encoder. First, the geometric information undergoes coordinate transformation to ensure the entire point cloud is contained within a bounding box, followed by coordinate quantization. Quantization primarily serves a scaling function. Because quantization rounds the geometric coordinates, some points have identical geometric information, known as duplicate points. Whether to remove duplicate points is determined by parameters. These two steps, quantization and duplicate point removal, are collectively known as voxelization. Next, the bounding box is partitioned into a multi-way tree, such as an octree, quadtree, or binary tree. In this multi-way tree-based geometric information encoding framework, the bounding box is divided into eight equal sub-cubes. The non-empty sub-cubes are further partitioned until a unit cube with 1x1x1 leaf nodes is obtained. The number of points in the leaf nodes is then encoded to generate a binary bitstream.
[0052] In geometric coding of point clouds based on multi-branch trees, the point to be coded needs to store the placeholder information of the neighboring nodes to predict and encode the placeholder information of the point to be coded. Thus, for the point to be coded that is close to the leaf node, a large amount of placeholder information needs to be stored, which occupies a large amount of memory space.
[0053] After geometric encoding, the geometric information is reconstructed for subsequent recoloring. Attribute encoding mainly targets color and reflectance information. First, it is determined whether a color space conversion is needed based on the parameters. If a color space conversion is required, the color information is converted from the Red Green Blue (RGB) color space to the Luminance Color (YUV) color space. Then, the geometrically reconstructed point cloud is recolored using the original point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, after sorting the point cloud using Morton codes, the nearest neighbors of the point to be predicted are searched using geometric spatial relationships. The reconstructed attribute values of the found neighbors are used to predict the predicted attribute value of the point to be predicted. Then, the difference between the true attribute value and the predicted attribute value is obtained to get the prediction residual. Finally, the prediction residual is quantized and encoded to generate a binary code stream.
[0054] It should be understood that the decoding process in digital audio and video codec technology standards corresponds to the encoding process described above. Specifically, the AVS decoder framework is as follows: Figure 2 As shown.
[0055] Currently, digital audio and video codec standards have the following technical problems:
[0056] First, attribute encoding of the point cloud can only be performed after the geometric encoding of the point cloud is completed, which results in a long delay in the attribute encoding of the point cloud.
[0057] Secondly, in the geometric encoding process of point clouds, the geometric information corresponding to the encoded points in the point cloud can only be obtained after the point cloud is completely divided into a multi-branch tree, which results in a long geometric encoding delay of point clouds.
[0058] Third, for the same reasons mentioned above, the geometric decoding process and the attribute decoding process also suffer from long delays during the point cloud decoding process.
[0059] Fourth, in the geometric encoding process of point clouds, the point to be encoded needs to store the placeholder information of neighboring nodes, which consumes a lot of memory space.
[0060] Based on the above, reducing the latency of point cloud encoding and decoding, improving encoding and decoding efficiency, and reducing the memory occupied by geometric encoding are technical problems that need to be solved. Therefore, this application provides a point cloud encoding method and a point cloud decoding method.
[0061] The point cloud encoding method provided in this application will be described in detail below with reference to the accompanying drawings, through some embodiments and application scenarios.
[0062] Please see Figure 3 , Figure 3This is a flowchart of the point cloud encoding method provided in this application. The point cloud encoding method provided in this embodiment includes the following steps:
[0063] S101, obtain the first identifier parameter of the first target point cloud to be encoded.
[0064] In this step, the point cloud to be encoded is referred to as the first target point cloud. It should be understood that in the process of encoding point clouds, encoding is usually performed on a frame of point cloud. Here, the first target point cloud can be understood as a frame of point cloud. Moreover, a point cloud is a set of discrete points in space that are randomly distributed and express the spatial structure and surface attributes of a three-dimensional object or scene. In other words, a point cloud includes multiple encoding points.
[0065] The aforementioned first identifier parameter is a parameter in the sequence parameterset (SPS) corresponding to the first target point cloud. For example, the first identifier parameter could be `geometry_attribute_simultaneous_enable_flag`. It should be understood that the sequence parameterset refers to the parameter set corresponding to a point cloud sequence, and the point cloud sequence refers to a sequence formed by multiple frames of point clouds. Here, the first identifier parameter can be obtained from the sequence parameterset corresponding to the point cloud sequence to which the first target point cloud belongs.
[0066] S102, perform encoding operation on the first target point cloud based on the first identification parameter.
[0067] In this step, if the first identifier parameter mentioned above exists in the sequence parameter set, parallel encoding can be performed on the first target point cloud. The parallel encoding has the following encoding cases:
[0068] In the first case, geometric coding and attribute prediction coding are performed in parallel on the first target point cloud to obtain the coding result of the first target point cloud.
[0069] The aforementioned geometric encoding refers to performing multi-branch tree encoding on the first target point cloud; the aforementioned attribute prediction encoding refers to encoding the attributes of the first target point cloud by determining the attribute prediction mode corresponding to the first target point cloud. For a detailed implementation of the attribute prediction encoding of the first target point cloud, please refer to the following embodiments; the aforementioned encoding result includes the geometric entropy encoding and attribute entropy encoding corresponding to the first target point cloud.
[0070] In the second case, geometric coding and attribute prediction coding are performed in parallel on the first target point cloud, wherein geometric prediction coding is performed on at least a portion of the points to be coded in the first target point cloud.
[0071] In this case, traditional octree coding can be performed on some of the points to be coded in the first target point cloud, and geometric prediction coding can be performed on another part of the points to be coded; or, geometric prediction coding can be performed on all the points to be coded in the first target point cloud.
[0072] For a better understanding of the two situations above, please refer to [link / reference]. Figure 4 , Figure 4 This is a schematic diagram of the parallel encoding process provided in an embodiment of this application. For example... Figure 4 As shown, it is determined whether a first identifier parameter exists in the sequence parameter set. If the first identifier parameter exists in the sequence parameter set, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud. If the first identifier parameter does not exist in the sequence parameter set, geometric encoding is performed on the first target point cloud first, and then attribute encoding is performed on the first target point cloud.
[0073] In the third case, geometric prediction coding is first performed on at least a portion of the points to be coded in the first target point cloud, and then attribute coding is performed on the first target point cloud.
[0074] The aforementioned geometric prediction coding refers to geometrically coding the first target point cloud by determining the geometric prediction pattern corresponding to the first target point cloud. For a detailed implementation of the geometric prediction coding of the first target point cloud, please refer to the following embodiments.
[0075] It should be understood that during the geometric prediction encoding of the points to be encoded, multi-branch tree encoding is not required, thereby reducing the encoding latency of the first target point cloud. Furthermore, the points to be encoded only need to store placeholder information for their neighboring nodes, reducing the memory required for geometric encoding.
[0076] In this embodiment, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud based on the first identifier parameter, thereby reducing the latency of the first target point cloud in the attribute encoding process. By performing geometric prediction encoding on at least a portion of the points to be encoded in the first target point cloud, instead of performing multi-branch tree encoding on all the points to be encoded, the latency of the first target point cloud in the geometric encoding process is further reduced. Thus, by reducing the latency of the first target point cloud in the encoding process, the encoding efficiency of the first target point cloud is improved.
[0077] The following details the geometric prediction coding process performed on all points to be coded in the first target point cloud:
[0078] Optionally, performing geometric prediction encoding on at least a portion of the points to be encoded in the first target point cloud includes:
[0079] When the second identifier parameter corresponding to the first target point cloud is used to characterize the geometric prediction coding performed on all points to be coded, N geometric prediction values are determined based on the coding order corresponding to the points to be coded in the first target point cloud.
[0080] Determine the rate-distortion cost corresponding to each of the aforementioned geometric prediction modes;
[0081] The first parameter value is used to quantify the first prediction residual corresponding to the target geometric prediction pattern;
[0082] Entropy encoding is performed on the first prediction residual after quantization.
[0083] It should be understood that the sequence parameter set includes a geometry parameter set (SPS) and an attribute parameter set (APS). The parameters in the geometry parameter set are related to the geometric encoding process of the point cloud, while the parameters in the attribute parameter set are related to the attribute encoding process of the point cloud.
[0084] In this embodiment, the second identifier parameter is a parameter in the geometric parameter set. In some embodiments, the second identifier parameter can be set to low_latency_geometry_enable_flag, where the second identifier parameter is also called a low-latency parameter. When the second identifier parameter exists in the geometric parameter set corresponding to the first target point cloud, geometric prediction coding is performed on all points to be encoded in the first target point cloud. This process of performing geometric prediction coding on all points to be encoded can be called low-latency geometric prediction coding.
[0085] The coding process of geometric predictive coding will be explained in detail below.
[0086] A first list is pre-established, which includes N geometric prediction values, where each of the N geometric prediction values corresponds one-to-one with a geometric prediction pattern, and N is a positive integer greater than 1.
[0087] Optionally, determining N geometric prediction values based on the encoding order corresponding to the points to be encoded in the first target point cloud includes at least one of the following:
[0088] If the encoding order corresponding to the point to be encoded is less than or equal to a preset value, the N geometric prediction values are preset.
[0089] If the encoding order corresponding to the point to be encoded is greater than the preset value, the N geometric prediction values are determined to be associated with the encoded points in the first target point cloud.
[0090] If the encoding order corresponding to the point to be encoded is less than or equal to a preset value, then N geometric prediction values are preset in the first list, where each geometric prediction value is different.
[0091] Optionally, a preset value of 1 can be set. That is, for the first point to be encoded in the encoding order, geometric prediction encoding is performed on the point using N preset geometric prediction values.
[0092] If the encoding order corresponding to the point to be encoded is greater than the preset value, then the geometric prediction value in the first list is set according to the geometric information of the already encoded points.
[0093] For example, if the number of N is 4, that is, the first list includes 4 geometric prediction values and the encoding order of the point to be encoded is 5, then the geometric prediction value can be determined by using the geometric information of the 4 points to be encoded with encoding orders 1 to 4 located before the point to be encoded.
[0094] For example, the rule for determining the geometric prediction value could be: the first geometric prediction value is the sum of the geometric information of the four points to be encoded; the second geometric prediction value is the minimum geometric information of the four points to be encoded; the third geometric prediction value is the average of the geometric information of the four points to be encoded; and the fourth geometric prediction value is the difference between the geometric information of the fourth point to be encoded and the geometric information of the third point to be encoded. Here, the geometric information of the point to be encoded can be represented as its three-dimensional coordinates (x, y, z).
[0095] It should be understood that the specific rules for determining the geometric prediction value can be flexibly set, and this embodiment does not impose specific limitations here.
[0096] As mentioned above, there is a one-to-one correspondence between the N geometric prediction values and the N geometric prediction patterns; that is, each geometric prediction value is used to characterize a geometric prediction pattern. Geometric prediction encoding is performed on the points to be encoded using the N geometric prediction patterns, and the rate-distortion cost corresponding to each geometric prediction pattern is determined.
[0097] Specifically, after using the geometric prediction mode to perform geometric prediction encoding on the point to be encoded, the predicted geometric information corresponding to the point to be encoded is obtained. This predicted geometric information can be understood as a three-dimensional coordinate. The above predicted geometric information is used as the input of the rate-distortion cost algorithm to calculate the rate-distortion cost of the point to be encoded under this geometric prediction mode.
[0098] After obtaining the rate-distortion cost corresponding to each geometric prediction mode, the geometric prediction mode with the minimum rate-distortion cost is determined as the target geometric prediction mode.
[0099] The geometric parameter set may contain a third identifier parameter and a first parameter value associated with the third identifier parameter. The third identifier parameter can be represented as geometry_enable_quantizated_flag, and the first parameter value can be represented as GeomQP[3]. The third identifier parameter is used to characterize lossy coding. That is, if the geometric parameter set contains a third identifier parameter, it means that in-loop geometric quantization is introduced into the point to be coded. In-loop geometric quantization can be understood as quantizing the prediction residual generated by geometric coding of the point to be coded.
[0100] In this embodiment, when a third identifier parameter exists in the geometric parameter set, the first parameter value is used to quantize the first prediction residual corresponding to the target geometric prediction mode, and entropy encoding is performed on the quantized first prediction residual to obtain geometric entropy encoding. The first prediction residual can be understood as the difference between the geometric prediction encoding point and the point to be encoded, where the geometric prediction encoding point is the encoded point obtained after performing geometric prediction encoding on the point to be encoded using the target geometric prediction mode.
[0101] It should be understood that in some embodiments, if there is no third identifier parameter in the set of geometric parameters, the first prediction residual corresponding to the target geometric prediction mode is directly entropy encoded to obtain geometric entropy encoding.
[0102] In this embodiment, when the geometric parameter set has a second identifier parameter, geometric prediction coding is performed on all points to be coded in the first target point cloud. Since geometric prediction coding does not involve multi-branch tree partitioning of the points to be coded, the coding latency of the first target point cloud can be reduced.
[0103] To better understand the specific process of performing geometric predictive coding on all points to be coded, please refer to [link to relevant documentation]. Figure 5 , Figure 5 This is a schematic diagram of the low-latency geometric prediction coding process provided in the embodiments of this application.
[0104] like Figure 5 As shown, in the absence of a second identifier parameter in the geometric parameter set, multi-branch tree encoding is performed on the first target point cloud, and entropy encoding is performed on the encoding result of the multi-branch tree encoding to obtain geometric entropy encoding.
[0105] like Figure 5 As shown, if a second identifier parameter exists in the geometric parameter set, geometric prediction encoding is performed on the first target point cloud. If a third identifier parameter also exists in the geometric parameter set, the prediction residual obtained from the geometric prediction encoding is quantized using the first parameter value associated with the third identifier parameter to obtain the quantized prediction residual. Entropy encoding is then performed on the quantized prediction residual to obtain the geometric entropy code. If a third identifier parameter does not exist in the geometric parameter set, entropy encoding is directly performed on the prediction residual to obtain the geometric entropy code.
[0106] It should be understood that, in some embodiments, in order to improve coding efficiency, the points to be coded in the first target point cloud can be pre-sorted to determine the coding order of the points to be coded, and then geometric prediction coding can be performed on each point to be coded.
[0107] For example, the points to be encoded can be sorted in advance using Morton code, Hilbert sort, or azimuth order to determine the encoding order of the points.
[0108] The following details the geometric prediction coding performed on a subset of the points to be coded in the first target point cloud:
[0109] Optionally, performing geometric prediction encoding on at least a portion of the points to be encoded in the first target point cloud includes:
[0110] When the fourth identifier parameter corresponding to the first target point cloud is used to characterize the hybrid encoding, the second parameter value associated with the fourth identifier parameter is obtained;
[0111] Based on the second parameter value, the first target point cloud is divided into a first point to be encoded and a second point to be encoded;
[0112] The first and second points to be encoded are encoded using different encoding methods.
[0113] It should be understood that there may be a fourth identifier parameter and a second parameter value associated with the fourth identifier parameter in the geometric parameter set. The fourth identifier parameter can be represented as geometry_enable_predict_flag, which is also called the hybrid coding parameter. The fourth identifier parameter is used to characterize hybrid coding. That is, if there is a fourth identifier parameter in the geometric parameter set, then multi-branch tree coding is performed on some of the points to be coded in the first target point cloud, and geometric prediction coding is performed on the other part of the points to be coded. The second parameter value can be represented as octree_division_end_nodeSizeLog2[3].
[0114] If the fourth identifier parameter exists in the geometric parameter set corresponding to the first target point cloud, perform hybrid encoding.
[0115] The following section provides a detailed explanation of hybrid encoding.
[0116] Obtain the second parameter value associated with the fourth identifier parameter in the geometric parameter set, and use the second parameter value to divide the points to be encoded in the first target point cloud into the first point to be encoded and the second point to be encoded.
[0117] Optionally, dividing the first target point cloud into a first point to be encoded and a second point to be encoded based on the second parameter value includes:
[0118] The points to be encoded corresponding to the first encoding layer to the (M-1)th encoding layer of the first target point cloud are determined as the first points to be encoded.
[0119] The points to be encoded corresponding to the Mth to Lth encoding layers of the first target point cloud are determined as the second points to be encoded.
[0120] It should be understood that the first target point cloud includes L coding layers, and the second parameter value is used to indicate the Mth coding layer, where L is a positive integer greater than 1 and M is a positive integer less than L.
[0121] For ease of understanding, the following example is provided:
[0122] The first target point cloud comprises 10 coding layers, i.e., L is 10; the second parameter value indicates the 5th coding layer, i.e., M is 5. In this case, the points to be encoded corresponding to the 1st to 4th coding layers of the first target point cloud are determined as the first points to be encoded; the points to be encoded corresponding to the 5th to 10th coding layers of the first target point cloud are determined as the second points to be encoded. The first points to be encoded are also called the high-bit points to be encoded, and the second points to be encoded are also called the low-bit points to be encoded.
[0123] After dividing the points to be encoded in the first target point cloud into the first point to be encoded and the second point to be encoded, different encoding methods are used to encode the first point to be encoded and the second point to be encoded.
[0124] Optionally, encoding the first point to be encoded and the second point to be encoded using different encoding methods includes:
[0125] Multi-way tree coding is performed on the first point to be encoded, and geometric prediction coding is performed on the second point to be encoded.
[0126] Geometric prediction coding is performed on the first point to be coded, and multi-way tree coding is performed on the second point to be coded.
[0127] In this embodiment, the first point to be encoded is subjected to multi-tree encoding, wherein the multi-tree encoding includes, but is not limited to, octree encoding, quadtree encoding and binary tree encoding.
[0128] Geometric prediction coding is performed on the second point to be coded. For details of geometric prediction coding, please refer to the above embodiment, which will not be repeated here.
[0129] In another possible embodiment, geometric prediction coding can be performed on the first point to be coded, and multi-way tree coding can be performed on the second point to be coded.
[0130] In this embodiment, when the geometric parameter set corresponding to the first target point cloud contains a fourth identifier parameter, geometric prediction coding is performed on some of the points to be coded in the first target point cloud. For these points to be coded, there is no need to perform multi-branch tree partitioning, which reduces the coding latency of some points to be coded in the geometric coding process and thus improves coding efficiency.
[0131] To better understand the process of performing hybrid encoding on the first target point cloud, please refer to [link / reference]. Figure 6 , Figure 6 This is a schematic diagram of the hybrid geometry coding process provided in an embodiment of this application. For example... Figure 6 As shown, if the fourth identifier parameter does not exist in the geometric parameter set, multi-branch tree encoding is performed on the first target point cloud, and entropy encoding is performed on the encoding result of multi-branch tree encoding to obtain geometric entropy encoding.
[0132] If a fourth identifier parameter exists in the geometric parameter set, then the second parameter value associated with the fourth identifier parameter in the geometric parameter set is obtained. The second parameter value is used to divide the points to be encoded in the first target point cloud into a first point to be encoded and a second point to be encoded. Multi-branch tree encoding is performed on the first point to be encoded. Geometric prediction encoding is performed on the second point to be encoded, and entropy encoding is performed on the prediction residual obtained from geometric prediction encoding to obtain geometric entropy encoding.
[0133] It should be understood that in some embodiments, if a first identifier parameter exists in the geometric parameter set, but a second identifier parameter and a fourth identifier parameter do not exist, then multi-way tree coding and attribute prediction coding are performed simultaneously on the point to be coded.
[0134] The following section details the encoding process of attribute predictive coding.
[0135] Optionally, performing attribute prediction encoding on the first target point cloud includes:
[0136] Based on the encoding order of the points to be encoded in the first target point cloud, I attribute prediction values are determined;
[0137] Determine the rate-distortion cost corresponding to each of the attribute prediction modes;
[0138] Entropy encoding is performed on the second prediction residual corresponding to the target attribute prediction mode, wherein the target attribute prediction mode is the attribute prediction mode corresponding to the minimum rate-distortion cost.
[0139] In this embodiment, a second list is pre-established, which includes I attribute prediction values, wherein the I attribute prediction values correspond one-to-one with I attribute prediction patterns, and I is a positive integer greater than 1.
[0140] Specifically, the predicted values of the above I attributes can be determined based on the encoding order corresponding to the points to be encoded.
[0141] Optionally, if the encoding order corresponding to the point to be encoded is less than or equal to a preset value, I attribute prediction values are preset.
[0142] For example, the preset value can be 1. In this way, the I attribute prediction values corresponding to the point to be encoded with an encoding order of 1 are all preset, and the I attribute prediction values are all different.
[0143] Optionally, if the encoding order of the point to be encoded is greater than a preset value, I attribute prediction values can be determined based on the attribute information of the encoded points in the first target point cloud.
[0144] For example, the above preset value is 1, the number of I is 4, that is, the second list includes 4 attribute prediction values, and the encoding order of the point to be encoded is 5; then the attribute prediction value can be determined by using the attribute information of the 4 points to be encoded with encoding order 1 to 4 located before the point to be encoded.
[0145] The rules for determining attribute prediction values are the same as those for determining geometric prediction values, and will not be repeated here. Furthermore, the specific rules for determining attribute prediction values can be flexibly set, and will not be specifically limited here.
[0146] As mentioned above, there is a one-to-one correspondence between the I attribute prediction values and the I attribute prediction patterns; that is, each attribute prediction value represents an attribute prediction pattern. The I attribute prediction patterns are used to perform attribute predictive coding on the points to be encoded, and the rate-distortion cost corresponding to each attribute prediction pattern is determined. It should be understood that the specific method of performing attribute predictive coding on the points to be encoded is the same as the method of performing geometric predictive coding on the points to be encoded described above, and will not be repeated here.
[0147] Furthermore, the attribute prediction mode with the lowest rate-distortion cost is determined as the target attribute prediction mode, and the second prediction residual corresponding to the target attribute prediction mode is entropy encoded to obtain the attribute entropy code.
[0148] The second prediction residual can be understood as the difference between the attribute prediction coding point and the point to be coded. The aforementioned attribute prediction coding point is the coding point obtained after performing attribute prediction coding on the point to be coded using the target attribute prediction mode.
[0149] In this embodiment, attribute predictive coding is used to encode the point to be encoded, resulting in the attribute entropy code corresponding to the point. This eliminates the need for geometric information to obtain the attribute information of the point to be encoded, significantly reducing the latency of the attribute encoding process and improving the encoding efficiency of the point cloud.
[0150] In some possible embodiments, attribute prediction encoding of the first target point cloud can also be performed in the following manner.
[0151] Optionally, performing attribute prediction encoding on the first target point cloud includes:
[0152] Based on the geometric information corresponding to the point to be encoded in the first target point cloud, a target encoding point corresponding to the point to be encoded is determined; the target encoding point is an already encoded point in the first target point cloud.
[0153] Based on the attribute information corresponding to the target encoding point, determine the predicted values of I attributes corresponding to the point to be encoded;
[0154] Determine the rate-distortion cost corresponding to each of the attribute prediction modes;
[0155] Entropy encoding is performed on the second prediction residual corresponding to the target attribute prediction mode, wherein the target attribute prediction mode is the attribute prediction mode corresponding to the minimum rate-distortion cost.
[0156] In this embodiment, geometric encoding is performed on a portion of the encoded points in the first target point cloud according to the encoding order corresponding to each encoded point, thus obtaining the geometric information of the partial encoded points. Subsequently, attribute prediction encoding is performed on the first target point cloud. It should be understood that geometric encoding of the first target point cloud is performed in parallel during the attribute prediction encoding process. That is, the geometric information of the partial encoded points has already been obtained before the parallel execution of geometric encoding and attribute prediction encoding on the first target point cloud.
[0157] Before performing attribute predictive coding on the point to be coded, the geometric and attribute information of all coded points whose coding order precedes that point has been obtained, completing the coding process for these points. These points can be referred to as "already coded points." In other words, all coded points whose coding order precedes that point are already coded points.
[0158] When performing attribute prediction encoding on the point to be encoded, we can obtain the geometric information corresponding to the point to be encoded and the geometric information corresponding to the already encoded points. The already encoded points that match the geometric information corresponding to the point to be encoded are determined as the target encoded points.
[0159] As described above, geometric information can be understood as three-dimensional coordinates. One possible implementation is to use the three-dimensional coordinates corresponding to the point to be encoded as the search center, and search for encoded points within a preset range of the search center. If the number of encoded points is 1, then the encoded point is determined as the target encoded point; if there are multiple encoded points, then the Euclidean distance between the three-dimensional coordinates corresponding to each encoded point and the search center is calculated, and the encoded point with the shortest Euclidean distance is determined as the target encoded point.
[0160] It should be understood that target coding points can also be determined in other ways; the above is just one example.
[0161] As described above, a second list is pre-established before performing attribute prediction encoding, and the second list includes I attribute prediction values. In this embodiment, the above I attribute prediction values can be determined based on the attribute information corresponding to the target encoding point.
[0162] For example, if I is 3, meaning the second list includes 3 attribute prediction values, then the first attribute prediction value can be set to the color information corresponding to the target coding point, the second attribute prediction value can be set to the reflectance corresponding to the target coding point, and the third attribute prediction value can be set to the product of the color information corresponding to the target coding point and the reflectance.
[0163] It should be understood that the above is only an example, and this embodiment does not limit the specific rules for determining attribute prediction values.
[0164] As described above, each attribute prediction value is used to characterize an attribute prediction pattern. Attribute prediction encoding is performed on the point to be encoded using I attribute prediction patterns, and the rate-distortion cost corresponding to each attribute prediction pattern is determined. The attribute prediction pattern with the lowest rate-distortion cost is then determined as the target attribute prediction pattern. Entropy encoding is performed on the second prediction residual corresponding to the target attribute prediction pattern to obtain the attribute entropy code. It should be understood that the specific process of using attribute prediction values to perform attribute prediction encoding on the point to be encoded can be referred to the above embodiments, and will not be repeated here.
[0165] It should be noted that if the three-dimensional coordinates represented by two encoding points are relatively close, then there is a correlation between the attribute information of these two encoding points.
[0166] In this embodiment, when performing attribute prediction encoding on a point to be encoded, the geometric information corresponding to the point to be encoded, as well as the geometric and attribute information corresponding to the already encoded points, can be obtained. Based on the geometric information of the point to be encoded and the geometric information of the already encoded points, the target encoded point corresponding to the point to be encoded is determined. It should be understood that the three-dimensional coordinates represented by the point to be encoded are relatively close to the three-dimensional coordinates represented by the target encoded point.
[0167] Furthermore, as mentioned above, the attribute information between two encoding points with relatively close three-dimensional coordinates is correlated. Since the three-dimensional coordinates represented by the point to be encoded are relatively close to the three-dimensional coordinates represented by the target encoding point, the attribute information of the target encoding point is used to perform attribute prediction encoding on the point to be encoded, so as to improve the encoding efficiency of attribute prediction encoding.
[0168] The point cloud decoding method provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0169] Please see Figure 7 , Figure 7This is a flowchart of the point cloud decoding method provided in this application. The point cloud decoding method provided in this embodiment includes the following steps:
[0170] S201, Obtain the fifth identifier parameter of the second target point cloud to be decoded.
[0171] In this step, the point cloud to be decoded is referred to as the second target point cloud. The fifth identifier parameter mentioned above can be the same as the first identifier parameter. The fifth identifier parameter is obtained from the sequence parameter set corresponding to the second target point cloud.
[0172] S202, Perform a decoding operation on the second target point cloud based on the fifth identifier parameter.
[0173] In this step, if a fifth identifier parameter exists in the sequence parameter set, parallel decoding of the second target point cloud can be performed. In this case, the following decoding scenarios exist:
[0174] In the first case, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain the encoding result of the second target point cloud.
[0175] The aforementioned geometric decoding refers to performing multi-branch tree decoding on the second target point cloud. The aforementioned attribute prediction decoding refers to decoding the attributes of the second target point cloud by determining the attribute prediction pattern corresponding to it. It should be understood that the method for determining the attribute prediction pattern corresponding to the second target point cloud is the same as the method for determining the attribute prediction pattern corresponding to the first target point cloud. The decoding result includes both geometric information and attribute information.
[0176] In the second scenario, geometric prediction decoding is first performed on at least a portion of the points to be decoded in the second target point cloud, and then attribute decoding is performed on the second target point cloud.
[0177] The aforementioned geometric prediction decoding refers to performing geometric decoding on the second target point cloud by determining the geometric prediction pattern corresponding to the second target point cloud. It should be understood that the method of determining the geometric prediction pattern corresponding to the second target point cloud is the same as the method of determining the geometric prediction pattern corresponding to the first target point cloud.
[0178] In the third case, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud, wherein geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud.
[0179] In this embodiment, based on the fifth identifier parameter, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to reduce the latency of the second target point cloud during the attribute decoding process. Geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud to further reduce the latency of the second target point cloud during the geometric decoding process. Through the above methods, the latency of the second target point cloud in the entire decoding process is reduced, and the decoding efficiency of the second target point cloud is improved.
[0180] It should be understood that, in some embodiments, if a second identifier parameter exists in the set of geometric parameters corresponding to the second target point cloud, geometric prediction decoding can be performed on all points to be decoded in the second target point cloud.
[0181] It should be understood that in some embodiments, during the geometric prediction decoding of the second target point cloud, if a third identifier parameter and a first parameter value exist in the geometric parameter set, the first parameter value can be used to perform lossy decoding on the point to be decoded. The specific implementation method is the same as performing lossy encoding on the first target point cloud, and will not be repeated here.
[0182] It should be understood that in some embodiments, if a fourth identifier parameter exists in the set of geometric parameters, hybrid decoding is performed on the points to be decoded in the second target point cloud, that is, geometric prediction decoding is performed on some of the points to be decoded, and multi-branch tree decoding is performed on the other part of the points to be decoded.
[0183] It should be noted that the point cloud encoding method provided in this application embodiment can be executed by an encoder, or by a control module in the encoder for executing the point cloud encoding method. This application embodiment uses an encoder executing the point cloud encoding method as an example to illustrate the encoder provided in this application embodiment.
[0184] like Figure 8 As shown, encoder 300 includes:
[0185] The first acquisition module 301 is used to acquire the first identifier parameter of the first target point cloud to be encoded;
[0186] The encoding module 302 is used to perform encoding operations on the first target point cloud based on the first identifier parameter.
[0187] Optionally, the encoding module 302 includes:
[0188] The first determining unit is used to determine N geometric prediction values based on the encoding order of the points to be encoded in the first target point cloud, when the second identifier parameter corresponding to the first target point cloud is used to characterize the geometric prediction encoding performed on all points to be encoded.
[0189] The second determining unit is used to determine the rate-distortion cost corresponding to each of the geometric prediction modes;
[0190] A quantization unit is used to quantize the first prediction residual corresponding to the target geometric prediction mode using the first parameter value;
[0191] The first coding unit is used to entropy encode the quantized first prediction residual.
[0192] Optionally, the first determining unit is specifically used for:
[0193] If the encoding order corresponding to the point to be encoded is less than or equal to a preset value, the N geometric prediction values are preset.
[0194] If the encoding order corresponding to the point to be encoded is greater than the preset value, the N geometric prediction values are determined to be associated with the encoded points in the first target point cloud.
[0195] Optionally, the encoding module 302 includes:
[0196] The acquisition unit is used to acquire the second parameter value associated with the fourth identifier parameter when the fourth identifier parameter corresponding to the first target point cloud is used to characterize the hybrid encoding;
[0197] A partitioning unit is used to partition the first target point cloud into a first point to be encoded and a second point to be encoded based on the second parameter value;
[0198] The second encoding unit is used to encode the first point to be encoded and the second point to be encoded using different encoding methods.
[0199] Optionally, the second encoding unit is specifically used for:
[0200] Perform multi-way tree coding on the first point to be coded, and perform geometric prediction coding on the second point to be coded, or;
[0201] Geometric prediction coding is performed on the first point to be coded, and multi-way tree coding is performed on the second point to be coded.
[0202] Optionally, the partitioning unit is specifically used for:
[0203] The points to be encoded corresponding to the first encoding layer to the (M-1)th encoding layer of the first target point cloud are determined as the first points to be encoded.
[0204] The points to be encoded corresponding to the Mth to Lth encoding layers of the first target point cloud are determined as the second points to be encoded.
[0205] Optionally, the encoding module 302 is specifically used for:
[0206] Based on the encoding order of the points to be encoded in the first target point cloud, I attribute prediction values are determined;
[0207] Determine the rate-distortion cost corresponding to each of the attribute prediction modes;
[0208] Entropy encoding is performed on the second prediction residual corresponding to the target attribute prediction pattern.
[0209] Optionally, the encoding module 302 is specifically used for:
[0210] Based on the geometric information corresponding to the points to be encoded in the first target point cloud, the target encoding points corresponding to the points to be encoded in the cloud are determined;
[0211] Based on the attribute information corresponding to the target encoding point, determine the predicted values of I attributes corresponding to the point to be encoded;
[0212] Determine the rate-distortion cost corresponding to each of the attribute prediction modes;
[0213] Entropy encoding is performed on the second prediction residual corresponding to the target attribute prediction pattern.
[0214] The encoder provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0215] It should be noted that the point cloud decoding method provided in this application embodiment can be executed by a decoder, or by a control module within the decoder for executing the point cloud decoding method. This application embodiment uses the decoder executing the point cloud decoding method as an example to illustrate the decoder provided in this application embodiment.
[0216] like Figure 9 As shown, the decoder 400 includes:
[0217] The second acquisition module 401 is used to acquire the fifth identifier parameter of the second target point cloud to be decoded;
[0218] Decoding module 402 is used to perform a decoding operation on the second target point cloud based on the fifth identifier parameter.
[0219] In this embodiment, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud based on the first identifier parameter, thereby reducing the latency of the first target point cloud in the attribute encoding process. By performing geometric prediction encoding on at least a portion of the points to be encoded in the first target point cloud, instead of performing multi-branch tree encoding on all the points to be encoded, the latency of the first target point cloud in the geometric encoding process is further reduced. Thus, by reducing the latency of the first target point cloud in the encoding process, the encoding efficiency of the first target point cloud is improved.
[0220] The encoder and decoder in this application embodiment can be devices, devices or electronic devices with an operating system, or components, integrated circuits, or chips in a terminal. The device or electronic device can be a mobile terminal or a non-mobile terminal. For example, a mobile terminal can include, but is not limited to, the types of terminals 11 listed above, while a non-mobile terminal can be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the types of terminals.
[0221] The encoder provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0222] The decoder provided in this application embodiment can achieve... Figure 7 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0223] Optionally, such as Figure 10 As shown, this application embodiment also provides a communication device 500, including a processor 501, a memory 502, and a program or instructions stored in the memory 502 and executable on the processor 501. For example, when the communication device 500 is a terminal, the program or instructions executed by the processor 501 implement the various processes of the above-described point cloud encoding method embodiment and achieve the same technical effect, or implement the various processes of the above-described point cloud decoding method embodiment and achieve the same technical effect.
[0224] This application embodiment also provides a terminal, including a processor and a communication interface, wherein the processor is used to perform the following operations:
[0225] Obtain the first identifier parameter of the first target point cloud to be encoded;
[0226] The first target point cloud is encoded based on the first identifier parameter;
[0227] The encoding operation includes at least one of the following:
[0228] When the first identifier parameter is used to characterize parallel encoding, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud to obtain the encoding result of the first target point cloud;
[0229] Geometric predictive coding is performed on at least a portion of the points to be encoded in the first target point cloud.
[0230] Alternatively, the processor may be used to perform the following operations:
[0231] Obtain the fifth identifier parameter of the second target point cloud to be decoded;
[0232] Perform a decoding operation on the second target point cloud based on the fifth identification parameter;
[0233] The decoding operation includes at least one of the following:
[0234] When the fifth identifier parameter is used to characterize parallel decoding, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain the decoding result of the second target point cloud;
[0235] Geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud.
[0236] This terminal embodiment corresponds to the aforementioned terminal-side method embodiment. All implementation processes and methods of the aforementioned method embodiments can be applied to this terminal embodiment and achieve the same technical effect. Specifically, Figure 11 A schematic diagram of the hardware structure of a terminal to implement an embodiment of this application.
[0237] The terminal 1000 includes, but is not limited to, the following components: radio frequency unit 1001, network module 1002, audio output unit 1003, input unit 1004, sensor 1005, display unit 1006, user input unit 1007, interface unit 1008, memory 1009, and processor 1010.
[0238] Those skilled in the art will understand that the terminal 1000 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 1010 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 11 The terminal structure shown does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0239] It should be understood that, in this embodiment, the input unit 1004 may include a graphics processing unit (GPU) 10041 and a microphone 10042. The GPU 10041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1006 may include a display panel 10061, which may be configured as a liquid crystal display, organic light-emitting diode, or the like. The user input unit 1007 includes a touch panel 10071 and other input devices 10072. The touch panel 10071 is also called a touch screen. The touch panel 10071 may include a touch detection device and a touch controller. Other input devices 10072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0240] In this embodiment, the radio frequency unit 1001 receives downlink data from the network-side device and processes it for the processor 1010; additionally, it sends uplink data to the network-side device. Typically, the radio frequency unit 1001 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc.
[0241] The memory 1009 can be used to store software programs or instructions and various data. The memory 1009 may primarily include a program or instruction storage area and a data storage area. The program or instruction storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 1009 may include high-speed random access memory and non-volatile memory, wherein the non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. For example, at least one disk storage device, flash memory device, or other non-volatile solid-state storage device.
[0242] Processor 1010 may include one or more processing units; optionally, processor 1010 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications or instructions, and the modem processor mainly handles wireless communication, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 1010.
[0243] The processor is used to perform the following operations:
[0244] Obtain the first identifier parameter of the first target point cloud to be encoded;
[0245] The first target point cloud is encoded based on the first identifier parameter;
[0246] The encoding operation includes at least one of the following:
[0247] When the first identifier parameter is used to characterize parallel encoding, geometric encoding and attribute prediction encoding are performed in parallel on the first target point cloud to obtain the encoding result of the first target point cloud;
[0248] Geometric predictive coding is performed on at least a portion of the points to be encoded in the first target point cloud.
[0249] Alternatively, the processor may be used to perform the following operations:
[0250] Obtain the fifth identifier parameter of the second target point cloud to be decoded;
[0251] Perform a decoding operation on the second target point cloud based on the fifth identification parameter;
[0252] The decoding operation includes at least one of the following:
[0253] When the fifth identifier parameter is used to characterize parallel decoding, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain the decoding result of the second target point cloud;
[0254] Geometric prediction decoding is performed on at least a portion of the points to be decoded in the second target point cloud.
[0255] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described point cloud encoding method embodiment or the various processes of the above-described point cloud decoding method embodiment, and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0256] The processor mentioned above is the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0257] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described point cloud encoding method embodiment or the various processes of the above-described point cloud decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0258] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0259] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0260] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0261] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A point cloud encoding method, characterized by, The method comprises: obtaining a first identification parameter of a first target point cloud to be encoded; performing an encoding operation on the first target point cloud based on the first identification parameter; wherein the encoding operation comprises: in a case where the first identification parameter is used to represent parallel encoding, performing geometric encoding and attribute prediction encoding on the first target point cloud in parallel to obtain an encoding result of the first target point cloud, and the performing geometric encoding and attribute prediction encoding on the first target point cloud in parallel comprises performing geometric prediction encoding on at least part of the points to be encoded of the first target point cloud; or performing geometric prediction encoding on at least part of the points to be encoded of the first target point cloud. The geometric prediction encoding is to determine a rate-distortion cost corresponding to each geometric prediction mode, and to encode a prediction residual corresponding to a geometric prediction mode corresponding to a minimum rate-distortion cost.
2. The method of claim 1, wherein, The performing geometric prediction encoding on at least part of the points to be encoded of the first target point cloud comprises: in a case where a second identification parameter corresponding to the first target point cloud is used to represent that geometric prediction encoding is performed on all points to be encoded, determining N geometric prediction values based on an encoding order corresponding to the points to be encoded of the first target point cloud, the encoding order is determined based on a preset order of the points to be encoded, and the N geometric prediction values correspond to N geometric prediction modes in a one-to-one manner, and N is a positive integer greater than 1; determining a rate-distortion cost corresponding to each geometric prediction mode; quantizing a first prediction residual corresponding to a target geometric prediction mode using a first parameter value, the first parameter value is associated with a third identification parameter of the first target point cloud, the third identification parameter is used to represent lossy encoding, and the target geometric prediction mode is a geometric prediction mode corresponding to a minimum rate-distortion cost; performing entropy encoding on the quantized first prediction residual.
3. The method of claim 2, wherein, The determining N geometric prediction values based on the encoding order corresponding to the points to be encoded of the first target point cloud comprises at least one of the following: in a case where the encoding order corresponding to the points to be encoded is less than or equal to a preset value, the N geometric prediction values are preset in advance; in a case where the encoding order corresponding to the points to be encoded is greater than the preset value, the N geometric prediction values are associated with encoded points in the first target point cloud.
4. The method of claim 1, wherein, The performing geometric prediction encoding on at least part of the points to be encoded of the first target point cloud comprises: in a case where a fourth identification parameter corresponding to the first target point cloud is used to represent hybrid encoding, obtaining a second parameter value associated with the fourth identification parameter; based on the second parameter value, dividing the first target point cloud into first points to be encoded and second points to be encoded; using different encoding modes to encode the first points to be encoded and the second points to be encoded.
5. The method of claim 4, wherein, The using different encoding modes to encode the first points to be encoded and the second points to be encoded comprises: performing multi-tree encoding on the first points to be encoded and performing geometric prediction encoding on the second points to be encoded, or performing geometric prediction encoding on the first points to be encoded and performing multi-tree encoding on the second points to be encoded.
6. The method of claim 4, wherein, The first target point cloud comprises L encoding layers, the second parameter value is used for indicating an Mth encoding layer, L is a positive integer greater than 1, and M is a positive integer less than L; The first target point cloud is divided into first to-be-encoded points and second to-be-encoded points based on the second parameter value, including: To-be-encoded points corresponding to the first to the M-1th encoding layers of the first target point cloud are determined as the first to-be-encoded points; To-be-encoded points corresponding to the Mth to the Lth encoding layers of the first target point cloud are determined as the second to-be-encoded points.
7. The method of claim 1, wherein, Attribute prediction encoding is performed on the first target point cloud, including: I attribute prediction values corresponding to the to-be-encoded points of the first target point cloud are determined based on an encoding order of the to-be-encoded points; the I attribute prediction values correspond to I attribute prediction modes in a one-to-one manner, and I is a positive integer greater than 1; A rate-distortion cost corresponding to each attribute prediction mode is determined; A second prediction residual corresponding to a target attribute prediction mode is entropy-encoded, the target attribute prediction mode being an attribute prediction mode corresponding to a minimum rate-distortion cost.
8. The method of claim 1, wherein, Attribute prediction encoding is performed on the first target point cloud, including: A target encoding point corresponding to a to-be-encoded point of the first target point cloud is determined based on geometric information of the to-be-encoded point; the target encoding point being an encoded point in the first target point cloud; I attribute prediction values corresponding to the to-be-encoded point are determined according to attribute information corresponding to the target encoding point; the I attribute prediction values corresponding to I attribute prediction modes in a one-to-one manner, and I is a positive integer greater than 1; A rate-distortion cost corresponding to each attribute prediction mode is determined; A second prediction residual corresponding to a target attribute prediction mode is entropy-encoded, the target attribute prediction mode being an attribute prediction mode corresponding to a minimum rate-distortion cost.
9. A method of point cloud decoding, the method comprising: Including: A fifth identification parameter of a second target point cloud to be decoded is acquired; A decoding operation is performed on the second target point cloud based on the fifth identification parameter; The decoding operation includes: In a case where the fifth identification parameter is used to represent parallel decoding, geometric decoding and attribute prediction decoding are performed in parallel on the second target point cloud to obtain a decoding result of the second target point cloud, and the geometric decoding and the attribute prediction decoding performed in parallel on the second target point cloud include performing geometric prediction decoding on at least part of to-be-decoded points of the second target point cloud; or Geometric prediction decoding is performed on at least part of to-be-decoded points of the second target point cloud; The geometric prediction decoding corresponds to geometric prediction encoding, and the geometric prediction encoding is encoding of a prediction residual corresponding to a geometric prediction mode corresponding to a minimum rate-distortion cost, after a rate-distortion cost corresponding to each geometric prediction mode is determined.
10. An encoder comprising: Including: A first acquisition module is configured to acquire a first identification parameter of a first target point cloud to be encoded; An encoding module is configured to perform an encoding operation on the first target point cloud based on the first identification parameter; The encoding operation includes: In a case where the first identification parameter is used to represent parallel encoding, the geometric encoding and the attribute prediction encoding are performed in parallel on the first target point cloud to obtain an encoding result of the first target point cloud, and the geometric encoding and the attribute prediction encoding are performed in parallel on the first target point cloud, including performing geometric prediction encoding on at least part of to-be-encoded points of the first target point cloud; or The geometric prediction encoding is performed on at least part of to-be-encoded points of the first target point cloud. The geometric prediction encoding is to determine a rate-distortion cost corresponding to each geometric prediction mode, and to encode a prediction residual corresponding to a geometric prediction mode corresponding to a minimum rate-distortion cost.
11. The encoder of claim 10, wherein, The encoding module comprises: A first determination unit is configured to, in a case where a second identification parameter corresponding to the first target point cloud is used to represent that geometric prediction encoding is performed on all to-be-encoded points, determine N geometric prediction values based on an encoding order of to-be-encoded points of the first target point cloud, the encoding order is determined based on a preset order of the to-be-encoded points, and the N geometric prediction values correspond to N geometric prediction modes in a one-to-one manner, and N is a positive integer greater than 1. A second determination unit is configured to determine a rate-distortion cost corresponding to each geometric prediction mode. A quantization unit is configured to quantize a first prediction residual corresponding to a target geometric prediction mode using a first parameter value, the first parameter value is associated with a third identification parameter of the first target point cloud, the third identification parameter is used to represent lossy encoding, and the target geometric prediction mode is a geometric prediction mode corresponding to a minimum rate-distortion cost. A first encoding unit is configured to perform entropy encoding on the quantized first prediction residual.
12. The encoder of claim 11, wherein, The first determination unit is specifically configured to: In a case where the encoding order of the to-be-encoded points is less than or equal to a preset value, the N geometric prediction values are preset in advance; and In a case where the encoding order of the to-be-encoded points is greater than the preset value, the N geometric prediction values are associated with encoded points in the first target point cloud.
13. The encoder of claim 10, wherein, The encoding module comprises: An acquisition unit is configured to, in a case where a fourth identification parameter corresponding to the first target point cloud is used to represent hybrid encoding, acquire a second parameter value associated with the fourth identification parameter. A division unit is configured to divide the first target point cloud into first to-be-encoded points and second to-be-encoded points based on the second parameter value. A second encoding unit is configured to encode the first to-be-encoded points and the second to-be-encoded points using different encoding modes.
14. The encoder of claim 13, wherein, The second encoding unit is specifically configured to: perform multi-tree encoding on the first to-be-encoded points and perform geometric prediction encoding on the second to-be-encoded points, or perform geometric prediction encoding on the first to-be-encoded points and perform multi-tree encoding on the second to-be-encoded points.
15. The encoder of claim 13, wherein, The first target point cloud comprises L encoding layers, the second parameter value is used to indicate an Mth encoding layer, L is a positive integer greater than 1, and M is a positive integer less than L. The division unit is specifically configured to: determine to-be-encoded points corresponding to the first encoding layer to the M-1th encoding layer of the first target point cloud as the first to-be-encoded points. The Mth encoding layer to the Lth encoding layer of the first target point cloud is determined as the second to-be-encoded point.
16. The encoder of claim 10, wherein, The encoding module is specifically configured to: determine I attribute prediction values based on the encoding order corresponding to the to-be-encoded point of the first target point cloud; the I attribute prediction values correspond to I attribute prediction modes one by one, and I is a positive integer greater than 1; determine a rate-distortion cost corresponding to each attribute prediction mode; perform entropy encoding on a second prediction residual corresponding to a target attribute prediction mode, the target attribute prediction mode being the attribute prediction mode corresponding to the smallest rate-distortion cost.
17. The encoder of claim 10, wherein, The encoding module is specifically configured to: determine a target encoded point corresponding to the to-be-encoded point based on the geometric information corresponding to the to-be-encoded point of the first target point cloud; the target encoded point is an encoded point in the first target point cloud; determine I attribute prediction values corresponding to the to-be-encoded point according to attribute information corresponding to the target encoded point; the I attribute prediction values correspond to I attribute prediction modes one by one, and I is a positive integer greater than 1; determine a rate-distortion cost corresponding to each attribute prediction mode; perform entropy encoding on a second prediction residual corresponding to a target attribute prediction mode, the target attribute prediction mode being the attribute prediction mode corresponding to the smallest rate-distortion cost.
18. A decoder, comprising: comprising: a second acquisition module configured to acquire a fifth identification parameter of a second target point cloud to be decoded; a decoding module configured to perform a decoding operation on the second target point cloud based on the fifth identification parameter; wherein the decoding operation comprises: in a case where the fifth identification parameter is used to represent parallel decoding, performing geometric decoding and attribute prediction decoding on the second target point cloud in parallel to obtain a decoding result of the second target point cloud, the performing geometric decoding and attribute prediction decoding on the second target point cloud in parallel comprising performing geometric prediction decoding on at least part of to-be-decoded points of the second target point cloud; or performing geometric prediction decoding on at least part of to-be-decoded points of the second target point cloud; the geometric prediction decoding corresponds to geometric prediction encoding, and the geometric prediction encoding is encoding performed on a prediction residual corresponding to a geometric prediction mode corresponding to the smallest rate-distortion cost after determining a rate-distortion cost corresponding to each geometric prediction mode.
19. A terminal, characterized by comprising a processor, a memory, and a program or instructions stored on the memory and executable on the processor, the program or instructions being executed by the processor to implement the steps of the point cloud encoding method according to any one of claims 1-8 or to implement the steps of the point cloud decoding method according to claim 9.
20. A readable storage medium, characterized by, The program or instructions are stored on the readable storage medium, and the program or instructions are executed by the processor to implement the steps of the point cloud encoding method according to any one of claims 1-8 or to implement the steps of the point cloud decoding method according to claim 9.
Citation Information
Patent Citations
Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2020197228A1