Point cloud attribute prediction method, device and storage medium

CN117956184BActive Publication Date: 2026-09-15ZTE CORP +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211281542.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-10-19
Publication Date
2026-09-15
Estimated Expiration
2042-10-19

AI Technical Summary

Technical Problem

但是,相关技术在预测待解/编码点的属性值时,只考虑了待解/编码点和邻居点之间的几何距离,当邻居点以及待解/编码点的属性值随着距离呈递增或递减的情况下,预测残差会比较大,造成压缩性能下降

Benefits of technology

[0015] In this embodiment, the neighboring prediction points of the current prediction point and the corresponding first attribute prediction values ​​of the neighboring prediction points are first determined. Then, the attributes of the current prediction point are predicted based on the first attribute prediction values ​​of the neighboring prediction points to obtain the corresponding second attribute prediction value of the current prediction point. Finally, the attribute prediction result of the current prediction point is adjusted based on the second attribute prediction value to obtain the corresponding third attribute prediction value of the current prediction point. Even when the attribute values ​​of the neighboring prediction points and the current prediction point increase or decrease with distance, the solution of this embodiment can still obtain relatively accurate attribute prediction values ​​for the current prediction point, thereby improving the accuracy of the overall attribute prediction of the point cloud.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117956184B_ABST
    Figure CN117956184B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud attribute prediction method, device and storage medium, wherein the method comprises the following steps: determining a neighbor prediction point of a current prediction point and a first attribute prediction value corresponding to the neighbor prediction point; determining a second attribute prediction value corresponding to the current prediction point according to the first attribute prediction value corresponding to the neighbor prediction point; and determining a third attribute prediction value corresponding to the current prediction point according to the second attribute prediction value. In this way, the attribute of the current prediction point is first predicted by using the first attribute prediction value corresponding to the neighbor prediction point, the second attribute prediction value corresponding to the current prediction point is obtained, and then the prediction result is adjusted by using the second attribute prediction value, so that the third attribute prediction value corresponding to the current prediction point is obtained. Even in the case that the attribute values of the neighbor prediction point and the current prediction point increase or decrease with the distance, the more accurate attribute prediction value can still be obtained, and the accuracy of the overall attribute prediction of the point cloud is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a point cloud attribute prediction method, device and storage medium. Background Technology

[0002] In the AVS-PCC (Point Cloud Compression of Audio Video coding Standard) draft standard, encoders and decoders must first process the geometric position information of the point cloud, and then process the attribute information based on the encoded or decoded geometric position. The compression process of point cloud attribute information in the AVS-PCC framework is roughly as follows: Since the geometric position of the point cloud is reconstructed through coordinate translation, quantization, and octree reconstruction, it is necessary to perform attribute interpolation and recoloring on each point in the point cloud. To further compress the data, a differential prediction method is used, which predicts the attribute value of the current point using the attribute values ​​of several known points. The current attribute value is subtracted from the predicted attribute value to obtain the attribute prediction residual, which is then quantized and entropy encoded. However, when predicting the attribute value of the point to be solved / encoded, related technologies only consider the geometric distance between the point to be solved / encoded and its neighboring points. When the attribute values ​​of the neighboring points and the point to be solved / encoded increase or decrease with distance, the prediction residual will be relatively large, resulting in a decrease in compression performance. Summary of the Invention

[0003] The following is an overview of the topics described in detail in this article. This overview is not intended to limit the scope of protection.

[0004] This application provides a point cloud attribute prediction method, device, and storage medium to improve the prediction accuracy of point cloud attributes.

[0005] In a first aspect, embodiments of this application provide a point cloud attribute prediction method, the method comprising the following steps:

[0006] Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points;

[0007] The second attribute prediction value corresponding to the current prediction point is determined based on the first attribute prediction value corresponding to the neighbor prediction point.

[0008] The predicted value of the third attribute corresponding to the current prediction point is determined based on the predicted value of the second attribute.

[0009] Secondly, embodiments of this application provide an electronic device, including:

[0010] At least one processor;

[0011] At least one memory for storing at least one program;

[0012] The point cloud attribute prediction method as described in the first aspect above is implemented when at least one of the programs is executed by at least one of the processors.

[0013] Thirdly, embodiments of this application provide a computer-readable storage medium storing a processor-executable program, which, when executed by a processor, is used to implement the point cloud attribute prediction method described in the first aspect above.

[0014] Fourthly, embodiments of this application provide a computer program product, including a computer program or computer instructions, wherein the computer program or computer instructions are stored in a computer-readable storage medium, a processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, causing the computer device to perform the point cloud attribute prediction method as described in the first aspect above.

[0015] In this embodiment, the neighboring prediction points of the current prediction point and the corresponding first attribute prediction values ​​of the neighboring prediction points are first determined. Then, the attributes of the current prediction point are predicted based on the first attribute prediction values ​​of the neighboring prediction points to obtain the corresponding second attribute prediction value of the current prediction point. Finally, the attribute prediction result of the current prediction point is adjusted based on the second attribute prediction value to obtain the corresponding third attribute prediction value of the current prediction point. Even when the attribute values ​​of the neighboring prediction points and the current prediction point increase or decrease with distance, the solution of this embodiment can still obtain relatively accurate attribute prediction values ​​for the current prediction point, thereby improving the accuracy of the overall attribute prediction of the point cloud. Attached Figure Description

[0016] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.

[0017] Figure 1 This is a schematic diagram of the overall structure of the encoder and decoder of the geometry-based point cloud compression algorithm AVS-PCC framework;

[0018] Figure 2 This is a flowchart illustrating a point cloud attribute prediction method provided in an embodiment of this application;

[0019] Figure 3 This is a flowchart illustrating a point cloud attribute prediction method provided in Example 1 of this application;

[0020] Figure 4 This is a flowchart illustrating a point cloud attribute prediction method provided in Example 2 of this application;

[0021] Figure 5 This is a flowchart illustrating a point cloud attribute prediction method provided in Example 3 of this application;

[0022] Figure 6 This is a flowchart illustrating a point cloud attribute prediction method provided in Example 4 of this application;

[0023] Figure 7 This is a flowchart illustrating a point cloud attribute prediction method provided in Example 5 of this application;

[0024] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0025] The present application will be further described below with reference to the accompanying drawings and specific embodiments. The described embodiments should not be considered as limitations on the present application, and all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of the present application.

[0026] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0027] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0028] A point cloud is a set of discrete points randomly distributed in space, representing the spatial structure and surface properties of a three-dimensional object or scene. In addition to geometric coordinates, points in a point cloud also include additional attributes such as color and reflectivity. After obtaining the spatial coordinates of each sampled point on the surface of an object, a set of points is obtained, called a "point cloud." Point cloud technology can be applied in surveying, automotive, agriculture, urban planning and design, archaeology and cultural relic preservation, medicine, and gaming and entertainment.

[0029] With the increasing maturity of 3D scanning technology and systems, point cloud data based on the 3D coordinate information of actual object surfaces can be acquired and stored quickly and accurately, leading to the widespread application of point cloud data in various image processing fields. Point cloud data can be categorized based on the acquisition method: 1. Point clouds obtained using laser measurement principles, including 3D coordinates (XYZ) and laser reflection intensity; 2. Point clouds obtained using photogrammetry principles, including 3D coordinates (XYZ) and color information (RGB); 3. Point clouds obtained by combining laser measurement and photogrammetry principles, including 3D coordinates (XYZ), laser reflection intensity, and color information (RGB). Regardless of the acquisition method, the amount of point cloud data after scanning will reach millions of bits or even larger. Therefore, encoding and compression algorithms for point cloud data are crucial technologies for reducing the amount of data stored and transmitted.

[0030] In related technologies, point cloud compression algorithms have been systematically studied and can be divided into video-based point cloud coding (V-PCC) and geometry-based point cloud coding (G-PCC). G-PCC is mainly applied to static point clouds (i.e., the object is stationary, and the device acquiring the point cloud is also stationary) and dynamically acquired point clouds (i.e., the device acquiring the point cloud is moving). G-PCC compression methods typically convert point cloud data into geometric and attribute information, and then encode the geometric and attribute information into bitstreams respectively. The geometric information includes point position information or descriptions such as octrees or k-dimensional trees (KD trees) of 3D coordinates, while the attribute information consists of multiple components such as the point's color and reflectivity.

[0031] Attribute information encoding can be mainly divided into three categories: transformation-based methods, mapping-based methods, and prediction-based methods. Transformation-based methods utilize reconstructed geometric information to design attribute information transformations to remove correlations between attributes. Mapping-based methods employ the same projection method as mapping-based geometric encoding methods, and then use video coding techniques to encode the recolored attribute video. Prediction-based methods utilize existing attribute information to predict current attribute information, reducing the encoding cost of the current attribute information.

[0032] Please see Figure 1 The overall structure diagram of the encoder and decoder of the geometry-based point cloud compression algorithm AVS-PCC framework can be shown as follows: Figure 1 As shown. Figure 1 The logical relationships between the modules are presented. In both the encoder and decoder, the geometric position of the point cloud is processed first, followed by the processing of attribute information based on the encoded or decoded geometric position. The compression process for point cloud attribute information in the AVS-PCC framework is roughly as follows: Since the geometric position of the point cloud is reconstructed through coordinate translation, quantization, and octree reconstruction, attribute interpolation and recoloring are required for each point in the point cloud. To further compress the data, differential prediction is used to predict the attribute value of the current point using the attribute values ​​of several known points. The current attribute value is subtracted from the predicted attribute value to obtain the attribute prediction residual. This residual is then quantized and entropy encoded. However, related technologies only consider the geometric distance between the point to be solved / encoded and its neighbors when predicting the attribute values. When the attribute values ​​of the neighboring points and the point to be solved / encoded increase or decrease with distance, if the distance between neighboring points is large, the attribute values ​​will differ significantly, meaning the attribute values ​​will vary greatly. This results in a large prediction residual, leading to lower overall accuracy of point cloud prediction and decreased compression performance.

[0033] In view of this, embodiments of this application provide a point cloud attribute prediction method, device, and storage medium to improve the prediction accuracy of point cloud attributes.

[0034] The point cloud attribute prediction method of this application embodiment can be applied to electronic devices, which can be terminals or servers. In some embodiments, the terminal can be a smartphone, tablet computer, laptop computer, desktop computer, etc.; the server can be configured as an independent physical server, or as a server cluster or distributed system composed of multiple physical servers, or as a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. The point cloud attribute prediction method of this application embodiment can also be software running on the terminal or server. The software can be an application that implements the point cloud attribute prediction method, etc., but is not limited to the above forms.

[0035] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0036] It should be noted that in various specific embodiments of this application, when processing data related to the characteristics of an object (such as a user's attribute information or a set of attribute information) is required, the permission or consent of the corresponding object will be obtained first. Furthermore, the collection, use, and processing of this data will comply with the relevant laws, regulations, and standards of the relevant countries and regions. In addition, when embodiments of this application need to obtain the attribute information of an object, separate permission or consent from the corresponding object will be obtained through pop-ups or redirection to a confirmation page. Only after obtaining the separate permission or consent of the corresponding object will the necessary object-related data for the normal operation of the embodiments of this application be obtained.

[0037] Please see Figure 2 , Figure 2 This is a flowchart illustrating a point cloud attribute prediction method provided in an embodiment of this application. Figure 2 As shown, the point cloud attribute prediction method includes the following steps S110-S130, which are described in turn below:

[0038] Step S110: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0039] Here, the current prediction point represents the point that needs to be attribute-decoded / encoded. During decoding, the point to be predicted is equivalent to the point to be decoded; during encoding, the point to be predicted is equivalent to the point to be encoded.

[0040] For example, neighboring predicted points of the current predicted point can be determined through the following steps S111-S113:

[0041] Step S111: Multiply the z-axis coordinate of the point in the 3D Cartesian coordinates of the geometric solution / encoded point by the spatial bias coefficient θ to convert it into a Hilbert code. Then, reorder the points in the point cloud according to the Hilbert code in ascending order. The sorted points are represented as: P i =(x i y i , z i ), i = 0, ..., num_points-1, where num_points is the number of points in the point cloud slice. Then, the points after Hilbert code reordering are sequentially de-encoded / encoded for attributes.

[0042] It should be noted that, besides reordering points in a point cloud based on Hilbert codes, the 3D Cartesian coordinates of the points obtained from the geometric solution / encoding can also be converted into Morton codes, and then the points in the point cloud can be sorted in ascending order according to the Morton codes. The sorted points are represented as P. i =(x i y i , z i ), i = 0, ..., num_points-1, where num_points is the number of points in the point cloud slice. Then, the points after Morton code reordering are sequentially decoded / encoded for attributes.

[0043] Step S112: Divide the points in the point cloud into multiple groups to be solved / encoded, and then process the points in each group separately; assuming there are L points in the current group to be solved / encoded, and the 0th point in the group is denoted as P. s Current prediction point P i Let L be the nth point in the group, where L>n≥0.

[0044] Step S113: Determine the current prediction point P i The neighbor prediction point.

[0045] In practical implementation, we can first maintain a prediction reference point set, denoted as Sp, with an upper limit of its length equal to the maximum number of selected neighbor points used for prediction (maxNumOfNeighbours). The prediction reference point set Sp contains the reconstructed coordinates and attribute values ​​(i.e., the predicted first attribute value corresponding to each neighbor prediction point) of the neighbor prediction points. The current prediction point P... i The method for determining the neighbor prediction points is as follows:

[0046] 1) If s = 0, no neighbor prediction point lookup is performed, and the preset attribute value is used as the attribute prediction value of the neighbor prediction point; as an example, when it is a color attribute, {128, 128, 128} is used as the attribute prediction value; when it is a reflectivity attribute, {0} is used as the attribute prediction value.

[0047] 2) If s = 1, then P0 is a neighbor prediction point, and the attribute prediction value of P0 is the first attribute prediction value corresponding to the neighbor prediction point;

[0048] 3) If s = 2, then P0 and P1 are neighbor prediction points, and the attribute prediction values ​​of P0 and P1 are the first attribute prediction values ​​corresponding to the neighbor prediction points;

[0049] 4) If maxNumOfNeighbours≥s≥3, then P s-1 P s-2 P s-3 For the neighbor prediction point, P s-1 P s-2 P s-3 The attribute prediction value is the first attribute prediction value corresponding to the neighbor prediction point;

[0050] 5) If s > maxNumOfNeighbours, iterate through the prediction reference point set Sp to find the three points closest to the current prediction point as the current prediction point's neighbor prediction points. If two points are the same distance, the point visited first is selected as the neighbor prediction point. The geometric coordinates are (x...). m ,y m ,z m ) and (x n ,y n ,z n The distance d between two points can be calculated using the following formula (1):

[0051] d=|x m -x n |+|y m -y n |+θ|z m -z n | (1);

[0052] Where θ is the spatial bias coefficient.

[0053] 6) Determine the farthest point. If s ≥ maxNumOfNeighbours, find the distance P within the prediction reference point set Sp [n, maxNumOfNeighbours-1]. i For the farthest point, swap its reconstructed coordinates and reflectance with the nth point in the prediction reference point set Sp.

[0054] It should be noted that the above method for determining the neighboring prediction points of the current prediction point and the corresponding first attribute prediction value of the neighboring prediction points is merely an example. In specific implementation, other methods can also be used to determine the neighboring prediction points of the current prediction point and the corresponding first attribute prediction value of the neighboring prediction points. This application embodiment does not limit this.

[0055] Step S120: Determine the second attribute prediction value corresponding to the current prediction point based on the first attribute prediction value corresponding to the neighbor prediction point.

[0056] Specifically, determining the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction points can be achieved through the following steps S210-S220:

[0057] Step S210: Determine the prediction weight parameters corresponding to the neighbor prediction points;

[0058] Step S220: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point and the prediction weight parameter.

[0059] The prediction weight parameters corresponding to the neighbor prediction points in step S210 can be determined through the following steps S211-S213:

[0060] Step S211: Obtain the initial prediction weight parameters corresponding to the neighbor prediction points;

[0061] The initial prediction weight parameters corresponding to the neighbor prediction points are calculated based on the distance between the current prediction point and the neighbor prediction points. Here, the current prediction point P... i The coordinates are (x i ,y i ,z i ), and predict the current point P i The coordinates of the j-th point among the k neighbor predicted points are (x ij ,y ij ,z ij ) j=1…k Then, the initial prediction weight parameters for point j can be calculated using the following formula (2.1):

[0062]

[0063] Where θ represents the spatial bias coefficient, and the value of θ can be set to 1, thus yielding the following formula:

[0064]

[0065] For example, assuming the number of neighboring predicted points k = 3, the current predicted point P... i The corresponding 3 neighbor prediction points are denoted as P. i1 ,P i2 and P i3 According to the neighbor prediction point P i1 ,P i2 and P i3 Each relative to the current prediction point P iThe geometric distance between them is used to calculate the initial prediction weight parameter w corresponding to each neighbor prediction point. i1 ,w i2 and w i3 .

[0066] Step S212: Calculate the prediction adjustment weight parameter corresponding to the neighbor prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point;

[0067] For example, in step S212, the prediction adjustment weight parameter corresponding to the neighbor prediction point is calculated based on the predicted value of the first attribute corresponding to the neighbor prediction point, which is specifically implemented through the following steps S2121-S2122:

[0068] Step S2121: For the first neighbor prediction point among the neighbor prediction points, determine the prediction adjustment weight parameter of the first neighbor prediction point. The first neighbor prediction point represents the neighbor prediction point with the closest geometric distance to the current prediction point.

[0069] Step S2122: Traverse the second neighbor prediction point among the neighbor prediction points. Based on the sum of the absolute values ​​of the attribute prediction value differences between the currently traversed second neighbor prediction point and the other neighbor prediction points, determine the prediction adjustment weight parameter corresponding to the currently traversed second neighbor prediction point. The second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point.

[0070] It is understandable that in step S2122, the prediction adjustment weight parameter corresponding to the currently traversed second neighbor prediction point is determined based on the sum of the absolute values ​​of the attribute prediction value differences between the currently traversed second neighbor prediction point and the other neighbor prediction points. This includes: comparing the sum of the absolute values ​​of the attribute prediction value differences between the currently traversed second neighbor prediction point and the other neighbor prediction points with a preset second threshold; and determining the prediction adjustment weight parameter corresponding to the currently traversed second neighbor prediction point based on the comparison result.

[0071] It is understandable that the second threshold is a preset value, or is calculated according to predetermined rules, or is obtained from a configuration file, or is carried in the bitstream.

[0072] For example, let's take the current prediction point P... i The corresponding neighbor prediction point P i1 ,P i2 and P i3 The predicted values ​​of the first attribute are respectively and Neighbor prediction point P i1 ,P i2 and P i3 The calculation process for the corresponding prediction adjustment weight parameters may include:

[0073] 1) Predicting from neighboring point P i1 ,P i2 and P i3 Select the current prediction point P i The nearest neighbor predicted point in terms of geometric distance will be compared with the current predicted point P. i The nearest neighbor predicted by geometric distance is called the first neighbor predicted point, and it is assumed that the first neighbor predicted point is P. i1 Set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 11 =a1,F 12 =b1,F 13 =c1; for example, a1=1, b1=0, c1=0;

[0074] 2) Neighbor prediction points other than the first neighbor prediction point are called second neighbor prediction points. These second neighbor prediction points include P. i2 and P i3 Calculate the sum of the absolute values ​​of the differences between the predicted values ​​of the first attribute and the predicted values ​​of the remaining neighboring points for each second neighboring point:

[0075] Calculate the neighbor prediction point P i2 The sum of the absolute values ​​of the differences between the predicted first attribute values ​​and those of the other two neighboring predicted points is:

[0076]

[0077] Calculate the neighbor prediction point P i3 The sum of the absolute values ​​of the differences between the predicted first attribute values ​​and those of the other two neighboring predicted points is:

[0078]

[0079] 3) Determine the relationship between the sum of the absolute values ​​of the differences between the first attribute prediction values ​​corresponding to each second neighbor prediction point and the given second threshold PredParam, and then determine the prediction adjustment weight parameter corresponding to each neighbor prediction point.

[0080] It should be noted that the prediction adjustment weight parameters corresponding to each neighbor prediction point can be a set of preset coefficients, a set of coefficients derived according to preset rules, or a set of positive integer coefficients calculated from the attribute prediction values ​​of the neighbor prediction points.

[0081] It should be noted that PredParam is used to control the threshold for attribute prediction. It can be an unsigned integer or a set of threshold data. In practical use, when the attribute is color, the prediction parameter PredParam can also be represented as colorPredParam to control the threshold for color attribute prediction; when the attribute is reflectance, the prediction parameter PredParam can also be represented as reflPredParam to control the threshold for reflectance attribute prediction.

[0082] The threshold PredParam can be a preset value, or different thresholds can be set for different types of datasets, or different thresholds can be set for different types of point clouds. For example:

[0083] When the neighbor predicts point P i2 Corresponding Res i2 When ≤PredParam, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 21 =a2,F 22 =b2,F 23 =c2; for example, a2=0, b2=1, c2=0;

[0084] When the neighbor predicts point P i2 Corresponding Res i2 When using PredParam, it is also necessary to compare the absolute value of the difference between the predicted values ​​of the first attribute of each neighboring predicted point. When this happens, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 21 =A2,F 22 =B2,F 23 =C2; for example, A2=1, B2=10, C2=5; when When this happens, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 21 =A'2,F 22 =B'2,F 23 =C'2; for example, A'2=5, B'2=10, C'2=1;

[0085] Similarly, when the neighbor predicts point P i3 Corresponding Res i3 When ≤PredParam, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 31 =a3,F 32 =b3,F 33 =c3; for example, a3=0, b3=0, c3=1;

[0086] When the neighbor predicts point P i3 Corresponding Res i3When using PredParam, it is also necessary to compare the absolute value of the difference between the predicted values ​​of the first attribute of each neighboring predicted point. When this happens, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 31 =A3,F 32 =B3,F 33 =C3; for example, A3=1, B3=5, C3=10; when When this happens, set the prediction adjustment weight parameter corresponding to the neighbor prediction point to F. 31 =A'3,F 32 =B'3,F 33 =C'3; for example, A'3=5, B'3=1, C'3=10.

[0087] It is understandable that after obtaining the prediction adjustment weight parameters corresponding to each neighbor prediction point, the prediction adjustment weight parameters corresponding to each neighbor prediction point can be combined into a prediction adjustment weight matrix:

[0088]

[0089] The embodiments of this application can use the above-described prediction adjustment weight matrix to calculate the predicted value of the second attribute corresponding to the current prediction point.

[0090] Step S213: Determine the prediction weight parameters corresponding to the neighbor prediction points based on at least one of the initial prediction weight parameters and the prediction adjustment weight parameters.

[0091] In one possible implementation, the initial prediction weight parameters corresponding to the neighbor prediction points are first calculated based on the geometric distance between the neighbor prediction points and the current prediction point, and then the initial prediction weight parameters are used as the prediction weight parameters corresponding to the neighbor prediction points.

[0092] In another possible implementation, the prediction adjustment weight parameter corresponding to the neighbor prediction point is first calculated based on the first attribute prediction value corresponding to the neighbor prediction point, and the prediction adjustment weight parameter is used as the prediction weight parameter corresponding to the neighbor prediction point.

[0093] In another possible implementation, the initial prediction weight parameter corresponding to the neighbor prediction point is first calculated based on the geometric distance between the neighbor prediction point and the current prediction point, and the prediction adjustment weight parameter corresponding to the neighbor prediction point is calculated based on the first attribute prediction value corresponding to the neighbor prediction point. Then, the prediction weight parameter corresponding to the neighbor prediction point is determined based on the initial prediction weight parameter and the prediction adjustment weight parameter.

[0094] In other words, the prediction weight parameter corresponding to each neighbor prediction point can be the initial prediction weight parameter corresponding to that neighbor prediction point, the prediction adjustment weight parameter corresponding to that neighbor prediction point, or the prediction weight parameter corresponding to that neighbor prediction point determined based on the initial prediction weight parameter and the prediction adjustment weight parameter.

[0095] It is understandable that after obtaining the predicted value of the first attribute and the prediction weight parameter corresponding to the neighboring predicted point, the predicted value of the second attribute corresponding to the current predicted point can be calculated using the predicted value of the first attribute and the prediction weight parameter corresponding to the neighboring predicted point.

[0096] For example, regarding the current prediction point P i Let its neighbor prediction point P be... i1 ,P i2 and P i3 The corresponding predicted values ​​for the first attribute are respectively and Then, based on the neighbor's predicted point P i1 ,P i2 and P i3 The corresponding prediction adjustment weight matrix, then the current prediction point P i Second attribute prediction value It can be represented as:

[0097]

[0098] Furthermore, predict the value of each neighbor point P. i1 ,P i2 and P i3 Calculate the corresponding initial prediction weight parameters for each, denoted as w. i1 ,w i2 and w i3 Then the current prediction point P i Second attribute predicted value It can be represented as:

[0099]

[0100] It is understandable that the current prediction point P i Corresponding second attribute prediction value It can be more generally expressed by the following formula (3):

[0101]

[0102] Where k is the current prediction point P i The number of neighboring predicted points, This represents the predicted value of the first attribute for the j-th point among k neighbor predicted points; This represents the predicted value of the second attribute corresponding to the current prediction point.

[0103] In another possible implementation, the initial prediction weight parameter w ij When all parameters are set to 1, meaning the prediction weight parameters are the same as the prediction adjustment weight parameters, the current prediction point P... i Corresponding second attribute prediction value It can be represented as:

[0104]

[0105] In another possible implementation, the predicted value of the second attribute corresponding to the current prediction point is calculated based on the predicted values ​​of the first attribute of each neighboring prediction point and the initial prediction weight parameter. That is, the initial prediction weight parameter is used as the prediction weight parameter. In this case, the formula for calculating the predicted value of the second attribute can be expressed as:

[0106]

[0107] Where k represents the number of neighboring predicted points. This represents the predicted value of the first attribute for the j-th point among k neighbor predicted points; This represents the predicted value of the second attribute corresponding to the current prediction point.

[0108] It should be noted that after all L points in the current code group have been predicted and reconstructed, the prediction reference point set Sp can be updated through the following steps:

[0109] 1) If maxNumOfNeighbours>s≥0, put the reconstructed coordinates and predicted attributes of the L points in the current uncoded group into the prediction reference point set Sp, and use the current point P as the reference point. i For example, the m-th point is placed in the prediction reference point set Sp, where m is equal to the remainder of i divided by maxNumOfNeighbours.

[0110] 2) If s≥maxNumOfNeighbours, replace the information of the first L points in the prediction reference point set Sp with the coordinate reconstruction values ​​and attribute prediction values ​​of the current group of L points.

[0111] Step S130: Determine the predicted value of the third attribute corresponding to the current prediction point based on the predicted value of the second attribute.

[0112] In one possible implementation, the predicted value of the second attribute is used as the predicted value of the third attribute for the current prediction point. In other words, the predicted value of the third attribute may be directly taken from the predicted value of the second attribute.

[0113] For example, by calculating the initial prediction weight parameters and prediction adjustment weight parameters corresponding to k (k is greater than 1) neighbor prediction points respectively, and then based on formula (3), the second attribute prediction value corresponding to the current prediction point is obtained according to the initial prediction weight parameters and prediction adjustment weight parameters corresponding to each neighbor prediction point, and then the second attribute prediction value is directly used as the third attribute prediction value corresponding to the current prediction point. Here, the third attribute prediction value can be regarded as the final attribute prediction value of the current prediction point.

[0114] In another possible implementation, the predicted value of the third attribute corresponding to the current prediction point is determined based on the predicted value of the second attribute and a preset first threshold.

[0115] For example, by calculating the initial prediction weight parameters and prediction adjustment weight parameters corresponding to the k neighbor prediction points, and then based on formula (3), the second attribute prediction value corresponding to the current prediction point is obtained according to the initial prediction weight parameters and prediction adjustment weight parameters corresponding to each neighbor prediction point. Then, the second attribute prediction value is compared with the preset first threshold, and the second attribute prediction value is adjusted according to the comparison result to obtain the third attribute prediction value.

[0116] For example, the initial prediction weight parameters corresponding to k neighboring prediction points are calculated based on the distance between the current prediction point and the neighboring prediction points. These initial prediction weight parameters are then used as the prediction weight parameters for the corresponding neighboring prediction points. The second attribute prediction value corresponding to the current prediction point is then calculated based on formula (5). The second attribute prediction value is then compared with a preset first threshold, and the second attribute prediction value is adjusted according to the comparison result to obtain the third attribute prediction value.

[0117] It is understandable that the first threshold can be a preset value, or calculated according to predetermined rules, or obtained from a configuration file, or carried in the bitstream.

[0118] Specifically, determining the predicted value of the third attribute corresponding to the current prediction point based on the predicted value of the second attribute and a preset first threshold may include: adjusting the predicted value of the second attribute based on the absolute value of the difference between the predicted values ​​of the first attribute of two neighboring prediction points and the first threshold to obtain the predicted value of the third attribute corresponding to the current prediction point.

[0119] In other words, after calculating the predicted value of the second attribute corresponding to the current prediction point, it is also determined whether the absolute value of the attribute prediction difference between the current prediction point and the neighboring prediction points is greater than a given threshold. If so, the predicted value of the second attribute corresponding to the current prediction point is adjusted to obtain the predicted value of the third attribute corresponding to the current prediction point; otherwise, the predicted value of the second attribute corresponding to the current prediction point is not adjusted, and the predicted value of the second attribute corresponding to the current prediction point is used as the predicted value of the third attribute corresponding to the current prediction point.

[0120] It is understandable that, based on the absolute value of the difference between the predicted values ​​of the first attribute of two neighboring predicted points and a first threshold, the predicted value of the second attribute is adjusted to obtain the predicted value of the third attribute corresponding to the current predicted point, which may include at least one of the following:

[0121] When the absolute value of the difference between the first attribute prediction values ​​of any two neighboring prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point.

[0122] When the absolute value of the difference between the first attribute prediction values ​​of any two second neighbor prediction points other than the first neighbor prediction point is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point. The first neighbor prediction point represents the neighbor prediction point with the closest geometric distance to the current prediction point, and the second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point.

[0123] When the absolute value of the difference between the first attribute prediction values ​​of at least two neighboring prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point.

[0124] When the absolute value of the difference between the first attribute prediction values ​​of at least two second neighbor prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point.

[0125] It is understandable that adjusting the predicted value of the second attribute to obtain the predicted value of the third attribute corresponding to the current prediction point includes: calculating the predicted value of the third attribute corresponding to the current prediction point based on the predicted value of the second attribute, the absolute value of the difference between the predicted values ​​of the first attribute of the first neighbor prediction point and the predicted values ​​of the second neighbor prediction point, and the adjustment parameters. Here, the adjustment parameters are either fixed values ​​or determined based on preset rules. The preset rules may include determining the adjustment parameters based on data type, point cloud type, or attribute quantization parameters.

[0126] The following example illustrates the specific process of adjusting the predicted value of the second attribute corresponding to the current prediction point to obtain the predicted value of the third attribute corresponding to the current prediction point.

[0127] 1) Based on the attribute prediction differences of neighboring prediction points, predict the value of the second attribute corresponding to the current prediction point. Adjustments are made to obtain the adjusted attribute prediction values ​​for the current prediction point. That is, the predicted value of the third attribute.

[0128] Adjusted attribute prediction values ​​for the current prediction point The adjustment calculation method can be exemplified as follows:

[0129]

[0130] Here, adjParam is an adjustable parameter. adjParam can be a preset value, or it can be a different threshold set for different types of datasets, different thresholds set for different judgment conditions, or different thresholds set for different types of point clouds.

[0131] Here is also an example method for calculating adjParam:

[0132] If the attribute quantization parameter QP ≥ 40, adjParam = 32;

[0133] If the attribute quantization parameter 40 > QP ≥ 24, then adjParam = 16;

[0134] If the attribute quantization parameter QP < 24, adjParam = 8;

[0135] When the property is reflectance, the adjustment parameter adjParam can also be represented as refDivParam. As an example, here is a sample method for calculating refDivParam:

[0136]

[0137] It is understandable that the parameters are adjusted to preset values, or calculated according to predetermined rules, or obtained from configuration files, or carried in the bitstream.

[0138] It should be noted that before determining the neighboring predicted points of the current predicted point, the method in this embodiment may further include: segmenting the point cloud data into regions, and determining the corresponding attribute prediction method based on the point cloud attributes in each region. Specifically, the method for segmenting the point cloud data into regions may be based on the features of the points in the point cloud and the initial predicted attributes; this is not limited in detail here. The point cloud data is segmented into regions, each region is encoded and decoded separately, and attribute prediction is performed on the point cloud data in each region. The point cloud data in different regions may be entirely or partially the same, or completely different. Furthermore, different attribute prediction methods can be used for different regions, such as the point cloud attribute prediction methods provided in different embodiments of this application.

[0139] It should be noted that the first threshold, second threshold, or adjustment parameter described in the embodiments of this application can be preset values, that is, both the sending end and the receiving end of the point cloud encoded data have default values, and they are not saved in the point cloud encoded data. Alternatively, they can be encoded into the point cloud encoded data (i.e., the bitstream), and then the sending end sends the encoded data to the receiving end. The receiving end decodes the encoded data to obtain at least one of the first threshold, second threshold, or adjustment parameter.

[0140] The threshold PredParam described in the embodiments of this application will be used as an example for explanation.

[0141] The threshold PredParam can be placed in the sequence header, as shown in Table 1 below.

[0142] Table 1 shows the sequence header containing the threshold PredParam.

[0143] ...... PredParam ue(v) ....... }

[0144] The threshold PredParam can also be placed in the attribute header, as shown in Table 2 below.

[0145] Table 2 Attribute headers include the threshold PredParam

[0146] ...... PredParam ue(v) ....... }

[0147] The threshold PredParam can also be placed in the attribute header, as shown in Table 3 below.

[0148] Table 3 Attributes for intro include thresholds

[0149] slice_id PredParam ue(v) }

[0150] The threshold PredParam can also be placed in the attribute information corresponding to the attribute header, as shown in Table 4 below.

[0151] Table 4 shows the attribute information corresponding to the attribute header, including the threshold PredParam.

[0152]

[0153] In addition, the first threshold, the second threshold, or adjustment parameters can also be transmitted out of band, such as in the auxiliary information (SEI) of the video stream or at the system layer.

[0154] To facilitate understanding, the point cloud attribute prediction method provided in this application will be further illustrated below with specific examples.

[0155] Example 1

[0156] In Example 1, the point cloud attribute prediction method includes the following steps S301-S305:

[0157] Step S301: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0158] The process of determining the neighbor prediction point and the corresponding first attribute prediction value can be referred to the relevant description of step S110 above, and will not be repeated here.

[0159] Step S302: Determine the initial prediction weight parameters corresponding to the neighbor prediction points.

[0160] The process of determining the initial prediction weight parameters can be referred to the relevant description of step S211 above, and will not be repeated here.

[0161] Step S303: Determine the prediction adjustment weight parameters corresponding to the neighbor prediction points.

[0162] The process of determining the prediction adjustment weight parameters can be referred to the relevant description of step S212 above, and will not be repeated here.

[0163] Step S304: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point, the initial prediction weight parameter, and the prediction adjustment weight parameter.

[0164] The predicted value of the second attribute can be calculated by referring to formula (3) above, and will not be repeated here.

[0165] Step S305: Determine the predicted value of the second attribute corresponding to the current prediction point as the predicted value of the third attribute corresponding to the current prediction point.

[0166] In this example, the prediction weight parameters of the neighboring prediction points are determined based on the initial prediction weight parameters and the prediction adjustment weight parameters. Then, the prediction value of the second attribute corresponding to the current prediction point is calculated based on the prediction weight parameters and the prediction value of the first attribute. The prediction value of the second attribute is directly used as the prediction value of the third attribute to obtain the attribute prediction result for the current prediction point.

[0167] Example 2

[0168] In Example 2, the point cloud attribute prediction method includes the following steps S401-S404:

[0169] Step S401: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0170] The process of determining the neighbor prediction point and the corresponding first attribute prediction value can be referred to the relevant description of step S110 above, and will not be repeated here.

[0171] Step S402: Determine the prediction adjustment weight parameters corresponding to the neighbor prediction points.

[0172] The process of determining the prediction adjustment weight parameters can be referred to the relevant description of step S212 above, and will not be repeated here.

[0173] Step S403: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point and the prediction adjustment weight parameter.

[0174] The predicted value of the second attribute can be calculated by referring to formula (4) above, and will not be repeated here.

[0175] Step S404: Determine the predicted value of the second attribute corresponding to the current prediction point as the predicted value of the third attribute corresponding to the current prediction point.

[0176] In this example, the prediction weight parameters of neighboring prediction points are determined based on the prediction adjustment weight parameters. Then, the prediction value of the second attribute corresponding to the current prediction point is calculated based on the prediction weight parameters and the prediction value of the first attribute. The prediction value of the second attribute is directly used as the prediction value of the third attribute to obtain the attribute prediction result for the current prediction point.

[0177] Example 3

[0178] In Example 3, the point cloud attribute prediction method includes the following steps S501-S508:

[0179] Step S501: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0180] The process of determining the neighbor prediction point and the corresponding first attribute prediction value can be referred to the relevant description of step S110 above, and will not be repeated here.

[0181] Step S502: Determine the initial prediction weight parameters corresponding to the neighbor prediction points.

[0182] The process of determining the initial prediction weight parameters can be referred to the relevant description of step S211 above, and will not be repeated here.

[0183] Step S503: Determine the prediction adjustment weight parameters corresponding to the neighbor prediction points.

[0184] The process of determining the prediction adjustment weight parameters can be referred to the relevant description of step S212 above, and will not be repeated here.

[0185] Step S504: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point, the initial prediction weight parameter, and the prediction adjustment weight parameter.

[0186] The predicted value of the second attribute can be calculated by referring to formula (3) above, and will not be repeated here.

[0187] Step S505: Determine whether the preset adjustment conditions are met.

[0188] The adjustment conditions include one of the following:

[0189] The absolute value of the difference between the predicted values ​​of the first attribute of any two neighboring predicted points is greater than the first threshold;

[0190] The absolute value of the difference between the first attribute prediction values ​​of any two second neighbor prediction points other than the first neighbor prediction point is greater than the first threshold. The first neighbor prediction point represents the neighbor prediction point with the closest geometric distance to the current prediction point, and the second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point.

[0191] There exists at least two neighboring predicted points whose absolute difference in the first attribute predicted values ​​is greater than a first threshold.

[0192] There exist at least two second neighbor prediction points where the absolute value of the difference between the predicted values ​​of the first attribute is greater than the first threshold.

[0193] When any of the above adjustment conditions are met, the operation of adjusting the predicted value of the second attribute corresponding to the current prediction point will be performed.

[0194] Step S506: If the adjustment conditions are met, adjust the predicted value of the second attribute corresponding to the current prediction point. Specifically,

[0195] When the adjustment conditions are met, the second attribute value corresponding to the current prediction point can be predicted based on the attribute prediction difference of the neighbor prediction points and the adjustment parameter adjParam. Adjustments are made to obtain the adjusted attribute prediction values ​​for the current prediction point. That is, the predicted value of the third attribute.

[0196] The method for adjusting the attribute prediction values ​​of the current prediction point and the method for determining the adjustment parameters can be referred to the relevant description in step S130 above, and will not be repeated here.

[0197] Step S507: If the adjustment conditions are not met, determine whether the current prediction point is the last point in the traversed point cloud sequence.

[0198] Step S508: If the current prediction point is not the last point in the point cloud sequence, take the next point to be predicted in the point cloud sequence as the current prediction point and return to step S501 to execute the prediction processing flow; if the current prediction point is the last point in the point cloud sequence, then end the process.

[0199] It is understandable that after dividing the point cloud data into regions, a set of points to be predicted is obtained, and after sorting the points to be predicted within the group, a point cloud sequence is obtained.

[0200] After the attribute prediction of the current prediction point is completed, it is determined whether the current prediction point is the last point in the point cloud sequence. If it is, the process ends; otherwise, the attribute prediction process is executed for the next prediction point.

[0201] In this example, the prediction weight parameters of neighboring prediction points are first determined based on the initial prediction weight parameters and the prediction adjustment weight parameters. Then, the prediction value of the second attribute corresponding to the current prediction point is calculated based on the prediction weight parameters and the prediction value of the first attribute. Then, based on the prediction value of the second attribute and the preset adjustment conditions, it is determined whether the attribute prediction value needs to be adjusted. If it is needed, the prediction value of the second attribute is adjusted to obtain the prediction value of the third attribute. If it is not needed, the prediction value of the second attribute is directly used as the prediction value of the third attribute.

[0202] Example 4

[0203] In Example 4, the point cloud attribute prediction method includes the following steps S601-S607:

[0204] Step S601: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0205] The process of determining the neighbor prediction point and the corresponding first attribute prediction value can be referred to the relevant description of step S110 above, and will not be repeated here.

[0206] Step S602: Determine the prediction adjustment weight parameters corresponding to the neighbor prediction points.

[0207] The process of determining the prediction adjustment weight parameters can be referred to the relevant description of step S212 above, and will not be repeated here.

[0208] Step S603: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point and the prediction adjustment weight parameter;

[0209] The predicted value of the second attribute can be calculated by referring to formula (4) above, and will not be repeated here.

[0210] Step S604: Determine whether the preset adjustment conditions are met.

[0211] The adjustment conditions include one of the following:

[0212] The absolute value of the difference between the predicted values ​​of the first attribute of any two neighboring predicted points is greater than the first threshold;

[0213] The absolute value of the difference between the first attribute prediction values ​​of any two second neighbor prediction points other than the first neighbor prediction point is greater than the first threshold. The first neighbor prediction point represents the neighbor prediction point with the closest geometric distance to the current prediction point, and the second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point.

[0214] There exists at least two neighboring predicted points whose absolute difference in the first attribute predicted values ​​is greater than a first threshold.

[0215] There exist at least two second neighbor prediction points where the absolute value of the difference between the predicted values ​​of the first attribute is greater than the first threshold.

[0216] When any of the above adjustment conditions are met, the operation of adjusting the predicted value of the second attribute corresponding to the current prediction point will be performed.

[0217] Step S605: If the adjustment condition is met, adjust the predicted value of the second attribute corresponding to the current prediction point to obtain the predicted value of the third attribute corresponding to the current prediction point.

[0218] When the adjustment conditions are met, the second attribute value corresponding to the current prediction point can be predicted based on the attribute prediction difference of the neighbor prediction points and the adjustment parameter adjParam. Adjustments are made to obtain the adjusted attribute prediction values ​​for the current prediction point. That is, the predicted value of the third attribute.

[0219] The method for adjusting the attribute prediction values ​​of the current prediction point and the method for determining the adjustment parameters can be referred to the relevant description in step S130 above, and will not be repeated here.

[0220] Step S606: If the adjustment conditions are not met, determine whether the current prediction point is the last point in the traversed point cloud sequence;

[0221] Step S607: If the current prediction point is not the last point in the point cloud sequence, take the next point to be predicted in the point cloud sequence as the current prediction point and return to step S601 to execute the prediction processing flow; if the current prediction point is the last point in the point cloud sequence, then end the process.

[0222] It is understandable that after dividing the point cloud data into regions, a set of points to be predicted is obtained, and after sorting the points to be predicted within the group, a point cloud sequence is obtained.

[0223] After the attribute prediction of the current prediction point is completed, it is determined whether the current prediction point is the last point in the point cloud sequence. If it is, the process ends; otherwise, the attribute prediction process is executed for the next prediction point.

[0224] In this example, the prediction weight parameters of neighboring prediction points are first determined based on the prediction adjustment weight parameters; then, the prediction value of the second attribute corresponding to the current prediction point is calculated based on the prediction weight parameters and the prediction value of the first attribute; then, based on the prediction value of the second attribute and the preset adjustment conditions, it is determined whether the attribute prediction value needs to be adjusted. If so, the prediction value of the second attribute is adjusted to obtain the prediction value of the third attribute; if not, the prediction value of the second attribute is directly used as the prediction value of the third attribute.

[0225] Example 5

[0226] In Example 5, the point cloud attribute prediction method includes the following steps S701-S707:

[0227] Step S701: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points.

[0228] The process of determining the neighbor prediction point and the corresponding first attribute prediction value can be referred to the relevant description of step S110 above, and will not be repeated here.

[0229] Step S702: Determine the initial prediction weight parameters corresponding to the neighbor prediction points.

[0230] The process of determining the initial prediction weight parameters can be referred to the relevant description of step S211 above, and will not be repeated here.

[0231] Step S703: Determine the predicted value of the second attribute corresponding to the current prediction point based on the predicted value of the first attribute corresponding to the neighbor prediction point and the initial prediction weight parameter.

[0232] The predicted value of the second attribute can be calculated by referring to formula (5) above, and will not be repeated here.

[0233] Step S704: Determine whether the preset adjustment conditions are met.

[0234] The adjustment conditions include one of the following:

[0235] The absolute value of the difference between the predicted values ​​of the first attribute of any two neighboring predicted points is greater than the first threshold;

[0236] The absolute value of the difference between the first attribute prediction values ​​of any two second neighbor prediction points other than the first neighbor prediction point is greater than the first threshold. The first neighbor prediction point represents the neighbor prediction point with the closest geometric distance to the current prediction point, and the second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point.

[0237] There exists at least two neighboring predicted points whose absolute difference in the first attribute predicted values ​​is greater than a first threshold.

[0238] There exist at least two second neighbor prediction points where the absolute value of the difference between the predicted values ​​of the first attribute is greater than the first threshold.

[0239] When any of the above adjustment conditions are met, the operation of adjusting the predicted value of the second attribute corresponding to the current prediction point will be performed.

[0240] Step S705: If the adjustment condition is met, adjust the predicted value of the second attribute corresponding to the current prediction point to obtain the predicted value of the third attribute corresponding to the current prediction point.

[0241] When the adjustment conditions are met, the second attribute value corresponding to the current prediction point can be predicted based on the attribute prediction difference of the neighbor prediction points and the adjustment parameter adjParam. Adjustments are made to obtain the adjusted attribute prediction values ​​for the current prediction point. That is, the predicted value of the third attribute.

[0242] The method for adjusting the attribute prediction values ​​of the current prediction point and the method for determining the adjustment parameters can be referred to the relevant description in step S130 above, and will not be repeated here.

[0243] Step S706: If the adjustment conditions are not met, determine whether the current predicted point is the last point in the traversed point cloud sequence;

[0244] Step S707: If the current prediction point is not the last point in the point cloud sequence, take the next point to be predicted in the point cloud sequence as the current prediction point and return to step S701 to execute the prediction processing flow; if the current prediction point is the last point in the point cloud sequence, then end the process.

[0245] It is understandable that after dividing the point cloud data into regions, a set of points to be predicted is obtained, and after sorting the points to be predicted within the group, a point cloud sequence is obtained.

[0246] After the attribute prediction of the current prediction point is completed, it is determined whether the current prediction point is the last point in the point cloud sequence. If it is, the process ends; otherwise, the attribute prediction process is executed for the next prediction point.

[0247] In this example, the prediction weight parameters of the neighboring prediction points are first determined based on the initial prediction weight parameters; then, the prediction value of the second attribute corresponding to the current prediction point is calculated based on the prediction weight parameters and the prediction value of the first attribute; then, based on the prediction value of the second attribute and the preset adjustment conditions, it is determined whether the attribute prediction value needs to be adjusted. If so, the prediction value of the second attribute is adjusted to obtain the prediction value of the third attribute; if not, the prediction value of the second attribute is directly used as the prediction value of the third attribute.

[0248] The point cloud attribute prediction method provided in this application can be used on both the encoder and decoder sides. In this application embodiment, the neighboring prediction points of the current prediction point and the corresponding first attribute prediction values ​​of the neighboring prediction points are first determined; then, the attributes of the current prediction point are predicted based on the first attribute prediction values ​​of the neighboring prediction points to obtain a second attribute prediction value corresponding to the current prediction point; finally, the attribute prediction result of the current prediction point is adjusted based on the second attribute prediction value to obtain a third attribute prediction value corresponding to the current prediction point. The solution in this application embodiment can still obtain relatively accurate attribute prediction values ​​for the current prediction point even when the attribute values ​​of the neighboring prediction points and the current prediction point increase or decrease with distance, thereby improving the overall accuracy of point cloud attribute prediction.

[0249] It is further understood that although operations are described in a specific order in the accompanying drawings in the embodiments of this disclosure, this should not be construed as requiring these operations to be performed in the specific order or serial order shown, or requiring all of the shown operations to be performed to obtain the desired result. In certain environments, multitasking and parallel processing may be advantageous.

[0250] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0251] This application also provides an electronic device, such as... Figure 8 As shown, the electronic device 900 includes, but is not limited to:

[0252] At least one processor 910;

[0253] At least one memory 920 is used to store at least one program;

[0254] The point cloud attribute prediction method described in any of the above embodiments is executed when at least one program is executed by at least one processor 910.

[0255] It should be understood that the processor 910 and memory 920 can be connected via a bus or other means.

[0256] It should be understood that the processor 910 can be a Central Processing Unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. Alternatively, the processor 910 can employ one or more integrated circuits to execute relevant programs to implement the technical solutions provided in the embodiments of this application.

[0257] The memory 920, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs, such as the point cloud attribute prediction method executed on the electronic device side as described in any embodiment of this application. The processor 910 implements the above-described point cloud attribute prediction method by running the non-transitory software program and instructions stored in the memory 920.

[0258] The memory 920 may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function. The data storage area may store the point cloud attribute prediction method described above. Furthermore, the memory 920 may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 920 may optionally include memory remotely located relative to the processor 910, which can be connected to the processor 910 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0259] The non-transient software program and instructions required to implement the above-described point cloud attribute prediction method are stored in the memory 920. When executed by one or more processors 910, the point cloud attribute prediction method provided in any embodiment of this application is executed.

[0260] This application also provides a computer-readable storage medium storing a processor-executable program, which, when executed by a processor, is used to implement the point cloud attribute prediction method described in any of the above embodiments.

[0261] The computer storage medium in this application embodiment can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example,, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0262] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which can send, propagate, or transmit programs for use by or in connection with an instruction execution system, apparatus, or device.

[0263] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0264] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—as well as conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0265] This application provides a computer program product that stores program instructions. When the program instructions are executed on a computer, the computer implements the point cloud attribute prediction method as described in any of the above embodiments.

[0266] The foregoing has provided a detailed description of the preferred embodiments of this application. However, this application is not limited to the above-described embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application. All such equivalent modifications or substitutions are included within the scope defined in this application.

Claims

1. A point cloud attribute prediction method, the method comprising the following steps: Determine the neighboring prediction points of the current prediction point and the first attribute prediction value corresponding to the neighboring prediction points; For the first neighbor prediction point among the neighbor prediction points, a prediction adjustment weight parameter for the first neighbor prediction point is determined. The first neighbor prediction point represents the neighbor prediction point that is geometrically closest to the current prediction point. The second neighbor prediction point among the neighbor prediction points is traversed. Based on the comparison result of the sum of the absolute values ​​of the differences between the predicted values ​​of the first attribute between the currently traversed second neighbor prediction point and the other neighbor prediction points and the second threshold, the prediction adjustment weight parameter corresponding to the currently traversed second neighbor prediction point is determined. The second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point. The second attribute prediction value corresponding to the current prediction point is determined based on the first attribute prediction value and prediction weight parameter corresponding to each of the neighbor prediction points, wherein the prediction weight parameter is determined based on the prediction adjustment weight parameter; Based on the absolute value of the difference between the first attribute prediction values ​​of the two neighboring prediction points and a first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point.

2. The method of claim 1, wherein, The method for determining the prediction weight parameters corresponding to the neighbor prediction points includes: The prediction adjustment weight parameter is used as the prediction weight parameter; or, Obtain the initial prediction weight parameters corresponding to the neighbor prediction points, and determine the prediction weight parameters corresponding to the neighbor prediction points based on the initial prediction weight parameters and the prediction adjustment weight parameters.

3. The method of claim 1, wherein, The second threshold is a preset value, or it can be calculated according to a predetermined rule, obtained from a configuration file, or carried in the bitstream.

4. The method according to claim 1, characterized in that, The step of determining the predicted value of the third attribute corresponding to the current prediction point based on the predicted value of the second attribute includes one of the following: The predicted value of the second attribute is used as the predicted value of the third attribute corresponding to the current prediction point; or, The predicted value of the third attribute corresponding to the current prediction point is determined based on the predicted value of the second attribute and the preset first threshold.

5. The method according to claim 1, characterized in that, The step of adjusting the second attribute prediction value based on the absolute value of the difference between the first attribute prediction values ​​of the two neighboring prediction points and the first threshold to obtain the third attribute prediction value corresponding to the current prediction point includes at least one of the following: When the absolute value of the difference between the first attribute prediction values ​​of any two neighbor prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point. When the absolute value of the difference between the first attribute prediction values ​​of any two second neighbor prediction points other than the first neighbor prediction point is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point. The first neighbor prediction point represents the neighbor prediction point that is geometrically closest to the current prediction point, and the second neighbor prediction point represents the neighbor prediction point other than the first neighbor prediction point. When the absolute value of the difference between the first attribute prediction values ​​of at least two neighboring prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point. When the absolute value of the difference between the first attribute prediction values ​​of at least two second neighbor prediction points is greater than the first threshold, the second attribute prediction value is adjusted to obtain the third attribute prediction value corresponding to the current prediction point.

6. The method according to claim 5, characterized in that, The step of adjusting the predicted value of the second attribute to obtain the predicted value of the third attribute corresponding to the current prediction point includes: The third attribute prediction value corresponding to the current prediction point is calculated based on the second attribute prediction value, the absolute value of the difference between the first attribute prediction value of the first neighbor prediction point and the first attribute prediction value of the second neighbor prediction point, and the adjustment parameters.

7. The method according to claim 6, characterized in that, The adjustment parameters are fixed values ​​or determined based on preset rules, wherein the preset rules include determining the adjustment parameters according to data type, point cloud type, or attribute quantization parameters.

8. The method according to claim 6, characterized in that, The adjustment parameters are preset values, or calculated according to predetermined rules, or obtained from a configuration file, or carried in the bitstream.

9. The method according to claim 1, characterized in that, The first threshold is a preset value, or it is calculated according to a predetermined rule, or it is obtained from a configuration file, or it is carried in the bitstream.

10. The method according to claim 1, characterized in that, Before determining the neighboring prediction points of the current prediction point, the method further includes: The point cloud data is segmented into regions, and the corresponding attribute prediction method is determined based on the point cloud attributes in each region.

11. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; The point cloud attribute prediction method as described in any one of claims 1 to 10 is implemented when at least one of the programs is executed by at least one of the processors.

12. A computer-readable storage medium, characterized in that, It stores a processor-executable program, which, when executed by a processor, is used to implement the point cloud attribute prediction method as described in any one of claims 1 to 10.

13. A computer program product, comprising a computer program or computer instructions, characterized in that, The computer program or the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer program or the computer instructions from the computer-readable storage medium and executes the computer program or the computer instructions, causing the computer device to perform the point cloud attribute prediction method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Filter-based point cloud attribute prediction method and device

    CN111242997A

  • Point cloud attribute prediction method and device

    CN113784125A

  • Point cloud compression method and device, electronic equipment and storage medium

    CN114782564A