CN113096200B - Point cloud attribute compression method, device, equipment and medium based on normal vector - Google Patents

Point cloud attribute compression method, device, equipment and medium based on normal vector Download PDF

Info

Publication number
CN113096200B
CN113096200B CN202110314434.9A CN202110314434A CN113096200B CN 113096200 B CN113096200 B CN 113096200B CN 202110314434 A CN202110314434 A CN 202110314434A CN 113096200 B CN113096200 B CN 113096200B
Authority
CN
China
Prior art keywords
point
weight
target
tree
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110314434.9A
Other languages
Chinese (zh)
Other versions
CN113096200A (en
Inventor
梁凡
刘一晴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202110314434.9A priority Critical patent/CN113096200B/en
Publication of CN113096200A publication Critical patent/CN113096200A/en
Application granted granted Critical
Publication of CN113096200B publication Critical patent/CN113096200B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Abstract

The invention discloses a point cloud attribute compression method, a point cloud attribute compression device, point cloud attribute compression equipment and a point cloud attribute compression medium, wherein the method comprises the following steps: calculating geometric information of point cloud data to be compressed; performing Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order; according to the Morton sequence traversal, obtaining a target prediction point of the current coding point, and determining a prediction weight of the target prediction point; constructing a k-d tree; searching the nearest point of the current coding point and the target prediction point according to the k-d tree; performing plane fitting according to the nearest neighbor points to obtain a normal vector of the plane; correcting the predicted weight according to the normal vector to obtain a target weight; and determining the encoding result of the point cloud data according to the target weight. The method can reduce the error of the point cloud attribute compression result, and can be widely applied to the technical field of point cloud data processing.

Description

Point cloud attribute compression method, device, equipment and medium based on normal vector
Technical Field
The invention relates to the technical field of point cloud data processing, in particular to a point cloud attribute compression method, device, equipment and medium based on a normal vector.
Background
The Point Cloud (Point Cloud) is an expression form of a three-dimensional object or scene, and is composed of a set of discrete points which are randomly distributed in space and express the spatial structure and surface attributes of the three-dimensional object or scene. The points in the point cloud include some additional attributes, such as color, reflectivity, etc., in addition to the geometric coordinates. There is no specified spatial connection or order relationship between the points. The point cloud data is mainly divided into three types according to the acquisition ways: 1. static point cloud: the object is stationary and the apparatus that acquires the point cloud is also stationary. 2. Dynamic point cloud: the object is moving and the apparatus that acquires the point cloud is stationary. 3, dynamically acquiring point cloud: the equipment that acquires the point cloud is moving. The point cloud data is widely applied to automatic driving, high-precision maps, virtual reality and the like, but because the point cloud data is composed of tens of thousands of points to hundreds of millions of three-dimensional points and corresponding attribute information, serious challenges are brought to subsequent storage, processing and transmission display, and the storage resources and transmission bandwidth at present are difficult to bear, so that the high-efficiency compression technology is indispensable to store and transmit the point cloud data.
Currently, the mainstream point cloud data compression schemes are video coding-based point cloud compression (V-PCC) and geometry-based point cloud compression (G-PCC), respectively. Both methods result in large errors in the compression result.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method, an apparatus, a device, and a medium for compressing a point cloud attribute based on a normal vector with a small error.
One aspect of the present invention provides a point cloud attribute compression method based on normal vectors, including:
calculating geometric information of point cloud data to be compressed;
performing Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order;
according to the Morton sequence traversal, obtaining a target prediction point of the current coding point, and determining a prediction weight of the target prediction point;
constructing a k-d tree;
searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
performing plane fitting according to the nearest neighbor points to obtain a normal vector of the plane;
correcting the predicted weight according to the normal vector to obtain a target weight;
and determining the encoding result of the point cloud data according to the target weight.
Optionally, the obtaining a target prediction point of a current coding point according to the morton sequence traversal and determining a prediction weight of the target prediction point includes:
determining a current encoding point from the point cloud data;
searching the coded point in the search range of the current coded point according to a preset search range;
calculating the Manhattan distance between the current coding point and each coded point;
determining target prediction points according to Manhattan distances between the current coding points and the coded points;
and calculating the prediction weight of the target prediction point.
Optionally, the manhattan distance is calculated by the following formula:
d j =|x i - ij |+|y i - ij |+|z i - ij |
wherein d is j Represents the manhattan distance; x is a radical of a fluorine atom i X-axis coordinates representing the current encoding point; y is i Y-axis coordinates representing the current encoding point; z is a radical of formula i Z-axis coordinates representing the current encoded point; (x) ij ,y ij ,z ij ) Coordinates representing target prediction points of an ith row and a jth column;
the calculation formula of the prediction weight is as follows:
Figure BDA0002990547780000021
wherein, w ij Representing the prediction weight of the target prediction point of the ith row and the jth column; x is a radical of a fluorine atom i An x-axis coordinate representing the current encoding point; y is i Y-axis coordinates representing the current encoding point; z is a radical of i Z-axis coordinates representing the current encoded point; (x) ij ,y ij ,z ij ) Representing the coordinates of the target prediction point in the ith row and the jth column.
Optionally, the searching for the nearest neighbor point of the current coding point and the target prediction point according to the k-d tree includes:
determining a current coding point to be predicted;
selecting 3 coded points closest to the current coding point to be predicted according to the Manhattan distance;
searching 4 nearest points of the coding point to be predicted and the coded point through the k-d tree;
deleting 1 point closest to the coding point to be predicted from the 4 nearest points to obtain 3 nearest points;
each node in the k-d tree is a k-dimensional numerical value point; each node of the k-d tree represents a hyperplane; the hyperplane is perpendicular to a coordinate axis of a current division dimension and divides a space into a left sub-tree and a right sub-tree in the current division dimension
Optionally, the performing plane fitting according to the nearest neighbor point to obtain a normal vector of the plane includes:
determining a first coordinate of the current coding point and a second coordinate of the target prediction point;
calculating the center of mass of each point according to the first coordinate and the second coordinate;
calculating a covariance matrix of the current coding point and the target prediction point;
calculating an eigenvalue and an eigenvector of the covariance matrix;
and taking the feature vector corresponding to the minimum feature value as the normal vector of each point.
Optionally, the modifying the predicted weight according to the normal vector to obtain a target weight includes:
calculating cosine values of included angles among the normal vectors according to the normal vectors of the points;
finding out the maximum value in each cosine value, and determining a target prediction point corresponding to the maximum value;
correcting the prediction weight of the target prediction point according to the cosine value to obtain a target weight;
wherein, the correction formula of the target weight is as follows:
w i1 ′=w i1
wherein, w i1 ' represents the modified target weight; w is a i1 Representing the predicted weight before correction; and theta represents the included angle between the current coding point and the normal vector of the target prediction point.
Optionally, in the step of determining the encoding result of the point cloud data according to the target weight, the encoding result is determined by the following formula:
Figure BDA0002990547780000031
wherein the content of the first and second substances,
Figure BDA0002990547780000032
representing the coding result after final reconstruction; w is a ij Representing the corrected target weight; a' i And predicting the attribute prediction value of the current coding point.
Another aspect of the embodiments of the present invention provides a point cloud attribute compression apparatus based on a normal vector, including:
the calculation module is used for calculating the geometric information of the point cloud data to be compressed;
the Morton code sorting module is used for carrying out Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order;
the weight prediction module is used for obtaining a target prediction point of the current coding point according to the Morton sequence traversal and determining a prediction weight of the target prediction point;
the building module is used for building a k-d tree;
the searching module is used for searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
a normal vector determining module, configured to perform plane fitting according to the nearest neighboring point to obtain a normal vector of the plane;
the weight correction module is used for correcting the predicted weight according to the normal vector to obtain a target weight;
and the encoding compression module is used for determining an encoding result of the point cloud data according to the target weight.
Another aspect of the embodiments of the present invention provides an electronic device, including a processor and a memory;
the memory is used for storing programs;
the processor executes the program to implement the method as described above.
Another aspect of the embodiments of the present invention provides a computer-readable storage medium storing a program, the program being executed by a processor to implement the method as described above.
The embodiment of the invention also discloses a computer program product or a computer program, which comprises computer instructions, and the computer instructions are stored in a computer readable storage medium. The computer instructions may be read by a processor of a computer device from a computer-readable storage medium, and the computer instructions executed by the processor cause the computer device to perform the foregoing method.
The embodiment of the invention calculates the geometric information of the point cloud data to be compressed; performing Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order; according to the Morton sequence traversal, obtaining a target prediction point of the current coding point, and determining a prediction weight of the target prediction point; constructing a k-d tree; searching the nearest point of the current coding point and the target prediction point according to the k-d tree; performing plane fitting according to the nearest point to obtain a normal vector of the plane; correcting the predicted weight according to the normal vector to obtain a target weight; and determining the encoding result of the point cloud data according to the target weight. The invention can reduce the error of the point cloud attribute compression result.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the description below are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flow chart of the overall steps provided in the embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
Aiming at the problems in the prior art, the embodiment of the invention provides a point cloud attribute compression method based on a normal vector, which comprises the following steps:
calculating geometric information of point cloud data to be compressed;
performing Morton code sorting according to the geometrical information of the point cloud data to obtain a Morton sequence;
according to the Morton sequence traversal, obtaining a target prediction point of the current coding point, and determining a prediction weight of the target prediction point;
constructing a k-d tree;
searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
performing plane fitting according to the nearest point to obtain a normal vector of the plane;
correcting the predicted weight according to the normal vector to obtain a target weight;
and determining the encoding result of the point cloud data according to the target weight.
Optionally, the obtaining a target prediction point of a current coding point according to the morton sequence traversal and determining a prediction weight of the target prediction point includes:
determining a current encoding point from the point cloud data;
searching the coded point in the search range of the current coded point according to a preset search range;
calculating the Manhattan distance between the current coding point and each coded point;
determining target prediction points according to Manhattan distances between the current coding points and the coded points;
and calculating the prediction weight of the target prediction point.
Optionally, the manhattan distance is calculated by the following formula:
d j =|x i -x ij |+|y i -y ij |+|z i -z ij |
wherein, d j Represents the manhattan distance; x is the number of i An x-axis coordinate representing the current encoding point; y is i A y-axis coordinate representing the current encoding point; z is a radical of i Z-axis coordinates representing the current encoded point; (x) ij ,y ij ,z ij ) Representing target prediction for ith row and jth columnCoordinates of the points;
the calculation formula of the prediction weight is as follows:
Figure BDA0002990547780000051
wherein, w ij Representing the prediction weight of the target prediction point of the ith row and the jth column; x is the number of i X-axis coordinates representing the current encoding point; y is i Y-axis coordinates representing the current encoding point; z is a radical of formula i A z-axis coordinate representing the current encoding point; (x) ij ,y ij ,z ij ) Representing the coordinates of the target prediction point in the ith row and the jth column.
Optionally, the searching for the nearest neighbor point of the current coding point and the target prediction point according to the k-d tree includes:
determining a current coding point to be predicted;
selecting 3 coded points closest to the current coding point to be predicted according to the Manhattan distance;
searching 4 nearest points of the coding point to be predicted and the coded point through the k-d tree;
deleting 1 point closest to the coding point to be predicted from the 4 nearest points to obtain 3 nearest points;
each node in the k-d tree is a k-dimensional numerical value point; each node of the k-d tree represents a hyperplane; the hyperplane is perpendicular to a coordinate axis of a current division dimension and divides a space into a left sub-tree and a right sub-tree in the current division dimension
Optionally, the performing plane fitting according to the nearest neighbor point to obtain a normal vector of the plane includes:
determining a first coordinate of the current coding point and a second coordinate of the target prediction point;
calculating the center of mass of each point according to the first coordinate and the second coordinate;
calculating a covariance matrix of the current coding point and the target prediction point;
calculating an eigenvalue and an eigenvector of the covariance matrix;
and taking the feature vector corresponding to the minimum feature value as the normal vector of each point.
Optionally, the modifying the predicted weight according to the normal vector to obtain a target weight includes:
calculating cosine values of included angles among the normal vectors according to the normal vectors of the points;
finding out the maximum value in each cosine value, and determining a target prediction point corresponding to the maximum value;
correcting the predicted weight of the target predicted point according to the cosine value to obtain a target weight;
wherein, the correction formula of the target weight is as follows:
w i1 ′=w i1
wherein, w i1 ' represents the modified target weight; w is a i1 Representing the predicted weight before correction; and theta represents the included angle between the current coding point and the normal vector of the target prediction point.
Optionally, in the step of determining the encoding result of the point cloud data according to the target weight, the encoding result is determined by the following formula:
Figure BDA0002990547780000061
wherein the content of the first and second substances,
Figure BDA0002990547780000062
representing the coding result after final reconstruction; w is a ij Representing the corrected target weight; a' i And predicting the attribute prediction value of the current coding point.
Another aspect of the embodiments of the present invention provides a point cloud attribute compression apparatus based on a normal vector, including:
the calculation module is used for calculating the geometric information of the point cloud data to be compressed;
the Morton code sorting module is used for carrying out Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order;
the weight prediction module is used for obtaining a target prediction point of the current coding point according to the Morton sequence traversal and determining a prediction weight of the target prediction point;
the building module is used for building a k-d tree;
the searching module is used for searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
the normal vector determining module is used for carrying out plane fitting according to the nearest neighbor points to obtain normal vectors of the planes;
the weight correction module is used for correcting the predicted weight according to the normal vector to obtain a target weight;
and the coding compression module is used for determining the coding result of the point cloud data according to the target weight.
Another aspect of the embodiments of the present invention provides an electronic device, including a processor and a memory;
the memory is used for storing programs;
the processor executes the program to implement the method as described above.
Another aspect of the embodiments of the present invention provides a computer-readable storage medium storing a program, the program being executed by a processor to implement the method as described above.
The embodiment of the invention also discloses a computer program product or a computer program, which comprises computer instructions, and the computer instructions are stored in a computer readable storage medium. The computer instructions may be read by a processor of a computer device from a computer-readable storage medium, and the computer instructions executed by the processor cause the computer device to perform the foregoing method.
The point cloud attribute compression method of the embodiment of the invention is described in detail below with reference to the accompanying drawings of the specification:
as shown in FIG. 1, the embodiment of the present invention employs a baseIn the geometric point cloud compression method, the geometric information (x) of point cloud data is firstly processed according to the attribute information i ,y i ,z i ) Performing Morton code sorting, traversing the coded points in a certain search range of the current points to be coded according to the Morton order, and setting the geometric coordinates of the current points as (x) i ,y i ,z i ) The geometric coordinate of each neighbor is (x) ij ,y ij ,z ij ) j=1,2,…,k The calculation formula of the distance becomes:
d j =|x i -x ij |+|y i -y ij |+|z i -z ij |#(1)
selecting the distance d from all the traversal points j The minimum K points, K being typically 3, then the weight of each reference point is:
Figure BDA0002990547780000071
let the attribute reconstruction value of each neighbor point be
Figure BDA0002990547780000072
Then attribute of the current point predicts value A' i
Figure BDA0002990547780000073
For point cloud data, a normal vector can well reflect geometric information between points, two points with smaller included angle of the normal vector have closer attribute values, and after a predicted point is determined by Manhattan distance, weight correction is carried out by considering the factor of the normal vector.
The invention firstly uses the geometrical information (x) of the point cloud data i ,y i ,z i ) And performing Morton code sorting, traversing the coded points in a certain search range of the current point to be coded according to the Morton order, wherein the search range is J coded points, and J is set as required and generally set as 128. Let the geometric coordinate of the current point be (x) i ,y i ,z i ) The geometric coordinate of each neighbor is (x) ij ,y ij ,z ij ) j=1,2,…,k The calculation formula of the distance is as follows:
d j =|x i -x ij |+|y i -y ij |+|z i -z ij |#(4)
selecting the distance d from all the traversal points j The minimum K points, K being typically 3, then the weight of each reference point is:
Figure BDA0002990547780000081
the invention re-uses K-D tree to search adjacent points, K-D tree, K-dimensional tree, often used to perform space partition and adjacent search, which is a special case of binary space partition tree. The k-d tree is a binary tree with each node being a k-dimensional numerical value point, wherein each node on the binary tree represents a hyperplane, the hyperplane is perpendicular to the coordinate axis of the current division dimension, and the space is divided into two parts on the dimension, one part is in the left sub-tree and the other part is in the right sub-tree. That is, if the division dimension of the current node is d, the coordinate values of all points on the left sub-tree in the d-dimension are all smaller than the coordinate value of the current node in the d-dimension, and the coordinate values of all points on the right sub-tree in the d-dimension are all larger than or equal to the coordinate value of the current node in the d-dimension.
Then, after a k-d tree is constructed for the whole frame of point cloud data, the search of the nearest point can be started. Setting the current coding point to be predicted as P 00 The 3 coded points selected according to the Manhattan distance (equation 1) are P j (j =1,2,3). Then to P 00 ,P j Searching 4 nearest neighbor points by using a k-d tree, and in order to reduce the interference of repeated points, eliminating the nearest point from the 4 nearest neighbor points to obtain the final three points P ij (j=1,2,3;i=1,2,3)。P j Three nearest neighbors, P, representing the current point to be coded ij Representing the nearest neighbor of the 3 encoded points.
Next, the invention calculates the normal vector by fitting a plane. Specifically, the present invention takes point P 00 For example. Set point P 00 Has the coordinates of (x, y, z), P 0j Has the coordinates of (x) j ,y j ,z j ) (j =1,2,3), the centroid of four points is calculated by equation (6)
Figure BDA0002990547780000082
Figure BDA0002990547780000083
Then P is obtained by formula (7) 00 ,P 01 ,P 02 ,P 03 Covariance matrix of
Figure BDA0002990547780000084
Then solving the characteristic value lambda of C through the formula (8) 0j And feature vectors
Figure BDA0002990547780000085
Figure BDA0002990547780000086
Minimum eigenvalue λ found by equation (8) 01 Corresponding feature vector
Figure BDA0002990547780000087
Is the point P 0 The normal vector of (2).
Three adjacent points P 1 ,P 2 ,P 3 Normal vector of (1)
Figure BDA0002990547780000088
The same applies to the above method. After the normal vectors of four points are obtained, the normal vectors are respectively calculated by the formula (9)
Figure BDA0002990547780000089
And
Figure BDA00029905477800000810
cosine value of the angle.
Figure BDA00029905477800000811
After the invention finds out 3 cosine values, the maximum value of the 3 cosine values is found out, and the corresponding point is assumed to be P 1 Subsequently to P 1 Corresponding weight w i1 Corrected by equation (6), w ij The formula (5) is used to obtain the final product.
w i1 ′=w i1 *θ#(10)
Wherein, theta is generally larger than 1 and is set according to actual conditions.
Setting the encoded point P j Has an attribute reconstruction value of
Figure BDA0002990547780000091
The attribute predicted value of the current point is A' i
Figure BDA0002990547780000092
Is represented by equation (11):
Figure BDA0002990547780000093
finally, residual error prediction is carried out according to the attribute values obtained by reconstruction, and the difference between the true value and the reconstructed value is determined. The difference is quantized and transformed into an integer. And coding the quantized values into a binary code stream by adopting an entropy coding technology.
In alternative embodiments, the functions/acts noted in the block diagrams may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Furthermore, the embodiments presented and described in the flow charts of the present invention are provided by way of example in order to provide a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is changed and in which sub-operations described as part of larger operations are performed independently.
Furthermore, although the present invention is described in the context of functional modules, it should be understood that, unless otherwise stated to the contrary, one or more of the described functions and/or features may be integrated in a single physical device and/or software module, or one or more functions and/or features may be implemented in a separate physical device or software module. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary for an understanding of the present invention. Rather, the actual implementation of the various functional modules in the apparatus disclosed herein will be understood within the ordinary skill of an engineer, given the nature, function, and internal relationship of the modules. Accordingly, those of ordinary skill in the art will be able to practice the invention as set forth in the claims without undue experimentation. It is also to be understood that the specific concepts disclosed are merely illustrative of and not intended to limit the scope of the invention, which is defined by the appended claims and their full scope of equivalents.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk, and various media capable of storing program codes.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Further, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
While the preferred embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (9)

1. A point cloud attribute compression method based on normal vectors is characterized by comprising the following steps:
calculating geometric information of point cloud data to be compressed;
performing Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order;
according to the Morton sequence traversal, obtaining a target prediction point of the current coding point, and determining a prediction weight of the target prediction point;
constructing a k-d tree;
searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
performing plane fitting according to the nearest neighbor points to obtain a normal vector of the plane;
correcting the predicted weight according to the normal vector to obtain a target weight;
determining the encoding result of the point cloud data according to the target weight;
wherein the searching for the nearest neighbor of the current encoding point and the target prediction point according to the k-d tree comprises:
determining a current coding point to be predicted;
selecting 3 coded points closest to the current coding point to be predicted according to the Manhattan distance;
searching 4 nearest points of the coding point to be predicted and the coded point through the k-d tree;
deleting 1 point closest to the coding point to be predicted from the 4 nearest points to obtain 3 nearest points;
each node in the k-d tree is a k-dimensional numerical value point; each node of the k-d tree represents a hyperplane; the hyperplane is perpendicular to a coordinate axis of a current division dimension and divides a space into a left sub-tree and a right sub-tree in the current division dimension.
2. The method of claim 1, wherein the obtaining a target predicted point of a current encoded point according to the morton sequence traversal and determining a prediction weight of the target predicted point comprises:
determining a current encoding point from the point cloud data;
searching the coded point in the search range of the current coded point according to a preset search range;
calculating the Manhattan distance between the current coding point and each coded point;
determining target prediction points according to Manhattan distances between the current coding points and the coded points;
and calculating the prediction weight of the target prediction point.
3. The method of claim 2, wherein the Manhattan distance is calculated by the following formula:
d j =|x i -x ij |+|y i -y ij |+|z i -z ij |
wherein d is j Represents the manhattan distance; x is the number of i An x-axis coordinate representing the current encoding point; y is i Y-axis coordinates representing the current encoding point; z is a radical of i Z-axis coordinates representing the current encoded point; (x) ij ,y ij ,z ij ) Coordinates representing target prediction points of an ith row and a jth column;
the calculation formula of the prediction weight is as follows:
Figure FDA0003799475330000021
wherein w ij Representing the prediction weight of the target prediction point of the ith row and the jth column; x is the number of i X-axis coordinates representing the current encoding point; y is i Y-axis coordinates representing the current encoding point; z is a radical of i A z-axis coordinate representing the current encoding point; (x) ij ,y ij ,z ij ) Representing the coordinates of the target prediction point in the ith row and the jth column.
4. The method of claim 1, wherein the performing plane fitting according to the nearest neighboring points to obtain a normal vector of the plane comprises:
determining a first coordinate of the current coding point and a second coordinate of the target prediction point;
calculating the center of mass of each point according to the first coordinate and the second coordinate;
calculating a covariance matrix of the current coding point and the target prediction point;
calculating an eigenvalue and an eigenvector of the covariance matrix;
and taking the feature vector corresponding to the minimum feature value as the normal vector of each point.
5. The method of claim 4, wherein the modifying the predicted weight according to the normal vector to obtain a target weight comprises:
calculating cosine values of included angles among the normal vectors according to the normal vectors of the points;
finding out the maximum value in each cosine value, and determining a target prediction point corresponding to the maximum value;
correcting the prediction weight of the target prediction point according to the cosine value to obtain a target weight;
wherein, the correction formula of the target weight is as follows:
w i1 ′=w i1
wherein, w i1 ' represents the modified target weight; w is a i1 Representing the predicted weight before correction; and theta represents the included angle between the current coding point and the normal vector of the target prediction point.
6. The method of claim 4, wherein in the step of determining the encoding result of the point cloud data according to the target weight, the encoding result is determined according to the following formula:
Figure FDA0003799475330000022
wherein the content of the first and second substances,
Figure FDA0003799475330000023
representing the coding result after final reconstruction; w is a ij Representing the corrected target weight; a' i And predicting the attribute prediction value of the current coding point.
7. A point cloud attribute compression device based on normal vectors is characterized by comprising:
the calculation module is used for calculating the geometric information of the point cloud data to be compressed;
the Morton code sorting module is used for carrying out Morton code sorting according to the geometric information of the point cloud data to obtain a Morton order;
the weight prediction module is used for obtaining a target prediction point of the current coding point according to the Morton sequence traversal and determining a prediction weight of the target prediction point;
the building module is used for building a k-d tree;
the searching module is used for searching the nearest point of the current coding point and the target prediction point according to the k-d tree;
wherein the searching for the nearest neighbor of the current encoding point and the target prediction point according to the k-d tree comprises:
determining a current coding point to be predicted;
selecting 3 coded points closest to the current coding point to be predicted according to the Manhattan distance;
searching 4 nearest points of the coding point to be predicted and the coded point through the k-d tree;
deleting 1 point closest to the coding point to be predicted from the 4 nearest points to obtain 3 nearest points;
each node in the k-d tree is a k-dimensional numerical value point; each node of the k-d tree represents a hyperplane; the hyperplane is perpendicular to a coordinate axis of a current division dimension and divides a space into a left sub-tree and a right sub-tree on the current division dimension;
the normal vector determining module is used for carrying out plane fitting according to the nearest neighbor points to obtain normal vectors of the planes;
the weight correction module is used for correcting the predicted weight according to the normal vector to obtain a target weight;
and the coding compression module is used for determining the coding result of the point cloud data according to the target weight.
8. An electronic device comprising a processor and a memory;
the memory is used for storing programs;
the processor executing the program realizes the method of any one of claims 1-6.
9. A computer-readable storage medium, characterized in that the storage medium stores a program, which is executed by a processor to implement the method according to any one of claims 1-6.
CN202110314434.9A 2021-03-24 2021-03-24 Point cloud attribute compression method, device, equipment and medium based on normal vector Active CN113096200B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110314434.9A CN113096200B (en) 2021-03-24 2021-03-24 Point cloud attribute compression method, device, equipment and medium based on normal vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110314434.9A CN113096200B (en) 2021-03-24 2021-03-24 Point cloud attribute compression method, device, equipment and medium based on normal vector

Publications (2)

Publication Number Publication Date
CN113096200A CN113096200A (en) 2021-07-09
CN113096200B true CN113096200B (en) 2023-03-14

Family

ID=76669675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110314434.9A Active CN113096200B (en) 2021-03-24 2021-03-24 Point cloud attribute compression method, device, equipment and medium based on normal vector

Country Status (1)

Country Link
CN (1) CN113096200B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115714864A (en) * 2021-08-23 2023-02-24 鹏城实验室 Point cloud attribute encoding method and device, and point cloud attribute decoding method and device
WO2023245981A1 (en) * 2022-06-20 2023-12-28 北京大学深圳研究生院 Point cloud compression method and apparatus, and electronic device and storage medium
CN114998456B (en) * 2022-06-20 2023-06-30 西安邮电大学 Three-dimensional point cloud attribute compression method based on local similarity
CN114782564B (en) * 2022-06-21 2022-09-09 北京大学深圳研究生院 Point cloud compression method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572655A (en) * 2019-09-30 2019-12-13 北京大学深圳研究生院 method and equipment for encoding and decoding point cloud attribute based on neighbor weight parameter selection and transmission
WO2021023206A1 (en) * 2019-08-05 2021-02-11 北京大学深圳研究生院 Point cloud attribute prediction, encoding, and decoding method and device based on neighbor weight optimization

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911787B2 (en) * 2018-07-10 2021-02-02 Apple Inc. Hierarchical point cloud compression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021023206A1 (en) * 2019-08-05 2021-02-11 北京大学深圳研究生院 Point cloud attribute prediction, encoding, and decoding method and device based on neighbor weight optimization
CN110572655A (en) * 2019-09-30 2019-12-13 北京大学深圳研究生院 method and equipment for encoding and decoding point cloud attribute based on neighbor weight parameter selection and transmission

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于kd_tree算法和法向量估计的点云数据精简方法;王丽;《宿州学院学报》;20191215(第12期);正文第1页第1段-第4页最后1段 *
顾及几何特征的规则激光点云分割方法;方军等;《测绘通报》;20160825(第08期);全文 *

Also Published As

Publication number Publication date
CN113096200A (en) 2021-07-09

Similar Documents

Publication Publication Date Title
CN113096200B (en) Point cloud attribute compression method, device, equipment and medium based on normal vector
CN110572655B (en) Method and equipment for encoding and decoding point cloud attribute based on neighbor weight parameter selection and transmission
US9530225B1 (en) Point cloud data processing for scalable compression
JP7330306B2 (en) Transform method, inverse transform method, encoder, decoder and storage medium
CN109257604A (en) A kind of color attribute coding method based on TMC3 point cloud encoder
CN113096198B (en) Bidirectional point cloud attribute prediction compression method, device, equipment and medium
JP2019521417A (en) Method of encoding point cloud representing a scene, encoder system, and non-transitory computer readable recording medium storing program
US8310480B2 (en) Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model
CN112385236B (en) Method for encoding and decoding point cloud, encoder and decoder, and storage medium
CN111405284A (en) Point cloud density-based attribute prediction method and device
US11483560B2 (en) Point cloud partition methods, encoder, and decoder
CN111192364A (en) Low-cost mobile multi-robot vision simultaneous positioning and map creating method
CN117136386A (en) Displacement micro-grid compression
CN113573068A (en) Improved V-PCC (V-PCC) inter-frame prediction method and system based on registration
CN113628343B (en) Three-dimensional grid combination processing method and device and storage medium
WO2021062772A1 (en) Prediction method, encoder, decoder, and computer storage medium
CN113096199B (en) Point cloud attribute prediction method, device and medium based on Morton code
CN116744013A (en) Point cloud layering method, decoder, encoder and storage medium
CN114402621A (en) Transform method, inverse transform method, encoder, decoder, and storage medium
CN114667732A (en) Method for predicting attribute information, encoder, decoder, and storage medium
WO2021108970A1 (en) Point cloud processing method, encoder, decoder and storage medium
CN112802201B (en) Method and device for obtaining parallel nearest distance between entity models
WO2022217611A1 (en) Coding and decoding methods, related devices and storage medium
JP2024503527A (en) Large-scale point cloud-oriented two-dimensional regularized plane projection and encoding and decoding method
WO2022131946A2 (en) Devices and methods for spatial quantization for point cloud compression

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant