WO2022170521A1 - 几何重构方法、解码器以及计算机存储介质 - Google Patents
几何重构方法、解码器以及计算机存储介质 Download PDFInfo
- Publication number
- WO2022170521A1 WO2022170521A1 PCT/CN2021/076370 CN2021076370W WO2022170521A1 WO 2022170521 A1 WO2022170521 A1 WO 2022170521A1 CN 2021076370 W CN2021076370 W CN 2021076370W WO 2022170521 A1 WO2022170521 A1 WO 2022170521A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- current node
- neighbor
- value
- coordinate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000012937 correction Methods 0.000 claims description 60
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000010606 normalization Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 34
- 230000006870 function Effects 0.000 description 44
- 238000010586 diagram Methods 0.000 description 17
- 230000006835 compression Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 9
- 238000005259 measurement Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 101000638069 Homo sapiens Transmembrane channel-like protein 2 Proteins 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 102100032054 Transmembrane channel-like protein 2 Human genes 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Definitions
- the embodiments of the present application relate to the technical field of encoding and decoding, and in particular, to a geometric reconstruction method, a decoder, and a computer storage medium.
- the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately.
- the geometric information is reconstructed, and the encoding of the attribute information will depend on the reconstructed geometric information.
- the attribute information coding is mainly aimed at the coding of color information, so as to transform the color information from the spatial domain to the frequency domain to obtain high-frequency coefficients and low-frequency coefficients.
- the coefficients are quantized and entropy encoded to generate a binary code stream.
- Spatial Scalability is an important function of the G-PCC framework. It generates point cloud thumbnails by decoding the bit stream information of some point clouds. Currently, it is mainly used in the G-PCC decoder based on octree geometric information. .
- the skip layer represents the octree level that does not need to be decoded in the G-PCC decoder.
- the difference in the distribution of internal points of different nodes is not considered at present, resulting in a large geometric error in the geometric reconstruction process after spatial scalability.
- the embodiments of the present application provide a geometric reconstruction method, a decoder, and a computer storage medium, which can make full use of the spatial correlation of point clouds, thereby reducing geometric errors in the geometric reconstruction process after spatial scalability.
- an embodiment of the present application provides a geometric reconstruction method, which is applied to a decoder, and the method includes:
- the geometric reconstruction coordinate value of the current node is determined according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the weight value of the neighbor node.
- an embodiment of the present application provides a decoder, the decoder includes a determination unit and a calculation unit; wherein,
- the determining unit is configured to determine the neighbor node of the current node according to the position information of the current node; and based on the attribute information of the neighbor node, determine that the current node is in the direction of the preset coordinate axis
- the neighbor nodes of affect the parameter value
- the determining unit is further configured to determine the neighbor node weight value of the current node
- the computing unit is configured to determine the geometric reconstruction coordinate value of the current node according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the neighbor node weight value.
- an embodiment of the present application provides a decoder, where the decoder includes a memory and a processor; wherein,
- the memory for storing a computer program executable on the processor
- the processor is configured to execute the method according to the first aspect when running the computer program.
- an embodiment of the present application provides a computer storage medium, where the computer storage medium stores a computer program, and the computer program implements the method according to the first aspect when the computer program is executed by at least one processor.
- the embodiments of the present application provide a geometric reconstruction method, a decoder, and a computer storage medium.
- the neighbor nodes of the current node are determined; based on the attribute information of the neighbor nodes, the neighbor nodes are determined.
- the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis; determine the weight value of the neighbor node of the current node; according to the neighbor node of the current node in the direction of the preset coordinate axis
- the influence parameter value and the weight value of the neighbor node are used to determine the geometric reconstruction coordinate value of the current node.
- Fig. 1 is a kind of spatially scalable structural schematic diagram provided by the related art
- FIG. 2 is a schematic diagram of the frame composition of a G-PCC decoder provided by the related art
- Fig. 3 is a kind of schematic diagram of adopting different reconstruction strategies according to different skip Layer levels provided by the related art
- FIG. 4 is a schematic structural diagram of a point-to-point error measurement provided by the related art
- FIG. 5 is a schematic flowchart of a geometric reconstruction method provided by an embodiment of the present application.
- FIG. 6 is a schematic diagram of a positional relationship between neighbor nodes of a current node according to an embodiment of the present application
- FIG. 7 is a schematic diagram of the positional relationship between neighbor nodes of another current node according to an embodiment of the present application.
- FIG. 8 is another schematic diagram of the positional relationship between neighbor nodes of a current node according to an embodiment of the present application.
- FIG. 9 is a schematic flowchart of another geometric reconstruction method provided by an embodiment of the present application.
- FIG. 10 is another schematic diagram of the positional relationship between neighbor nodes of a current node according to an embodiment of the present application.
- FIG. 11 is a schematic flowchart of another method for geometric reconstruction provided by an embodiment of the present application.
- FIG. 12 is a schematic diagram of the composition and structure of a decoder provided by an embodiment of the present application.
- FIG. 13 is a schematic diagram of a specific hardware structure of a decoder provided by an embodiment of the present application.
- FIG. 14 is a schematic diagram of the composition and structure of a point cloud system according to an embodiment of the present application.
- first ⁇ second ⁇ third involved in the embodiments of the present application is only to distinguish similar objects, and does not represent a specific ordering of objects. It is understandable that “first ⁇ second ⁇ third” "Where permitted, the specific order or sequence may be interchanged to enable the embodiments of the application described herein to be practiced in sequences other than those illustrated or described herein.
- CABAC Context-based Adaptive Binary Arithmetic Coding
- the point cloud is the three-dimensional representation of the surface of the object
- the point cloud (data) on the surface of the object can be collected by collecting equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
- a point cloud refers to a collection of massive three-dimensional points, and the points in the point cloud can include the location information of the point and the attribute information of the point.
- the position information of the point may be three-dimensional coordinate information of the point.
- the position information of the point may also be referred to as the geometric information of the point.
- the attribute information of the points may include color information and/or reflectivity, among others.
- the color information may be information in any color space.
- the color information may be RGB information. Among them, R represents red (Red, R), G represents green (Green, G), and B represents blue (Blue, B).
- the color information may be luminance chrominance (YcbCr, YUV) information. Among them, Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
- the points in the point cloud may include the three-dimensional coordinate information of the point and the laser reflection intensity (reflectance) of the point.
- the points in the point cloud may include three-dimensional coordinate information of the point and color information of the point.
- a point cloud is obtained by combining the principles of laser measurement and photogrammetry, and the points in the point cloud may include three-dimensional coordinate information of the point, laser reflection intensity (reflectance) of the point, and color information of the point.
- Point clouds can be divided into:
- the first type of static point cloud that is, the object is static, and the device that obtains the point cloud is also static;
- the second type of dynamic point cloud the object is moving, but the device that obtains the point cloud is stationary;
- the third type of dynamic point cloud acquisition the device that acquires the point cloud is moving.
- point clouds are divided into two categories according to their use:
- Category 1 Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and rescue and relief robots;
- Category 2 Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
- the point cloud is a collection of massive points, storing the point cloud will not only consume a lot of memory, but also is not conducive to transmission, and there is no such a large bandwidth to support the direct transmission of the point cloud at the network layer without compression. cloud for compression.
- the point cloud coding framework that can compress the point cloud can be the Geometry Point Cloud Compression (G-PCC) codec framework provided by the Moving Picture Experts Group (MPEG). Or a video-based point cloud compression (Video Point Cloud Compression, V-PCC) codec framework, or the AVS-PCC codec framework provided by the Audio Video Standard (AVS).
- G-PCC codec framework can be used to compress the first type of static point cloud and the third type of dynamically acquired point cloud, and the V-PCC codec framework can be used to compress the second type of dynamic point cloud.
- the G-PCC codec framework is also called point cloud codec TMC13, and the V-PCC codec framework is also called point cloud codec TMC2.
- the input point cloud is divided into slices, and then the slices are independently encoded.
- slices the geometric information of the point cloud and the attribute information corresponding to the points in the point cloud are encoded separately.
- the G-PCC encoder first encodes the geometry information.
- the encoder performs coordinate transformation on the geometric information, so that all point clouds are contained in a bounding box; then quantization is performed. This step of quantization mainly plays the role of scaling. Due to the rounding of quantization, the geometric information of some points is the same.
- octree-based division is performed on the bounding box. According to the different depth of octree division, the encoding of geometric information is divided into two frameworks based on octree and triangular patch set.
- the bounding box is divided into 8 sub-cubes, and the occupancy bits of the sub-cubes are recorded (where 1 is non-empty, 0 is empty), and for non-empty sub-cubes
- the occupancy bits of the sub-cubes are recorded (where 1 is non-empty, 0 is empty), and for non-empty sub-cubes
- the occupancy bits of the sub-cubes are recorded (where 1 is non-empty, 0 is empty), and for non-empty sub-cubes
- CABAC arithmetic coding
- the octree division is also performed first, but the difference lies in the octree-based geometric information coding.
- This method does not need to divide the point cloud into the edge length of 1 ⁇ 1 ⁇ 1 unit cube, but the division is stopped when the side length of the block is W.
- the maximum number of the surface and the twelve edges of the block is obtained. Twelve vertexes.
- the vertex coordinates of each block are encoded in turn to generate a binary geometric bit stream, that is, a geometric code stream.
- the G-PCC encoder After the G-PCC encoder completes the geometric information encoding, it reconstructs the geometric information, and uses the reconstructed geometric information to encode the attribute information of the point cloud.
- both geometric lossless compression and geometric lossy compression have a geometric reconstruction process when the octree division is completed.
- the attribute encoding of point cloud mainly encodes the color information of the point in the point cloud.
- the encoder can perform color space conversion on the color information of the points. For example, when the color information of the points in the input point cloud is represented using the RGB color space, the encoder can convert the color information from the RGB color space to the YUV color space.
- the point cloud is recolored with the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information.
- color information coding there are mainly two transformation methods, one is the distance-based lifting transformation that relies on the LOD division, and the other is the direct RAHT transformation, both of which will transform the color information from the spatial domain.
- the frequency domain high-frequency coefficients and low-frequency coefficients are obtained, and finally the coefficients are quantized and arithmetically encoded to generate a binary attribute bit stream, that is, an attribute code stream.
- the geometric bitstream of the point cloud and the attribute bitstream corresponding to the points in the point cloud are decoded separately.
- the G-PCC decoder decodes the geometric bitstream.
- the decoder performs arithmetic decoding on the geometric bit stream, and decodes the bounding box of the point cloud and the octree-based occupancy bit (1 is non-empty, 0 is empty);
- the decoding of information is divided into two frameworks based on octree and triangular patch set.
- FIG. 1 it shows a schematic diagram of a spatially scalable structure provided by the related art.
- the octree geometry is encoded to the Kth layer.
- the largest cube box of the current point cloud in space is calculated according to the bounding box, and then the non-empty sub-cubes are divided into eight equal parts according to the occupancy bits. Stop dividing when the node is a 1 ⁇ 1 ⁇ 1 unit cube. However, if the decoding process uses the Spatial scalability function, it will be divided into the specified skip Layer, and a cube of 2 skipLayer ⁇ 2 skipLayer ⁇ 2 skipLayer is generated at this time. Afterwards, geometric coordinate information is generated through the cube.
- the geometric coordinates are the coordinates of the front left and lower corners of the cube; for a unit cube with a leaf node of 2 skipLayer ⁇ 2 skipLayer ⁇ 2 skipLayer , the geometric coordinates will be based on skip Different layers are then determined using different reconstruction strategies.
- FIG. 2 it shows a schematic diagram of the framework of a G-PCC decoder provided by the related art.
- the geometric bit stream and the attribute bit stream in the binary code stream are independently decoded respectively.
- the geometric information of the point cloud is obtained through the inverse process of arithmetic decoding-synthetic octree-surface fitting-reconstruction geometry-coordinate transformation.
- the surface fitting you can choose to perform the step of reconstructing the geometry, or you can choose to perform the step of Scalable-rebuilding the geometry, which is mainly determined according to whether the spatial scalability function is performed.
- the attribute information of the point cloud is obtained through the arithmetic decoding-inverse quantization-LOD-based inverse promotion or RAHT-based inverse transformation-color conversion inverse process, and based on the geometric information and attribute information to restore the pending A 3D image model of the encoded point cloud data.
- the geometric coordinate is the coordinate information of the lower left corner of the cube, such as the Q point position in Figure 3;
- the geometric coordinate is the coordinate information of the center position of the cube, such as the position of point P in Figure 3.
- PointPos[i][0] (PointPos[i][0]&mask)+(1 ⁇ (MinGeomNodeSizeLog2-1))
- PointPos[i][1] (PointPos[i][1]&mask)+(1 ⁇ (MinGeomNodeSizeLog2-1))
- PointPos[i][2] (PointPos[i][2]&mask)+(1 ⁇ (MinGeomNodeSizeLog2-1))
- MinGeomNodeSizeLog2 represents the minimum node side length of the current octree, which is numerically equal to skip Layer;
- PointCount represents the total number of nodes when the current slice is decoded to the MinGeomNodeSizeLog2 level;
- PointPos[i][0] represents the reconstructed geometry of the current node The x-axis coordinate of the point;
- PointPos[i][1] represents the y-axis coordinate of the reconstructed geometric point of the current node;
- PointPos[i][2] represents the z-axis coordinate of the reconstructed geometric point of the current node;
- mask represents the intermediate mask code.
- PointPos[i][0], PointPos[i][1], and PointPos[i][2] can be the coordinates of the front and lower left corner of the node cube whose current side length is MinGeomNodeSizeLog2, that is, Figure 3
- the position coordinates of the Q point in are shown; after the shift operation of the above code, the values of PointPos[i][0], PointPos[i][1], PointPos[i][2] will be equal to the current node cube
- the coordinates of the center position, that is, the position coordinates of point P in Figure 3 are shown.
- G-PCC uses the following two methods to measure the geometric error of the process.
- the first way is to use point-to-point distance representation.
- the calculation process of the point-to-point geometric error measurement is shown in Figure 4.
- the black points (b i ) are the points generated after the point cloud scaling and decoding
- the white points (a j ) are the points in the original point cloud. the closest point to it.
- the length of this error vector is the point-to-point geometric error, namely:
- B is the sparse point cloud after scaling encoding
- A is the original point cloud, according to the point-to-point distance of all points i ⁇ B
- the calculation of the point-to-point error D1 of the whole point cloud is defined as shown in formula (1).
- the second way is to use the point-to-plane distance representation.
- the error vector E(i,j) is projected along the normal direction N j to obtain a new error vector
- the point-to-plane error D2 is calculated as shown in equation (2).
- ⁇ N j ⁇ indicates that the L1 norm is adopted, and the L1 norm is the sum of the absolute values of the corresponding vectors, as shown in formula (3); ⁇ E(i,j) ⁇ 2 indicates that the L2 norm is adopted, and the L2 norm is the square root of the cumulative sum of the square terms of the corresponding vector, as shown in equation (4).
- Information when skip Layer>1, the geometric coordinates of all nodes are the coordinate information of the center position of the node cube).
- the point-to-point error measure is smaller, and conversely, the point-to-point error measure is larger; however, the current technical solution does not consider different nodes.
- the distribution of internal points is different. If the coordinate mean of all points in the current node is far from the center position and the position of the front left and lower corner of the cube, the current technical solution may increase the geometric error in the geometric reconstruction process after spatial scalability.
- An embodiment of the present application provides a geometric reconstruction method.
- the basic idea of the method is to: determine the neighbor node of the current node according to the position information of the current node; determine the neighbor node based on the attribute information of the neighbor node.
- the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis; determine the weight value of the neighbor node of the current node; according to the neighbor node of the current node in the direction of the preset coordinate axis
- the influence parameter value and the weight value of the neighbor node are used to determine the geometric reconstruction coordinate value of the current node.
- the geometric reconstruction method provided in the embodiments of the present application is applied to a video decoding device, that is, a G-PCC decoder, which may also be referred to as a decoder for short.
- the functions implemented by the method can be implemented by calling a computer program by the processor in the decoder.
- the computer program can be stored in the memory.
- the decoder includes at least a processor and a memory.
- FIG. 5 shows a schematic flowchart of a geometric reconstruction method provided by an embodiment of the present application. As shown in Figure 5, the method may include:
- S501 Determine the neighbor nodes of the current node according to the location information of the current node.
- a point in a point cloud, can be all the points in the point cloud, or a part of the points in the point cloud, which are relatively concentrated in space.
- the method in the embodiment of the present application is mainly applied to the “reconstructed geometry” part marked by the bold frame, and the geometry after spatial scalability in the current related art is applied.
- the reconstruction process is optimized to improve the utilization of spatial correlations.
- the identification information may be enabling identification information to prevent the flag from being modified to be reversed.
- the enabling identification information specifically refers to the spatially scalable enabling identification information (represented by scalable_lifting_enabled_flag), and the value of the spatially scalable enabling identification information may be obtained by parsing the code stream.
- the method may include:
- the determining of the current node according to the position information of the current node is performed. steps of neighbor nodes.
- the spatial scalability enabling identification information is obtained by parsing the code stream, it can be determined whether the spatial scalability function needs to be performed according to the spatially scalable enabling identification information. Only when the spatial scalability enable identifier information indicates that the spatial scalability function needs to be performed, that is, the skip layer (skip layer) where the current node is located is not decoded, and the geometric reconstruction provided by the embodiment of the present application is performed at this time. construction method.
- the method may further include:
- the spatially scalable enabling identification information indicates that the skip layer where the current node is located is decoded
- the spatially scalable enabling identification information indicates that the skip layer where the current node is located is not to be decoded.
- the first value is 0 and the second value is 1; or, the first value is false and the second value is true.
- the spatial scalability function is not performed at this time, that is, the decoding under the octree decoding framework is fully decoded, In other words, the skip Layer where the current node is located is decoded at this time. If the value of scalable_lifting_enabled_flag is equal to 1, then the spatial scalability function is performed at this time, that is, partial decoding is performed for the decoding under the octree decoding framework.
- the geometric reconstruction method provided by the embodiment of the present application.
- the determining the neighbor node of the current node may include at least one of the following: a coplanar neighbor node having a plane adjacent to the current node, and a coplanar neighbor node having a plane adjacent to the current node;
- the current node has edge-adjacent co-edge neighbor nodes, and the current node has point-adjacent co-point neighbor nodes.
- the current node in the skip Layer layer usually, there are 26 neighbor nodes around the current node, Specifically, as shown in Figure 6.
- the point filled with gray represents the current node, and there are 26 neighbor nodes around it, among which, the number of coplanar neighbor nodes is 6, and the coplanar neighbor nodes (also known as "colinear” The number of neighbor nodes”) is 12, and the number of common neighbor nodes is 8.
- the neighbor nodes determined here may be all the 26 neighbor nodes, or only 6 coplanar neighbor nodes, or only 6 coplanar neighbor nodes and
- the 12 neighbor nodes with the same edge may even be other number of neighbor nodes, which is not specifically limited in this embodiment of the present application.
- the attribute information of the neighbor node can also be obtained.
- the attribute information of the neighbor node may include the type of the neighbor node; wherein, the type of the neighbor node may include at least one of the following: a coplanar neighbor node with a plane adjacent to the current node, The current node has edge-adjacent co-edge neighbor nodes, and the current node has point-adjacent co-point neighbor nodes.
- the number of coplanar neighbor nodes of the current node is 6, the number of co-edge neighbor nodes is 12, and the number of co-point neighbor nodes is 8.
- these 26 neighbor nodes may be used as the search range of the current node, and some neighbor nodes (for example, only 6 coplanar neighbor nodes, or only 6 coplanar neighbor nodes) may be used as the search range of the current node.
- some neighbor nodes for example, only 6 coplanar neighbor nodes, or only 6 coplanar neighbor nodes
- a node and 12 co-edge neighbor nodes, or even a combination of other types of neighbor nodes, etc. are used as the search range of the current node, which is not limited here.
- S502 Determine, based on the attribute information of the neighbor node, a neighbor node influence parameter value of the current node in the direction of the preset coordinate axis.
- the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis can be determined according to the attribute information of the neighbor node.
- the preset coordinate axis direction may be the horizontal coordinate axis direction (X coordinate axis direction), the vertical coordinate axis direction (Y coordinate axis direction), or the third coordinate axis direction (Z coordinate axis direction), where Nor does it make any restrictions.
- the determining, based on the attribute information of the neighbor node, the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis may include:
- the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis is determined.
- the central position coordinate information is represented by (x 0 , y 0 , z 0 ), and the central position coordinate information is determined here as (x 0 , y 0 ) , z 0 ) of the current node in the preset coordinate axis direction neighbor node influence parameter value, which may specifically include: coplanar neighbor node influence parameter value, coplanar neighbor node influence parameter value, and copoint neighbor node influence parameter value.
- the determination of the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis based on the center position coordinate information and the attribute information of the neighbor node may be: include:
- the attribute information of the neighbor node indicates that the neighbor node includes a coplanar neighbor node
- the attribute information of the neighbor node indicates that the neighbor node includes a coplanar neighbor node
- it is determined that the current node is in the The coplanar neighbor nodes in the preset coordinate axis direction affect the parameter value
- the attribute information of the neighbor node indicates that the neighbor node includes a co-edge neighbor node
- the attribute information of the neighbor node indicates that the neighbor node includes a co-edge neighbor node
- it is determined that the current node is in the The co-edge neighbor nodes in the preset coordinate axis direction affect the parameter value
- the attribute information of the neighbor node indicates that the neighbor node includes a co-located neighbor node
- the attribute information of the neighbor node indicates that the neighbor node includes a co-located neighbor node
- it is determined that the current node is in the The common-point neighbor nodes in the direction of the preset coordinate axis affect the parameter value.
- the search range of neighbor nodes includes coplanar neighbor nodes, co-edge neighbor nodes and co-point neighbor nodes, it means that the neighbor nodes here refer to the 26 nodes around the current node.
- Neighbor nodes as shown in Figure 6.
- the embodiment of the present application also needs to determine the existence information of these neighbor nodes.
- the determining the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis may include the step of determining whether the neighbor node has a point.
- the decoder when the decoder determines whether a neighbor node exists, it can use the code stream in the decoder to determine whether the neighbor node exists, so as to further determine whether the current node is in the preset state. Neighboring nodes in the direction of the coordinate axis affect the parameter value.
- the embodiment of the present application can use the preset function g(x i , y i , z i ) to indicate whether a point exists in the following range,
- L represents the side length of the node corresponding to the skip Layer when the decoder performs spatially scalable decoding
- L 2 skip Layer .
- the preset function can be used to represent the existence information of these 26 neighbor nodes, so as to determine the function value of the coplanar neighbor node, the function value of the coplanar neighbor node and the function value of the copoint neighbor node, Then, the coplanar neighbor node influence parameter value, the coplanar neighbor node influence parameter value and the co-point neighbor node influence parameter value of the current node in the direction of the preset coordinate axis are determined.
- Coplanar neighbor nodes affect parameter values, which can include:
- the first calculation model is used to determine the coplanar neighbor node influence parameter value of the current node in the direction of the preset coordinate axis.
- the determining the function value of the coplanar neighbor node may include:
- the center position coordinate information of the current node is represented by (x 0 , y 0 , z 0 )
- the coplanar neighbor node influence parameter value of the current node in the direction of the X coordinate axis is represented by b 1x
- the coplanar neighbor node influence parameter value of the current node in the direction of the Y coordinate axis is denoted by b 1y
- the coplanar neighbor node influence parameter value of the current node in the direction of the Z coordinate axis is denoted by b 1z
- the first calculation model at this time is as follows,
- the influence parameter value of the coplanar neighbor node of the current node in the direction of the preset coordinate axis can be calculated.
- the preset coordinate axis directions may be: the X coordinate axis direction, the Y coordinate axis direction, and the Z coordinate axis direction.
- the method may further include:
- the absolute value operation is performed on the coplanar neighbor node influence parameter value, and the calculated coplanar neighbor node influence parameter value is determined as the coplanar neighbor node influence parameter value.
- the coplanar neighbor node influence parameter value of the current node in the X coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the Y coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the direction of the Z coordinate axis is
- Common-edge neighbor nodes affect parameter values, which can include:
- the second calculation model is used to determine the co-edge neighbor node influence parameter value of the current node in the direction of the preset coordinate axis.
- the determining the function value of the co-edge neighbor node may include:
- the center position coordinate information of the current node is represented by (x 0 , y 0 , z 0 )
- the co-edge neighbor node influence parameter value of the current node in the direction of the X coordinate axis is represented by b 2x
- the influence parameter value of the current node's co-edge neighbor node in the direction of the Y coordinate axis is denoted by b 2y
- the current node's co-edge neighbor node influence parameter value in the direction of the Z coordinate axis is denoted by b 2z
- the second calculation model at this time is as follows,
- the preset coordinate axis directions may be: the X coordinate axis direction, the Y coordinate axis direction, and the Z coordinate axis direction.
- the method may further include:
- a norm operation is performed on the value of the influence parameter of the co-edge neighbor node, and the calculated value of the influence parameter of the co-edge neighbor node is determined as the value of the influence parameter of the co-edge neighbor node.
- the co-edge neighbor node influence parameter value of the current node in the X-axis direction is
- the co-edge neighbor node influence parameter value of the current node in the Y-coordinate axis direction is
- the current node’s co-edge neighbor node influence parameter value is
- the determining the current node in the direction of the preset coordinate axis based on the coordinate information of the center position and the co-located neighbor node affect parameter values, which can include:
- the third calculation model is used to determine the influence parameter values of the co-located neighbor nodes of the current node in the direction of the preset coordinate axis.
- the determining the function value of the co-located neighbor nodes may include:
- the center position coordinate information of the current node is represented by (x 0 , y 0 , z 0 ), and the influence parameter value of the current node’s co-located neighbor nodes in the direction of the X coordinate axis is represented by b 3x means, the influence parameter value of the current node in the direction of the Y coordinate axis is expressed by b 3y , and the value of the influence parameter of the current node in the direction of the Z coordinate axis is expressed by b 3z , the third calculation model at this time is as follows,
- the function can be used to indicate whether the 8 common-point neighbor nodes respectively exist or not.
- the influence parameter value of the current node in the direction of the preset coordinate axis can be calculated and obtained.
- the preset coordinate axis directions may be: the X coordinate axis direction, the Y coordinate axis direction, and the Z coordinate axis direction.
- the method may further include:
- a norm operation is performed on the value of the influence parameter of the co-located neighbor node, and the calculated value of the influence parameter of the co-located neighbor node is determined as the value of the influence parameter of the co-located neighbor node.
- the influence parameter value of the current node's co-located neighbor nodes in the X-axis direction is
- the co-located neighbor nodes of the current node in the Y-coordinate axis direction influence the parameter value is
- the current node’s common-point neighbor node influence parameter value in the Z-axis direction is
- the coplanar neighbor nodes of the current node in the direction of the X coordinate axis The point influence parameter value is
- the point influence parameter value is
- the current node's co-edge neighbor node influence parameter value in the X coordinate axis direction is
- Neighbor node influence parameter value is
- ; the current node is in the X coordinate axis
- S503 Determine the neighbor node weight value of the current node.
- the neighbor relationship can be divided into surface adjacent, edge adjacent, and point adjacent, so that the adjacent nodes can be divided into adjacent nodes.
- the types are divided into coplanar neighbor nodes, co-edge neighbor nodes, and co-point neighbor nodes.
- the gray-filled cube represents the current node
- the cube node marked with W1 and the current node have a common plane in the direction of the Z coordinate axis, so they are adjacent to each other in the direction of the Z coordinate axis
- the cube node marked with W1 can be called a coplanar neighbor node
- the cube node marked with W2 and the current node have a common edge in the X-axis and Y-axis directions, and the current node is in X
- the sides are adjacent in the direction of the coordinate axis and the Y coordinate axis, so the cube node marked with W1 can be called a co-edge neighbor node
- the cube node marked with W3 and the current node are on the X coordinate axis, Y coordinate axis
- There are common points in the direction of the Z coordinate axis which are adjacent to the current node in the directions of the X coordinate axis, the Y coordinate axis, and the Z coordinate axi
- the cube node marked with W3 can be called a common point neighbor node.
- face adjacent is not counted as edge adjacent and point adjacent, and edge adjacent is not counted as point adjacent
- edge adjacent is not counted as point adjacent
- adjacent face, edge, and point adjacent neighbors ie coplanar neighbors
- co-edge neighbor node and a co-point neighbor node different weight values are used in this embodiment of the present application.
- the determining the neighbor node weight value of the current node may include:
- the coplanar neighbor node Based on the coplanar neighbor node, the coplanar neighbor node, and the distance between the coplanar neighbor node and the current node, determine the weight value of the coplanar neighbor node, the coplanar neighbor node, and the coplanar neighbor node. a preset ratio between the weight value of the neighbor node and the weight value of the co-located neighbor node;
- the weight value of the coplanar neighbor node, the weight value of the coplanar neighbor node, and the weight value of the copoint neighbor node of the current node are determined.
- the embodiments of the present application are improved based on the point-to-point error measurement.
- the specific calculation process is as follows:
- the reciprocal of the Euclidean distance is used as the preset ratio of the three weight values, namely: the weight value of the coplanar neighbor node: the weight value of the coplanar neighbor node:
- the reconstructed point in the current node cannot exceed the boundary of the current node, when the maximum offset effect occurs, the reconstructed point is on the boundary of the current node. At this time, it can be a total of 1. Face neighbor nodes, 4 co-edge neighbor nodes, and 4 co-point neighbor nodes.
- the normalization factor calculated from this is:
- the weight values of these three kinds of neighbor nodes can be calculated:
- the preset ratio is In the case of , determine the weight value of coplanar neighbor nodes is 0.081, the weight value of coplanar neighbor nodes is 0.057, and the weight value of coplanar neighbor nodes is 0.046.
- the preset ratio is In the case of , determine the weight value of the coplanar neighbor node is 0.115, the weight value of the coplanar neighbor node is 0.057, and the weight value of the coplanar neighbor node is 0.038.
- the preset ratio between the weight value of the coplanar neighbor node, the weight value of the coplanar neighbor node, and the weight value of the copoint neighbor node is not limited to the above two cases, and the preset ratio can also be set. Other ratios are not specifically limited in the embodiments of the present application.
- weight values obtained above are floating-point numbers, which can be achieved by approximating the value by binary shifting in the actual standard proposal.
- the geometric reconstruction coordinate value of the current node can be determined.
- S504 Determine the geometrically reconstructed coordinate value of the current node according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the weight value of the neighbor node.
- the weight value of the neighbor node can include the weight value of the coplanar neighbor node, the weight value of the coplanar neighbor node, and the weight value of the copoint neighbor node.
- the current node is in The neighbor node influence parameter value in the direction of the preset coordinate axis may include the coplanar neighbor node influence parameter value of the current node in the preset coordinate axis direction, the co-edge neighbor node influence parameter value and the co-point neighbor node influence parameter value. parameter value.
- the method may further include:
- the coplanar neighbor node of the current node in the direction of the preset coordinate axis is determined.
- the node influence parameter value, the co-edge neighbor node influence parameter value and the co-point neighbor node influence parameter value are weighted and calculated to obtain the coordinate correction value of the current node in the direction of the preset coordinate axis;
- the geometrically reconstructed coordinate value of the current node is determined according to the coordinate information of the center position of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis.
- determining the geometrically reconstructed coordinates of the current node according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis value can include:
- the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis are added to obtain the geometrically reconstructed coordinate value of the current node.
- the geometrically reconstructed coordinate value of the current node includes the geometrically reconstructed coordinate value of the X-coordinate axis direction, the geometrically reconstructed coordinate value of the Y-coordinate axis direction, and the geometrically reconstructed coordinate value of the Z-coordinate axis direction;
- the addition calculation is performed on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the geometrically reconstructed coordinate value of the current node,
- the center position coordinate information of the current node in the direction of the Z-coordinate axis and the coordinate correction value of the current node in the direction of the Z-coordinate axis are added to obtain the geometric weight of the current node in the direction of the Z-coordinate axis. Construct the coordinate value.
- the weight value of the node is represented by w 2
- the weight value of the common neighbor node is represented by w 3 ; for the current node whose center position coordinate information is (x 0 , y 0 , z 0 ), the current node is on the X coordinate axis
- the coplanar neighbor node influence parameter value in the direction is
- the coplanar neighbor node influence parameter value of the current node in the Y coordinate axis direction is
- the value of the influence parameter of the coplanar neighbor node in the direction is
- the value of the influence parameter of the coplanar neighbor node of the current node in the direction of the X coordinate axis is
- , the current node is in the Y direction
- the value of the influence parameter of the co-edge neighbor node in the direction of the coordinate axis is
- , and the value of the influence parameter of the co-edge neighbor node of the current node in the direction of the Z coordinate axis is
- the influence parameter value of the node's co-located neighbor node in the X coordinate axis direction is
- the current node's co-located neighbor node influence parameter value in the Y coordinate axis direction is
- the influence parameter value of the current node’s co-point neighbor node in the direction of the Z coordinate axis is
- equation (15) can be equivalently as follows,
- a geometric reconstruction method based on point cloud neighbor nodes which utilizes the spatial correlation of neighbor nodes around the current node, and simultaneously uses neighbor information of different weights.
- the weight values of 0.081, 0.057, and 0.046 are used respectively, and the calculation is based on the existence information of the 26 neighbor nodes around the current node.
- the coordinates of the point at the time of geometric reconstruction are obtained, and the coordinates are numerically closer to the coordinate mean of all points in the node, so that the geometric reconstruction error after spatial scalability is reduced.
- the neighbor nodes determined in the embodiment of the present application may only include coplanar neighbor nodes.
- the search range of neighbor nodes can be changed to 6, that is, only 6 coplanar neighbor nodes are used, as shown in FIG. 8 .
- the gray-filled cube is the current node, and the 6 adjacent nodes around it are 6 coplanar neighbor nodes.
- FIG. 9 shows a schematic flowchart of another geometric reconstruction method provided by an embodiment of the present application. As shown in Figure 9, the method may include:
- S901 Determine the influence parameter value of the coplanar neighbor node of the current node in the direction of the preset coordinate axis.
- the attribute information of a neighbor node indicates that the neighbor node includes a coplanar neighbor node
- the center position coordinate information of the current node is represented by (x 0 , y 0 , z 0 ), and the influence parameter value of the adjacent coplanar neighbor nodes of the current node in the direction of the X coordinate axis is represented by b 1x
- the influence parameter value of the coplanar neighbor node adjacent to the current node above the Y coordinate axis is denoted by b 1y
- the influence parameter value of the coplanar adjacent node adjacent to the current node above the Z coordinate axis direction is denoted by b 1z represents that at this time, b 1x , b 1y , and b 1z can be calculated according to formula (5), formula (6), and formula (7).
- the method may further include:
- the absolute value operation is performed on the coplanar neighbor node influence parameter value, and the calculated coplanar neighbor node influence parameter value is determined as the coplanar neighbor node influence parameter value.
- the coplanar neighbor node influence parameter value of the current node in the X coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the Y coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the direction of the Z coordinate axis is
- the weight value of the coplanar neighbor nodes in this case may be a preset constant.
- the preset constant is 1/4. That is to say, the weight value of the coplanar neighbor node may be 0.25, but this is not specifically limited in this embodiment of the present application.
- the coordinate correction value of the current node in the direction of the X coordinate axis is 0.25
- the coordinate correction value of the current node in the direction of the Y coordinate axis is 0.25
- the current node is in the direction of the Z coordinate axis.
- the coordinate correction value on is 0.25
- it can be realized by right-shifting binary
- are also implemented by binary shifting. way to achieve.
- S903 Determine the geometrically reconstructed coordinate value of the current node according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis.
- the current node is determined according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis
- the geometrically reconstructed coordinate values of which can include:
- the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis are added to obtain the geometrically reconstructed coordinate value of the current node.
- the geometrically reconstructed coordinate value of the current node includes the geometrically reconstructed coordinate value of the X-coordinate axis direction, the geometrically reconstructed coordinate value of the Y-coordinate axis direction, and the geometrically reconstructed coordinate value of the Z-coordinate axis direction;
- the addition calculation is performed on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the geometrically reconstructed coordinate value of the current node,
- the center position coordinate information of the current node in the direction of the Z-coordinate axis and the coordinate correction value of the current node in the direction of the Z-coordinate axis are added to obtain the geometric weight of the current node in the direction of the Z-coordinate axis. Construct the coordinate value.
- the coordinate information of the center position is represented by (x 0 , y 0 , z 0 ), and the weight value of the coplanar neighbor node is represented by w 1 ; for the center position
- the coordinate information is the current node of (x 0 , y 0 , z 0 ), the coplanar neighbor node influence parameter value of the current node in the direction of the X coordinate axis is
- the coplanar neighbor node influence parameter value in the axis direction is
- the geometrically reconstructed coordinate values which are calculated as follows,
- equation (17) can be equivalently as follows,
- the neighbor nodes determined in the embodiment of the present application may only include coplanar neighbor nodes and co-edge neighbor nodes .
- the search range of neighbor nodes in the embodiment of the present application can be changed to 18, that is, only 6 coplanar neighbor nodes and 12 co-edge neighbor nodes are used, as shown in FIG. 10 .
- the gray-filled cube is the current node
- the adjacent nodes with 6 faces around it are 6 coplanar neighbor nodes
- the nodes adjacent to 12 edges are 12 coplanar neighbor nodes .
- FIG. 11 shows a schematic flowchart of another method for geometric reconstruction provided by an embodiment of the present application. As shown in Figure 11, the method may include:
- S1101 Determine the coplanar neighbor node influence parameter value and the coedge neighbor node influence parameter value of the current node in the direction of the preset coordinate axis.
- the attribute information of a neighbor node indicates that the neighbor node includes a coplanar neighbor node
- the attribute information of the neighbor node indicates that the neighbor node includes a co-edge neighbor node
- it can be determined that the current node is in the preset Let the co-edge neighbor nodes in the coordinate axis direction affect the parameter value.
- the center position coordinate information of the current node is represented by (x 0 , y 0 , z 0 ), and the influence parameter value of the adjacent coplanar neighbor nodes of the current node in the direction of the X coordinate axis is represented by b 1x
- the influence parameter value of the coplanar neighbor node adjacent to the current node above the Y coordinate axis is denoted by b 1y
- the influence parameter value of the coplanar adjacent node adjacent to the current node above the Z coordinate axis direction is denoted by b 1z represents that at this time, b 1x , b 1y , and b 1z can be calculated according to formula (5), formula (6), and formula (7).
- the influence parameter value of the adjacent co-edge neighbor nodes of the current node above the X coordinate axis is represented by b 2x
- the influence parameter value of the adjacent co-edge neighbor nodes of the current node above the Y coordinate axis direction is denoted by b 2y
- b 2z Indicates that the influence parameter value of the adjacent co-edge neighbor nodes of the current node above the Z coordinate axis is represented by b 2z .
- b 2x , b 2y , b 2z can be based on Equation (8), Equation (9), Equation (10) is calculated to get
- the method may further include:
- the absolute value operation is performed on the coplanar neighbor node influence parameter value, and the calculated coplanar neighbor node influence parameter value is determined as the coplanar neighbor node influence parameter value.
- the coplanar neighbor node influence parameter value of the current node in the X coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the Y coordinate axis direction is
- the coplanar neighbor node influence parameter value of the current node in the direction of the Z coordinate axis is
- the method may further include:
- a norm operation is performed on the value of the influence parameter of the co-edge neighbor node, and the calculated value of the influence parameter of the co-edge neighbor node is determined as the value of the influence parameter of the co-edge neighbor node.
- the co-edge neighbor node influence parameter value of the current node in the X-axis direction is
- the co-edge neighbor node influence parameter value of the current node in the Y-coordinate axis direction is
- the current node’s co-edge neighbor node influence parameter value is
- the method for determining the weight value of the coplanar neighbor node and the weight value of the coplanar neighbor node in this case may include:
- the weight value of the coplanar neighbor node and the weight value of the coplanar neighbor node of the current node are determined.
- the embodiments of the present application are also improved based on the point-to-point error measurement.
- the specific calculation process is as follows:
- the weight value of the coplanar neighbor node > the weight value of the coplanar neighbor node.
- the reciprocal of the Euclidean distance is used as the preset ratio of the two weight values. That is: the weight value of the coplanar neighbor node: And because the reconstructed point in the current node cannot exceed the boundary of the current node, when the maximum offset effect occurs, the reconstructed point is on the boundary of the current node. At this time, it can be a total of 1. face neighbor nodes and 4 co-edge neighbor nodes.
- the normalization factor calculated from this is:
- the weight value of these two kinds of neighbor nodes can be calculated:
- the weight of the co-edge neighbor node is the weight of the co-edge neighbor node
- the preset ratio is In the case of , determine the weight value of coplanar neighbor nodes is 0.13, and the weight value of coplanar neighbor nodes is 0.091.
- the preset ratio is In the case of , determine the weight value of the coplanar neighbor node is 0.166, and the weight value of the coplanar neighbor node is 0.083.
- the preset ratio between the weight value of the coplanar neighbor node and the weight value of the coplanar neighbor node is not limited to the above two cases, and the preset ratio can also be set to other ratios, the embodiment of the present application. There is no specific limitation.
- weight values obtained above are floating-point numbers, which can be achieved by approximating the value by binary shifting in the actual standard proposal.
- the coordinate correction value of the current node in the direction of the preset coordinate axis can be determined. Specifically, if the weight value of the coplanar neighbor node is 0.13 and the weight value of the coplanar neighbor node is 0.091, then the coordinate correction value of the current node in the direction of the X coordinate axis is 0.13
- S1103 Determine the geometrically reconstructed coordinate value of the current node according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis.
- the current node is determined according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis
- the geometrically reconstructed coordinate values of which can include:
- the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis are added to obtain the geometrically reconstructed coordinate value of the current node.
- the geometrically reconstructed coordinate value of the current node includes the geometrically reconstructed coordinate value of the X-coordinate axis direction, the geometrically reconstructed coordinate value of the Y-coordinate axis direction, and the geometrically reconstructed coordinate value of the Z-coordinate axis direction;
- the addition calculation is performed on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the geometrically reconstructed coordinate value of the current node,
- the center position coordinate information of the current node in the direction of the Z-coordinate axis and the coordinate correction value of the current node in the direction of the Z-coordinate axis are added to obtain the geometric weight of the current node in the direction of the Z-coordinate axis. Construct the coordinate value.
- the center position coordinate information is represented by (x 0 , y 0 , z 0 )
- the weight value of coplanar neighbor nodes is represented by w 1
- the node weight value is represented by w 2 ; for the current node whose center position coordinate information is (x 0 , y 0 , z 0 ), the coplanar neighbor node influence parameter value of the current node in the direction of the X coordinate axis is
- ; the current node's co-edge neighbor node influence parameter value in the X-axis direction is
- equation (20) can be equivalently as follows,
- the embodiment of the present application provides a geometric reconstruction method based on point cloud neighbor nodes, which utilizes the spatial correlation of the neighbor nodes around the current node, and calculates the geometric reconstruction according to the situation of different neighbor nodes.
- the coordinates of the time point which are numerically closer to the coordinate mean of all points in the node, so that the geometric reconstruction error after spatial scalability is reduced.
- the embodiment of the present application proposes a point cloud space scalable coding geometric reconstruction method based on the weight of neighbor nodes, which calculates the current node's Position coordinates.
- the following takes 26 neighbor nodes as the search range, and the specific process is as follows:
- L 2 skip Layer
- each skip Layer layer node searches for 26 neighbor nodes around the node.
- the existence information of , and the function g(x i , y i , z i ) is used to indicate whether there is a point in the following range:
- the neighbor relationship can be divided into surface adjacent, edge adjacent, and point adjacent.
- the gray-filled cube represents the current node
- the cube node marked with W1 and the current node have a common plane in the direction of the Z coordinate axis, so they are adjacent to each other in the direction of the Z coordinate axis , which can be called a coplanar neighbor node
- the cube node marked with W2 and the current node have a common edge in the direction of the X coordinate axis and the Y coordinate axis, and it and the current node are on the X coordinate axis and the Y coordinate axis.
- the edges are adjacent in the direction, so it can be called a co-edge neighbor node; the cube node marked with W3 and the current node have a common point in the directions of the X coordinate axis, the Y coordinate axis, and the Z coordinate axis, which is the same as the current node.
- the nodes are adjacent to each other in the directions of the X coordinate axis, the Y coordinate axis, and the Z coordinate axis, so they can be called co-point neighbor nodes (here, the adjacent faces are not included in the adjacent sides and points, and the adjacent sides are adjacent to each other.
- Neighbor nodes that are adjacent to each other on the opposite side, adjacent to the edge, and adjacent to the point are not counted as adjacent nodes), and the embodiments of the present application use different weight value.
- the face neighbor weight ie, the coplanar neighbor node weight value
- the edge neighbor weight ie, the coplanar neighbor node weight value
- the point neighbor weight that is, the weight value of the common point neighbor node
- w 3 0.046
- the influence of the adjacent upper direction is b 1z , which is specifically shown in the above-mentioned formula (5), formula (6), and formula (7).
- the influence of the current node whose center position is (x 0 , y 0 , z 0 ) is adjacent to the X coordinate axis direction is b 2x
- the adjacent influence to the Y coordinate axis direction is b 2y
- the influence of the adjacent side in the direction is b 2z , which is specifically shown in the above-mentioned formula (8), formula (9), and formula (10).
- the influence of the current node whose center position is (x 0 , y 0 , z 0 ) is adjacent in the direction of the X coordinate axis is b 3x
- the influence of adjacent points in the direction of the Y coordinate axis is b 3y
- the influence of the adjacent points in the coordinate axis direction is b 3z , which is specifically shown in the above-mentioned formula (11), formula (12), and formula (13).
- the geometric reconstruction coordinate value obtained by the above-mentioned geometric reconstruction method It is represented by the above formula (16).
- the protection point of the embodiment of the present application is to use neighbor information of different weights to calculate the geometric coordinates after scalable encoding of the point cloud space
- the opposite neighbors, edge neighbors, and point neighbors use weight values of 0.081, 0.057, and 0.046, respectively, according to the current node.
- the existence information of the surrounding 26 neighbor nodes is used to calculate the reconstructed geometric coordinate value of the node.
- the technical solution of the present application more fully utilizes the spatial correlation of point clouds, so that the error of geometric reconstruction after spatial scalability is reduced.
- the peak signal-to-noise ratio (Peak Signal to Noise Ratio, PSNR) of the geometric information represents: compared with the related art, under the condition of the same code rate, the geometric error brought by the technical solution of the present application is higher than that brought by the related art.
- the D2-PSNR calculation formula is as follows,
- p is the peak constant value of each reference point cloud defined in Table 1, which is determined by the point cloud sequence, as shown in the bold part in Table 2.
- This embodiment provides a geometric reconstruction method, which is applied to a decoder. Determine the neighbor node of the current node according to the position information of the current node; determine the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis based on the attribute information of the neighbor node; Determine the neighbor node weight value of the current node; determine the geometry of the current node according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the neighbor node weight value Reconstruct coordinate values.
- FIG. 12 shows a schematic structural diagram of a decoder 120 provided by an embodiment of the present application.
- the decoder 120 may include: a determination unit 1201 and a calculation unit 1202; wherein,
- the determining unit 1201 is configured to determine the neighbor node of the current node according to the position information of the current node; and based on the attribute information of the neighbor node, determine the current node in the direction of the preset coordinate axis. Neighbor nodes affect parameter values;
- the determining unit 1201 is further configured to determine the neighbor node weight value of the current node
- the computing unit 1202 is configured to determine the geometrically reconstructed coordinate value of the current node according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the neighbor node weight value.
- the attribute information of the neighbor node includes the type of the neighbor node; wherein, the type of the neighbor node includes at least one of the following: a coplanar with a plane adjacent to the current node A neighbor node, a co-edge neighbor node adjacent to the current node, and a co-point neighbor node adjacent to the current node.
- the number of coplanar neighbor nodes of the current node is 6, the number of co-edge neighbor nodes is 12, and the number of co-point neighbor nodes is 8.
- the determining a neighbor node of the current node includes at least one of the following: a coplanar neighbor node having a plane adjacent to the current node, and a coplanar neighbor node having a plane adjacent to the current node. Edge-adjacent co-edge neighbor nodes, and co-point neighbor nodes that have point neighbors with the current node.
- the determining unit 1201 is further configured to determine the center position coordinate information of the current node; and based on the center position coordinate information and the attribute information of the neighbor nodes, determine that the current node is in Neighbor nodes in the direction of the preset coordinate axis affect the parameter value.
- the determining unit 1201 is further configured to, when the attribute information of the neighbor node indicates that the neighbor node includes a coplanar neighbor node, based on the center position coordinate information of the current node and the Coplanar neighbor node, determine the coplanar neighbor node influence parameter value of the current node in the direction of the preset coordinate axis; when the attribute information of the neighbor node indicates that the neighbor node includes a co-edge neighbor node , based on the center position coordinate information of the current node and the co-edge neighbor node, determine the co-edge neighbor node influence parameter value of the current node in the direction of the preset coordinate axis; when the neighbor node When the attribute information of the point indicates that the neighbor node includes a co-located neighbor node, based on the center position coordinate information of the current node and the co-located neighbor node, it is determined that the current node is in the preset coordinate axis direction
- the co-located neighbors on the node affect the parameter value.
- the determining unit 1201 is further configured to determine whether the neighbor node exists a little bit.
- the computing unit 1202 is further configured to, when the neighbor node includes a coplanar neighbor node, a coplanar neighbor node and a copoint neighbor node, based on the coplanar neighbor node of the current node Point weight value, co-edge neighbor node weight value, and co-point neighbor node weight value, which affect the parameter value of the co-planar neighbor node of the current node in the direction of the preset coordinate axis, the co-edge neighbor node
- the node influence parameter value and the co-point neighbor node influence parameter value are weighted and calculated to obtain the coordinate correction value of the current node in the direction of the preset coordinate axis; and the center position coordinate information of the current node is obtained. and the coordinate correction value of the current node in the direction of the preset coordinate axis to determine the geometrically reconstructed coordinate value of the current node.
- the calculation unit 1202 is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node.
- the geometrically reconstructed coordinate value of the point is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node. The geometrically reconstructed coordinate value of the point.
- the determining unit 1201 is further configured to, based on the coplanar neighbor node, the coplanar neighbor node, and the distance between the copoint neighbor node and the current node, determine the a preset ratio between the weight value of the coplanar neighbor node, the weight value of the coplanar neighbor node, and the weight value of the coplanar neighbor node;
- the calculation unit 1202 is further configured to perform a normalization calculation on the preset ratio to obtain a normalization coefficient; and determine the coplanar neighbor of the current node based on the normalization coefficient and the preset ratio The node weight value, the co-edge neighbor node weight value, and the co-point neighbor node weight value.
- the calculation unit 1202 is further configured to set the preset ratio to be In the case of , determine that the weight value of the coplanar neighbor node is 0.081, the weight value of the coplanar neighbor node is 0.057, and the weight value of the coplanar neighbor node is 0.046; or, the preset ratio is In the case of , it is determined that the weight value of the coplanar neighbor node is 0.115, the weight value of the coplanar neighbor node is 0.057, and the weight value of the coplanar neighbor node is 0.038.
- the computing unit 1202 is further configured to, when the neighbor node includes only coplanar neighbor nodes, based on the weight value of the coplanar neighbor node of the current node, determine whether the current node is in the Perform weighted calculation on the influence parameter values of the coplanar neighbor nodes in the direction of the preset coordinate axis to obtain the coordinate correction value of the current node in the direction of the preset coordinate axis; and according to the center position coordinates of the current node The information and the coordinate correction value of the current node in the direction of the preset coordinate axis determine the geometrically reconstructed coordinate value of the current node.
- the calculation unit 1202 is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node.
- the geometrically reconstructed coordinate value of the point is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node. The geometrically reconstructed coordinate value of the point.
- the weight value of the coplanar neighbor node is a preset constant.
- the preset constant is 1/4.
- the computing unit 1202 is further configured to, when the neighbor node includes a coplanar neighbor node and a coedge neighbor node, based on the weight value of the coplanar neighbor node and the coedge neighbor node of the current node Neighbor node weight value, weighted calculation is performed on the influence parameter value of the coplanar neighbor node and the influence parameter value of the coplanar neighbor node in the direction of the preset coordinate axis of the current node, and the current node is obtained.
- the coordinate correction value of the point in the direction of the preset coordinate axis and according to the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis, determine the coordinate correction value of the current node Geometrically reconstructed coordinate values.
- the calculation unit 1202 is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node.
- the geometrically reconstructed coordinate value of the point is further configured to perform an addition calculation on the center position coordinate information of the current node and the coordinate correction value of the current node in the direction of the preset coordinate axis to obtain the current node. The geometrically reconstructed coordinate value of the point.
- the determining unit 1201 is further configured to determine the weight value of the coplanar neighbor node based on the distance between the coplanar neighbor node and the coplanar neighbor node and the current node and the preset ratio between the weights of the co-edge neighbor nodes;
- the calculation unit 1202 is further configured to perform a normalization calculation on the preset ratio to obtain a normalization coefficient; and determine the coplanar neighbor of the current node based on the normalization coefficient and the preset ratio The node weight value and the co-edge neighbor node weight value.
- the calculation unit 1202 is further configured to set the preset ratio to be In the case of , determine that the weight value of the coplanar neighbor node is 0.13, and the weight value of the coplanar neighbor node is 0.091; In the case of , the weight value of the coplanar neighbor node is determined to be 0.166, and the weight value of the coplanar neighbor node is 0.083.
- the geometrically reconstructed coordinate value of the current node includes a geometrically reconstructed coordinate value in the X-coordinate axis direction, a geometrically reconstructed coordinate value in the Y-coordinate axis direction, and a geometrically reconstructed coordinate value in the Z-coordinate axis direction ;
- the calculation unit 1202 is specifically configured to perform an addition calculation on the center position coordinate information of the current node in the direction of the X-coordinate axis and the coordinate correction value of the current node in the direction of the X-coordinate axis to obtain the current node.
- the decoder 120 may further include a parsing unit 1203, configured to parse the code stream to obtain spatially scalable enabling identification information;
- the determining unit 1201 is further configured to perform the determining according to the location information of the current node in the case where the spatially scalable enabling identification information indicates that the skip layer where the current node is located is not to be decoded The steps of the current node's neighbor nodes.
- the determining unit 1201 is further configured to, if the value of the spatially scalable enabling identification information is equal to a first value, determine that the spatially scalable enabling identification information indicates that the current node If the value of the spatially scalable enabling identification information is equal to the second value, it is determined that the spatially scalable enabling identification information indicates that the skipping layer where the current node is located is not to be decoded. Decoding through layers.
- the first value is 0 and the second value is 1; or, the first value is false and the second value is true.
- a "module” may be a part of a circuit, a part of a processor, a part of a program or software, etc., of course, it may also be a unit, and it may also be non-modular.
- each component in this embodiment may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
- the above-mentioned integrated units can be implemented in the form of hardware, or can be implemented in the form of software function modules.
- the integrated unit is implemented in the form of a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the technical solution of this embodiment is essentially or The part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product, the computer software product is stored in a storage medium, and includes several instructions for making a computer device (which can be It is a personal computer, a server, or a network device, etc.) or a processor (processor) that executes all or part of the steps of the method described in this embodiment.
- the aforementioned storage medium includes: 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.
- an embodiment of the present application provides a computer storage medium, which is applied to the decoder 120, where the computer storage medium stores a computer program, and when the computer program is executed by the processor, implements the method described in any one of the foregoing embodiments. .
- FIG. 13 shows a schematic diagram of a specific hardware structure of the decoder 120 provided by the embodiment of the present application.
- the bus system 1304 may include: a communication interface 1301 , a memory 1302 and a processor 1303 ; various components are coupled together through a bus system 1304 .
- the bus system 1304 is used to implement connection communication between these components.
- the bus system 1304 also includes a power bus, a control bus, and a status signal bus.
- the various buses are labeled as bus system 1304 in FIG. 13 . in,
- the communication interface 1301 is used for receiving and sending signals in the process of sending and receiving information with other external network elements;
- memory 1302 for storing computer programs that can run on processor 1303;
- the processor 1303 is configured to, when running the computer program, execute:
- the geometric reconstruction coordinate value of the current node is determined according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the weight value of the neighbor node.
- the memory 1302 in this embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
- the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically programmable read-only memory (Erasable PROM, EPROM). Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
- Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
- RAM Static RAM
- DRAM Dynamic RAM
- SDRAM Synchronous DRAM
- SDRAM double data rate synchronous dynamic random access memory
- Double Data Rate SDRAM DDRSDRAM
- enhanced SDRAM ESDRAM
- synchronous link dynamic random access memory Synchlink DRAM, SLDRAM
- Direct Rambus RAM Direct Rambus RAM
- the processor 1303 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method can be completed by an integrated logic circuit of hardware in the processor 1303 or an instruction in the form of software.
- the above-mentioned processor 1303 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a ready-made programmable gate array (Field Programmable Gate Array, FPGA) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
- DSP Digital Signal Processor
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
- the steps of the method disclosed in conjunction with the embodiments of the present application may be directly embodied as executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
- the software modules may be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other storage media mature in the art.
- the storage medium is located in the memory 1302, and the processor 1303 reads the information in the memory 1302, and completes the steps of the above method in combination with its hardware.
- the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof.
- the processing unit can be implemented in one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), Digital Signal Processing Device (DSP Device, DSPD), programmable Logic Devices (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), General Purpose Processors, Controllers, Microcontrollers, Microprocessors, Others for performing the functions described herein electronic unit or a combination thereof.
- the techniques described herein may be implemented through modules (eg, procedures, functions, etc.) that perform the functions described herein.
- Software codes may be stored in memory and executed by a processor.
- the memory can be implemented in the processor or external to the processor.
- the processor 1303 is further configured to execute the method described in any one of the foregoing embodiments when running the computer program.
- This embodiment provides a decoder, and the decoder may include a determination unit and a calculation unit.
- the decoder may include a determination unit and a calculation unit.
- FIG. 14 it shows a schematic diagram of the composition and structure of a point cloud system provided by an embodiment of the present application.
- the point cloud system 140 may include an encoder 1401 and a decoder 1402 .
- the decoder 1402 is the decoder described in any one of the foregoing embodiments.
- the original point cloud is divided into octrees, and written into the code stream based on the octree encoding method;
- the value of the spatially scalable enabling flag information (represented by scalable_lifting_enabled_flag) is also written into the code stream for transmission to the decoder 1402 .
- the value of scalable_lifting_enabled_flag is obtained by parsing the code stream.
- the decoder 1402 needs to perform the spatial scalability function, that is, for decoding under the octree decoding framework Partial decoding; in this way, using the geometric reconstruction method provided by the embodiment of the present application, since the spatial correlation of the point cloud is fully utilized, the calculated geometric reconstruction coordinate values are numerically closer to the coordinates of all points in the current node The mean value can reduce the geometric error in the geometric reconstruction process after spatial scalability.
- the neighbor nodes of the current node are determined according to the position information of the current node; the neighbors of the current node in the direction of the preset coordinate axis are determined based on the attribute information of the neighbor nodes.
- node influence parameter value determine the neighbor node weight value of the current node; according to the neighbor node influence parameter value of the current node in the direction of the preset coordinate axis and the neighbor node weight value, determine the Describe the geometric reconstruction coordinate value of the current node.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请实施例公开了一种几何重构方法、解码器以及计算机存储介质,该方法包括:根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。这样,可以充分利用点云的空间相关性,从而能够降低空间可伸缩后几何重构过程中的几何误差。
Description
本申请实施例涉及编解码技术领域,尤其涉及一种几何重构方法、解码器以及计算机存储介质。
在基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)框架中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。几何编码完成后,对几何信息进行重建,而属性信息的编码将依赖于重建的几何信息。其中,属性信息编码主要针对颜色信息的编码,以将颜色信息从空间域变换到频域,得到高频系数和低频系数,最后对系数进行量化和熵编码,生成二进制码流。
其中,空间可伸缩(Spatial Scalability)是G-PCC框架的重要功能,通过解码部分点云的比特流信息生成点云缩略图,目前主要作用在基于八叉树几何信息的G-PCC解码器中。这里,跳过层(skip Layer)表示G-PCC解码器中无需解码的八叉树层级。然而,在相关技术中,对于已有Spatial Scalability后的几何重构过程,目前并没有考虑到不同结点内部点分布情况的不同,导致spatial scalability后几何重构过程中的几何误差较大。
发明内容
本申请实施例提供一种几何重构方法、解码器以及计算机存储介质,可以充分利用点云的空间相关性,从而能够降低spatial scalability后几何重构过程中的几何误差。
本申请实施例的技术方案可以如下实现:
第一方面,本申请实施例提供了一种几何重构方法,应用于解码器,该方法包括:
根据当前结点的位置信息,确定所述当前结点的邻居结点;
基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;
确定所述当前结点的邻居结点权重值;
根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
第二方面,本申请实施例提供了一种解码器,该解码器包括确定单元和计算单元;其中,
所述确定单元,配置为根据当前结点的位置信息,确定所述当前结点的邻居结点;以及基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;
所述确定单元,还配置为确定所述当前结点的邻居结点权重值;
所述计算单元,配置为根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
第三方面,本申请实施例提供了一种解码器,该解码器包括存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如第一方面所述的方法。
本申请实施例提供了一种几何重构方法、解码器以及计算机存储介质,根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。这样,由于充分利用了点云的空间相关性,同时根据邻居结点与当前结点的接触程度不同,而为其分配不同的邻居结点权重值,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
图1为相关技术提供的一种空间可伸缩的结构示意图;
图2为相关技术提供的一种G-PCC解码器的框架组成示意图;
图3为相关技术提供的一种根据skip Layer的层级不同而采用不同的重构策略示意图;
图4为相关技术提供的一种点到点误差测度的结构示意图;
图5为本申请实施例提供的一种几何重构方法的流程示意图;
图6为本申请实施例提供的一种当前结点的邻居结点位置关系示意图;
图7为本申请实施例提供的另一种当前结点的邻居结点位置关系示意图;
图8为本申请实施例提供的又一种当前结点的邻居结点位置关系示意图;
图9为本申请实施例提供的另一种几何重构方法的流程示意图;
图10为本申请实施例提供的又一种当前结点的邻居结点位置关系示意图;
图11为本申请实施例提供的又一种几何重构方法的流程示意图;
图12为本申请实施例提供的一种解码器的组成结构示意图;
图13为本申请实施例提供的一种解码器的具体硬件结构示意图;
图14为本申请实施例提供的一种点云***的组成结构示意图。
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)点云压缩(Point Cloud Compression,PCC)
2)基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)
3)片(slice)
4)包围盒(bounding box)
5)八叉树(octree)
6)帧内预测(intra prediction)
7)三角面片集(triangle soup,trisoup)
8)基于上下文模型的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)
9)块(block)
10)交点(vertex)
11)细节层次(Level of Detail,LOD)
12)区域自适应分层变换(Region Adaptive Hierarchal Transform,RAHT)
13)跳过层(skip Layer)
14)空间可伸缩(Spatial Scalability)
15)动态图像专家组(Moving Picture Experts Group,MPEG)
16)国际标准化组织(International Standardization Organization,ISO)
17)国际电工委员会(International Electrotechnical Commission,IEC)
18)最小几何结点边长的log2对数(Minimum Geometry Node Size Log2,MinGeomNodeSizeLog2)
19)直接编码点数(Direct Point Count,DirectPointCount)
这里,点云是物体表面的三维表现形式,通过光电雷达、激光雷达、激光扫描仪、多视角相机等采 集设备,可以采集得到物体表面的点云(数据)。
点云(Point Cloud)是指海量三维点的集合,点云中的点可以包括点的位置信息和点的属性信息。例如,点的位置信息可以是点的三维坐标信息。点的位置信息也可称为点的几何信息。例如,点的属性信息可包括颜色信息和/或反射率等等。例如,颜色信息可以是任意一种色彩空间上的信息。例如,颜色信息可以是RGB信息。其中,R表示红色(Red,R),G表示绿色(Green,G),B表示蓝色(Blue,B)。再如,颜色信息可以是亮度色度(YcbCr,YUV)信息。其中,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差。
根据激光测量原理得到的点云,点云中的点可以包括点的三维坐标信息和点的激光反射强度(reflectance)。再如,根据摄影测量原理得到的点云,点云中的点可以可包括点的三维坐标信息和点的颜色信息。再如,结合激光测量和摄影测量原理得到点云,点云中的点可以可包括点的三维坐标信息、点的激光反射强度(reflectance)和点的颜色信息。
点云可以按获取的途径分为:
第一类静态点云:即物体是静止的,获取点云的设备也是静止的;
第二类动态点云:物体是运动的,但获取点云的设备是静止的;
第三类动态获取点云:获取点云的设备是运动的。
例如,按点云的用途分为两大类:
类别一:机器感知点云,其可以用于自主导航***、实时巡检***、地理信息***、视觉分拣机器人、抢险救灾机器人等场景;
类别二:人眼感知点云,其可以用于数字文化遗产、自由视点广播、三维沉浸通信、三维沉浸交互等点云应用场景。
由于点云是海量点的集合,存储点云不仅会消耗大量的内存,而且不利于传输,也没有这么大的带宽可以支持将点云不经过压缩直接在网络层进行传输,因此,需要对点云进行压缩。
截止目前,可对点云进行压缩的点云编码框架可以是运动图象专家组(Moving Picture Experts Group,MPEG)提供的基于几何的点云压缩(Geometry Point Cloud Compression,G-PCC)编解码框架或基于视频的点云压缩(Video Point Cloud Compression,V-PCC)编解码框架,也可以是音视频编码标准(Audio Video Standard,AVS)提供的AVS-PCC编解码框架。G-PCC编解码框架可用于针对第一类静态点云和第三类动态获取点云进行压缩,V-PCC编解码框架可用于针对第二类动态点云进行压缩。G-PCC编解码框架也称为点云编解码器TMC13,V-PCC编解码框架也称为点云编解码器TMC2。
可以理解,在点云G-PCC编码器框架中,将输入点云进行slice划分后,然后对slice进行独立编码。在slice中,点云的几何信息和点云中的点所对应的属性信息是分开进行编码的。G-PCC编码器首先对几何信息进行编码。编码器对几何信息进行坐标转换,使点云全都包含在一个bounding box中;然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,将不去除重复点称为几何无损压缩,去除重复点称为几何有损压缩,而量化和移除重复点这一过程又被称为体素化过程。接下来,对bounding box进行基于八叉树的划分。根据八叉树划分层级深度的不同,几何信息的编码又分为基于八叉树和三角面片集的两种框架。
在基于八叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,并记录子立方体的占位比特(其中,1为非空,0为空),对非空的子立方体继续进行八等分,通常划分得到的叶子结点为1×1×1的单位立方体时停止划分。在这个过程中,利用结点(node)与周围结点的空间相关性,对占位比特进行帧内预测,最后进行算术编码(CABAC),生成二进制的几何比特流,即几何码流。
在基于三角面片集的几何信息编码框架中,同样也要先进行八叉树划分,但区别在于基于八叉树的几何信息编码,该方法不需要将点云逐级划分到边长为1×1×1的单位立方体,而是划分到block的边长为W时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个vertex。最后依次编码每个block的vertex坐标,生成二进制的几何比特流,即几何码流。
G-PCC编码器在完成几何信息编码后,对几何信息进行重建,并使用重建的几何信息对点云的属性信息进行编码。其中,在基于八叉树的几何信息编码框架中,几何无损压缩和几何有损压缩在八叉树划分完成时均存在几何重建过程。目前,点云的属性编码主要是对点云中点的颜色信息进行编码。首先,编码器可以对点的颜色信息进行颜色空间转换,例如,当输入点云中点的颜色信息使用RGB颜色空间表示时,编码器可以将颜色信息从RGB颜色空间转换到YUV颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,主要有两种变换方法,一种方法是依赖于LOD划分的基于距离的提升变换,另一种方法是直接进行RAHT变换,这两种方法都会将颜色信息从空间域变换到频域,得到高频系数和低频系数,最后对系数进行量化和算 术编码,生成二进制的属性比特流,即属性码流。
在点云G-PCC解码器框架中,点云的几何比特流和点云中的点所对应的属性比特流是分开进行解码的。G-PCC解码器对几何比特流进行解码。解码器对几何比特流进行算术解码,解码出点云的bounding box和基于八叉树的占位比特(1为非空,0为空);根据编码时八叉树划分层级深度的不同,几何信息的解码又分为基于八叉树和三角面片集的两种框架。
这里,Spatial Scalability是G-PCC的重要功能,通过解码部分点云的比特流信息生成点云缩略图,目前仅作用在基于八叉树几何信息的G-PCC解码器框架中。skip Layer为解码器少解码的八叉树层级。如图1所示,其示出了相关技术提供的一种空间可伸缩的结构示意图。在图1中,八叉树几何编码到了第K层。这时候,如果解码器不进行spatial scalability过程解码,那么这K层将完全解码;如果解码器进行spatial scalability过程时部分解码,那么将解码到M层结束(M=K–skip Layer),其中,skip Layer表示不需要解码的八叉树层级。
需要说明的是,spatial scalability功能是通过参数scalable_lifting_enabled_flag来控制的。如果scalable_lifting_enabled_flag=0,那么表示不进行spatial scalability功能;如果scalable_lifting_enabled_flag=1,那么表示进行spatial scalability功能。
在基于八叉树的几何信息解码框架中,根据bounding box计算出当前点云在空间中的最大立方盒,再根据占位比特对非空的子立方体继续进行八等分,通常划分得到的叶子结点为1×1×1的单位立方体时停止划分。但是,如果解码过程进行Spatial scalability功能时,那么将是划分到指定的skip Layer,此时生成2
skipLayer×2
skipLayer×2
skipLayer的立方体。之后,通过该立方体生成几何坐标信息。这里,对叶子结点为1×1×1的单位立方体,则几何坐标为该立方体左前下角的坐标;对叶子结点为2
skipLayer×2
skipLayer×2
skipLayer的单位立方体,则几何坐标会根据skip Layer的不同,然后采用不同的重构策略进行确定。
示例性地,如图2所示,其示出了相关技术提供的一种G-PCC解码器的框架示意图。在图2中,获取二进制码流后,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-合成八叉树-表面拟合-重建几何-坐标转换逆过程,得到点云的几何信息。这里,在表面拟合之后,可以选择执行重建几何的步骤,也可以选择执行Scalable-重建几何的步骤,其主要是根据是否进行spatial scalability功能来确定的。另外,在对属性比特流的解码时,通过算术解码-反量化-基于LOD的逆提升或者基于RAHT的逆变换-颜色转换逆过程,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
然而,目前的相关技术中,已有的可伸缩编码几何重构方法是于2020年1月在提案中提出的,已经被MPEG G-PCC标准(即MPEG-I(ISO/IEC 23090)Part 9)接收。该技术方案根据skip Layer的层级不同而采用不同的重构策略。具体地,以图3为例,解码器的具体实施描述如下:
当skip Layer=1时,几何坐标为该立方体左前下角的坐标信息,如图3中的Q点位置;
当skip Layer>1时,几何坐标为该立方体中心位置的坐标信息,如图3中的P点位置。
该技术方案是在MPEG G-PCC标准附录C处。其中,针对解码时的位置移位过程,当MinGeomNodeSizeLog2大于1时,其对当前点云图像的每个slice在基于八叉树的几何信息解码框架的具体操作如下:
mask=(-1)<<MinGeomNodeSizeLog2
for(i=0;i<PointCount;i++){
PointPos[i][0]=(PointPos[i][0]&mask)+(1<<(MinGeomNodeSizeLog2-1))
PointPos[i][1]=(PointPos[i][1]&mask)+(1<<(MinGeomNodeSizeLog2-1))
PointPos[i][2]=(PointPos[i][2]&mask)+(1<<(MinGeomNodeSizeLog2-1))
}
这里,MinGeomNodeSizeLog2表示当前八叉树最小的结点边长,数值上等于skip Layer;PointCount表示当前slice在解码到MinGeomNodeSizeLog2层级时结点的总数;PointPos[i][0]表示当前结点重构几何点的x轴坐标;PointPos[i][1]表示当前结点重构几何点的y轴坐标;PointPos[i][2]表示当前结点重构几何点的z轴坐标;mask表示中间掩码。
需要说明的是,PointPos[i][0]、PointPos[i][1]、PointPos[i][2]的初始值,可以为当前边长为MinGeomNodeSizeLog2结点立方体左前下角的坐标,即图3中的Q点位置坐标所示;在经过上述代码的移位操作后,PointPos[i][0]、PointPos[i][1]、PointPos[i][2]的值会等于当前结点立方体中心位置的坐标,即图3中的P点位置坐标所示。
还需要说明的是,由于仅解码部分几何比特流信息,在边长为skip Layer的结点空间内,通过一个几何点代表该结点空间范围内的所有点,所以进行spatial scalability后几何重构过程是一个有损的过程。目前G-PCC使用如下两种方式衡量该过程的几何误差大小。
第一种方式为利用点到点距离表示。这里,点到点几何误差测度的计算过程如图4所示,在图4中,黑点(b
i)为点云伸缩编解码后生成的点,白点(a
j)为原始点云中与其距离最近的点。黑点与白点的坐标之差为点对点误差向量,可以用E(i,j)=b
i-a
j表示。该误差向量的长度为点对点的几何误差,即:
其中,B为伸缩编码后的稀疏点云,A为原始点云,根据所有点i∈B的点对点距离
以N
B为点云B中的点数,定义整个点云的点对点误差D1的计算如式(1)所示。
其中,‖N
j‖表示采用L1范数,L1范数是对应向量的绝对值之和,如式(3)所示;‖E(i,j)‖
2表示采用L2范数,L2范数是对应向量的平方项累加和的开平方,如式(4)所示。
||x||=|x
1|+|x
2|+|x
3|+…+|x
n|……………………………………..(3)
||x||
2=(|x
1|
2+|x
2|
2+|x
3|
2+…+|x
n|
2)
1/2…………………………..(4)
在已有spatial scalability后几何重构过程中,对skip Layer所有的结点都采用相同的几何重构方法(例如,当skip Layer=1时,所有结点几何坐标为结点立方体左前下角的坐标信息;当skip Layer>1时,所有结点几何坐标为结点立方体中心位置的坐标信息)。然而,由于结点几何坐标在数值上越接近结点内所有点的坐标均值,使得点到点误差测度越小,反之,点到点误差测度越大;但是目前的技术方案没有考虑到不同结点内部点分布情况不同,如果当前结点内所有点的坐标均值远离中心位置和立方体左前下角位置,那么目前的技术方案可能会增大spatial scalability后几何重构过程中的几何误差。
本申请一实施例提供一种几何重构方法,该方法的基本思想是:根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。这样,由于充分利用了点云的空间相关性,同时根据邻居结点与当前结点的接触程度不同,而为其分配不同的邻居结点权重值,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
下面将结合附图对本申请各实施例进行详细阐述。
需要说明的是,本申请实施例提供的几何重构方法应用于视频解码设备,即G-PCC解码器,也可简称为解码器。该方法所实现的功能可以通过解码器中的处理器调用计算机程序来实现,当然计算机程序可以保存在存储器中,可见,解码器至少包括处理器和存储器。
本申请的一实施例中,参见图5,其示出了本申请实施例提供的一种几何重构方法的流程示意图。如图5所示,该方法可以包括:
S501:根据当前结点的位置信息,确定所述当前结点的邻居结点。
这里,在点云中,点可以是点云中的所有点,也可以是点云中的部分点,这些点在空间上相对集中。
还需要说明的是,基于图2所示的G-PCC解码器的框架,本申请实施例的方法主要应用于加粗框标识的“重建几何”部分,针对目前的相关技术中spatial scalability后几何重构过程进行优化,以提升对空间相关性的利用程度。
可以理解,在解码器中,对于八叉树解码框架下的解码是否需要进行spatial scalability功能,可以是由一标识(flag)信息确定。在一些实施例中,该标识信息可以是使能标识信息,以防止该flag被修改为反向的。这里,使能标识信息具体是指空间可伸缩的使能标识信息(用scalable_lifting_enabled_flag表示),而空间可伸缩的使能标识信息的取值可以是通过解析码流获得的。具体地,在一些实施例中,该方法可以包括:
解析码流,获取空间可伸缩的使能标识信息;
在所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层(skip Layer)进行解码的情况下,执行所述根据当前结点的位置信息,确定所述当前结点的邻居结点的步骤。
也就是说,通过解析码流获得空间可伸缩的使能标识信息后,可以根据该空间可伸缩的使能标识信息确定是否需要进行spatial scalability功能。只有在空间可伸缩的使能标识信息指示需要进行spatial scalability功能时,即不对所述当前结点所在的跳过层(skip Layer)进行解码,这时候才会执行本申请实施例提供的几何重构方法。
进一步地,对于空间可伸缩的使能标识信息来说,在一些实施例中,该方法还可以包括:
若所述空间可伸缩的使能标识信息的取值等于第一值,则确定所述空间可伸缩的使能标识信息指示 对所述当前结点所在的跳过层进行解码;
若所述空间可伸缩的使能标识信息的取值等于第二值,则确定所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层进行解码。
在一种具体的示例中,所述第一值为0,所述第二值为1;或者,所述第一值为false,所述第二值为true。
示例性地,以第一值为0,第二值为1为例,如果scalable_lifting_enabled_flag的取值等于0,那么这时候不进行spatial scalability功能,即对于八叉树解码框架下的解码进行完全解码,换言之,这时候对当前结点所在的skip Layer进行解码。如果scalable_lifting_enabled_flag的取值等于1,那么这时候进行spatial scalability功能,即对于八叉树解码框架下的解码进行部分解码,换言之,这时候不对当前结点所在的skip Layer进行解码,此时才会执行本申请实施例提供的几何重构方法。
还需要说明的是,对于S501来说,所述确定当前结点的邻居结点,可以包括下述至少之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
也就是说,在对于八叉树解码框架下的解码进行部分解码的情况下,针对skip Layer层中的当前结点而言,通常情况下,该当前结点周围存在有26个邻居结点,具体如图6所示。在图6中,用灰色填充的点表示当前结点,其周围有26个邻居结点,其中,共面邻居结点的数量为6个,共边邻居结点(也可以称为“共线邻居结点”)的数量为12个,共点邻居结点的数量为8个。
在本申请实施例中,这里所确定的邻居结点,可以是这26个所有的邻居结点,也可以是仅6个共面邻居结点,还可以是仅6个共面邻居结点和12个共边邻居结点,甚至还可以是其他数量的邻居结点,本申请实施例不作具体限定。
进一步地,对于在确定当前结点的邻居结点之后,还可以得到邻居结点的属性信息。这里,邻居结点的属性信息可以包括邻居结点的类型;其中,所述邻居结点的类型至少可包括下述之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
在一些实施例中,所述当前结点的共面邻居结点的数量为6、共边邻居结点的数量为12、共点邻居结点的数量为8。
换句话说,本申请实施例可以将这26个邻居结点作为该当前结点的搜索范围,也可以将部分邻居结点(如仅6个共面邻居结点、或者仅6个共面邻居结点和12个共边邻居结点、或者甚至是其他类型的邻居结点组合等)作为该当前结点的搜索范围,这里不作任何限定。
S502:基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值。
在本申请实施例中,由于邻居结点与当前结点的接触程度不同,可以根据邻居结点的属性信息,确定出当前结点在预设坐标轴方向上的邻居结点影响参数值。另外,预设坐标轴方向可以是水平坐标轴方向(X坐标轴方向),也可以是垂直坐标轴方向(Y坐标轴方向),还可以是第三坐标轴方向(Z坐标轴方向),这里也不作任何限定。
具体来讲,在确定当前结点在预设坐标轴方向上的邻居结点影响参数值时,还与当前结点的中心位置坐标信息有关。在一些实施例中,对于S502来说,所述基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,可以包括:
确定所述当前结点的中心位置坐标信息;
基于所述中心位置坐标信息以及所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值。
需要说明的是,以搜索范围为26个邻居结点为例,假定中心位置坐标信息用(x
0,y
0,z
0)表示,这里确定的是中心位置坐标信息为(x
0,y
0,z
0)的当前结点在预设坐标轴方向的邻居结点影响参数值,具体可以包括:共面邻居结点影响参数值、共边邻居结点影响参数值和共点邻居结点影响参数值。
进一步地,在一些实施例中,所述基于所述中心位置坐标信息以及所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,可以包括:
当所述邻居结点的属性信息指示所述邻居结点包含共面邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共面邻居结点,确定所述当前结点在预设坐标轴方向上的共面邻居结点影响参数值;
当所述邻居结点的属性信息指示所述邻居结点包含共边邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共边邻居结点,确定所述当前结点在预设坐标轴方向上的共边邻居结点影响参数值;
当所述邻居结点的属性信息指示所述邻居结点包含共点邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共点邻居结点,确定所述当前结点在预设坐标轴方向上的共点邻居结点影响参数值。
还需要说明的是,如果邻居结点的搜索范围包含共面邻居结点、共边邻居结点和共点邻居结点,也就意味着这里的邻居结点是指当前结点周围的26个邻居结点,具体如图6所示。这时候,本申请实施例还需要对这些邻居结点的存在信息进行确定。在一些实施例中,所述确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,可以包括:确定所述邻居结点是否有点存在的步骤。
可以理解地,在本申请实施例中,解码器在确定邻居结点是否有点存在时,可以通过解码器中的码流来确定出邻居结点是否有点存在,以便进一步确定当前结点在预设坐标轴方向上的邻居结点影响参数值。
这样,在解码器侧,本申请实施例可以利用预设函数g(x
i,y
i,z
i)来表示在以下范围内是否有点存在,
其中,L表示解码器进行空间可伸缩解码时,此时的skip Layer对应的结点边长,L=2
skip Layer。
在一种具体的示例中,如果该范围内存在点(即“有点存在”),那么g(x
i,y
i,z
i)的函数值等于1;如果该范围内不存在点(即“无点存在”),那么g(x
i,y
i,z
i)的函数值等于0。
如此,可以利用该预设函数来表示这26个邻居结点的存在信息,以确定出共面邻居结点的函数值、共边邻居结点的函数值和共点邻居结点的函数值,进而确定出当前结点在预设坐标轴方向上的共面邻居结点影响参数值、共边邻居结点影响参数值和共点邻居结点影响参数值。
对于共面邻居结点影响参数值而言,在一些实施例中,所述基于所述中心位置坐标信息以及所述共面邻居结点,确定所述当前结点在预设坐标轴方向上的共面邻居结点影响参数值,可以包括:
确定所述共面邻居结点的函数值;
基于所述中心位置坐标信息以及所述共面邻居结点的函数值,利用第一计算模型确定所述当前结点在预设坐标轴方向上的共面邻居结点影响参数值。
在一种具体的示例中,所述确定所述共面邻居结点的函数值,可以包括:
确定所述共面邻居结点是否有点存在;
若所述共面邻居结点有点存在,则确定所述共面邻居结点的函数值为1;
若所述共面邻居结点无点存在,则确定所述共面邻居结点的函数值为0。
在本申请实施例中,假定当前结点的中心位置坐标信息用(x
0,y
0,z
0)表示,该当前结点在X坐标轴方向上的共面邻居结点影响参数值用b
1x表示,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值用b
1y表示,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值用b
1z表示,这时候的第一计算模型如下,
b
1x=g(x
0+L,y
0,z
0)(x
0+L)-g(x
0-L,y
0,z
0)(x
0-L)…………………………..(5)
b
1y=g(x
0,y
0+L,z
0)(y
0+L)-g(x
0,y
0-L,z
0)(y
0-L)…………………………..(6)
b
1z=g(x
0,y
0,z
0+L)(z
0+L)-g(x
0,y
0,z
0-L)(z
0-L)…………………………..(7)
其中,g(x
0+L,y
0,z
0)、g(x
0-L,y
0,z
0)、g(x
0,y
0+L,z
0)、g(x
0,y
0-L,z
0)、g(x
0,y
0,z
0+L)、g(x
0,y
0,z
0-L)这6个预设函数可以用于指示6个共面邻居结点分别是否有点存在。根据式(5)、式(6)、式(7)可以计算得到当前结点在预设坐标轴方向上的共面邻居结点影响参数值。其中,预设坐标轴方向可以为:X坐标轴方向、Y坐标轴方向和Z坐标轴方向。
进一步地,由于式(5)、式(6)、式(7)所得到的计算结果为标量,在一些实施例中,该方法还可以包括:
对所述共面邻居结点影响参数值进行求绝对值运算,将计算得到的共面邻居结点影响参数值确定为所述共面邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|。
对于共边邻居结点影响参数值而言,在一些实施例中,所述基于所述中心位置坐标信息以及所述共边邻居结点,确定所述当前结点在预设坐标轴方向上的共边邻居结点影响参数值,可以包括:
确定所述共边邻居结点的函数值;
基于所述中心位置坐标信息以及所述共边邻居结点的函数值,利用第二计算模型确定所述当前结点在预设坐标轴方向上的共边邻居结点影响参数值。
在一种具体的示例中,所述确定所述共边邻居结点的函数值,可以包括:
确定所述共边邻居结点是否有点存在;
若所述共边邻居结点有点存在,则确定所述共边邻居结点的函数值为1;
若所述共边邻居结点无点存在,则确定所述共边邻居结点的函数值为0。
在本申请实施例中,假定当前结点的中心位置坐标信息用(x
0,y
0,z
0)表示,该当前结点在X坐标轴方向上的共边邻居结点影响参数值用b
2x表示,该当前结点在Y坐标轴方向上的共边邻居结点影响参数值用b
2y表示,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值用b
2z表示,这时候的第二计算模型如下,
其中,g(x
0+L,y
0,z
0-L)、g(x
0+L,y
0,z
0+L)、g(x
0+L,y
0-L,z
0)、g(x
0+L,y
0+L,z
0)、g(x
0-L,y
0,z
0-L)、g(x
0-L,y
0-L,z
0)、g(x
0-L,y
0,z
0+L)、g(x
0-L,y
0+L,z
0)、g(x
0,y
0+L,z
0+L)、g(x
0,y
0+L,z
0-L)、g(x
0,y
0-L,z
0+L)、g(x
0,y
0-L,z
0-L)这12个预设函数可以用于指示12个共边邻居结点分别是否有点存在。根据式(8)、式(9)、式(10)可以计算得到当前结点在预设坐标轴方向上的共边邻居结点影响参数值。其中,预设坐标轴方向可以为:X坐标轴方向、Y坐标轴方向和Z坐标轴方向。
进一步地,由于式(8)、式(9)、式(10)所得到的计算结果为矢量,在一些实施例中,该方法还可以包括:
对所述共边邻居结点影响参数值进行求范数运算,将计算得到的共边邻居结点影响参数值确定为所述共边邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共边邻居结点影响参数值为||b
2x||,该当前结点在Y坐标轴方向上的共边邻居结点影响参数值为||b
2y||,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值为||b
2z||。
对于共点邻居结点影响参数值而言,在一些实施例中,所述基于所述中心位置坐标信息以及所述共点邻居结点,确定所述当前结点在预设坐标轴方向上的共点邻居结点影响参数值,可以包括:
确定所述共点邻居结点的函数值;
基于所述中心位置坐标信息以及所述共点邻居结点的函数值,利用第三计算模型确定所述当前结点在预设坐标轴方向上的共点邻居结点影响参数值。
在一种具体的示例中,所述确定所述共点邻居结点的函数值,可以包括:
确定所述共点邻居结点是否有点存在;
若所述共点邻居结点有点存在,则确定所述共点邻居结点的函数值为1;
若所述共点邻居结点无点存在,则确定所述共点邻居结点的函数值为0。
在本申请实施例中,假定当前结点的中心位置坐标信息用(x
0,y
0,z
0)表示,该当前结点在X坐标轴方向上的共点邻居结点影响参数值用b
3x表示,该当前结点在Y坐标轴方向上的共点邻居结点影响参数值用b
3y表示,该当前结点在Z坐标轴方向上的共点邻居结点影响参数值用b
3z表示,这时候的第三计算模型如下,
其中,g(x
0+L,y
0+L,z
0-L)、g(x
0+L,y
0-L,z
0-L)、g(x
0+L,y
0-L,z
0+L)、g(x
0+L,y
0+L,z
0+L)、g(x
0-L,y
0+L,z
0-L)、g(x
0-L,y
0-L,z
0-L)、g(x
0-L,y
0-L,z
0+L)、g(x
0-L,y
0+L,z
0+L)这8个预设函数可以用于指示8个共点邻居结点分别是否有点存在。根据式(11)、式(12)、式(13)可以计算得到当前结点在预设坐标轴方向上的共点邻居结点影响参数值。其中,预设坐标轴方向可以为:X坐标轴方向、Y坐标轴方向和Z坐标轴方向。
进一步地,由于式(11)、式(12)、式(13)所得到的计算结果为矢量,在一些实施例中,该方法还可以包括:
对所述共点邻居结点影响参数值进行求范数运算,将计算得到的共点邻居结点影响参数值确定为所述共点邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共点邻居结点影响参数值为||b
3x||,该当前结点在Y坐标轴方向上的共点邻居结点影响参数值为||b
3y||,该当前结点在Z坐标轴方向上的共点邻居结点影响参数值为||b
3z||。
这样,以搜索范围为26个邻居结点为例,针对中心位置坐标信息为(x
0,y
0,z
0)的当前结点,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|;该当前结点在X坐标轴方向上的共边邻居结点影响参数值为||b
2x||,该当前结点在Y坐标轴方向上的共边邻居结点影响参数值为||b
2y||,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值为||b
2z||;该当前结点在X坐标轴方向上的共点邻居结点影响参数值为||b
3x||,该当前结点在Y坐标轴方向上的共点邻居结点影响参数值为||b
3y||,该当前结点在Z坐标轴方向上的共点邻居结点影响参数值为||b
3z||。
S503:确定所述当前结点的邻居结点权重值。
需要说明的是,以搜索范围为26个邻居结点为例,根据与当前结点接触程度不同,可以将邻居关系分为面相邻,边相邻,点相邻,从而将邻居结点的类型划分为共面邻居结点、共边邻居结点和共点邻居结点。如图7所示,用灰色填充的立方体表示当前结点,标识有W1的立方体结点与当前结点在Z坐标轴方向上具有公共的平面,故它们在Z坐标轴方向上为面相邻,标识有W1的立方体结点可以称为共面邻居结点;标识有W2的立方体结点与当前结点在X坐标轴、Y坐标轴方向上具有公共的边,其与当前结点在X坐标轴、Y坐标轴方向上为边相邻,故标识有W1的立方体结点可以称为共边邻居结点;标识有W3的立方体结点与当前结点在X坐标轴、Y坐标轴、Z坐标轴方向上具有公共的点,其与当前结点在X坐标轴、Y坐标轴、Z坐标轴方向上为点相邻,故标识有W3的立方体结点可以称为共点邻居结点(这里,面相邻不计入边相邻和点相邻,边相邻不计入点相邻);对面相邻,边相邻,点相邻的邻居结点(即共面邻居结点、共边邻居结点和共点邻居结点),本申请实施例采用不同的权重值。
在一些实施例中,对于S503来说,所述确定所述当前结点的邻居结点权重值,可以包括:
基于所述共面邻居结点、所述共边邻居结点和所述共点邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值、所述共边邻居结点权重值和所述共点邻居结点权重值之间的预设比值;
对所述预设比值进行归一化计算,得到归一化系数;
基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值、所述共边邻居结点权重值以及所述共点邻居结点权重值。
在本申请实施例中,本申请实施例是基于点到点误差测度的基础上改进的。对于共面邻居结点权重值、共边邻居结点权重值和共点邻居结点权重值,其具体的计算过程如下:
由相关技术的点到点误差测度可知,在spatial scalability后几何重构点选择的位置越是与原始点云内点分布密集的地方接近,那么几何重构后的误差也就越小。另外,由于当前没有解码到最底层,获取不到准确的原始云点的位置。因此,采用邻居结点信息对原始点云内点分布情况进行预测。以图7为例,在当前结点的26个邻居结点中,存在有当前的3个邻居结点(如共面邻居结点、共边邻居结点和共点邻居结点),那么当前结点内选择的点若是向这三个点的位置偏移,那么根据点到点误差测度,该几何重构方法理论上所产生的误差会小于采用当前结点中心位置坐标信息的方案。
具体来讲,由于距离越近的邻居结点产生的偏移影响越大,因此共面邻居结点权重值>共边邻居结点权重值>共点邻居结点权重值,这时候如图7所示,采用欧式距离的倒数作为三种权重值的预设比值,即:共面邻居结点权重值:共边邻居结点权重值:
又因为在当前结 点内重构后的点最大不能超过当前结点的边界,因此当产生最大偏移影响时,重构的点在当前结点的边界上,此时,可以为1个共面邻居结点,4个共边邻居结点,4个共点邻居结点。由此计算出的归一化系数为:
通过归一化系数与权重值的预设比值,可以计算出这三种邻居结点的权重值:
共面邻居结点权重值为w
1=1×0.081=0.081;
需要说明的是,共面邻居结点权重值、共边邻居结点权重值和共点邻居结点权重值之间的预设比值并不局限于上述两种情况,该预设比值也可以设置为其他比值,本申请实施例不作具体限定。
还需要说明的是,对于上述得到的权重值(比如0.081、0.057、0.046等),这些权重值为浮点数,在实际的标准提案中,可以通过二进制移位求近似值的方式来实现。
这样,在得到当前结点在预设坐标轴上的邻居结点影响参数值和邻居结点权重值之后,可以确定出当前结点的几何重构坐标值。
S504:根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
在这里,以搜索范围为26个邻居结点为例,邻居结点权重值可以包括共面邻居结点权重值、共边邻居结点权重值和共点邻居结点权重值,当前结点在预设坐标轴方向上的邻居结点影响参数值可以包括当前结点在预设坐标轴方向上的共面邻居结点影响参数值、共边邻居结点影响参数值和共点邻居结点影响参数值。如此,在一些实施例中,该方法还可以包括:
基于所述当前结点的共面邻居结点权重值、共边邻居结点权重值以及共点邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值、所述共边邻居结点影响参数值和所述共点邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;
根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一种具体的示例中,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,可以包括:
对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
更具体地,当前结点的几何重构坐标值包括X坐标轴方向的几何重构坐标值、Y坐标轴方向的几何重构坐标值和Z坐标轴方向的几何重构坐标值;
相应地,所述对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值,可以包括:
对所述当前结点在X坐标轴方向的中心位置坐标信息和所述当前结点在X坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在X坐标轴方向的几何重构坐标值;
对所述当前结点在Y坐标轴方向的中心位置坐标信息和所述当前结点在Y坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Y坐标轴方向的几何重构坐标值;
对所述当前结点在Z坐标轴方向的中心位置坐标信息和所述当前结点在Z坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Z坐标轴方向的几何重构坐标值。
需要说明的是,以搜索范围为26个邻居结点为例,假定中心位置坐标信息用(x
0,y
0,z
0)表示,共面邻居结点权重值用w
1表示,共边邻居结点权重值用w
2表示,共点邻居结点权重值用w
3表示;针对中心位置坐标信息为(x
0,y
0,z
0)的当前结点,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|;该当前结点在X坐标轴方向上的共边邻居结点影响参数值为||b
2x||,该当前结点在Y坐标轴方向上的共边邻居结点影响参数值为||b
2y||,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值为||b
2z||;该当前结点在X坐标轴方向上的共点邻居结点影响参数值 为||b
3x||,该当前结点在Y坐标轴方向上的共点邻居结点影响参数值为||b
3y||,该当前结点在Z坐标轴方向上的共点邻居结点影响参数值为||b
3z||;这样,对于当前结点的几何重构坐标值,其计算如下,
示例性地,如果w
1为0.081,w
2为0.057,w
3为0.046,那么式(15)可以等效如下,
简言之,在本申请实施例中,其提供了一种基于点云邻居结点的几何重构方法,利用了当前结点周围的邻居结点的空间相关性,同时采用不同权重的邻居信息来计算点云空间可伸缩编码后的几何坐标,如对面邻居、边邻居、点邻居分别采用0.081,0.057,0.046的权重值,根据当前结点周围的26个邻居结点范围内的存在信息计算出几何重构时点的坐标,该坐标在数值上更接近结点内所有点的坐标均值,以使得spatial scalability后的几何重构误差减小。
本申请的另一实施例中,考虑到算法复杂度以及耗时情况,一种可替代方案为,本申请实施例确定的邻居结点可以仅包含共面邻居结点。
具体来说,本申请实施例中邻居结点的搜索范围可以更改为6个,即仅使用6个共面邻居结点,具体如图8所示。在图8中,灰色填充的立方体为当前结点,其周围的6个面相邻的结点为6个共面邻居结点。在这种情况下,图9示出了本申请实施例提供的另一种几何重构方法的流程示意图。如图9所示,该方法可以包括:
S901:确定当前结点在预设坐标轴方向上的共面邻居结点影响参数值。
需要说明的是,当邻居结点的属性信息指示所述邻居结点包含共面邻居结点时,这时候,基于当前结点的中心位置坐标信息以及所述共面邻居结点,可以确定出当前结点在预设坐标轴方向上的共面邻居结点影响参数值。
此时,假定当前结点的中心位置坐标信息用(x
0,y
0,z
0)表示,该当前结点在X坐标轴方向上面相邻的共面邻居结点影响参数值用b
1x表示,该当前结点在Y坐标轴方向上面相邻的共面邻居结点影响参数值用b
1y表示,该当前结点在Z坐标轴方向上面相邻的共面邻居结点影响参数值用b
1z表示,这时候b
1x、b
1y、b
1z可以根据式(5)、式(6)、式(7)计算得到。
进一步地,由于式(5)、式(6)、式(7)所得到的计算结果为标量,在一些实施例中,该方法还可以包括:
对所述共面邻居结点影响参数值进行求绝对值运算,将计算得到的共面邻居结点影响参数值确定为所述共面邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|。
S902:基于所述当前结点的共面邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值。
需要说明的是,这种情况下的共面邻居结点权重值可以为预设常数。在一种具体的示例中,预设常数是1/4。也就是说,共面邻居结点权重值可以为0.25,但是本申请实施例对此不作具体限定。
这样,当前结点在X坐标轴方向上的坐标修正值为0.25|b
1x|,当前结点在Y坐标轴方向上的坐标修正值为0.25|b
1y|,当前结点在Z坐标轴方向上的坐标修正值为0.25|b
1z|。
还需要说明的是,在实际应用中,对于0.25|b
1x|,可以通过二进制|b
1x|右移两位实现,同理0.25|b
1y|和0.25|b
1z|也是通过二进制移位的方式来实现的。
S903:根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一种具体的示例中,对于S903来说,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,可以包括:
对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
更具体地,当前结点的几何重构坐标值包括X坐标轴方向的几何重构坐标值、Y坐标轴方向的几何重构坐标值和Z坐标轴方向的几何重构坐标值;
相应地,所述对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值,可以包括:
对所述当前结点在X坐标轴方向的中心位置坐标信息和所述当前结点在X坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在X坐标轴方向的几何重构坐标值;
对所述当前结点在Y坐标轴方向的中心位置坐标信息和所述当前结点在Y坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Y坐标轴方向的几何重构坐标值;
对所述当前结点在Z坐标轴方向的中心位置坐标信息和所述当前结点在Z坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Z坐标轴方向的几何重构坐标值。
需要说明的是,以搜索范围为6个邻居结点为例,假定中心位置坐标信息用(x
0,y
0,z
0)表示,共面邻居结点权重值用w
1表示;针对中心位置坐标信息为(x
0,y
0,z
0)的当前结点,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|;这样,对于当前结点的几何重构坐标值,其计算如下,
示例性地,如果w
1为0.25,那么式(17)可以等效如下,
本申请的又一实施例中,考虑到算法复杂度以及耗时情况,另一种可替代方案为,本申请实施例确定的邻居结点可以仅包含共面邻居结点和共边邻居结点。
具体来说,本申请实施例中邻居结点的搜索范围可以更改为18个,即仅使用6个共面邻居结点和12个共边邻居结点,具体如图10所示。在图10中,灰色填充的立方体为当前结点,其周围的6个面相邻的结点为6个共面邻居结点,12个边相邻的结点为12个共边邻居结点。在这种情况下,图11示出了本申请实施例提供的又一种几何重构方法的流程示意图。如图11所示,该方法可以包括:
S1101:确定当前结点在预设坐标轴方向上的共面邻居结点影响参数值和共边邻居结点影响参数值。
需要说明的是,当邻居结点的属性信息指示所述邻居结点包含共面邻居结点时,这时候,基于当前结点的中心位置坐标信息以及所述共面邻居结点,可以确定出当前结点在预设坐标轴方向上的共面邻居结点影响参数值。当邻居结点的属性信息指示所述邻居结点包含共边邻居结点时,这时候,基于当前结点的中心位置坐标信息以及所述共边邻居结点,可以确定出当前结点在预设坐标轴方向上的共边邻居结点影响参数值。
此时,假定当前结点的中心位置坐标信息用(x
0,y
0,z
0)表示,该当前结点在X坐标轴方向上面相邻的共面邻居结点影响参数值用b
1x表示,该当前结点在Y坐标轴方向上面相邻的共面邻居结点影响参数值用b
1y表示,该当前结点在Z坐标轴方向上面相邻的共面邻居结点影响参数值用b
1z表示,这时候b
1x、b
1y、b
1z可以根据式(5)、式(6)、式(7)计算得到。该当前结点在X坐标轴方向上面相邻的共边邻居结点影响参数值用b
2x表示,该当前结点在Y坐标轴方向上面相邻的共边邻居结点影响参数值用b
2y表示,该当前结点在Z坐标轴方向上面相邻的共边邻居结点影响参数值用b
2z表示,这时候b
2x、b
2y、b
2z可以根据式(8)、式(9)、式(10)计算得到
进一步地,由于式(5)、式(6)、式(7)所得到的计算结果为标量,在一些实施例中,该方法还可以包括:
对所述共面邻居结点影响参数值进行求绝对值运算,将计算得到的共面邻居结点影响参数值确定为所述共面邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|。
进一步地,由于式(8)、式(9)、式(10)所得到的计算结果为矢量,在一些实施例中,该方法还可以包括:
对所述共边邻居结点影响参数值进行求范数运算,将计算得到的共边邻居结点影响参数值确定为所述共边邻居结点影响参数值。
也就是说,该当前结点在X坐标轴方向上的共边邻居结点影响参数值为||b
2x||,该当前结点在Y 坐标轴方向上的共边邻居结点影响参数值为||b
2y||,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值为||b
2z||。
S1102:基于所述当前结点的共面邻居结点权重值和共边邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值和所述共边邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值。
需要说明的是,这种情况下的共面邻居结点权重值和共边邻居结点权重值,其确定方法可以包括:
基于所述共面邻居结点和所述共边邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值和所述共边邻居结点权重值之间的预设比值;
对所述预设比值进行归一化计算,得到归一化系数;
基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值和所述共边邻居结点权重值。
在本申请实施例中,本申请实施例也是基于点到点误差测度的基础上改进的。对于共面邻居结点权重值和共边邻居结点权重值,其具体的计算过程如下:
由于距离越近的邻居结点产生的偏移影响越大,因此共面邻居结点权重值>共边邻居结点权重值,这时候采用欧式距离的倒数作为两种权重值的预设比值,即:共面邻居结点权重值:
又因为在当前结点内重构后的点最大不能超过当前结点的边界,因此当产生最大偏移影响时,重构的点在当前结点的边界上,此时,可以为1个共面邻居结点和4个共边邻居结点。由此计算出的归一化系数为:
通过归一化系数与权重值的预设比值,可以计算出这两种邻居结点的权重值:
共面邻居结点权重值为w
1=1×0.13=0.13;
需要说明的是,共面邻居结点权重值和共边邻居结点权重值之间的预设比值并不局限于上述两种情况,该预设比值也可以设置为其他比值,本申请实施例不作具体限定。
还需要说明的是,对于上述得到的权重值(比如0.13、0.091等),这些权重值为浮点数,在实际的标准提案中,可以通过二进制移位求近似值的方式来实现。
这样,在得到当前结点在预设坐标轴上的邻居结点影响参数值和邻居结点权重值之后,可以确定出当前结点在预设坐标轴方向上的坐标修正值。具体地,如果共面邻居结点权重值为0.13,共边邻居结点权重值为0.091,那么当前结点在X坐标轴方向上的坐标修正值为0.13|b
1x|+0.091||b
2x||,当前结点在Y坐标轴方向上的坐标修正值为0.13|b
1y|+0.091||b
2y||,当前结点在Z坐标轴方向上的坐标修正值为0.13|b
1z|+0.091||b
2z||。
S1103:根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一种具体的示例中,对于S1103来说,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,可以包括:
对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
更具体地,当前结点的几何重构坐标值包括X坐标轴方向的几何重构坐标值、Y坐标轴方向的几何重构坐标值和Z坐标轴方向的几何重构坐标值;
相应地,所述对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值,可以包括:
对所述当前结点在X坐标轴方向的中心位置坐标信息和所述当前结点在X坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在X坐标轴方向的几何重构坐标值;
对所述当前结点在Y坐标轴方向的中心位置坐标信息和所述当前结点在Y坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Y坐标轴方向的几何重构坐标值;
对所述当前结点在Z坐标轴方向的中心位置坐标信息和所述当前结点在Z坐标轴方向上的坐标修 正值进行加法计算,得到所述当前结点在Z坐标轴方向的几何重构坐标值。
需要说明的是,以搜索范围为18个邻居结点为例,假定中心位置坐标信息用(x
0,y
0,z
0)表示,共面邻居结点权重值用w
1表示,共面邻居结点权重值用w
2表示;针对中心位置坐标信息为(x
0,y
0,z
0)的当前结点,该当前结点在X坐标轴方向上的共面邻居结点影响参数值为|b
1x|,该当前结点在Y坐标轴方向上的共面邻居结点影响参数值为|b
1y|,该当前结点在Z坐标轴方向上的共面邻居结点影响参数值为|b
1z|;该当前结点在X坐标轴方向上的共边邻居结点影响参数值为||b
2x||,该当前结点在Y坐标轴方向上的共边邻居结点影响参数值为||b
2y||,该当前结点在Z坐标轴方向上的共边邻居结点影响参数值为||b
2z||;这样,对于当前结点的几何重构坐标值,其计算如下,
示例性地,如果w
1为0.13,w
2为0.091,那么式(20)可以等效如下,
简言之,本申请实施例提供了一种基于点云邻居结点的几何重构方法,利用了当前结点周围的邻居结点的空间相关性,根据不同邻居结点情况计算出几何重构时点的坐标,该坐标在数值上更接近结点内所有点的坐标均值,以使得spatial scalability后的几何重构误差减小。
具体来说,本申请实施例提出了一种基于邻居结点权重的点云空间可伸缩编码几何重构方法,通过每个结点周围26个邻居结点的存在信息来计算出当前结点的位置坐标。下面以26个邻居结点为搜索范围,其具体过程如下:
首先,如果解码器进行空间可伸缩解码时,此时的skip Layer对应的结点边长为L(L=2
skip Layer),对每个skip Layer层结点搜索结点周围26个邻居结点的存在信息,利用函数g(x
i,y
i,z
i)表示在以下范围内是否存在点:
这里,当该结点内存在点时,g(x
i,y
i,z
i)=1;当该结点内不存在点时,g(x
i,y
i,z
i)=0,该结点与其周围26个邻居结点之间的位置关系如图6所示。
其次,根据与结点接触程度的不同,可以将邻居关系分为面相邻,边相邻,点相邻。如图7所示,用灰色填充的立方体表示当前结点,标识有W1的立方体结点与当前结点在Z坐标轴方向上具有公共的平面,故它们在Z坐标轴方向上为面相邻,其可以称为共面邻居结点;标识有W2的立方体结点与当前结点在X坐标轴、Y坐标轴方向上具有公共的边,其与当前结点在X坐标轴、Y坐标轴方向上为边相邻,故可以称为共边邻居结点;标识有W3的立方体结点与当前结点在X坐标轴、Y坐标轴、Z坐标轴方向上具有公共的点,其与当前结点在X坐标轴、Y坐标轴、Z坐标轴方向上为点相邻,故可以称为共点邻居结点(这里,面相邻不计入边相邻和点相邻,边相邻不计入点相邻);对面相邻,边相邻,点相邻的邻居结点(即共面邻居结点、共边邻居结点和共点邻居结点),本申请实施例采用不同的权重值。示例性地,面相邻权重(即共面邻居结点权重值)为w
1(w
1=0.081),边相邻权重(即共边邻居结点权重值)为w
2(w
2=0.057),点相邻权重(即共点邻居结点权重值)为w
3(w
3=0.046),其具体的位置关系示意如图7所示。
再次,利用(x
0,y
0,z
0)表示当前结点的中心位置坐标信息,即图7中灰色填充立方体的中心位置,用b
1k,b
2k,b
3k分别表示当前结点在k坐标轴方向上的面相邻影响,边相邻影响,点相邻影响,k=x,y,z;
中心位置在(x
0,y
0,z
0)处的当前结点在X坐标轴方向上面相邻的影响为b
1x,在Y坐标轴方向上面相邻的影响为b
1y,在Z坐标轴方向上面相邻的影响为b
1z,具体如上述的式(5)、式(6)、式(7)所示。
中心位置在(x
0,y
0,z
0)处的当前结点在X坐标轴方向上边相邻的影响为b
2x,在Y坐标轴方向上边相邻的影响为b
2y,在Z坐标轴方向上边相邻的影响为b
2z,具体如上述的式(8)、式(9)、式(10)所示。
中心位置在(x
0,y
0,z
0)处的当前结点在X坐标轴方向上点相邻的影响为b
3x,在Y坐标轴方向上点相邻的影响为b
3y,在Z坐标轴方向上点相邻的影响为b
3z,具体如上述的式(11)、式(12)、式(13)所示。
这样,在共面邻居结点权重值为0.081,共边邻居结点权重值为0.057,共点邻居结点权重值为0.046的情况下,利用上述的几何重构方法得到的几何重构坐标值表示如上述式(16)所示。
由于本申请实施例的保护点在于采用不同权重的邻居信息计算点云空间可伸缩编码后的几何坐标, 对面邻居、边邻居、点邻居分别采用0.081、0.057、0.046的权重值,根据当前结点周围的26个邻居结点范围内的存在信息计算该结点的重构几何坐标值。如此,本申请的技术方案更加充分的利用了点云的空间相关性,使spatial scalability后几何重构的误差减少。这里,几何信息的峰值信噪比(Peak Signal to Noise Ratio,PSNR)表示:与相关技术相比,在相同的码率情况下,本申请的技术方案带来的几何误差比相关技术带来的几何误差减少(PSNR为正值)或增加(PSNR为负值)的数值。表1示出了skip Layer=1,2,3,4不同跳过层时的对比情况。
D1-PSNR计算公式如下所示,
D2-PSNR计算公式如下所示,
其中,p为表1中定义的每个参考点云的峰值恒定值,由点云序列确定,具体如表2中加粗部分所示。
表1 几何信息的PSNR
表2 点云序列峰值恒定值
本实施例提供了一种几何重构方法,应用于解码器。根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。这样,由于充分利用了点云的空间 相关性,同时根据邻居结点与当前结点的接触程度不同,而为其分配不同的邻居结点权重值,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图12,其示出了本申请实施例提供的一种解码器120的组成结构示意图。如图12所示,该解码器120可以包括:确定单元1201和计算单元1202;其中,
确定单元1201,配置为根据当前结点的位置信息,确定所述当前结点的邻居结点;以及基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;
确定单元1201,还配置为确定所述当前结点的邻居结点权重值;
计算单元1202,配置为根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
在一些实施例中,所述邻居结点的属性信息包括邻居结点的类型;其中,所述邻居结点的类型至少包括下述之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
在一些实施例中,所述当前结点的共面邻居结点的数量为6、共边邻居结点的数量为12、共点邻居结点的数量为8。
在一些实施例中,所述确定所述当前结点的邻居结点,包括下述至少之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
在一些实施例中,确定单元1201,还配置为确定所述当前结点的中心位置坐标信息;以及基于所述中心位置坐标信息以及所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值。
在一些实施例中,确定单元1201,还配置为当所述邻居结点的属性信息指示所述邻居结点包含共面邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共面邻居结点,确定所述当前结点在预设坐标轴方向上的共面邻居结点影响参数值;当所述邻居结点的属性信息指示所述邻居结点包含共边邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共边邻居结点,确定所述当前结点在预设坐标轴方向上的共边邻居结点影响参数值;当所述邻居结点的属性信息指示所述邻居结点包含共点邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共点邻居结点,确定所述当前结点在预设坐标轴方向上的共点邻居结点影响参数值。
在一些实施例中,确定单元1201,还配置为确定所述邻居结点是否有点存在的步骤。
在一些实施例中,计算单元1202,还配置为当所述邻居结点包括共面邻居结点、共边邻居结点和共点邻居结点时,基于所述当前结点的共面邻居结点权重值、共边邻居结点权重值以及共点邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值、所述共边邻居结点影响参数值和所述共点邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;以及根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一些实施例中,计算单元1202,还配置为对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
在一些实施例中,确定单元1201,还配置为基于所述共面邻居结点、所述共边邻居结点和所述共点邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值、所述共边邻居结点权重值和所述共点邻居结点权重值之间的预设比值;
计算单元1202,还配置为对所述预设比值进行归一化计算,得到归一化系数;以及基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值、所述共边邻居结点权重值以及所述共点邻居结点权重值。
在一些实施例中,计算单元1202,还配置为在所述预设比值为
的情况下,确定所述共面邻居结点权重值为0.081,所述共边邻居结点权重值为0.057,所述共点邻居结点权重值为0.046;或者,在所述预设比值为
的情况下,确定所述共面邻居结点权重值为0.115,所述共边邻居结点权重值为0.057,所述共点邻居结点权重值为0.038。
在一些实施例中,计算单元1202,还配置为当所述邻居结点仅包括共面邻居结点时,基于所述当前结点的共面邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值进 行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;以及根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一些实施例中,计算单元1202,还配置为对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
在一些实施例中,所述共面邻居结点权重值为预设常数。
在一些实施例中,所述预设常数是1/4。
在一些实施例中,计算单元1202,还配置为当所述邻居结点包括共面邻居结点和共边邻居结点时,基于所述当前结点的共面邻居结点权重值和共边邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值和所述共边邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;以及根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
在一些实施例中,计算单元1202,还配置为对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
在一些实施例中,确定单元1201,还配置为基于所述共面邻居结点和所述共边邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值和所述共边邻居结点权重值之间的预设比值;
计算单元1202,还配置为对所述预设比值进行归一化计算,得到归一化系数;以及基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值和所述共边邻居结点权重值。
在一些实施例中,计算单元1202,还配置为在所述预设比值为
的情况下,确定所述共面邻居结点权重值为0.13,所述共边邻居结点权重值为0.091;或者,在所述预设比值为
的情况下,确定所述共面邻居结点权重值为0.166,所述共边邻居结点权重值为0.083。
在一些实施例中,所述当前结点的几何重构坐标值包括X坐标轴方向的几何重构坐标值、Y坐标轴方向的几何重构坐标值和Z坐标轴方向的几何重构坐标值;
相应地,计算单元1202,具体配置为对所述当前结点在X坐标轴方向的中心位置坐标信息和所述当前结点在X坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在X坐标轴方向的几何重构坐标值;以及对所述当前结点在Y坐标轴方向的中心位置坐标信息和所述当前结点在Y坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Y坐标轴方向的几何重构坐标值;以及对所述当前结点在Z坐标轴方向的中心位置坐标信息和所述当前结点在Z坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Z坐标轴方向的几何重构坐标值。
在一些实施例中,参见图12,解码器120还可以包括解析单元1203,配置为解析码流,获取空间可伸缩的使能标识信息;
确定单元1201,还配置为在所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层进行解码的情况下,执行所述根据当前结点的位置信息,确定所述当前结点的邻居结点的步骤。
在一些实施例中,确定单元1201,还配置为若所述空间可伸缩的使能标识信息的取值等于第一值,则确定所述空间可伸缩的使能标识信息指示对所述当前结点所在的跳过层进行解码;若所述空间可伸缩的使能标识信息的取值等于第二值,则确定所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层进行解码。
在一些实施例中,所述第一值为0,所述第二值为1;或者,所述第一值为false,所述第二值为true。
可以理解地,在本申请实施例中,“模块”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本申请实施例提供了一种计算机存储介质,应用于解码器120,该计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例中任一项所述的方法。
基于上述解码器120的组成以及计算机存储介质,参见图13,其示出了本申请实施例提供的解码 器120的具体硬件结构示意图。如图13所示,可以包括:通信接口1301、存储器1302和处理器1303;各个组件通过总线***1304耦合在一起。可理解,总线***1304用于实现这些组件之间的连接通信。总线***1304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图13中将各种总线都标为总线***1304。其中,
通信接口1301,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器1302,用于存储能够在处理器1303上运行的计算机程序;
处理器1303,用于在运行所述计算机程序时,执行:
根据当前结点的位置信息,确定所述当前结点的邻居结点;
基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;
确定所述当前结点的邻居结点权重值;
根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
可以理解,本申请实施例中的存储器1302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的***和方法的存储器1302旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器1303可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1303可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1302,处理器1303读取存储器1302中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器1303还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
本实施例提供了一种解码器,该解码器可以包括确定单元和计算单元。这样,由于充分利用了点云的空间相关性,同时根据邻居结点与当前结点的接触程度不同,而为其分配不同的邻居结点权重值,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
本申请再一实施例中,参见图14,其示出了本申请实施例提供的一种点云***的组成结构示意图。如图14所示,该点云***140可以包括编码器1401和解码器1402。其中,解码器1402为前述实施例任一项所述的解码器。
在本申请实施例中,对于待编码的原始点云,在编码器1401中,一方面对原始点云进行八叉树划分,并基于八叉树编码方式将其写入码流;另一方面还会将空间可伸缩的使能标识信息(用 scalable_lifting_enabled_flag表示)的取值写入码流,以便传输到解码器1402。然后在解码器1402中,通过解析码流获得scalable_lifting_enabled_flag的取值,在scalable_lifting_enabled_flag的取值等于1的情况下,这时候解码器1402需要进行spatial scalability功能,即对于八叉树解码框架下的解码进行部分解码;如此,利用本申请实施例提供的几何重构方法,由于充分利用了点云的空间相关性,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
本申请实施例中,根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。这样,由于充分利用了点云的空间相关性,同时根据邻居结点与当前结点的接触程度不同,而为其分配不同的邻居结点权重值,使得计算得到的几何重构坐标值在数值上更接近当前结点内所有点的坐标均值,从而能够降低spatial scalability后几何重构过程中的几何误差。
Claims (26)
- 一种几何重构方法,应用于解码器,所述方法包括:根据当前结点的位置信息,确定所述当前结点的邻居结点;基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;确定所述当前结点的邻居结点权重值;根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
- 根据权利要求1所述的方法,其中,所述邻居结点的属性信息包括邻居结点的类型;其中,所述邻居结点的类型至少包括下述之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
- 根据权利要求2所述的方法,其中,所述当前结点的共面邻居结点的数量为6、共边邻居结点的数量为12、共点邻居结点的数量为8。
- 根据权利要求1所述的方法,其中,所述确定所述当前结点的邻居结点,包括下述至少之一:与所述当前结点具有面相邻的共面邻居结点、与所述当前结点具有边相邻的共边邻居结点、与所述当前结点具有点相邻的共点邻居结点。
- 根据权利要求4所述的方法,其中,所述基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,包括:确定所述当前结点的中心位置坐标信息;基于所述中心位置坐标信息以及所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值。
- 根据权利要求5所述的方法,其中,所述基于所述中心位置坐标信息以及所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,包括:当所述邻居结点的属性信息指示所述邻居结点包含共面邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共面邻居结点,确定所述当前结点在预设坐标轴方向上的共面邻居结点影响参数值;当所述邻居结点的属性信息指示所述邻居结点包含共边邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共边邻居结点,确定所述当前结点在预设坐标轴方向上的共边邻居结点影响参数值;当所述邻居结点的属性信息指示所述邻居结点包含共点邻居结点时,基于所述当前结点的中心位置坐标信息以及所述共点邻居结点,确定所述当前结点在预设坐标轴方向上的共点邻居结点影响参数值。
- 根据权利要求5所述的方法,其中,所述确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值,包括:确定所述邻居结点是否有点存在的步骤。
- 根据权利要求6所述的方法,其中,当所述邻居结点包括共面邻居结点、共边邻居结点和共点邻居结点时,所述方法还包括:基于所述当前结点的共面邻居结点权重值、共边邻居结点权重值以及共点邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值、所述共边邻居结点影响参数值和所述共点邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
- 根据权利要求8所述的方法,其中,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,包括:对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
- 根据权利要求8或9所述的方法,其中,所述确定所述当前结点的邻居结点权重值,包括:基于所述共面邻居结点、所述共边邻居结点和所述共点邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值、所述共边邻居结点权重值和所述共点邻居结点权重值之间的预设比值;对所述预设比值进行归一化计算,得到归一化系数;基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值、所述共边邻居结点权重值以及所述共点邻居结点权重值。
- 根据权利要求6所述的方法,其中,当所述邻居结点仅包括共面邻居结点时,所述方法还包括:基于所述当前结点的共面邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
- 根据权利要求12所述的方法,其中,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,包括:对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
- 根据权利要求12或13所述的方法,其中,所述共面邻居结点权重值为预设常数。
- 根据权利要求14所述的方法,其中,所述预设常数是1/4。
- 根据权利要求6所述的方法,其中,当所述邻居结点包括共面邻居结点和共边邻居结点时,所述方法还包括:基于所述当前结点的共面邻居结点权重值和共边邻居结点权重值,对所述当前结点在预设坐标轴方向上的所述共面邻居结点影响参数值和所述共边邻居结点影响参数值进行加权计算,得到所述当前结点在预设坐标轴方向上的坐标修正值;根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值。
- 根据权利要求16所述的方法,其中,所述根据所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值,确定所述当前结点的几何重构坐标值,包括:对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值。
- 根据权利要求16或17所述的方法,其中,所述确定所述当前结点的邻居结点权重值,包括:基于所述共面邻居结点和所述共边邻居结点与所述当前结点之间的距离,确定所述共面邻居结点权重值和所述共边邻居结点权重值之间的预设比值;对所述预设比值进行归一化计算,得到归一化系数;基于所述归一化系数与所述预设比值,确定所述当前结点的共面邻居结点权重值和所述共边邻居结点权重值。
- 根据权利要求9、13或17所述的方法,其中,所述当前结点的几何重构坐标值包括X坐标轴方向的几何重构坐标值、Y坐标轴方向的几何重构坐标值和Z坐标轴方向的几何重构坐标值;相应地,所述对所述当前结点的中心位置坐标信息和所述当前结点在预设坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点的几何重构坐标值,包括:对所述当前结点在X坐标轴方向的中心位置坐标信息和所述当前结点在X坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在X坐标轴方向的几何重构坐标值;对所述当前结点在Y坐标轴方向的中心位置坐标信息和所述当前结点在Y坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Y坐标轴方向的几何重构坐标值;对所述当前结点在Z坐标轴方向的中心位置坐标信息和所述当前结点在Z坐标轴方向上的坐标修正值进行加法计算,得到所述当前结点在Z坐标轴方向的几何重构坐标值。
- 根据权利要求1所述的方法,其中,所述方法还包括:解析码流,获取空间可伸缩的使能标识信息;在所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层(skip Layer)进行解码的情况下,执行所述根据当前结点的位置信息,确定所述当前结点的邻居结点的步骤。
- 根据权利要求21所述的方法,其中,所述方法还包括:若所述空间可伸缩的使能标识信息的取值等于第一值,则确定所述空间可伸缩的使能标识信息指示对所述当前结点所在的跳过层进行解码;若所述空间可伸缩的使能标识信息的取值等于第二值,则确定所述空间可伸缩的使能标识信息指示不对所述当前结点所在的跳过层进行解码。
- 根据权利要求22所述的方法,其中,所述第一值为0,所述第二值为1;或者,所述第一值为false,所述第二值为true。
- 一种解码器,所述解码器包括确定单元和计算单元;其中,所述确定单元,配置为根据当前结点的位置信息,确定所述当前结点的邻居结点;以及基于所述邻居结点的属性信息,确定所述当前结点在预设坐标轴方向上的邻居结点影响参数值;所述确定单元,还配置为确定所述当前结点的邻居结点权重值;所述计算单元,配置为根据所述当前结点在预设坐标轴方向上的邻居结点影响参数值以及所述邻居结点权重值,确定所述当前结点的几何重构坐标值。
- 一种解码器,所述解码器包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的计算机程序;所述处理器,用于在运行所述计算机程序时,执行如权利要求1至23任一项所述的方法。
- 一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如权利要求1至23任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/076370 WO2022170521A1 (zh) | 2021-02-09 | 2021-02-09 | 几何重构方法、解码器以及计算机存储介质 |
CN202180092793.2A CN116830579A (zh) | 2021-02-09 | 2021-02-09 | 几何重构方法、解码器以及计算机存储介质 |
US18/228,066 US20230377207A1 (en) | 2021-02-09 | 2023-07-31 | Geometry reconstruction method, decoder and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/076370 WO2022170521A1 (zh) | 2021-02-09 | 2021-02-09 | 几何重构方法、解码器以及计算机存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/228,066 Continuation US20230377207A1 (en) | 2021-02-09 | 2023-07-31 | Geometry reconstruction method, decoder and computer storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022170521A1 true WO2022170521A1 (zh) | 2022-08-18 |
Family
ID=82837422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/076370 WO2022170521A1 (zh) | 2021-02-09 | 2021-02-09 | 几何重构方法、解码器以及计算机存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230377207A1 (zh) |
CN (1) | CN116830579A (zh) |
WO (1) | WO2022170521A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110765298A (zh) * | 2019-10-18 | 2020-02-07 | 中国电子科技集团公司第二十八研究所 | 矢量数据几何属性解耦的瓦片编码方法 |
CN112218079A (zh) * | 2020-08-24 | 2021-01-12 | 北京大学深圳研究生院 | 一种基于空间顺序的点云分层方法、点云预测方法及设备 |
-
2021
- 2021-02-09 WO PCT/CN2021/076370 patent/WO2022170521A1/zh active Application Filing
- 2021-02-09 CN CN202180092793.2A patent/CN116830579A/zh active Pending
-
2023
- 2023-07-31 US US18/228,066 patent/US20230377207A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190080483A1 (en) * | 2017-09-14 | 2019-03-14 | Apple Inc. | Point Cloud Compression |
CN110418135A (zh) * | 2019-08-05 | 2019-11-05 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110765298A (zh) * | 2019-10-18 | 2020-02-07 | 中国电子科技集团公司第二十八研究所 | 矢量数据几何属性解耦的瓦片编码方法 |
CN112218079A (zh) * | 2020-08-24 | 2021-01-12 | 北京大学深圳研究生院 | 一种基于空间顺序的点云分层方法、点云预测方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230377207A1 (en) | 2023-11-23 |
CN116830579A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230316586A1 (en) | Point cloud coding method, encoder and decoder | |
US20230351639A1 (en) | Point cloud encoding and decoding method, encoder and decoder | |
WO2021138788A1 (zh) | 帧内预测方法、装置、编码器、解码器、及存储介质 | |
WO2021062771A1 (zh) | 颜色分量预测方法、编码器、解码器及计算机存储介质 | |
US20230051431A1 (en) | Method and apparatus for selecting neighbor point in point cloud, encoder, and decoder | |
WO2022170521A1 (zh) | 几何重构方法、解码器以及计算机存储介质 | |
WO2022257145A1 (zh) | 点云属性的预测方法、装置及编解码器 | |
WO2022170511A1 (zh) | 点云解码方法、解码器及计算机存储介质 | |
WO2021189262A1 (zh) | 帧内预测方法、装置、编码器、解码器、及存储介质 | |
WO2024082135A1 (zh) | 编解码方法、编解码器、码流以及计算机存储介质 | |
WO2024065406A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2024007268A1 (zh) | 点云编解码方法、编解码器及计算机存储介质 | |
WO2024103513A1 (zh) | 点云编解码方法、编码器、解码器、码流及存储介质 | |
WO2024065408A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2023197338A1 (zh) | 索引确定方法、装置、解码器以及编码器 | |
WO2024011739A1 (zh) | 点云编解码方法、编解码器及计算机存储介质 | |
WO2024148598A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
US20240037799A1 (en) | Point cloud coding/decoding method and apparatus, device and storage medium | |
US20240015325A1 (en) | Point cloud coding and decoding methods, coder, decoder and storage medium | |
WO2024145933A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
WO2023201450A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2022257155A1 (zh) | 解码方法、编码方法、解码器、编码器以及编解码设备 | |
WO2024145904A1 (zh) | 编解码方法、码流、编码器、解码器以及存储介质 | |
WO2023240662A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
TW202425640A (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: 21925187 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180092793.2 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21925187 Country of ref document: EP Kind code of ref document: A1 |