Point cloud encoding, decoding methods, devices and communication equipment
By adaptively selecting the run-length encoding method based on the attribute information of the point cloud, the problem of low encoding efficiency in the existing technology is solved, and more efficient encoding processing is achieved.
Patent Information
- Application Number
- CN202111466396.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-03
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2041-12-03
AI Technical Summary
In existing point cloud compression technologies, the consistent use of run-length encoding results in low encoding efficiency.
Based on the attribute information of the target point cloud, the distribution characteristics of the target attribute information are determined, and the target run-length encoding method is adaptively selected to encode the attribute information distribution under different bit rate points.
It improves coding efficiency, reduces information redundancy, and enhances coding performance.
Smart Images

Figure CN116233387B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of point cloud processing technology, specifically relating to a point cloud encoding and decoding method, apparatus, and communication device. Background Technology
[0002] In the existing digital audio and video coding standard, the point cloud compression (AVS) - point cloud compression (PCC) attribute entropy encoding process first requires run-length encoding for entropy encoding. The currently used run-length encoding method uses the same run-length encoding method for different bit rate points, which leads to low encoding efficiency. Summary of the Invention
[0003] This application provides a point cloud encoding and decoding method, apparatus, and communication device, which can solve the problem of low encoding efficiency in existing solutions.
[0004] Firstly, a point cloud encoding method is provided, including:
[0005] The encoding end determines the distribution characteristic value of the target attribute information corresponding to the target bit rate point based on the attribute information of the target point cloud. The target bit rate point is the bit rate point corresponding to the attribute quantization step size of the attribute information.
[0006] The encoding end determines the target run-length encoding method based on the distribution characteristic value of the target attribute information;
[0007] The encoding end encodes the attribute information according to the target run-length encoding method.
[0008] Secondly, a point cloud decoding method is provided, including:
[0009] The decoding end obtains the target parameters based on the target bitstream, which is obtained by encoding the attribute information of the target point cloud;
[0010] The decoding end determines the target run-length decoding method based on the target parameters;
[0011] The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method;
[0012] The target parameter includes at least one of the following:
[0013] The distribution characteristic value of target attribute information corresponding to the target bit rate point;
[0014] The order information of the target exponent Columbus encoding.
[0015] Thirdly, a point cloud encoding device is provided, comprising:
[0016] The first determining module is used to determine the distribution characteristic value of target attribute information corresponding to the target bit rate point based on the attribute information of the target point cloud, wherein the target bit rate point is the bit rate point corresponding to the attribute quantization step size of the attribute information;
[0017] The second determining module is used to determine the target run-length encoding method based on the distribution characteristic value of the target attribute information;
[0018] The first processing module is used to encode the attribute information according to the target run-length encoding method.
[0019] Fourthly, a point cloud decoding device is provided, comprising:
[0020] The first acquisition module is used to obtain target parameters based on the target code stream, wherein the target code stream is obtained by encoding the attribute information of the target point cloud;
[0021] The third determining module is used to determine the target run-length decoding method based on the target parameters;
[0022] The second processing module is used to decode the target bitstream according to the target run-length decoding method;
[0023] The target parameter includes at least one of the following:
[0024] The distribution characteristic value of target attribute information corresponding to the target bit rate point;
[0025] The order information of the target exponent Columbus encoding.
[0026] Fifthly, a point cloud encoding device is provided, including a processor and a communication interface, wherein the processor is configured to determine a target attribute information distribution characteristic value corresponding to a target code rate point based on the attribute information of the target point cloud, wherein the target code rate point is a code rate point corresponding to the attribute quantization step size of the attribute information; determine a target run-length encoding method based on the target attribute information distribution characteristic value; and encode the attribute information according to the target run-length encoding method.
[0027] In a sixth aspect, a communication device is provided, the communication device including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first or second aspect.
[0028] In a seventh aspect, a point cloud decoding device is provided, including a processor and a communication interface, wherein the processor is configured to: obtain target parameters based on a target bitstream, wherein the target bitstream is obtained by encoding attribute information of a target point cloud; determine a target run-length decoding method based on the target parameters; and decode the target bitstream according to the target run-length decoding method; wherein the target parameters include at least one of the following:
[0029] The distribution characteristic value of target attribute information corresponding to the target bit rate point;
[0030] The order information of the target exponent Columbus encoding.
[0031] Eighthly, a point cloud encoding and decoding system is provided, comprising: a point cloud encoding device and a point cloud decoding device, wherein the point cloud encoding device can be used to perform the steps of the point cloud encoding method as described in the first aspect, and the point cloud decoding device can be used to perform the steps of the point cloud decoding method as described in the second aspect.
[0032] A ninth aspect provides a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.
[0033] In a tenth aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the second aspect.
[0034] Eleventhly, a computer program / program product is provided, the computer program / program product being stored in a storage medium, the computer program / program product being executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
[0035] In this embodiment, the target attribute information distribution characteristic value is determined based on the attribute information of the target point cloud. Based on the target attribute information distribution characteristic value, the target run-length encoding method is determined, and the attribute information is encoded according to the target run-length encoding method. In this way, the target run-length encoding method is determined based on different target attribute information distribution characteristic values, rather than using the same run-length encoding method for different attribute information. That is, the corresponding run-length encoding method is adaptively selected according to the distribution of attribute information under different bit rate points, thereby realizing the use of different run-length encoding methods for different run lengths and effectively improving encoding efficiency. Attached Figure Description
[0036] Figure 1This is a schematic diagram showing the structure of the point cloud AVS encoder framework;
[0037] Figure 2 A flowchart illustrating the point cloud encoding method according to an embodiment of this application;
[0038] Figure 3 A flowchart illustrating the point cloud decoding method according to an embodiment of this application;
[0039] Figure 4 A schematic diagram of the module of the point cloud encoding device according to an embodiment of this application;
[0040] Figure 5 This is one of the structural schematic diagrams of the point cloud encoding device according to an embodiment of this application;
[0041] Figure 6 A second schematic diagram illustrating the structure of the point cloud encoding device according to an embodiment of this application;
[0042] Figure 7 This is a schematic diagram of the module of a point cloud decoding device according to an embodiment of this application. Detailed Implementation
[0043] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0044] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0045] In this application's embodiments, both the attribute quantization device corresponding to the attribute quantization method and the attribute dequantization device corresponding to the attribute dequantization method can be terminals. These terminals can also be called terminal devices or user terminals (UserEquipment, UE). Terminals can be mobile phones, tablet computers, laptop computers, personal digital assistants (PDAs), handheld computers, netbooks, ultra-mobile personal computers (UMPCs), mobile internet devices (MIDs), augmented reality (AR) / virtual reality (VR) devices, robots, wearable devices or vehicle-mounted devices (VUEs), pedestrian terminals (PUEs), and other terminal-side devices. Wearable devices include smartwatches, wristbands, headphones, glasses, etc. It should be noted that this application's embodiments do not limit the specific type of terminal.
[0046] To enable those skilled in the art to better understand the embodiments of this application, the AVS codec framework will be described as follows.
[0047] like Figure 1As shown, in the point cloud AVS encoder framework, the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately. First, the point cloud is preprocessed: a minimum rectangular prism containing all points in the input point cloud is constructed, called the bounding box. The origin coordinates of the bounding box are composed of the minimum values of the coordinates of each point in the x, y, and z dimensions. Next, coordinate transformation is performed on the points in the point cloud: using this coordinate origin as a reference, the original coordinates of the points are transformed into relative coordinates relative to the origin. Then, the geometric coordinates of the points are quantized; this step mainly serves a scaling function. Due to quantization rounding, some points have the same geometric information; parameters determine whether to remove these points with duplicate geometric information. Next, the preprocessed point cloud is partitioned into an octree (quadtree or binary tree) according to breadth-first traversal: using the preprocessed bounding box as the root node, it is divided into eight equal parts, producing eight sub-cubes as its child nodes, and the occupancy information of its child nodes is represented by eight bits, called the space occupancy code. If a sub-cube contains a point, it indicates that the child node is occupied, and the corresponding occupancy bit is set to 1; otherwise, it is set to 0. The occupied sub-cubes are further divided until the resulting leaf nodes are 1x1x1 unit cubes, at which point the division stops, completing the geometric octree encoding. During octree encoding, the generated space occupancy codes and the number of points contained in the final leaf nodes are entropy-encoded to obtain the output bitstream. In the octree-based geometric decoding process, the decoder follows a breadth-first traversal, continuously parsing the occupancy code of each node and sequentially dividing the nodes until a 1x1x1 unit cube is obtained. The number of points contained in each leaf node is then parsed, ultimately restoring the geometrically reconstructed point cloud information.
[0048] After geometric encoding is completed, the geometric information is reconstructed, and the reconstructed geometric information is used to encode attribute information. Currently, attribute encoding mainly targets color and reflectivity information. First, it is determined whether a color space conversion is needed. If a color space conversion is needed, the color information is converted from the Red-Green-Blue (RGB) color space to the Luminance-Color (YUV) color space. Then, in the case of geometrically lossy encoding, attribute interpolation, i.e., recoloring, is required for the reconstructed point cloud. New attribute values are calculated for each point in the reconstructed point cloud to minimize the attribute error between the reconstructed point cloud and the original point cloud. Attribute information encoding is divided into three branches: attribute prediction, attribute prediction transformation, and attribute transformation. The attribute prediction process is as follows: first, the point cloud is reordered, and then differential prediction is performed. The current AVS encoding framework uses Hilbert codes to reorder the point cloud. Then, attribute prediction is performed on the sorted point cloud. If the geometric information of the current point to be encoded is the same as that of the previous encoded point, it is a duplicate point. The reconstructed attribute value of the duplicate point is used as the attribute prediction value of the current point to be encoded. Otherwise, the first m points of the Hilbert order of the current point to be encoded are selected as neighbor candidates. Then, the Manhattan distance between each of these points and the geometric information of the current point to be encoded is calculated. The n nearest points are determined as the neighbors of the current point to be encoded. Using the reciprocal of the distance as the weight, the weighted average of the attributes of all neighbors is calculated as the attribute prediction value of the current point to be encoded. The prediction residual is calculated using the attribute prediction value and the attribute value of the current point to be encoded. Finally, the prediction residual is quantized and entropy encoded to generate a binary code stream. The attribute prediction transformation process is as follows: First, the point cloud sequence is grouped according to the spatial density of the point cloud. Then, the point cloud attribute information is predicted. The obtained prediction residual is transformed, and the obtained transformation coefficients are quantized. Finally, the quantized transformation coefficients and the attribute residual are entropy encoded to generate a binary code stream. The attribute transformation process is as follows: First, wavelet transform is performed on the point cloud attributes, and the transform coefficients are quantized; second, attribute reconstruction values are obtained through inverse quantization and inverse wavelet transform; then, the difference between the original attributes and the attribute reconstruction values is calculated to obtain the attribute residual, which is then quantized; finally, the quantized transform coefficients and attribute residuals are entropy encoded to generate a binary code stream. This application's embodiment mainly focuses on the entropy encoding and entropy decoding processes shown in the figure.
[0049] The point cloud encoding method provided in this application will be described in detail below with reference to the accompanying drawings, through some embodiments and application scenarios.
[0050] like Figure 2 As shown in the figure, this application provides a point cloud encoding method, including:
[0051] Step 201: The encoding end determines the target attribute information distribution characteristic value corresponding to the target bit rate point based on the attribute information of the target point cloud. The target bit rate point is the bit rate point corresponding to the attribute quantization step size of the attribute information.
[0052] Optionally, the target point cloud mentioned above is a point cloud sequence or a slice of a point cloud sequence. The target point cloud refers to the point cloud after preprocessing the target point cloud to be encoded, wherein the preprocessing includes at least one of coordinate translation, quantization, and removal of duplicate points.
[0053] The aforementioned target attribute information distribution characteristic value can be obtained by processing the attribute information according to a preset algorithm, such as by taking the average value of the attribute information, or by obtaining the difference between the maximum and minimum values of the attribute information.
[0054] In this embodiment of the application, the attribute category may include color, reflectivity, etc., and the above attribute information may include specific color information, reflectivity information, etc.
[0055] Step 202: The encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value.
[0056] In this step, the target run-length encoding method is determined based on the distribution characteristics of the target attribute information, that is, to achieve the purpose of adaptively selecting the appropriate run-length encoding method according to the distribution of attribute information at different code rate points.
[0057] Step 203: The encoding end encodes the attribute information according to the target run-length encoding method.
[0058] The encoding process here specifically refers to entropy encoding.
[0059] In this embodiment, the target attribute information distribution characteristic value is determined based on the attribute information of the target point cloud. Based on the target attribute information distribution characteristic value, the target run-length encoding method is determined, and the attribute information is encoded according to the target run-length encoding method. In this way, the target run-length encoding method is determined based on different target attribute information distribution characteristic values, rather than using the same run-length encoding method for different attribute information. That is, the corresponding run-length encoding method is adaptively selected according to the distribution of attribute information under different bit rate points, thereby realizing the use of different run-length encoding methods for different run lengths, effectively improving encoding efficiency.
[0060] Optionally, the encoding end determines the target attribute information distribution characteristic value corresponding to the target bit rate point based on the attribute information of the target point cloud, including:
[0061] The encoding end determines the distribution characteristic values of the attribute information of the target point cloud;
[0062] The encoding end determines the target attribute information distribution characteristic value corresponding to the target bit rate point based on the distribution characteristic value of the attribute information.
[0063] Here, the distribution characteristic value of the attribute information of the target point cloud is first determined. Then, based on the distribution characteristic value of the attribute information, the distribution characteristic value of the target attribute information corresponding to the target bit rate point is further determined. The distribution information of the attribute information under the current bit rate point can be determined through the distribution characteristic value of the target attribute information, which makes it easier to adaptively select the run-length encoding method based on the distribution characteristic value of the target attribute information.
[0064] Optionally, in this embodiment of the application, the distribution characteristic value of the target attribute information satisfies the following formula:
[0065]
[0066] Wherein, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, AttrQuantStep represents the attribute quantization step size of the attribute information, and disAttr' represents the distribution characteristic value of the target attribute information.
[0067] As an optional implementation, the encoding end determines the distribution characteristic values of the attribute information of the target point cloud, including:
[0068] The encoding end obtains the maximum and minimum values of the target attribute information, where the target attribute information is the attribute information of a subset of the target point cloud, or the attribute information of the target point cloud itself.
[0069] The encoding end determines the distribution characteristic value of the attribute information of the target point cloud based on the maximum and minimum values of the attribute information of the subset of point clouds.
[0070] For example, traverse a subset of the target point cloud and record the maximum and minimum values of the attribute information in that subset. Then, determine the distribution characteristics of the attribute information of the target point cloud based on the maximum and minimum values.
[0071] Optionally, the distribution characteristics of the attribute information of the target point cloud satisfy the following formula:
[0072] disAttr = Attr max -Attr min ;
[0073] Where, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, Attr max Attr represents the maximum value of attribute information. min This represents the minimum value of the attribute information.
[0074] As another optional implementation, the encoding end determines the distribution characteristic values of the attribute information of the target point cloud, including:
[0075] The encoding end obtains the average value of the absolute values of the attribute information of the target point cloud;
[0076] The encoding end determines the distribution characteristic value of the attribute information of the target point cloud based on the average value.
[0077] As a first optional implementation, the encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value, including at least one of the following:
[0078] When the distribution characteristic value of the target attribute information is less than or equal to a first preset threshold, the encoding end determines that the target run-length encoding method is the first run-length encoding method.
[0079] When the target attribute information distribution characteristic value is greater than a first preset threshold, the encoding end determines that the target run-length encoding method is the second run-length encoding method.
[0080] Here, when the target attribute information distribution characteristic value is less than or equal to the first preset threshold, it is determined that the majority of cases are attribute residuals or transformation coefficients with a distribution of 0. In this case, the run length is relatively long, and the first run encoding method is used for run encoding. When the target attribute information distribution characteristic value is greater than the second preset threshold, the cases where attribute residuals or transformation coefficients are distributed of 0 are relatively few, and the run encoding length is relatively short. In this case, the second run encoding method is selected for run encoding.
[0081] As a second optional implementation, the encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value, including:
[0082] The encoding end determines the order information of the target exponential Columbus code based on the distribution characteristic value of the target attribute information;
[0083] The target run-length encoding method is determined based on the order information of the target index Columbus encoding.
[0084] Optionally, the target index Columbus order is positively correlated with the distribution characteristic value of the target attribute information;
[0085] Alternatively, the target exponent Columbus order satisfies the following formula:
[0086] Index = log2disAttr;
[0087] Wherein, disAttr' represents the distribution characteristic value of the target attribute information, and Index represents the index of the target exponential Columbus order, and the index of the target exponential Columbus order corresponds one-to-one with the target exponential Columbus order.
[0088] Here, after obtaining the index of the target exponential Columbus order, the corresponding target exponential Columbus order is found according to a pre-set relation table. This relation table stores the index and target exponential Columbus order stored according to the corresponding relationship.
[0089] In this second optional implementation, based on the spatial distribution of the current point cloud sequence, the parameter GolombNumber[num_attr_type] is introduced into the attribute parameter set APS. This parameter represents the order of the exponential Golomb for different attribute types at the current bitrate. The appropriate run-length encoding method is determined based on the corresponding exponential Golomb order. Here, num_attr_type represents the number of attribute types in the point cloud to be encoded, and the value of GolombNumber[attrIdx] (attrIdx = 0, 1, ..., num_attr_type-1) indicates the exponential Golomb order of the attrIdx-th attribute. GolombNumber[attrIdx] is an integer greater than or equal to 0, and attrIdx is used to identify different attribute types. For example, if the current AVS point cloud dataset mainly contains two types of attributes: color and reflectance, the correspondence between attrIdx and attribute types in this embodiment can be found in Table 1.
[0090] Table 1
[0091] attrIdx Attribute type 0 color 1 reflectivity
[0092] In addition, in this embodiment of the application, after obtaining the target exponent Columbus order, it is written into the attribute information parameter set APS.
[0093] Optionally, in this second optional implementation, the encoding end determines the target run-length encoding method based on the order information of the target exponential Columbus encoding, including at least one of the following:
[0094] If the order of the target exponential Columbus code is less than or equal to a second preset threshold, the encoding end determines that the target run-length encoding method is the first run-length encoding method.
[0095] If the order of the target exponential Columbus code is greater than a second preset threshold, the encoding end determines that the target run-length encoding method is the second run-length encoding method.
[0096] Here, when the order of the target exponential Columbus code is less than or equal to the second preset threshold, it is determined that the majority of cases are attribute residuals or transformation coefficients distributed at 0. In this case, the run length is relatively long, and the first run encoding method is used for run encoding. When the order of the target exponential Columbus code is greater than the second preset threshold, the cases where attribute residuals or transformation coefficients are distributed at 0 are relatively few, and the run encoding length is relatively short. In this case, the second run encoding method is selected for run encoding.
[0097] Optionally, the encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value, including:
[0098] When the target encoding length corresponding to the target point cloud is greater than a third preset threshold, the encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value.
[0099] In this embodiment of the application, when the target coding length corresponding to the target point cloud is less than or equal to the third preset threshold, that is, when the target coding length is small, a unified run-length encoding method can be selected according to historical statistical data, which can effectively ensure coding efficiency. The historical statistical data includes the run-length encoding method used for coding lengths with smaller values.
[0100] When the target encoding length corresponding to the target point cloud is greater than the third preset threshold, that is, when the target encoding length is large, the run-length encoding method is adaptively selected according to the distribution characteristics of the target attribute information, such as whether to choose to use the first run-length encoding method or the second run-length encoding method, which can effectively ensure the encoding efficiency of a large encoding length.
[0101] Optionally, the first run-length encoding method is an N-order exponential Golomb encoding method, where N is greater than or equal to 0;
[0102] The second run-length encoding method is an arithmetic encoding method.
[0103] Optionally, binarization can be performed before algorithm encoding.
[0104] The following describes in detail the encoding process based on run-length encoding in the embodiments of this application.
[0105] If the length to be encoded is currently `length`, the specific process of run-length encoding is as follows:
[0106] First, check if the current length is 0. If it is 0, the encoding ends.
[0107] If it is not 0, check if the current length is 1. If it is 1, the encoding ends.
[0108] If it is not 1, then check if the current length is 2. If it is 2, then the encoding ends.
[0109] If it is not 2, then use the Nth-order exponent Golomb code for the length-3 value; or, if it is not 2, then binarize the length-3 value and then perform arithmetic encoding.
[0110] The method in this application embodiment, when the encoding length is large during the attribute entropy encoding process, adaptively selects different run-length encoding methods based on the distribution of attribute information at different code rate points for different attribute types. Using run-length encoding for entropy encoding can more effectively reduce redundancy between information and further improve encoding efficiency.
[0111] Experimental results show that the method of this application embodiment can improve encoding performance. As shown in Table 2 below, under preset test conditions, this scheme has a higher compression efficiency than PCRMV5.0. PSNR is an objective standard for image evaluation; the higher the PSNR, the better the image quality. AVSCat1A is a test sequence whose attribute information is reflectance; AVSCat1B is a test sequence whose attribute information is color; AVSCat1C is a test sequence whose attribute information includes both reflectance and color; AVSCat2 is a test sequence whose attribute information is reflectance and is a multi-frame sequence; AVSCat3 is a test sequence whose attribute information is color and is a multi-frame sequence. The AVSCat1A+AVSCat2 average is the average performance gain of these two test sequences; the overall average represents the average performance gain of all test sequences; End-to-End BD-AttrReate (i.e., EtE Hausdorff BD-AttrRate) is a parameter used to measure the performance of attribute information encoding. A negative BD-AttrReate indicates better performance, and the larger the absolute value of BD-AttrReate, the greater the performance gain. Limit-lossy refers to the encoding condition of geometric loss and attribute loss. Luma, Chroma, Cb, Chroma Cr represents the three components of the color channel, and reflectance represents reflectance information. These are both attributes of the point cloud, and the point cloud sequence tested so far must contain at least one of these attributes. "-" indicates that there is no data for that item. The resulting performance results are shown in Table 2.
[0112] Table 2
[0113]
[0114]
[0115] like Figure 3 As shown in the embodiments of this application, a point cloud decoding method is also provided, including:
[0116] Step 301: The decoding end obtains the target parameters based on the target bitstream, which is obtained by encoding the attribute information of the target point cloud.
[0117] Optionally, the target point cloud mentioned above is a point cloud sequence or a slice of a point cloud sequence. The target point cloud refers to the point cloud after preprocessing the target point cloud to be encoded, wherein the preprocessing includes at least one of coordinate translation, quantization, and removal of duplicate points.
[0118] The target parameter includes at least one of the following:
[0119] The distribution characteristic value of target attribute information corresponding to the target bit rate point;
[0120] The order information of the target exponent Columbus encoding.
[0121] In this step, the decoding end can obtain the target parameters from the target bitstream. After obtaining the target parameters, the encoding end will add the target parameters to the target bitstream so that the decoding end can determine the target run-length decoding method based on the target parameters.
[0122] Step 302: The decoding end determines the target run-length decoding method based on the target parameters.
[0123] Step 303: The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method;
[0124] The method in this embodiment involves the decoding end obtaining target parameters based on the target bitstream. These target parameters include at least one of the target attribute information distribution characteristic value corresponding to the target bitrate point and the order information of the target exponential Golomb code. The decoding end determines the target run-length decoding method based on the target parameters. The decoding end then decodes the target bitstream according to the target run-length decoding method. This approach determines the target run-length decoding method based on different target attribute information distribution characteristic values or the order information of the target exponential Golomb code, rather than using the same run-length decoding method for different attribute information. That is, it adaptively selects the appropriate run-length decoding method based on the distribution of attribute information at different bitrate points, thereby enabling the use of different run-length decoding methods for different run lengths and effectively improving decoding efficiency.
[0125] Optionally, the decoding end determines the target run-length decoding method based on the target parameters, including at least one of the following:
[0126] When the target attribute information distribution characteristic value is less than or equal to a first preset threshold, the decoding end determines that the target run-length decoding method is the first run-length decoding method.
[0127] When the target attribute information distribution characteristic value is greater than a first preset threshold, the decoding end determines that the target run-length decoding method is the second run-length decoding method.
[0128] Here, when the target attribute information distribution characteristic value is less than or equal to the first preset threshold, it is determined that the majority of cases are attribute residuals or transformation coefficients distributed at 0. In this case, the run length is relatively long, and the first run decoding method is used for run decoding. When the target attribute information distribution characteristic value is greater than the second preset threshold, the cases where attribute residuals or transformation coefficients are distributed at 0 are relatively few, and the run decoding length is relatively short. In this case, the second run decoding method is selected for run decoding.
[0129] Optionally, the decoding end determines the target run-length decoding method based on the target parameters, including at least one of the following:
[0130] If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the decoding end determines that the target run-length decoding method is the first run-length decoding method.
[0131] If the order of the target exponential Columbus code is greater than a second preset threshold, the decoding end determines that the target run-length decoding method is the second run-length decoding method.
[0132] Here, when the order of the target exponential Columbus code is less than or equal to the second preset threshold, it is determined that the majority of cases are attribute residuals or transform coefficients distributed at 0. In this case, the run length is relatively long, and the first run-length decoding method is used for run-length decoding. When the order of the target exponential Columbus code is greater than the second preset threshold, the minority of cases are attribute residuals or transform coefficients distributed at 0. In this case, the run-length decoding is relatively short, and the second run-length decoding method is selected for run-length decoding.
[0133] Optionally, the decoding end determines the target run-length decoding method based on the target parameters, including:
[0134] When the target decoding length corresponding to the target bitstream is greater than a third preset threshold, the decoding end determines the target run-length decoding method according to the target parameters.
[0135] In this embodiment of the application, when the target decoding length corresponding to the target point cloud is less than or equal to the third preset threshold, that is, when the target encoding length is small, a unified run-length decoding method can be selected according to historical statistical data. This can effectively ensure decoding efficiency. The historical statistical data includes the run-length decoding method used for decoding lengths with smaller values.
[0136] When the target decoding length corresponding to the target point cloud is greater than the third preset threshold, that is, when the target decoding length is large, the run-length decoding method is adaptively selected according to the distribution characteristics of the target attribute information, such as whether to choose to use the first run-length decoding method or the second run-length decoding method, which can effectively ensure the decoding efficiency of a large decoding length.
[0137] Optionally, the first run-length decoding method is an N-order Columbus decoding method, where N is greater than or equal to 0;
[0138] The second run-length decoding method is a bit-by-bit decoding method.
[0139] If the length value to be decoded is length, the specific decoding process is as follows:
[0140] First, the context model `isZero` is used to decode whether the result is 0. If the decoded result is 1 (where 1 represents true), then the current length is 0, and the decoding ends. If the decoded result is 0 (i.e., false), the context model `isOne` is used to decode whether the result is 1. If the decoded result is 1 (where 1 represents true), then the current length is 1, and the decoding ends. If the decoded result is 0 (i.e., false), the context model `isTwo` is used to decode whether the result is 2. If the decoded result is 1 (where 1 represents true), then the current length is 2, and the decoding ends. If the decoded result is 0 (i.e., false, indicating that the length is greater than 2), then the Nth-order exponent Golomb is used for decoding or the result is decoded bit by bit to obtain `length'`, and the current length value is `length = length' + 3`.
[0141] The method in this embodiment involves the decoding end obtaining target parameters based on the target bitstream. These target parameters include at least one of the target attribute information distribution characteristic value corresponding to the target bitrate point and the order information of the target exponential Golomb code. The decoding end determines the target run-length decoding method based on the target parameters. The decoding end then performs decoding processing on the target bitstream according to the target run-length decoding method. This approach determines the target run-length decoding method based on different target attribute information distribution characteristic values or the order information of the target exponential Golomb code, rather than using the same run-length decoding method for different attribute information. Instead, it adaptively selects the appropriate run-length decoding method based on the distribution of attribute information at different bitrate points, thereby enabling the use of different run-length decoding methods for different run lengths and effectively improving decoding efficiency.
[0142] The point cloud encoding method provided in this application can be executed by a point cloud encoding device. This application uses a point cloud encoding device executing the point cloud encoding method as an example to illustrate the point cloud encoding device provided in this application.
[0143] like Figure 4 As shown, this application embodiment provides a point cloud encoding device 400, including:
[0144] The first determining module 401 is used to determine the distribution characteristic value of target attribute information corresponding to the target bit rate point based on the attribute information of the target point cloud, wherein the target bit rate point is the bit rate point corresponding to the attribute quantization step size of the attribute information.
[0145] The second determining module 402 is used to determine the target run-length encoding method based on the target attribute information distribution characteristic value;
[0146] The first processing module 403 is used to encode the attribute information according to the target run-length encoding method.
[0147] The apparatus of this application embodiment determines the target attribute information distribution characteristic value based on the attribute information of the target point cloud, determines the target run-length encoding method based on the target attribute information distribution characteristic value, and encodes the attribute information according to the target run-length encoding method. In this way, the target run-length encoding method is determined according to different target attribute information distribution characteristic values, rather than using the same run-length encoding method for different attribute information. That is, the corresponding run-length encoding method is adaptively selected according to the distribution of attribute information under different bit rate points, thereby realizing the use of different run-length encoding methods for different run lengths and effectively improving encoding efficiency.
[0148] Optionally, the first determining module includes:
[0149] The first determining submodule is used to determine the distribution characteristic values of the attribute information of the target point cloud;
[0150] The second determining submodule is used to determine the target attribute information distribution characteristic value corresponding to the target bit rate point based on the distribution characteristic value of the attribute information.
[0151] Optionally, the first determining submodule includes:
[0152] The first acquisition unit is used to acquire the maximum and minimum values of target attribute information, wherein the target attribute information is the attribute information of a subset of the target point cloud, or the attribute information of the target point cloud.
[0153] The first determining unit is used to determine the distribution characteristic value of the attribute information of the target point cloud based on the maximum and minimum values of the attribute information of the subset of point clouds.
[0154] Optionally, the distribution characteristics of the attribute information of the target point cloud satisfy the following formula:
[0155] disAttr = Attr max -Attr min ;
[0156] Where, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, Attr max Attr represents the maximum value of attribute information. min This represents the minimum value of the attribute information.
[0157] Optionally, the first determining submodule includes:
[0158] The second acquisition unit is used to acquire the average value of the absolute values of the attribute information of the target point cloud;
[0159] The second determining unit is used to determine the distribution characteristic value of the attribute information of the target point cloud based on the average value.
[0160] Optionally, the distribution characteristic value of the target attribute information satisfies the following formula:
[0161]
[0162] Wherein, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, AttrQuantStep represents the attribute quantization step size of the attribute information, and disAttr' represents the distribution characteristic value of the target attribute information.
[0163] Optionally, the second determining module is used to perform at least one of the following:
[0164] If the target attribute information distribution characteristic value is less than or equal to a first preset threshold, the target run-length encoding method is determined to be the first run-length encoding method;
[0165] If the target attribute information distribution characteristic value is greater than the first preset threshold, the target run-length encoding method is determined to be the second run-length encoding method.
[0166] Optionally, the second determining module includes:
[0167] The third determining submodule is used to determine the order information of the target exponential Columbus code based on the distribution characteristic value of the target attribute information;
[0168] The fourth determining submodule is used to determine the target run-length encoding method based on the order information of the target index Columbus encoding.
[0169] Optionally, the target index Columbus order is positively correlated with the distribution characteristic value of the target attribute information;
[0170] Alternatively, the target exponent Columbus order satisfies the following formula:
[0171] Index = log2disAttr;
[0172] Wherein, disAttr' represents the distribution characteristic value of the target attribute information, and Index represents the index of the target exponential Columbus order, and the index of the target exponential Columbus order corresponds one-to-one with the target exponential Columbus order.
[0173] Optionally, the second determining module is used to perform at least one of the following:
[0174] If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the target run-length encoding method is determined to be the first run-length encoding method.
[0175] If the order of the target exponential Columbus code is greater than the second preset threshold, the target run-length encoding method is determined to be the second run-length encoding method.
[0176] Optionally, the first processing module is configured to perform at least one of the following:
[0177] If the target encoding length corresponding to the target point cloud is greater than a third preset threshold, the target run-length encoding method is determined based on the target attribute information distribution characteristic value.
[0178] Optionally, the first run-length encoding method is an N-order exponential Golomb encoding method, where N is greater than or equal to 0;
[0179] The second run-length encoding method is an arithmetic encoding method.
[0180] The apparatus of this application embodiment determines the target attribute information distribution characteristic value based on the attribute information of the target point cloud, determines the target run-length encoding method based on the target attribute information distribution characteristic value, and encodes the attribute information according to the target run-length encoding method. In this way, the target run-length encoding method is determined according to different target attribute information distribution characteristic values, rather than using the same run-length encoding method for different attribute information. That is, the corresponding run-length encoding method is adaptively selected according to the distribution of attribute information under different bit rate points, thereby realizing the use of different run-length encoding methods for different run lengths and effectively improving encoding efficiency.
[0181] The point cloud encoding device in this application embodiment can be an electronic device, such as an electronic device with an operating system, or a component in an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices besides a terminal. Exemplary other devices can be servers, network attached storage (NAS), etc., and this application embodiment does not specifically limit the scope of the device.
[0182] The point cloud encoding device provided in this application embodiment can achieve... Figure 2 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0183] Optional, such as Figure 5 As shown, this application embodiment also provides a communication device, including a processor 501 and a memory 502. The memory 502 stores a program or instructions that can run on the processor 501. When the program or instructions are executed by the processor 501, they implement the various steps of the above-described point cloud encoding method embodiment and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0184] This application embodiment also provides a point cloud encoding device, including a processor and a communication interface. The processor is used to determine the distribution characteristic value of target attribute information corresponding to a target code rate point based on the attribute information of the target point cloud, wherein the target code rate point is the code rate point corresponding to the attribute quantization step size of the attribute information; determine a target run-length encoding method based on the target attribute information distribution characteristic value; and encode the attribute information according to the target run-length encoding method. This device embodiment corresponds to the above-described point cloud encoding method embodiment. All implementation processes and methods of the above method embodiments can be applied to this device embodiment and achieve the same technical effect. Specifically, Figure 6 A schematic diagram of the hardware structure of a point cloud encoding device for implementing an embodiment of this application.
[0185] The point cloud encoding device includes, but is not limited to, at least some of the following components: radio frequency unit 601, network module 602, audio output unit 603, input unit 604, sensor 605, display unit 606, user input unit 607, interface unit 608, memory 609, and processor 610.
[0186] Those skilled in the art will understand that the point cloud encoding device may also include a power supply (such as a battery) for supplying power to the various components. The power supply may be logically connected to the processor 610 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 6 The device structure shown does not constitute a limitation on the device. The device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0187] It should be understood that, in this embodiment, the input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042. The GPU 6041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0188] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 601 can transmit it to the processor 610 for processing; in addition, the radio frequency unit 601 can send uplink data to the network-side device. Typically, the radio frequency unit 601 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0189] The memory 609 can be used to store software programs or instructions, as well as various data. The memory 609 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 609 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 609 in this embodiment includes, but is not limited to, these and any other suitable types of memory.
[0190] Processor 610 may include one or more processing units; optionally, processor 610 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 610.
[0191] The processor 610 is configured to: determine, based on the attribute information of the target point cloud, a target attribute information distribution characteristic value corresponding to a target code rate point, wherein the target code rate point is a code rate point corresponding to the attribute quantization step size of the attribute information; determine a target run-length encoding method based on the target attribute information distribution characteristic value; and encode the attribute information according to the target run-length encoding method.
[0192] Optionally, the processor 610 is further configured to:
[0193] Determine the distribution characteristics of the attribute information of the target point cloud;
[0194] Based on the distribution characteristic value of the attribute information, determine the target attribute information distribution characteristic value corresponding to the target bit rate point.
[0195] Optionally, the processor 610 is further configured to:
[0196] Obtain the maximum and minimum values of the target attribute information, wherein the target attribute information is the attribute information of a subset of the target point cloud, or is the attribute information of the target point cloud itself.
[0197] Based on the maximum and minimum values of the attribute information of the subset of point clouds, the distribution characteristic value of the attribute information of the target point cloud is determined.
[0198] Optionally, the distribution characteristics of the attribute information of the target point cloud satisfy the following formula:
[0199] disAttr = Attr max -Attr min ;
[0200] Where, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, Attr max Attr represents the maximum value of attribute information. min This represents the minimum value of the attribute information.
[0201] Optionally, the processor 610 is further configured to:
[0202] Obtain the average value of the absolute values of the attribute information of the target point cloud;
[0203] Based on the average value, the distribution characteristic value of the attribute information of the target point cloud is determined.
[0204] Optionally, the distribution characteristic value of the target attribute information satisfies the following formula:
[0205]
[0206] Wherein, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, AttrQuantStep represents the attribute quantization step size of the attribute information, and disAttr' represents the distribution characteristic value of the target attribute information.
[0207] Optionally, the processor 610 is further configured to perform at least one of the following:
[0208] If the target attribute information distribution characteristic value is less than or equal to a first preset threshold, the target run-length encoding method is determined to be the first run-length encoding method;
[0209] If the target attribute information distribution characteristic value is greater than the first preset threshold, the target run-length encoding method is determined to be the second run-length encoding method.
[0210] Optionally, the processor 610 is further configured to:
[0211] Based on the distribution characteristic value of the target attribute information, determine the order information of the target exponential Columbus code;
[0212] The target run-length encoding method is determined based on the order information of the target index Columbus encoding.
[0213] Optionally, the target index Columbus order is positively correlated with the distribution characteristic value of the target attribute information;
[0214] Alternatively, the target exponent Columbus order satisfies the following formula:
[0215] Index = log2disAttr;
[0216] Wherein, disAttr' represents the distribution characteristic value of the target attribute information, and Index represents the index of the target exponential Columbus order, and the index of the target exponential Columbus order corresponds one-to-one with the target exponential Columbus order.
[0217] Optionally, the processor 610 is further configured to perform at least one of the following:
[0218] If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the target run-length encoding method is determined to be the first run-length encoding method.
[0219] If the order of the target exponential Columbus code is greater than the second preset threshold, the target run-length encoding method is determined to be the second run-length encoding method.
[0220] Optionally, the processor 610 is further configured to:
[0221] If the target encoding length corresponding to the target point cloud is greater than a third preset threshold, the target run-length encoding method is determined based on the target attribute information distribution characteristic value.
[0222] Optionally, the first run-length encoding method is an N-order exponential Golomb encoding method, where N is greater than or equal to 0;
[0223] The second run-length encoding method is an arithmetic encoding method.
[0224] The apparatus of this application embodiment determines the target attribute information distribution characteristic value based on the attribute information of the target point cloud, determines the target run-length encoding method based on the target attribute information distribution characteristic value, and encodes the attribute information according to the target run-length encoding method. In this way, the target run-length encoding method is determined according to different target attribute information distribution characteristic values, rather than using the same run-length encoding method for different attribute information. That is, the corresponding run-length encoding method is adaptively selected according to the distribution of attribute information under different bit rate points, thereby realizing the use of different run-length encoding methods for different run lengths and effectively improving encoding efficiency.
[0225] The point cloud decoding method provided in this application can be executed by a point cloud decoding device. This application uses the example of a point cloud decoding device executing the point cloud decoding method to illustrate the point cloud decoding device provided in this application.
[0226] like Figure 7 As shown in the figure, this application embodiment also provides a point cloud decoding device 700, including:
[0227] The first acquisition module 701 is used to obtain target parameters based on the target code stream, wherein the target code stream is obtained by encoding the attribute information of the target point cloud;
[0228] The third determining module 702 is used to determine the target run-length decoding method based on the target parameters;
[0229] The second processing module 703 is used to decode the target bitstream according to the target run-length decoding method;
[0230] The target parameter includes at least one of the following:
[0231] The distribution characteristic value of target attribute information corresponding to the target bit rate point;
[0232] The order information of the target exponent Columbus encoding.
[0233] The apparatus of this application embodiment obtains target parameters based on the target bitstream. The target parameters include at least one of the target attribute information distribution characteristic value corresponding to the target bitrate point and the order information of the target exponential Golomb code. The decoding end determines the target run-length decoding method based on the target parameters. The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method. In this way, the target run-length decoding method is determined based on different target attribute information distribution characteristic values or the order information of the target exponential Golomb code, rather than using the same run-length decoding method for different attribute information. That is, the corresponding run-length decoding method is adaptively selected according to the distribution of attribute information at different bitrate points, thereby realizing the use of different run-length decoding methods for different run lengths and effectively improving decoding efficiency.
[0234] Optionally, the third determining module is configured to perform at least one of the following:
[0235] If the target attribute information distribution characteristic value is less than or equal to a first preset threshold, the target run-length decoding method is determined to be the first run-length decoding method;
[0236] If the target attribute information distribution characteristic value is greater than a first preset threshold, the target run-length decoding method is determined to be the second run-length decoding method.
[0237] Optionally, the third determining module is configured to perform at least one of the following:
[0238] If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the target run-length decoding method is determined to be the first run-length decoding method.
[0239] If the order of the target exponential Columbus code is greater than the second preset threshold, the target run-length decoding method is determined to be the second run-length decoding method.
[0240] Optionally, the second processing module is used for:
[0241] If the target decoding length corresponding to the target bitstream is greater than a third preset threshold, the target run-length decoding method is determined according to the target parameters.
[0242] Optionally, the first run-length decoding method is an N-order Columbus decoding method, where N is greater than or equal to 0;
[0243] The second run-length decoding method is a bit-by-bit decoding method.
[0244] The apparatus of this application embodiment obtains target parameters based on the target bitstream. The target parameters include at least one of the target attribute information distribution characteristic value corresponding to the target bitrate point and the order information of the target exponential Golomb code. The decoding end determines the target run-length decoding method based on the target parameters. The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method. In this way, the target run-length decoding method is determined based on different target attribute information distribution characteristic values or the order information of the target exponential Golomb code, rather than using the same run-length decoding method for different attribute information. That is, the corresponding run-length decoding method is adaptively selected according to the distribution of attribute information at different bitrate points, thereby realizing the use of different run-length decoding methods for different run lengths and effectively improving decoding efficiency.
[0245] The point cloud decoding device provided in this application embodiment can achieve... Figure 3 The various processes implemented in the method embodiments achieve the same technical effect, and will not be described again here to avoid repetition.
[0246] Optionally, embodiments of this application also provide a communication device (its structural schematic can be found in [reference needed]). Figure 5 The method includes a processor 501 and a memory 502. The memory 502 stores a program or instructions that can run on the processor 501. When the program or instructions are executed by the processor 501, they implement the various steps of the above-described point cloud decoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0247] This application embodiment also provides a point cloud decoding device, including a processor and a communication interface. The processor is used to obtain target parameters based on a target bitstream, wherein the target bitstream is obtained by encoding the attribute information of a target point cloud; determine a target run-length decoding method based on the target parameters; and perform decoding processing on the target bitstream according to the target run-length decoding method. The target parameters include at least one of the following: a distribution characteristic value of target attribute information corresponding to a target bitrate point; and the order information of the target exponential Golomb coding. This device embodiment corresponds to the above-described point cloud decoding method embodiment. All implementation processes and methods of the above method embodiments can be applied to this device embodiment and achieve the same technical effects.
[0248] This application also provides a point cloud decoding device, the hardware structure of which can be found in the following embodiments. Figure 6 The attribute dequantization device includes, but is not limited to, at least some of the following components: radio frequency unit 601, network module 602, audio output unit 603, input unit 604, sensor 605, display unit 606, user input unit 607, interface unit 608, memory 609, and processor 610.
[0249] Those skilled in the art will understand that the attribute dequantization device may also include a power supply (such as a battery) for supplying power to the various components. The power supply may be logically connected to the processor 610 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 6 The device structure shown does not constitute a limitation on the device. The device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0250] It should be understood that, in this embodiment, the input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042. The GPU 6041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 606 may include a display panel 6061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0251] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 601 can transmit it to the processor 610 for processing; in addition, the radio frequency unit 601 can send uplink data to the network-side device. Typically, the radio frequency unit 601 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0252] The memory 609 can be used to store software programs or instructions, as well as various data. The memory 609 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 609 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 609 in this embodiment includes, but is not limited to, these and any other suitable types of memory.
[0253] Processor 610 may include one or more processing units; optionally, processor 610 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 610.
[0254] The processor 610 is configured to obtain target parameters based on the target bitstream, wherein the target bitstream is obtained by encoding the attribute information of the target point cloud; determine the target run-length decoding method based on the target parameters; and perform decoding processing on the target bitstream based on the target run-length decoding method; wherein the target parameters include at least one of the following: the distribution characteristic value of the target attribute information corresponding to the target bitrate point; and the order information of the target exponential Golomb coding.
[0255] Optionally, the processor 610 is further configured to perform at least one of the following:
[0256] If the target attribute information distribution characteristic value is less than or equal to a first preset threshold, the target run-length decoding method is determined to be the first run-length decoding method;
[0257] If the target attribute information distribution characteristic value is greater than a first preset threshold, the target run-length decoding method is determined to be the second run-length decoding method.
[0258] Optionally, the processor 610 is further configured to perform at least one of the following:
[0259] If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the target run-length decoding method is determined to be the first run-length decoding method.
[0260] If the order of the target exponential Columbus code is greater than the second preset threshold, the target run-length decoding method is determined to be the second run-length decoding method.
[0261] Optionally, the processor 610 is further configured to:
[0262] If the target decoding length corresponding to the target bitstream is greater than a third preset threshold, the target run-length decoding method is determined according to the target parameters.
[0263] The apparatus of this application embodiment obtains target parameters based on the target bitstream. The target parameters include at least one of the target attribute information distribution characteristic value corresponding to the target bitrate point and the order information of the target exponential Golomb code. The decoding end determines the target run-length decoding method based on the target parameters. The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method. In this way, the target run-length decoding method is determined based on different target attribute information distribution characteristic values or the order information of the target exponential Golomb code, rather than using the same run-length decoding method for different attribute information. That is, the corresponding run-length decoding method is adaptively selected according to the distribution of attribute information at different bitrate points, thereby realizing the use of different run-length decoding methods for different run lengths and effectively improving decoding efficiency.
[0264] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described point cloud encoding method or point cloud decoding method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0265] The processor is the processor in the device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0266] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described point cloud encoding method or point cloud decoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0267] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0268] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described point cloud encoding method or point cloud decoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0269] This application also provides a point cloud encoding and decoding system, including: a point cloud encoding device or a point cloud decoding device, wherein the point cloud encoding device can be used to perform the steps of the point cloud encoding method described above, and the point cloud decoding device can be used to perform the steps of the point cloud decoding method described above.
[0270] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0271] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0272] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A point cloud encoding method, characterized in that, include: The encoding end determines the distribution characteristic value of the target attribute information corresponding to the target bit rate point based on the attribute information of the target point cloud. The target bit rate point is the bit rate point corresponding to the attribute quantization step size of the attribute information. The encoding end determines the target run-length encoding method based on the distribution characteristic value of the target attribute information; The encoding end encodes the attribute information according to the target run-length encoding method; The encoding end determines the target run-length encoding method based on the target attribute information distribution characteristic value, including: The encoding end determines the order information of the target exponential Columbus code based on the distribution characteristic value of the target attribute information; The target run-length encoding method is determined based on the order information of the target index Columbus encoding. Wherein, the distribution characteristic value of the target attribute information is the distribution characteristic value of the attribute information of the target point cloud, which is obtained based on the maximum and minimum values of the attribute information of the target point cloud subset, or the distribution characteristic value of the target point cloud attribute information is obtained based on the average value of the absolute values of the attribute information of the target point cloud.
2. The method according to claim 1, characterized in that, The distribution characteristics of the attribute information of the target point cloud satisfy the following formula: disAttr=Attr max -Attr min ; Where, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, Attr max Attr represents the maximum value of attribute information. min This represents the minimum value of the attribute information.
3. The method according to claim 1, characterized in that, The distribution characteristic value of the target attribute information satisfies the following formula: Wherein, disAttr represents the distribution characteristic value of the attribute information of the target point cloud, AttrQuantStep represents the attribute quantization step size of the attribute information, and disAttr' represents the distribution characteristic value of the target attribute information.
4. The method according to claim 1, characterized in that, The order of the target index Columbus is positively correlated with the distribution characteristic value of the target attribute information; Alternatively, the order of the target index Columbus satisfies the following formula: Index = log2disAttr; Wherein, disAttr' represents the distribution characteristic value of the target attribute information, and Index represents the index of the order of the target exponential Columbus, and the index of the order of the target exponential Columbus corresponds one-to-one with the order of the target exponential Columbus.
5. The method according to claim 1, characterized in that, The encoding end determines the target run-length encoding method based on the order information of the target exponential Columbus code, including at least one of the following: If the order of the target exponential Columbus code is less than or equal to a second preset threshold, the encoding end determines that the target run-length encoding method is the first run-length encoding method. If the order of the target exponential Columbus code is greater than a second preset threshold, the encoding end determines that the target run-length encoding method is the second run-length encoding method.
6. The method according to claim 5, characterized in that, The first run-length encoding method is an N-order exponential Golomb encoding method, where N is greater than or equal to 0; The second run-length encoding method is an arithmetic encoding method.
7. A point cloud decoding method, characterized in that, include: The decoding end obtains the target parameters based on the target bitstream, which is obtained by encoding the attribute information of the target point cloud; The decoding end determines the target run-length decoding method based on the target parameters; The decoding end performs decoding processing on the target bitstream according to the target run-length decoding method; The target parameters include: The order information of the target exponent Columbus code, wherein the order information of the target exponent Columbus code is determined based on the distribution characteristic value of the target attribute information; Wherein, the distribution characteristic value of the target attribute information is the distribution characteristic value of the attribute information of the target point cloud, which is obtained based on the maximum and minimum values of the attribute information of the target point cloud subset, or the distribution characteristic value of the target point cloud attribute information is obtained based on the average value of the absolute values of the attribute information of the target point cloud.
8. The method according to claim 7, characterized in that, The decoding end determines the target run-length decoding method based on the target parameters, including at least one of the following: If the order of the target exponential Columbus code is less than or equal to the second preset threshold, the decoding end determines that the target run-length decoding method is the first run-length decoding method. If the order of the target exponential Columbus code is greater than a second preset threshold, the decoding end determines that the target run-length decoding method is the second run-length decoding method.
9. The method according to claim 8, characterized in that, The first run-length decoding method is the N-order Columbus decoding method, where N is greater than or equal to 0; The second run-length decoding method is a bit-by-bit decoding method.
10. A point cloud encoding device, characterized in that, include: The first determining module is used to determine the distribution characteristic value of target attribute information corresponding to the target bitrate point based on the attribute information of the target point cloud, wherein the target bitrate point is the bitrate point corresponding to the attribute quantization step size of the attribute information; The second determining module is used to determine the target run-length encoding method based on the distribution characteristic value of the target attribute information; The first processing module is used to encode the attribute information according to the target run-length encoding method; The second determining module includes: The third determining submodule is used to determine the order information of the target exponential Columbus code based on the distribution characteristic value of the target attribute information; The fourth determining submodule is used to determine the target run-length encoding method based on the order information of the target exponential Columbus encoding; Wherein, the distribution characteristic value of the target attribute information is the distribution characteristic value of the attribute information of the target point cloud, which is obtained based on the maximum and minimum values of the attribute information of the target point cloud subset, or the distribution characteristic value of the target point cloud attribute information is obtained based on the average value of the absolute values of the attribute information of the target point cloud.
11. A point cloud decoding device, characterized in that, include: The first acquisition module is used to obtain target parameters based on the target code stream, wherein the target code stream is obtained by encoding the attribute information of the target point cloud; The third determining module is used to determine the target run-length decoding method based on the target parameters; The second processing module is used to decode the target bitstream according to the target run-length decoding method; The target parameters include: The order information of the target exponent Columbus code, wherein the order information of the target exponent Columbus code is determined based on the distribution characteristic value of the target attribute information; Wherein, the distribution characteristic value of the target attribute information is the distribution characteristic value of the attribute information of the target point cloud, which is obtained based on the maximum and minimum values of the attribute information of the target point cloud subset, or the distribution characteristic value of the target point cloud attribute information is obtained based on the average value of the absolute values of the attribute information of the target point cloud.
12. A communication device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the point cloud encoding method as claimed in any one of claims 1 to 6, or to implement the steps of the point cloud decoding method as claimed in any one of claims 7 to 9.
13. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the point cloud encoding method as described in any one of claims 1 to 6, or the steps of the point cloud decoding method as described in any one of claims 7 to 9.
Citation Information
Patent Citations
Method and device for encoding or decoding three-dimensional data point set
CN111247798A
Point cloud attribute encoding and decoding method and device based on hybrid encoding
CN112565734A