WO2021023206A1 - 基于邻居权重优化的点云属性预测、编码和解码方法及设备 - Google Patents
基于邻居权重优化的点云属性预测、编码和解码方法及设备 Download PDFInfo
- Publication number
- WO2021023206A1 WO2021023206A1 PCT/CN2020/107021 CN2020107021W WO2021023206A1 WO 2021023206 A1 WO2021023206 A1 WO 2021023206A1 CN 2020107021 W CN2020107021 W CN 2020107021W WO 2021023206 A1 WO2021023206 A1 WO 2021023206A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current point
- point cloud
- point
- attribute
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Definitions
- the invention belongs to the technical field of point cloud processing, and relates to a point cloud attribute compression method, in particular to a point cloud attribute prediction, encoding and decoding method and equipment based on neighbor weight optimization.
- Three-dimensional point cloud is an important form of digital representation of the real world. With the rapid development of 3D scanning equipment (laser, radar, etc.), the accuracy and resolution of point clouds are higher. High-precision point clouds are widely used in the construction of urban digital maps, and play a technical support role in many popular researches such as smart cities, unmanned driving, and cultural relics protection.
- the point cloud is obtained by sampling the surface of an object by a three-dimensional scanning device.
- the number of points in a frame of point cloud is generally in the order of one million. Each point contains geometric information, color, reflectivity and other attribute information, and the amount of data is very large.
- the huge data volume of 3D point clouds brings huge challenges to data storage and transmission, so point cloud compression is very necessary.
- Point cloud compression is mainly divided into geometric compression and attribute compression.
- the test platform TMC13v7 (Test Model for Category 1&3 version 7) provided by the International Standards Organization (Moving Picture Experts Group, MPEG) describes the point cloud attribute compression framework mainly :
- LOD Lifting Transform
- LOD Lifting Transform
- This method first uses the point cloud sorted by Morton code to construct LOD, that is, according to the preset number of LOD levels , Down-sampling the points that have been sorted, and the points obtained after each sampling constitute a layer of LOD, and the sampling distance is from large to small until the entire LOD is constructed. Then find the neighboring points for the points in the point cloud in the order of LOD, and use the weighted average of the attribute values of all neighboring points as the predicted value. The weight of each neighboring point is the Euclidean distance between the current point and the neighboring point of the current point. The reciprocal of the square, and finally subtract the predicted value of the attribute from the actual attribute value of the current point to obtain the attribute residual value.
- Predicting Transform strategy based on LOD The process of constructing LOD in this method is the same as above. After constructing LOD, according to the K-Nearest Neighbor (KNN) algorithm to find at most K nearest neighbors for each point , There are K+1 prediction modes, which are: use the attribute values of the first, second, ..., and K-th nearest neighbors as the prediction reference value, and use the attribute weighted average of the K nearest neighbors The value is used as the prediction reference value, where the weight of each nearest neighbor point is the reciprocal of the square of the geometric coordinate Euclidean distance between the current point and the nearest neighbor point of the current point, and then this K+1 prediction reference value and the corresponding mode calculation rate Distortion optimization (RDO) cost value, the corresponding predicted value of the smallest cost value is used as the predicted value of the current point.
- KNN K-Nearest Neighbor
- the present invention proposes a point cloud attribute prediction, encoding and decoding method and device based on neighbor weight optimization.
- the weight of neighbors optimizes the coefficients of the components of the distance in the coordinate direction, thereby improving the accuracy of point cloud attribute prediction and improving the performance of point cloud attribute coding and decoding.
- the purpose of the present invention is to provide a point cloud attribute prediction method based on neighbor weight optimization.
- Another object of the present invention is to provide a point cloud attribute coding method based on neighbor weight optimization.
- Another object of the present invention is to provide a point cloud attribute decoding method based on neighbor weight optimization.
- Another object of the present invention is to provide a point cloud attribute prediction device based on neighbor weight optimization.
- Another object of the present invention is to provide a point cloud attribute coding device based on neighbor weight optimization.
- Another object of the present invention is to provide a point cloud attribute decoding device based on neighbor weight optimization.
- the first aspect of the present invention provides a point cloud attribute prediction method based on neighbor weight optimization, including: determining K nearest neighbors of a current point; according to the coordinates of the current point and the K nearest neighbors of the current point The coordinates of determine the optimal weights of the K nearest neighbors of the current point; determine the attribute prediction value of the current point according to the optimal weights of the K nearest neighbors of the current point.
- the determining the K nearest neighbors of the current point includes method one or method two, wherein method one: determining the K nearest neighbors of the current point according to the spatial distance from the point in the point cloud to the current point Point; Method 2: Select the first k points of the current point in Morton order as the K nearest neighbors of the current point.
- the determining the optimal weights of the K nearest neighbors of the current point according to the coordinates of the current point and the coordinates of the K nearest neighbors of the current point includes: calculating the K nearest neighbors of the current point and the current point The difference between the neighboring points in the coordinate components; calculate the product of the difference between the current point and the K nearest neighbors of the current point in the coordinate components and the corresponding distance adjustment parameter, as the K of the current point and the current point The weighted difference value of the nearest neighbor points on the coordinate components; according to the weighted difference value of the current point and the K nearest neighbor points of the current point on the coordinate components, the optimal weight of the K nearest neighbor points of the current point is determined.
- the distance adjustment parameter includes: artificial setting; or, optimization setting through rate distortion.
- the distance adjustment parameter includes: setting the corresponding distance adjustment parameter value according to each point cloud data; or, setting the corresponding distance adjustment parameter value according to the type of the point cloud data set; or, according to the point cloud data
- the attribute type sets the corresponding distance adjustment parameter value.
- the distance adjustment parameter includes: changing the value of the distance adjustment parameter, encoding the current point cloud data, calculating the code stream size and distortion value under each distance adjustment parameter value, and determining the point cloud data through rate-distortion optimization Or, change the value of the distance adjustment parameter, encode the current point cloud type data set, calculate the bit stream size and distortion value under each distance adjustment parameter value, and determine the point cloud type through rate-distortion optimization
- the distance adjustment parameter of the data set or, change the value of the distance adjustment parameter, encode the data set of the current point cloud attribute type, calculate the code stream size and distortion value under each distance adjustment parameter value, and determine the value through rate-distortion optimization
- the distance adjustment parameter of the point cloud attribute type data set is changing the value of the distance adjustment parameter, encoding the current point cloud data, calculating the code stream size and distortion value under each distance adjustment parameter value, and determining the point cloud data through rate-distortion optimization
- change the value of the distance adjustment parameter encode the data set of the current point cloud attribute type, calculate the code stream
- determining the optimal weights of the K nearest neighbors of the current point according to the weighted difference between the current point and the K nearest neighbors of the current point on the coordinate components includes method one or two, wherein : Method 1: Calculate the sum of the absolute values of the weighted differences between the current point and the K nearest neighbors of the current point on the coordinate components, as the distance between the current point and the K nearest neighbors of the current point; calculate; The reciprocal of the distance between the current point and the K nearest neighbors of the current point is used as the optimal weight of the K nearest neighbors of the current point; Method 2: Calculate the K nearest neighbors of the current point and the current point The sum of the squares of the weighted differences on the coordinate components is used as the distance between the current point and the K nearest neighbors of the current point; the reciprocal of the distance between the current point and the K nearest neighbors of the current point is calculated as the current The optimized weight of the K nearest neighbors of a point.
- the determining the attribute prediction value of the current point according to the optimized weights of the K nearest neighbors of the current point includes: determining the K nearest neighbors of the current point according to the optimized weights of the K nearest neighbors of the current point The relative weight of neighboring points; according to the relative weights and attribute reconstruction values of the K nearest neighbor points of the current point, the attribute predicted value of the current point is determined.
- a point cloud attribute coding method based on neighbor weight optimization comprises: using a point cloud attribute prediction method based on neighbor weight optimization to determine the attribute prediction value of the current point; The difference between the attribute value of and the attribute predicted value of the current point determines the attribute residual value of the current point; the attribute residual value of the current point is encoded to obtain the point cloud code stream.
- the point cloud attribute encoding method based on neighbor weight optimization further includes: writing the distance adjustment parameter into a header file and encoding it into the point cloud code stream; or, subtracting a fixed value from the distance adjustment parameter and writing it into the header file And encode into the point cloud code stream; or arrange the distance adjustment parameters of each data in a set of data sets to form an encoding parameter array, and calculate the difference between the current parameter and the previous parameter in turn from the second parameter of the encoding parameter array Obtain the difference array, write the first parameter of the encoding parameter array and the difference array into the header file and encode into the point cloud code stream.
- a point cloud attribute decoding method based on neighbor weight optimization comprises: determining the attribute prediction value of the current point by using the point cloud attribute prediction method based on neighbor weight optimization; The cloud code stream is decoded to obtain the attribute residual value of the current point; the attribute reconstruction value of the current point is determined according to the sum of the attribute prediction value of the current point and the attribute residual value of the current point.
- a point cloud attribute decoding method based on neighbor weight optimization further includes: decoding the point cloud code stream, and using the decoded value as the distance adjustment parameter; or decoding the point cloud code stream, and the decoded value The value plus a fixed value is used as the distance adjustment parameter; or, the point cloud code stream is decoded, and the decoded value is formed into a decoding parameter array, and the first parameter of the decoding parameter array is retained. The second parameter starts to calculate the current parameter and the previous parameter in turn to get the distance adjustment parameter array.
- a point cloud attribute prediction device based on neighbor weight optimization is characterized by comprising a processor, a memory, and a communication bus; the memory stores a computer readable program that can be executed by the processor; The communication bus realizes the connection and communication between the processor and the memory; when the processor executes the computer-readable program, the method for predicting the point cloud attribute based on neighbor weight optimization is realized.
- a point cloud attribute coding device optimized based on neighbor weights includes a processor, a memory, and a communication bus; the memory stores a computer readable program that can be executed by the processor; the communication bus implements The connection and communication between the processor and the memory; the processor implements the point cloud attribute coding method based on neighbor weight optimization when the processor executes the computer readable program.
- a point cloud attribute decoding device optimized based on neighbor weights is characterized by comprising a processor, a memory, and a communication bus; the memory stores a computer readable program that can be executed by the processor; The communication bus realizes the connection and communication between the processor and the memory; when the processor executes the computer-readable program, the method for decoding point cloud attributes based on neighbor weight optimization is realized.
- the beneficial effect of the present invention is that when performing attribute prediction for each point, the attribute prediction value of the current point is calculated according to the optimized weights of the K nearest neighbors of the current point, which can make full use of the geometric information of the point cloud and The relevance of attribute information can improve the accuracy of attribute prediction and improve the performance of point cloud attribute coding and decoding.
- FIG. 1 is a schematic flowchart of an embodiment of a point cloud attribute prediction method provided by the present invention
- FIG. 2 is another schematic flowchart of an embodiment of a point cloud attribute prediction method provided by the present invention.
- FIG. 3 is a schematic diagram of still another process of an embodiment of a point cloud attribute prediction method provided by the present invention.
- FIG. 4 is a schematic flowchart of an embodiment of a point cloud attribute coding method provided by the present invention.
- 5A is another schematic flowchart of an embodiment of a point cloud attribute coding method provided by the present invention.
- FIG. 5B is another schematic flowchart of an embodiment of a point cloud attribute encoding method provided by the present invention.
- FIG. 6 is another schematic flowchart of an embodiment of a point cloud attribute encoding method provided by the present invention.
- FIG. 7 is a schematic flowchart of an embodiment of a point cloud attribute decoding method provided by the present invention.
- FIG. 8A is another schematic flowchart of an embodiment of a point cloud attribute decoding method provided by the present invention.
- FIG. 8B is a schematic flowchart of still another embodiment of the point cloud attribute decoding method provided by the present invention.
- FIG. 9 is another schematic flowchart of an embodiment of a point cloud attribute decoding method provided by the present invention.
- Figure 10 is a schematic block diagram of a device according to an embodiment of the present invention.
- FIG. 11A is a performance comparison diagram of the benchmark results of the embodiment and the test platform TMC13v6 under the conditions of lossless geometry and lossy attributes.
- FIG. 11B is a performance comparison diagram of the benchmark results of the embodiment and the test platform TMC13v6 under the condition of lossy geometry and lossy attributes.
- FIG. 12A is a performance comparison diagram between the embodiment of the method of the present invention and the benchmark result of the test platform TMC13v7 under the conditions of lossless geometry and lossy attributes (using the promotion transformation strategy);
- FIG. 12B is a performance comparison diagram between the embodiment of the method of the present invention and the benchmark results of the test platform TMC13v7 under the condition of lossy geometry and lossy attributes (using a lifting transformation strategy);
- Figure 12C is a performance comparison diagram of the embodiment of the method of the present invention and the benchmark results of the test platform TMC13v7 under the condition of lossless geometry and lossless attributes (using predictive transformation strategies);
- FIG. 12D is a performance comparison diagram between the embodiment of the method of the present invention and the benchmark result of the test platform TMC13v7 under the condition of lossless geometry and limited loss attributes (using a predictive transformation strategy).
- the current point’s value is determined according to the optimization weights of the K nearest neighbor points of the current point.
- the attribute prediction value makes better use of the correlation between the geometric information of the point cloud and the attribute information, improves the accuracy of attribute intra prediction, and improves the performance of point cloud attribute encoding and decoding.
- FIG. 1 is a schematic flowchart of an embodiment of a point cloud attribute prediction method provided by the present invention. As shown in FIG. 1, the point cloud attribute prediction method based on neighbor weight optimization provided by the present invention includes the following steps:
- Step S1100 Determine K nearest neighbors of the current point
- Step S1200 Determine the optimized weights of the K nearest neighbor points of the current point according to the coordinates of the current point and the coordinates of the K nearest neighbor points of the current point;
- Step S1300 Determine the attribute prediction value of the current point according to the optimized weights of the K nearest neighbor points of the current point.
- the prediction device determines the K nearest neighbors of the current point according to the distance from the point in the point cloud to the current point, and the weighted difference between the coordinates of the current point and the coordinates of the K nearest neighbors of the current point. The value determines the optimal weights of the K nearest neighbors of the current point, and determines the attribute prediction value of the current point according to the optimal weights of the K nearest neighbors of the current point.
- the prediction device determines the attribute prediction value of the current point by determining the K nearest neighbor points of the current point and calculating the optimized weights of the K nearest neighbor points of the current point. Therefore, in the process of point cloud attribute prediction, the correlation between geometric information and attribute information of the point cloud can be better established, and the accuracy of attribute prediction can be improved.
- the K nearest neighbor points of the current point are determined.
- Determination method 1 Determine the K nearest neighbors of the current point according to the spatial distance from the point in the point cloud to the current point. Specifically, calculate the spatial distances from the current point to the remaining encoded and reconstructed points (including But not limited to Manhattan distance, Euclidean distance, geodesic distance, etc.), select the coded reconstructed points corresponding to the smallest K spatial distances in the spatial distance as the K nearest neighbors of the current point; determination method two : Select the first K points of the current point in the Morton order as the K nearest neighbors of the current point.
- the Morton code of all points in the point cloud is calculated by using geometric information, and the Morton code is in descending order Or sort all the points in the point cloud from small to large to obtain the Morton order, and encode the points in the point cloud according to the Morton order.
- the current point select the current point in the Morton order
- the first K points are the K nearest neighbors of the current point.
- the K is a natural number.
- FIG. 2 is another flowchart of an embodiment of the point cloud attribute prediction method provided by the present invention. As shown in FIG. 2, in step S1200, the coordinates of the current point and the coordinates of the K nearest neighbors of the current point are determined
- the optimized weights of the K nearest neighbors of the current point include:
- Step S1210 Calculate the difference in coordinate components between the current point and the K nearest neighbor points of the current point;
- Step S1220 Calculate the product of the difference in coordinate components between the current point and the K nearest neighbors of the current point and the corresponding distance adjustment parameter as the coordinate component of the current point and the K nearest neighbors of the current point The weighted difference on
- Step S1230 Determine the optimized weights of the K nearest neighbors of the current point according to the weighted difference in the coordinate components of the current point and the K nearest neighbors of the current point.
- the distance adjustment parameter includes: artificial setting; or, optimization setting through rate distortion.
- the distance adjustment parameter includes: setting the corresponding distance adjustment parameter according to each point cloud data; or, setting the corresponding distance adjustment parameter according to the type of the point cloud data set; or, according to the point cloud data set.
- the attribute type of cloud data sets corresponding distance adjustment parameters.
- the distance adjustment parameters ⁇ , ⁇ , and ⁇ in the 3 coordinates x, y, and z directions when calculating the weight of the K nearest neighbors of the current point are determined, including: according to each Set the corresponding distance adjustment parameters for the point cloud data, for example, set the corresponding distance adjustment parameters ⁇ 1 , ⁇ 1 , ⁇ 1 for the point cloud data 1 , and set the corresponding distance adjustment parameters ⁇ 2 , ⁇ for the point cloud data 2 2. ⁇ 2 ; Or, set the corresponding distance adjustment parameters according to the type of point cloud data set, for example, set the corresponding distance adjustment parameters ⁇ 3 , ⁇ 3 , ⁇ for all point cloud data in point cloud data category 1 3.
- the color attribute sets the corresponding distance adjustment parameters ⁇ 5 , ⁇ 5 , and ⁇ 5 , as an example, 1 , 1 , and 2, respectively.
- the distance adjustment parameters ⁇ , ⁇ , and ⁇ may be the same or different.
- the distance adjustment parameter includes: changing the value of the distance adjustment parameter, encoding the current point cloud data, calculating the code stream size and distortion value under each distance adjustment parameter value, and optimizing through rate distortion Determine the distance adjustment parameter of the point cloud data; or change the value of the distance adjustment parameter, encode the data set of the current point cloud type, calculate the code stream size and distortion value under each distance adjustment parameter value, and optimize through rate distortion Determine the distance adjustment parameter of the point cloud type data set; or change the value of the distance adjustment parameter, encode the data set of the current point cloud attribute type, calculate the code stream size and distortion value under each distance adjustment parameter value, and pass Rate-distortion optimization determines the distance adjustment parameters of the point cloud attribute type data set.
- the distance adjustment parameters ⁇ , ⁇ , and ⁇ in the 3 coordinate x, y, and z directions when calculating the optimal weights of the K nearest neighbors of the current point are determined, including: changing the distance Adjust the values of parameters ⁇ , ⁇ , ⁇ , encode the current data, calculate the code stream size and distortion value under each distance adjustment parameter value, and determine the value of the distance adjustment parameters ⁇ , ⁇ , ⁇ of the data through rate-distortion optimization ; Or, change the value of distance adjustment parameters ⁇ , ⁇ , ⁇ , encode all the point cloud data in the data set of the current point cloud type, calculate the code stream size and distortion value under each distance adjustment parameter value, and pass rate distortion Optimize and determine the values of distance adjustment parameters ⁇ , ⁇ , and ⁇ of the data set of the point cloud type; or change the values of distance adjustment parameters ⁇ , ⁇ , and ⁇ to perform all point cloud data in the data set of the current point cloud attribute type Encoding, calculate the code stream size and distortion value
- the optimized weights of the K nearest neighbor points of the current point are determined according to the weighted difference between the current point and the K nearest neighbor points in the coordinate components.
- the determination method one includes: calculating the sum of the absolute value of the weighted difference between the current point and the K nearest neighbor points on the coordinate components as the distance between the current point and the K nearest neighbor points; calculating the current point and The reciprocal of the distance of the K nearest neighbors is used as the optimized weight of the K nearest neighbors of the current point.
- the coordinate components are x, y, z
- the geometric position of the current point is set to (x c , y c , z c )
- the geometric position of each of the K nearest neighbor points Is (x i ,y i ,z i ) i 1, 2,...K , then the optimal weight of each nearest neighbor is Among them, ⁇ , ⁇ , and ⁇ are the distance adjustment parameters in step S1220.
- the second method of determination includes: calculating the sum of the squares of weighted differences between the current point and the K nearest neighbor points on the coordinate components as the distance between the current point and the K nearest neighbor points; calculating the current point and the K nearest neighbor points The reciprocal of the distance of the K nearest neighbors is used as the optimization weight of the K nearest neighbors of the current point.
- ⁇ , ⁇ , and ⁇ are the distance adjustment parameters in step S1220.
- Fig. 3 is a schematic flow diagram of another embodiment of the point cloud attribute prediction method provided by the present invention. As shown in Fig. 3, in step S1300, the attribute of the current point is determined according to the optimized weights of the K nearest neighbor points of the current point Forecast value, including:
- Step S1310 Determine the relative weights of the K nearest neighbors of the current point according to the optimized weights of the K nearest neighbors of the current point;
- Step S1320 Determine the attribute prediction value of the current point according to the relative weights and attribute reconstruction values of the K nearest neighbor points of the current point.
- determining the relative weight of the K nearest neighbors of the current point according to the optimized weights of the K nearest neighbors of the current point includes: The optimization weight of each nearest neighbor point is divided by the sum of the optimization weights of the K nearest neighbor points to obtain the relative weight of the K nearest neighbor points of the current point, then the relative weight of each nearest neighbor point is
- determining the attribute prediction value of the current point according to the relative weights and attribute reconstruction values of the K nearest neighbor points of the current point includes: summing the relative weights of the K nearest neighbor points of the current point The attribute reconstruction values are multiplied in one-to-one correspondence, and the K products are summed to obtain the attribute prediction value of the current point.
- the reconstructed attribute value of each nearest neighbor point is The relative weight of each nearest neighbor is Then the attribute predicted value of the current point is Rounded expression is Among them, Round() means rounding.
- Fig. 4 is a schematic flowchart of an embodiment of a point cloud attribute encoding method provided by the present invention.
- the point cloud attribute encoding method based on neighbor weight optimization disclosed in this embodiment can be executed by an encoding device, such as an encoder, Specifically, the point cloud attribute coding method based on neighbor weight optimization includes the following steps:
- Step S2100 Determine the attribute prediction value of the current point according to the point cloud attribute prediction method optimized based on neighbor weights;
- Step S2200 Determine the attribute residual value of the current point according to the difference between the attribute value of the current point and the attribute predicted value of the current point;
- Step S2300 Encode the attribute residual value of the current point to obtain a point cloud code stream.
- the attribute prediction value of the current point is determined by using neighbor weight optimization; the difference between the original attribute value of the current point and the attribute prediction value is calculated as the attribute residual value of the current point; the attribute of the current point
- the residual value is encoded to obtain the point cloud code stream. Therefore, in the point cloud attribute coding process based on neighbor weight optimization, the correlation between the geometric information and attribute information of the point cloud can be better established, and the accuracy of point cloud attribute prediction can be improved, thereby reducing attribute residuals and code streams. Size to improve the coding performance of point cloud attributes.
- the point cloud attribute coding method based on neighbor weight optimization is executed at the encoding end, and the point cloud attribute coding method based on neighbor weight optimization further includes:
- Step S2400 Encoding the distance adjustment parameter.
- Method 1 Write the distance adjustment parameter into the header file and encode it into the point cloud code stream. Specifically, write the values of ⁇ , ⁇ , and ⁇ into a fixed-digit memory space in the header file, which requires three 8-bits in total 24 bits of storage space, and then encoded into the point cloud code stream;
- Method 2 The distance adjustment parameter minus a fixed value, write the header file and encode into the point cloud code stream, specifically, as an example, the encoding end will ⁇ , ⁇ , ⁇ minus 1 and write the header file and perform entropy encoding. For example, ⁇ , ⁇ , ⁇ are 1, 1, 8 respectively, then write 0, 0, and 7 into the header file and encode into the point cloud code stream.
- Method 3 Arrange the distance adjustment parameters of each data in a set of data sets to form An encoding parameter array, starting from the second parameter of the encoding parameter array, calculate the subtraction of the current parameter and the previous parameter to obtain the difference array, and write the first parameter of the encoding parameter array and the difference array into the header
- the files are encoded together.
- the distance adjustment parameter ⁇ of each data in a set of data sets is 1, 3, 5, 4, 8, 15, 2, 2, and the ones written into the header file are 1, 2, 2, -1, 4, 7, -13, 0.
- step S2400 may be before step S2100, may also be before step S2200, or before step S2300.
- Fig. 5A is another schematic flow chart of an embodiment of a point cloud attribute coding method provided by the present invention: as shown in Fig. 5A, the point cloud attribute coding method of the present invention includes:
- Step S3100 Build LOD. Traverse the points in the PointCloud and add them to their respective LODs.
- the specific construction process is: sort all the points in the point cloud according to the Morton code order, that is, according to the preset LOD layer number, the sorted points are down-sampled, and the points obtained after each sampling constitute a Layer LOD, sampling distance from large to small, until the entire LOD construction is completed, the point cloud after LOD sorting is obtained, expressed as point cloud LOD .
- the point cloud file named Ford_01_vox1mm-0100.ply in the configuration file specifies that the number of LOD layers is 8.
- Step S3200 Find neighbors: determine the K nearest neighbors of the current point, which includes determining the K nearest neighbors of the current point according to the spatial Euclidean distance from the point in the point cloud to the current point. Specifically, according to the order of the points in the point cloud LOD, the entire point cloud space is traversed, and when the current point is processed, K nearest neighbor points (neighbors) are searched for the current point O in the previously processed point set according to the Euclidean distance.
- the configuration file specifies that the number of K neighbors of the point cloud Ford_01_vox1mm-0100.ply is at most 3. Find neighbors in the points before the current point, and use the 3 points with the closest Euclidean distance as the neighbors of the current point.
- the current point is the first point in the point cloud LOD , it has no neighbors; if the current point is the second point in the point cloud LOD , it can find at most one neighbor; the same is true for the third point at most two Neighbors, the fourth point can find at most three neighbors and all subsequent points can find all three neighbors.
- Step S3400 Calculate the attribute prediction value: use the optimized weights of the K nearest neighbor points of the current point to perform weighted summation on the attribute reconstruction values of the K nearest neighbor points, and calculate the attribute prediction value of the current point, including: obtaining The optimized weight and attribute reconstruction value of each of the K nearest neighbors of the current point; the optimized weight of each of the K nearest neighbors of the current point is divided by K The sum of the optimized weights of the two nearest neighbors gives the relative weight of the K nearest neighbors of the current point; the relative weight and attribute reconstruction value of each of the K nearest neighbors of the current point, One-to-one correspondence is multiplied, and the K products are summed to obtain the attribute prediction value of the current point.
- the reconstructed attribute value of each neighbor is The optimized weight of each neighbor is w i , then the attribute prediction value of the current point
- the reconstructed attribute value of each neighbor is The optimized weight of each neighbor is w i , then the attribute prediction value of the current point
- the attribute reconstruction value is obtained through an attribute reconstruction process, including dequantization and/or inverse transformation of the quantized attribute residual value, and summing with the attribute prediction value.
- Step S3500 Generation of the point cloud attribute compression code stream: encoding according to the attribute predicted value of the current point to obtain the point cloud code stream, including: calculating the difference between the attribute value of the current point and the attribute predicted value to determine the current point The residual value of the attribute; the residual value of the attribute is encoded, after transformation, quantization, and entropy coding, the point cloud code stream is obtained.
- the point cloud attribute residual value is calculated, and then the attribute residual value is transformed, quantized and entropy coded to obtain the point cloud attribute code stream, that is, the compressed code stream of the point cloud attribute.
- Fig. 5B is a schematic flow diagram of another embodiment of the point cloud attribute coding method provided by the present invention.
- the point cloud attribute coding method based on neighbor weight optimization disclosed in this embodiment includes:
- Step S4100 Build LOD. Traverse the points in the PointCloud and add them to their respective LODs. The specific construction process is the same as step S3100.
- Step S4200 Find neighbors, and determine K nearest neighbors of the current point.
- Determination method 1 Determine the K nearest neighbors of the current point according to the spatial distance between the point in the point cloud and the current point. Specifically, calculate the spatial distance from the current point to the other encoded points (including but not Limited to Manhattan distance, Euclidean distance, geodesic distance, etc.), select the coded points corresponding to the smallest K spatial distances in the spatial distance as the K nearest neighbors of the current point;
- Method 2 Select Morton order
- the first K points of the current point are regarded as the K nearest neighbors of the current point. Specifically, the Morton code of all points in the point cloud is calculated using geometric information, and the Morton code is from large to small or from small to large. Sort all points in the point cloud to obtain the Morton order, and encode the points in the point cloud according to the Morton order. When coding the current point, select the first K points of the current point in the Morton order, As the K nearest neighbors of the current point.
- Step S4300 Select the distance adjustment parameters ⁇ , ⁇ , and ⁇ when calculating the neighbor weight, and determine the distance adjustment parameters when calculating the weight of the K nearest neighbor points of the current point.
- the distance adjustment parameters ⁇ , ⁇ , and ⁇ in the x, y, and z directions when calculating the weight of the K nearest neighbors of the current point.
- Selection method 1 According to different types of attributes, use specific ⁇ , ⁇ , and ⁇ values for a specific type of attribute. Specifically, for color attributes, use ⁇ , ⁇ , and ⁇ values as 1, 1, 1, and for reflectivity.
- the attribute uses the values of ⁇ , ⁇ , and ⁇ as 1, 1, 3;
- Method 2 Change the values of the parameters ⁇ , ⁇ , and ⁇ , encode the current data set, and calculate the code stream size and sum of each value of ⁇ , ⁇ , and ⁇
- Step S4400 Calculate the optimization weight of the neighbor, and calculate the optimization weight of each nearest neighbor point according to the distance between the K nearest neighbor points of the current point and the current point and the distance adjustment parameter.
- the specific process of calculating the optimal weight of the neighbor is the same as step S3300.
- Step S4500 Calculate the attribute prediction value, use the optimized weights of the K nearest neighbor points of the current point to perform weighted summation on the attribute reconstruction values of the K nearest neighbor points, and calculate the attribute prediction value of the current point.
- the specific process of calculating the attribute predicted value is the same as step S3400.
- Step S4600 Determine the attribute residual value of the current point according to the difference between the attribute value of the current point and the attribute predicted value of the current point; specifically including: calculating the difference between the point cloud original attribute information of the current point and the attribute predicted value The difference value determines the attribute residual value of the current point.
- Step S4700 Encode the prediction residual value of the current point to obtain a point cloud code stream. It specifically includes: transforming, quantizing, and entropy coding the attribute residual value to obtain the final point cloud attribute code stream.
- Step S4800 Encode the distance adjustment parameter into the point cloud code stream: Method 1: Write the values of ⁇ , ⁇ , and ⁇ directly into the header file and perform entropy coding, specifically, write the values of ⁇ , ⁇ , and ⁇ into the header A fixed-digit memory space in the file requires three 8-bit storage spaces with a total of 24 bits, and then entropy encoding; Method 2: Subtract a fixed value from the value of the distance adjustment parameter and write it into the header file and perform entropy encoding Specifically, the encoding end writes ⁇ , ⁇ , and ⁇ into the header file after subtracting 1 and performs entropy encoding.
- Method 3 Arrange the parameter values of each data set in a group of data sets to form a parameter array, and calculate the difference array obtained by subtracting the current parameter and the previous parameter from the second parameter of the array, and then this parameter The first parameter value of the array and the difference array are written into the header file and entropy coded.
- the parameter whose value in the coordinate direction is not 1 is recorded as ⁇ .
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ ;
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ ;
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ .
- Fig. 6 shows still another schematic flow chart of an embodiment of the point cloud attribute coding method provided by the present invention.
- the point cloud attribute coding method based on neighbor weight optimization in this embodiment works in the x and y directions.
- the distance adjustment parameter of is 1, only the distance adjustment parameter in the z direction is considered, including:
- Step S5100 Build LOD. Find neighbors for each point in the point cloud (PointCloud), add them to the corresponding LOD, and determine the K nearest neighbors of the current point according to the geometric information of the point cloud.
- the specific construction process is: sort all the points in the point cloud according to the Morton code order, that is, according to the preset LOD layer number, the sorted points are down-sampled, and the points obtained after each sampling constitute a Layer LOD, sampling distance from large to small, until the entire LOD construction is completed, the point cloud after LOD sorting is obtained, expressed as point cloud LOD .
- Step S5200 Find neighbors, and determine K nearest neighbors of the current point.
- Determination method 1 Determine the K nearest neighbors of the current point according to the spatial distance between the point in the point cloud and the current point. Specifically, calculate the spatial distance from the current point to the other encoded points (including but not Limited to Manhattan distance, Euclidean distance, geodesic distance, etc.), select the coded points corresponding to the smallest K spatial distances in the spatial distance as the K nearest neighbors of the current point;
- Method 2 Select Morton order
- the first K points of the current point are regarded as the K nearest neighbors of the current point. Specifically, the Morton code of all points in the point cloud is calculated using geometric information, and the Morton code is from large to small or from small to large. Sort all points in the point cloud to obtain the Morton order, and encode the points in the point cloud according to the Morton order. When coding the current point, select the first K points of the current point in the Morton order, As the K nearest neighbors of the current point.
- Step S5300 Select the parameter ⁇ of the distance in the z direction when calculating the neighbor weight: that is, the parameter ⁇ of the distance in the z direction when calculating the neighbor weight.
- Selection method 1 According to different types of attributes, a specific value of ⁇ is used for a specific type of attribute, specifically, for example, the value of ⁇ is used for the color attribute, and the value of ⁇ is used for the reflectivity attribute of 3;
- Method 2 Change the parameters The value of ⁇ , encode the current data set, calculate the code stream size and distortion value under each ⁇ value, and determine the ⁇ of the data set through rate-distortion optimization. Specifically, set ⁇ to 16 from 1 to 16.
- Step S5400 Write the parameter ⁇ into the header file:
- Method 1 Write the value of ⁇ directly into the header file and perform entropy encoding. Specifically, write the value of ⁇ into a fixed-digit memory space in the header file. At least 4bit, and then perform entropy encoding;
- Method 2 Subtract a fixed value from the parameter value and write it into the header file and perform entropy encoding. Specifically, the encoding end subtracts 1 from ⁇ and writes it into the header file and performs entropy encoding.
- Method 3 Arrange the parameter values of each data set in a set of data sets to form one Parameter array, starting from the second parameter of the array, calculate the difference array obtained by subtracting the current parameter and the previous parameter in turn, write the first parameter value of the parameter array and the difference array to the header file and perform entropy Encoding, specifically, the ⁇ values used in each data set in a group of data sets are 1, 3, 5, 4, 8, 15, 2, 2, and the values written in the header file are 1, 2, 2, -1 , 4, 7, -13, 0.
- Step S5500 Calculate neighbor weights and attribute prediction values: calculate the weight of each nearest neighbor point according to the distance between the K nearest neighbor points of the current point and the current point and the parameter ⁇ , and weight the reconstructed attribute value of the K nearest neighbor points Sum, calculate the attribute prediction value of the current point. among them:
- the optimal weight of each nearest neighbor of the current point is calculated.
- a point as an example, calculate the difference between the current point and a nearest neighbor of the current point in the three coordinate components of x, y, and z.
- Multiply the corresponding coefficient ⁇ to get the weighted difference between the current point and the nearest neighbor point in the z coordinate direction; for the difference and weighted difference between the current point and the nearest neighbor point in the three coordinate components of x, y, and z Calculate the value of the square value respectively, and then calculate the reciprocal of the sum of the three squared values to obtain the optimized weight of the nearest neighbor point.
- the optimized weight of each neighbor is
- ⁇ is the parameter in the z direction when calculating the optimal weight of each nearest neighbor based on the distance.
- the optimized weights of the K nearest neighbors of the current point to perform a weighted summation of the reconstructed attribute values of the K nearest neighbors to calculate the attribute predicted value of the current point, including: obtaining the K nearest neighbors of the current point The optimized weight of each nearest neighbor point and the attribute reconstruction value of the neighbor; for the optimization weight and attribute reconstruction value of the K nearest neighbor points of the current point, one-to-one correspondence is multiplied, and the K products are summed and divided by K The sum of the optimized weights of the nearest neighbor points, to get the attribute prediction value of the current point.
- the reconstructed attribute value of each neighbor is The optimized weight of each neighbor is w i , then the attribute prediction value of the current point
- Step S5600 Calculate the attribute residual value. Specifically, it includes: calculating the difference between the original attribute information of the point cloud of the current point and the attribute predicted value to determine the attribute residual value of the current point.
- Step S5700 Complete the subsequent coding step of the point cloud attribute residual value to obtain the point cloud code stream. It specifically includes: transforming, quantizing, and entropy coding the attribute residual value to obtain the final point cloud attribute code stream.
- FIG. 7 is a schematic flowchart of an embodiment of a point cloud attribute decoding method provided by the present invention.
- the point cloud attribute decoding method based on neighbor weight optimization disclosed in this embodiment can be executed by a decoding device, such as a decoder, Specifically, the point cloud genus decoding method based on neighbor weight optimization includes the following steps:
- Step S6100 Determine the attribute prediction value of the current point according to the point cloud attribute prediction method optimized based on neighbor weights;
- Step S6200 Decode the point cloud code stream to obtain the attribute residual value of the current point: specifically, perform entropy decoding, inverse quantization, and inverse transformation on the point cloud attribute code stream solution to obtain the attribute residual value of the current point;
- Step S6300 Determine the attribute reconstruction value of the current point according to the sum of the attribute prediction value of the current point and the attribute residual value of the current point.
- the attribute prediction value of the current point is determined by using the optimized weights of neighbors; the point cloud code stream solution is entropy-decoded, inverse quantized, and inverse-transformed to obtain the attribute residual value of the current point; predict the attribute of the current point The value and the attribute residual value of the current point are added and summed to determine the attribute reconstruction value of the current point. Therefore, in the point cloud attribute decoding process based on neighbor weight optimization, the correlation between the geometric information and attribute information of the point cloud can be better established, and the accuracy of attribute prediction can be improved, so that the point cloud can be obtained through a smaller bitstream. Attribute reconstruction value improves the decoding performance of point cloud attributes.
- the point cloud attribute decoding method based on neighbor weight optimization is executed at the decoding end, and the point cloud attribute decoding method based on neighbor weight optimization further includes:
- Step S6400 Perform decoding according to the point cloud code stream to determine the distance adjustment parameter when calculating the nearest neighbor point optimization weight.
- Method 1 Decode the point cloud code stream and use the decoded value as the distance adjustment parameter;
- Method 2 Decode the point cloud code stream and add a fixed value to the decoded value as the distance adjustment parameter;
- Method Three Decode the point cloud code stream, compose a decoded parameter array with the parameter values directly decoded, retain the first parameter value of the array, and calculate the current parameter and the previous one in turn from the second parameter of the decoded parameter array The sum of the parameters is used as the updated current parameter to obtain the distance adjustment parameter array.
- step S6400 is before step S6100.
- FIG. 8A is another schematic flowchart of an embodiment of a point cloud attribute decoding method provided by the present invention: as shown in FIG. 8A, the decoding method of this embodiment includes:
- Step S7100 Build LOD: Traverse the points in the PointCloud and add them to the respective LOD.
- the specific construction process is: sort all the points in the point cloud according to the Morton code order, that is, according to the preset LOD layer number, the sorted points are down-sampled, and the points obtained after each sampling constitute a Layer LOD, sampling distance from large to small, until the entire LOD construction is completed, the point cloud after LOD sorting is obtained, expressed as point cloud LOD . Same as step S3100.
- Step S7200 Find neighbors: determine the K nearest neighbors of the current point, which includes determining the K nearest neighbors of the current point according to the spatial Euclidean distance from the point in the point cloud to the current point. Specifically, according to the order of the points in the point cloud LOD , the entire point cloud space is traversed, and when the current point is processed, K nearest neighbor points (neighbors) are searched for the current point O in the previously processed point set according to the Euclidean distance. Same as step S3200.
- Step S7300 Calculate the optimization weight of the neighbor: According to the coordinates of the current point and the coordinates of the K nearest neighbor points, calculate the optimization weight of each nearest neighbor point of the current point. Same as step S3300.
- Step S7400 Calculating the attribute prediction value: using the optimized weights of the K nearest neighbor points of the current point, weighted summation is performed on the reconstructed attribute values of the K nearest neighbor points, and the attribute prediction value of the current point is calculated. Same as step S3400.
- Step S7500 Calculate the point cloud attribute reconstruction value: decode the point cloud code stream, perform inverse quantization and inverse transformation operations to obtain the attribute residual value of the current point, and add the attribute residual value and the attribute prediction value to obtain the point cloud attribute Reconstruction value.
- Fig. 8B is a schematic flow diagram of another embodiment of a point cloud attribute decoding method provided by the present invention.
- the point cloud attribute decoding method based on neighbor weight optimization includes:
- Step S8100 Build LOD. Traverse the points in the PointCloud and add them to their respective LODs. Same as step S4100.
- Step S8200 Find neighbors and determine K nearest neighbors of the current point, the same as step S4200.
- Step S8300 Decode the point cloud code stream to obtain distance adjustment parameters ⁇ , ⁇ , and ⁇ .
- Method 1 Decode the distance adjustment parameters directly, specifically, directly decode the distance adjustment parameters ⁇ , ⁇ , and ⁇ ;
- Method 2 Add a fixed value to the directly decoded value to obtain the distance adjustment parameters. Specifically, the decoding end will Add 1 to the decoded value to obtain the distance adjustment parameters ⁇ , ⁇ , and ⁇ . If decoded to obtain 0, 0, and 7, then the distance adjustment parameters ⁇ , ⁇ , and ⁇ are respectively equal to 1, 1, and 8, and the decoding obtains 1, 0, 1.
- the distance adjustment parameters ⁇ , ⁇ , and ⁇ are 2, 1, and 2, respectively.
- Step S8400 Calculate optimization weights of neighbors: According to the coordinates of the current point, the coordinates of the K nearest neighbors, and the distance adjustment parameter, calculate the optimization weight of each nearest neighbor of the current point. Same as step S4400.
- Step S8500 Calculate the attribute prediction value, and use the optimized weights of the K nearest neighbor points of the current point to perform a weighted summation on the attribute reconstruction values of the K nearest neighbor points to determine the attribute prediction value of the current point. Same as step S4500;
- Step S8600 Decode the point cloud code stream to obtain the attribute residual value of the current point: specifically, perform entropy decoding, inverse quantization, and inverse transformation on the point cloud attribute code stream solution to obtain the attribute residual value of the current point;
- Step S8700 determines the attribute reconstruction value of the current point according to the sum of the attribute prediction value of the current point and the attribute residual value of the previous point: specifically, the attribute prediction value of the current point and the attribute residual value of the current point are used , Add and sum to determine the reconstruction value of the current point's attributes.
- the parameter whose value in the coordinate direction is not 1 is recorded as ⁇ .
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ ;
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ ;
- the distance adjustment parameter ⁇ is equivalent to the distance adjustment parameter ⁇ .
- Fig. 9 shows another schematic flow chart of an embodiment of a point cloud attribute decoding method provided by the present invention.
- the point cloud attribute coding method based on neighbor weight optimization in this embodiment is in the x and y directions.
- the distance adjustment parameter of is 1, only the distance adjustment parameter in the z direction is considered, including:
- Step S9100 Build LOD. Traverse the points in the PointCloud and add them to their respective LODs. Same as step S5100.
- Step S9200 Find neighbors, and determine K nearest neighbors of the current point according to the point cloud geometric information. Same as step S5200.
- Step S9300 Decode the point cloud code stream, and obtain the distance adjustment parameter ⁇ from the header file: specifically, decode the point cloud attribute code stream, and obtain the parameter ⁇ from the header file.
- Method 1 Directly decode the distance adjustment parameter, specifically, Directly decode to obtain the parameter ⁇ ;
- Method 2 Add a fixed value to the directly decoded parameter value to obtain the distance adjustment parameter. Specifically, the decoding end adds 1 to the decoded value to obtain the parameter ⁇ .
- Method 3 Combine the directly decoded parameter values into a parameter array, keep the first parameter value of the array, and calculate the current parameters sequentially from the second parameter of the array The sum value added to the previous parameter is used as the updated current parameter to obtain the distance adjustment parameter array. Specifically, if the decoded value is 1, 2, 2, -1, 4, 7, -13, 0, the parameter ⁇ is 1, 3, 5, 4, 8, 15, 2, 2.
- Step S9400 Calculate the weight and attribute predicted value of the neighbor: the same as step S5500.
- Step S9500 Decode the point cloud attribute code stream to obtain the attribute residual value of the current point: specifically, perform entropy decoding, inverse quantization, and inverse transformation on the point cloud attribute code stream solution to obtain the attribute residual value of the current point;
- Step S9600 Reconstructing point cloud attributes: Specifically, using the attribute prediction value of the current point and the attribute residual value of the current point, add and sum to determine the reconstruction value of the point cloud attribute of the current point, and reconstruct the point cloud attribute.
- this embodiment provides a computer-readable storage medium, and the computer-readable storage medium stores one or more programs. Or multiple programs may be executed by one or multiple processors to implement the steps in the point cloud attribute information prediction method, encoding method, or decoding method as in the foregoing embodiment.
- the present invention also provides a device, which may be a personal computer, a server, or a network device.
- Fig. 10 is a schematic block diagram of a device provided by the present invention.
- the device for predicting, encoding, or decoding point cloud attribute information optimized based on neighbor weights includes: at least one processor 10100; ) 10200, and bus 10300.
- the processor 10100 and the memory 10200 can communicate with each other through the bus 10300.
- the processor 10100 may call logic instructions in the memory 10200 to execute all or part of the steps of the method in the foregoing embodiment.
- logic instructions in the memory 10200 can be implemented in the form of software functional units, and when sold or used as an independent product, they can be stored in a computer readable storage medium.
- the memory 10200 can be configured to store software programs and computer-executable programs, such as program instructions or modules corresponding to the methods in the embodiments of the present disclosure.
- the processor 10100 executes functional applications and data processing by running software programs, instructions or modules stored in the memory 10200, that is, implements the methods in the foregoing embodiments.
- the memory 10200 may include a program storage area and a data storage area.
- the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the terminal device.
- the memory 10200 may include a high-speed random access memory, and may also include a non-volatile memory.
- U disk mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disks or optical disks and other media that can store program codes, or temporary State storage medium.
- the present invention tests on the third type of data set in the point cloud attribute compression module when calculating the weights of neighbors for distances of x, y, and z.
- the effect of optimizing the coefficients of the component in the direction is shown in Figs. 11A and 11B.
- Figures 11A and 11B are the experimental results applicable to the "LOD-based Lifting Transform".
- the experimental conditions in Figure 11A are lossless geometry and lossy attributes
- the experimental conditions in Figure 113B are lossy geometry and lossy attributes. Attributes.
- Rate-distortion gains of 5.8% and 5.5% are obtained; for color attributes, 0.4% to 1.3% rate-distortion gains are obtained under lossless geometry and lossy conditions, and 1.9 under lossy geometry and lossy attributes are obtained % To 3.0% rate distortion gain.
- Figures 12A-12D are performance comparison diagrams between the embodiment of the method of the present invention and the benchmark results of the test platform TMC13v7, in which Figure 12A is an embodiment of the method of the present invention under the condition of lossless geometry and lossy attributes (using the up-and-down transformation strategy) Performance comparison chart with the benchmark results of the test platform TMC13v7; Figure 12B is a performance comparison chart between the embodiment of the method of the present invention and the benchmark results of the test platform TMC13v7 under the condition of lossy geometry and lossy attributes (using the up-and-down transformation strategy); Figure 12C is a performance comparison diagram between the embodiment of the method of the present invention and the benchmark results of the test platform TMC13v7 under the conditions of lossless geometry and lossless attributes (using predictive transformation strategies); and Figure 12D is a performance comparison diagram of the benchmark results of the test platform TMC13v7 under the conditions of lossless geometry and finite loss attributes (using predictive transformation strategies). Under the prediction transformation strategy), the performance comparison diagram between the embodiment of the method of the present invention and
- the end-to-end rate distortion of the present invention saves 6.65%, 6.28%, and 2.52% respectively; for the brightness properties, in terms of lossless geometry, lossy attribute conditions, lossy geometry, lossy attribute conditions, lossless geometry, limited Under the condition of lossy attributes, the end-to-end rate distortion of the present invention saves 1.65%, 2.14%, and 0.76% respectively; for chromaticity attributes, under lossless geometry, lossy attribute conditions, lossy geometry, lossy attribute conditions, and lossless geometry , Under the condition of limited loss attribute, the end-to-end rate distortion of the present invention can save 2.15%, 3.30%, 0.76% respectively, and under the condition of lossless geometry and lossless attribute, the color code rate of the present invention only needs 99.
- the point cloud attribute prediction method, encoding method, decoding method and equipment provided by the present invention, when performing attribute prediction for each point, calculate the attributes of the current point based on the neighbor's optimization weight
- the predicted value can make full use of the geometric information and attribute information correlation of the point cloud, improve the accuracy of attribute prediction, and improve the performance of point cloud attribute encoding and decoding.
- the present invention is suitable for point cloud attribute prediction equipment, encoding equipment and decoding equipment, which can be personal computers, servers or network equipment.
- point cloud attribute prediction equipment encoding equipment and decoding equipment
- encoding equipment and decoding equipment which can be personal computers, servers or network equipment.
- it can make full use of the geometric information and attribute information correlation of point clouds, improve the accuracy of attribute prediction, and improve the performance of point cloud attribute coding and decoding. .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于邻居权重优化的点云属性预测方法、编码方法和解码方法及其设备,所述点云属性预测方法,包括:确定当前点的K个最近邻点;根据所述当前点的坐标和所述当前点的K个最近邻点的坐标确定所述当前点的K个最近邻点的优化权重;根据所述当前点的K个最近邻点的优化权重确定所述当前点的属性预测值。本发明通过对每个点进行属性预测时,根据当前点的K个最近邻点的优化权重计算当前点的属性预测值,充分利用点云的几何信息和属性信息相关性,增加属性预测的准确性,提高点云属性编码和解码性能。
Description
本发明属于点云处理技术领域,涉及点云属性压缩方法,尤其涉及基于邻居权重优化的点云属性预测、编码和解码方法及设备。
三维点云是现实世界数字化的重要表现形式。随着三维扫描设备(激光、雷达等)的快速发展,点云的精度、分辨率更高。高精度点云广泛应用于城市数字化地图的构建,在如智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来巨大挑战,所以点云压缩十分必要。
点云压缩主要分为几何压缩和属性压缩,目前由国际标准组织(Moving Picture Experts Group,MPEG)所提供的测试平台TMC13v7(Test Model for Category 1&3 version 7)中描述的点云属性压缩框架主要有:
一、基于渐近层次表达(Level of Detail,简称为LOD)的升降变换(Lifting Transform)策略:该方法首先用已按照莫顿码排序的点云构建LOD,即根据预设好的LOD层数,对已经排好序的点进行下采样,每采样一次后已经得到的点构成一层LOD,采样距离由大到小,直至整个LOD构建完成。然后以LOD顺序对点云中的点寻找近邻点,以所有近邻点属性值的加权平均作为预测值,其中每个近邻点的权重是当前点与该当前点的近邻点的几何坐标欧氏距离平方的倒数,最后用当前点的实际属性值减去属性预测值得到属性残差值。
二、基于LOD的预测变换(Predicting Transform)策略:本方法构建LOD的过程同上面,构建完LOD之后,按照K最近邻(K-NearestNeighbor,KNN)算法为每一个点寻找最多K个最近邻点,则共有K+1种预测模式,分别是:以第一个、第二个、……、第K个最近邻点的属性值作为预测参考值,以及以K个最近邻点的属性加权平均值作为预测参考值,其中每个最近邻点的权重是当前点与该当前点的 最近邻点的几何坐标欧氏距离平方的倒数,然后对此K+1个预测参考值及对应模式计算率失真优化(RDO)代价值,将其中最小代价值的对应预测值作为当前点的预测值。
但是,以上相关技术在计算每个最近邻点的权重时只考虑了欧式距离远近,存在欧式距离不能很好表示属性相关性,导致属性预测准确度不高,降低编解码性能。
发明的公开
为了提高点云属性预测的准确性,更好地利用空间位置关系所反映在属性上的相关度,本发明提出一种基于邻居权重优化的点云属性预测、编码和解码方法及设备,在计算邻居的权重时对距离在坐标方向上的分量的系数进行优化,从而提高点云属性预测的准确性,提升点云属性编码和解码性能。
本发明的目的在于提供了一种基于邻居权重优化的点云属性预测方法。
本发明的另一目的在于提供了一种基于邻居权重优化的点云属性编码方法。
本发明的再一目的在于提供了一种基于邻居权重优化的点云属性解码方法。
本发明的还一目的在于提供了一种基于邻居权重优化的点云属性预测设备。
本发明的还一目的在于提供了一种基于邻居权重优化的点云属性编码设备。
本发明的还一目的在于提供了一种基于邻居权重优化的点云属性解码设备。
本发明的发明目的是以如下技术方案实施的,即:
本发明的第一方面,提供了一种基于邻居权重优化的点云属性预测方法,包括:确定当前点的K个最近邻点;根据该当前点的坐标和该当前点的K个最近邻点的坐标确定该当前点的K个最近邻点的优化权重;根据该当前点的K个最近邻点的优化权重确定该当前点的属性预测值。
优选地,该确定当前点的K个最近邻点,包括方法一、或方法二,其中,方法一:根据点云中的点到该当前点的空间距离大小确定该当前点的K个最近邻点;方法二:选择莫顿顺序中该当前点的前k个点作为该当前点的K个最近邻点。
优选地,该根据该当前点的坐标和该当前点的K个最近邻点的坐标确定该当前点的K个最近邻点的优化权重,包括:计算该当前点与该当前点的K个最近邻点在坐标分量上的差值;计算该当前点与该当前点的K个最近邻点在坐标分量上的差值 与相应的距离调整参数的乘积,作为该当前点与该当前点的K个最近邻点在坐标分量上的加权差值;根据该当前点与该当前点的K个最近邻点在坐标分量上的加权差值,确定该当前点的K个最近邻点的优化权重。
优选地,该距离调整参数,包括:人为设定;或者,通过率失真优化设定。
优选地,该距离调整参数,包括:根据每个点云数据设定相应的距离调整参数值;或者,根据点云数据集的种类设定相应的距离调整参数值;或者,根据点云数据的属性种类设定相应的距离调整参数值。
优选地,该距离调整参数,包括:改变距离调整参数的值,对当前点云数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云数据的距离调整参数;或者,改变距离调整参数的值,对当前点云种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云种类数据集的距离调整参数;或者,改变距离调整参数的值,对当前点云属性种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云属性种类数据集的距离调整参数。
优选地,该根据该当前点与该当前点的K个最近邻点在坐标分量上的加权差值,确定该当前点的K个最近邻点的优化权重,包括方法一、或方法二,其中:方法一:计算该当前点与该当前点的K个最近邻点在坐标分量上的加权差值的绝对值的和,作为该当前点与该当前点的K个最近邻点的距离;计算该当前点与该当前点的K个最近邻点的距离的倒数,作为该当前点的K个最近邻点的优化权重;方法二:计算该当前点与该当前点的K个最近邻点在坐标分量上的加权差值的平方和,作为该当前点与该当前点的K个最近邻点的距离;计算该当前点与该当前点的K个最近邻点的距离的倒数,作为该当前点的K个最近邻点的优化权重。
优选地,该根据该当前点的K个最近邻点的优化权重确定该当前点的属性预测值,包括:根据该当前点的K个最近邻点的优化权重,确定该当前点的K个最近邻点的相对权重;根据该当前点的K个最近邻点的相对权重和属性重构值,确定该当前点的属性预测值。
本发明的第二方面,一种基于邻居权重优化的点云属性编码方法,其特征在于,包括:采用基于邻居权重优化的点云属性预测方法确定该当前点的属性预测值;根 据该当前点的属性值与该当前点的属性预测值的差值确定该当前点的属性残差值;对该当前点的属性残差值进行编码,得到点云码流。
优选地,基于邻居权重优化的点云属性编码方法还包括:将该距离调整参数写入头文件并编码进点云码流;或者,将该距离调整参数减去一个固定值后写入头文件并编码进点云码流;或者,排列一组数据集中每个数据的距离调整参数组成一个编码参数数组,从该编码参数数组的第二个参数开始依次计算当前参数与前一参数的差值得到差值数组,将该编码参数数组的第一个参数及该差值数组写入头文件并编码进点云码流。
本发明的第三方面,一种基于邻居权重优化的点云属性解码方法,其特征在于,包括:采用该的基于邻居权重优化的点云属性预测方法确定该当前点的属性预测值;对点云码流进行解码,得到该当前点的属性残差值;根据该当前点的属性预测值与该当前点的属性残差值的和值确定该当前点的属性重构值。
优选地,一种基于邻居权重优化的点云属性解码方法还包括:对点云码流进行解码,将解码出的数值作为该距离调整参数;或者对点云码流进行解码,将解码出的数值加上一个固定值作为该距离调整参数;或者,对点云码流进行解码,将解码出的数值组成一个解码参数数组,保留该解码参数数组的第一个参数,从该解码参数数组的第二个参数开始依次计算当前参数与前一参数相加,得到该距离调整参数数组。
本发明的第四方面,一种基于邻居权重优化的点云属性预测设备,其特征在于,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现该的基于邻居权重优化的点云属性预测方法。
本发明的第五方面,一种基于邻居权重优化的点云属性编码设备,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现该的基于邻居权重优化的点云属性编码方法。
本发明的第六方面,一种基于邻居权重优化的点云属性解码设备,其特征在于,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可 读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现该的基于邻居权重优化的点云属性解码方法。
基于上述技术方案,本发明的有益效果是:对每个点进行属性预测时,根据当前点的K个最近邻点的优化权重计算当前点的属性预测值,能够充分利用点云的几何信息和属性信息相关性,提升属性预测的准确性,提高点云属性编码和解码性能。
图1是本发明提供的点云属性预测方法实施例的流程示意图;
图2是本发明提供的点云属性预测方法实施例的另一流程示意图;
图3是本发明提供的点云属性预测方法实施例的再一流程示意图;
图4是本发明提供的点云属性编码方法实施例的流程示意图;
图5A是本发明提供的点云属性编码方法实施例的另一流程示意图;
图5B是本发明提供的点云属性编码方法实施例的再一流程示意图;
图6是本发明提供的点云属性编码方法实施例的再一流程示意图;
图7是本发明提供的点云属性解码方法实施例的流程示意图;
图8A是本发明提供的点云属性解码方法实施例的另一流程示意图;
图8B是本发明提供的的点云属性解码方法实施例的再一流程示意图;
图9是本发明提供的点云属性解码方法实施例的再一流程示意图;
图10是本发明提供的实施例的设备的示意性框图;
图11A是在无损几何、有损属性条件下,实施例与测试平台TMC13v6的基准结果的性能对比图。
图11B是在有损几何、有损属性条件下,实施例与测试平台TMC13v6的基准结果的性能对比图。
图12A是在无损几何、有损属性条件(采用提升变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图;
图12B是在有损几何、有损属性条件(采用提升变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图;
图12C是在无损几何、无损属性条件(采用预测变换策略)下,本发明方法的 实施例与测试平台TMC13v7的基准结果的性能对比图;
图12D是在无损几何、有限损属性条件(采用预测变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图。
为了更清楚地说明本发明的发明内容,下面结合附图,通过具体实施例对本发明的技术方案进行详细说明。显而易见地,下面描述中的附图仅仅是实施本发明的举例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他实施方式,这些实施例不能以任何限制本发明保护范围的方式来解释。
第一方面的具体实施方式。
本发明的基于邻居权重优化的点云属性预测方法、编码方法和解码方法及其设备,在每个点的属性预测过程中,根据当前点的K个最近邻点的优化权重确定该当前点的属性预测值,更好地利用点云的几何信息和属性信息的相关性,提高属性帧内预测的准确性,提升点云属性编码和解码的性能。
图1所示为本发明提供的点云属性预测方法实施例的流程示意图,如图1所示,本发明提供的基于邻居权重优化的点云属性预测方法包括如下步骤:
步骤S1100:确定当前点的K个最近邻点;
步骤S1200:根据该当前点的坐标和该当前点的K个最近邻点的坐标确定该当前点的K个最近邻点的优化权重;
步骤S1300:根据该当前点的K个最近邻点的优化权重确定该当前点的属性预测值。
具体而言,预测设备根据点云中的点到该当前点的距离大小确定当前点的K个最近邻点,根据该当前点的坐标和该当前点的K个最近邻点的坐标的加权差值确定该当前点的K个最近邻点的优化权重,并根据该当前点的K个最近邻点的优化权重确定该当前点的属性预测值。
因此,本发明实施例的点云属性预测方法,预测设备通过确定当前点的K个最近邻点及计算该当前点的K个最近邻点的优化权重,确定该当前点的属性预测值, 由此,在点云属性预测过程中能够更好地建立点云的几何信息和属性信息的相关性,提高属性预测的准确性。
优选的,在该的步骤S1100中,确定当前点的K个最近邻点。确定方法一:根据点云中的点到该当前点的空间距离大小确定该当前点的K个最近邻点,具体地,依次计算该当前点到其余已经编码重构的点的空间距离(包括但不限于曼哈顿距离、欧式距离、测地线距离等),选择该空间距离中最小的K个空间距离所对应的已编码重构点,作为该当前点的K个最近邻点;确定方法二:选择莫顿顺序中该当前点的前K个点作为该当前点的K个最近邻点,具体地,利用几何信息计算点云中所有点的莫顿码,按照莫顿码由大到小或由小到大对点云中的所有点进行排序得到莫顿顺序,按照该莫顿顺序对点云中的点进行编码,对该当前点编码时,选择该莫顿顺序中该当前点的前K个点,作为该当前点的K个最近邻点。
应理解,在本发明实施例中,该K为自然数。
图2是本发明提供的点云属性预测方法实施例的另一流程示意图,如图2所示,在步骤S1200中,根据该当前点的坐标和该当前点的K个最近邻点的坐标确定该当前点的K个最近邻点的优化权重。包括:
步骤S1210:计算该当前点与该当前点的K个最近邻点在坐标分量上的差值;
步骤S1220:计算该当前点与该当前点的K个最近邻点在坐标分量上的差值与相应的距离调整参数的乘积,作为该当前点与该当前点的K个最近邻点在坐标分量上的加权差值;
步骤S1230:根据该当前点与该当前点的K个最近邻点在坐标分量上的加权差值,确定该当前点的K个最近邻点的优化权重。
应理解,对于三维点云,坐标分量有3个;对于二维点云,坐标分量有2个;对于一维点云,坐标分量有1个;对于N维点云,坐标分量有N个。
优选的,在步骤S1220中,该距离调整参数,包括:人为设定;或者,通过率失真优化设定。
优选的,在步骤S1220中,该距离调整参数,包括:根据每个点云数据设定相应的距离调整参数;或者,根据点云数据集的种类设定相应的距离调整参数;或者,根据点云数据的属性种类设定相应的距离调整参数。
具体而言,对于三维点云,即确定计算该当前点的K个最近邻点的权重时在3个坐标x、y、z方向上的距离调整参数α、β、γ,包括:根据每个点云数据设定相应的距离调整参数,例如,对于点云数据1设定相应的距离调整参数α
1、β
1、γ
1,对于点云数据2设定相应的距离调整参数α
2、β
2、γ
2;或者,根据点云数据集的种类设定相应的距离调整参数,例如,对于点云数据类别1中的所有点云数据设定相应的距离调整参数α
3、β
3、γ
3,对于点云数据类别2中的所有点云数据设定相应的距离调整参数α
4、β
4、γ
4;或者,根据点云数据的属性种类设定相应的距离调整参数,例如,对于颜色属性设定相应的距离调整参数α
5、β
5、γ
5,作为举例,分别为1、1、2,对于反射率属性设定相应的距离调整参数α
6、β
6、γ
6,作为举例,分别为1、1、8。距离调整参数α、β、γ可以相同,也可以不同。
优选的,在步骤S1220中,该距离调整参数,包括:改变距离调整参数的值,对当前点云数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云数据的距离调整参数;或者,改变距离调整参数的值,对当前点云种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云种类数据集的距离调整参数;或者,改变距离调整参数的值,对当前点云属性种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云属性种类数据集的距离调整参数。
具体而言,对于三维点云,即确定计算该当前点的K个最近邻点的优化权重时在3个坐标x、y、z方向上的距离调整参数α、β、γ,包括:改变距离调整参数α、β、γ的值,对当前数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该数据的距离调整参数α、β、γ的值;或者,改变距离调整参数α、β、γ的值,对当前点云种类的数据集中的所有点云数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云种类的数据集的距离调整参数α、β、γ的值;或者,改变距离调整参数α、β、γ的值,对当前点云属性种类的数据集中的所有点云数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云属性种类的数据集的距离调整参数α、β、γ的值。具体地,将α、β、γ分别设定为1到8的8个整数,分别运行计算512种α、β、γ组合得到最终的码流大小B
i=1,2,…512和均方误差(失真值)D
i=1,2,…512,运 用率失真优化,比较O
i=B
i+D
i的大小,选择O
i最小的情况下对应的α
i、β
i、γ
i值作为距离调整参数。
优选的,在步骤S1230中,根据该当前点与该K个最近邻点在坐标分量上的加权差值,确定该当前点的K个最近邻点的优化权重。确定方法一,包括:计算该当前点与该K个最近邻点在坐标分量上的加权差值的绝对值的和,作为该当前点与该K个最近邻点的距离;计算该当前点与该K个最近邻点的距离的倒数,作为该当前点的K个最近邻点的优化权重。具体地,对于三维点云,坐标分量为x、y、z,设定当前点的几何位置是(x
c,y
c,z
c),K个最近邻点中的每个近邻点的几何位置为(x
i,y
i,z
i)
i=1,2,…K,则每个最近邻点的优化权重为
其中α、β、γ是步骤S1220中的距离调整参数。确定的方法二,包括:计算该当前点与该K个最近邻点在坐标分量上的加权差值的平方和,作为该当前点与该K个最近邻点的距离;计算该当前点与该K个最近邻点的距离的倒数,作为该当前点的K个最近邻点的优化权重。具体地,对于三维点云,设定当前点的几何位置是(x
c,y
c,z
c),K个最近邻点中的每个近邻点的几何位置为(x
i,y
i,z
i)
i=1,2,…K,则每个最近邻点的优化权重为
其中α、β、γ是步骤S1220中的距离调整参数。
图3是本发明提供的点云属性预测方法实施例的再一流程示意图,如图3所示,在步骤S1300中,根据该当前点的K个最近邻点的优化权重确定该当前点的属性预测值,包括:
步骤S1310:根据该当前点的K个最近邻点的优化权重,确定该当前点的K个最近邻点的相对权重;
步骤S1320:根据该当前点的K个最近邻点的相对权重和属性重构值,确定该当前点的属性预测值。
具体的,在步骤S1310中,根据该当前点的K个最近邻点的优化权重,确定该当前点的K个最近邻点的相对权重,包括:对于该当前点的K个最近邻点中的每 个最近邻点的优化权重,都除以K个最近邻点的优化权重的和,得到该当前点的K个最近邻点的相对权重,则每个最近邻点的相对权重为
具体的,在步骤S1320中,根据该当前点的K个最近邻点的相对权重和属性重构值确定该当前点的属性预测值,包括:将当前点的K个最近邻点的相对权重和属性重构值一一对应相乘,K个乘积求和,得到当前点的属性预测值。具体的,每个最近邻点的重构后的属性值为
每个最近邻点的相对权重为
则当前点的属性预测值为
取整表达为
其中Round()表示四舍五入取整。
第二方面的具体实施方式。
图4是本发明提供的点云属性编码方法实施例的流程示意图,如图4所示,该实施例所公开的基于邻居权重优化的点云属性编码方法可以由编码设备执行,例如编码器,具体的,该基于邻居权重优化的点云属性编码方法包括如下步骤:
步骤S2100:根据基于邻居权重优化的点云属性预测方法确定该当前点的属性预测值;
步骤S2200:根据该当前点的属性值与该当前点的属性预测值的差值确定该当前点的属性残差值;
步骤S2300:对该当前点的属性残差值进行编码,得到点云码流。
本实施例通过采用邻居权重优化,确定该当前点的属性预测值;计算当前点的原始属性值与属性预测值之间的差值,作为当前点的属性残差值;对该当前点的属性残差值进行编码,得到点云码流。由此,在基于邻居权重优化的点云属性编码过程中能够更好地建立点云的几何信息和属性信息的相关性,提高点云属性预测的准确性,从而减小属性残差及码流大小,提高点云属性的编码性能。
优选的,该基于邻居权重优化的点云属编码方法在编码端执行,基于邻居权重优化的点云属性编码方法还包括:
步骤S2400:将该距离调整参数进行编码。方法一:将该距离调整参数写入头文件并编码进点云码流,具体地,将α、β、γ的值写入头文件中一个固定位数的内 存空间,需要三个8比特共24比特的存储空间,然后编码进点云码流;方法二:将该距离调整参数减去一个固定值后写入头文件并编码进点云码流,具体地,作为举例,编码端将α、β、γ减去1后写入头文件并进行熵编码,如α、β、γ分别为1、1、8,则将0、0、7写入头文件并编码进点云码流,如α、β、γ分别为2、1、2,则将1、0、1写入头文件并编码进点云码流;方法三:排列一组数据集中每个数据的距离调整参数,组成一个编码参数数组,从该编码参数数组的第二个参数开始依次计算当前参数与前一参数相减,得到差值数组,将该编码参数数组的第一个参数及该差值数组写入头文件并编码进,具体地,一组数据集中每个数据的距离调整参数γ为1、3、5、4、8、15、2、2,则写入头文件的为1、2、2、-1、4、7、-13、0。
应理解,在具体实施时,步骤S2400可以在步骤S2100前,也可以在步骤S2200前,或者步骤S2300前。
图5A为本发明提供的点云属性编码方法实施例的另一流程示意图:如图5A所示,本发明的点云属性编码方法包括:
步骤S3100:构建LOD。遍历点云(PointCloud)中的点,将它们分别加入所属LOD中。具体构建过程为:按照莫顿码顺序点云中所有的点进行排序,即根据预设好的LOD层数,对已经排好序的点进行下采样,每采样一次后已经得到的点构成一层LOD,采样距离由大到小,直至整个LOD构建完成,得到LOD排序后的点云,表示为点云
LOD。
作为举例,配置文件中规定名称为Ford_01_vox1mm-0100.ply的点云文件的LOD层数为8。
第一次遍历时,对整个点云进行下采样,构成集合O0,则LOD0=O0,剩余的点被放入R0中;
第二次遍历时,对R0进行下采样得到的点构成集合O1,则LOD1=LOD0∪O1,剩余的点被放入R1中;
……
第七次遍历时,从R5进行下采样得到的点构成集合O6,则LOD6=LOD5∪O6,剩余的点构成O7,LOD7=LOD6∪O7。
这样,就完成了点云Ford_01_vox1mm-0100.ply的8层LOD构建,生成LOD 排序后的点云,表示为点云LOD。
步骤S3200:寻找邻居:确定当前点的K个最近邻点,其包括根据点云中的点到该当前点的空间欧式距离大小确定该当前点的K个最近邻点。具体地,按照点云LOD中点的顺序,遍历整个点云空间,处理当前点时,为当前点O在其之前已处理的点集中根据欧氏距离寻找K个最近邻点(邻居)。
应理解,先构建LOD,再按照点云LOD中点的顺序,遍历整个点云空间,是一种优化实现,使得确定最近邻点时不用每次进行全部点云的搜索,而是在初始遍历点云中的所有点构建LOD后,只需以LOD顺序对点云中的点进行最近邻点搜索,因而搜索时间更短。
作为举例,对于点云LOD中的每个点,配置文件中规定点云Ford_01_vox1mm-0100.ply的K近邻数量最多为3。在当前点之前的点中寻找邻居,以欧氏距离最近的3个点作为当前点的邻居。
如果当前点是点云
LOD中的第一个点,则它没有邻居;如果当前点是点云
LOD中的第二个点,则它最多找到一个邻居;同理第三个点最多找到两个邻居,第四个点最多找到三个邻居及之后的点均能找全三个邻居。
步骤S3300:计算每个邻居的优化权重:根据该当前点的坐标和该K个最近邻点的坐标,计算该当前点的每个最近邻点的优化权重,具体地,设定当前点的几何位置是(x
c,y
c,z
c),K个邻居中的每个邻居的几何位置为(x
i,y
i,z
i)
i=1,2,…K,则每个邻居的权重为
其中α、β、γ是x、y、z三个坐标方向上的系数,即距离调整参数,可以根据数据集本身的特点人为设定。
以一个最近邻点为例,计算该当前点与该最近邻点在x、y、z三个坐标分量上的差值,并分别求平方,得到该当前点与该最近邻点在x、y、z三个坐标分量上的平方差;对于该当前点与该最近邻点在x、y、z三个坐标分量上的平方差,分别乘上相应的系数α、β、γ,得到该当前点与该最近邻点在x、y、z三个坐标分量上的加权平方差,其中α、β、γ均为常数,可以人为修改设定;对于该当前点与该最近邻点在x、y、z三个坐标分量上的加权平方差,三者求和得到该当前点与该最近邻点 的加权距离平方;对于该当前点与该最近邻点的加权距离平方求倒数,得到该最近邻点的优化权重;对于该当前点的所有K个最近邻点求上述的优化权重。
作为举例,引入α、β、γ,计算邻居的优化权重,当前点的几何位置是(x
c,y
c,z
c),三邻居中的每个邻居的几何位置为(x
i,y
i,z
i)
i=1,2,3,人为设定x、y、z三个方向上的系数为α=1、β=1、γ=3,K=3,则每个邻居的优化权重为
步骤S3400:计算属性预测值:利用该当前点的K个最近邻点的优化权重,对K个最近邻点的属性重构值进行加权求和,计算该当前点的属性预测值,包括:获得该当前点的K个最近邻点中的每个最近邻点的优化权重和属性重构值;对于该当前点的K个最近邻点中的每个最近邻点的优化权重,都除以K个最近邻点的优化权重的和,得到该当前点的K个最近邻点的相对权重;对于该当前点的K个最近邻点中的每个最近邻点的相对权重和属性重构值,一一对应相乘,K个乘积再求和,得到该当前点的属性预测值。
具体地,每个邻居的重构后的属性值为
每个邻居的优化权重为w
i,则当前点的属性预测值
作为举例,K=3时,每个邻居的重构后的属性值为
每个邻居的优化权重为w
i,则当前点的属性预测值
其中属性重构值是通过属性重建过程得到,包括对量化后属性残差值反量化、和/或反变换、并与属性预测值求和。
步骤S3500:点云属性压缩码流的生成:根据该当前点的属性预测值进行编码处理得到点云码流,包括:计算该当前点的属性值与属性预测值之间的差值确定当前点的属性残差值;对该属性残差值进行编码,经过变换、量化、熵编码,得到点云码流。
具体地,计算点云属性残差值,然后对属性残差值进行变换、量化和熵编码,得到点云属性码流,即点云属性的压缩码流。
图5B是本发明提供的点云属性编码方法实施例的再一流程示意图,如图5B所示,该实施例公开的基于邻居权重优化的点云属性编码方法包括:
步骤S4100:构建LOD。遍历点云(PointCloud)中的点,将它们分别加入所属LOD中。具体构建过程同步骤S3100。
步骤S4200:寻找邻居,确定当前点的K个最近邻点。确定方法一:根据点云中的点到该当前点的空间距离大小确定该当前点的K个最近邻点,具体地,依次计算所属当前点到其余已经编码的点的空间距离(包括但不限于曼哈顿距离、欧式距离、测地线距离等),选择该空间距离中最小的K个空间距离所对应的已编码点,作为该当前点的K个最近邻点;方法二:选择莫顿顺序中该当前点的前K个点作为该当前点的K个最近邻点,具体地,利用几何信息计算点云中所有点的莫顿码,按照莫顿码由大到小或由小到大对点云中的所有点进行排序得到莫顿顺序,按照该莫顿顺序对点云中的点进行编码,对该当前点编码时,选择该莫顿顺序中该当前点的前K个点,作为该当前点的K个最近邻点。
步骤S4300:选取计算邻居权重时距离调整参数α、β、γ,确定计算该当前点的K个最近邻点权重时的距离调整参数。对于三维点云,即计算该当前点的K个最近邻点的权重时距离在x、y、z方向上的距离调整参数α、β、γ。选取方法一:根据属性的种类不同,对于一类特定的属性采用特定的α、β、γ值,具体地,例如对于颜色属性采用α、β、γ值为1、1、1,对于反射率属性采用α、β、γ值为1、1、3;方法二:改变参数α、β、γ的值,对当前数据集进行编码,计算每个α、β、γ值下的码流大小和失真值,通过率失真优化确定该数据集的α、β、γ,具体地,例如,将α、β、γ设定为1到8的8个整数,分别运行计算512种α、β、γ组合得到最终的码流大小B
i=1,2,…512和均方误差(失真值)D
i=1,2,…512,运用率失真优化,比较O
i=B
i+D
i的大小,选择O
i最小的情况下对应的α
i、β
i、γ
i值作为距离调整参数。
步骤S4400:计算邻居的优化权重,根据该当前点的K个最近邻点和当前点的距离以及该距离调整参数计算每个最近邻点的优化权重。计算邻居的优化权重具体过程同步骤S3300。
步骤S4500:计算属性预测值,利用该当前点的K个最近邻点的优化权重,对K个最近邻点的属性重构值进行加权求和,计算该当前点的属性预测值。计算属性预测值具体过程同步骤S3400。
步骤S4600:根据该当前点的属性值与该当前点的属性预测值的差值确定该当前点的属性残差值;具体包括:计算当前点的点云原始属性信息与属性预测值之间的差值确定当前点的属性残差值。
步骤S4700:对该当前点的预测残差值进行编码,得到点云码流。具体包括:对属性残差值进行变换、量化、熵编码,得到最终的点云属性码流。
步骤S4800:将该距离调整参数编码进点云码流:方法一:直接将α、β、γ的值写入头文件并进行熵编码,具体地,将α、β、γ的值写入头文件中一个固定位数的内存空间,需要三个8比特共24比特的存储空间,然后进行熵编码;方法二:将距离调整参数的值减去一个固定值后写入头文件并进行熵编码,具体地,编码端将α、β、γ减去1后写入头文件并进行熵编码,如α、β、γ等于1、1、8则将0、0、7写入头文件并进行熵编码,α、β、γ等于2、1、2则将1、0、1写入头文件并进行熵编码。方法三:排列一组数据集中每个数据集的该参数值,组成一个参数数组,从该数组的第二个参数开始依次计算当前参数与前一参数相减得到的差值数组,将该参数数组的第一个参数值及该差值数组写入头文件并进行熵编码。
在另外的实施例中,当距离调整参数只在一个坐标方向上的值不为1同时其它坐标方向上的值均为1时,将坐标方向上的值不为1的参数记为θ。例如,在x和y坐标方向上的距离调整参数为1时,即α=β=1时,只考虑z坐标方向上的距离调整参数γ,此时距离调整参数θ等同于距离调整参数γ;在x和z坐标方向上的距离调整参数为1时,即α=γ=1时,只考虑y坐标方向上的距离调整参数β,此时距离调整参数θ等同于距离调整参数β;在y和z坐标方向上的距离调整参数为1时,即β=γ=1时,只考虑x坐标方向上的距离调整参数α,此时距离调整参数θ等同于距离调整参数α。
图6示出了本发明提供的点云属性编码方法实施例的再一流程示意图,如图6所示,该实施例中的基于邻居权重优化的点云属性编码方法,在x和y方向上的距离调整参数为1时,只考虑z方向上的距离调整参数,包括:
步骤S5100:构建LOD。对其中的每个点寻找邻居遍历点云(PointCloud)中的点,将它们分别加入所属LOD中,根据点云几何信息确定当前点的K个最近邻点。具体构建过程为:按照莫顿码顺序点云中所有的点进行排序,即根据预设好的 LOD层数,对已经排好序的点进行下采样,每采样一次后已经得到的点构成一层LOD,采样距离由大到小,直至整个LOD构建完成,得到LOD排序后的点云,表示为点云
LOD。
步骤S5200:寻找邻居,确定当前点的K个最近邻点。确定方法一:根据点云中的点到该当前点的空间距离大小确定该当前点的K个最近邻点,具体地,依次计算所属当前点到其余已经编码的点的空间距离(包括但不限于曼哈顿距离、欧式距离、测地线距离等),选择该空间距离中最小的K个空间距离所对应的已编码点,作为该当前点的K个最近邻点;方法二:选择莫顿顺序中该当前点的前K个点作为该当前点的K个最近邻点,具体地,利用几何信息计算点云中所有点的莫顿码,按照莫顿码由大到小或由小到大对点云中的所有点进行排序得到莫顿顺序,按照该莫顿顺序对点云中的点进行编码,对该当前点编码时,选择该莫顿顺序中该当前点的前K个点,作为该当前点的K个最近邻点。
步骤S5300:选取计算邻居权重时距离在z方向上的参数θ:即计算邻居权重时距离在z方向上的参数θ。选取方法一:根据属性的种类不同,对于一类特定的属性采用特定的θ值,具体地,例如对于颜色属性采用θ值为1,对于反射率属性采用θ值为3;方法二:改变参数θ的值,对当前数据集进行编码,计算每个θ值下的码流大小和失真值,通过率失真优化确定该数据集的θ,具体地,将θ设定为1到16的16个整数,分别运行计算得到最终的码流大小B
i=1,2,…16和均方误差(失真值)D
i=1,2,…16,运用率失真优化,比较O
i=B
i+D
i的大小,选择O
i最小的情况下对应的θ
i值作为参数θ。
步骤S5400:将参数θ写入头文件:方法一:直接将θ的值写入头文件并进行熵编码,具体地,将θ的值写入头文件中一个固定位数的内存空间,至少需要4bit,然后进行熵编码;方法二:将该参数的值减去一个固定值后写入头文件并进行熵编码,具体地,编码端将θ减去1后写入头文件并进行熵编码,如θ等于1则将0写入头文件并进行熵编码,θ等于10则将9写入头文件并进行熵编码;方法三:排列一组数据集中每个数据集的该参数值,组成一个参数数组,从该数组的第二个参数开始依次计算当前参数与前一参数相减得到的差值数组,将该参数数组的第一个参数值及该差值数组写入头文件并进行熵编码,具体地,一组数据集中每个数据集分 别采用的θ值为1、3、5、4、8、15、2、2,则写入头文件的为1、2、2、-1、4、7、-13、0。
步骤S5500:计算邻居权重和属性预测值:根据当前点的K个最近邻点和当前点的距离以及参数θ计算每个最近邻点的权重,对K个最近邻点的重构属性值进行加权求和,计算当前点的属性预测值。其中:
根据当前点的坐标和K个最近邻点的坐标,计算当前点的每个最近邻点的优化权重。以一个点为例,计算当前点与当前点的某个最近邻点在x、y、z三个坐标分量上的差值,对于当前点与该最近邻点在z坐标方向上的差值,乘上相应的系数θ,得到当前点与该最近邻点在z坐标方向上的加权差值;对于当前点与该最近邻点在x、y、z三个坐标分量上的差值和加权差值,分别求平方值,再对三个平方值的和求倒数,得到该最近邻点的优化权重,对K个最近邻点重复上述操作,得到对应的优化权重。具体地,设定当前点的几何位置是(x
c,y
c,z
c),K个邻居中的每个邻居的几何位置为(x
i,y
i,z
i)
i=1,2,…K,则每个邻居的优化权重为
其中θ是根据距离计算每个最近邻点的优化权重时距离在z方向上的参数。
利用当前点的K个最近邻点的优化权重,对K个最近邻点的重构属性值进行加权求和,计算当前点的属性预测值,包括:获得当前点的K个最近邻点中的每个最近邻点的优化权重和邻居的属性重构值;对于当前点的K个最近邻点的优化权重和属性重构值,一一对应相乘,K个乘积求和再除以K个最近邻点的优化权重的和,得到当前点的属性预测值。具体地,每个邻居的重构后的属性值为
每个邻居的优化权重为w
i,则当前点的属性预测值
步骤S5600:计算属性残差值。具体包括:计算当前点的点云原始属性信息与属性预测值之间的差值确定当前点的属性残差值。
步骤S5700:完成对点云属性残差值的后续编码步骤,得到点云码流。具体包括:对属性残差值进行变换、量化、熵编码,得到最终的点云属性码流。
第三方面的具体实施方式。
图7是本发明提供的点云属性解码方法实施例的流程示意图,如图7所示,该实施例所公开的基于邻居权重优化的点云属性解码方法可以由解码设备执行,例如解码器,具体地,该基于邻居权重优化的点云属解码方法包括如下步骤:
步骤S6100:根据基于邻居权重优化的点云属性预测方法确定该当前点的属性预测值;
步骤S6200:对点云码流进行解码,得到当前点的属性残差值:具体地,对点云属性码流解进行熵解码、反量化、反变换,得到当前点的属性残差值;
步骤S6300:根据该当前点的属性预测值与该当前点的属性残差值的和值确定该当前点的属性重构值。
本实施例通过采用邻居的优化权重,确定该当前点的属性预测值;对点云码流解进行熵解码、反量化、反变换,得到当前点的属性残差值;根据当前点的属性预测值和当前点的属性残差值,相加求和,确定当前点的属性重构值。由此,在基于邻居权重优化的点云属性解码过程中能够更好地建立点云的几何信息和属性信息的相关性,提高属性预测的准确性,从而通过较小的码流得到点云的属性重构值,提高点云属性的解码性能。
优选的,该基于邻居权重优化的点云属解码方法在解码端执行,基于邻居权重优化的点云属性解码方法还包括:
步骤S6400:根据点云码流进行解码确定计算该最近邻点优化权重时的距离调整参数。方法一:对点云码流进行解码,将解码出的数值作为该距离调整参数;方法二:对点云码流进行解码,将解码出的数值加上一个固定值作为该距离调整参数;方法三:对点云码流进行解码,将直接解码出的参数值,组成一个解码参数数组,保留数组的第一个参数值,从解码参数数组的第二个参数开始依次计算当前参数与前一参数相加的和值作为更新的当前参数,得到距离调整参数数组。
应理解,步骤S6400在步骤S6100前。
图8A所示为本发明提供的点云属性解码方法实施例的另一流程示意图:如图8A所示,该实施例的解码方法包括:
步骤S7100:构建LOD:遍历点云(PointCloud)中的点,将它们分别加入所属LOD中。具体构建过程为:按照莫顿码顺序点云中所有的点进行排序,即根据预 设好的LOD层数,对已经排好序的点进行下采样,每采样一次后已经得到的点构成一层LOD,采样距离由大到小,直至整个LOD构建完成,得到LOD排序后的点云,表示为点云
LOD。同步骤S3100。
步骤S7200:寻找邻居:确定当前点的K个最近邻点,其包括根据点云中的点到该当前点的空间欧式距离大小确定该当前点的K个最近邻点。具体地,按照点云
LOD中点的顺序,遍历整个点云空间,处理当前点时,为当前点O在其之前已处理的点集中根据欧氏距离寻找K个最近邻点(邻居)。同步骤S3200。
步骤S7300:计算邻居的优化权重:根据该当前点的坐标和该K个最近邻点的坐标,计算该当前点的每个最近邻点的优化权重。同步骤S3300。
步骤S7400:计算属性预测值:利用该当前点的K个最近邻点的优化权重,对K个最近邻点的重构属性值进行加权求和,计算该当前点的属性预测值。同步骤S3400。
步骤S7500:计算点云属性重构值:解码点云码流,进行反量化、反变换操作,得到当前点的属性残差值,将属性残差值与属性预测值相加,得到点云属性重构值。
图8B是本发明提供的点云属性解码方法实施例的再一流程示意图,如图8B所示,在该实施例中,该基于邻居权重优化的点云属解码方法包括:
步骤S8100:构建LOD。遍历点云(PointCloud)中的点,将它们分别加入所属LOD中。同步骤S4100。
步骤S8200:寻找邻居,确定当前点的K个最近邻点,同步骤S4200。
步骤S8300:对点云码流进行解码得到距离调整参数α、β、γ。方法一:直接解码出距离调整参数,具体地,直接解码得到距离调整参数α、β、γ;方法二:将直接解码出的数值加上一个固定值得到距离调整参数,具体地,解码端将解码得到的数值加上1后得到距离调整参数α、β、γ,如解码得到0、0、7,则距离调整参数α、β、γ分别等于1、1、8,解码得到1、0、1,则距离调整参数α、β、γ分别为为2、1、2。
步骤S8400:计算邻居的优化权重:根据该当前点的坐标和该K个最近邻点的坐标及该距离调整参数,计算该当前点的每个最近邻点的优化权重。同步骤S4400。
步骤S8500:计算属性预测值,利用该当前点的K个最近邻点的优化权重,对 K个最近邻点的属性重构值进行加权求和,确定该当前点的属性预测值。同步骤S4500;
步骤S8600:对点云码流进行解码,得到当前点的属性残差值:具体地,对点云属性码流解进行熵解码、反量化、反变换,得到当前点的属性残差值;
步骤S8700据该当前点的属性预测值与该前点的属性残差值的和值确定该当前点的属性重构值:具体地,利用当前点的属性预测值和当前点的属性残差值,相加求和确定当前点的属性重构值。
在另外的实施例中,当距离调整参数只在一个坐标方向上的值不为1同时其它坐标方向上的值均为1时,将坐标方向上的值不为1的参数记为θ。例如,在x和y坐标方向上的距离调整参数为1时,即α=β=1时,只考虑z坐标方向上的距离调整参数γ,此时距离调整参数θ等同于距离调整参数γ;在x和z坐标方向上的距离调整参数为1时,即α=γ=1时,只考虑y坐标方向上的距离调整参数β,此时距离调整参数θ等同于距离调整参数β;在y和z坐标方向上的距离调整参数为1时,即β=γ=1时,只考虑x坐标方向上的距离调整参数α,此时距离调整参数θ等同于距离调整参数α。
图9示出了本发明提供的点云属性解码方法实施例的再一流程示意图,如图9所示,该实施例中的基于邻居权重优化的点云属性编码方法,在x和y方向上的距离调整参数为1时,只考虑z方向上的距离调整参数,包括:
步骤S9100:构建LOD。遍历点云(PointCloud)中的点,将它们分别加入所属LOD中。同步骤S5100。
步骤S9200:寻找邻居,根据点云几何信息确定当前点的K个最近邻点。同步骤S5200。
步骤S9300:对点云码流进行解码,由头文件得到距离调整参数θ:具体地,对点云属性码流进行解码,由头文件得到参数θ,方法一:直接解码出距离调整参数,具体地,直接解码得到参数θ;方法二:将直接解码出的参数值加上一个固定值得到距离调整参数,具体地,解码端将解码得到的数值加上1后得到参数θ,如解码得到0则参数θ等于1,解码得到9则参数θ为10;方法三:将直接解码出的参数值,组成一个参数数组,保留数组的第一个参数值,从数组的第二个参数开始依次 计算当前参数与前一参数相加的和值作为更新的当前参数,得到距离调整参数数组,具体地,如解码出的值为1、2、2、-1、4、7、-13、0,则参数θ为1、3、5、4、8、15、2、2。
步骤S9400:计算邻居的权重和属性预测值:同步骤S5500。
步骤S9500:对点云属性码流进行解码得到当前点的属性残差值:具体地,对点云属性码流解进行熵解码、反量化、反变换,得到当前点的属性残差值;
步骤S9600:重建点云属性:具体地,利用当前点的属性预测值和当前点的属性残差值,相加求和确定当前点的点云属性重构值,重建点云属性。
基于上述基于邻居权重优化的点云属性信息的预测方法、编码方法或解码方法,本实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例该的点云属性信息的预测方法、编码方法或解码方法中的步骤。
基于上述基于邻居权重优化的点云属性信息的预测方法、编码方法或解码方法,本发明还提供了一种设备,这种设备可以是个人计算机,服务器,或者网络设备等。
第四、五和六方面的具体实施方式。
图10是本发明提供的设备的示意性框图,如图10所示,该基于邻居权重优化的点云属性信息的预测、编码或解码设备包括:至少一个处理器(processor)10100;存储器(memory)10200,和总线10300。其中,处理器10100、存储器10200可以通过总线10300完成相互间的通信。处理器10100可以调用存储器10200中的逻辑指令,以执行上述实施例该方法的全部或部分步骤。
此外,上述的存储器10200中的逻辑指令可以通过软件功能单元的形式实现,作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器10200作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法相应的程序指令或模块。处理器10100通过运行存储在存储器10200中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器10200可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创 建的数据等。此外,存储器10200可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
为了验证本发明的效果,将本发明方法的实施例与测试平台TMC13v7的基准结果的性能进行对比,结果如下:
本发明按照TMC13v6提供的标准测试条件(Common Test Condition,简称为CTC)在第三类数据集上测试了在点云属性压缩模块中在计算邻居的权重时对距离在x、y、z三个方向上的分量的系数进行优化之后的效果,结果如图11A和图11B所示。
图11A和图11B是适用于“基于LOD的升降变化策略(Lifting Transform)”的在实验结果,图11A的实验条件是无损几何、有损属性,图113B的实验条件是有损几何、有损属性。
从图11A和图11B可以看出,在两种CTC下,本发明的方法均能取得增益:对于反射率属性,在无损几何,有损属和有损几何,有损属性两个条件下分别获得了5.8%和5.5%的率失真增益;对于颜色属性,在无损几何,有损属条件下获得了0.4%到1.3%的率失真增益,在有损几何,有损属性条件下获得了1.9%到3.0%的率失真增益。
图12A-12D为本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图,其中,图12A是在无损几何、有损属性条件(采用升降变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图;图12B是在有损几何、有损属性条件(采用升降变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图;图12C是在无损几何、无损属性条件(采用预测变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图;以及图12D是在无损几何、有限损属性条件(采用预测变换策略)下,本发明方法的实施例与测试平台TMC13v7的基准结果的性能对比图。
相比与测试平台TMC13v7的基准结果,对于反射率属性,在无损几何、有损属性条件,有损几何、有损属性条件,无损几何、有限损属性条件下,如图12A、图12B和图12D所示,本发明的端到端率失真分别节约了6.65%、6.28%和2.52%;对于亮度属性,在无损几何、有损属性条件,有损几何、有损属性条件,无损几何、有限损属性条件下,本发明的端到端率失真分别节约了1.65%、2.14%和0.76%;对于色度属性,在无损几何、有损属性条件,有损几何、有损属性条件,无损几何、有限损属性条件下,本发明的端到端率失真最高分别节约了2.15%、3.30%、0.76%,;在无损几何、无损属性条件下,本发明的颜色码率只需要99.64%,本发明的反射率码率只需要98.35%,整体码率只需要99.70%,如图10C所示。
综上所述,与现有技术相比,本发明提供的点云属性预测方法、编码方法和解码方法及其设备,对每个点进行属性预测时,基于邻居的优化权重计算当前点的属性预测值,能够充分利用点云的几何信息和属性信息相关性,提升属性预测的准确性,提高点云属性编码和解码性能。
最后应说明的是:以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
工业应用性
本发明适用于点云属性预测设备、编码设备和解码设备,这些设备可以是个人计算机、服务器或者网络设备等。对于地理信息***、无人驾驶、文物保护等众多应用中海量点云的压缩,能够充分利用点云的几何信息和属性信息相关性,提升属性预测的准确性,提高点云属性编码和解码性能。
Claims (15)
- 一种基于邻居权重优化的点云属性预测方法,其特征在于,包括:确定当前点的K个最近邻点;根据所述当前点的坐标和所述当前点的K个最近邻点的坐标确定所述当前点的K个最近邻点的优化权重;根据所述当前点的K个最近邻点的优化权重确定所述当前点的属性预测值。
- 根据权利要求1所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述确定当前点的K个最近邻点,包括方法一、或方法二,其中,方法一:根据点云中的点到所述当前点的空间距离大小确定所述当前点的K个最近邻点;方法二:选择莫顿顺序中所述当前点的前K个点作为所述当前点的K个最近邻点。
- 根据权利要求1所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述根据所述当前点的坐标和所述当前点的K个最近邻点的坐标确定所述当前点的K个最近邻点的优化权重,包括:计算所述当前点与所述当前点的K个最近邻点在坐标分量上的差值;计算所述当前点与所述当前点的K个最近邻点在坐标分量上的差值与相应的距离调整参数的乘积,作为所述当前点与所述当前点的K个最近邻点在坐标分量上的加权差值;根据所述当前点与所述当前点的K个最近邻点在坐标分量上的加权差值,确定所述当前点的K个最近邻点的优化权重。
- 根据权利要求3所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述距离调整参数,包括:人为设定;或者,通过率失真优化设定。
- 根据权利要求3所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述距离调整参数,包括:根据每个点云数据设定相应的距离调整参数;或者,根据点云数据集的种类设定相应的距离调整参数;或者,根据点云数据的属性种类设定相应的距离调整参数。
- 根据权利要求5所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述距离调整参数,包括:改变距离调整参数的值,对当前点云数据进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云数据的距离调整参数;或者,改变距离调整参数的值,对当前点云种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云种类数据集的距离调整参数;或者,改变距离调整参数的值,对当前点云属性种类的数据集进行编码,计算每个距离调整参数值下的码流大小和失真值,通过率失真优化确定该点云属性种类数据集的距离调整参数。
- 根据权利要求3所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述根据所述当前点与所述当前点的K个最近邻点在坐标分量上的加权差值,确定所述当前点的K个最近邻点的优化权重,包括方法一、或方法二,其中,方法一:计算所述当前点与所述当前点的K个最近邻点在坐标分量上的加权差值的绝对值的和,作为所述当前点与所述当前点的K个最近邻点的距离;计算所述当前点与所述当前点的K个最近邻点的距离的倒数,作为所述当前点的K个最近邻点的优化权重;方法二:计算所述当前点与所述当前点的K个最近邻点在坐标分量上的加权差值的平方和,作为所述当前点与所述当前点的K个最近邻点的距离;计算所述当前点与所述当前点的K个最近邻点的距离的倒数,作为所述当前点的K个最近邻点的优化权重。
- 根据权利要求1所述的基于邻居权重优化的点云属性预测方法,其特征在于,所述根据所述当前点的K个最近邻点的优化权重确定所述当前点的属性预测值,包括:根据所述当前点的K个最近邻点的优化权重,确定所述当前点的K个最近邻点的相对权重;根据所述当前点的K个最近邻点的相对权重和属性重构值,确定所述当前点的属性预测值。
- 一种基于邻居权重优化的点云属性编码方法,其特征在于,包括:采用权利要求1-8所述的任意一项基于邻居权重优化的点云属性预测方法确定当前点的属性预测值;根据所述当前点的属性值与所述当前点的属性预测值的差值确定所述当前点的属性残差值;将所述当前点的属性残差值编码进点云码流。
- 根据权利要求9所述的基于邻居权重优化的点云属性编码方法,其特征在于,还包括:将所述距离调整参数写入头文件并编码进点云码流;或者,将所述距离调整参数减去一个固定值后写入头文件并编码进点云码流;或者,排列一组数据集中每个数据的距离调整参数,组成一个编码参数数组,从所述编码参数数组的第二个参数开始依次计算当前参数与前一参数的差值得到差值数组,将所述编码参数数组的第一个参数及所述差值数组写入头文件并编码进点云码流。
- 一种基于邻居权重优化的点云属性解码方法,其特征在于,包括:采用权利要求1-8所述的任意一项基于邻居权重优化的点云属性预测方法确定当前点的属性预测值;对点云码流进行解码,得到所述当前点的属性残差值;根据所述当前点的属性预测值与所述当前点的属性残差值的和值确定所述当前点的属性重构值。
- 根据权利要求11所述的基于邻居权重优化的点云属性解码方法,其特征在于,还包括:对点云码流进行解码,将解码出的数值作为所述距离调整参数;或者对点云码流进行解码,将解码出的数值加上一个固定值作为所述距离调整参数;或者,对点云码流进行解码,将解码出的数值组成一个解码参数数组,保留 所述解码参数数组的第一个参数,从所述解码参数数组的第二个参数开始依次计算当前参数与前一参数相加的和值作为更新的当前参数,得到所述距离调整参数数组。
- 一种基于邻居权重优化的点云属性预测设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的基于邻居权重优化的点云属性预测方法。
- 一种基于邻居权重优化的点云属性编码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如权利要求9-10所述的任意一项基于邻居权重优化的点云属性编码方法。
- 一种基于邻居权重优化的点云属性解码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述通信总线实现处理器和存储器之间的连接通信;所述处理器执行所述计算机可读程序时实现如权利要求11-12所述的任意一项基于邻居权重优化的点云属性解码方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717002.5A CN110418135B (zh) | 2019-08-05 | 2019-08-05 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN201910717002.5 | 2019-08-05 | ||
CN201910942969.3A CN110572655B (zh) | 2019-09-30 | 2019-09-30 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
CN201910942969.3 | 2019-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021023206A1 true WO2021023206A1 (zh) | 2021-02-11 |
Family
ID=74502680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/107021 WO2021023206A1 (zh) | 2019-08-05 | 2020-08-05 | 基于邻居权重优化的点云属性预测、编码和解码方法及设备 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021023206A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113096200A (zh) * | 2021-03-24 | 2021-07-09 | 中山大学 | 一种基于法向量的点云属性压缩方法、装置、设备及介质 |
CN113096198A (zh) * | 2021-03-01 | 2021-07-09 | 中山大学 | 一种双向点云属性预测压缩方法,装置,设备及介质 |
CN113542756A (zh) * | 2021-07-04 | 2021-10-22 | 西北工业大学 | 基于平面拟合中心坐标投影的点云空间可伸缩编码几何重构方法 |
CN115086716A (zh) * | 2021-03-12 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 点云中邻居点的选择方法、装置及编解码器 |
WO2022258061A1 (zh) * | 2021-06-11 | 2022-12-15 | 鹏城实验室 | 一种点云属性预测方法、装置、终端及存储介质 |
WO2024026712A1 (zh) * | 2022-08-03 | 2024-02-08 | 上海交通大学 | 点云编解码方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170214943A1 (en) * | 2016-01-22 | 2017-07-27 | Mitsubishi Electric Research Laboratories, Inc. | Point Cloud Compression using Prediction and Shape-Adaptive Transforms |
CN109166160A (zh) * | 2018-09-17 | 2019-01-08 | 华侨大学 | 一种采用图形预测的三维点云压缩方法 |
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655A (zh) * | 2019-09-30 | 2019-12-13 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
CN110708560A (zh) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | 点云数据处理方法和装置 |
-
2020
- 2020-08-05 WO PCT/CN2020/107021 patent/WO2021023206A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170214943A1 (en) * | 2016-01-22 | 2017-07-27 | Mitsubishi Electric Research Laboratories, Inc. | Point Cloud Compression using Prediction and Shape-Adaptive Transforms |
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
CN110708560A (zh) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | 点云数据处理方法和装置 |
CN109166160A (zh) * | 2018-09-17 | 2019-01-08 | 华侨大学 | 一种采用图形预测的三维点云压缩方法 |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655A (zh) * | 2019-09-30 | 2019-12-13 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113096198A (zh) * | 2021-03-01 | 2021-07-09 | 中山大学 | 一种双向点云属性预测压缩方法,装置,设备及介质 |
CN115086716A (zh) * | 2021-03-12 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 点云中邻居点的选择方法、装置及编解码器 |
CN115086716B (zh) * | 2021-03-12 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 点云中邻居点的选择方法、装置及编解码器 |
CN113096200A (zh) * | 2021-03-24 | 2021-07-09 | 中山大学 | 一种基于法向量的点云属性压缩方法、装置、设备及介质 |
CN113096200B (zh) * | 2021-03-24 | 2023-03-14 | 中山大学 | 一种基于法向量的点云属性压缩方法、装置、设备及介质 |
WO2022258061A1 (zh) * | 2021-06-11 | 2022-12-15 | 鹏城实验室 | 一种点云属性预测方法、装置、终端及存储介质 |
CN113542756A (zh) * | 2021-07-04 | 2021-10-22 | 西北工业大学 | 基于平面拟合中心坐标投影的点云空间可伸缩编码几何重构方法 |
WO2024026712A1 (zh) * | 2022-08-03 | 2024-02-08 | 上海交通大学 | 点云编解码方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021023206A1 (zh) | 基于邻居权重优化的点云属性预测、编码和解码方法及设备 | |
CN110572655B (zh) | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 | |
CN110418135B (zh) | 一种基于邻居的权重优化的点云帧内预测方法及设备 | |
US11454710B2 (en) | Point cloud compression using a space filling curve for level of detail generation | |
WO2022042539A1 (zh) | 一种基于空间顺序的点云分层方法、点云预测方法及设备 | |
US11252441B2 (en) | Hierarchical point cloud compression | |
US11276203B2 (en) | Point cloud compression using fixed-point numbers | |
CN109889840B (zh) | 点云编码和解码的方法、编码设备和解码设备 | |
CN111405281A (zh) | 一种点云属性信息的编码方法、解码方法、存储介质及终端设备 | |
CN116016917A (zh) | 点云压缩方法、编码器、解码器及存储介质 | |
CN107301194B (zh) | 瓦片式栅格地图的压缩存储及发布方法 | |
CN109166160B (zh) | 一种采用图形预测的三维点云压缩方法 | |
Caillaud et al. | Progressive compression of arbitrary textured meshes | |
WO2021062772A1 (zh) | 预测方法、编码器、解码器及计算机存储介质 | |
WO2022057091A1 (zh) | 一种点云属性编码方法、解码方法、编码设备及解码设备 | |
CN113014903A (zh) | 点云邻居确定、点云预测、点云编码、点云解码方法及设备 | |
KR102113904B1 (ko) | 보간을 이용한 연산 방법, 인코더, 및 디코더 | |
Chen et al. | CNN-optimized image compression with uncertainty based resource allocation | |
CN116744013A (zh) | 一种点云分层方法及解码器、编码器、存储介质 | |
WO2021062771A1 (zh) | 颜色分量预测方法、编码器、解码器及计算机存储介质 | |
JP2023514034A (ja) | イントラ予測方法、装置、エンコーダ、デコーダ及び記憶媒体 | |
Wei et al. | Enhanced intra prediction scheme in point cloud attribute compression | |
CN107093197B (zh) | 一种基于局部圆柱坐标的动画压缩方法 | |
Hajizadeh et al. | Predictive compression of animated 3D models by optimized weighted blending of key‐frames | |
CN116601944A (zh) | 点云编解码方法、编码器、解码器及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20849216 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20849216 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20849216 Country of ref document: EP Kind code of ref document: A1 |