A point cloud data processing method, device and equipment based on smoothing filtering
By searching for coplanar neighbor child nodes and performing weighted smoothing filtering in point cloud data processing, the reference range of neighbor nodes is expanded, solving the problem of limited reference range of neighbor nodes and improving point cloud encoding/decoding efficiency and compression performance.
Patent Information
- Application Number
- CN202310884232.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-18
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2043-07-18
AI Technical Summary
In existing point cloud attribute compression methods, the reference range of neighbor nodes is limited, resulting in low prediction efficiency and reduced point cloud attribute compression performance.
By obtaining the predicted unit node to be encoded, searching its coplanar neighbor child nodes, determining the set of filtering nodes and filtering weights, and performing weighted smoothing filtering, the reference range of neighbor nodes is expanded, and the prediction residual is reduced.
It improves point cloud encoding and decoding efficiency and enhances point cloud compression performance, especially on the latest MPEG encoding standard platform.
Smart Images

Figure CN117082261B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of communication technology, in particular to a point cloud data processing method, device and equipment based on smoothing filtering. BACKGROUND
[0002] With the rapid development of three-dimensional information perception and acquisition technology, high-resolution and high-fidelity three-dimensional point clouds are widely used in immersive media, virtual reality, autonomous driving and other scenarios. Three-dimensional point clouds are composed of a large number of geometric position information and corresponding attribute information (color, reflectivity, etc.), which can flexibly represent the spatial structure and surface attributes of three-dimensional objects or scenes. However, the massive point cloud data poses a great challenge in encoding and transmission, and the point cloud encoding efficiency is relatively low.
[0003] At present, the WG07 working group of MPEG international standard organization provides a geometry-based compression framework platform, in which the point cloud attribute lossy compression method mainly adopts the RAHT-based point cloud transformation method. However, in the process of implementing the present application, the inventors found that in the transformation domain prediction involved in the above method, the reference range of the neighbor node is limited, which affects the efficiency of prediction and thus reduces the point cloud attribute compression performance. SUMMARY
[0004] The purpose of the present application is to provide a point cloud data processing method, device and equipment based on smoothing filtering, to improve the performance of point cloud attribute coding and decoding.
[0005] In a first aspect, an embodiment of the present application provides a point cloud data processing method based on smoothing filtering, comprising:
[0006] obtaining a predicted to-be-encoded unit node;
[0007] searching for existing coplanar neighbor nodes of each to-be-filtered sub-node in the to-be-encoded unit node;
[0008] determining a filtering node set and a filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0009] determining an attribute filtering value of each to-be-filtered sub-node according to the filtering weight;
[0010] encoding or decoding the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0011] In a second aspect, an embodiment of the present application provides a point cloud data processing device, comprising:
[0012] a first processing module configured to obtain a predicted to-be-encoded unit node;
[0013] The second processing module is configured to search for a coplanar neighbor node that already exists for each to-be-filtered sub-node in the to-be-encoded unit node;
[0014] The third processing module is configured to determine a filtering node set and a filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0015] The fourth processing module is configured to determine an attribute filtering value of each to-be-filtered sub-node according to the filtering weight.
[0016] The fifth processing module is configured to encode or decode the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0017] In a third aspect, an embodiment of the present application provides a point cloud data processing device, comprising a processor, wherein the processor is configured to:
[0018] obtain a to-be-encoded unit node after prediction;
[0019] search for a coplanar neighbor node that already exists for each to-be-filtered sub-node in the to-be-encoded unit node;
[0020] determine a filtering node set and a filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0021] determine an attribute filtering value of each to-be-filtered sub-node according to the filtering weight.
[0022] encode or decode the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0023] In a fourth aspect, an embodiment of the present application provides a point cloud data processing device, comprising a transceiver, a processor, a memory, and a program or instruction stored in the memory and executable on the processor; the processor implements the point cloud data processing method based on smoothing filtering as described above when executing the program or instruction.
[0024] In a fifth aspect, an embodiment of the present application provides a readable storage medium, wherein the readable storage medium stores a program, and the program is executable on a processor to implement the steps in the method as described above.
[0025] The beneficial effects of the above technical solutions of the present application are as follows:
[0026] The method of the embodiment of the present application searches for coplanar nodes of each sub-node in a to-be-encoded unit node, and performs in-domain weighted smoothing filtering after prediction. According to different attribute components, corresponding filtering weights are determined. In the case of implicitly expanding the neighbor node reference range of the to-be-encoded sub-node, the prediction residual is reduced, the encoding and decoding efficiency is improved, and the point cloud compression performance is improved. Attached Figure Description
[0027] Figure 1 This is a flowchart of a point cloud data processing method based on smoothing filtering according to an embodiment of the present invention;
[0028] Figure 2 This is a schematic diagram of point cloud node smoothing filtering according to an embodiment of the present invention;
[0029] Figure 3 This is a structural diagram of the point cloud data processing device according to an embodiment of the present invention;
[0030] Figure 4 This is a structural diagram of the point cloud data processing device according to an embodiment of the present invention;
[0031] Figure 5 This is a structural diagram of the point cloud data processing device according to an embodiment of the present invention. Detailed Implementation
[0032] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.
[0033] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.
[0034] In various embodiments of the present invention, it should be understood that the sequence number of each process described below does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0035] In addition, the terms "system" and "network" are often used interchangeably in this article.
[0036] In the embodiments provided in this application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it should also be understood that determining B based on A does not mean determining B solely based on A; B can also be determined based on A and / or other information.
[0037] like Figure 1 As shown, an embodiment of the present invention provides a point cloud data processing method based on smoothing filtering, comprising:
[0038] Step 101: Obtain the predicted unit node to be encoded;
[0039] Step 102, searching for the coplanar neighbor sub-nodes that already exist in each to-be-filtered sub-node in the to-be-encoded unit node;
[0040] Step 103, determining the filtering node set and the filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0041] Step 104, determining the attribute filtering value of each to-be-filtered sub-node according to the filtering weight;
[0042] Step 105, encoding or decoding the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0043] In the embodiment of the present application, considering the applicability of the smoothing filtering between the attribute nodes of the point cloud, the method can optionally include, before step 101:
[0044] According to the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud, it is determined whether to perform the step of obtaining the to-be-encoded unit node after prediction.
[0045] In this way, in combination with the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud, it is understood whether it is suitable to continue processing, so as to avoid errors in compression and ensure higher coding and decoding efficiency.
[0046] Optionally, the step of determining whether to perform the step of obtaining the to-be-encoded unit node after prediction according to the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud includes:
[0047] Based on the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud, a determination result is obtained.
[0048] The step of obtaining the to-be-encoded unit node after prediction includes:
[0049] When the determination result meets a preset condition, the to-be-encoded unit node after prediction is obtained.
[0050] Here, a preset condition is configured or defined for applicability confirmation, and when the determination result obtained based on the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud meets the preset condition, the to-be-encoded unit node after prediction is obtained.
[0051] Optionally, in this embodiment, the step of obtaining the determination result based on the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud includes:
[0052] The sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud is calculated.
[0053] The size of the sum of the standard deviations of the two chroma channels is compared with a first threshold value to obtain the determination result.
[0054] Here, the sum of the standard deviations of the two chroma channels of the current to-be-encoded point cloud, or the sum of the variances of the two chroma channels of the current to-be-encoded point cloud, any feature indicating the fluctuation degree of the chroma channel attributes of the point cloud is taken as the threshold for judgment. Then, the judgment result is obtained by judging the size of the sum of the standard deviations of the two chroma channels calculated and the first threshold. The first threshold can be configured or defined based on different attribute types.
[0055] Optionally, the preset condition is that the sum of the standard deviations of the two chroma channels is less than the first threshold.
[0056] For a to-be-encoded point cloud or point cloud strip, the standard deviation of the chroma channel U of the point cloud is denoted as the following formula (1):
[0057]
[0058] The standard deviation of the chroma channel V of the point cloud is denoted as the following formula (2):
[0059]
[0060] wherein voxelCount is the number of points of the point cloud or the point cloud strip, and meanU and meanV are the average values of the chroma channels U and V of all points in the point cloud or the point cloud strip.
[0061] Then, the sum stdUV of the standard deviations of the two chroma channels of the point cloud or the point cloud strip is calculated and denoted as the following formula (3):
[0062] stdUV = stdU + stdV (3);
[0063] The sum of the standard deviations of the two chroma channels is compared with the corresponding first threshold, and the judgment result satisfies the preset condition when the judgment result is that stdUV is less than the first threshold.
[0064] In the embodiments of the present application, the applicability of the smoothing filtering between the attribute nodes of the point cloud on different transform layers is also considered. Optionally, the method further comprises, before step 101:
[0065] According to the layer number of the current to-be-encoded unit node, it is judged whether the step of obtaining the predicted to-be-encoded unit node is performed.
[0066] In this way, in combination with the layer number of the current to-be-encoded unit node, it is understood whether it is suitable to continue processing, so as to avoid errors in compression and ensure higher coding and decoding efficiency.
[0067] Optionally, the step of judging whether the step of obtaining the predicted to-be-encoded unit node is performed according to the layer number of the current to-be-encoded unit node comprises:
[0068] obtaining a judgment result based on a layer number of the current to-be-encoded unit node;
[0069] The obtaining of the predicted to-be-encoded unit node comprises:
[0070] When the judgment result meets a preset condition, the predicted to-be-encoded unit node is obtained.
[0071] Here, the preset condition is configured or defined for applicability confirmation, and only when the judgment result obtained based on the layer number of the current to-be-encoded unit node meets the preset condition, the predicted to-be-encoded unit node is obtained.
[0072] Optionally, in the embodiment, the obtaining of the judgment result based on the layer number of the current to-be-encoded unit node comprises:
[0073] calculating a second threshold value according to a total transform layer number of the current to-be-encoded point cloud or point cloud slice;
[0074] judging a size of the layer number of the current to-be-encoded unit node and the second threshold value to obtain the judgment result.
[0075] Here, the second threshold value can be configured or defined based on different attribute types. Then, the judgment result is obtained by judging the size of the layer number of the current to-be-encoded unit node and the calculated second threshold value.
[0076] Optionally, the preset condition is that the layer number of the current to-be-encoded unit node is greater than the second threshold value.
[0077] For a to-be-encoded point cloud or point cloud slice, the total octree division layer number is levelAll, and the second threshold value is N times of the total layer number, denoted as the following formula (4):
[0078] levelFilter = levelAll * N (4);
[0079] Wherein, N∈[0,1]. Then, the layer number level of the current to-be-encoded unit node is compared with the calculated second threshold value, and when the judgment result is that the layer number level is greater than the second threshold value, the judgment result meets the preset condition.
[0080] Optionally, the second threshold value is adaptively calculated as the following formula (5):
[0081] levelFilter = (levelHfPos.size()-1) / 5 (5);
[0082] Here, `levelFilter` is the second threshold, and `levelHfPos.size()` is the total number of transformation layers for the point cloud stripes. Then, the layer number `level` of the current node to be encoded is compared with the calculated second threshold. If the judgment result is that `level` is greater than the second threshold, the judgment result satisfies the preset condition.
[0083] Of course, if the judgment result does not meet the preset conditions, the point cloud transformation method based on RAHT can be used. That is, the current point cloud is sorted according to the position information of the point cloud, a point cloud transformation tree is constructed under the Morton order, transformation domain prediction and transformation are performed, and then the transformed coefficients are entropy encoded.
[0084] Step 101: Obtain the predicted unit node to be encoded.
[0085] Once the transform domain prediction is complete, the predicted unit node to be encoded can be obtained. The predicted unit node to be encoded contains 8 sub-nodes to be filtered, and their numbers are determined by the position of the sub-node in the Morton order.
[0086] Step 102: Search for existing coplanar neighbor child nodes of each child node to be filtered in the node to be encoded.
[0087] When smoothing filtering is enabled in the node to be encoded, existing coplanar neighboring child nodes can be searched for each child node to be filtered in the node to be encoded.
[0088] This process mainly includes:
[0089] (1) Based on the position of each sub-node to be filtered in the Morton order of the nodes to be encoded, determine its possible coplanar neighbor candidates, specifically, such as... Figure 2 As shown, the coplanar neighbor candidate child nodes for each child node to be filtered are as follows:
[0090] The three coplanar neighbor candidate child nodes of child node 0 are located in child nodes 1, 2 and 4, respectively.
[0091] The three coplanar neighbor child node candidates of child node 1 are located in child nodes 0, 3 and 5, respectively;
[0092] The three coplanar neighbor child node candidates of child node 2 are located in child nodes 0, 3 and 6, respectively;
[0093] The three coplanar neighbor child node candidates of child node 3 are located in child nodes 1, 2 and 7, respectively;
[0094] The three coplanar neighbor child node candidates of child node 4 are located in child nodes 0, 5 and 6, respectively;
[0095] The three coplanar neighbor node candidates of the child node 5 are respectively located in the child nodes 1, 4 and 7;
[0096] The three coplanar neighbor node candidates of the child node 6 are respectively located in the child nodes 2, 4 and 7;
[0097] The three coplanar neighbor node candidates of the child node 7 are respectively located in the child nodes 3, 5 and 6.
[0098] (2) searching for the existing coplanar neighbor node among the possible coplanar neighbor node candidates.
[0099] Step 103, determining the filtering node set and the filtering weight of each to-be-filtered node in the to-be-encoded unit node.
[0100] According to the existing coplanar neighbor node and itself of each to-be-filtered node, the filtering node set and the corresponding filtering weight of each to-be-filtered node are generated.
[0101] In this process, mainly includes:
[0102] (1) determining the filtering weight of the attribute luminance component or the reflectance component of each filtering node;
[0103] (2) determining the filtering weight of the attribute chroma component of each filtering node.
[0104] Step 104, determining the attribute filtering value of each to-be-filtered node according to the filtering weight.
[0105] The attribute filtering value of the to-be-filtered node is calculated by formula (6)
[0106]
[0107] wherein, is the attribute filtering value of the to-be-filtered node i, i = 0, 1, …, 8; A n is the attribute prediction value of any node in the filtering node set; W n is the attribute filtering weight of any node in the filtering node set; M is the number of nodes in the filtering node set; the type of the node in the filtering node set includes the to-be-filtered node itself and the existing coplanar neighbor node.
[0108] To verify the performance of the embodiments of the present application, the algorithm is implemented on the latest MPEG point cloud encoding standard platform reference software TMC13-v22.0-rc1, and the standard test sequence is tested, and the filter weight ratio of the attribute luminance component of the to-be-filtered subnode itself and the existing coplanar neighbor subnode is set to 40:1; the filter weight ratio of the attribute chrominance component of the to-be-filtered subnode itself and the existing coplanar neighbor subnode is 6:1; and the filter weight ratio of the attribute reflectance component of the to-be-filtered subnode itself and the existing coplanar neighbor subnode is 9:1. In addition, considering that the RAHT coefficient residual is only large in the first few layers, and is basically zero after quantization. Therefore, in the embodiments of the present application, only the nodes in the first fifth layer are smoothed and filtered for the point cloud data with only color attribute. The encoding performance is shown in Tables 1 and 2, wherein the negative numbers represent the percentage of code rate saved after using the method of the embodiments of the present application, and the positive numbers represent the percentage of increased code rate.
[0109] Table 1 is a performance comparison table of the method of the embodiments of the present application and the benchmark results of the latest MPEG basic platform TMC13-v22.0-rc1 under the condition of lossless geometry and lossy attribute (MPEG C1 AI), and the results show that the attribute luminance component, chrominance component Cb, chrominance component Cr and reflectance of the embodiments of the present application are improved by an average of 0.2% to 2.0% in rate distortion performance.
[0110] Table 2 is a performance comparison table of the embodiments of the present application and the benchmark results of the latest MPEG basic platform TMC13-v22.0-rc1 under the condition of lossy geometry and lossy attribute (MPEG C2 AI), and the results show that the attribute luminance component, chrominance component Cb, chrominance component Cr and reflectance of the embodiments of the present application are improved by an average of 0.1% to 1.8% in rate distortion performance.
[0111] Table 1: Test results under the condition of lossless geometry and lossy attribute (MPEG C1 AI)
[0112]
[0113]
[0114] Table 2: Test results under the condition of lossy geometry and lossy attribute (MPEG C2 AI)
[0115]
[0116] Meanwhile, in order to verify the performance of the embodiment of the present application on the dynamic dense point cloud dataset, the algorithm is implemented on the latest MPEG dynamic dense point cloud encoding standard platform reference software gestm-v2.0-rc2, and the standard test sequence is tested, and the filter weight ratio of the attribute luminance component of the to-be-filtered subnode itself and the existing coplanar neighbor subnode is set to 45:1; the filter weight ratio of the attribute chrominance component of the to-be-filtered subnode itself and the existing coplanar neighbor subnode is 5:1. In addition, considering that the RAHT coefficient residual is only large in the first few layers, and basically zero after quantization. Therefore, in the embodiment of the present application, only the nodes in the first third layer are subjected to smoothing filtering. Based on this, the encoding performance can be obtained as shown in Tables 3 and 4, wherein the negative number represents the percentage of saving code rate after using the method of the embodiment of the present application, and the positive number represents the percentage of increasing code rate.
[0117] Table 3 is a performance comparison table of the method of the embodiment of the present application and the benchmark result of the latest MPEG basic platform gestm-v2.0-rc2 under the condition of lossless geometry and lossy attribute (MPEG C1 AI), and the results show that the attribute luminance component, the chrominance component Cb and the chrominance component Cr of the embodiment of the present application are improved by an average of 1.1% to 2.4% in rate distortion performance.
[0118] Table 4 is a performance comparison table of the embodiment of the present application and the benchmark result of the latest MPEG basic platform gestm-v2.0-rc2 under the condition of lossy geometry and lossy attribute (MPEG C2 AI), and the results show that the attribute luminance component, the chrominance component Cb and the chrominance component Cr of the embodiment of the present application are improved by an average of 1.0% to 4.0% in rate distortion performance.
[0119] Table 3: Test results under the condition of lossless geometry and lossy attribute (MPEG C1 AI)
[0120]
[0121] Table 4: Test results under the condition of lossy geometry and lossy attribute (MPEG C2 AI)
[0122]
[0123] In summary, the embodiment of the present application proposes a point cloud data processing method based on smoothing filtering, which searches for the coplanar subnode of each subnode in the to-be-encoded unit node, and performs in-domain weighted smoothing filtering after prediction. According to different attribute components, the corresponding filter weight is determined. In the case of implicitly expanding the neighbor node reference range of the to-be-encoded subnode, the prediction residual is reduced, the efficiency of the latest point cloud encoding standard is effectively improved, and the point cloud compression performance is effectively improved.
[0124] As Figure 3 shown, an embodiment of the present application provides a point cloud data processing apparatus, comprising:
[0125] a first processing module 310 configured to acquire a predicted to-be-encoded unit node;
[0126] a second processing module 320 configured to search for an existing coplanar neighbor node of each to-be-filtered sub-node in the to-be-encoded unit node;
[0127] a third processing module 330 configured to determine a filtering node set and a filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0128] a fourth processing module 340 configured to determine an attribute filtering value of each to-be-filtered sub-node according to the filtering weight;
[0129] a fifth processing module 350 configured to encode or decode the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0130] Optionally, the second processing module is further configured to:
[0131] when the to-be-encoded unit node smoothing filtering is enabled, search for an existing coplanar neighbor node of each to-be-filtered sub-node in the to-be-encoded unit node.
[0132] Optionally, the second processing module is further configured to:
[0133] determine a possible existing coplanar neighbor node candidate of each to-be-filtered sub-node according to a position of the to-be-filtered sub-node in the to-be-encoded unit node in a Morton order.
[0134] Optionally, the second processing module is further configured to:
[0135] search for an existing coplanar neighbor node from the possible existing coplanar neighbor node candidate.
[0136] Optionally, the third processing module is further configured to:
[0137] generate a filtering node set and a corresponding filtering weight of each to-be-filtered sub-node according to the existing coplanar neighbor node of each to-be-filtered sub-node and the to-be-filtered sub-node itself.
[0138] Optionally, the third processing module is further configured to:
[0139] determine a filtering weight of an attribute luminance component or a reflectance component of each filtering node.
[0140] Optionally, the third processing module is further configured to:
[0141] determining a filtering weight of an attribute chroma component of the each filtering node.
[0142] Optionally, the fourth processing module is further configured to:
[0143] calculating the attribute filtering value of the to-be-filtered sub-node by a formula wherein, is the attribute filtering value of the to-be-filtered sub-node i, i = 0, 1, …, 8; A n is the attribute prediction value of any node in the filtering node set; W n is the attribute filtering weight of any node in the filtering node set; M is the number of nodes in the filtering node set; the types of the nodes in the filtering node set include the to-be-filtered sub-node itself and the existing coplanar neighbor sub-nodes thereof.
[0144] The device searches for the coplanar sub-nodes of each sub-node in the to-be-encoded unit node, and performs in-domain weighted smoothing filtering after prediction. According to different attribute components, corresponding filtering weights are determined. In the case of implicitly expanding the reference range of the neighbor nodes of the to-be-encoded sub-node, the prediction residual is reduced, the efficiency of the latest point cloud coding standard is effectively improved, and the point cloud compression performance is effectively improved.
[0145] It should be noted that the device is a device applied with the above method, and the implementation manner of the above method embodiment is applicable to the device, and the same technical effects can also be achieved.
[0146] As shown in Figure 4 A point cloud data processing device 400 of an embodiment of the present application includes a processor 410, and the processor 410 is configured to:
[0147] obtain a to-be-encoded unit node after prediction;
[0148] search for existing coplanar neighbor sub-nodes of each to-be-filtered sub-node in the to-be-encoded unit node;
[0149] determine a filtering node set and a filtering weight of each to-be-filtered sub-node in the to-be-encoded unit node;
[0150] determine an attribute filtering value of each to-be-filtered sub-node according to the filtering weight;
[0151] encode or decode the to-be-filtered sub-node according to the attribute filtering value of the to-be-filtered sub-node.
[0152] Optionally, the processor is further configured to:
[0153] When the smoothing filtering of the to-be-encoded unit node is enabled, the existing coplanar neighbor sub-nodes in the to-be-encoded unit node can be searched for each of the to-be-filtered sub-nodes in the to-be-encoded unit node.
[0154] Optionally, the processor is further configured to:
[0155] According to the position of each of the to-be-filtered sub-nodes in the to-be-encoded unit node in the Morton order, the possible existing coplanar neighbor sub-node candidates are determined.
[0156] Optionally, the processor is further configured to:
[0157] The existing coplanar neighbor sub-nodes are searched for in the possible existing coplanar neighbor sub-node candidates.
[0158] Optionally, the processor is further configured to:
[0159] According to the existing coplanar neighbor sub-nodes of each of the to-be-filtered sub-nodes and the to-be-filtered sub-nodes themselves, a filtering node set and a corresponding filtering weight of each of the to-be-filtered sub-nodes are generated.
[0160] Optionally, the processor is further configured to:
[0161] The filtering weight of the attribute luminance component or the reflectance component of each of the filtering nodes is determined.
[0162] Optionally, the processor is further configured to:
[0163] The filtering weight of the attribute chroma component of each of the filtering nodes is determined.
[0164] Optionally, the processor is further configured to:
[0165] The attribute filtering value of the to-be-filtered sub-node is calculated by a formula wherein, is the attribute filtering value of the to-be-filtered sub-node i, i = 0, 1, …, 8; A n is the attribute prediction value of any node in the filtering node set; W n is the attribute filtering weight of any node in the filtering node set; M is the number of nodes in the filtering node set; the type of the node in the filtering node set includes the to-be-filtered sub-node itself and the existing coplanar neighbor sub-nodes thereof.
[0166] The point cloud data processing device further comprises a transceiver 420 configured to receive and send data under the control of the processor 410.
[0167] The point cloud data processing device searches for coplanar sub-nodes of each sub-node in the to-be-encoded unit node, and performs in-field weighted smoothing filtering after prediction.
[0168] It should be noted that the point cloud data processing device applies the above method, and the implementation manner of the above method embodiment is applicable to the point cloud data processing device, and the same technical effect can be achieved.
[0169] Another embodiment of the application is a point cloud data processing device 500, as shown in the accompanying drawings, comprising a transceiver 510, a processor 500, a memory 520, and a program or instruction stored in the memory 520 and executable on the processor 500; the processor 500 implements the above-mentioned point cloud data processing method based on smoothing filtering when executing the program or instruction. Figure 5
[0170] The transceiver 510 is used to receive and send data under the control of the processor 500.
[0171] Among them, Figure 5 The bus architecture can include any number of interconnected buses and bridges, which are linked together by various circuits of the processor 500 representing one or more processors and the memory 520 representing memory. The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be further described herein. The bus interface provides an interface. The transceiver 510 can be a plurality of elements, i.e., including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium.
[0172] The processor 500 is responsible for managing the bus architecture and general processing, and the memory 520 can store data used by the processor 500 when performing operations.
[0173] A readable storage medium of an embodiment of the application has a program or instruction stored thereon, which implements the steps of the above-mentioned point cloud data processing method based on smoothing filtering when executed by a processor, and can achieve the same technical effect. To avoid repetition, it will not be described here.
[0174] The processor is the processor in the point cloud data processing device in the above embodiments. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0175] It is further noted that many of the functional units described in this specification are labeled as modules, in order to more particularly emphasize their implementation independence.
[0176] In the embodiments of the present application, the modules can be implemented by software, so as to be executed by various types of processors. For example, an identified executable code module can include one or more physical or logical blocks of computer instructions. For example, it can be constructed as an object, a procedure or a function. However, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different locations which, when logically combined, constitute the module and achieve the specified purpose of the module.
[0177] In fact, the executable code module can be a single instruction or many instructions, and can even be distributed on different code segments, in different programs, and across multiple memory devices. Similarly, the operation data can be identified within the module, and can be implemented in any appropriate form and organized in any appropriate type of data structure. The operation data can be collected as a single data set, or can be distributed over different locations including on different storage devices, and can at least partially exist only as electronic signals on a system or network.
[0178] When the modules can be implemented by software, the modules implemented by software can be built into corresponding hardware circuit by those skilled in the art without considering the cost, under the consideration of the level of existing hardware technology. The hardware circuit includes conventional very large scale integration (VLSI) circuit or gate array, and existing semiconductors such as logic chips, transistors and other discrete elements. The modules can also be implemented by programmable hardware devices, such as field programmable gate array, programmable array logic, programmable logic device, etc.
[0179] The foregoing exemplary embodiments are described with reference made to the drawings which are provided for the purpose of explanation and illustration. They are not intended to limit the scope of the invention. Rather, these exemplary embodiments are described in order to enable others skilled in the art to embody the application. As will be understood by those familiar with the art, the application can be embodied in many different forms and should not be limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be complete and fully convey the scope of the application to those skilled in the art. In the drawings, the size and relative sizes of components can be exaggerated for clarity. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular articles "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Unless otherwise indicated, a value range includes the upper and lower limits of the range and any sub-ranges therebetween.
[0180] The above description is that of the preferred embodiments of the application. Various modifications and changes can be made thereto without departing from the spirit and scope of the application, which is to be understood. The scope of the application is indicated only by the subjoined claims.
Claims
1. A point cloud data processing method based on smoothing filtering, characterized in that, The method comprises the following steps: calculating a second threshold according to the total number of transformation layers of a current to-be-encoded point cloud or point cloud slice, wherein the second threshold is determined based on the total number of octree partitioning layers; when the layer number of the current to-be-encoded unit node is greater than the second threshold, obtaining a predicted to-be-encoded unit node; searching for existing coplanar neighbor nodes of each to-be-filtered sub-node in the to-be-encoded unit node; generating a filter node set of each to-be-filtered sub-node according to the existing coplanar neighbor nodes of each to-be-filtered sub-node and the to-be-filtered sub-node itself; determining the filter weight of each filter node in the filter node set; determining the attribute filter value of each to-be-filtered sub-node according to the filter weight; encoding or decoding the to-be-filtered sub-node according to the attribute filter value of the to-be-filtered sub-node.
2. The method of claim 1, wherein, The searching for existing coplanar neighbor nodes of each to-be-filtered sub-node in the to-be-encoded unit node comprises: determining the possible existing coplanar neighbor node candidates of each to-be-filtered sub-node according to the position of each to-be-filtered sub-node in the to-be-encoded unit node in the Morton order, wherein the to-be-encoded unit node comprises 8 to-be-filtered sub-nodes; searching for existing coplanar neighbor nodes in the possible existing coplanar neighbor node candidates.
3. The method of claim 1, wherein, The determining the filter weight of each filter node in the filter node set comprises: determining the filter weight of the attribute luminance component or the reflectivity component of each filter node; determining the filter weight of the attribute chroma component of each filter node.
4. The method of claim 1, wherein, The determining the attribute filter value of each to-be-filtered sub-node according to the filter weight comprises: The attribute filter value of the to-be-filtered sub-node is calculated by the formula wherein, is the attribute filter value of the to-be-filtered sub-node i, i = 0, 1, …, 8; A n is the attribute prediction value of any node in the filter node set; W n is the attribute filter weight of any node in the filter node set; M is the number of nodes in the filter node set; the types of the nodes in the filter node set include the to-be-filtered sub-node itself and its existing coplanar neighbor sub-nodes. 5. The method of claim 1, wherein, Before the obtaining of the predicted to-be-encoded unit node, the method further comprises: obtaining the layer number of the current to-be-encoded unit node.
6. A point cloud data processing apparatus, characterized by comprising: The method comprises the following steps: a first processing module is configured to calculate a second threshold according to the total number of transformation layers of a current to-be-encoded point cloud or point cloud slice, wherein the second threshold is determined based on the total number of octree partitioning layers; when the layer number of the current to-be-encoded unit node is greater than the second threshold, a predicted to-be-encoded unit node is obtained; a second processing module is configured to search for existing coplanar neighbor nodes of each to-be-filtered sub-node in the to-be-encoded unit node; a third processing module is configured to generate a filter node set of each to-be-filtered sub-node according to the existing coplanar neighbor nodes of each to-be-filtered sub-node and the to-be-filtered sub-node itself, and determine the filter weight of each filter node in the filter node set; a fourth processing module is configured to determine the attribute filter value of each to-be-filtered sub-node according to the filter weight; a fifth processing module is configured to encode or decode the to-be-filtered sub-node according to the attribute filter value of the to-be-filtered sub-node.
Citation Information
Patent Citations
Kinectv2-based complete object real-time three-dimensional reconstruction method
CN110047144A
Method and system for measuring modulation transfer function of digital input equipment
CN115326362A
Encoding method, decoding method, encoder, decoder and encoding and decoding system of point cloud
CN116250008A
Prediction method, encoder, decoder and computer storage medium
WO2022116117A1