A point cloud processing method and device, computer equipment and storage medium
By acquiring the encoded data of point clouds and the hierarchical information of target information, and adopting hierarchical decoding and encoding methods, the problem of low efficiency in point cloud encoding and decoding is solved, and a differentiated improvement in the point cloud encoding and decoding process is achieved.
Patent Information
- Application Number
- CN202310301071.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-16
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2043-03-16
AI Technical Summary
The low encoding and decoding efficiency of point clouds is mainly due to the large dynamic range of point cloud-related data, which makes the encoding and decoding process inefficient.
By acquiring the encoded data of point clouds and the hierarchical information of target information, a hierarchical decoding and encoding method is adopted. The encoded data is differentiated according to the hierarchical information to improve the decoding efficiency of point clouds.
It achieves differentiation in the point cloud encoding and decoding process, thereby improving the efficiency of point cloud encoding and decoding.
Smart Images

Figure CN116320352B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and more particularly to the field of point cloud encoding and decoding technology, specifically to a point cloud processing method, a point cloud processing device, a computer device, and a computer-readable storage medium. Background Technology
[0002] With the continuous development of science and technology, it is now possible to obtain large amounts of high-precision point clouds at a relatively low cost and in a short time. A point cloud can contain multiple points, each with geometric and attribute information. To improve the transmission efficiency of point clouds, the relevant information usually needs to be encoded before transmission. Specifically, the encoding end encodes the relevant information and then transmits it to the decoding end, which decodes the information to reconstruct the point cloud information. However, practice has shown that the dynamic range of point cloud information is large, which leads to low encoding and decoding efficiency. Summary of the Invention
[0003] This application provides a point cloud processing method, apparatus, computer equipment, and storage medium, which can improve the encoding and decoding efficiency of point clouds.
[0004] On one hand, embodiments of this application provide a point cloud processing method, which includes:
[0005] Obtain the encoded data of the point cloud; the encoded data is obtained by encoding the target information in the point cloud.
[0006] Obtain hierarchical information of the target information;
[0007] Based on the hierarchical information, the encoded data is decoded hierarchically to obtain the reconstructed information of the target information.
[0008] Accordingly, embodiments of this application provide a point cloud processing apparatus, which includes:
[0009] The acquisition unit is used to acquire the encoded data of the point cloud; the encoded data is obtained by encoding the target information in the point cloud.
[0010] The acquisition unit is also used to acquire hierarchical information of the target information;
[0011] The processing unit is used to perform hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information.
[0012] In one implementation, the processing unit, when performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0013] Based on the hierarchical information, the number of bits of the target information are parsed from the encoded data;
[0014] Based on the number of bits in the target information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0015] In one implementation, the hierarchical information includes placeholder hierarchical information; the processing unit, when parsing the number of bits of the target information from the encoded data based on the hierarchical information, specifically performs the following steps:
[0016] Determine the values for the occupancy level information;
[0017] In parsing the encoded data, the number of bits of the target information is obtained from the bits corresponding to the values of the placeholder hierarchical information.
[0018] In one implementation, when the processing unit parses the bits corresponding to the values of the placeholder hierarchical information in the encoded data to obtain the number of bits of the target information, it specifically performs the following steps:
[0019] If the value of the placeholder hierarchical information is the first value, then the number of bits of the target information can be obtained from the m1 bits corresponding to the first value in the parsed encoded data.
[0020] If the value of the placeholder hierarchical information is the second value, then the number of bits of the target information can be obtained from the m2 bits corresponding to the second value in the parsed encoded data.
[0021] Where m1 and m2 are both positive integers, and m1 and m2 are not equal.
[0022] In one implementation, the hierarchical information includes decoding mode information; the processing unit, when parsing the number of bits of the target information from the encoded data based on the hierarchical information, specifically performs the following steps:
[0023] If the decoding mode information indicates that a shift decoding mode is used when decoding the encoded data of the target information, then the n1 bits in the encoded data are parsed to obtain the number of bits of the target information.
[0024] If the decoding mode information indicates that the shift decoding mode was not used when decoding the encoded data of the target information, then the n2 bits in the encoded data are parsed to obtain the number of bits of the target information;
[0025] Where n1 and n2 are both positive integers, and n1 is less than n2.
[0026] In one implementation, when the processing unit parses the number of bits of the target information from the encoded data based on the hierarchical information, it specifically performs the following steps:
[0027] Determine the exponential Columbus order corresponding to the hierarchical information;
[0028] The number of bits used to parse the target information from the encoded data is determined according to the determined exponential Columbus order.
[0029] In one implementation, when the processing unit parses the number of bits of the target information from the encoded data based on the hierarchical information, it specifically performs the following steps:
[0030] Determine the hierarchical conditions that the hierarchical information must meet;
[0031] By analyzing the encoded data, the number of bits of the target information is obtained from the bits corresponding to the hierarchical conditions.
[0032] In one implementation, when the processing unit parses the bits indicated by the hierarchical conditions in the encoded data to obtain the number of bits of the target information, it specifically performs the following steps:
[0033] If the hierarchical information satisfies the first hierarchical condition, then the number of bits of the target information can be obtained from the i bits corresponding to the first hierarchical condition in the parsed encoded data.
[0034] If the hierarchical information satisfies the second hierarchical condition, then the number of bits of the target information can be obtained from the i+k1 bits corresponding to the second hierarchical condition in the parsed encoded data.
[0035] If the hierarchical information satisfies the third hierarchical condition, then the number of bits of the target information can be obtained from the i+k2 bits corresponding to the third hierarchical condition in the parsed encoded data.
[0036] Where i is a positive integer; the hierarchical information is represented by N, and the hierarchical information satisfies the first hierarchical condition as N∈[0, d1); the hierarchical information satisfies the second hierarchical condition as N∈[d1, d2); the hierarchical information satisfies the third hierarchical condition as N∈[d2, d3); d1, d2 and d3 are all positive integers, and d1 is less than d2, and d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0037] In one implementation, when the processing unit parses the encoded data to obtain the number of bits of the target information corresponding to the hierarchical conditions, it specifically performs the following steps:
[0038] If the hierarchical information satisfies the fixed position condition, then in the parsed encoded data, the number of bits of the target information can be obtained from the q1 bits corresponding to the fixed position condition;
[0039] If the hierarchical information satisfies the non-fixed position condition, then the number of bits of the target information can be obtained from the q2 bits corresponding to the non-fixed position condition in the parsed encoded data.
[0040] Where q1 and q2 are both positive integers, and q1 and q2 are not equal.
[0041] In one implementation, the target information includes the geometric information of the points to be decoded in the point cloud;
[0042] The hierarchical information is determined by at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, number of points in the prediction tree, ordering information of the prediction tree, starting point information of the prediction tree, and position information of the prediction tree; wherein, the geometric partitioning depth information is determined based on the number of partitions when dividing and encoding the point cloud; the bounding box size information refers to the size information of the bounding box of the coding unit where the point to be decoded is located; the data geometric precision information refers to the data acquisition precision information of the point cloud; the ordering information of the prediction tree refers to the Morton order information or original order information in the prediction tree where the point to be decoded is located; and the position information of the prediction tree refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located.
[0043] The point count information of the prediction tree includes any of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be decoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be decoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be decoded, excluding duplicate points.
[0044] In one implementation, the target information includes the geometric information of the point to be decoded in the point cloud, the geometric information of the point to be decoded including geometric information components of the point to be decoded in K directions, where K is a positive integer; the hierarchical information includes the hierarchical information of the point to be decoded in K directions; the processing unit, when parsing the number of bits of the target information from the encoded data according to the hierarchical information, specifically performs the following steps:
[0045] Based on the hierarchical information of the point to be decoded in the k-th direction, the number of bits of the geometric information component of the point to be decoded in the k-th direction is parsed from the encoded data.
[0046] The processing unit, used to parse each bit of the target information in the encoded data according to the number of bits of the target information, specifically performs the following steps to obtain the reconstructed information of the target information:
[0047] Based on the number of bits of the geometric information component of the point to be decoded in the k-th direction, each bit of the geometric information component of the point to be decoded in the k-th direction in the encoded data is analyzed to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction.
[0048] Wherein, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K; the relationship between the hierarchical information of the point to be decoded in the K directions includes any of the following: completely the same, completely different, or partially the same.
[0049] In one implementation, the processing unit is further configured to perform the following steps:
[0050] Placeholder information for determining target information;
[0051] If the placeholder indication information indicates that the number of bits in the target information is the target number of bits, then the target number of bits is determined to be the number of bits in the target information; and, based on the number of bits in the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information;
[0052] If the placeholder indication information indicates that the number of bits in the target information is not the target number of bits, then the step of parsing the number of bits in the target information from the encoded data according to the hierarchical information is triggered.
[0053] In one implementation, the processing unit, when performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0054] Based on the hierarchical information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0055] In one implementation, the processing unit, when parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0056] Determine the exponential Columbus order corresponding to the hierarchical information;
[0057] By analyzing each bit of the target information in the encoded data according to the determined exponent Columbus order, the reconstructed information of the target information is obtained.
[0058] In one implementation, the hierarchical information includes decoding mode information; the processing unit, used to parse each bit of the target information in the encoded data according to the hierarchical information, specifically performs the following steps when obtaining the reconstructed information of the target information:
[0059] If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then p1 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0060] If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then p2 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0061] Where p1 and p2 are both positive integers, and p1 is less than p2.
[0062] In one implementation, the processing unit is further configured to perform the following steps:
[0063] Specific indications for identifying target information;
[0064] If a specific indication indicates that the target information is specific information, then the specific information is determined as the reconstruction information of the target information;
[0065] If the specific indication information indicates that the target information is not specific information, then the step of parsing each bit of the target information in the encoded data according to the hierarchical information is triggered to obtain the reconstructed information of the target information.
[0066] In one implementation, the step of acquiring the hierarchical information of the target information is triggered when the decoding mode information of the target information is determined, and the decoding mode information of the target information indicates that a hierarchical decoding mode is used when decoding the encoded data of the target information; the acquisition unit, when determining the decoding mode information of the target information, is specifically used to perform any of the following:
[0067] Uses the default decoding mode information;
[0068] Parse decoding mode information from the encoding parameter set or encoded bitstream of the point cloud;
[0069] Determine the decoding mode information based on the default mode determination parameters;
[0070] The mode determination parameters are parsed from the encoding parameter set or encoding bitstream of the point cloud, and the decoding mode information is determined based on the mode determination parameters.
[0071] In one implementation, the target information includes the geometric residual information of the point to be decoded in the point cloud; the macroblock containing the point to be decoded includes multiple prediction trees, the point to be decoded is located in the first prediction tree, and the point to be decoded is the first point of the first prediction tree; the processing unit is used to perform hierarchical decoding on the encoded data according to the hierarchical information, and after obtaining the reconstructed information of the target information, it is also used to perform the following steps:
[0072] Use the vertices of the bounding box of the macroblock containing the point to be decoded as the starting point of the first prediction tree;
[0073] Based on the starting point information of the first prediction tree and the reconstruction information of the geometric residual information of the point to be decoded, the point to be decoded is geometrically reconstructed to obtain the reconstructed geometric coordinate information of the point to be decoded.
[0074] Specifically, for the prediction trees other than the first prediction tree in the macroblock containing the point to be decoded, the point to be decoded is used as the starting point of the other prediction trees.
[0075] In this embodiment of the application, during the point cloud decoding stage, the encoded data of the target information can be decoded hierarchically according to the hierarchical information of the target information. This can make the decoding process of different information in the point cloud differentiated, thereby improving the decoding efficiency of the point cloud.
[0076] On the other hand, embodiments of this application provide a point cloud processing method, which includes:
[0077] Obtain the target information to be encoded from the point cloud;
[0078] Obtain hierarchical information of the target information;
[0079] Based on the hierarchical information, the target information is hierarchically encoded to obtain the encoded data of the target information.
[0080] Accordingly, embodiments of this application provide a point cloud processing apparatus, which includes:
[0081] The acquisition unit is used to acquire the target information to be encoded in the point cloud;
[0082] The acquisition unit is also used to acquire hierarchical information of the target information;
[0083] The processing unit is used to perform hierarchical encoding on the target information according to the hierarchical information to obtain the encoded data of the target information.
[0084] In one implementation, the processing unit, when performing hierarchical encoding on the target information based on the hierarchical information to obtain the encoded data of the target information, specifically performs the following steps:
[0085] The number of bits in the target information is encoded based on the hierarchical information.
[0086] Based on the number of bits in the target information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0087] In one implementation, the hierarchical information includes placeholder hierarchical information; the processing unit, when encoding the number of bits of the target information according to the hierarchical information, specifically performs the following steps:
[0088] Obtain the values of the placeholder classification information;
[0089] The number of bits in the target information is encoded based on the bit position corresponding to the value of the placeholder hierarchical information.
[0090] In one implementation, the processing unit, when encoding the number of bits of the target information according to the bit position corresponding to the value of the placeholder hierarchical information, specifically performs the following steps:
[0091] If the value of the placeholder classification information is set to the first value, then the m1 bits corresponding to the first value are used to encode the number of bits of the target information.
[0092] If the value of the placeholder classification information is set to the second value, then the m2 bits corresponding to the second value are used to encode the number of bits of the target information.
[0093] Where m1 and m2 are both positive integers, and m1 and m2 are not equal.
[0094] In one implementation, the hierarchical information includes encoding pattern information; the processing unit, when encoding the number of bits of the target information according to the hierarchical information, specifically performs the following steps:
[0095] If the encoding mode information indicates that a shift encoding mode is used when encoding the target information, then n1 bits are used to encode the number of bits in the target information;
[0096] If the encoding mode information indicates that a shift encoding mode is not used when encoding the target information, then n2 bits are used to encode the number of bits in the target information;
[0097] Where n1 and n2 are both positive integers, and n1 is less than n2.
[0098] In one implementation, the processing unit, when encoding the number of bits of the target information according to the hierarchical information, specifically performs the following steps:
[0099] Determine the exponential Columbus order corresponding to the hierarchical information;
[0100] The target information is encoded in bits according to a determined exponential Columbus order.
[0101] In one implementation, the processing unit, when encoding the number of bits of the target information according to the hierarchical information, specifically performs the following steps:
[0102] Determine the hierarchical conditions that the hierarchical information must meet;
[0103] The number of bits in the target information is encoded according to the bits corresponding to the classification conditions.
[0104] In one implementation, when the processing unit encodes the number of bits of the target information according to the bits corresponding to the hierarchical conditions, it specifically performs the following steps:
[0105] If the hierarchical information meets the first hierarchical condition, then the i bits corresponding to the first hierarchical condition are used to encode the number of bits in the target information.
[0106] If the hierarchical information meets the second hierarchical condition, then the i+k1 bits corresponding to the second hierarchical condition are used to encode the number of bits in the target information.
[0107] If the hierarchical information meets the third hierarchical condition, then the i+k2 bits corresponding to the third hierarchical condition are used to encode the number of bits in the target information.
[0108] Where i is a positive integer; the hierarchical information is represented by N, and the hierarchical information satisfies the first hierarchical condition as N∈[0, d1); the hierarchical information satisfies the second hierarchical condition as N∈[d1, d2); the hierarchical information satisfies the third hierarchical condition as N∈[d2, d3); d1, d2 and d3 are all positive integers, and d1 is less than d2, and d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0109] In one implementation, the target information includes the geometric information of the points to be encoded in the point cloud;
[0110] The hierarchical information is determined by at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, number of points in the prediction tree, ordering information of the prediction tree, starting point information of the prediction tree, and position information of the prediction tree; wherein, the geometric partitioning depth information is determined based on the number of partitions when dividing and encoding the point cloud; the bounding box size information refers to the size information of the bounding box of the encoding unit where the point to be encoded is located; the data geometric precision information refers to the data acquisition precision information of the point cloud; the ordering information of the prediction tree includes the Morton code of each point in the prediction tree where the point to be encoded is located; the ordering information of the prediction tree refers to the Morton order information or original order information in the prediction tree where the point to be encoded is located; and the position information of the prediction tree refers to the position information of the point to be encoded in the prediction tree where the point to be encoded is located.
[0111] The point count information of the prediction tree includes any of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be encoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be encoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be encoded, excluding duplicate points.
[0112] In one implementation, the target information includes the geometric information of the point to be encoded in the point cloud, which includes geometric information components of the point in K directions, where K is a positive integer; the hierarchical information includes the hierarchical information of the point in K directions; and the processing unit, used to encode the number of bits of the target information according to the hierarchical information, specifically performs the following steps:
[0113] Based on the hierarchical information of the point to be encoded in the k-th direction, the number of bits of the geometric information component of the point to be encoded in the k-th direction is encoded.
[0114] The processing unit is used to encode each bit of the target information according to the number of bits in the target information. When obtaining the encoded data of the target information, it specifically performs the following steps:
[0115] Based on the number of bits of the geometric information component of the point to be encoded in the k-th direction, each bit of the geometric information component of the point to be encoded in the k-th direction is encoded to obtain the encoded data of the geometric information component of the point to be encoded in the k-th direction.
[0116] Wherein, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K; the relationship between the hierarchical information of the point to be encoded in the K directions includes any of the following: completely the same, completely different, or partially the same.
[0117] In one implementation, the processing unit is further configured to perform the following steps:
[0118] Placeholder information for determining target information;
[0119] If the placeholder indication information indicates that the number of bits in the target information is the target number of bits, then each bit of the target information is encoded according to the target number of bits to obtain the encoded data of the target information;
[0120] If the placeholder indication information indicates that the number of bits in the target information is not the target number of bits, then the step of encoding the number of bits in the target information according to the hierarchical information is triggered.
[0121] In one implementation, the processing unit, when performing hierarchical encoding on the target information based on the hierarchical information to obtain the encoded data of the target information, specifically performs the following steps:
[0122] Based on the hierarchical information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0123] In one implementation, the processing unit, used to encode each bit of the target information according to the hierarchical information, specifically performs the following steps to obtain the encoded data of the target information:
[0124] Determine the exponential Columbus order corresponding to the hierarchical information;
[0125] Each bit of the target information is encoded according to the determined exponential Columbus order to obtain the encoded data of the target information.
[0126] In one implementation, the hierarchical information includes encoding pattern information; the processing unit, used to encode each bit of the target information according to the hierarchical information, specifically performs the following steps when obtaining the encoded data of the target information:
[0127] If the encoding mode information indicates that a shift encoding mode is used when encoding the target information, then p1 bits are used to encode the target information to obtain the encoded data of the target information;
[0128] If the encoding mode information indicates that the shift encoding mode is not used when encoding the target information, then p2 bits are used to encode the target information to obtain the encoded data of the target information;
[0129] Where p1 and p2 are both positive integers, and p1 is less than p2.
[0130] In one implementation, the processing unit is further configured to perform the following steps:
[0131] Specific indications for identifying target information;
[0132] If a specific indication indicates that the target information is specific, then it is determined that no encoding of the target information is required.
[0133] If the specific indication information indicates that the target information is not specific information, then the step of encoding each bit of the target information according to the hierarchical information is triggered to obtain the encoded data of the target information.
[0134] In one implementation, obtaining the unit is also used to perform the following steps:
[0135] Determine the encoding pattern information of the target information;
[0136] If the encoding mode information indicates that a hierarchical encoding mode is used when encoding the target information, then the step of obtaining the hierarchical information of the target information is triggered.
[0137] In one implementation, the step of obtaining the hierarchical information of the target information is triggered when the encoding mode information of the target information is determined, and the encoding mode information of the target information indicates that a hierarchical encoding mode is used when encoding the target information; the obtaining unit, when determining the encoding mode information of the target information, is specifically used to perform any of the following:
[0138] Information using the default encoding mode;
[0139] Set the encoding mode information and write the encoding mode information into the encoding parameter set or encoding bitstream of the point cloud;
[0140] Encoding mode information is determined based on default mode determination parameters;
[0141] Set the mode determination parameters to determine the encoding mode information, and write the mode determination parameters into the encoding parameter set or encoding stream of the point cloud.
[0142] In one implementation, the target information includes the geometric residual information of the point to be encoded in the point cloud; the macroblock containing the point to be encoded includes multiple prediction trees, the point to be encoded is located in the first prediction tree, and the point to be encoded is the first point of the first prediction tree; the acquisition unit, when acquiring the target information to be encoded in the point cloud, specifically performs the following steps:
[0143] Use the vertices of the bounding box of the macroblock containing the point to be encoded as the starting point of the first prediction tree;
[0144] Based on the starting point information of the first prediction tree and the true geometric coordinate information of the point to be encoded, determine the geometric residual information of the point to be encoded;
[0145] Specifically, for the other prediction trees in the macroblock containing the point to be encoded, excluding the first prediction tree, the point to be encoded is used as the starting point of the other prediction trees.
[0146] In this embodiment of the application, during the point cloud encoding stage, the target information can be encoded hierarchically according to the hierarchical information of the target information. This can make the encoding process of different information in the point cloud differentiated, thereby improving the encoding efficiency of the point cloud.
[0147] Accordingly, embodiments of this application provide a computer device, which includes:
[0148] A processor is a tool for implementing computer programs.
[0149] A computer-readable storage medium storing a computer program adapted to be loaded by a processor and executed by the point cloud processing method described above.
[0150] Accordingly, embodiments of this application provide a computer-readable storage medium storing a computer program. When the computer program is read and executed by the processor of a computer device, the computer device performs the point cloud processing method described above.
[0151] Accordingly, embodiments of this application provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the point cloud processing method described above.
[0152] In this embodiment, the target information can be encoded and decoded hierarchically according to the hierarchical information of the target information. This can make the encoding and decoding process of different information in the point cloud different, thereby improving the encoding and decoding efficiency of the point cloud. Attached Figure Description
[0153] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0154] Figure 1a This is a schematic diagram of a point cloud encoding process provided in an embodiment of this application;
[0155] Figure 1b This is a schematic diagram of another point cloud encoding process provided in an embodiment of this application;
[0156] Figure 2 This is a schematic diagram of a bounding box provided in an embodiment of this application;
[0157] Figure 3 This is a schematic diagram of an octree encoding provided in an embodiment of this application;
[0158] Figure 4 This is a schematic diagram of a block structure encoding provided in an embodiment of this application;
[0159] Figure 5a This is a schematic diagram of a prediction tree coding structure provided in an embodiment of this application;
[0160] Figure 5bThis is a schematic diagram of another prediction tree coding structure provided in an embodiment of this application;
[0161] Figure 6 This is a schematic diagram of the structure of a point cloud processing system provided in an embodiment of this application;
[0162] Figure 7 This is a schematic flowchart of a point cloud processing method provided in an embodiment of this application;
[0163] Figure 8 This is a flowchart illustrating another point cloud processing method provided in an embodiment of this application;
[0164] Figure 9 This is a schematic diagram of the structure of a point cloud processing device provided in an embodiment of this application;
[0165] Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0166] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0167] To better understand the technical solutions provided in the embodiments of this application, the basic concepts involved in the embodiments of this application will be introduced first:
[0168] (1) Point Cloud. A point cloud is a set of discrete points in space that are randomly distributed and represent the spatial structure and surface properties of a three-dimensional object or scene. Point clouds can be classified into different categories according to different classification criteria. For example, according to the acquisition method, they can be divided into dense point clouds and sparse point clouds. Also, according to the temporal type of point clouds, they can be divided into static point clouds and dynamic point clouds.
[0169] (2) Point Cloud Data. Point cloud data is composed of the geometric coordinates and attribute information of each point in a point cloud. Geometric coordinate information, also known as 3D position information, refers to the spatial coordinates (x, y, z) of a point in the point cloud. This can include the coordinate values of the point along each coordinate axis of a 3D coordinate system, such as the coordinate value x along the X-axis, the coordinate value y along the Y-axis, and the coordinate value z along the Z-axis. The attribute information of a point in the point cloud can include at least one of the following: color information, material information, and laser reflection intensity information (also known as reflectivity). Typically, each point in the point cloud has the same number of attribute information. For example, each point in the point cloud can have both color information and laser reflection intensity information, or it can have color information, material information, and laser reflection intensity information.
[0170] (3) Point Cloud Compression (PCC). Point cloud encoding refers to the process of encoding the geometric coordinates and attribute information of each point in a point cloud to obtain a compressed bitstream. Point cloud encoding can include two main processes: geometric coordinate information encoding and attribute information encoding. Currently, mainstream point cloud encoding technologies can be divided into geometric structure-based point cloud encoding and projection-based point cloud encoding, depending on the type of point cloud. Here, we will take G-PCC (Geometry-Based Point Cloud Compression) in MPEG (Moving Picture Expert Group, international audio and video codec standard) and AVS-PCC (Audio Video Coding Standard, China's national video codec standard) as examples for introduction.
[0171] The encoding frameworks of G-PCC and AVS-PCC are largely the same, such as Figure 1a The AVS-PCC encoding framework is shown, such as Figure 1b The MPEG G-PCC encoding framework is illustrated, which can be divided into geometric coordinate information encoding and attribute information encoding. In the geometric information encoding process, the geometric coordinate information of each point in the point cloud is encoded to obtain a geometric bitstream; in the attribute information encoding process, the attribute information of each point in the point cloud is encoded to obtain an attribute bitstream; the geometric bitstream and the attribute bitstream together constitute the compressed bitstream of the point cloud.
[0172] The main operations and processing steps for geometric information encoding are described below:
[0173] ① Pre-processing: This can include coordinate transformation and voxelization. By scaling and translation, point cloud data in 3D space is converted into integer form, and its smallest geometric position is moved to the origin.
[0174] ② Geometric Encoding: Geometric encoding can include two modes: octree-based geometric encoding and triangulation-based geometric encoding. These two encoding modes can be used under different conditions. Among them:
[0175] Octree-based geometric encoding: An octree is a tree-like data structure that uniformly divides a predefined bounding box in 3D space, with each node having eight child nodes. By using "1" and "0" to indicate whether each child node of the octree is occupied, the occupancy code is obtained as the bitstream of the point cloud geometric information.
[0176] Geometric encoding based on triangulation: The point cloud is divided into blocks of a certain size, and the intersection points of the point cloud surface with the edges of the blocks are located and triangles are constructed. Geometric information is compressed by encoding the intersection points.
[0177] ③ Geometry Quantization: The fineness of quantization is usually determined by the quantization parameter (QP). A larger QP value means that coefficients with a wider range of values will be quantized into the same output, which usually leads to greater distortion and a lower bit rate. Conversely, a smaller QP value means that coefficients with a smaller range of values will be quantized into the same output, which usually leads to less distortion and a higher bit rate.
[0178] ④ Geometric Entropy Encoding: This method uses statistical compression encoding on the occupancy code information of an octree to output a binary (0 or 1) compressed bitstream. Statistical coding is a lossless coding method that can effectively reduce the bit rate required to represent the same signal. A commonly used statistical coding method is Content Adaptive Binary Arithmetic Coding (CABAC).
[0179] The main operations and processing steps for encoding attribute information can be found in the following description:
[0180] ① Attribute Recoloring: In lossy encoding, after encoding the geometric coordinate information, the encoding end needs to decode and reconstruct the geometric information, that is, restore the geometric information of each point in the point cloud. Attribute information corresponding to one or more neighboring points in the original point cloud is used as the attribute information for the reconstructed point.
[0181] ② Attribute information processing: In AVS-PCC, attribute information processing can include four modes: Prediction, Transform, Prediction & Transform, and Transform & Prediction. These four modes can be used under different conditions.
[0182] in:
[0183] Prediction: Based on information such as distance or spatial relationships, neighboring points of the point to be encoded are determined as prediction points among the already encoded points. Based on the set criteria, the predicted attribute information of the point to be encoded is calculated according to the attribute information of the prediction points. The difference between the actual attribute information and the predicted attribute information of the point to be encoded is calculated as the attribute residual information. The attribute residual information is then quantized, transformed (optional), and entropy encoded.
[0184] Transformation: Using transformation methods such as DCT (Discrete Cosine Transform) and Haar (Haar Transform), the attribute information is grouped and transformed, and the transformation coefficients are quantized; through inverse quantization, the attribute reconstruction information is obtained after inverse transformation; the difference between the real attribute information and the attribute reconstruction information is calculated to obtain the attribute residual information and quantized; the quantized transformation coefficients and attribute residuals are entropy encoded.
[0185] Predictive transformation: The transformation is performed using the attribute residual information obtained from the prediction, and the transformation coefficients are quantized and entropy encoded.
[0186] Transformation prediction: Predict the transformed coefficients after transformation, and quantize and entropy encode the predicted attribute residual information.
[0187] In MPEG G-PCC, attribute information processing can include three modes: Prediction Transform, Lifting Transform, and Region Adaptive Hierarchical Transform (RAHT). These three coding modes can be used under different conditions. Among them:
[0188] Predictive transform coding: Based on distance, a subset of points is selected to divide the point cloud into multiple different levels of detail (LoD), achieving a point cloud representation from coarse to fine. Bottom-up prediction can be achieved between adjacent layers, that is, the attribute information of points introduced in the fine layer is predicted from neighboring points in the coarse layer, obtaining the corresponding attribute residual information. Among them, the points at the bottom layer are encoded as reference information.
[0189] Enhanced transform coding: Based on the LoD neighbor layer prediction, a weight update strategy for neighboring points is introduced to finally obtain the predicted attribute information of each point and obtain the corresponding attribute residual information.
[0190] Hierarchical Region Adaptive Transform Coding: The attribute information is transformed into the transform domain by RAHT transformation, and the transformed coefficients are called transform coefficients.
[0191] ③ Attribute Quantization: The fineness of quantization is usually determined by the quantization parameters. The transformation coefficients and / or attribute residuals obtained from attribute information processing are quantized, and the quantized results are entropy encoded. For example, in prediction transform coding and boost transform coding, entropy encoding is performed on the quantized attribute residuals; in RAHT, entropy encoding is performed on the quantized transform coefficients.
[0192] ④ Attribute Entropy Coding: The quantized attribute residuals and / or transform coefficients are generally compressed using run-length coding and arithmetic coding. The corresponding coding mode, quantization parameters, and other information are also encoded using an entropy encoder.
[0193] (4) Point Cloud Decoding. Point cloud decoding refers to the process of decoding the compressed bitstream obtained from point cloud encoding to reconstruct the point cloud; more specifically, it refers to the process of reconstructing the geometric coordinate information and attribute information of each point in the point cloud based on the geometric bitstream and attribute bitstream in the compressed bitstream. After obtaining the compressed bitstream at the decoding end, for the geometric bitstream, entropy decoding is first performed to obtain the quantized information of each point in the point cloud, and then inverse quantization is performed to reconstruct the geometric coordinate information of each point in the point cloud. For the attribute bitstream, entropy decoding is first performed to obtain the quantized attribute residual information or quantized transform coefficients of each point in the point cloud; then the quantized attribute residual information is inverse quantized to obtain the reconstructed residual information, and the quantized transform coefficients are inverse quantized to obtain the reconstructed transform coefficients. The reconstructed transform coefficients are inversely transformed to obtain the reconstructed residual information. The attribute information of each point in the point cloud can be reconstructed based on the reconstructed residual information of each point in the point cloud. The reconstructed attribute information of each point in the point cloud is matched one-to-one with the reconstructed geometric coordinate information in sequence to reconstruct the point cloud.
[0194] The above content introduced the basic concepts involved in the embodiments of this application. The basic technologies involved in the embodiments of this application are described below:
[0195] (1) Preprocessing:
[0196] The floating-point coordinates of each point in the input point cloud are represented as (x... m ,y m ,z m ), m = 0, ..., M-1, where M is the number of points in the point cloud, and the coordinates of the points are (x, y, y). min ,y min ,z min ) and coordinates (x) max ,y max ,z max The following is represented:
[0197] x min =min(x) 0 ,x 1 ,…,x M-1 )
[0198] y min =min(y 0 ,y 1 ,…,y M-1 )
[0199] z min =min(z) 0 ,z 1 ,…,z M-1 )
[0200] x max =max(x 0 ,x1 ,…,x M-1 )
[0201] y max =max(y 0 ,y 1 ,…,y M-1 )
[0202] z max =max(z) 0 ,z 1 ,…,z M-1 )
[0203] Wherein, the function min(s) 0 ,s 1 ,…,s M-1 ) represents taking the minimum value of the current input, max(s) 0 ,s 1 ,…,s M-1 ) indicates taking the maximum value of the current input.
[0204] like Figure 2 As shown, the bounding box represents the largest cuboid that can contain all points in the input point cloud. The origin coordinates of the bounding box are (x, y). origin ,y origin ,z origin The following can be calculated:
[0205] x origin =int(floor(x) min ))
[0206] y origin =int(floor(y) min ))
[0207] z origin =int(floor(z) min ))
[0208] The dimensions of the bounding box in the x, y, z directions can be calculated as follows:
[0209] BoudingBoxSize x =int(x max -x origin )+1
[0210] BoudingBoxSize y =int(y max -y origin )+1
[0211] BoudingBoxSize z =int(z max-z origin )+1
[0212] Here, int(s) is the floor function, and floor(s) returns the largest integer value less than or equal to s.
[0213] (2) Octree encoding:
[0214] An octree is a tree-like data structure, currently primarily used in G-PCC or AVS-PCC for point cloud partitioning. For point cloud data in 3D space, the octree partitioning method uniformly divides a predefined bounding box hierarchically, with each node having eight child nodes. The occupancy of each child node in the octree is indicated by '1' and '0', such as... Figure 3 As shown, the occupancy code information is obtained as the bitstream of point cloud geometric information.
[0215] The octree construction is based on the Morton order, which involves converting the 3D coordinates of point cloud data into corresponding Morton codes by querying the Morton order table. The corresponding points at each level of the octree are obtained according to the order of each Morton code. Currently, mainstream point cloud coding techniques utilize octree partitioning to represent point cloud data, employing different processing flows for geometric and attribute information.
[0216] (3) Block structure encoding:
[0217] The block-structured coding method introduces a concept similar to coding blocks in video coding, dividing the three-dimensional space into several (2 dx ,2 dy ,2 dz Non-overlapping coded macroblocks of size 1.5 are used, with each macroblock serving as a basic coding unit. The octree partitioning depth d can be set, or the size of the 3D macroblocks can be controlled via the parameter (nodeSizeLog2). When the octree partitioning is divided into nodes of size (2... dx ,2 dy ,2 dz And when the following conditions are met:
[0218] nodeSizeLog2>max(d x ,d y ,d z )
[0219] Each node is encoded according to a macroblock (LCU). For example... Figure 4 As shown, encoding begins at the second level of the 2D quadtree partitioning in the order of macroblocks (LCUs), where each macroblock can be viewed as a separate tree partitioning structure.
[0220] Currently, each coded macroblock uses a breadth-first traversal. This block-structured encoding method offers great flexibility; different geometric encoding methods can be used within each macroblock based on its characteristics, and attribute encoding can be performed after the geometric encoding of a macroblock is complete. This eliminates the need to wait for the entire point cloud to be geometrically encoded before attribute encoding can begin.
[0221] (4) Predictive coding techniques:
[0222] All points in the point cloud are linked together into a single prediction tree, and each point is predicted based on the signal value of its preceding point. This method, as an option for point cloud signal prediction, can be configured to apply to the entire original point cloud data, or to octree child nodes or subsets of point cloud data obtained in other ways. The corresponding syntax table and syntax elements are as follows:
[0223] syntax table
[0224]
[0225]
[0226] Here is an introduction to some grammatical elements in the grammar table above:
[0227] geom_tree_type: A binary variable. A value of "0" indicates an octree code, and a value of "1" indicates a prediction tree code.
[0228] num_bits_in_lcu_num_points (Number of bytes occupied by macroblock point values): A 5-bit unsigned integer. Represents the number of bytes used for point values within a macroblock.
[0229] lcu_num_points[i] (macroblock point value byte): A binary variable representing the i-th byte of the macroblock point value.
[0230] is_geom_residual_zero[n][k] (Geometric residual zero flag): A binary variable indicating whether the k-th component of the n-th geometric residual is zero, where k = 0, 1, 2. A value of "1" indicates that the k-th component of the n-th geometric residual is equal to zero; a value of "0" indicates that the k-th component of the n-th geometric residual is not equal to zero.
[0231] geom_residual_max_rel_sign[n] (all possibilities of the relative sign of the geometric residual): A 3-bit unsigned integer, no encoding required. Determines the corresponding value for all possible states of the relative sign of the nth geometric residual.
[0232] geom_residual_ord_rel_sign[n][j] (geometric residual relative sign index): A binary variable representing the j-th bit of the relative sign index of the nth geometric residual in all possible states, where j = 0, 1, 2. There are at most geom_residual_max_rel_sign[n] possible states.
[0233] num_bits_geom_residual_minus1[n][k] (Number of bytes occupied by the absolute value of the geometric residual minus one and divided by two): A 4-bit unsigned integer. It represents the number of bytes occupied by the absolute value of the k-th component of the n-th geometric residual minus one and divided by two, where k = 0, 1, 2.
[0234] geom_residual_minus1_div2[n][k][j](Geometric Residual Absolute Value Minus One Divided by Two): A binary variable representing the j-th bit of the absolute value of the k-th component of the n-th geometric residual minus one divided by two, where k = 0, 1, 2.
[0235] geom_residual_minus1_div2_remain[n][k](Geometric residual absolute value minus one divided by two): A binary variable representing the remainder value of the absolute value of the k-th component of the n-th geometric residual minus one divided by two, k = 0, 1, 2.
[0236] Furthermore, the predictive coding techniques already present in G-PCC utilize distance search between points to build a prediction tree. Figure 5a This illustrates a prediction tree coding structure in AVS. Figure 5a The prediction tree shown is a single-chain prediction tree. Figure 5b This illustrates a prediction tree coding structure in MPEG. Figure 5b The prediction tree shown is a multi-link prediction tree. Each node is connected to every other node, and the tree indicates the number of nodes each node is linked to and one of four prediction modes. The four prediction modes are as follows:
[0237] 1) Do not predict.
[0238] 2) Prediction is based on the parent point (first-generation parent node), i.e., the previous point; for example... Figure 5b Points 401 and 502 are its parent points.
[0239] 3) Prediction is performed using the parent node (first-generation parent node) and the grandparent node (second-generation parent node); for example... Figure 5b Point 401 and point 402 are its parent points, and point 403 is its grandparent point.
[0240] 4) Prediction is performed using parent (first-generation parent node), grandparent (second-generation parent node), and grand-grandparent (third-generation parent node) points; for example... Figure 5b Point 401 and point 402 are its parent points, point 403 is its grandparent point, and point 404 is its grand-grandparent point.
[0241] (5) Outlier coding:
[0242] A flag is introduced to indicate whether the current point uses the isolated point encoding mode. This flag uses a context for entropy encoding. If the flag is True, the isolated point encoding mode is used, directly encoding the geometric coordinate information of the point, and the octree partitioning ends. If the flag is False, the isolated point encoding mode is not used, the occupancy code is encoded, and the octree partitioning continues.
[0243] (6) Entropy coding technique:
[0244] Entropy coding is used to binarize and process the predicted residuals or transform coefficients of signed attributes after quantization (in the lossy case). Specifically:
[0245] 1) Variable-length coding: This method uses codewords of varying lengths to represent the residuals or coefficients to be encoded. The code length needs to be designed based on the probability of the symbols appearing. Commonly used methods include Exponential-Golomb coding (Exp-Golomb) and arithmetic coding.
[0246] Exponential Golomb coding is a lossless data compression method and a variable-length prefix code. The encoding principle of K-order exponential Golomb coding is as follows: Write the number in binary form, remove the lowest K bits, and then add 1; calculate the number of bits remaining, subtract one from this number, which is the number of leading zeros to be added; add the lowest K bits removed in the first step back to the end of the bit string. For example, the process of performing second-order exponential Golomb coding on the number "5" is as follows: Write the number "5" in binary form as "101", remove the lowest 2 bits "10", leaving the high-order bits "1", add 1 to the high-order bits "1", get "10"; the number of bits remaining is 2, subtract one from this number, which is the number of leading zeros to be added, that is, one leading 0 needs to be added, add the lowest 2 bits removed in the first step back to the end of the bit string, and get the second-order exponential Golomb code "01001" corresponding to the number "5". The decoding process of the K-order exponential Golomb encoding method is the reverse process of the encoding process of the K-order exponential Golomb encoding method.
[0247] 2) CABAC: CABAC can include the following steps:
[0248] ① Binarization: CABAC uses binary arithmetic encoding, meaning that only two numbers (1 or 0) are encoded. A non-binary numerical symbol, such as a transformation coefficient or motion vector, is first binarized or converted into a binary codeword before arithmetic encoding. This process is similar to converting a numerical value into a variable-length codeword, but this binary codeword is further encoded by an arithmetic encoder before transmission.
[0249] ② Context Model Selection: The context model is a probabilistic model selected based on the statistics of the most recently encoded data symbols. This model stores the probability that each "bin" is 1 or 0.
[0250] ③ Arithmetic encoding: The arithmetic encoder encodes each "bin" according to the selected probability model.
[0251] ④ Probability Update: The selected context model will be updated based on the actual encoded value. For example, if the value of "bin" is 1, then the frequency count of 1 will increase.
[0252] 3) Run-Length Coding:
[0253] Encode the signal values such as the quantized (lossy) signed attribute prediction residuals or transform coefficients. The number of consecutive 0 points in the statistical data is recorded as the run-length. Taking the residual value Res as an example, if Res is non-zero, first entropy encoding is performed on the run-length value, then entropy encoding is performed on the non-zero attribute prediction residual, and the run-length value is set to 0 to start counting again.
[0254] Based on the aforementioned fundamental concepts and technologies, this application provides a point cloud processing method that can improve the efficiency of point cloud encoding and decoding. Point cloud data typically has a large dynamic range; for example, the geometric coordinates of some points in a point cloud may be small, while those of others may be large. If a unified encoding and decoding resource is used when encoding and decoding this highly variable information (e.g., using the same number of bits to encode highly variable information, parsing the same number of bits to reconstruct highly variable information, etc.), the encoding and decoding efficiency of the point cloud will be low. Therefore, the point cloud processing method proposed in this application performs hierarchical encoding of the target information to be encoded in the point cloud during the point cloud encoding stage, thus differentiating the encoding processes of different information in the point cloud and improving the encoding efficiency. Correspondingly, the point cloud processing method proposed in this application performs hierarchical decoding of the encoded data of the target information during the point cloud decoding stage, thus differentiating the decoding processes of different information in the point cloud and improving the decoding efficiency.
[0255] The point cloud processing method provided in this application embodiment can also be combined with cloud technologies such as cloud computing and cloud storage. Cloud computing is a computing model that distributes computing tasks across a resource pool composed of a large number of computers, enabling various application systems to obtain computing power, storage space, and information services as needed. Cloud computing can provide powerful computing support for the point cloud encoding and decoding stages, thus greatly improving the encoding and decoding efficiency of point clouds. Cloud storage is a new concept that extends and develops from cloud computing. A distributed cloud storage system (hereinafter referred to as a storage system) refers to a storage system that uses cluster applications, grid technology, and distributed storage file systems to aggregate a large number of various types of storage devices (also called storage nodes) in a network through application software or application interfaces to work collaboratively and jointly provide data storage and business access functions. Cloud storage can provide powerful storage support for the point cloud encoding and decoding stages, thus further improving the encoding and decoding efficiency of point clouds.
[0256] The following is combined with Figure 6 A point cloud processing system suitable for implementing the point cloud processing method provided in the embodiments of this application is described. For example... Figure 6As shown, the point cloud processing system may include an encoding device 601 and a decoding device 602. The encoding device 601 can be a terminal or a server, and the decoding device 602 can also be a terminal or a server. The encoding device 601 and the decoding device 602 can establish a direct connection through wired communication or an indirect communication connection through wireless communication. The terminal can be a smartphone, tablet, laptop, desktop computer, smart voice interaction device, smartwatch, vehicle terminal, smart home appliance, aircraft, etc., but is not limited to these. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0257] (1) For encoding device 601:
[0258] Encoding device 601 can acquire point cloud data (i.e., the geometric and attribute information of each point in the point cloud). Point cloud data can be acquired through scene capture or device generation. Scene capture point cloud data refers to acquiring point cloud data from a real-world visual scene through a capture device associated with encoding device 601. The capture device provides point cloud data acquisition services for encoding device 601 and can include, but is not limited to, any of the following: camera equipment, sensing equipment, and scanning equipment. Camera equipment can include ordinary cameras, stereo cameras, and light field cameras, etc. Sensing equipment can include laser equipment, radar equipment, etc., and scanning equipment can include 3D laser scanning equipment, etc. The capture device associated with encoding device 601 can refer to a hardware component installed in encoding device 601, such as a camera or sensor on a terminal. Alternatively, the capture device associated with encoding device 601 can refer to a hardware device connected to encoding device 601, such as a camera connected to a server. Device generation point cloud data refers to encoding device 601 generating point cloud data based on virtual objects (e.g., virtual 3D objects and virtual 3D scenes obtained through 3D modeling).
[0259] Encoding device 601 can encode the geometric coordinate information of each point in the point cloud to obtain a geometric bitstream, and it can also encode the attribute information of each point in the point cloud to obtain an attribute bitstream. Encoding device 601 can transmit the encoded geometric bitstream and attribute bitstream together to decoding device 602. During geometric encoding or attribute encoding, for the target information to be encoded in the point cloud (e.g., attribute information, attribute residual information, geometric coordinate information, geometric residual information, etc. of the point to be encoded), encoding device 601 can perform hierarchical encoding of the target information according to the hierarchical information of the target information to obtain the encoded data of the target information. This allows the encoding process of different information in the point cloud to be differentiated, which can improve the encoding efficiency of the point cloud.
[0260] (2) For decoding device 602:
[0261] After receiving the compressed bitstream (i.e., attribute bitstream and geometric bitstream) transmitted by the encoding device 601, the decoding device 602 can decode the geometric bitstream to reconstruct the geometric coordinate information of each point in the point cloud, and can decode the attribute bitstream to reconstruct the attribute information of each point in the point cloud. During geometric decoding or attribute decoding, the decoding device 602 can perform hierarchical decoding of the encoded data of the target information according to the hierarchical information of the target information to obtain the reconstructed information of the target information. This allows for differentiated decoding processes for different information in the point cloud, improving the decoding efficiency of the point cloud.
[0262] It is understood that the point cloud processing system described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0263] The point cloud processing method provided in the embodiments of this application will be described in more detail below with reference to the accompanying drawings.
[0264] This application provides a point cloud processing method, which mainly describes the hierarchical decoding process at the decoding end. This point cloud processing method can be executed by a computer device, which can be the decoding device 602 in the aforementioned point cloud processing system. Figure 7 As shown, the point cloud processing method may include the following steps S701-S703:
[0265] S701, acquire the encoded data of the point cloud; the encoded data is obtained by encoding the target information in the point cloud.
[0266] The acquired point cloud encoding data can be obtained by encoding target information in the point cloud. The target information can be any point cloud-related information that needs to be encoded during the point cloud encoding process. The target information can include any of the following: geometric information of the points to be decoded in the point cloud, attribute information of the points to be decoded in the point cloud, attribute residual information of the points to be decoded in the point cloud, attribute transformation coefficients of the points to be decoded in the point cloud (i.e., the transformation coefficients mentioned in the introduction of basic concepts and basic technologies above), etc.
[0267] The geometric information of the point to be decoded can include its geometric coordinates or geometric residuals. When the point to be decoded is an isolated point, its geometric information can include its geometric coordinates. Isolated points do not require geometric prediction during encoding; their geometric coordinates are directly encoded. When the point to be decoded is a non-isolated point, its geometric information can include its geometric residuals. Non-isolated points require geometric prediction during encoding. Geometric prediction can be understood as determining a reference point for the non-isolated point in the point cloud, predicting the predicted geometric coordinates of the non-isolated point based on the reconstructed geometric coordinates of the reference point, and then determining the geometric residuals of the non-isolated point based on the difference between its true and predicted geometric coordinates. The selection of the reference point is related to the geometric encoding method. For example, in predictive tree coding, the reference point can be one or more points preceding the non-isolated point in the prediction tree.
[0268] Furthermore, the geometric information of the point to be decoded may include geometric information components of the point to be decoded in K directions, where K is a positive integer; for example, the geometric information of the point to be decoded may include geometric information components of the point to be decoded in the X direction, the Y direction, and the Z direction.
[0269] S702, Obtain hierarchical information of target information.
[0270] S703, based on the hierarchical information, performs hierarchical decoding on the encoded data to obtain the reconstructed information of the target information.
[0271] In steps S702-S703, after obtaining the encoded data of the target information, the hierarchical information of the target information can be obtained. Based on the hierarchical information, the encoded data can be hierarchically decoded to obtain the reconstructed information of the target information. There are two encoding methods in the target information encoding process. The first encoding method encodes both the number of bits of the target information and each individual bit of the target information. The number of bits refers to the number of bits obtained after binarizing the target information. The binarization process can be found in the relevant content mentioned in the introduction of basic technologies. In this method, the number of bits required to encode the number of bits of the target information is related to the hierarchical information of the target information. Therefore, the decoding method corresponding to the first encoding method can be: based on the hierarchical information, parse the number of bits of the target information from the encoded data; based on the number of bits of the target information, parse each individual bit of the target information in the encoded data to obtain the reconstructed information of the target information. The second encoding method directly encodes each individual bit of the target information. In this method, the hierarchical information is related to the encoding process of each individual bit of the target information. Therefore, the decoding method corresponding to the second encoding method can be: based on the hierarchical information, parse each individual bit of the target information in the encoded data to obtain the reconstructed information of the target information. The decoding methods corresponding to these two encoding methods are described below:
[0272] (1) First decoding method: Based on the hierarchical information, the number of bits of the target information is parsed from the encoded data; based on the number of bits of the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information. In this decoding method, parsing the number of bits of the target information from the encoded data based on the hierarchical information can include any of the following methods:
[0273] ① The hierarchical information may include placeholder hierarchical information. The value of the placeholder hierarchical information can be determined, and then the bit positions corresponding to the values of the placeholder hierarchical information in the encoded data can be parsed to obtain the number of bits in the target information. The values of the placeholder hierarchical information can be the default settings at the encoding / decoding end, or they can be parsed from the encoding parameter set or encoded bitstream of the point cloud. The following details the case where the placeholder flag information is obtained through parsing. Placeholder flag information can be represented as `flag_numbits`, and can be m bits of flags. The number of bits `m` can be obtained through parsing, or it can be a default setting at the encoding / decoding end. That is, after determining the number of bits `m`, we can parse m bits to obtain the value of the placeholder flag information, where `m` is a positive integer. Here, we take `m = 1`, meaning the placeholder flag information is a 1-bit flag, as an example. If the placeholder flag information is a first value (the first value can be, for example, 0, meaning if `flag_numbits = 0`), then we can parse the m1 bits corresponding to the first value in the encoded data to obtain the number of bits in the target information. If the placeholder flag information is a second value (the second value can be, for example, 1, meaning if `flag_numbits = 1`), then we can parse the m2 bits corresponding to the first value in the encoded data to obtain the number of bits in the target information. Here, `m1` and `m2` are both positive integers, and `m1` and `m2` are not equal.
[0274] ② The hierarchical information may include decoding mode information. If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then n1 bits in the encoded data can be parsed to obtain the number of bits in the target information. If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then n2 bits in the encoded data can be parsed to obtain the number of bits in the target information. Here, n1 and n2 are both positive integers, and n1 is less than n2.
[0275] Shift encoding refers to encoding the result of shifting target information, while shift decoding is the reverse process. The principle of shifting is to shift numbers based on binary data. Shifting can include left shift (<<) and right shift (>>). Left shift means moving a binary number to the left by a specified number of bits, discarding the shifted-out bits and filling the empty spaces on the right with 0. Right shift means moving a binary number to the right by a specified number of bits, discarding the shifted-out bits and filling the empty spaces on the left with 0. The result of shifting a binary number can include a shift quotient and a shift remainder. The binary number can be reconstructed using the shift quotient and shift remainder. Shifting can also compress target information.
[0276] The decoding mode information of the target information can be obtained in any of the following ways: the encoder and decoder use the default decoding mode information; the decoder parses the decoding mode information from the encoding parameter set or encoding stream of the point cloud; the decoder determines the decoding mode information based on the default mode determination parameters of the encoder and decoder; the decoder parses the mode determination parameters from the encoding parameter set or encoding stream of the point cloud and determines the decoding mode information based on the mode determination parameters.
[0277] Before introducing methods ③ and ④, which parse the target information from the encoded data based on hierarchical information, we will first introduce the target information and hierarchical information involved in methods ③ and ④: Target information may include the geometric information (geometric residual information or geometric coordinate information) of the points to be decoded in the point cloud. Hierarchical information can be determined by at least one of the following: geometric partitioning depth, bounding box size (nodeSizeLog2), data geometric precision, number of points in the prediction tree, ordering information of the prediction tree, starting point information of the prediction tree, and position information of the prediction tree; among them, geometric partitioning depth is based on the number of partitions when the point cloud is divided for encoding; bounding box size refers to the size of the bounding box of the encoding unit where the point to be decoded is located, and the encoding unit may include geometric pieces or macroblocks, etc.; data geometric precision refers to the data acquisition precision information of the point cloud; prediction tree ordering information refers to the Morton order or original order information of the prediction tree where the point to be decoded is located; prediction tree position information refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located. The point count information of the prediction tree includes any of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be decoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be decoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be decoded, excluding duplicate points; each point to be decoded in the point cloud is decoded sequentially according to its own decoding order, and a duplicate point refers to a point that has the same geometric coordinate information as the preceding point in the point cloud.
[0278] ③ The hierarchical information is related to the exponential Golomb order in the exponential Golomb coding method, which can determine the exponential Golomb order corresponding to the hierarchical information; according to the determined exponential Golomb order, the number of bits of the target information can be parsed from the encoded data.
[0279] ④ The hierarchical conditions that the hierarchical information satisfies can be determined. After determining the hierarchical conditions that the hierarchical information satisfies, the number of bits of the target information can be obtained from the bits corresponding to the hierarchical conditions in the coded data.
[0280] In one implementation, the hierarchical information can be represented as N, and the hierarchical conditions can include any one or more of the first hierarchical condition, the second hierarchical condition, or the third hierarchical condition. If the hierarchical information satisfies the first hierarchical condition (which can be represented as N∈[0, d1)), then the i bits (b) corresponding to the first hierarchical condition in the encoded data can be parsed. i ...b2b1), to obtain the number of bits of the target information; if the hierarchical information satisfies the second hierarchical condition (which can be represented as N∈[d1, d2)), then the i+k1 bits (b) corresponding to the second hierarchical condition in the encoded data can be parsed. i+1 b i ...b2b1), to obtain the number of bits of the target information; if the hierarchical information satisfies the third hierarchical condition (which can be represented as N∈[d2, d3)), then the i+k2 bits (b) corresponding to the third hierarchical condition in the encoded data can be parsed. i+2 b i+1 b i ...b2b1), to obtain the number of bits of the target information. Where i is a positive integer, d1, d2 and d3 are all positive integers, and d1 is less than d2, d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0281] Specifically, when the hierarchical information is determined by the bounding box size information, the hierarchical conditions may include a first hierarchical condition and a second hierarchical condition, where d1 = 2^i, d2 = 2^(i+1), and i represents the bounding box size information. That is, when the bounding box size information ∈ [0, 2^i), i bits (b) of the encoded data of the target information can be parsed. i ...b2b1), to obtain the number of bits of the target information; when the bounding box size information ∈ [2^i, 2^(i+1)), the i+1 bits (b) of the encoded data of the target information can be parsed. i+1 b i ...b2b1), to obtain the number of bits of the target information.
[0282] When the hierarchical information is determined by the ordering information of the prediction tree (taking the Merton order as an example), the hierarchical information satisfying the first hierarchical condition means that the Merton difference information satisfies the first hierarchical condition; the hierarchical information satisfying the second hierarchical condition means that the Merton difference information satisfies the second hierarchical condition; and the hierarchical information satisfying the third hierarchical condition means that the Merton difference information satisfies the third hierarchical condition. The Merton order information of the prediction tree includes the Merton codes of each point in the prediction tree where the point to be decoded is located; the Merton difference information refers to the maximum difference between the Merton codes of any two points in the Merton order information of the prediction tree.
[0283] In another implementation, if the hierarchical information satisfies the fixed position condition, the number of bits of the target information is obtained from the q1 bits corresponding to the fixed position condition in the parsed encoded data; if the hierarchical information satisfies the non-fixed position condition, the number of bits of the target information is obtained from the q2 bits corresponding to the non-fixed position condition in the parsed encoded data; where q1 and q2 are both positive integers, and q1 and q2 are not equal. Specifically, when the hierarchical information is determined by the position information of the prediction tree, the hierarchical information satisfying the fixed position condition means that the position information of the point to be decoded in the prediction tree indicates that the point to be decoded is the starting point or first point of the prediction tree (the first point refers to the first point in the prediction tree linked to the starting point). The hierarchical information satisfying the non-fixed position condition means that the position information of the point to be decoded in the prediction tree indicates that the point to be decoded is neither the starting point nor the first point of the prediction tree. In other words, the number of bits to be parsed for a point to be decoded as the starting point or first point of the prediction tree is different from the number of bits to be parsed for a point to be decoded as a non-starting point or the first point of the prediction tree.
[0284] The above ①-④ describe four methods for parsing the number of bits of the target information from the encoded data based on the hierarchical information in the first decoding method. It should be noted that in the first decoding method, before parsing the number of bits of the target information from the encoded data based on the hierarchical information, placeholder indication information of the target information can be determined. Specifically, this can be parsed from the encoded data of the target information, or the placeholder indication information can be set by default by the encoder / decoder. If the placeholder indication information indicates that the number of bits of the target information is the target number of bits, then the target number of bits can be determined as the number of bits of the target information. Furthermore, each bit of the target information in the encoded data can be parsed based on the number of bits of the target information to obtain the reconstructed information of the target information. If the placeholder indication information indicates that the number of bits of the target information is not the target number of bits, then the step of parsing the number of bits of the target information from the encoded data based on the hierarchical information can be triggered. In addition, before parsing the placeholder indication information of the target information, specific indication information of the target information can be determined. Specifically, it can be parsed from the encoded data of the target information, or the specific indication information can be set by default by the encoder and decoder. If the specific indication information indicates that the target information is specific information, then the specific information is determined as the reconstructed information of the target information. If the specific indication information indicates that the target information is not specific information, then the step of parsing the placeholder indication information of the target information is triggered.
[0285] In other words, we can determine whether the target information is specific information by using specific indication information. If it is, there is no need for further parsing, and we can directly determine that the reconstructed information of the target information is specific information, which can improve decoding efficiency. If it is not, we can determine whether the number of bits of the target information is the target number of bits by using placeholder indication information. If it is, there is no need to parse the number of bits of the target information, and we can directly determine that the number of bits of the target information is the target number of bits, which can improve decoding efficiency. If it is not, we need to parse the number of bits of the target information from the encoded data of the target information.
[0286] Specifically, when the target information includes the geometric information (geometric coordinate information or geometric residual information) of the point to be decoded in the point cloud, the geometric information of the point to be decoded can include the geometric information components of the point to be decoded in K directions, and the hierarchical information can include the hierarchical information of the point to be decoded in K directions, where K is a positive integer. In this case, according to the hierarchical information, the number of bits of the target information is parsed from the encoded data. Specifically, this can include: according to the hierarchical information of the point to be decoded in the k-th direction, parsing the number of bits of the geometric information component of the point to be decoded in the k-th direction from the encoded data, specifically using the bit-bit parsing method described in ①-④ of the first decoding method above. According to the number of bits of the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information. Specifically, this can include: according to the number of bits of the geometric information component of the point to be decoded in the k-th direction, parsing each bit of the geometric information component of the point to be decoded in the k-th direction from the encoded data to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction. Here, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K. The relationship between the hierarchical information of the point to be decoded in K directions can include any of the following: completely identical, completely different, or partially identical. For example, when the hierarchical information includes data geometric precision information, if the entire point cloud uses the same data acquisition precision in K directions, then the hierarchical information of the point to be decoded in K directions is completely identical. As another example, when the hierarchical information includes bounding box size information, if the bounding box is a cuboid with different lengths, widths, and heights, then the hierarchical information of the point to be decoded in K directions is completely different.
[0287] In other words, when the target information includes the geometric information of the point to be decoded in the point cloud, the number of bits of the geometric information components of the point to be decoded in each direction is analyzed, and each bit of the geometric information components of the point to be decoded in each direction is analyzed according to the number of bits of the geometric information components of the point to be decoded in each direction, so as to obtain the reconstructed information of the geometric information components of the point to be decoded in each direction.
[0288] (2) Second decoding method: Based on the hierarchical information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information. In this decoding method, analyzing each bit of the target information in the encoded data based on the hierarchical information to obtain the reconstructed information of the target information can include any of the following methods:
[0289] Similar to the descriptions of target information and hierarchical information in ③ and ④ of the first decoding method, target information can include the geometric information (geometric residual information or geometric coordinate information) of the points to be decoded in the point cloud. Hierarchical information can be determined by at least one of the following: geometric partitioning depth information, bounding box size information (nodeSizeLog2), data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information. Hierarchical information is related to the exponential Golomb order in the exponential Golomb coding method, and the exponential Golomb order corresponding to the hierarchical information can be determined; according to the determined exponential Golomb order, each bit of the target information in the encoded data can be parsed to obtain the reconstructed target information.
[0290] ② The hierarchical information may include decoding mode information. If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then p1 bits in the encoded data can be parsed to obtain the reconstructed information of the target information. If the decoding mode information indicates that a shift decoding mode is not used when decoding the encoded data of the target information, then p2 bits in the encoded data can be parsed to obtain the reconstructed information of the target information. Here, p1 and p2 are both positive integers, and p1 is less than p2.
[0291] The above ①-② describe two methods for obtaining the reconstructed information of the target information by parsing each bit of the target information in the encoded data according to the hierarchical information in the second decoding method. It should be noted that in the second decoding method, before parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information, specific indication information of the target information can be determined. Specifically, this can be parsed from the encoded data of the target information, or the specific indication information can be set by default at the encoder / decoder end. If the specific indication information indicates that the target information is specific information, then the specific information can be determined as the reconstructed information of the target information. If the specific indication information indicates that the target information is not specific information, then the step of parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information is triggered. In other words, before parsing each bit of the target information in the encoded data, the specific indication information can be used to determine whether the target information is specific information. If it is, no further parsing is needed, and the reconstructed information of the target information can be directly determined as specific information, which can improve encoding efficiency. If it is not, then the target information needs to be parsed from the encoded data of the target information according to the hierarchical information to obtain the reconstructed information of the target information.
[0292] Specifically, when the target information includes the geometric information (geometric coordinate information or geometric residual information) of the point to be decoded in the point cloud, the geometric information of the point to be decoded can include the geometric information components of the point to be decoded in K directions, and the hierarchical information can include the hierarchical information of the point to be decoded in K directions, where K is a positive integer. In this case, according to the hierarchical information, parsing each bit of the target information in the encoded data to obtain the reconstructed information of the target information can include: according to the hierarchical information of the point to be decoded in the k-th direction, parsing each bit of the geometric information component of the point to be decoded in the k-th direction in the encoded data to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction, specifically, it can be the method of parsing the target information described in ①-② of the second decoding method above. Here, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K. The relationship between the hierarchical information of the point to be decoded in the K directions includes any of the following: completely identical, completely different, or partially identical. In other words, when the target information includes the geometric information of the point to be decoded in the point cloud, each bit of the geometric information component of the point to be decoded in each direction is parsed to obtain the reconstructed information of the geometric information component of the point to be decoded in each direction.
[0293] In predictive tree coding, the target information may include the geometric residual information of the point to be decoded in the point cloud. The macroblock containing the point to be decoded may include multiple predictive trees. The point to be decoded is located in the first predictive tree among the multiple predictive trees. The point to be decoded may be the first point of the first predictive tree, which may refer to the first point in the first predictive tree that is linked to the starting point. In this case, in step S703, according to the hierarchical information, hierarchical decoding is performed on the encoded data to obtain the reconstructed information of the target information (i.e., the geometric residual information of the point to be decoded). After step S703, the vertex of the bounding box of the macroblock containing the point to be decoded can be used as the starting point of the first prediction tree. This ensures that if the lower-left vertex of the bounding box is used as the starting point, the geometric residual information of the first point of the first prediction tree will be positive, eliminating the need to encode and decode the sign bit of the geometric residual information. Then, based on the starting point information of the first prediction tree and the reconstruction information of the geometric residual information of the point to be decoded, geometric reconstruction of the point to be decoded is performed to obtain the reconstructed geometric coordinate information of the point to be decoded. Specifically, the geometric reconstruction process can be as follows: geometric prediction of the point to be decoded is performed based on the starting point information of the first prediction tree to obtain the predicted geometric coordinate information of the point to be decoded; then, the reconstructed geometric coordinate information of the point to be decoded is determined based on the sum of the predicted geometric coordinate information and the reconstruction information of the geometric residual information of the point to be decoded. For other prediction trees in the macroblock containing the point to be decoded besides the first prediction tree, the point to be decoded can be used as the starting point of those other prediction trees.
[0294] In the embodiments of this application, steps S701-S703 can be executed when the decoding mode information of the target information indicates that the encoded data of the target information is decoded using a hierarchical decoding mode. The decoding mode information of the target information can be determined in any of the following ways: the encoder / decoder uses the default decoding mode information; the decoding mode information is parsed from the encoding parameter set or encoding stream of the point cloud; the decoding mode information is determined based on the default mode determination parameters of the encoder / decoder; the mode determination parameters are parsed from the encoding parameter set or encoding stream of the point cloud, and the decoding mode information is determined based on the mode determination parameters; wherein, the decoding mode information of the target information can be used to indicate the decoding mode (or can be understood as the decoding method) used when decoding the encoded data of the target information, and the decoding mode indicated by the decoding mode information of the target information can include one or more, for example, it can include hierarchical decoding mode and / or shift decoding mode; the mode determination parameters are parameters used to determine the decoding mode information, and the mode determination parameters can include at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information, etc.
[0295] In this embodiment of the application, during the point cloud decoding stage, the encoded data of the target information can be decoded hierarchically according to the hierarchical information of the target information. This can make the decoding process of different information in the point cloud differentiated, thereby improving the decoding efficiency of the point cloud.
[0296] This application provides a point cloud processing method, which mainly describes the hierarchical encoding process at the encoding end. This point cloud processing method can be executed by a computer device, which can be the encoding device 601 in the aforementioned point cloud processing system. Figure 8 As shown, the point cloud processing method may include the following steps S801-S803:
[0297] S801, acquire the target information to be encoded in the point cloud.
[0298] The target information to be encoded in the acquired point cloud can be any point cloud-related information that needs to be encoded during the point cloud encoding process. The target information can include any of the following: geometric information of the points to be encoded in the point cloud, attribute information of the points to be encoded in the point cloud, attribute residual information of the points to be encoded in the point cloud, attribute transformation coefficients of the points to be encoded in the point cloud (i.e., the transformation coefficients mentioned in the introduction of basic concepts and basic technologies above), etc.
[0299] The geometric information of the point to be encoded can include its geometric coordinates or geometric residuals. When the point is an isolated point, its geometric information can include its geometric coordinates. Isolated points do not require geometric prediction during encoding; their geometric coordinates are directly encoded. When the point is a non-isolated point, its geometric information can include its geometric residuals. Non-isolated points require geometric prediction during encoding. Geometric prediction can be understood as determining a reference point for the non-isolated point in the point cloud, predicting the predicted geometric coordinates of the non-isolated point based on the reconstructed geometric coordinates of the reference point, and then determining the geometric residuals of the non-isolated point based on the difference between its true and predicted geometric coordinates. The selection of the reference point is related to the geometric encoding method. For example, in predictive tree coding, the reference point can be one or more points preceding the non-isolated point in the prediction tree.
[0300] Furthermore, the geometric information of the point to be encoded may include geometric information components of the point in K directions, where K is a positive integer; for example, the geometric information of the point to be encoded may include geometric information components of the point in the X direction, the Y direction, and the Z direction.
[0301] In predictive tree coding, the target information may include the geometric residual information of the point to be encoded in the point cloud. The macroblock containing the point to be encoded may include multiple predictive trees. The point to be encoded is located in the first predictive tree among the multiple predictive trees. The point to be encoded may be the first point of the first predictive tree, which may refer to the first point in the first predictive tree that is linked to the starting point. In this case, in step S801, the target information to be encoded (i.e., the geometric residual information of the point to be encoded) in the point cloud is obtained. Specifically, this may include: taking the vertex of the bounding box of the macroblock containing the point to be encoded as the starting point of the first predictive tree. This ensures that if the lower left corner vertex of the bounding box is taken as the starting point, the geometric residual information of the first point of the first predictive tree is positive, thus eliminating the need to encode and decode the sign bit of the geometric residual information; then, the geometric residual information of the point to be encoded is determined based on the starting point information of the first predictive tree and the true geometric coordinate information of the point to be encoded. Specifically, the process of determining the geometric residual information of the point to be encoded can include: performing geometric prediction on the point to be encoded based on the starting point information of the first prediction tree to obtain the predicted geometric coordinate information of the point to be encoded; and determining the geometric residual information of the point to be encoded based on the difference between the actual geometric coordinate information and the predicted geometric coordinate information of the point to be encoded. For other prediction trees in the macroblock containing the point to be encoded, excluding the first prediction tree, the point to be encoded can be used as the starting point of those other prediction trees.
[0302] S802, Obtain hierarchical information of target information.
[0303] S803: Based on the hierarchical information, the target information is hierarchically encoded to obtain the encoded data of the target information.
[0304] In steps S802-S803, hierarchical information of the target information can be obtained. Based on the hierarchical information, the target information is hierarchically encoded to obtain the encoded data of the target information. Hierarchical encoding can have two methods. The first method encodes the number of bits of the target information based on the hierarchical information, and also encodes each individual bit of the target information. The number of bits refers to the number of bits obtained after binarizing the target information. The binarization process can be found in the relevant content mentioned in the introduction of basic technologies above. The second method directly encodes each individual bit of the target information. These two encoding methods are described below:
[0305] (1) First encoding method: Encode the number of bits of the target information according to the hierarchical information; encode each bit of the target information according to the number of bits of the target information to obtain the encoded data of the target information. In this encoding method, encoding the number of bits of the target information according to the hierarchical information can include any of the following methods:
[0306] ① The hierarchical information may include placeholder hierarchical information. The value of the placeholder hierarchical information can be determined, and then the number of bits of the target information can be encoded according to the bit position corresponding to the value of the placeholder hierarchical information. The value of the placeholder hierarchical information can be set by default by the encoder / decoder, or the value of the placeholder hierarchical information can be written into the encoding parameter set or encoding bitstream of the point cloud. More specifically, the placeholder level information can be represented as `flag_numbits`, which can be m bits of flag bits. The number of bits `m` can be encoded, or it can be set by the encoder / decoder by default. `m` is a positive integer; here, we take `m=1`, meaning the placeholder level information is a 1-bit flag bit, as an example. If the value of the placeholder level information is set to a first value (the first value can be, for example, 0, that is, if `flag_numbits=0`), then the `m1` bits corresponding to the first value can be used to encode the number of bits in the target information. If the value of the placeholder level information is set to a second value (the second value can be, for example, 1, that is, if `flag_numbits=1`), then the `m2` bits corresponding to the second value can be used to encode the number of bits in the target information. Here, `m1` and `m2` are both positive integers, and `m1` and `m2` are not equal.
[0307] ② The hierarchical information may include encoding mode information. If the encoding mode information indicates that a shift encoding mode is used when encoding the target information, then n1 bits can be used to encode the number of bits of the target information; if the encoding mode information indicates that a shift encoding mode is not used when encoding the target information, then n2 bits can be used to encode the number of bits of the target information; where n1 and n2 are both positive integers, and n1 is less than n2.
[0308] Shift encoding refers to encoding the result of shifting target information. The principle of shifting is to shift numbers based on binary representation. Shifting can include left shift (<<) and right shift (>>). Left shift involves moving a binary number to the left by a specified number of bits, discarding the shifted-out bits, and filling the empty spaces on the right with 0. Right shift involves moving a binary number to the right by a specified number of bits, discarding the shifted-out bits, and filling the empty spaces on the left with 0. The result of shifting a binary number can include a shift quotient and a shift remainder. The binary number can be reconstructed using the shift quotient and shift remainder. Shifting can also compress target information.
[0309] The encoding mode information of the target information can be obtained in any of the following ways: the encoder / decoder uses the default encoding mode information; the encoder sets the encoding mode information and the encoding mode information is written into the encoding parameter set or encoding stream of the point cloud; the encoding mode information is determined based on the default mode determination parameters of the encoder / decoder; the encoder sets mode determination parameters, determines the mode information according to the mode determination parameters, and the mode determination parameters are written into the encoding parameter set or encoding stream of the point cloud.
[0310] Before introducing methods ③ and ④, which parse the target information from the encoded data based on hierarchical information, we will first introduce the target information and hierarchical information involved in methods ③ and ④: Target information may include the geometric information (geometric residual information or geometric coordinate information) of the points to be encoded in the point cloud. Hierarchical information can be determined by at least one of the following: geometric partitioning depth, bounding box size (nodeSizeLog2), data geometric precision, number of points in the prediction tree, ordering information of the prediction tree, starting point information of the prediction tree, and position information of the prediction tree; among them, geometric partitioning depth is determined based on the number of partitions when dividing and encoding the point cloud; bounding box size refers to the size of the bounding box of the encoding unit where the point to be encoded is located, and the encoding unit may include geometric pieces or macroblocks, etc.; data geometric precision refers to the data acquisition precision information of the point cloud; prediction tree ordering information refers to the Morton order or original order information of the prediction tree where the point to be decoded is located; prediction tree position information refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located. The point count information of the prediction tree includes any of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be encoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be encoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be encoded, excluding duplicate points; each point to be encoded in the point cloud is decoded sequentially according to its own decoding order, and a duplicate point refers to a point that has the same geometric coordinate information as the preceding point in the point cloud.
[0311] ③ The hierarchical information is related to the exponential Golomb order in the exponential Golomb coding method, which can determine the exponential Golomb order corresponding to the hierarchical information; the number of bits of the target information is encoded according to the determined exponential Golomb order.
[0312] ④ The hierarchical conditions that the hierarchical information satisfies can be determined; the number of bits of the target information is encoded according to the bits corresponding to the hierarchical conditions.
[0313] In one implementation, the hierarchical conditions may include any one or more of the first hierarchical condition, the second hierarchical condition, or the third hierarchical condition. The hierarchical information can be represented as N. If the hierarchical information satisfies the first hierarchical condition (which can be represented as N∈[0, d1)), then the i bits (b) corresponding to the first hierarchical condition can be used. i ...b2b1) Encodes the number of bits of the target information; if the hierarchical information satisfies the second hierarchical condition (which can be represented as N∈[d1, d2)), then the i+k1 bits corresponding to the second hierarchical condition (b i+1 b i ...b2b1) Encodes the number of bits of the target information; if the hierarchical information satisfies the third hierarchical condition (which can be represented as N∈[d2, d3)), then the i+k2 bits corresponding to the third hierarchical condition (b i+2 b i+1 b i ...b2b1) encodes the number of bits of the target information. Where i is a positive integer, d1, d2 and d3 are all positive integers, and d1 is less than d2, d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0314] Specifically, when the hierarchical information is determined by the bounding box size information, the hierarchical conditions may include a first hierarchical condition and a second hierarchical condition, where d1 = 2^i, d2 = 2^(i+1), and i represents the bounding box size information. That is, when the bounding box size information ∈ [0, 2^i), i bits (b...) can be used. i ...b2b1), encoding the number of bits for the target information; when the bounding box size information ∈ [2^i, 2^(i+1)), i+1 bits can be used (b i+1 b i ...b2b1), which encodes the number of bits in the target information.
[0315] When the hierarchical information is determined by the ordering information of the prediction tree (taking the Merton order as an example), the hierarchical information satisfying the first hierarchical condition means that the Merton difference information satisfies the first hierarchical condition; the hierarchical information satisfying the second hierarchical condition means that the Merton difference information satisfies the second hierarchical condition; and the hierarchical information satisfying the third hierarchical condition means that the Merton difference information satisfies the third hierarchical condition. The Merton order information of the prediction tree includes the Merton codes of each point in the prediction tree where the point to be encoded is located; the Merton difference information refers to the maximum difference between the Merton codes of any two points in the Merton order information of the prediction tree.
[0316] In another implementation, if the hierarchical information satisfies the fixed position condition, then q1 bits corresponding to the fixed position condition are used to encode the number of bits in the target information; if the hierarchical information satisfies the non-fixed position condition, then q2 bits corresponding to the non-fixed position condition are used to encode the number of bits in the target information; where q1 and q2 are both positive integers, and q1 and q2 are not equal. Specifically, when the hierarchical information is determined by the position information of the prediction tree, the hierarchical information satisfying the fixed position condition means that the position information of the point to be encoded in the prediction tree indicates that the point to be encoded is the starting point or first point of the prediction tree (the first point refers to the first point in the prediction tree linked to the starting point). The hierarchical information satisfying the non-fixed position condition means that the position information of the point to be encoded in the prediction tree indicates that the point to be encoded is neither the starting point nor the first point of the prediction tree. In other words, the number of bits to be encoded for a point to be encoded as the starting point or first point of the prediction tree is different from the number of bits to be encoded for a point to be encoded as neither the starting point nor the first point of the prediction tree.
[0317] The above ①-④ describe four methods for encoding the number of bits of the target information based on hierarchical information in the first encoding method. It should be noted that in the first encoding method, before encoding the number of bits of the target information based on hierarchical information, placeholder indication information can be determined. This placeholder indication information can indicate whether the target information has the target number of bits. It can be written into the encoding parameter set or encoding stream of the point cloud, or it can be a default setting at the encoding / decoding end. If the placeholder indication information indicates that the number of bits of the target information is the target number of bits, then it can be determined that there is no need to encode the number of bits of the target information; each bit of the target information can be encoded according to the target number of bits to obtain the encoded data of the target information. If the placeholder indication information indicates that the number of bits of the target information is not the target number of bits, then the step of encoding the number of bits of the target information based on hierarchical information can be triggered. Furthermore, before determining the placeholder indication information of the target information, specific indication information of the target information can also be determined. The specific indication information of the target information can be used to indicate whether the target information is specific information. The specific indication information can be written into the encoding parameter set or encoding bitstream of the point cloud, or the specific indication information can be the default setting of the encoder and decoder. If the specific indication information indicates that the target information is specific information, it can be determined that there is no need to encode the number of bits of the target information. If the specific indication information indicates that the target information is not specific information, the step of determining the placeholder indication information of the target information can be triggered.
[0318] In other words, it can be determined whether the target information is specific information. If it is, there is no need to encode the target information. If not, it can be determined whether the number of bits in the target information is the target number of bits. If it is, there is no need to encode the number of bits in the target information. If not, the number of bits in the target information needs to be encoded according to the hierarchical information.
[0319] Specifically, when the target information includes the geometric information (geometric coordinate information or geometric residual information) of the point to be encoded in the point cloud, the geometric information of the point to be encoded can include the geometric information components of the point to be encoded in K directions, and the hierarchical information can include the hierarchical information of the point to be encoded in K directions, where K is a positive integer. In this case, the bit depth of the target information is encoded according to the hierarchical information, specifically including: encoding the bit depth of the geometric information component of the point to be encoded in the k-th direction according to the hierarchical information of the point to be encoded in the k-th direction, specifically using the bit depth encoding method described in ①-④ of the first encoding method above. Each bit of the target information is encoded according to the bit depth of the target information to obtain the encoded data of the target information, specifically including: encoding each bit of the geometric information component of the point to be encoded in the k-th direction according to the bit depth of the geometric information component of the point to be encoded in the k-th direction to obtain the encoded data of the geometric information component of the point to be encoded in the k-th direction. Here, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K. The relationship between the hierarchical information of the points to be encoded in K directions can include any of the following: completely identical, completely different, or partially identical. For example, when the hierarchical information includes data geometric precision information, if the entire point cloud uses the same data acquisition precision in K directions, then the hierarchical information of the points to be encoded in K directions is completely identical. As another example, when the hierarchical information includes bounding box size information, if the bounding box is a cuboid with different lengths, widths, and heights, then the hierarchical information of the points to be encoded in K directions is completely different.
[0320] In other words, when the target information includes the geometric information of the point to be encoded in the point cloud, the number of bits of the geometric information components of the point to be encoded in each direction is encoded respectively, and each bit of the geometric information components of the point to be encoded in each direction is encoded according to the number of bits of the geometric information components of the point to be encoded in each direction, so as to obtain the encoded data of the geometric information components of the point to be encoded in each direction.
[0321] (2) Second encoding method: Encode each bit of the target information according to the hierarchical information to obtain the encoded data of the target information. In this encoding method, encoding each bit of the target information according to the hierarchical information to obtain the encoded data of the target information can include any of the following methods:
[0322] Similar to the descriptions of target information and hierarchical information in ③ and ④ of the first decoding method, target information can include the geometric information (geometric residual information or geometric coordinate information) of the points to be encoded in the point cloud. Hierarchical information can include at least one of the following: geometric partition depth information, bounding box size information (nodeSizeLog2), data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information. Hierarchical information is related to the exponential Golomb order in the exponential Golomb coding method, and the exponential Golomb order corresponding to the hierarchical information can be determined; each bit of the target information can be encoded according to the determined exponential Golomb order to obtain the encoded data of the target information.
[0323] ② The hierarchical information may include encoding mode information. If the encoding mode information indicates that a shift encoding mode is used when encoding the target information, then p1 bits can be used to encode the target information to obtain the encoded data of the target information. If the encoding mode information indicates that a shift encoding mode is not used when encoding the target information, then p2 bits can be used to encode the target information to obtain the encoded data of the target information. Here, p1 and p2 are both positive integers, and p1 is less than p2.
[0324] The above ①-② describe two methods for encoding each bit of the target information according to the hierarchical information to obtain the encoded data of the target information in the second encoding method. It should be noted that in the second encoding method, before encoding each bit of the target information according to the hierarchical information to obtain the encoded data, specific indication information of the target information can be determined. This specific indication information can indicate whether the target information is specific information. This specific indication information can be written into the encoding parameter set or encoding stream of the point cloud, or it can be a default setting at the encoder / decoder end. If the specific indication information indicates that the target information is specific information, then it can be determined that no encoding of the target information is required. If the specific indication information indicates that the target information is not specific information, then the step of encoding each bit of the target information according to the hierarchical information to obtain the encoded data of the target information can be triggered. In other words, before encoding each bit of the target information according to the hierarchical information, it can be determined whether the target information is specific information. If it is, then no encoding of the target information is required; if not, then hierarchical encoding of the target information can be performed according to the hierarchical information.
[0325] Specifically, when the target information includes the geometric information (geometric coordinate information or geometric residual information) of the point to be encoded in the point cloud, the geometric information of the point to be encoded can include the geometric information components of the point to be encoded in K directions, and the hierarchical information can include the hierarchical information of the point to be encoded in K directions, where K is a positive integer. In this case, encoding each bit of the target information according to the hierarchical information to obtain the encoded data of the target information can include: encoding each bit of the geometric information component of the point to be encoded in the k-th direction according to the hierarchical information of the point to be encoded in the k-th direction, to obtain the encoded data of the geometric information component of the point to be encoded in the k-th direction. Specifically, it can be the method of encoding target information described in ①-② of the second encoding method above. Here, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K. The relationship between the hierarchical information of the point to be encoded in the K directions includes any of the following: completely identical, completely different, or partially identical. In other words, when the target information includes the geometric information of the point to be encoded in the point cloud, each bit of the geometric information component of the point to be encoded in each direction is encoded to obtain the encoded data of the geometric information component of the point to be encoded in each direction.
[0326] In this embodiment, steps S801-S803 can be executed when the encoding mode information of the target information indicates that a hierarchical encoding mode is used when encoding the target information. The encoding mode information of the target information can be determined in any of the following ways: the encoder / decoder uses default encoding mode information; the encoder sets encoding mode information and writes it into the encoding parameter set or encoding stream of the point cloud; the encoder / decoder determines the encoding mode information based on the default mode determination parameters; the encoder sets mode determination parameters, determines the mode information according to the mode determination parameters, and the mode determination parameters are written into the encoding parameter set or encoding stream of the point cloud. The target information encoding mode information can be used to indicate the encoding mode (or encoding method) used when encoding the target information. The encoding mode indicated by the target information encoding mode information can include one or more encoding modes, such as hierarchical encoding mode and / or shift encoding mode. The mode determination parameter is a parameter used to determine the encoding mode information. The mode determination parameter can include at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information, etc.
[0327] In this embodiment of the application, during the point cloud encoding stage, the target information can be encoded hierarchically according to the hierarchical information of the target information. This can make the encoding process of different information in the point cloud differentiated, thereby improving the encoding efficiency of the point cloud.
[0328] The methods of the embodiments of this application have been described in detail above. In order to facilitate better implementation of the above solutions of the embodiments of this application, the apparatus of the embodiments of this application is provided below.
[0329] Please see Figure 9 , Figure 9 This is a schematic diagram of the structure of a point cloud processing device provided in an embodiment of this application. The point cloud processing device can be installed in the computer equipment provided in the embodiment of this application, and the computer equipment can be a decoding device. Figure 9 The point cloud processing device shown can be a computer program (including program code) running on a computer device, which can be used to execute... Figure 7 Some or all of the steps in the method embodiments shown. Please refer to [link / reference]. Figure 9 The point cloud processing device may include the following units:
[0330] The acquisition unit 901 is used to acquire the encoded data of the point cloud; the encoded data is obtained by encoding the target information in the point cloud.
[0331] The acquisition unit 901 is also used to acquire hierarchical information of the target information;
[0332] The processing unit 902 is used to perform hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information.
[0333] In one implementation, the processing unit 902, when performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0334] Based on the hierarchical information, the number of bits of the target information are parsed from the encoded data;
[0335] Based on the number of bits in the target information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0336] In one implementation, the hierarchical information includes placeholder hierarchical information; the processing unit 902, when parsing the number of bits of the target information from the encoded data according to the hierarchical information, specifically performs the following steps:
[0337] Analyze the values of the placeholder hierarchical information;
[0338] In parsing the encoded data, the number of bits of the target information is obtained from the bits corresponding to the values of the placeholder hierarchical information.
[0339] In one implementation, when processing unit 902 parses the bit positions corresponding to the values of the placeholder hierarchical information in the encoded data to obtain the number of bits of the target information, it specifically performs the following steps:
[0340] If the value of the placeholder hierarchical information is the first value, then the number of bits of the target information can be obtained from the m1 bits corresponding to the first value in the parsed encoded data.
[0341] If the value of the placeholder hierarchical information is the second value, then the number of bits of the target information can be obtained from the m2 bits corresponding to the second value in the parsed encoded data.
[0342] Where m1 and m2 are both positive integers, and m1 and m2 are not equal.
[0343] In one implementation, the hierarchical information includes decoding mode information; the processing unit 902, when parsing the number of bits of the target information from the encoded data based on the hierarchical information, specifically performs the following steps:
[0344] If the decoding mode information indicates that a shift decoding mode is used when decoding the encoded data of the target information, then the n1 bits in the encoded data are parsed to obtain the number of bits of the target information.
[0345] If the decoding mode information indicates that the shift decoding mode was not used when decoding the encoded data of the target information, then the n2 bits in the encoded data are parsed to obtain the number of bits of the target information;
[0346] Where n1 and n2 are both positive integers, and n1 is less than n2.
[0347] In one implementation, when processing unit 902 parses the number of bits of target information from the encoded data based on hierarchical information, it specifically performs the following steps:
[0348] Determine the exponential Columbus order corresponding to the hierarchical information;
[0349] The number of bits used to parse the target information from the encoded data is determined according to the determined exponential Columbus order.
[0350] In one implementation, when processing unit 902 parses the number of bits of target information from the encoded data based on hierarchical information, it specifically performs the following steps:
[0351] Determine the hierarchical conditions that the hierarchical information must meet;
[0352] By analyzing the encoded data, the number of bits of the target information is obtained from the bits corresponding to the hierarchical conditions.
[0353] In one implementation, when processing unit 902 parses the bits indicated by the hierarchical conditions in the encoded data to obtain the number of bits of the target information, it specifically performs the following steps:
[0354] If the hierarchical information satisfies the first hierarchical condition, then the number of bits of the target information can be obtained from the i bits corresponding to the first hierarchical condition in the parsed encoded data.
[0355] If the hierarchical information satisfies the second hierarchical condition, then the number of bits of the target information can be obtained from the i+k1 bits corresponding to the second hierarchical condition in the parsed encoded data.
[0356] If the hierarchical information satisfies the third hierarchical condition, then the number of bits of the target information can be obtained from the i+k2 bits corresponding to the third hierarchical condition in the parsed encoded data.
[0357] Where i is a positive integer; the hierarchical information is represented by N, and the hierarchical information satisfies the first hierarchical condition as N∈[0, d1); the hierarchical information satisfies the second hierarchical condition as N∈[d1, d2); the hierarchical information satisfies the third hierarchical condition as N∈[d2, d3); d1, d2 and d3 are all positive integers, and d1 is less than d2, and d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0358] In one implementation, when processing unit 902 parses the encoded data to obtain the number of bits of target information corresponding to the hierarchical conditions, it specifically performs the following steps:
[0359] If the hierarchical information satisfies the fixed position condition, then in the parsed encoded data, the number of bits of the target information can be obtained from the q1 bits corresponding to the fixed position condition;
[0360] If the hierarchical information satisfies the non-fixed position condition, then the number of bits of the target information can be obtained from the q2 bits corresponding to the non-fixed position condition in the parsed encoded data.
[0361] Where q1 and q2 are both positive integers, and q1 and q2 are not equal.
[0362] In one implementation, the target information includes the geometric information of the points to be decoded in the point cloud;
[0363] The hierarchical information includes at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information; wherein, the geometric partitioning depth information is determined based on the number of partitions when dividing and encoding the point cloud; the bounding box size information refers to the size information of the bounding box of the coding unit where the point to be decoded is located; the data geometric precision information refers to the data acquisition precision information of the point cloud; the prediction tree sorting information refers to the Morton order information or original order information in the prediction tree where the point to be decoded is located; and the prediction tree position information refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located.
[0364] The point count information of the prediction tree includes any of the following: maximum point count information of processing unit 902, maximum point count information of prediction tree, and actual point count information of prediction tree; the maximum point count information of processing unit 902 refers to the maximum number of points that the macroblock containing the point to be decoded can accommodate; the maximum point count information of prediction tree refers to the maximum number of points that the prediction tree containing the point to be decoded can accommodate; the actual point count information of prediction tree refers to the number of points contained in the prediction tree containing the point to be decoded, excluding duplicate points.
[0365] In one implementation, the target information includes the geometric information of the point to be decoded in the point cloud, the geometric information of the point to be decoded including geometric information components of the point to be decoded in K directions, where K is a positive integer; the hierarchical information includes the hierarchical information of the point to be decoded in K directions; the processing unit 902, when parsing the number of bits of the target information from the encoded data according to the hierarchical information, specifically performs the following steps:
[0366] Based on the hierarchical information of the point to be decoded in the k-th direction, the number of bits of the geometric information component of the point to be decoded in the k-th direction is parsed from the encoded data.
[0367] Processing unit 902, used to parse each bit of the target information in the encoded data according to the number of bits of the target information, and to obtain the reconstructed information of the target information, specifically performs the following steps:
[0368] Based on the number of bits of the geometric information component of the point to be decoded in the k-th direction, each bit of the geometric information component of the point to be decoded in the k-th direction in the encoded data is analyzed to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction.
[0369] Wherein, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K; the relationship between the hierarchical information of the point to be decoded in the K directions includes any of the following: completely the same, completely different, or partially the same.
[0370] In one implementation, the processing unit 902 is further configured to perform the following steps:
[0371] Placeholder information for determining target information;
[0372] If the placeholder indication information indicates that the number of bits in the target information is the target number of bits, then the target number of bits is determined to be the number of bits in the target information; and, based on the number of bits in the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information;
[0373] If the placeholder indication information indicates that the number of bits in the target information is not the target number of bits, then the step of parsing the number of bits in the target information from the encoded data according to the hierarchical information is triggered.
[0374] In one implementation, the processing unit 902, when performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0375] Based on the hierarchical information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0376] In one implementation, when processing unit 902 parses each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, it specifically performs the following steps:
[0377] Determine the exponential Columbus order corresponding to the hierarchical information;
[0378] By analyzing each bit of the target information in the encoded data according to the determined exponent Columbus order, the reconstructed information of the target information is obtained.
[0379] In one implementation, the hierarchical information includes decoding mode information; the processing unit 902, when parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, specifically performs the following steps:
[0380] If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then p1 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0381] If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then p2 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0382] Where p1 and p2 are both positive integers, and p1 is less than p2.
[0383] In one implementation, the processing unit 902 is further configured to perform the following steps:
[0384] Specific indications for identifying target information;
[0385] If a specific indication indicates that the target information is specific information, then the specific information is determined as the reconstruction information of the target information;
[0386] If the specific indication information indicates that the target information is not specific information, then the step of parsing each bit of the target information in the encoded data according to the hierarchical information is triggered to obtain the reconstructed information of the target information.
[0387] In one implementation, the step of obtaining the hierarchical information of the target information is triggered when the decoding mode information of the target information is determined, and the decoding mode information of the target information indicates that a hierarchical decoding mode is used when decoding the encoded data of the target information; the obtaining unit 901 is used to determine the encoding mode information of the target information, specifically to perform any of the following:
[0388] Information using the default encoding mode;
[0389] Parse encoding mode information from the encoding parameter set or encoding bitstream of the point cloud;
[0390] Encoding mode information is determined based on default mode determination parameters;
[0391] Parse the mode determination parameters from the encoding parameter set or encoding bitstream of the point cloud, and determine the encoding mode information based on the mode determination parameters.
[0392] In one implementation, the target information includes the geometric residual information of the point to be decoded in the point cloud; the macroblock containing the point to be decoded includes multiple prediction trees, the point to be decoded is located in the first prediction tree, and the point to be decoded is the first point of the first prediction tree; the processing unit 902 is used to perform hierarchical decoding on the encoded data according to the hierarchical information, and after obtaining the reconstructed information of the target information, it is also used to perform the following steps:
[0393] Use the vertices of the bounding box of the macroblock containing the point to be decoded as the starting point of the first prediction tree;
[0394] Based on the starting point information of the first prediction tree and the reconstruction information of the geometric residual information of the point to be decoded, the point to be decoded is geometrically reconstructed to obtain the reconstructed geometric coordinate information of the point to be decoded.
[0395] Specifically, for the prediction trees other than the first prediction tree in the macroblock containing the point to be decoded, the point to be decoded is used as the starting point of the other prediction trees.
[0396] According to another embodiment of this application, Figure 9The units in the point cloud processing device shown can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This achieves the same operation without affecting the technical effects of the embodiments of this application. The above units are based on logical function division. In practical applications, the function of one unit can be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the point cloud processing device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0397] According to another embodiment of this application, the following can be achieved by running on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), a device capable of performing operations such as... Figure 7 The computer program (including program code) for each step involved in some or all of the methods shown, to construct such... Figure 9 The point cloud processing apparatus shown herein, and the point cloud processing method for implementing the embodiments of this application, are described. A computer program may be recorded on, for example, a computer-readable storage medium, loaded onto the aforementioned computing device via the computer-readable storage medium, and executed therein.
[0398] In this embodiment of the application, during the point cloud decoding stage, the encoded data of the target information can be decoded hierarchically according to the hierarchical information of the target information. This can make the decoding process of different information in the point cloud differentiated, thereby improving the decoding efficiency of the point cloud.
[0399] Please see Figure 9 , Figure 9 This is a schematic diagram of the structure of a point cloud processing device provided in an embodiment of this application. The point cloud processing device can be installed in the computer equipment provided in the embodiment of this application, and the computer equipment can be an encoding device. Figure 9 The point cloud processing device shown can be a computer program (including program code) running on a computer device, which can be used to execute... Figure 8 Some or all of the steps in the method embodiments shown. Please refer to [link / reference]. Figure 9 The point cloud processing device may include the following units:
[0400] Acquisition unit 901 is used to acquire target information to be encoded in the point cloud;
[0401] The acquisition unit 901 is also used to acquire hierarchical information of the target information;
[0402] The processing unit 902 is used to perform hierarchical encoding on the target information according to the hierarchical information to obtain the encoded data of the target information.
[0403] In one implementation, the processing unit 902, when performing hierarchical encoding on the target information based on the hierarchical information to obtain the encoded data of the target information, specifically performs the following steps:
[0404] The number of bits in the target information is encoded based on the hierarchical information.
[0405] Based on the number of bits in the target information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0406] In one implementation, the processing unit 902, when performing hierarchical encoding on the target information based on the hierarchical information to obtain the encoded data of the target information, specifically performs the following steps:
[0407] Based on the hierarchical information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0408] According to another embodiment of this application, Figure 9 The units in the point cloud processing device shown can be individually or entirely merged into one or more other units, or some of the units can be further divided into multiple functionally smaller units. This achieves the same operation without affecting the technical effects of the embodiments of this application. The above units are based on logical function division. In practical applications, the function of one unit can be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the point cloud processing device may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0409] According to another embodiment of this application, the following can be achieved by running on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), a device capable of performing operations such as... Figure 8 The computer program (including program code) for each step involved in some or all of the methods shown, to construct such... Figure 9 The point cloud processing apparatus shown herein, and the point cloud processing method for implementing the embodiments of this application, are described. A computer program may be recorded on, for example, a computer-readable storage medium, loaded onto the aforementioned computing device via the computer-readable storage medium, and executed therein.
[0410] In this embodiment of the application, during the point cloud encoding stage, the target information can be encoded hierarchically according to the hierarchical information of the target information. This can make the encoding process of different information in the point cloud differentiated, thereby improving the encoding efficiency of the point cloud.
[0411] Based on the above methods and apparatus embodiments, this application provides a computer device. Please refer to... Figure 10 , Figure 10 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 10 The computer device shown includes at least a processor 1001, an input interface 1002, an output interface 1003, and a computer-readable storage medium 1004. The processor 1001, input interface 1002, output interface 1003, and computer-readable storage medium 1004 can be connected via a bus or other means.
[0412] The computer-readable storage medium 1004 can be stored in the memory of a computer device. The computer-readable storage medium 1004 is used to store computer programs, including computer instructions. The processor 1001 is used to execute the program instructions stored in the computer-readable storage medium 1004. The processor 1001 (or CPU (Central Processing Unit)) is the computing and control core of the computer device, suitable for implementing one or more computer instructions, specifically suitable for loading and executing one or more computer instructions to achieve corresponding method flows or corresponding functions.
[0413] This application also provides a computer-readable storage medium (Memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer-readable storage medium here can include both built-in storage media in the computer device and extended storage media supported by the computer device. The computer-readable storage medium provides storage space that stores the operating system of the computer device. Furthermore, the storage space also stores one or more computer instructions suitable for loading and execution by a processor. These computer instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device; optionally, it can also be at least one computer-readable storage medium located remotely from the aforementioned processor.
[0414] In some embodiments, the computer device may be a decoding device, which can be loaded and executed by the processor 1001 of one or more computer instructions stored in the computer-readable storage medium 1004 to implement the aforementioned related... Figure 7 The corresponding steps of the point cloud processing method shown are as follows. In specific implementation, the computer instructions in the computer-readable storage medium 1004 are loaded by the processor 1001 and executed as follows:
[0415] Obtain the encoded data of the point cloud; the encoded data is obtained by encoding the target information in the point cloud.
[0416] Obtain hierarchical information of the target information;
[0417] Based on the hierarchical information, the encoded data is decoded hierarchically to obtain the reconstructed information of the target information.
[0418] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to perform hierarchical decoding of the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, the instructions specifically perform the following steps:
[0419] Based on the hierarchical information, the number of bits of the target information are parsed from the encoded data;
[0420] Based on the number of bits in the target information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0421] In one implementation, the hierarchical information includes placeholder hierarchical information; when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the number of bits of the target information from the encoded data according to the hierarchical information, they are specifically used to perform the following steps:
[0422] Analyze the values of the placeholder hierarchical information;
[0423] In parsing the encoded data, the number of bits of the target information is obtained from the bits corresponding to the values of the placeholder hierarchical information.
[0424] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the encoded data and obtain the number of bits of the target information based on the values of the placeholder hierarchical information, the instructions specifically perform the following steps:
[0425] If the value of the placeholder hierarchical information is the first value, then the number of bits of the target information can be obtained from the m1 bits corresponding to the first value in the parsed encoded data.
[0426] If the value of the placeholder hierarchical information is the second value, then the number of bits of the target information can be obtained from the m2 bits corresponding to the second value in the parsed encoded data.
[0427] Where m1 and m2 are both positive integers, and m1 and m2 are not equal.
[0428] In one implementation, the hierarchical information includes decoding mode information; when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the number of bits of the target information from the encoded data according to the hierarchical information, they are specifically used to perform the following steps:
[0429] If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then the n1 bits in the encoded data are parsed to obtain the number of bits in the target information.
[0430] If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then the n2 bits in the encoded data are parsed to obtain the number of bits of the target information.
[0431] Where n1 and n2 are both positive integers, and n1 is less than n2.
[0432] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the number of bits of target information from the encoded data according to the hierarchical information, they are specifically used to perform the following steps:
[0433] Determine the exponential Columbus order corresponding to the hierarchical information;
[0434] The number of bits used to parse the target information from the encoded data is determined according to the determined exponential Columbus order.
[0435] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the number of bits of target information from the encoded data according to the hierarchical information, they are specifically used to perform the following steps:
[0436] Determine the hierarchical conditions that the hierarchical information must meet;
[0437] By analyzing the encoded data, the number of bits of the target information is obtained from the bits indicated by the hierarchical conditions.
[0438] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the encoded data and obtain the number of bits of the target information based on the bits corresponding to the hierarchical conditions, the instructions specifically perform the following steps:
[0439] If the hierarchical information satisfies the first hierarchical condition, then the number of bits of the target information can be obtained from the i bits corresponding to the first hierarchical condition in the parsed encoded data.
[0440] If the hierarchical information satisfies the second hierarchical condition, then the number of bits of the target information can be obtained from the i+k1 bits corresponding to the second hierarchical condition in the parsed encoded data.
[0441] If the hierarchical information satisfies the third hierarchical condition, then the number of bits of the target information can be obtained from the i+k2 bits corresponding to the third hierarchical condition in the parsed encoded data.
[0442] Where i is a positive integer; the hierarchical information is represented by N, and the hierarchical information satisfies the first hierarchical condition as N∈[0, d1); the hierarchical information satisfies the second hierarchical condition as N∈[d1, d2); the hierarchical information satisfies the third hierarchical condition as N∈[d2, d3); d1, d2 and d3 are all positive integers, and d1 is less than d2, and d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
[0443] In one implementation, the target information includes the geometric information of the points to be decoded in the point cloud;
[0444] The hierarchical information is determined by at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, number of points in the prediction tree, ordering information of the prediction tree, starting point information of the prediction tree, and position information of the prediction tree; wherein, the geometric partitioning depth information is determined based on the number of partitions when dividing and encoding the point cloud; the bounding box size information refers to the size information of the bounding box of the coding unit where the point to be decoded is located; the data geometric precision information refers to the data acquisition precision information of the point cloud; the ordering information of the prediction tree refers to the Morton order information or original order information in the prediction tree where the point to be decoded is located; and the position information of the prediction tree refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located.
[0445] The point count information of the prediction tree includes any of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be decoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be decoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be decoded, excluding duplicate points.
[0446] In one implementation, the target information includes the geometric information of the point to be decoded in the point cloud, the geometric information of the point to be decoded including geometric information components of the point to be decoded in K directions, where K is a positive integer; the hierarchical information includes the hierarchical information of the point to be decoded in the K directions; when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse the number of bits of the target information from the encoded data according to the hierarchical information, they are specifically used to perform the following steps:
[0447] Based on the hierarchical information of the point to be decoded in the k-th direction, the number of bits of the geometric information component of the point to be decoded in the k-th direction is parsed from the encoded data.
[0448] When the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001, and when parsing each bit of the target information in the encoded data according to the number of bits of the target information to obtain the reconstructed information of the target information, they are specifically used to perform the following steps:
[0449] Based on the number of bits of the geometric information component of the point to be decoded in the k-th direction, each bit of the geometric information component of the point to be decoded in the k-th direction in the encoded data is analyzed to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction.
[0450] Wherein, the k-th direction is any one of the K directions, and k is a positive integer less than or equal to K; the relationship between the hierarchical information of the point to be decoded in the K directions includes any of the following: completely the same, completely different, or partially the same.
[0451] In one implementation, the computer instructions in the computer-readable storage medium 1004 are loaded by the processor 1001 and are also used to perform the following steps:
[0452] Placeholder information for determining target information;
[0453] If the placeholder indication information indicates that the number of bits in the target information is the target number of bits, then the target number of bits is determined to be the number of bits in the target information; and, based on the number of bits in the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information;
[0454] If the placeholder indication information indicates that the number of bits in the target information is not the target number of bits, then the step of parsing the number of bits in the target information from the encoded data according to the hierarchical information is triggered.
[0455] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to perform hierarchical decoding of the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, the instructions specifically perform the following steps:
[0456] Based on the hierarchical information, each bit of the target information in the encoded data is analyzed to obtain the reconstructed information of the target information.
[0457] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, the instructions specifically perform the following steps:
[0458] Determine the exponential Columbus order corresponding to the hierarchical information;
[0459] By analyzing each bit of the target information in the encoded data according to the determined exponent Columbus order, the reconstructed information of the target information is obtained.
[0460] In one implementation, the hierarchical information includes decoding mode information; when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to parse each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, they are specifically used to perform the following steps:
[0461] If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then p1 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0462] If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then p2 bits in the encoded data are parsed to obtain the reconstructed information of the target information.
[0463] Where p1 and p2 are both positive integers, and p1 is less than p2.
[0464] In one implementation, the computer instructions in the computer-readable storage medium 1004 are loaded by the processor 1001 and are also used to perform the following steps:
[0465] Specific indications for identifying target information;
[0466] If a specific indication indicates that the target information is specific information, then the specific information is determined as the reconstruction information of the target information;
[0467] If the specific indication information indicates that the target information is not specific information, then the step of parsing each bit of the target information in the encoded data according to the hierarchical information is triggered to obtain the reconstructed information of the target information.
[0468] In one implementation, the step of obtaining the hierarchical information of the target information is triggered when the decoding mode information of the target information is determined, and the decoding mode information of the target information indicates that a hierarchical decoding mode is used when decoding the encoded data of the target information; when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to determine the encoding mode information of the target information, they are specifically used to execute any of the following:
[0469] Information using the default encoding mode;
[0470] Parse encoding mode information from the encoding parameter set or encoding bitstream of the point cloud;
[0471] Encoding mode information is determined based on default mode determination parameters;
[0472] Parse the mode determination parameters from the encoding parameter set or encoding bitstream of the point cloud, and determine the encoding mode information based on the mode determination parameters.
[0473] In one implementation, the target information includes geometric residual information of the point to be decoded in the point cloud; the macroblock containing the point to be decoded includes multiple prediction trees, the point to be decoded is located in the first prediction tree, and the point to be decoded is the first point of the first prediction tree; the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001, and after performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, they are also used to perform the following steps:
[0474] Use the vertices of the bounding box of the macroblock containing the point to be decoded as the starting point of the first prediction tree;
[0475] Based on the starting point information of the first prediction tree and the reconstruction information of the geometric residual information of the point to be decoded, the point to be decoded is geometrically reconstructed to obtain the reconstructed geometric coordinate information of the point to be decoded.
[0476] Specifically, for the prediction trees other than the first prediction tree in the macroblock containing the point to be decoded, the point to be decoded is used as the starting point of the other prediction trees.
[0477] In these embodiments, during the point cloud decoding stage, the encoded data of the target information can be decoded hierarchically according to the hierarchical information of the target information. This can make the decoding process of different information in the point cloud differentiated, thereby improving the decoding efficiency of the point cloud.
[0478] In other embodiments, the computer device may be an encoding device, which may be loaded and executed by the processor 1001 of one or more computer instructions stored in the computer-readable storage medium 1004 to implement the aforementioned related... Figure 8The corresponding steps of the point cloud processing method shown are as follows. In specific implementation, the computer instructions in the computer-readable storage medium 1004 are loaded by the processor 1001 and executed as follows:
[0479] Obtain the target information to be encoded from the point cloud;
[0480] Obtain hierarchical information of the target information;
[0481] Based on the hierarchical information, the target information is hierarchically encoded to obtain the encoded data of the target information.
[0482] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to hierarchically encode the target information according to the hierarchical information to obtain the encoded data of the target information, the instructions specifically perform the following steps:
[0483] The number of bits in the target information is encoded based on the hierarchical information.
[0484] Based on the number of bits in the target information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0485] In one implementation, when the computer instructions in the computer-readable storage medium 1004 are loaded and executed by the processor 1001 to hierarchically encode the target information according to the hierarchical information to obtain the encoded data of the target information, the instructions specifically perform the following steps:
[0486] Based on the hierarchical information, each bit of the target information is encoded to obtain the encoded data of the target information.
[0487] In these embodiments, during the point cloud encoding stage, the target information can be encoded hierarchically according to the hierarchical information of the target information. This can make the encoding process of different information in the point cloud differentiated, thereby improving the encoding efficiency of the point cloud.
[0488] According to one aspect of this application, a computer program product or computer program is provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the point cloud processing method provided in the various alternative embodiments described above.
[0489] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A point cloud processing method, characterized in that, include: Obtain the encoded data of the point cloud; The encoded data is obtained by encoding the target information in the point cloud; Obtain the decoding mode information of the target information; If the decoding mode information indicates that a hierarchical decoding mode is used when decoding the encoded data of the target information, then the hierarchical information of the target information is obtained; Based on the hierarchical information, the number of bits of the target information is parsed from the encoded data. The number of bits of the target information is obtained by parsing a corresponding number of bits from the encoded data. Based on the number of bits of the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information. Alternatively, based on the hierarchical information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information; Different levels of information correspond to different numbers of bits that need to be parsed from the encoded data.
2. The method as described in claim 1, characterized in that, The hierarchical information includes placeholder hierarchical information; the step of parsing the number of bits of the target information from the encoded data based on the hierarchical information includes: Determine the value of the occupancy classification information; The number of bits of the target information is obtained by parsing the bit positions corresponding to the values of the placeholder hierarchical information in the encoded data.
3. The method as described in claim 2, characterized in that, The step of parsing the encoded data to obtain the number of bits of the target information from the bits corresponding to the values of the placeholder hierarchical information includes: If the value of the placeholder hierarchical information is the first value, then the number of bits of the target information is obtained by parsing the coded data from the m1 bits corresponding to the first value. If the value of the placeholder hierarchical information is the second value, then the number of bits of the target information is obtained by parsing the m2 bits corresponding to the second value in the encoded data. Where m1 and m2 are both positive integers, and m1 and m2 are not equal.
4. The method as described in claim 1, characterized in that, The hierarchical information includes decoding mode information; the step of parsing the number of bits of the target information from the encoded data according to the hierarchical information includes: If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then n1 bits in the encoded data are parsed to obtain the number of bits of the target information; If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then the n2 bits in the encoded data are parsed to obtain the number of bits of the target information; Where n1 and n2 are both positive integers, and n1 is less than n2.
5. The method as described in claim 1, characterized in that, The step of parsing the number of bits of the target information from the encoded data based on the hierarchical information includes: Determine the exponential Columbus order corresponding to the hierarchical information; The number of bits of the target information are parsed from the encoded data according to the determined exponential Columbus order.
6. The method as described in claim 1, characterized in that, The step of parsing the number of bits of the target information from the encoded data based on the hierarchical information includes: Determine the grading conditions that the grading information satisfies; The number of bits of the target information is obtained by parsing the bits corresponding to the hierarchical conditions in the encoded data.
7. The method as described in claim 6, characterized in that, The step of parsing the encoded data to obtain the number of bits of the target information from the bits corresponding to the hierarchical conditions includes: If the hierarchical information satisfies the first hierarchical condition, then the number of bits of the target information is obtained by parsing the i bits corresponding to the first hierarchical condition in the encoded data. If the hierarchical information satisfies the second hierarchical condition, then the number of bits of the target information is obtained by parsing the i+k1 bits corresponding to the second hierarchical condition in the encoded data. If the hierarchical information satisfies the third hierarchical condition, then the number of bits of the target information is obtained by parsing the i+k2 bits corresponding to the third hierarchical condition in the encoded data. Where i is a positive integer; the hierarchical information is represented by N, the hierarchical information satisfies the first hierarchical condition as N∈[0, d1); the hierarchical information satisfies the second hierarchical condition as N∈[d1, d2); the hierarchical information satisfies the third hierarchical condition as N∈[d2, d3); d1, d2 and d3 are all positive integers, and d1 is less than d2, d2 is less than d3; k1 and k2 are both positive integers, and k1 is less than k2.
8. The method as described in claim 6, characterized in that, The step of parsing the encoded data to obtain the number of bits of the target information from the bits corresponding to the hierarchical conditions includes: If the hierarchical information satisfies the fixed position condition, then the q1 bits corresponding to the fixed position condition in the encoded data are parsed to obtain the number of bits of the target information. If the hierarchical information satisfies the non-fixed position condition, then the number of bits of the target information is obtained by parsing the q2 bits corresponding to the non-fixed position condition in the encoded data. Where q1 and q2 are both positive integers, and q1 and q2 are not equal.
9. The method according to any one of claims 5-8, characterized in that, The target information includes the geometric information of the points to be decoded in the point cloud; The hierarchical information is determined by at least one of the following: geometric partitioning depth information, bounding box size information, data geometric precision information, prediction tree point count information, prediction tree sorting information, prediction tree starting point information, and prediction tree position information; wherein, the geometric partitioning depth information is determined based on the number of partitions when the point cloud is partitioned and encoded; the bounding box size information refers to the size information of the bounding box of the encoding unit where the point to be decoded is located; the data geometric precision information refers to the data acquisition precision information of the point cloud; the prediction tree sorting information refers to the Morton order information or original order information in the prediction tree where the point to be decoded is located; and the prediction tree position information refers to the position information of the point to be decoded in the prediction tree where the point to be decoded is located. The point count information of the prediction tree includes any one of the following: maximum point count information of the processing unit, maximum point count information of the prediction tree, and actual point count information of the prediction tree; the maximum point count information of the processing unit refers to the maximum number of points that the macroblock containing the point to be decoded can accommodate; the maximum point count information of the prediction tree refers to the maximum number of points that the prediction tree containing the point to be decoded can accommodate; the actual point count information of the prediction tree refers to the number of points contained in the prediction tree containing the point to be decoded, excluding duplicate points.
10. The method as described in claim 1, characterized in that, The target information includes the geometric information of the point to be decoded in the point cloud, and the geometric information of the point to be decoded includes geometric information components of the point to be decoded in K directions, where K is a positive integer; the hierarchical information includes the hierarchical information of the point to be decoded in the K directions; the step of parsing the number of bits of the target information from the encoded data according to the hierarchical information includes: Based on the hierarchical information of the point to be decoded in the k-th direction, the number of bits of the geometric information component of the point to be decoded in the k-th direction is parsed from the encoded data; The step of parsing each bit of the target information in the encoded data according to the number of bits of the target information to obtain the reconstructed information of the target information includes: Based on the number of bits of the geometric information component of the point to be decoded in the k-th direction, each bit of the geometric information component of the point to be decoded in the k-th direction in the encoded data is parsed to obtain the reconstructed information of the geometric information component of the point to be decoded in the k-th direction. Wherein, the kth direction is any one of the K directions, and k is a positive integer less than or equal to K; the relationship between the hierarchical information of the point to be decoded in the K directions includes any of the following: completely the same, completely different, or partially the same.
11. The method as described in claim 1, characterized in that, The method further includes: Determine the placeholder indication information for the target information; If the placeholder indication information indicates that the number of bits in the target information is the target number of bits, then the target number of bits is determined as the number of bits in the target information; and, based on the number of bits in the target information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information; If the placeholder indication information indicates that the number of bits in the target information is not the target number of bits, then the step of parsing the number of bits in the target information from the encoded data according to the hierarchical information is triggered.
12. The method as described in claim 1, characterized in that, The step of parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information includes: Determine the exponential Columbus order corresponding to the hierarchical information; By analyzing each bit of the target information in the encoded data according to the determined exponent Columbus order, the reconstructed information of the target information is obtained.
13. The method as described in claim 1, characterized in that, The hierarchical information includes decoding mode information; the step of parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information includes: If the decoding mode information indicates that a shift decoding mode is required when decoding the encoded data of the target information, then p1 bits in the encoded data are parsed to obtain the reconstructed information of the target information; If the decoding mode information indicates that a shift decoding mode is not required when decoding the encoded data of the target information, then p2 bits in the encoded data are parsed to obtain the reconstructed information of the target information; Where p1 and p2 are both positive integers, and p1 is less than p2.
14. The method as described in claim 1, characterized in that, The method further includes: Specific indication information for determining the target information; If the specific indication information indicates that the target information is specific information, then the specific information is determined as the reconstruction information of the target information; If the specific indication information indicates that the target information is not specific information, then the step of parsing each bit of the target information in the encoded data according to the hierarchical information to obtain the reconstructed information of the target information is triggered.
15. The method as described in claim 1, characterized in that, The decoding mode information for determining the target information includes any one of the following: Uses the default decoding mode information; The decoding mode information is parsed from the encoding parameter set or encoding bitstream of the point cloud; The decoding mode information is determined based on the default mode determination parameters; The mode determination parameters are parsed from the encoding parameter set or encoding bitstream of the point cloud, and the decoding mode information is determined based on the mode determination parameters.
16. The method as described in claim 1, characterized in that, The target information includes the geometric residual information of the point to be decoded in the point cloud; the macroblock in which the point to be decoded is located includes multiple prediction trees, the point to be decoded is located in the first prediction tree among the multiple prediction trees, and the point to be decoded is the first point of the first prediction tree; After performing hierarchical decoding on the encoded data according to the hierarchical information to obtain the reconstructed information of the target information, the method further includes: The vertices of the bounding box of the macroblock containing the point to be decoded are used as the starting point of the first prediction tree; Based on the starting point information of the first prediction tree and the reconstruction information of the geometric residual information of the point to be decoded, the point to be decoded is geometrically reconstructed to obtain the reconstructed geometric coordinate information of the point to be decoded. Specifically, for the other prediction trees in the macroblock containing the point to be decoded, excluding the first prediction tree, the point to be decoded is used as the starting point of the other prediction trees.
17. A point cloud processing method, characterized in that, include: Obtain the target information to be encoded from the point cloud; Obtain the encoding pattern information of the target information; If the encoding mode information indicates that a hierarchical encoding mode is used when encoding the target information, then the hierarchical information of the target information is obtained; Based on the hierarchical information, the number of bits of the target information is encoded, and the number of bits of the target information is encoded using a corresponding number of bits. Based on the number of bits of the target information, each bit of the target information is encoded to obtain the encoded data of the target information; or, based on the hierarchical information, each bit of the target information is encoded to obtain the encoded data of the target information. Different levels of information correspond to different numbers of bits that need to be encoded.
18. A point cloud processing device, characterized in that, include: An acquisition unit is used to acquire coded data of a point cloud; the coded data is obtained by encoding target information in the point cloud. The acquisition unit is further configured to acquire the decoding mode information of the target information; The acquisition unit is further configured to acquire the hierarchical information of the target information if the decoding mode information indicates that a hierarchical decoding mode is used when decoding the encoded data of the target information; The processing unit is configured to parse the number of bits of the target information from the encoded data according to the hierarchical information, wherein the number of bits of the target information is obtained by parsing a corresponding number of bits from the encoded data, and to parse each bit of the target information in the encoded data according to the number of bits of the target information to obtain the reconstructed information of the target information; Alternatively, based on the hierarchical information, each bit of the target information in the encoded data is parsed to obtain the reconstructed information of the target information; wherein, different hierarchical information corresponds to different numbers of bits that need to be parsed from the encoded data.
19. A point cloud processing device, characterized in that, include: The acquisition unit is used to acquire the target information to be encoded in the point cloud; The acquisition unit is further configured to acquire the encoding mode information of the target information; The acquisition unit is further configured to acquire the hierarchical information of the target information if the encoding mode information indicates that a hierarchical encoding mode is used when encoding the target information; The processing unit is configured to encode the number of bits of the target information according to the hierarchical information, wherein the number of bits of the target information is encoded using a corresponding number of bits, and each bit of the target information is encoded according to the number of bits of the target information to obtain the encoded data of the target information; or, each bit of the target information is encoded according to the hierarchical information to obtain the encoded data of the target information; wherein different hierarchical information corresponds to different numbers of bits to be encoded.
20. A computer device, characterized in that, The computer device includes: A processor is a tool for implementing computer programs. A computer-readable storage medium storing a computer program adapted to be loaded by the processor and executed as the point cloud processing method of any one of claims 1-16, or as the point cloud processing method of claim 17.
21. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded by a processor and executed by the point cloud processing method as described in any one of claims 1-16, or the point cloud processing method as described in claim 17.
22. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the point cloud processing method as described in any one of claims 1-16, or the point cloud processing method as described in claim 17.
Citation Information
Patent Citations
Point cloud processing method and device, computer equipment and storage medium
CN115131449A