WO2022042539A1 - 一种基于空间顺序的点云分层方法、点云预测方法及设备 - Google Patents

一种基于空间顺序的点云分层方法、点云预测方法及设备 Download PDF

Info

Publication number
WO2022042539A1
WO2022042539A1 PCT/CN2021/114283 CN2021114283W WO2022042539A1 WO 2022042539 A1 WO2022042539 A1 WO 2022042539A1 CN 2021114283 W CN2021114283 W CN 2021114283W WO 2022042539 A1 WO2022042539 A1 WO 2022042539A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
points
point cloud
spatial
current
Prior art date
Application number
PCT/CN2021/114283
Other languages
English (en)
French (fr)
Inventor
李革
何盈燊
张琦
王静
邵薏婷
Original Assignee
北京大学深圳研究生院
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 北京大学深圳研究生院 filed Critical 北京大学深圳研究生院
Publication of WO2022042539A1 publication Critical patent/WO2022042539A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Definitions

  • the present invention relates to the technical field of point cloud processing, in particular to a point cloud layering method based on spatial order, a point cloud prediction method and equipment, and an encoding method, decoding method and equipment based on spatial order.
  • 3D point cloud is an important form of digitization of the real world. With the rapid development of 3D scanning equipment (such as laser, radar, etc.), the accuracy and resolution of point clouds become higher. High-precision point clouds are widely used in the construction of urban digital maps, and play a technical supporting role in many popular researches such as smart cities, unmanned driving, and cultural relics protection.
  • a point cloud is obtained by sampling the surface of an object by a 3D scanning device.
  • the number of points in a frame of point cloud is generally in the millions.
  • Each point contains geometric information and attribute information such as color and reflectivity, and the amount of data is very large.
  • the huge data volume of 3D point cloud brings great challenges to data storage and transmission, so it is very important to compress point cloud.
  • Point cloud compression is mainly divided into geometric compression and attribute compression.
  • the point cloud attribute compression method described in the test platform PCRM provided by the China AVS (Audio Video coding Standard) point cloud compression working group mainly adopts the point cloud based on the order of three-dimensional space.
  • the prediction method is to sort the current point cloud in spatial order according to the position information of the point cloud, select the weighted value of the attribute value of the coplanar and collinear neighbor points of the current point in the spatial order as the attribute prediction value of the current point, and finally use the current point's attribute value.
  • the attribute residual value is obtained by subtracting the attribute predicted value from the actual attribute value.
  • the present invention provides a point cloud layering method based on spatial order, a point cloud prediction method and device, as well as a spatial order-based encoding method, decoding method and device, which are used to solve the point cloud layered encoding requirements, while enhancing The correlation between neighbors and the current point is improved, and the performance of point cloud attribute compression is improved.
  • the purpose of the present invention is to provide a point cloud prediction method based on spatial order.
  • Another object of the present invention is to provide a point cloud layering method based on spatial order.
  • Another object of the present invention is to provide a point cloud encoding method based on spatial order.
  • Another object of the present invention is to provide a point cloud decoding method based on spatial order.
  • Another object of the present invention is to provide a point cloud prediction device.
  • Another object of the present invention is to provide a point cloud encoding device.
  • Another object of the present invention is to provide a point cloud decoding device.
  • a first aspect of the present invention provides a point cloud prediction method based on spatial order, including: generating two or more spatial orders of the point cloud; using the two or more spatial orders to perform forward summation of the current point /or backward search to obtain the neighbors of the current point; determine the attribute prediction value of the current point according to the neighbors of the current point.
  • generating two or more spatial sequences of the point cloud includes: generating the spatial sequence code 1 of all points by using the coordinates of the point cloud, and using the spatial sequence code 1 to sort all the points of the point cloud to obtain the spatial sequence code 1 of the point cloud.
  • Spatial order 1 add an offset value to the geometric coordinates of the point cloud to get new coordinates, use the new coordinates to generate the spatial order code 2 of all points and sort them, get spatial order 2, and obtain two points of the point cloud.
  • the forward and/or backward search of the current point using the two or more spatial orders to obtain the neighbors of the current point includes: selecting M points in the forward direction of the current point in the spatial order 1 As a neighbor candidate point; select N 1 points forward and/or N 2 points backward of the current point as neighbor candidate points in the spatial order 2; calculate the distance from each neighbor candidate point to the current point , and among the neighbor candidate points, determine m points with the smallest distance as neighbors of the current point.
  • the determining the attribute prediction value of the current point according to the neighbors of the current point includes: determining the attribute prediction value of the current point according to the attribute reconstruction values of m neighbors of the current point.
  • the point cloud prediction method based on spatial order further includes a point cloud prediction method after point cloud layering, specifically including method one, method two, method three, or method four. in,
  • Method 1 After the point cloud is layered, generate the spatial order 1 and the offset spatial order 2 of the point cloud layer where the current point is located, and select M points forward of the current point in the spatial order 1 as neighbor candidates point; select N 1 points forward and N 2 points backward of the current point as neighbor candidate points in the spatial order 2; Among the points, the m points with the smallest distance are determined as the neighbors of the current point;
  • Method 2 After the point cloud is layered, generate the spatial order 1 and the offset spatial order 2 of the point cloud level before the point cloud level where the current point is located, and map the current point to the corresponding position in the spatial order 1 And select the corresponding position forward N 1 points and backward N 2 points as neighbor candidate points; map the current point to the corresponding position in the spatial order 2 and select the corresponding position forward N 3 points and N 4 points in the backward direction are used as neighbor candidate points; calculate the distance from each neighbor candidate point to the current point, and determine the m points with the smallest distance among the neighbor candidate points as the neighbors of the current point ;
  • Method 3 After the point cloud is layered, generate the point cloud layer where the current point is located, the spatial order 1 and the offset spatial order 2 of the previous point cloud layer, and select the forward direction of the current point in the spatial order 1. N 1 points and N 2 points in the backward direction are used as neighbor candidate points; in the spatial order 2, N 3 points in the forward direction and N 4 points in the backward direction of the current point are selected as neighbor candidate points; The distance from the neighbor candidate point to the current point, in the neighbor candidate points, determine m points with the smallest distance as neighbors of the current point;
  • Method 4 After the point cloud is layered, generate the spatial order 1 of the point cloud level where the current point is located and the offset spatial order 2, and generate the spatial order 3 of the point cloud level before the point cloud level where the current point is located and the offset spatial order 4, in this spatial order 1, select M points forward of the current point as neighbor candidate points, and in this spatial order 2, select N 1 points forward and backward of the current point N 2 points of , as neighbor candidate points; map the current point to the corresponding position in the spatial order 3 and select the corresponding position forward N 3 points and backward N 4 points as neighbor candidate points, Map the current point to the corresponding position in the spatial order 4 and select the corresponding position forward N 5 points and backward N 6 points as neighbor candidate points; calculate each neighbor candidate point to the current The distance of the point, the m points with the smallest distance among the neighbor candidate points are determined as the neighbors of the current point;
  • the second aspect of the present invention provides a point cloud layering method based on spatial order, including: generating the spatial order codes of all points by using the coordinates of the point cloud; Points, which divide the point cloud into two or more layers.
  • the points with the same high-order spatial order code select some of the points, and divide the point cloud into one or more levels, including: selecting the points with the same high-order position and using the spatial order code to shift to the right, all the points in the point cloud
  • the points of LOD(n) constitute LOD(n)
  • the spatial sequence code of each point in the LOD(n) is right-shifted by N bits to obtain the right-shifted spatial sequence code of LOD(n).
  • the right-shifted spatial sequence code has the same size Points constitute a point set, the LOD(n) is divided into multiple point sets, and each point set selects one or several points to be divided into LOD(n-1), which is not divided into LOD(n)
  • the point cloud layering method based on spatial order also includes a point cloud prediction method after point cloud layering, which specifically includes: using any point cloud layering method based on spatial order to obtain two or more points of the point cloud. Multiple levels; use the coordinates of the point cloud to generate the point cloud level where the current point is located and the spatial sequence code 1 of the previous point cloud level and sort them to obtain the spatial sequence 1 of the point cloud; add an offset to the geometric coordinates of the point cloud Shift the value to get the new coordinates, use the new coordinates to generate the point cloud level where the current point is located and the spatial sequence code 2 of the previous point cloud level and sort them to get the spatial sequence 2; in the spatial sequence 1, select the forward direction of the current point The M points of are as neighbor candidate points; in the spatial order 2, select N points forward of the current point as neighbor candidate points; calculate the distance from each neighbor candidate point to the current point, in the neighbor candidate point Determine the m points with the smallest distance as the neighbors of the current point; according to the attribute reconstruction values of the m
  • a third aspect of the present invention provides a point cloud encoding method based on spatial order, including: determining the attribute prediction value of the current point by adopting any of the point cloud prediction methods described in the first aspect or the second aspect; The difference between the attribute value of the current point and the attribute prediction 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 a point cloud code stream.
  • the point cloud encoding method further includes: during quantization, using different quantization step sizes for points at different point cloud levels; writing the quantization step sizes into a header file and encoding them into a point cloud code stream.
  • a fourth aspect of the present invention provides a point cloud decoding method based on spatial order, comprising: determining the attribute prediction value of the current point by adopting any one of the point cloud prediction methods described in the first aspect or the second aspect; The point 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.
  • the point cloud decoding method further includes: decoding the point cloud code stream to obtain a quantization step size; when inverse quantization, different quantization step sizes are used for points at different point cloud levels.
  • a fifth aspect of the present invention provides a point cloud prediction device, comprising a processor, a memory and a communication bus; the memory stores a computer-readable program executable by the processor; the communication bus implements the processor and the memory Connection communication between the two; when the processor executes the computer-readable program, the processor implements any one of the point cloud prediction methods described in the first aspect or the second aspect.
  • a point cloud encoding device including a processor, a memory and a communication bus; the memory stores a computer-readable program executable by the processor; the communication bus implements the communication between the processor and the memory connection communication; when the processor executes the computer-readable program, the point cloud encoding method described in the third aspect is implemented.
  • a seventh aspect of the present invention provides a point cloud decoding device, including a processor, a memory, and a communication bus; the memory stores a computer-readable program executable by the processor; the communication bus implements the communication between the processor and the memory connection communication; when the processor executes the computer-readable program, the point cloud decoding method described in the fourth aspect is implemented.
  • the beneficial effects of the present invention are: compared with the prior art, the point cloud prediction method and the point cloud layering method based on the spatial order provided by the present invention, by calculating candidate candidates in two different spatial orders The distance between the neighbor point and the current point, from which the m nearest neighbors to the current point are selected and used for attribute prediction value calculation, and then attribute encoding is performed according to the attribute prediction value or according to the attribute prediction value of the current point and the point cloud
  • the attribute code stream is used for attribute decoding, and at the same time, the point cloud can be divided into multiple coding levels.
  • the point cloud prediction method based on spatial order provided by the present invention provides more accurate prediction values when predicting point cloud attributes, thereby improving the encoding and decoding performance of point cloud attributes. , which realizes the hierarchical division of point clouds, which can improve the correlation between geometric information and attribute information of point clouds.
  • FIG. 1 is a schematic flowchart of an embodiment of a point cloud prediction method based on spatial order provided by the present invention
  • FIG. 2 is a schematic flowchart of an embodiment of a method for layering point clouds based on spatial order provided by the present invention
  • FIG. 3 is a schematic flowchart of an embodiment of a point cloud encoding method provided by the present invention.
  • FIG. 4 is a schematic flowchart of an embodiment of a point cloud decoding method provided by the present invention.
  • FIG. 5 is a schematic diagram of the sequence of the two-dimensional Morton code of the two-dimensional point cloud provided by the present invention.
  • FIG. 6 is a schematic diagram of a two-dimensional offset Morton code sequence of a two-dimensional point cloud provided by the present invention.
  • FIG. 7 is a schematic diagram of a two-dimensional Hilbert sequence provided by the present invention.
  • FIG. 8 is a schematic diagram of a two-dimensional Hilbert sequence of a two-dimensional point cloud provided by the present invention.
  • FIG. 9 is a schematic diagram of a two-dimensional offset Hilbert sequence of a two-dimensional offset point cloud provided by the present invention.
  • FIG. 10 is a schematic diagram of the Morton sequence of a three-dimensional point cloud provided by the present invention.
  • FIG. 11 is a schematic diagram of the sequence of offset Morton codes of a three-dimensional offset point cloud provided by the present invention.
  • FIG. 13 is a schematic diagram of the Morton order 1 arrangement of the current layer after point cloud layering provided by the present invention.
  • 15 is a schematic diagram of the Morton order 3 arrangement of the upper layer after the point cloud layering provided by the present invention.
  • 16 is a schematic diagram of the Morton order 4 arrangement of the upper layer after the point cloud layering provided by the present invention.
  • 17 is a schematic diagram of the Morton order 1 arrangement of the current layer that does not include the points of the previous layer after the point cloud layering provided by the present invention
  • 19 is a schematic diagram of two Morton sequences within a layer and between layers provided by the present invention.
  • FIG. 20 is a schematic diagram of point cloud space sequence 1 provided by the present invention.
  • 21 is a schematic diagram of point cloud space sequence 2 provided by the present invention.
  • Fig. 22 is the schematic diagram of mapping table 1 provided by the present invention.
  • Fig. 23 is the schematic diagram of mapping table 2 provided by the present invention.
  • Fig. 24 is the schematic diagram of mapping table 3 provided by the present invention.
  • Fig. 25 is the schematic diagram of mapping table 4 provided by the present invention.
  • 26 is a schematic diagram of the offset Morton code and subscript of the point of the point cloud provided by the present invention.
  • 27 is a schematic diagram of the offset Morton code and the subscript of the point in the lower layer of the point cloud provided by the present invention.
  • the present invention provides a point cloud layering method, prediction method, encoding method, and decoding method based on spatial order. Detailed description. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention.
  • Embodiment 1 Bidirectional search for neighbors in two-dimensional double Morton order based on the point cloud prediction method based on spatial order
  • FIG. 5 we use a two-dimensional point cloud and a two-dimensional Morton sequence as an example to illustrate the technical features more clearly, and the same technology can be applied to a three-dimensional point cloud.
  • the point cloud has a total of 11 points, namely A, B, C, D, E, F, G, H, I, J, K, the number represents the Morton code order in the 3D point cloud.
  • the point cloud is encoded according to the Morton order during encoding.
  • the point whose Morton code order is less than 49 is an encoded point and is marked as a circle.
  • the Morton code order is greater than A point equal to 49 is an unencoded point, marked as a triangle, and the next point that needs to be encoded is I. If the neighbors of the point I to be encoded are searched in the Morton order of the point cloud as a reference point, and three points are searched forward as neighbors according to the Morton order, the searched neighbors are the three points H, G, and F. However, in the point cloud, these three neighbors are far away from the current point I, and the method of the present invention can solve this problem.
  • Embodiment 2 Bi-directional search for neighbors in two-dimensional double-Hilbert order based on the point cloud prediction method based on spatial order
  • FIG 7 is a schematic diagram of the Hilbert order in a two-dimensional space, so as to illustrate the technical features more clearly, and the same technology can be applied in a 3D point cloud.
  • the point cloud has a total of 12 points.
  • the numbers represent the Hilbert order in the three-dimensional point cloud.
  • the point cloud is encoded in order. Points with Hilbert order less than 54 are encoded points and marked as circles. Points with Hilbert order greater than or equal to 54 are unencoded points, marked as triangles, which currently need to be encoded. The next point is 54.
  • the neighbors of the point 54 to be encoded are searched for the reference point in the Hilbert order of the point cloud, and three points are searched forward as neighbors according to the Hilbert order, the searched neighbors are 53, 47, and 41. There are three points, but in the point cloud these three neighbors are far from the current point 54, and the method of the present invention can solve this problem.
  • Embodiment 3 The point cloud prediction method based on spatial order searches for neighbors in two-way double Morton order in 3D
  • the forward and/or backward search of the current point is then performed using the Morton order and the offset Morton order to obtain the neighbors of the current point. If only the neighbors of the current point F are searched in the Morton order of the point cloud as the reference point, and three points are searched forward as neighbors according to the Morton order, the searched neighbors are the three points E, D, and C. However, in the point cloud, the three neighbors are far away from the current point F16, and the method of the present invention can solve this problem.
  • the forward search and backward search are performed on the point cloud in the offset Morton order.
  • the searched point must be an encoded point.
  • the forward search three neighbors are B, D, and A
  • Compare the first-order distances of all candidate points select the 2 points with the smallest distance as neighbors, and finally select the neighbor points as points B and C. These 2 points are better than the neighbors who do not use this technology in terms of spatial distance.
  • the attribute prediction value of the current point F is determined.
  • Embodiment 4 Point cloud prediction method based on spatial order after point cloud layering
  • the point cloud has been divided into two layers: the current layer and the previous layer.
  • the spatial order 1 is the original spatial order
  • the spatial order 2 is the offset spatial order.
  • the point cloud of the current layer is shown in Figure 5.
  • There are 11 points in the point cloud which are A, B, C, D, E, F, G, H, I, J, K, and the corresponding spatial order is 27, 28, 31, 40, 41, 42, 45, 46, 49, 50, 52, and the spatial order 1 of these points to generate the current layer is shown in Figure 13.
  • the points on the upper layer of the layered point cloud are B, E, G, I, K, a total of 5 points, the corresponding spatial order is 44, 48, 52, 53, 61, and the spatial order of the point cloud on the previous layer is 3 As shown in Figure 15.
  • the method of generating the offset spatial order to generate the spatial order 4 of the previous layer use the method of generating the offset spatial order to generate the spatial order 4 of the previous layer, and the spatial order corresponding to the points E, G, I, B, and K in the spatial order 4 is 44, 48 , 52, 53, 61, as shown in Figure 16.
  • This embodiment specifically describes how to use two or more spatial sequences to perform neighbor search on a point cloud that has been divided into two or more levels during the encoding process.
  • dual Morton bidirectional neighbor search is used within layers and dual Morton bidirectional neighbor search is used between layers.
  • the B, E, G, I, and K points in Fig. 15 are first encoded.
  • the forward search is used.
  • 4 uses forward search and backward search.
  • point I is encoded
  • point G is obtained by forward searching in spatial order 3
  • points G and B are obtained by forward and backward searching in spatial order 4.
  • forward search is used in the current layer space order 1
  • forward search and backward search are used in the current layer space order 2
  • inter-layer neighbor search use double search.
  • the current to-be-coded point is mapped to the corresponding position of Morton order 3 of the previous layer by means of a pointer or a mapping table. From this position, forward search and backward search are used in the space order 3 of the previous layer, and then double pointers are used. Or map the current to-be-coded point to the corresponding position in the spatial order 4 of the previous layer, and use the forward search and the backward search in the spatial order 4 of the previous layer from this position. Calculate the distance between all the searched candidate points and the current point, and determine the nearest m points as neighbors.
  • dual-Morton bidirectional neighbor search is used only between layers.
  • inter-layer neighbor search because the points in the previous layer have been encoded, you can use spatial order 3 to search backward neighbors, and use double pointers or a mapping table to map the current point to be encoded to the corresponding position of the previous layer in spatial order 3
  • double pointer or mapping table to map the current to-be-coded point to the corresponding position of the previous layer of spatial order 4
  • forward search and backward search use forward search and backward search. Calculate the distance between all the searched candidate points and the current point, and determine the nearest m points as neighbors.
  • the points in the spatial order 1 of the current layer do not include the points in the spatial order 1 of the previous layer, and the points in the spatial order 2 of the current layer also do not include the points in the spatial order 2 of the previous layer.
  • the points of spatial order 1 of the current layer are shown in Figure 17, which only include points A, C, D, F, H, and J, and the points of spatial order 1 of the previous layer are shown in Figure 18, which only include points F, A, and C. , J, D, H.
  • both the current layer and the previous layer use the same spatial order, that is, spatial order 1 and spatial order 2 including all points, as shown in FIG. Two-Morton Bidirectional Neighbor Search is used between layers.
  • Embodiment 5 Use the mapping table to access each other between two spatial sequences
  • the point cloud has a total of 8 points, numbered 0-7.
  • the original spatial order of these 8 points is shown in Figure 20.
  • the obtained partial The shift space order is shown in Figure 21.
  • searching for neighbor points it is necessary to map the subscript position of the current point in the original space order to the subscript position of the offset space order.
  • the method of the mapping table is used in the two Mapping between spatial orders.
  • mapping table 1 For the mapping of the original space order to the offset space order, an array with the same size and number of points is established, and the subscripts of the points corresponding to the original space order stored in the array in the offset space order are called mapping table 1, as shown in Figure 22. Show.
  • mapping table 2 For the mapping of the offset space order to the original space order, an array with the same size and the same number of points is created, and the subscripts of the points corresponding to the offset space order stored in the array in the original space order are called mapping table 2, as shown in Figure 23. Show.
  • the point with the subscript 3 in the original space order access the position with the subscript 3 of the mapping table 1, get its subscript 5 in the offset space order, and then use the subscript to access the offset space order, get the offset Move the corresponding point in the spatial order.
  • Embodiment 6 Use a pointer or a mapping table to perform mutual access between one or more spatial sequences between different layers.
  • the point cloud has a total of 8 points, and the numbers are 0-7.
  • the original spatial order of these 8 points is shown in Figure 26, which is divided into two layers.
  • the current layer includes 8 points, and the subscript numbers are 0-7, there are 5 points to be coded, numbered 0, 2, 3, 4, 6 respectively, there are 3 coded points in the previous layer, numbered 1, 5, 7, the spatial order of these 3 points Bitmap 27.
  • the current layer refers to the layer with more points
  • the previous layer refers to the layer with fewer points after being divided.
  • two pointers are used for mapping.
  • the subscript of the previous layer corresponding to the i point of the current layer is j, and the subscript of the j point of the previous layer corresponding to the current layer is i.
  • a mapping table is used for mapping.
  • For the spatial order of the current layer to be mapped to the spatial order of the previous layer an array with the same size as the current layer's points is established, the length of the array is 8, and the corresponding current layer stored in the array is created.
  • the points of spatial order are subscripted in the spatial order of the previous layer, which is called mapping table 3, as shown in Figure 24.
  • For the mapping of the spatial order of the previous layer to the spatial order of the current layer an array with the same size as the number of points of the previous layer is established, and the subscripts of the points corresponding to the spatial order of the previous layer stored in the array in the spatial order of the current layer are called mapping Table 4, as shown in Figure 25.
  • the position of the subscript 3 of the mapping table 3 access the position of the subscript 3 of the mapping table 3 to obtain its subscript 5 in the previous layer space order, and then use the subscript to access the previous layer space order, Get the corresponding point in the spatial order of the previous layer.
  • the third point in the spatial order of the previous layer access the position of the subscript 2 of the mapping table 4, get its subscript 7 in the original spatial order, and then use the subscript to access the original spatial order to get the original space corresponding points in the sequence.
  • Embodiment 7 point cloud layering method based on spatial order
  • the coordinates of the point cloud are used to generate the spatial sequence code of all points.
  • Morton code is used as an example: the geometric position of the point in the point cloud is represented by three-dimensional Cartesian coordinates (X, Y, Z). , where N bits are used to represent each coordinate value, and the coordinates of the kth point (X k , Y k , Z k ) can be expressed as Then the Morton code corresponding to the kth point can be expressed as
  • Embodiment 8 Point cloud prediction method after point cloud layering based on spatial order
  • the point cloud has a total of 8 points, numbered 0-7.
  • the original spatial sequence of these 8 points is shown in Figure 13.
  • the point cloud has been divided into two layers using the point cloud layering method of the present invention.
  • the current layer includes a total of 8 points from 0 to 7, of which there are 5 points to be coded, numbered 0, 2, 3, 4, 6, and 3 coded points in the previous layer, numbered 1, 5, 7,
  • the spatial order of these 3 points is shown in bitmap 15.
  • neighbors 0 and 1 are searched forward in the layer, neighbor 1 is searched forward between layers, and neighbor 5 is searched backward between layers, using the attribute values of the three points 0, 1, and 5. Weighted predictions get attribute predictions.
  • neighbors 3 and 4 are found in the forward search within the layer, neighbor 1 is found in the forward search between layers, and neighbor 5 is found in the backward search between layers, and is selected from the four points 1, 3, 4, and 5.
  • Three points use the attribute values of these three points to perform weighted prediction to obtain the attribute prediction value.
  • Embodiment 9 point cloud attribute encoding method based on spatial order point cloud prediction method
  • the predicted value of the corresponding point cloud is obtained, and the residual value is obtained by subtracting the attribute value of the current point and the predicted value.
  • the next step is to quantize the residual value of the point cloud.
  • the quantization step size of the residual value of different levels can be set to different values. According to the coding order, the level with fewer points is smaller than the quantization step size. Quantization, quantization with larger quantization step size is performed on multiple levels of points, and the quantization step size parameters of each level are written into the code stream at the same time.
  • Embodiment ten point cloud attribute decoding method based on spatial order point cloud prediction method
  • the point cloud prediction method is first used to determine the attribute prediction value of the current point, and the double-Morton bidirectional neighbor search is used.
  • the current point to be decoded use forward search to obtain M neighbor candidate points in spatial order 1, use forward search to obtain N 1 neighbor candidate points in spatial order 2, and use backward search to obtain N 2 neighbor candidate points.
  • M, N 1 , and N 2 are all natural numbers greater than or equal to 0
  • entropy decoding is performed on the point cloud code stream to obtain the inverse quantization step size
  • entropy decoding is performed on the point cloud attribute code stream to obtain the attribute quantization coefficient
  • the attribute quantization coefficient of the current point to be decoded is inversely quantized to obtain the current The attribute residual value of the point to be decoded.
  • the sum of the attribute prediction value of the current point to be decoded and the attribute residual value of the current point to be decoded is finally calculated, the attribute reconstruction value of the current point to be decoded is determined, and the attribute decoding is completed.
  • Embodiment 11 Point cloud attribute decoding method based on layered point cloud prediction method
  • the point cloud has been divided into two layers: the current layer and the previous layer, using the intra-layer double Morton bidirectional neighbors Search and Inter-Layer Double Morton Bidirectional Neighbor Search.
  • the points of the previous layer have been decoded, and the points of the current layer are decoded.
  • the intra-layer double-Morton bidirectional neighbor search can be used, or the inter-layer dual-Morton bidirectional neighbor search can be used: within the layer, for The current point to be decoded uses forward search to obtain M neighbor candidate points in the spatial order 1 of the current layer, uses forward search to obtain N 1 neighbor candidate points in the current layer spatial order 2, and uses backward search to obtain N 2 A neighbor candidate point; between layers, because the points in the previous layer have been decoded, use the double pointer or the mapping table to map the current point to be encoded to the corresponding position of the spatial order 3 of the previous layer and use the forward search to get N 3 neighbor candidate points, use backward search to obtain N 4 neighbor candidate points, use double pointer or mapping table to map the current to-be-coded point to the corresponding position of the previous spatial order 4 and use forward search to obtain N 5 N 6 neighbor candidate points are obtained by using backward search.
  • FIG. 13 in the layer, for the current point J to be decoded, three neighbor candidate points I, H, G are obtained by forward search in the spatial order 1 of the current layer, as shown in FIG. 14 .
  • 2 neighbor candidate points C and B are obtained by forward search
  • 2 neighbor candidate points D and H are obtained by backward search;
  • Decoding using double pointers or a mapping table to map the current point to be encoded to the corresponding position I of the upper layer spatial order 3 and use forward search to obtain 2 neighbor candidate points G, E, use backward search to obtain 1 neighbor Candidate point I, use double pointer or mapping table to map the current point to be encoded to the corresponding position of the previous layer spatial order 4 and use forward search to obtain 2 neighbor candidate points I and G, and use backward search to obtain 0 Neighbor candidate points.
  • Calculate the distance from the searched neighbor candidate point to the current point to be decoded determine the nearest three points as the neighbors of the current point to be decoded, calculate the weighted average of the attributes of the three neighbors, and obtain the attribute prediction of the current point to be decoded value.
  • entropy decoding is performed on the point cloud code stream to obtain the inverse quantization step size
  • entropy decoding is performed on the point cloud attribute code stream to obtain the attribute quantization coefficient.
  • the inverse quantization step size at different levels can be different values. , performing inverse quantization on the attribute quantization coefficient of the current point to be decoded to obtain the attribute residual value of the current point to be decoded.
  • the sum of the attribute prediction value of the current point to be decoded and the attribute residual value of the current point to be decoded is finally calculated, the attribute reconstruction value of the current point to be decoded is determined, and the attribute decoding is completed.
  • the present invention also provides a point cloud attribute decoding device, as shown in FIG. 28 , which includes at least one processor 20; a display screen 21; Including communication interface (Communications Interface) 23 and bus 24.
  • the processor 20 , the display screen 21 , the memory 22 and the communication interface 23 can communicate with each other through the bus 24 .
  • the display screen 21 is set to display a user guide interface preset in the initial setting mode.
  • the communication interface 23 can transmit information.
  • the processor 20 may invoke logic instructions in the memory 22 to perform the methods in the above-described embodiments.
  • logic instructions in the memory 22 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
  • the memory 22 may 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 20 executes functional applications and data processing by running the software programs, instructions or modules stored in the memory 22, ie, implements the methods in the above embodiments.
  • the memory 22 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the electronic device, and the like. Additionally, memory 22 may include high-speed random access memory, and may also include non-volatile memory. For example, U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes, or temporary state storage medium.
  • U disk U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes, or temporary state storage medium.
  • the spatial order-based point cloud prediction method and the point cloud layering method provided by the present invention are used for the results obtained by point cloud compression and the benchmark results of the test platform PCRM1.0.
  • the method provided by the present invention has a , Chroma Cr has a large performance improvement under various conditions; from the data in Table 5-Table 8, it can be seen that in the point cloud attribute prediction under multi-layer, the method provided by the present invention is for color attributes, brightness, brightness, The chromaticity Cb and chromaticity Cr have great performance improvement under various conditions.
  • the present invention provides a point cloud layering method based on spatial order, a point cloud prediction method and device, and the point cloud layering method based on spatial order includes: generating a spatial order of point clouds; The points in the point cloud with the same high-order spatial sequence code are selected, and some of the points are selected to divide the point cloud into one or more levels.
  • the point cloud prediction method includes: generating a spatial order of the point cloud; using two or more spatial orders to perform forward and/or backward neighbor search of the current point; Attribute prediction value.
  • the method provided by the invention realizes the hierarchical division of point clouds, can improve the utilization of the correlation of geometric information and attribute information of point clouds, and provides more accurate prediction values when predicting point cloud attributes, thereby improving the encoding and decoding of point cloud attributes. performance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种基于空间顺序的点云预测方法、点云分层方法及设备。所述点云预测方法包括:生成点云的两个或多个空间顺序;使用所述两个或多个空间顺序进行当前点的前向和/或后向搜索,获得所述当前点的邻居;根据所述当前点的邻居确定所述当前点的属性预测值。所述点云分层方法包括:利用点云的坐标生成所有点的空间顺序码;对于所述空间顺序码高位相同的点,选择其中的部分点,将点云划分为两个或多个层次。本发明提供的点云预测方法实现了灵活的邻居搜索模式,在进行点云属性预测的时候提供更准确的预测值,本发明提供的点云分层方法实现了点云的层次划分,能够进一步利用点云的几何信息和属性信息相关性,从而提高点云属性的压缩性能。

Description

一种基于空间顺序的点云分层方法、点云预测方法及设备 技术领域
本发明涉及点云处理技术领域,特别涉及一种基于空间顺序的点云分层方法、点云预测方法及设备,以及一种基于空间顺序的编码方法、解码方法及其设备。
背景技术
三维点云是现实世界数字化的重要表现形式。随着三维扫描设备(如激光、雷达等)的快速发展,点云的精度和分辨率变得更高。高精度点云广泛应用于城市数字化地图的构建,在智慧城市、无人驾驶、文物保护等众多热门研究中起技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来了巨大挑战,因此对点云进行压缩变得十分重要。
点云压缩主要分为几何压缩和属性压缩,目前由中国AVS(Audio Video coding Standard)点云压缩工作组所提供的测试平台PCRM中描述的点云属性压缩方法主要采用基于三维空间顺序的点云预测方法,即将当前点云按照点云的位置信息进行空间顺序排序,选取当前点空间顺序的共面、共线的邻居点的属性值加权值作为当前点的属性预测值,最后用当前点的实际属性值减去属性预测值得到属性残差值。
在点云属性编码时候,需求从粗到细地对点云进行渐进编码。在未分层预测中,使用空间顺序进行预测只能使用单方向的属性,相关性比较弱。使用渐进编码方式配合双空间顺序的预测方法,可以使用双向的预测,提高点云属性地编码性能。因此,现有技术还有待于改进和发展。
发明内容
本发明提供一种基于空间顺序的点云分层方法、点云预测方法及设备,以及一种 基于空间顺序的编码方法、解码方法及其设备,用于解决点云分层编码需求,同时增强了邻居与当前点的相关性,提高了点云属性压缩的性能。
本发明的目的在于提供了一种基于空间顺序的点云预测方法。
本发明的另一目的在于提供了一种基于空间顺序的点云分层方法。
本发明的再一目的在于提供了一种基于空间顺序的点云编码方法。
本发明的还一目的在于提供了一种基于空间顺序的点云解码方法。
本发明的还一目的在于提供了一种点云预测设备。
本发明的还一目的在于提供了一种点云编码设备。
本发明的还一目的在于提供了一种点云解码设备。
本发明的发明目的是以如下技术方案实施的,即:
本发明的第一方面,提供了一种基于空间顺序的点云预测方法,包括:生成点云的两个或多个空间顺序;使用该两个或多个空间顺序进行当前点的前向和/或后向搜索,获得该当前点的邻居;根据该当前点的邻居确定该当前点的属性预测值。
优选地,该生成点云的两个或多个空间顺序,包括:利用点云的坐标生成所有点的空间顺序码1,使用该空间顺序码1对点云的所有点进行排序得到点云的空间顺序1;把该点云的几何坐标加上一个偏移值得到新的坐标,利用该新的坐标生成所有点的空间顺序码2并排序,得到空间顺序2,获得了点云的两个空间顺序。
优选地,该使用该两个或多个空间顺序进行当前点的前向和/或后向搜索,获得该当前点的邻居,包括:在该空间顺序1中选取当前点前向的M个点作为邻居候选点;在该空间顺序2中选取该当前点前向的N 1个点和/或后向的N 2个点作为邻居候选点;计算每个该邻居候选点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居。
优选地,该根据该当前点的邻居确定该当前点的属性预测值,包括:根据该当前点的m个邻居的属性重构值,确定该当前点的属性预测值。
优选地,该基于空间顺序的点云预测方法,还包括点云分层后的点云预测方法,具体包括方法一、方法二、方法三、或方法四。其中,
方法一:点云分层后,生成该当前点所在的点云层次的空间顺序1和偏移后的空间顺序2,在该空间顺序1中选取该当前点前向的M个点作为邻居候选点;在该空间顺序2中选取该当前点前向的N 1个点和后向的N 2个点作为邻居候选点;计算每个该邻居候选 点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居;
方法二:点云分层后,生成该当前点所在的点云层次之前的点云层次的空间顺序1和偏移后的空间顺序2,将该当前点映射到该空间顺序1中对应的位置并选取该对应的位置前向的N 1个点和后向的N 2个点作为邻居候选点;将该当前点映射到该空间顺序2中对应的位置并选取该对应的位置前向的N 3个点和后向的N 4个点作为邻居候选点;计算每个该邻居候选点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居;
方法三:点云分层后,生成该当前点所在的点云层次以及之前的点云层次的空间顺序1和偏移后的空间顺序2,在该空间顺序1中选取该当前点前向的N 1个点和后向的N 2个点作为邻居候选点;在该空间顺序2中选取该当前点前向的N 3个点和后向的N 4个点作为邻居候选点;计算每个该邻居候选点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居;
方法四:点云分层后,生成该当前点所在的点云层次的空间顺序1和偏移后的空间顺序2,并且生成该当前点所在的点云层次之前的点云层次的空间顺序3和偏移后的空间顺序4,在该空间顺序1中选取该当前点前向的M个点作为邻居候选点,在该空间顺序2中选取该当前点前向的N 1个点和后向的N 2个点作为邻居候选点;将该当前点映射到该空间顺序3中对应的位置并选取该对应的位置前向的N 3个点和后向的N 4个点作为邻居候选点,将该当前点映射到该空间顺序4中对应的位置并选取该对应的位置前向的N 5个点和后向的N 6个点作为邻居候选点;计算每个该邻居候选点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居;
本发明的第二方面,提供了一种基于空间顺序的点云分层方法,包括:利用点云的坐标生成所有点的空间顺序码;对于该空间顺序码高位相同的点,选择其中的部分点,将点云划分为两个或多个层次。
优选地,该对于该空间顺序码高位相同的点,选择其中的部分点,将点云划分为一个或多个层次,包括:选择高位相同的点用空间顺序码右移实现,点云中所有的点构成LOD(n),对该LOD(n)中的每个点的该空间顺序码进行右移N位得到LOD(n)的右移空间顺序码,该右移空间顺序码大小相同的点构成一个点集,该LOD(n)被划分为多个点集,每个该点集中选择一个或几个点划分到LOD(n-1)中,该LOD(n)中未被划分到该LOD(n-1)中的点被划分到R(n);对该LOD(n-1)中的每个点的该空间顺序码进行右移(N+3)位的 计算,得到LOD(n-1)的右移空间顺序码,该右移空间顺序码大小相同的点构成一个点集,该LOD(n-1)被划分为多个点集,每个该点集中选择一个或几个点划分到LOD(n-2)中,该LOD(n-1)中未被划分到该LOD(n-2)中的点被划分到R(n-1);重复对该LOD(n-1)的操作,迭代划分,得到所有的点云层次LOD(k)(k=0,……,n)。
优选地,该基于空间顺序的点云分层方法,还包括点云分层后的点云预测方法,具体包括:采用任意一项基于空间顺序的点云分层方法获得点云的两个或多个层次;利用点云的坐标生成当前点所在的点云层次以及之前的点云层次的空间顺序码1并排序,得到点云的空间顺序1;把该点云的几何坐标加上一个偏移值得到新的坐标,利用该新的坐标生成当前点所在的点云层次以及之前的点云层次的空间顺序码2并排序,得到空间顺序2;在该空间顺序1中选取当前点前向的M个点作为邻居候选点;在该空间顺序2中选取该当前点前向的N个点作为邻居候选点;计算每个该邻居候选点到该当前点的距离,在该邻居候选点中确定该距离最小的m个点作为该当前点的邻居;根据该当前点的m个邻居的属性重构值,确定该当前点的属性预测值。
本发明的第三方面,提供了一种基于空间顺序的点云编码方法,包括:采用第一方面、或第二方面所述的任意一项点云预测方法确定当前点的属性预测值;根据该当前点的属性值与该当前点的属性预测值的差值确定该当前点的属性残差值;对该当前点的属性残差值进行编码,得到点云码流。
优选地,该点云编码方法还包括:量化时,对不同点云层次的点采用不同的量化步长;将该量化步长写入头文件并编码进点云码流。
本发明的第四方面,提供了一种基于空间顺序的点云解码方法,包括:采用第一方面、或第二方面所述的任意一项点云预测方法确定该当前点的属性预测值;对点云码流进行解码,得到该当前点的属性残差值;根据该当前点的属性预测值与该当前点的属性残差值的和值确定该当前点的属性重构值。
优选地,该点云解码方法还包括:对点云码流进行解码,得到量化步长;反量化时,对不同点云层次的点采用不同的该量化步长。
本发明的第五方面,提供了一种点云预测设备,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现第一方面、或第二方面所述的任意一项点云预测方法。
本发明的第六方面,提供了点云编码设备,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现第三方面所述的点云编码方法。
本发明的第七方面,提供了点云解码设备,包括处理器、存储器及通信总线;该存储器上存储有可被该处理器执行的计算机可读程序;该通信总线实现处理器和存储器之间的连接通信;该处理器执行该计算机可读程序时实现第四方面所述的点云解码方法。
基于上述技术方案,本发明的有益效果是:与现有技术相比,本发明提供的基于空间顺序的点云预测方法、点云分层方法,通过计算在两个不同的空间顺序下的候选邻居点与当前点的距离,从中选出m个距离当前点最近的邻居,并用于属性预测值计算,然后根据所述属性预测值进行属性编码或根据所述当前点的属性预测值以及点云属性码流进行属性解码,同时可以实现将点云划分为多个编码层次。本发明提供的基于空间顺序的点云预测方法在进行点云属性预测时候提供更准确的预测值,从而提高点云属性的编码和解码性能,本发明提供的基于空间顺序的点云分层方法,实现了点云层次划分,能够提升点云的几何信息和属性信息的相关性。
附图说明
图1是本发明提供的基于空间顺序的点云预测方法实施例的流程示意图;
图2是本发明提供的基于空间顺序的点云分层方法实施例的流程示意图;
图3是本发明提供的点云编码方法实施例的流程示意图;
图4是本发明提供的点云解码方法实施例的流程示意图;
图5为本发明提供的二维点云的二维莫顿码顺序的示意图;
图6为本发明提供的二维点云的二维偏移莫顿码顺序的示意图;
图7为本发明提供的二维希尔伯特顺序的示意图;
图8为本发明提供的二维点云的二维希尔伯特顺序的示意图;
图9为本发明提供的二维偏移点云的二维偏移希尔伯特顺序的示意图;
图10为本发明提供的三维点云的莫顿顺序的示意图;
图11为本发明提供的三维偏移点云的偏移莫顿码顺序的示意图;
图12为本发明提供的层内和层间多个莫顿顺序的示意图;
图13为本发明提供的点云分层后当前层的莫顿顺序1排列的示意图;
图14为本发明提供的点云分层后当前层的莫顿顺序2排列的示意图;
图15为本发明提供的点云分层后上一层的莫顿顺序3排列的示意图;
图16为本发明提供的点云分层后上一层的莫顿顺序4排列的示意图;
图17为本发明提供的点云分层后不包括上一层的点的当前层的莫顿顺序1排列的示意图;
图18为本发明提供的点云分层后不包括上一层的点的当前层的莫顿顺序2排列的示意图;
图19为本发明提供的层内和层间两个莫顿顺序的示意图;
图20为本发明提供的点云空间顺序1的示意图;
图21为本发明提供的点云空间顺序2的示意图;
图22为本发明提供的映射表1的示意图;
图23为本发明提供的映射表2的示意图;
图24为本发明提供的映射表3的示意图;
图25为本发明提供的映射表4的示意图;
图26为本发明提供的点云的点的偏移莫顿码和下标的示意图;
图27为本发明提供的点云下一层的点的偏移莫顿码和下标的示意图;
图28是本发明提供的实施例的设备的示意图;
具体实施方式
本发明提供一种基于空间顺序的点云分层方法、预测方法、编码方法、解码方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包 括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
实施例一:基于空间顺序的点云预测方法的在二维下双莫顿顺序双向查找邻居
本实施例中我们使用二维点云和二维莫顿顺序作为例子,以便更清晰的说明本技术特征,同样的技术可以应用在三维点云当中。如图5所示,图中1-64为该局部空间的莫顿顺序,该点云共有11个点,分别为A、B、C、D、E、F、G、H、I、J、K,数字代表三维点云中的莫顿码顺序,编码时候按照莫顿顺序来对点云进行编码,莫顿码顺序小于49的点为已编码点,标记为圆形,莫顿码顺序大于等于49的点为未编码点,标记为三角形,当前需要编码的下一个点为I。若在该点云的莫顿顺序中搜索待编码点I的邻居作为参考点,根据莫顿顺序向前搜索3个点作为邻居,则搜索到的邻居为H、G、F这三个点,但是在该点云中这3个邻居距离当前点I距离较大,本发明的方法可以解决这个问题。
对原点云的每个点的x和y坐标加上偏移(1,1),加上偏移后的点A-K的位置如图6所示,点云偏移后对应的新的莫顿顺序叫做偏移莫顿顺序。在偏移莫顿顺序中对点云的当前点I进行前向搜索和后向搜索,搜索到的点必须是已编码的点,前向搜索3个邻居为A、G、F,后向搜索三个邻居为B、C、D,结合原始点云搜索到的H、G、F三个邻居,计算每个邻居与当前点的距离,例如计算点云中点I和点C的一阶距离为:1+2=3,比较所有候选点的一阶距离,选取距离最小的3个点作为邻居,最终选的邻居点为原始顺序下的A、B、D点,这三个点在空间距离上优于未使用本技术的邻居。
实施例二:基于空间顺序的点云预测方法的在二维下双希尔伯特序顺序双向查找邻居
本实施例中我们使用二维点云和二维希尔伯特顺序作为例子,图7是二维空间中希尔伯特序的示意图,以便更清晰的说明本技术特征,同样的技术可以应用在三维点云当 中。如图8所示,图中1-64为该局部空间的希尔伯特顺序,该点云共有12个点,数字代表三维点云中的希尔伯特顺序,编码时候按照希尔伯特顺序来对点云进行编码,希尔伯特顺序小于54的点为已编码点,标记为圆形,希尔伯特顺序大于等于54的点为未编码点,标记为三角形,当前需要编码的下一个点为54。若在该点云的希尔伯特顺序中搜索待编码点54的邻居作为参考点,根据希尔伯特顺序向前搜索三个点作为邻居,则搜索到的邻居为53、47、41这三个点,但是在该点云中这3个邻居距离当前点54距离较大,本发明的方法可以解决这个问题。
对原点云的每个点的x和y坐标加上偏移(1,1),加上偏移后的点云如图9所示,点云偏移后对应的新的希尔伯特顺序叫做偏移希尔伯特顺序。在偏移希尔伯特顺序中对点云进行前向搜索和后向搜索,搜索到的点必须是已编码的点,前向搜索3个邻居为53、52、51,后向搜索2个邻居为58、59,结合原始点云搜索到的53、47、41三个邻居,计算每个邻居与当前点的距离,例如计算偏移点云中点56和点49的一阶距离为:1+2=3,比较所有候选点的一阶距离,选取距离最小的3个点作为邻居,最终选的邻居点为原始顺序下的33、34、53点,这三个点在空间距离上优于未使用本技术的邻居。
实施例三:基于空间顺序的点云预测方法在三维下双莫顿顺序双向查找邻居
本实施例中我们使用三维点云和三维莫顿顺序作为例子,以便更清晰的说明本技术特征。如图1所示,首先生成点云的两个或多个空间顺序,计算点云中所有点的莫顿码,点云的莫顿码由点云的三维坐标二进制按位从高到底排列到一起得到,例如三维坐标为(1,2,0)的点,三维的二进制表示为01,10,00,生成其莫顿码为010100。生成点云所有点的莫顿码后,根据莫顿码的大小进行排序得到所有点的莫顿顺序。如图10所示,图中0-31为该三维局部空间的莫顿顺序,该局部空间存在A、B、C、D、E、F共6个点,数字代表三维点云中的莫顿码顺序,编码时候按照莫顿顺序来对点云进行编码,当前需要编码的点为F,点A、B、C、D、E、为已编码点。对原点云的每个点的x和y坐标加上偏移(1,1,1),加上偏移后的点如图11所示,点云偏移后对应的新的莫顿顺序叫做偏移莫顿顺序,原点云中当前需要编码的莫顿顺序16的点对应偏移莫顿顺序23的点。
然后使用莫顿顺序和偏移莫顿顺序进行当前点的前向和/或后向搜索,获得所述当前点的邻居。若只在该点云的莫顿顺序中搜索当前点F的邻居作为参考点,根据莫顿顺序向前搜索3个点作为邻居,则搜索到的邻居为E,D,C这三个点,但是在该点云中这3个邻居距离当前点F16距离较大,本发明的方法可以解决这个问题。在偏移莫顿顺序 中对点云进行前向搜索和后向搜索,搜索到的点必须是已编码的点,前向搜索3个邻居为B、D、A,后向搜索两个邻居为C、E,结合原始点云搜索到的E,D,C三个邻居,计算每个邻居与当前点的距离,例如计算点云中点F和点C的一阶距离为:1+1=2,比较所有候选点的一阶距离,选取距离最小的2个点作为邻居,最终选的邻居点为B、C点,这2个点在空间距离上优于未使用本技术的邻居。如图1所示,最后根据当前点F的邻居的属性值,确定当前点F的属性预测值。
实施例四:点云分层后的基于空间顺序的点云预测方法
在本实施例中,如图12所示,点云已被划分成当前层和上一层两个层次,图中空间顺序1为原始空间顺序,空间顺序2为偏移空间顺序。当前层的点云如图5所示,该点云共有11个点,分别为A、B、C、D、E、F、G、H、I、J、K,对应的空间顺序为27、28、31、40、41、42、45、46、49、50、52,把这些点生成当前层的空间顺序1如图13所示。对于当前层的点云,使用所述生成偏移空间顺序的方法,生成偏移点云如图6所示,得到当前层的空间顺序2,空间顺序2中点E、F、G、A、I、B、C、J、D、H、K对应的空间顺序为44、47、48、50、52、53、54、55、57、59、61,如图14所示。
通过分层后的点云上一层的点为B、E、G、I、K共5个点,对应空间顺序为44、48、52、53、61,上一层的点云空间顺序3如图15所示。对于上一层的点云,使用所述生成偏移空间顺序的方法,生成上一层的空间顺序4,空间顺序4中点E、G、I、B、K对应的空间顺序为44、48、52、53、61,如图16所示。
本实施例具体说明在编码过程中,如何使用两个或多个空间顺序对已被划分成为两个或多个层次的点云进行邻居搜索。
在一些实施方式中,在层内使用双莫顿双向邻居搜索,在层间使用双莫顿双向邻居搜索。在本实施例中先编码图15的B、E、G、I、K点,上一层里只能使用层内的双莫顿邻居搜索,在空间顺序3中使用前向搜索,在空间顺序4中使用前向搜索和后向搜索。例如编码I点,在空间顺序3中前向搜索得到G点,在空间顺序4中前向和后向搜索得到G和B点。编码B、E、G、I、K后,继续编码当前层A-K中的的未编码点。对当前层的点搜索邻居时候,对于层内搜索,在当前层空间顺序1中使用前向搜索,在当前层空间顺序2中使用前向搜索和后向搜索;对于层间邻居搜索,使用双指针或映射表的方式将当前待编码点映射到上一层的莫顿顺序3的对应位置,从该位置开始在上一层空间顺序3中使用前向搜索和后向搜索,再使用双指针或映射表的方式将当前待编码点映射到 上一层的空间顺序4的对应位置,从该位置开始在上一层空间顺序4中使用前向搜索和后向搜索。计算所有搜索到的候选点距离当前点的距离,确定最近的m个点作为邻居。
在一些实施方式中,仅仅在层间使用双莫顿双向邻居搜索。对于层间邻居搜索,因为上一层的点都已编码,可以使用空间顺序3后向邻居搜索,使用双指针或映射表的方式将当前待编码点映射到上一层空间顺序3的对应位置并使用前向搜索和后向搜索,使用双指针或映射表的方式将当前待编码点映射到上一层空间顺序4的对应位置并使用前向搜索和后向搜索。计算所有搜索到的候选点距离当前点的距离,确定最近的m个点作为邻居。
在一些实施方式中,当前层空间顺序1的点不包括上一层空间顺序1的点,当前层的空间顺序2的点也不包括上一层空间顺序2的点。当前层空间顺序1的点如图17所示,仅仅包括点A、C、D、F、H、J,上一层空间顺序1的点如图18所示,仅仅包括点F、A、C、J、D、H。
在一些实施方式中,当前层和上一层均使用同一个空间顺序,即包括所有点的空间顺序1和空间顺序2,如图19所示,在层内使用双莫顿双向邻居搜索,在层间使用双莫顿双向邻居搜索。
实施例五:使用映射表在两个空间顺序之间进行互相访问
本实施例中点云一共有8个点,编号为0-7,这8个点的原始空间顺序位图20所示,计算这8个点的偏移空间顺序并重新排序后,得到的偏移空间顺序如图21所示,在进行邻居点搜索时候,需要把当前点在原始空间顺序的下标位置映射到偏移空间顺序的下标位置,在实施中使用映射表的方法在两个空间顺序之间进行映射。
对于原始空间顺序映射到偏移空间顺序,建立一个大小和点数相同的数组,在数组里面存储的对应原始空间顺序的点在偏移空间顺序的下标,称为映射表1,如图22所示。
对于偏移空间顺序映射到原始空间顺序,建立一个大小和点数相同的数组,在数组里面存储的对应偏移空间顺序的点在原始空间顺序的下标,称为映射表2,如图23所示。
原始空间顺序中的下标为3的点,访问映射表1的下标为3的位置,得到其在偏移空间顺序中的下标5,再用该下标访问偏移空间顺序,得到偏移空间顺序中对应的点。
偏移空间顺序中的下标为3的点,访问映射表2的下标为2的位置,得到其在原始空间顺序中的下标4,再用该下标访问原始空间顺序,得到原始空间顺序中对应的点。
实施例六:使用指针或映射表在不同层之间进行一个或多个空间顺序之间进行互相 访问。
本实施例中点云一共有8个点,编号分别为0-7,这8个点的原始空间顺序如图26所示,分为两层,当前层包括8个点,下标编号分别为0-7,其中待编码点有5个,编号分别为0、2、3、4、6,前一层已编码点有3个,编号为1,5,7,这3个点的空间顺序位图27所示。在进行邻居点搜索时候,需要从当前层的在下标位置映射到上一层的下标位置,当前层是指点数较多的层,上一层是指指被划分后点数更少的层。
在一些实施方式中使用双指针的方式进行映射,首先初始化两个当前层下标i=0,上一层下标j=0,比较两个下标指向的点的空间顺序码的大小,如果当前层的i点的空间顺序码大于或大于等于上一层的j点的空间顺序码,让j增加1,如果当前层的i点的空间顺序码小于或小于等于上一层的j点的空间顺序码,让i增加1。每次更新下标,当前层的i点对应的上一层的下标就是j,上一层的j点对应当前层的下标就是i。
在一些实施方式中使用映射表的方式进行映射,对于当前层空间顺序映射到上一层空间顺序,建立一个大小和当前层点数相同的数组,数组长度为8,在数组里面存储的对应当前层空间顺序的点在上一层空间顺序的下标,称为映射表3,如图24所示。对于上一层空间顺序映射到当前层空间顺序,建立一个大小和上一层点数相同的数组,在数组里面存储的对应上一层空间顺序的点在当前层空间顺序的下标,称为映射表4,如图25所示。当前层空间顺序中的第3个的点,访问映射表3的下标为3的位置,得到其在上一层空间顺序中的下标5,再用该下标访问上一层空间顺序,得到上一层空间顺序中对应的点。上一层空间顺序中的第3个的点,访问映射表4的下标为2的位置,得到其在原始空间顺序中的下标7,再用该下标访问原始空间顺序,得到原始空间顺序中对应的点。
实施例七:基于空间顺序的点云分层方法
如图2所示,首先利用点云的坐标生成所有点的空间顺序码,该实施例以莫顿码为例:点云中点的几何位置用三维笛卡尔坐标(X,Y,Z)表示,其中用N比特来表示每个坐标值,第k个点的坐标(X k,Y k,Z k)可以表示成
Figure PCTCN2021114283-appb-000001
Figure PCTCN2021114283-appb-000002
那么第k个点对应的莫顿码可以表示为
Figure PCTCN2021114283-appb-000003
如图2所示,然后对于莫顿码高位相同的点,选择其中的部分点,将点云划分为两个或多个层次。选择高位相同的点用空间顺序码右移实现,在图26所示的三维点云 中,下标为0、1、2、3的点右移3位后莫顿码都为101001,从中选出一个点加入到下一层,根据下标计算(0+3)/2=1,选取下标为1的点进入下一层;下标为4、5、6的点右移3位后莫顿码都为101010,从中选出一个点加入到下一层,根据下标计算(4+6)/2=5,选取下标为5的点进入下一层;下标为7的点右移3位后莫顿码为111000,直接选取进入下一层。最终确定选取了下标为1、5、7的点进入下一层,下一层如图27所示,继续右移3位莫顿码,重复上述操作,得到点云层次。
实施例八:基于空间顺序的点云分层后的点云预测方法
本实施例中点云一共有8个点,编号为0-7,这8个点的原始空间顺序如图13所示,该点云已使用本发明的点云分层方法分为两层,当前层包括0-7一共8个点,其中待编码点有5个,编号分别为0、2、3、4、6,前一层已编码点有3个,编号为1,5,7,这3个点的空间顺序位图15所示。
在进行属性预测时候,使用当前层的点进行莫顿顺序前向预测,在层间使用莫顿顺序前向和后向预测,该实施例中我们使用的层内前向搜索范围是2,层间前向和后向的搜索范围是1,使用邻居的个数为3。假设上一层的前一层的1、5、7点已依次预测,当前层待预测点依次为0、2、3、4、6。预测0这个点的时候,层内前向没有邻居,层间前向没有邻居,层间后向搜索到邻居5,使用邻居5的属性值进行预测。预测2这个点的时候,层内前向搜索到邻居0、1,层间前向搜索到邻居1,层间后向搜索到邻居5,使用0、1、5这三个点的属性值进行加权预测得到属性预测值。预测4这个点的时候,层内前向搜索到邻居3、4,层间前向搜索到邻居1,层间后向搜索到邻居5,从1、3、4、5这四个点中选取三个点,使用这三个点的属性值进行加权预测得到属性预测值。
实施例九:基于空间顺序的点云预测方法的点云属性编码方法
如图3所示,在进行点云层次划分和点云属性预测后,得到了对应点云的预测值,使用当前点的属性值与预测值相减得到残差值。下一步对点云的残差值进行量化,对于不同的层次的残差值量化步长可以设置为不一样的数值,按照编码的顺序,对点数较少的层次进行比量化步长比较小的量化,对点数比较多层次进行量化步长比较大的量化,同时把各层次的量化步长参数写进码流。
实施例十:基于空间顺序的点云预测方法的点云属性解码方法
如图4所示,首先使用点云预测方法确定当前点的属性预测值,使用双莫顿双向邻居搜索。对于当前待解码点在空间顺序1中使用前向搜索得到M个邻居候选点,在空间 顺序2中使用前向搜索得到N 1个邻居候选点、使用后向搜索得到N 2个邻居候选点。计算最多(M+N 1+N 2)个搜索到的邻居候选点到当前待解码点的距离,确定最近的m个点作为当前待解码点的邻居,计算m个邻居的属性的加权平均值,得到当前待解码点的属性预测值。上述M、N 1、N 2均为大于等于0的自然数
如图4所示,然后对点云码流进行熵解码得到反量化步长,对点云属性码流进行熵解码得到属性量化系数,对当前待解码点的属性量化系数进行反量化后得到当前待解码点的属性残差值。
如图4所示,最后计算当前待解码点的属性预测值与当前待解码点的属性残差值的和,确定当前待解码点的属性重构值,完成属性解码。
实施例十一:基于分层后的点云预测方法的点云属性解码方法
如图4所示,首先使用点云预测方法确定当前点的属性预测值,如图12所示,点云已被划分成当前层和上一层两个层次,使用层内双莫顿双向邻居搜索和层间双莫顿双向邻居搜索。上一层的点都已经解码,解码当前层的点,对于当前层的待解码点可以使用层内双莫顿双向邻居搜索,也可以使用层间双莫顿双向邻居搜索:在层内,对于当前待解码点在当前层的空间顺序1中使用前向搜索得到M个邻居候选点,在当前层的空间顺序2中使用前向搜索得到N 1个邻居候选点、使用后向搜索得到N 2个邻居候选点;在层间,因为上一层的点都已解码,使用双指针或映射表的方式将当前待编码点映射到上一层空间顺序3的对应位置并使用前向搜索得到N 3个邻居候选点、使用后向搜索得到N 4个邻居候选点,使用双指针或映射表的方式将当前待编码点映射到上一层空间顺序4的对应位置并使用前向搜索得到N 5个邻居候选点、使用后向搜索得到N 6个邻居候选点。计算最多(M+N 1+N 2+N 3+N 4+N 5+N 6)个搜索到的邻居候选点到当前待解码点的距离,确定最近的m个点作为当前待解码点的邻居,计算m个邻居的属性的加权平均值,得到当前待解码点的属性预测值。上述M、N 1、N 2、N 3、N 4、N 5、N 6均为大于等于0的自然数。
进一步具体实施例如下,如图13所示,在层内,对于当前待解码点J在当前层的空间顺序1中使用前向搜索得到3个邻居候选点I、H、G,如图14所示,在当前层的空间顺序2中使用前向搜索得到2个邻居候选点C、B,使用后向搜索得到2个邻居候选点D、H;在层间,因为上一层的点都已解码,使用双指针或映射表的方式将当前待编码点映射到上一层空间顺序3的对应位置I并使用前向搜索得到2个邻居候选点G、E、使用后向搜索得到1个邻居候选点I,使用双指针或映射表的方式将当前待编码点映射到上 一层空间顺序4的对应位置并使用前向搜索得到2个邻居候选点I、G、使用后向搜索得到0个邻居候选点。计算上述搜索到的邻居候选点到当前待解码点的距离,确定最近的3个点作为当前待解码点的邻居,计算这3个邻居的属性的加权平均值,得到当前待解码点的属性预测值。
如图4所示,然后对点云码流进行熵解码得到反量化步长,对点云属性码流进行熵解码得到属性量化系数,其中不同的层次的反量化步长可以是不一样的数值,对当前待解码点的属性量化系数进行反量化后得到当前待解码点的属性残差值。
如图4所示,最后计算当前待解码点的属性预测值与当前待解码点的属性残差值的和,确定当前待解码点的属性重构值,完成属性解码。
基于上述点云属性解码方法,本发明还提供一种点云属性解码设备,如图28所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及点云属性编码设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
在一些实施方式中,将本发明提供的基于空间顺序的点云预测方法、点云分层方法用于点云压缩得到的结果与测试平台PCRM1.0的基准结果。
单层下点云预测方法的结果如表1-表4所示,分层下点云预测方法的结果如表5-表8所示:
表1单层下有限损几何、有损属性条件下的性能结果
Figure PCTCN2021114283-appb-000004
表2单层下无损几何、有损属性条件下的性能结果
Figure PCTCN2021114283-appb-000005
表3单层下无损几何、有限损属性条件下的性能结果
Figure PCTCN2021114283-appb-000006
表4单层下无损几何、无损属性条件下的性能结果
Figure PCTCN2021114283-appb-000007
Figure PCTCN2021114283-appb-000008
表5分层下有限损几何、有损属性条件下的性能结果
Figure PCTCN2021114283-appb-000009
表6分层下无损几何、有损属性条件下的性能结果
Figure PCTCN2021114283-appb-000010
表7分层下无损几何、有限损属性条件下的性能结果
Figure PCTCN2021114283-appb-000011
表8分层下无损几何、无损属性条件下的性能结果
Figure PCTCN2021114283-appb-000012
从表1-表4中的数据可以看出,相比与测试平台PCRM1.0的基准结果,在单层下的点云属性预测中,本发明提供的方法对于颜色属性,亮度、色度Cb、色度Cr在各个条件下有较大的性能提升;从表5-表8中的数据可以看出,在多层下的点云属性预测中,本发明提供的方法对于颜色属性,亮度、色度Cb、色度Cr在各个条件下有较大的性能提升。
综上所述,本发明提供了一种基于空间顺序的点云分层方法、点云预测方法及设备,所述基于空间顺序的点云分层方法包括:生成点云的空间顺序;对于所述点云中所述空间顺序码高位相同的点,选择其中的部分点,将点云划分为一个或多个层次。所述点云预测方法包括:生成点云的空间顺序;使用两个或多个空间顺序进行当前点的前向和/或后向邻居搜索;根据所述当前点的邻居确定所述当前点的属性预测值。本发明提供的方法实现了点云层次划分,能够提升点云的几何信息和属性信息相关性的利用,在进行点云属性预测时候提供更准确的预测值,从而提高点云属性的编码和解码性能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

  1. 一种基于空间顺序的点云预测方法,其特征在于,包括:
    生成点云的两个或多个空间顺序;
    使用所述两个或多个空间顺序进行当前点的前向和/或后向搜索,获得所述当前点的邻居;
    根据所述当前点的邻居确定所述当前点的属性预测值。
  2. 根据权利要求1所述的点云预测方法,其特征在于,所述生成点云的两个或多个空间顺序,包括:
    利用点云的坐标生成所有点的空间顺序码1,使用所述空间顺序码1对点云的所有点进行排序得到点云的空间顺序1;
    把所述点云的几何坐标加上一个偏移值得到新的坐标,利用所述新的坐标生成所有点的空间顺序码2并排序,得到空间顺序2;
    获得了点云的两个空间顺序。
  3. 根据权利要求1所述的点云预测方法,其特征在于,所述使用所述两个或多个空间顺序进行当前点的前向和/或后向搜索,获得所述当前点的邻居,包括:
    在所述空间顺序1中选取当前点前向的M个点作为邻居候选点;
    在所述空间顺序2中选取所述当前点前向的N 1个点和后向的N 2个点作为邻居候选点;
    计算每个所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居。
  4. 根据权利要求1所述的点云预测方法,其特征在于,所述根据所述当前点的邻居确定所述当前点的属性预测值,包括:
    根据所述当前点的m个邻居的属性重构值,确定所述当前点的属性预测值。
  5. 根据权利要求1所述的点云预测方法,其特征在于,还包括点云分层后的点云预测方法,具体包括方法一、方法二、方法三、或方法四。其中,
    方法一:点云分层后,生成所述当前点所在的点云层次的空间顺序1和偏移后的空间顺序2,在所述空间顺序1中选取所述当前点前向的M个点作为邻居候选点;在所述空间顺序2中选取所述当前点前向的N 1个点和后向的N 2个点作为邻居候选点;计算每个 所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居;
    方法二:点云分层后,生成所述当前点所在的点云层次之前的点云层次的空间顺序1和偏移后的空间顺序2,将所述当前点映射到所述空间顺序1中对应的位置并选取所述对应的位置前向的N 1个点和后向的N 2个点作为邻居候选点;将所述当前点映射到所述空间顺序2中对应的位置并选取所述对应的位置前向的N 3个点和后向的N 4个点作为邻居候选点;计算每个所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居;
    方法三:点云分层后,生成所述当前点所在的点云层次以及之前的点云层次的空间顺序1和偏移后的空间顺序2,在所述空间顺序1中选取所述当前点前向的N 1个点和后向的N 2个点作为邻居候选点;在所述空间顺序2中选取所述当前点前向的N 3个点和后向的N 4个点作为邻居候选点;计算每个所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居;
    方法四:点云分层后,生成所述当前点所在的点云层次的空间顺序1和偏移后的空间顺序2,并且生成所述当前点所在的点云层次之前的点云层次的空间顺序3和偏移后的空间顺序4,在所述空间顺序1中选取所述当前点前向的M个点作为邻居候选点,在所述空间顺序2中选取所述当前点前向的N 1个点和后向的N 2个点作为邻居候选点;将所述当前点映射到所述空间顺序3中对应的位置并选取所述对应的位置前向的N 3个点和后向的N 4个点作为邻居候选点,将所述当前点映射到所述空间顺序4中对应的位置并选取所述对应的位置前向的N 5个点和后向的N 6个点作为邻居候选点;计算每个所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居。
  6. 一种基于空间顺序的点云分层方法,其特征在于,包括:
    利用点云的坐标生成所有点的空间顺序码;
    对于所述空间顺序码高位相同的点,选择其中的部分点,将点云划分为两个或多个层次。
  7. 根据权利要求6所述的点云分层方法,其特征在于,所述对于所述点云中所述空间顺序码高位相同的点,选择其中的部分点,将点云划分为两个或多个层次,包括:
    选择高位相同的点用空间顺序码右移实现,点云中所有的点构成LOD(n),对所述 LOD(n)中的每个点的所述空间顺序码进行右移N位得到LOD(n)的右移空间顺序码,所述右移空间顺序码大小相同的点构成一个点集,所述LOD(n)被划分为多个点集,每个所述点集中选择一个或几个点划分到LOD(n-1)中,所述LOD(n)中未被划分到所述LOD(n-1)中的点被划分到R(n)。
    对所述LOD(n-1)中的每个点的所述空间顺序码进行右移(N+3)位的计算,得到LOD(n-1)的右移空间顺序码,所述右移空间顺序码大小相同的点构成一个点集,所述LOD(n-1)被划分为多个点集,每个所述点集中选择一个或几个点划分到LOD(n-2)中,所述LOD(n-1)中未被划分到所述LOD(n-2)中的点被划分到R(n-1)。
    重复对所述LOD(n-1)的操作,迭代划分,得到所有的点云层次LOD(k)(k=0,……,n)。
  8. 根据权利要求6所述的基于空间顺序的点云分层方法,其特征在于,还包括点云分层后的点云预测方法,具体包括:
    采用权利要求6-7所述的任意一项基于空间顺序的点云分层方法获得点云的两个或多个层次;
    利用点云的坐标生成当前点所在的点云层次以及之前的点云层次的空间顺序码1并排序,得到点云的空间顺序1;把所述点云的几何坐标加上一个偏移值得到新的坐标,利用所述新的坐标生成当前点所在的点云层次以及之前的点云层次的空间顺序码2并排序,得到空间顺序2;
    在所述空间顺序1中选取当前点前向的M个点作为邻居候选点;在所述空间顺序2中选取所述当前点前向的N个点作为邻居候选点;计算每个所述邻居候选点到所述当前点的距离,在所述邻居候选点中确定所述距离最小的m个点作为所述当前点的邻居;
    根据所述当前点的m个邻居的属性重构值,确定所述当前点的属性预测值。
  9. 一种基于空间顺序的点云编码方法,其特征在于,包括:
    采用权利要求1-8所述的任意一项点云预测方法确定当前点的属性预测值;
    根据所述当前点的属性值与所述当前点的属性预测值的差值确定所述当前点的属性残差值;
    将所述当前点的属性残差值编码进点云码流。
  10. 根据权利要求9所述的点云编码方法,其特征在于,还包括:
    量化时,对不同点云层次的点采用不同的量化步长;
    将所述量化步长写入头文件并编码进点云码流。
  11. 一种基于空间顺序的点云解码方法,其特征在于,包括:
    采用权利要求1-8所述的任意一项点云预测方法确定当前点的属性预测值;
    对点云码流进行解码,得到所述当前点的属性残差值;
    根据所述当前点的属性预测值与所述当前点的属性残差值的和值确定所述当前点的属性重构值。
  12. 根据权利要求11所述的点云解码方法,其特征在于,还包括:
    对点云码流进行解码,得到量化步长;
    反量化时,对不同点云层次的点采用不同的所述量化步长。
  13. 一种点云预测设备,其特征在于,包括:
    处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
    所述通信总线实现处理器和存储器之间的连接通信;
    所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的点云预测方法。
  14. 一种点云编码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
    所述通信总线实现处理器和存储器之间的连接通信;
    所述处理器执行所述计算机可读程序时实现如权利要求9-10所述的任意一项基于空间顺序的点云编码方法。
  15. 一种点云解码设备,其特征在于,包括处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
    所述通信总线实现处理器和存储器之间的连接通信;
    所述处理器执行所述计算机可读程序时实现如权利要求11-12所述的任意一项基于空间顺序的点云解码方法。
PCT/CN2021/114283 2020-08-24 2021-08-24 一种基于空间顺序的点云分层方法、点云预测方法及设备 WO2022042539A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010858488 2020-08-24
CN202010858488.7 2020-08-24
CN202011310281.2A CN112218079B (zh) 2020-08-24 2020-11-20 一种基于空间顺序的点云分层方法、点云预测方法及设备
CN202011310281.2 2020-11-20

Publications (1)

Publication Number Publication Date
WO2022042539A1 true WO2022042539A1 (zh) 2022-03-03

Family

ID=74068050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/114283 WO2022042539A1 (zh) 2020-08-24 2021-08-24 一种基于空间顺序的点云分层方法、点云预测方法及设备

Country Status (2)

Country Link
CN (1) CN112218079B (zh)
WO (1) WO2022042539A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113473153B (zh) * 2020-03-30 2023-04-25 鹏城实验室 一种点云属性预测方法、编码方法、解码方法及其设备
CN112218079B (zh) * 2020-08-24 2022-10-25 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备
CN116830579A (zh) * 2021-02-09 2023-09-29 Oppo广东移动通信有限公司 几何重构方法、解码器以及计算机存储介质
CN118042192A (zh) * 2021-03-12 2024-05-14 腾讯科技(深圳)有限公司 点云编码、解码的方法、装置及设备
CN113096199B (zh) * 2021-03-12 2023-01-03 中山大学 一种基于莫顿码的点云属性预测方法、装置和介质
CN113014903B (zh) * 2021-03-15 2023-05-19 北京大学深圳研究生院 点云邻居确定、点云预测、点云编码、点云解码方法及设备
CN115412713A (zh) * 2021-05-26 2022-11-29 荣耀终端有限公司 一种点云深度信息的预测编解码方法及装置
CN115474041B (zh) * 2021-06-11 2023-05-26 腾讯科技(深圳)有限公司 点云属性的预测方法、装置及相关设备
CN117321991A (zh) * 2021-06-11 2023-12-29 Oppo广东移动通信有限公司 点云属性的预测方法、装置及编解码器
WO2022257150A1 (zh) * 2021-06-11 2022-12-15 Oppo广东移动通信有限公司 点云编解码方法、装置、点云编解码器及存储介质
CN113395506A (zh) * 2021-06-16 2021-09-14 北京大学深圳研究生院 一种基于分段的点云邻居搜索方法、编码方法、解码方法及设备
CN113676738B (zh) * 2021-08-19 2024-03-29 上海交通大学 一种三维点云的几何编解码方法及装置
CN116233385A (zh) * 2021-12-03 2023-06-06 维沃移动通信有限公司 点云属性编码方法、点云解码方法及终端
CN116781908A (zh) * 2022-03-11 2023-09-19 腾讯科技(深圳)有限公司 点云预测处理方法、装置、计算机、存储介质
WO2023173237A1 (zh) * 2022-03-12 2023-09-21 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156281A (zh) * 2016-06-25 2016-11-23 南京理工大学 基于Hash‑Cube空间层次划分结构的最近邻点集快速检索方法
US20190311502A1 (en) * 2018-04-10 2019-10-10 Apple Inc. Point cloud attribute transfer algorithm
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
WO2020138463A1 (ja) * 2018-12-28 2020-07-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897269B2 (en) * 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
CN108335335B (zh) * 2018-02-11 2019-06-21 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156281A (zh) * 2016-06-25 2016-11-23 南京理工大学 基于Hash‑Cube空间层次划分结构的最近邻点集快速检索方法
US20190311502A1 (en) * 2018-04-10 2019-10-10 Apple Inc. Point cloud attribute transfer algorithm
WO2020138463A1 (ja) * 2018-12-28 2020-07-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111145090A (zh) * 2019-11-29 2020-05-12 鹏城实验室 一种点云属性编码方法、解码方法、编码设备及解码设备
CN111405281A (zh) * 2020-03-30 2020-07-10 北京大学深圳研究生院 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
CN112218079A (zh) * 2020-08-24 2021-01-12 北京大学深圳研究生院 一种基于空间顺序的点云分层方法、点云预测方法及设备

Also Published As

Publication number Publication date
CN112218079B (zh) 2022-10-25
CN112218079A (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
WO2022042539A1 (zh) 一种基于空间顺序的点云分层方法、点云预测方法及设备
CN110572655B (zh) 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备
US11252441B2 (en) Hierarchical point cloud compression
CN111405281A (zh) 一种点云属性信息的编码方法、解码方法、存储介质及终端设备
WO2020186548A1 (zh) 点云编码和解码的方法、编码设备和解码设备
US9819964B2 (en) Limited error raster compression
Žalik et al. Chain code lossless compression using move-to-front transform and adaptive run-length encoding
WO2021023206A1 (zh) 基于邻居权重优化的点云属性预测、编码和解码方法及设备
CN109166160B (zh) 一种采用图形预测的三维点云压缩方法
CN113014903B (zh) 点云邻居确定、点云预测、点云编码、点云解码方法及设备
CN112384950A (zh) 点云的编解码方法及装置
WO2021115466A1 (zh) 点云数据的编码方法、解码方法、存储介质及设备
KR102181812B1 (ko) 3차원 메쉬모델의 압축 및 압축해제 시스템 및 방법
WO2022057091A1 (zh) 一种点云属性编码方法、解码方法、编码设备及解码设备
Fan et al. Deep geometry post-processing for decompressed point clouds
Pajarola et al. An image compression method for spatial search
WO2023246700A1 (zh) 一种点云属性编码方法、点云属性解码方法及存储介质
WO2022131948A1 (en) Devices and methods for sequential coding for point cloud compression
CN114902285A (zh) 一种最近邻搜索方法及装置、设备、存储介质
WO2021197238A1 (zh) 一种点云属性预测方法、编码方法、解码方法及其设备
CN115102934A (zh) 点云数据的解码方法、编码方法、装置、设备及存储介质
CN113395506A (zh) 一种基于分段的点云邻居搜索方法、编码方法、解码方法及设备
WO2020248144A1 (zh) 三维数据点的编解码方法和装置
Wang [Retracted] Optimization of Three‐Dimensional Model of Landscape Space Based on Big Data Analysis
WO2023173238A1 (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: 21860374

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: 21860374

Country of ref document: EP

Kind code of ref document: A1