Point cloud encoding / decoding method, device, equipment, and storage medium

By predicting planar structure information based on neighboring nodes' placeholder information, the coding efficiency of point clouds is improved, addressing inefficiencies in current encoding technologies.

JP2026503046APending Publication Date: 2026-01-27GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025540027
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-01-06
Publication Date
2026-01-27

AI Technical Summary

Technical Problem

Current point cloud encoding technologies inefficiently utilize predictive coding for planar structure information, reducing the coding performance of planar features in point clouds.

Method used

Improve predictive encoding/decoding of planar structure information by considering the correlation with neighboring nodes based on placeholder information, enhancing the coding efficiency of geometric information in point clouds.

Benefits of technology

Enhances the predictive coding and decoding performance of planar structure information, improving the overall efficiency and effectiveness of point cloud compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026503046000001_ABST
    Figure 2026503046000001_ABST
Patent Text Reader

Abstract

This application provides a point cloud encoding / decoding method, device, apparatus, and storage medium. The method includes, when encoding / decoding the planar structure information of a current node, determining N area nodes of the current node, and encoding / decoding the planar structure information of the current node based on the placeholder information of the N area nodes. That is, when predictively encoding / decoding the planar structure information of the current node, the correlation of the planar structure information between adjacent nodes is taken into account, thereby effectively improving the efficiency of encoding / decoding the geometric information of point clouds, and further improving the performance of predictive encoding / decoding of the planar structure information, thereby improving the efficiency and performance of encoding / decoding the point clouds.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present application relates to the technical field of point clouds, and in particular to a point cloud encoding / decoding method, device, equipment, and storage medium. [Background technology]

[0002] The surface of an object is collected by a collection device to form point cloud data containing hundreds of thousands of points. During the video production process, the point cloud data is transmitted between a point cloud encoding device and a point cloud decoding device in the form of a point cloud media file. However, such a large number of points poses a challenge for transmission, so the point cloud encoding device must compress the point cloud data before transmitting it.

[0003] Point cloud compression is also called point cloud coding. In the point cloud coding process, for some relatively flat nodes or nodes with planar features, planar coding can be used to further improve the coding efficiency of the geometric information of the point cloud. However, currently, the planar structure information of the current node is predictively coded only through some prior reference information, which reduces the predictive coding performance of the planar structure information. Summary of the Invention

[0004] The present embodiment is Neighboring nodes The present invention provides a point cloud encoding / decoding method, device, equipment, and storage medium that improve the predictive encoding / decoding performance of the planar structure information of the current node by performing predictive encoding / decoding on the planar structure information of the current node based on the planar structure information of the current node.

[0005] In a first aspect, the present embodiment comprises: N (N is a positive integer) of the current node Neighboring nodes determining a The N Neighboring nodes and predictively decoding the plane structure information of the current node based on the placeholder information of the point cloud.

[0006] In a second aspect, the present embodiment comprises: N (N is a positive integer) of the current node Neighboring nodes determining a The N Neighboring nodes and predictively encoding the plane structure information of the current node based on the placeholder information of the point cloud.

[0007] In a third aspect, the present application provides a point cloud decoding device for performing the method of the first aspect or each embodiment thereof, specifically, the device includes a functional unit for performing the method of the first aspect or each embodiment thereof.

[0008] In a fourth aspect, the present application provides a point cloud encoding device for performing the method of the second aspect or each embodiment thereof, specifically, the device includes a functional unit for performing the method of the second aspect or each embodiment thereof.

[0009] In a fifth aspect, there is provided a point cloud decoder comprising a processor and a memory, the memory being adapted to store a computer program, and the processor being adapted to call and execute the computer program stored in the memory in order to perform the method of the first aspect or each embodiment thereof.

[0010] In a sixth aspect, there is provided a point cloud encoder comprising a processor and a memory, the memory being adapted to store a computer program, the processor being adapted to call and execute the computer program stored in the memory in order to perform the method of the second aspect or each embodiment thereof.

[0011] In a seventh aspect, there is provided a point cloud encoding / decoding system including a point cloud encoder and a point cloud decoder, wherein the point cloud decoder is used to perform the method of the first aspect or any of its embodiments, and the point cloud encoder is used to perform the method of the second aspect or any of its embodiments.

[0012] In an eighth aspect, there is provided a chip for implementing the method of any one of the first to second aspects or their respective embodiments, the chip including a processor for retrieving and executing a computer program from a memory, causing a device to which the chip is attached to perform the method of any one of the first to second aspects or their respective embodiments.

[0013] In a ninth aspect, there is provided a computer-readable storage medium used to store a computer program that causes a computer to execute the method in any one of the first to second aspects or each embodiment thereof.

[0014] In a tenth aspect, there is provided a computer program product comprising computer program instructions to cause a computer to carry out the method of any of the first to second aspects above or respective embodiments thereof.

[0015] In an eleventh aspect, there is provided a computer program which, when executed on a computer, causes the computer to carry out the method of any one of the first to second aspects or each embodiment thereof.

[0016] In a twelfth aspect, a codestream generated according to the method of the second aspect is provided. do .

[0017] Based on the above technical proposal, when encoding and decoding the plane structure information of the current node, N Neighboring nodes Determine this N Neighboring nodes The planar structure information of the current node is coded and decoded based on the placeholder information of the current node. That is, when predictively coding and decoding the planar structure information of the current node, the correlation with the planar structure information of adjacent nodes is taken into consideration, which effectively improves the coding and decoding efficiency of the geometric information of the point cloud, and further improves the predictive coding and decoding performance of the planar structure information, thereby improving the efficiency and performance of the point cloud coding and decoding. [Brief explanation of the drawings]

[0018] [Figure 1A] FIG. 1 is a schematic diagram of a point cloud. [Figure 1B] FIG. [Figure 2] 1 is a schematic diagram of six viewing angles of a point cloud image. [Figure 3] 1 is a schematic block diagram of a point cloud encoding / decoding system according to an embodiment of the present application. [Figure 4A] FIG. 1 is a schematic block diagram of a point cloud encoder according to an embodiment of the present application; [Figure 4B] FIG. 1 is a schematic block diagram of a point cloud decoder according to an embodiment of the present application; [Figure 5A] FIG. [Figure 5B] FIG. 1 is a schematic diagram of a node encoding order. [Figure 5C] FIG. 1 is a schematic diagram of a flat label. [Figure 5D] FIG. 1 is a schematic diagram of sibling nodes. [Figure 5E] FIG. 1 is a schematic diagram showing the intersection of a laser radar and a node. [Figure 5F] Schematic diagram of neighboring nodes at the same division depth and the same coordinates. [Figure 5G] FIG. 1 is a schematic diagram of a neighboring node when the node is located at a lower planar position of the parent node. [Figure 5H] FIG. 1 is a schematic diagram of neighboring nodes when the nodes are located at the high-level position of the parent node. [Figure 5I] FIG. 1 is a schematic diagram of predictive coding of planar position information of a laser radar point cloud. [Figure 6] FIG. 1 is a schematic diagram of IDCM encoding. [Figure 7] 7(a) to 7(c) are schematic diagrams of geometric information encoding based on triangular patches. [Figure 8] FIG. 1 is a flowchart of a point cloud decoding method according to an embodiment of the present application. [Figure 9] FIG. 1 is a schematic diagram of octree division. [Figure 10] FIG. 1 is a schematic diagram of a neighborhood node. [Figure 11] FIG. 2 is another schematic diagram of a neighborhood node. [Figure 12] FIG. 1 is a schematic diagram of main information and sub information. [Figure 13] FIG. 1 is a schematic diagram of a sub-information partitioning tree. [Figure 14] FIG. 10 is a schematic diagram illustrating the division of a sub-information division tree. [Figure 15] FIG. 10 is a schematic diagram illustrating the division of another sub-information division tree. [Figure 16] FIG. 10 is a schematic diagram illustrating division of yet another sub-information division tree. [Figure 17] 1 is a schematic diagram of a flowchart of a point cloud encoding method according to an embodiment of the present application; [Figure 18] FIG. 1 is a schematic block diagram of a point cloud decoding device according to an embodiment of the present application; [Figure 19] 1 is a schematic block diagram of a point cloud encoding device according to an embodiment of the present application; [Figure 20] 1 is a schematic block diagram of an electronic device according to an embodiment of the present application; [Figure 21] 1 is a schematic block diagram of a point cloud encoding / decoding system according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION

[0019] The present application can be applied in the field of point cloud upsampling techniques, for example in the field of point cloud compression techniques.

[0020] To facilitate understanding of the embodiments of the present application, the relevant concepts of the embodiments of the present application are first briefly described as follows.

[0021] A point cloud is a set of discrete points irregularly distributed in space that represent the spatial structure and surface attributes of a 3D object or scene. Figure 1A is a schematic diagram of a 3D point cloud image, and Figure 1B is an enlarged partial view of Figure 1A. As can be seen from Figures 1A and 1B, the surface of the point cloud is composed of densely distributed points.

[0022] In a 2D image, each pixel has its own information representation and is distributed regularly, so there is no need to record its location information separately. However, the distribution of points in a point cloud in 3D space is random and irregular, so to fully represent the point cloud, it is necessary to record the position of each point in space. As with a 2D image, each position has corresponding attribute information during the collection process.

[0023] Point cloud data is a specific recording format of a point cloud, and each point in the point cloud can include its position information and attribute information. For example, the position information of the point can be its three-dimensional coordinate information. The position information of the point can also be referred to as its geometric information. For example, the attribute information of the point can include color information, reflectance information, normal vector information, etc. Color information reflects the color of an object, and reflectance information reflects the surface material of the object. The color information can be information in any color space. For example, the color information can be (RGB). Also, for example, the color information can be luminance / chromaticity (YcbCr, YUV) information. For example, Y represents luminance (luma), Cb (U) represents blue color difference, and Cr (V) represents red, and U and V represent chromaticity (chroma) to describe color difference information. For example, in a point cloud obtained based on a laser measurement principle, each point in the point cloud can include its three-dimensional coordinate information and its laser reflectance. For example, in a point cloud obtained based on photogrammetry principles, the points in the point cloud can include three-dimensional coordinate information and color information. Furthermore, for example, a point cloud can be obtained by combining laser measurement and photogrammetry principles, and the points in the point cloud can include three-dimensional coordinate information, laser reflectance, and color information. As shown in Figure 2, a point cloud image is shown, which illustrates six viewing angles for a point cloud image. Table 1 illustrates a point cloud data storage format consisting of a file header information section and a data section. [Table 1] JPEG2026503046000058.jpg9083

[0024] In Table 1, the header information includes the data format, data representation type, total number of points in the point cloud, and the content represented by the point cloud. For example, the point cloud in this example is in the ".ply" format, expressed in ASCII code, with a total number of points of 207242, and each point has three-dimensional position information XYZ and three-dimensional color information RGB.

[0025] Point clouds can flexibly and easily represent the spatial structure and surface attributes of 3D objects and scenes. Because point clouds are obtained by directly sampling real objects, they can provide extremely high realism while maintaining accuracy. This allows them to have a wide range of applications, including virtual reality games, computer-aided design, geographic information systems, automated navigation systems, digital cultural heritage, free-viewpoint broadcasting, 3D immersive telepresence, and 3D reconstruction of biological tissues and organs.

[0026] The point cloud data acquisition means includes: (1) a means for generating the point cloud data by a computer device, where the computer device can generate point cloud data based on a virtual three-dimensional object and a virtual three-dimensional scene; (2) a means for acquiring the point cloud data by 3D (3-dimensional) laser scanning, where the point cloud data of a static real-world three-dimensional object or three-dimensional scene can be acquired by 3D laser scanning, and millions of points of point cloud data can be acquired per second; (3) a means for acquiring the point cloud data by 3D photo measurement, where the point cloud data of a real-world visual scene is acquired by collecting a real-world visual scene by a 3D photography device (i.e., a camera group or a camera device with multiple lenses and sensors), and the point cloud data of a dynamic real-world three-dimensional object or three-dimensional scene can be acquired by 3D photography; and (4) a means for acquiring point cloud data of a biological tissue or an organ by a medical device, where in the medical field, magnetic resonance imaging (MRI), computed tomography (CT), etc. are used. and a means for acquiring point cloud data of biological tissues and organs through medical equipment such as computed tomography (CT), electromagnetic positioning information, etc., but is not limited to these.

[0027] Depending on the acquisition means, point clouds can be divided into dense and sparse point clouds.

[0028] The point cloud can be divided into: a first type of static point cloud, i.e. the object is stationary and the device acquiring the point cloud is also stationary; A second type of dynamic point cloud, where the object is moving but the device capturing the point cloud is stationary; The third type is dynamically acquired point clouds, where the device acquiring the point cloud is moving.

[0029] Depending on the purpose of the point cloud, Category 1 machine-perceived point clouds that can be used in scenes such as autonomous navigation systems, real-time patrol inspection systems, geographic information systems, visual sorting robots, and disaster relief robots; and Category 2 is a human eye-perceived point cloud, which can be used in point cloud application scenes such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.

[0030] The above point cloud acquisition technology reduces the cost and time period of point cloud data acquisition and improves data accuracy.With the transformation of point cloud data acquisition methods, it has become possible to acquire large amounts of point cloud data.However, with the increasing demand for applications, the processing of massive 3D point cloud data has encountered bottlenecks due to limitations in storage capacity and transmission bandwidth.

[0031] JPEG2026503046000059.jpg83168

[0032] Below, we will explain the related knowledge of point cloud encoding and decoding.

[0033] FIG. 3 is a schematic block diagram of a point cloud encoding / decoding system according to an embodiment of the present application. Note that FIG. 3 is merely an example, and the point cloud encoding / decoding system according to the embodiment of the present application includes, but is not limited to, the one shown in FIG. 3. As shown in FIG. 3, the point cloud encoding / decoding system 100 includes an encoding device 110 and a decoding device 120. Here, the encoding device is used to encode (which can be understood as compressing) point cloud data to generate a code stream and transmit the code stream to a decoding device. The decoding device decodes the code stream generated by the encoding device to obtain decoded point cloud data.

[0034] The encoding device 110 in the embodiments of the present application can be understood as a device having point cloud encoding functionality, and the decoding device 120 can be understood as a device having point cloud decoding functionality, i.e., the embodiments of the present application include a wider range of devices for the encoding device 110 and the decoding device 120, such as smartphones, desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, televisions, cameras, display devices, digital media players, point cloud game consoles, in-vehicle computers, etc.

[0035] In some embodiments, encoding device 110 may transmit the decoded point cloud data (e.g., a codestream) to decoding device 120 over channel 130. Channel 130 may include one or more media and / or devices that may transmit the encoded point cloud data from encoding device 110 to decoding device 120.

[0036] In one example, channel 130 includes one or more communication media that enable encoding device 110 to transmit encoded point cloud data directly in real time to decoding device 120. In this example, encoding device 110 can modulate the encoded point cloud data according to a communication standard and transmit the modulated point cloud data to decoding device 120. Here, the communication medium includes a wireless communication medium, e.g., a radio frequency spectrum, and optionally, the communication medium may further include a wired communication medium, e.g., one or more physical transmission lines.

[0037] In another example, channel 130 includes a storage medium that can store the point cloud data encoded by encoding device 110. The storage medium can include multiple types of locally accessible data storage media, such as optical disks, DVDs, flash memory, etc. In this example, decoding device 120 can retrieve the encoded point cloud data from the storage medium.

[0038] In another example, channel 13 may include a storage server that can store point cloud data encoded by encoding device 110. In this example, decoding device 120 can download the stored encoded point cloud data from the storage server. Optionally, the storage server can store the encoded point cloud data and transmit the encoded point cloud data to decoding device 120, such as a web server (e.g., for a website), a File Transfer Protocol (FTP) server, etc.

[0039] In some embodiments, encoding device 110 includes a point cloud encoder 112 and an output interface 113, where output interface 113 may include a modulator / demodulator (modem) and / or a transmitter.

[0040] In some embodiments, the encoding device 110 may include a point cloud source 111 in addition to a point cloud encoder 112 and an input interface 113 .

[0041] The point cloud source 111 may include at least one of a point cloud collection device (e.g., a scanner), a point cloud archive, a point cloud input interface, and a computer graphics system, where the point cloud input interface is used to receive point cloud data from a point cloud content provider and the computer graphics system is used to generate the point cloud data.

[0042] The point cloud encoder 112 encodes the point cloud data from the point cloud source 111 to generate a codestream. The point cloud encoder 112 transmits the encoded point cloud data directly to the decoding device 120 via the output interface 113. The encoded point cloud data may also be stored on a storage medium or storage server for subsequent retrieval by the decoding device 120.

[0043] In some embodiments, the decoding device 120 includes an input interface 121 and a point cloud decoder 122 .

[0044] In some embodiments, the decoding device 120 may further include a display device 123 in addition to the input interface 121 and the point cloud decoder 122 .

[0045] Here, the input interface 121 includes a receiver and / or a modem, and can receive the encoded point cloud data via a channel 130.

[0046] The point cloud decoder 122 is used to decode the encoded point cloud data to obtain decoded point cloud data, and transmit the decoded point cloud data to a display device 123 .

[0047] Display device 123 displays the decoded point cloud data. Display device 123 may be integrated with decoding device 120 or may be external to decoding device 120. Display device 123 may include various display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.

[0048] Furthermore, FIG. 3 is merely an example, and the technical solutions of the embodiments of the present application are not limited to FIG. 3. For example, the technology of the present application can also be applied to one-sided point cloud encoding or one-sided point cloud decoding.

[0049] Current point cloud encoders can adopt two point cloud compression coding technology routes proposed by the Moving Picture Experts Group (MPEG): Video-based Point Cloud Compression (VPCC) and Geometry-based Point Cloud Compression (GPCC). VPCC projects a 3D point cloud into 2D and encodes the resulting 2D image using existing 2D encoding tools. GPCC uses a hierarchical structure to gradually divide the point cloud into multiple cells, then encodes and records the division process to encode the entire point cloud.

[0050] In the following, a point cloud encoder and a point cloud decoder applicable to the embodiments of the present application will be described using the GPCC encoding / decoding framework as an example.

[0051] FIG. 4A is a schematic block diagram of a point cloud encoder according to an embodiment of the present application.

[0052] As can be seen from the above, points in a point cloud can include point position information and point attribute information, and therefore, the encoding of points in a point cloud mainly includes position encoding and attribute encoding. In some examples, the position information of points in a point cloud can also be called geometric information, and the position encoding of the corresponding points in the point cloud can also be called geometric encoding.

[0053] In the GPCC coding framework, the geometric information of a point cloud and the corresponding attribute information are coded separately.

[0054] As shown in Figure 4A below, the current geometry coding and decoding of G-PCC can be divided into octree-based geometry coding and decoding and predictive tree-based geometry coding and decoding.

[0055] The position encoding process involves preprocessing the points in the point cloud, such as coordinate transformation, quantization, and removal of duplicate points, and then geometrically encoding the preprocessed point cloud, for example, constructing an octet tree or a prediction tree, and then geometrically encoding the preprocessed point cloud based on the constructed octet tree or prediction tree to form a geometric code stream. At the same time, the position information of each point in the point cloud data is reconstructed based on the position information output by the constructed octet tree or prediction tree, thereby obtaining the reconstructed position information of each point.

[0056] The attribute encoding process involves selecting one of three prediction modes to perform point cloud prediction based on the reconstruction information of the input point cloud position information and the original values ​​of the attribute information, quantizing the predicted result, and arithmetically encoding it to form an attribute codestream.

[0057] As shown in Figure 4A, the positional encoding is It can be realized by a coordinate transformation unit 201, a voxelization unit 202, an octree division unit 203, a geometry reconstruction unit 204, an arithmetic encoding unit 205, a surface fitting unit 206, and a prediction tree construction unit 207.

[0058] The coordinate transformation unit 201 may be used to transform the world coordinates of the points in the point cloud into relative coordinates. For example, from the geometric coordinates of the points XYZThe minimum values ​​of the coordinate axes are subtracted, which corresponds to a direct current removal operation, thereby realizing the conversion of the coordinates of the points in the point cloud from world coordinates to relative coordinates.

[0059] The voxelization unit 202, also known as the quantization and remove points unit, can reduce the number of coordinates through quantization. After quantization, originally different points may be assigned to the same coordinates. Based on this, duplicate points can be removed through a remove duplicate operation. For example, multiple clouds with the same quantization position and different attribute information may be merged into one cloud through attribute transformation. In some embodiments of the present application, the voxelization unit 202 is an optional unit module.

[0060] The octree division unit 203 can encode the position information of the quantized points using an octree encoding method. For example, by dividing the point group in the form of an octree, the positions of the points and the octree Nodes in The positions of the points in the octree can be made to correspond one-to-one, and geometric encoding is performed by summing up the positions of the points in the octree and setting their flags to 1.

[0061] In some embodiments, in a triangular patch set (trisoup, trisoup)-based geometric information encoding process, the point cloud is similarly octree-divided by the octree division unit 203. However, unlike the octree-based geometric information encoding, in this trisoup, it is not necessary to stepwise divide the point cloud into unit cubes with side lengths of 1×1×1. Instead, the division stops when the side length of a block (sub-block) reaches W. Based on the surface formed by the distribution of the point cloud within each block, up to 12 vertices (intersections) generated by this surface and the 12 sides of the block are obtained. The intersections are surface-fitted by the surface fitting unit 206, and the fitted intersections are geometrically encoded.

[0062] The prediction tree construction unit 207 can encode the position information of the quantized points using a prediction tree coding method. For example, by dividing the point cloud into a prediction tree format, the positions of the points can be aligned one-to-one with the positions of the nodes in the prediction tree. The prediction tree construction unit 207 then aggregates the positions of the points in the prediction tree, selects different prediction modes to predict the geometric position information of the nodes, obtains prediction residuals, and quantizes the geometric prediction residuals using quantization parameters. Finally, through successive iterations, the prediction residuals of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.

[0063] The geometric reconstruction unit 204 can perform position reconstruction based on the position information output by the octree division unit 203 or the intersections fitted by the surface fitting unit 206, and acquire reconstructed values ​​of position information for each point in the point cloud data. Alternatively, the geometric reconstruction unit 204 performs position reconstruction based on the position information output by the prediction tree construction unit 207, and acquires reconstructed values ​​of position information for each point in the point cloud data.

[0064] The arithmetic coding unit 205 performs the arithmetic coding based on the position information output by the octree division unit 203, the intersections fitted by the surface fitting unit 206, or the geometric prediction output by the prediction tree construction unit 207. residual can be arithmetically coded using the entropy coding method to generate a geometric codestream. R .

[0065] The attribute encoding is It can be realized by a color transform (Transform colors) unit 210, a transfer attributes unit 211, a Region Adaptive Hierarchical Transform (RAHT) unit 212, a generate LOD (Generate LOD) unit 213, a lifting transform unit 214, a quantize coefficients unit 215, and an arithmetic coding unit 216.

[0066] It should be noted that the point cloud encoder 200 may include more, fewer, or different functional components than those shown in FIG. 4A.

[0067] A color converter 210 may be used to convert the RGB color space of the points in the point cloud to YCbCr format or other formats.

[0068] The recoloring unit 211 recolors the color information using the reconstructed geometric information so that the uncoded attribute information corresponds to the reconstructed geometric information.

[0069] After the original values ​​of the point attribute information are obtained by the transformation of the recoloring unit 211, one of the transformation units can be selected to transform the points in the point cloud. The transformation units can include a RAHT transformation unit 212 and a lifting transform unit 214. Among them, the lifting transformation depends on the generation of the level of detail (LOD).

[0070] Either the RAHT transform or the lifting transform predicts the attribute information of points in the point cloud to obtain predicted values ​​of the attribute information of the points, and then calculates the attribute information of the points based on the predicted values ​​of the attribute information of the points. residual For example, the attribute information of a point can be residual may be a value obtained by subtracting the predicted value of the attribute information of the point from the original value of the attribute information of the point.

[0071] In one embodiment of the present application, the LOD generation process by the LOD generation unit includes obtaining Euclidean distances between points based on position information of the points in the point cloud and dividing the points into different detail representation layers based on the Euclidean distances. In one embodiment, after sorting the Euclidean distances, different ranges of Euclidean distances can be divided into different detail representation layers. For example, a point may be randomly selected and assigned to the first detail representation layer. Then, the Euclidean distance between this point and the remaining points is calculated, and points whose Euclidean distance satisfies a first threshold requirement are assigned to the second detail representation layer. The center of gravity of the points in the second detail representation layer is obtained, and the Euclidean distance between this center of gravity and points other than those in the first and second detail representation layers is calculated. Points whose Euclidean distance satisfies a second threshold are assigned to the third detail representation layer. This process is repeated sequentially until all points are assigned to the third detail representation layer. The number of points in each LOD layer can be gradually increased by adjusting the Euclidean distance threshold. It should be understood that other LOD division methods can also be adopted, and the present application is not limited to these.

[0072] Note that the point cloud may be directly divided into one or more detail layers, or the point cloud may be divided into multiple point cloud slices, and each point cloud slice may be divided into one or more LOD layers.

[0073] For example, the point cloud may be divided into multiple point cloud slices, with each point cloud slice having between 550,000 and 1.1 million points. Each point cloud slice may be considered a separate point cloud. Each point cloud slice may be divided into multiple detail layers, with each detail layer including multiple points. In one embodiment, the division of the detail layers may be performed according to the Euclidean distance between points.

[0074] quantization coefficient The unit 215 is residual For example, the quantization coefficient When the quantization unit 215 and the RAHT conversion unit 212 are connected, coefficientThe unit 215 converts the attribute information of the points output by the RAHT conversion unit 212. residual may be used to quantize

[0075] The arithmetic coding unit 216 encodes the attribute information of the points using zero run length coding. residual may be entropy coded to obtain an attribute code stream, which may be bitstream information.

[0076] FIG. 4B is a schematic block diagram of a point cloud decoder according to an embodiment of the present application.

[0077] As shown in Figure 4B, the decoder 300 can obtain the point cloud code stream from the encoding device and analyze the code to obtain the position information and attribute information of the points in the point cloud. The decoding of the point cloud includes position decoding and attribute decoding.

[0078] The position decoding process includes: performing arithmetic decoding on the geometry codestream; constructing an octree and then merging to reconstruct the point position information to obtain the reconstructed point position information; and performing coordinate transformation on the reconstructed point position information to obtain the point position information. The point position information can also be called the point geometry information.

[0079] The attribute decoding process extracts the attribute information of points in the point cloud by parsing the attribute code stream. residual and the attribute information of the points residual By dequantizing the residual Based on the reconstruction information of the point position information obtained in the position decoding process, one of the RAHT inverse transform and the lifting inverse transform is selected to perform point cloud prediction, and the predicted value is obtained. residual and performing a color space inverse transform on the reconstructed value of the attribute information of the points to obtain a decoded point group.

[0080] As shown in Figure 4B, positional decoding is It can be realized by an arithmetic decoding side 301, an octree reconstruction unit 302, a surface reconstruction unit 303, a geometry reconstruction unit 304, an inverse transform coordinates unit 305, and a prediction tree reconstruction unit 306.

[0081] The attribute encoding is This can be realized by an arithmetic decoding side 310, an inverse quantization unit 311, an RAHT inverse transform unit 312, an LOD generation unit 313, an inverse lifting unit 314, and an inverse color transform unit 315.

[0082] Note that expansion and contraction are the reverse processes of compression, and similarly, the functions of each unit in the decoder 300 can refer to the functions of the corresponding unit in the encoder 200. Note that the point cloud decoder 300 may include more, fewer, or different functional components than those shown in Figure 4B.

[0083] For example, the decoder 300 may divide the point cloud into multiple LODs according to the Euclidean distances between points in the point cloud, and then sequentially decode the attribute information of the points in the LODs, for example, calculate the number of zeros (zero_cnt) in the zero run length encoding technique, and decode the residual based on the zero_cnt; and then: Decoder 300 is decrypted residual Inverse quantization is performed based on In point clouds All The point Dequantized until decoded residualA reconstruction value of this point cloud can be obtained based on the addition of the predicted value of the current point and the current point, where the current point is used as the closest point of the points in the subsequent LOD, and the reconstruction value of the current point is used to predict the attribute information of the subsequent points.

[0084] The above is the basic process of point cloud encoding and decoding based on the GPCC encoding and decoding framework. As technology develops, some modules or steps of this framework or process may be optimized. This application applies to, but is not limited to, this basic process of point cloud encoding and decoding based on the GPCC encoding and decoding framework.

[0085] In the following, octree-based geometric coding and predictive tree-based geometric coding are described.

[0086] Octree-based geometry coding involves the following steps: first, coordinate transformation of the geometric information is performed so that all points are contained in a single bounding box. Then, quantization is performed. This quantization step mainly plays a scaling role. Due to the rounding effect of quantization, the geometric information of some points becomes identical. Based on the parameters, it is determined whether or not to remove duplicate points. The quantization and duplicate point removal process is also called the voxelization process. Next, the bounding box is successively partitioned into trees (octrees, quadtrees, and binary trees) in breadth-first search order, and a placeholder code is encoded for each node. In the implicit geometric partitioning method, the bounding box of the point cloud is first calculated, and this bounding box is assumed to correspond to a rectangular parallelepiped. In the case of geometric partitioning, first, binary tree partitioning is performed sequentially along the X coordinate axis to obtain two child nodes. If the condition is satisfied, quad tree partitioning is performed sequentially along the x and Y coordinate axes to obtain four child nodes. Finally, if the condition is satisfied, octree partitioning is performed sequentially. The partitioning is stopped until the leaf nodes obtained by the partitioning become 1x1x1 unit cubes, and the points in the leaf nodes are encoded to generate a binary code stream. In the binary tree / quad tree / octree-based partitioning process, two parameters, K and M, are introduced. Parameter K indicates the maximum number of binary tree / quad tree partitions before octreche partitioning is performed, and parameter M is used to indicate that the corresponding minimum block edge length when performing binary tree / quad tree partitioning. At the same time, K and M must satisfy the following condition: Assuming , parameter K satisfies , and parameter M satisfies . The reason why the parameters K and M satisfy the above conditions is that in the current G-PCC's geometric implicit partitioning process, the partitioning method priorities are binary tree, quad tree, and octree, and if the node block size does not satisfy the binary tree / quad tree condition, octree partitioning is performed continuously until the partition is completed to the smallest unit of leaf nodes, 1x1x1.

[0087] The octree-based geometry encoding mode can effectively encode the geometry of point clouds by exploiting the correlation between adjacent points in space. However, for some relatively flat nodes or nodes with planar features, the efficiency of encoding the geometry of point clouds can be further improved by using planar encoding.

[0088] 5A, the (a) series belongs to the low plane position in the Z coordinate axis direction, and the (b) series belongs to the high plane position in the Z coordinate axis direction. Taking (a) as an example, it can be seen that all four child nodes occupied by the current node are located at the low plane position in the Z coordinate axis direction of the current node, so the current node belongs to one Z plane and is also considered to be the low plane in the Z coordinate axis direction. Similarly, (b) indicates that the child nodes occupied by the current node are located at the high plane position in the Z coordinate axis direction of the current node.

[0089] In the following, we take (a) as an example to compare the efficiency of octree coding and planar coding. As shown in Figure 5B, 5AIf the octree encoding method is used for (a) in (a), the placeholder information of the current node is represented as 11001100. However, if the planar encoding method is used, it is necessary to first encode an identifier indicating that the current node is planar in the Z coordinate axis direction, and then, if the current node is planar in the Z coordinate axis direction, to express the planar position of the current node. Second, since only the placeholder information of the lower planar node in the Z coordinate axis direction (i.e., the placeholder information of the four child nodes of 0246) needs to be encoded, encoding the current node based on the planar encoding method requires only 6 bits, which is a 2-bit reduction compared to traditional octree encoding. Based on this analysis, planar encoding has obvious coding efficiency compared to octree encoding. Therefore, when encoding an occupied node in a certain dimension using the planar encoding method, as shown in FIG. 5C, it is necessary to first express the plane identification (planarMode) and plane position (PlanePos) information of the current node in that dimension, and then encode the placeholder information of the current node based on the plane information of the current node. Note that the PlanarMode i (i=0,1,2):0 means that the current node is not planar in the i-axis direction, and if the node is planar in the i-axis direction, PlanePositioni:0 means that the current node is planar in the i-axis direction and the plane position is low plane, and 1 means that the current node is high plane in the i-axis direction. Illustratively, i=0 indicates the X-coordinate axis, i=1 indicates the Y-coordinate axis, and i=2 indicates the Z-coordinate axis.

[0090] In the following, we will explain in detail how to determine whether a node satisfies the conditions for planar coding in the current G-PCC standard, and if the node satisfies the conditions for planar coding, how to identify the plane of the node and how to predictively code the planar position information.

[0091] Currently, G-PCC has three types of criteria for determining whether a node satisfies planar coding, and we will explain each one below.

[0092] The first method makes a determination based on the planar probability of nodes in each dimension.

[0093] First, determine the local area density (local_node_density) of the current node and the probability Prob(i) of the current node in each dimension.

[0094] If the local area density of the node is less than the threshold Th (Th = 3), compare the planar probability Prob(i) of the current node in three dimensions with the thresholds Th0, Th1, and Th2, where Th0 < Th1 < Th2 (Th0 = 0.6, Th1 = 0.77, Th2 = 0.88). Hereinafter, Eligiblei (i = 0, 1, 2) is used to indicate whether planar encoding starts in each dimension. The determination process of Eligiblei is as shown in Equation (1). For example, when Eligiblei >= threshold, it means that planar encoding starts in the i-th dimension. Eligiblei = Prob(i) >= threshold (1)

[0095] Note that the threshold changes adaptively. For example, when Prob(0) > Prob(1) > Prob(2), the value of the threshold is as shown in Equation (2). Eligible0 = Prob(0) >= Th0 Eligible1 = Prob(1) >= Th1 Eligible2 = Prob(2) >= Th2 (2)

[0096] Hereinafter, the update process of local_node_density and the update of Prob(i) will be described.

[0097] In one example, Prob(i) is updated as shown in the following Equation (3): Prob(i)new = (Lx Prob(i) + δ(coded node)) / L + 1 (3) In the formula, L = 255. When the coded node is planar, it is 1; otherwise, it is 0.

[0098] In one example, local_node_density is updated as shown in equation (4) below: local_node_densitynew=local_node_density+4*numSiblings (4) In the formula, local_node_density is initialized to 4, numSiblings is the number of sibling nodes of the node, and as shown in Figure 5D, if the current node is the left node and the right node is the sibling node of the current node, the number of sibling nodes of the current node (including itself) is 5.

[0099] The second type judges whether the nodes in the current layer satisfy the planar coding based on the point cloud density of the current layer.

[0100] The decision whether to perform planar coding on nodes in the current layer is made using the density of points in the current layer. Let pointCount be the number of points currently being coded, numPointCountRecon be the number of points reconstructed by IDCM coding, and let nodeCount be the number of nodes to be coded in the current layer, since the octree is coded in the order of breadth-first search. Then, let planarEligibleKOctreeDepth be the value indicating whether planar coding is to be started in the current layer. Here, the decision process for planarEligibleKOctreeDepth is as shown in Equation (5): planarEligibleKOctreeDepth=(pointCount-numPointCountRecon) <nodeCount*1.3 (5)

[0101] If planarEligibleKOctreeDepth is true, all nodes in the current layer are planar coded; otherwise, no planar coding is performed and only octree coding is used.

[0102] The third type is to determine whether the current node satisfies the planar coding based on the laser radar point cloud collection parameters.

[0103] As shown in Figure 5E, the upper large cube node is being passed by two lasers at the same time, so the current node is not flat in the vertical direction of the Z coordinate axis, and the lower small cube node is being passed by two lasers at the same time. Laser Therefore, it can be determined whether the current node satisfies the planar coding based on the number of lasers corresponding to the current node.

[0104] The following describes predictive coding of plane identification information and plane position information of nodes that currently satisfy the conditions for plane coding.

[0105] 1. Predictive coding of plane identification information Currently, three contexts are used to encode the plane identity information, i.e., the plane representation on each dimension is designed separately.

[0106] The following describes the encoding of planar position information for non-laser radar point clouds and laser radar point clouds.

[0107] (1) Coding of planar position information of non-laser radar point clouds 1. Predictive coding of planar position information Plane position information is (1) Plane position information of the current node, which is obtained by making predictions using placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; (2) The spatial distances "near" and "far" between the current node and a node at the same division depth and coordinates as the current node; (3) the planar position of the node at the same division depth and the same coordinates as the current node, and (4) Coordinate dimension (i=0, 1, 2) and predictive coding are performed based on this information.

[0108] As shown in Figure 5F, if the node currently being coded is a left-side node, a neighboring node at the same octree division depth level and the same vertical coordinate as the right-side node is searched for, and the distance between the two nodes is determined as "near" and "far," and the planar position of the node is referenced.

[0109] In one example, as shown in FIG. 5G, if the black node is the current node and the current node is located in the lower plane of the parent node, the plane position of the current node is determined as follows: a) If any of the child nodes 4 to 7 of the diagonal node is occupied and all point-like nodes are not occupied, there is a very high possibility that a plane exists at the current node and that the plane position is relatively low. b) If none of the child nodes 4 to 7 of the diagonal node are occupied and any of the point-like nodes are occupied, then there is a very high probability that a plane exists at the current node and that the position of this plane is relatively high. c) If all child nodes 4 to 7 of the diagonal node are empty nodes and all point-like nodes are empty nodes, the planar position cannot be estimated and is therefore marked as unknown.

[0110] If any of the child nodes 4 to 7 of the diagonal node is occupied and any of the point-like nodes is occupied, the planar position cannot be estimated and is therefore marked as unknown.

[0111] In another example, as shown in FIG. 5H, if the black node is the current node and the node is at the high planar position of the parent node, the planar position of the current node is determined as follows: a) If any of the child nodes 4 to 7 of the point-like node is occupied and the diagonal node is not occupied, there is a very high possibility that a plane exists at the current node and the plane position is relatively low. b) If none of the child nodes 4 to 7 of the point-like node are occupied and the diagonal node is occupied, it is highly likely that a plane exists at the current node and the plane position is relatively high. c) If none of the child nodes 4 to 7 of the point-like node are occupied and the diagonal node is unoccupied, the planar position cannot be estimated and is therefore marked as unknown. d) If one of the child nodes 4-7 of the point-like node is occupied and the diagonal node is occupied, the planar position cannot be estimated and is therefore marked as unknown.

[0112] JPEG2026503046000060.jpg80168

[0113] JPEG2026503046000061.jpg39168

[0114] JPEG2026503046000062.jpg32168

[0115] However, the octree-based geometry coding mode only has an effective compression ratio for spatially correlated points, and for points in isolated positions in the geometric space, the Direct Coding Model (DCM) can be used to significantly reduce the complexity. For all nodes in the octree, the use of DCM is not indicated by flag bit information, but is obtained by inference from the parent node and neighbor information of the current node. There are three ways to determine whether the current node qualifies for DCM coding, as shown in Figure 6: (1) The current node has no sibling child nodes, i.e., the parent node of the current node has only one child node, and at the same time, the parent node of the parent node of the current node has only two occupied child nodes, i.e., the current node has at most one neighboring node. (2) The parent node of the current node has only one occupied child node, the current node, and at the same time, all six neighboring nodes that share faces with the current node also belong to the empty node. (3) The number of sibling nodes of the current node is greater than 1.

[0116] JPEG2026503046000063.jpg99168

[0117] In addition, when splitting a node into leaf nodes, the number of overlapping points in the leaf nodes needs to be coded for geometric lossless coding. Finally, the placeholder information of all nodes is coded to generate a binary code stream. In addition, G-PCC currently implements a planar coding mode. During the geometric splitting process, it determines whether the child nodes of the current node are in the same plane. If the child nodes of the current node meet the same plane condition, the child nodes of the current node are represented in that plane.

[0118] In octree-based geometric decoding, the decoder first performs a breadth-first search to determine whether the current node is a plane decoder or IDCM decoder, using the reconstructed geometric information before decoding the placeholder information of each node. node The algorithm determines whether to perform the above analysis. If the current node satisfies the plane decoding conditions, it first decodes the plane identification and plane position information of the current node, and then decodes the placeholder information of the current node based on the plane information. If the current node satisfies the IDCM decoding conditions, it first decodes whether the current node is a true IDCM node. If it is a true IDCM node, it continues to analyze the DCM decoding mode of the current node, then obtains the number of points in the current DCM node, and finally decodes the geometric information of each point. For nodes that do not satisfy either plane decoding or DCM decoding, it decodes the placeholder information of the current node. This continuous analysis obtains the placeholder code of each node, and then it continues to divide the nodes sequentially, stopping the division until a 1x1x1 unit cube is obtained. The number of points contained in each leaf node is analyzed and obtained, and finally the geometric reconstruction point cloud information is restored and obtained.

[0119] In the trisoup (triangle soup)-based geometric information coding framework, geometric division is also performed first. However, unlike binary / quadtree / octree-based geometric information coding, this method does not require stepwise division of the point cloud into unit cubes with side lengths of 1x1x1. Instead, the division stops when the side length of a block (sub-block) reaches W. Based on the surface formed by the distribution of the point cloud within each block, up to 12 vertices (intersection points) generated by this surface and the 12 edges of the block are obtained. The vertex coordinates of each block are sequentially encoded to generate a binary code stream.

[0120] When reconstructing point cloud geometric information on the decoding side based on trisoup-based point cloud geometric information reconstruction, the vertex coordinates are first decoded to complete triangular patch reconstruction. This process is shown in Figures 7(a) to 7(c). The block shown in Figure 7(a) contains three vertices (v1, v2, v3). A set of triangular patches constructed in a specific order using these three vertices is called a triangle soup, or trisoup, as shown in Figure 7(b). Sampling is then performed on this set of triangular patches, and the obtained sampling points are used as the reconstructed point cloud within this block, as shown in Figure 7(c).

[0121] Prediction tree-based geometry coding first sorts the input point cloud. Current sorting methods include unordered, Morton-ordered, azimuth-ordered, and radial-distance-ordered. The encoding process uses two different methods to establish a prediction tree structure: a KD-tree (high-latency, low-speed mode) and a low-latency, high-speed mode that uses laser radar calibration information to divide each point into different lasers and establish a prediction structure according to the different lasers. Next, based on the prediction tree structure, each node in the prediction tree is traversed, a different prediction mode is selected to predict the node's geometric position information, resulting in a prediction residual. The geometric prediction residual is then quantized using a quantization parameter. Finally, through successive iterations, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameter are coded to generate a binary code stream.

[0122] Based on the prediction tree-based geometric decoding, the decoding side continuously analyzes the code stream and reconstructs the prediction tree structure, then obtains the geometric position prediction residual information and quantization parameters of each prediction node through analysis, and dequantizes the prediction residual to restore and obtain the reconstructed geometric position information of each node, finally completing the geometric reconstruction on the decoding side.

[0123] After geometry encoding is complete, the geometry information is reconstructed. Currently, attribute encoding is mainly performed on color information. First, the color information is converted from RGB color space to YUV color space. Then, the reconstructed geometric information is used to recolor the point cloud so that the uncoded attribute information corresponds to the reconstructed geometric information. There are two main transformation methods for color information encoding: distance-based lifting transform, which relies on LOD (Level of Detail) division, and direct RAHT (Region Adaptive Hierarchical Transform) transformation. Both methods convert color information from the spatial domain to the frequency domain, obtaining high-frequency and low-frequency coefficients through the transformation. Finally, the coefficients are quantized and encoded to generate a binary code stream.

[0124] JPEG2026503046000064.jpg107168

[0125] There are four general test conditions for GPCC: Condition 1: Geometric positions are lossy to a limited extent, and attributes are lossy. Condition 2: Geometry is lossless, attributes are lossy, Condition 3: Geometric position is lossless, attributes are limitedly lossy, Condition 4: Geometry position is lossless and attributes are lossless.

[0126] Common test sequences include four types: Cat1A, Cat1B, Cat3-fused, and Cat3-frame. Cat2-frame point clouds contain only reflectance attribute information, Cat1A and Cat1B point clouds contain only color attribute information, and Cat3-fused point clouds contain both color and reflectance attribute information.

[0127] GPCC has two technical routes, which are distinguished by the algorithm adopted for geometry compression and are divided into octree coding branch and predictive tree coding branch.

[0128] In the octree coding branch, the encoding side sequentially divides the bounding box to obtain subcubes, continues to divide non-empty subcubes (containing points in the point cloud), and stops dividing until the leaf nodes obtained by the division become 1x1x1 unit cubes. In the case of geometric lossless coding, the number of points contained in the leaf nodes is encoded, and finally the geometric octree encoding is completed to generate a binary code stream. In the decoding side, the decoding side sequentially analyzes in the order of breadth-first search to obtain the placeholder code for each node, and then sequentially divides the nodes sequentially, and stops dividing until the division obtains a 1x1x1 unit cube. In the case of geometric lossless decoding, the number of points contained in each leaf node is analyzed, and finally the geometric reconstruction point cloud information is restored and obtained.

[0129] In the predictive tree coding branch, the encoding side establishes a predictive tree structure using two different methods: KD-tree (high-latency, low-speed mode) and laser radar calibration information, which divides each point into different lasers and establishes a predictive structure according to the different lasers (low-latency, high-speed mode). Next, based on the predictive tree structure, each node in the predictive tree is traversed, a different prediction mode is selected to predict the geometric position information of the node, resulting in a prediction residual, and the quantization parameter is used to quantize the geometric prediction residual. Finally, through successive iterations, the prediction residual of the predictive tree node position information, the predictive tree structure, and the quantization parameter are coded to generate a binary code stream. On the decoding side, the decoding side continuously analyzes the code stream to reconstruct the predictive tree structure. Then, the geometric position prediction residual information and quantization parameter of each predictive node are obtained through analysis, and the prediction residual is dequantized to restore and obtain the reconstructed geometric position information of each node, finally completing the geometric reconstruction on the decoding side.

[0130] In the process of point cloud encoding, for some relatively flat nodes or nodes with planar features, planar encoding can be used to further improve the encoding efficiency of the geometric information of the point cloud. However, currently, the planar structure information of the current node is predictively encoded only through some prior reference information, which reduces the predictive encoding performance of the planar structure information.

[0131] In order to solve the above technical problem, in the embodiment of the present application, when encoding and decoding a node, N number of the current node Neighboring nodes Determine this N Neighboring nodes By performing predictive decoding on the planar structure of the current node based on the placeholder information, the predictive decoding performance of the planar structure information is improved, and the efficiency and performance of encoding and decoding of point clouds are improved.

[0132] Hereinafter, the point group encoding / decoding method according to the embodiment of the present application will be described in conjunction with specific examples.

[0133] First, the point group decoding method provided in the embodiment of the present application will be described by taking the decoding side as an example.

[0134] 8 is a flowchart of a point cloud decoding method according to an embodiment of the present application, which can be implemented by the point cloud decoding device or point cloud decoder shown in FIG. 3 or FIG. 4B above.

[0135] As shown in FIG. 8, the point cloud decoding method of the embodiment of the present application includes the following steps:

[0136] S101, N of the current node Neighboring nodes Determine.

[0137] As can be seen from the above, a point cloud includes geometric information and attribute information, and decoding of a point cloud includes geometric decoding and attribute decoding. The embodiment of the present application relates to geometric decoding of a point cloud.

[0138] In some embodiments, the geometric information of a point cloud is also referred to as the positional information of the point cloud, and therefore the geometric decoding of a point cloud is also referred to as the positional decoding of a point cloud.

[0139] In octree-based encoding, the encoding side builds an octree structure for the point cloud based on its geometric information. As shown in Figure 9, the point cloud is bounded using the smallest rectangular parallelepiped. This bounding box is then octree-divided to obtain eight nodes. Of these, occupied nodes (i.e., nodes containing points) are then octree-divided. This process is repeated sequentially until the point cloud is divided into voxel-level positions, such as a 1x1x1 cube. The point cloud octree structure obtained through this division contains multiple layers of nodes, such as N layers. During encoding, the placeholder information for each layer is coded layer by layer until the voxel-level leaf node of the final layer is coded. In other words, octree coding achieves point cloud encoding by dividing the point cloud into an octree, finally dividing the points in the point cloud into the voxel-level leaf nodes of the octree, and then coding the entire octree.

[0140] Correspondingly, the decoding side first decodes the geometric codestream of the point cloud, obtains placeholder information of the root node of the octree of the point cloud, and determines the child nodes included in this root node, i.e., the nodes included in the second layer of the octree, based on the placeholder information of the root node, then decodes the geometric codestream, obtains placeholder information of each node in the second layer, and determines the nodes included in the third layer of the octree based on the placeholder information of each node, and performs this process sequentially.

[0141] However, for some relatively flat nodes or nodes with planar features, planar coding can further improve the coding efficiency of the geometric information of point clouds. For example, as shown in FIG. 5A, all four occupied child nodes of the current node are located at low planar positions in the Z coordinate axis direction of the current node. In this case, the placeholder information of the current node is represented as 11001100. When encoding the current node using this planar coding scheme, it is first necessary to encode an identifier indicating that the current node is planar in the Z coordinate axis direction. Then, if the current node is planar in the Z coordinate axis direction, it is necessary to represent the planar position of the current node. Next, since only the placeholder information of the low planar node in the Z coordinate axis direction (i.e., the placeholder information of the four child nodes of 0246) needs to be encoded, encoding the current node based on the planar coding scheme requires only 6 bits, which is a reduction of 2 bits compared to traditional octree coding, thereby improving the coding performance of point clouds.

[0142] As can be seen from the above, when encoding the current node using the planar coding method, the encoding side needs to predictively encode the planar structure information of the current node. Correspondingly, the decoding side performs predictive decoding on the planar structure information of the current node, and then obtains the geometric information of the current node based on the planar structure information obtained by decoding.

[0143] Currently, the planar structure information of the current node is predictively coded based on some prior reference information, such as the spatial distance between the current node and a node at the same division depth and coordinates as the current node, and / or the planar position of the node at the same division depth and coordinates as the current node, which reduces the predictive coding performance of the planar structure information.

[0144] In order to solve the above problem, in the embodiment of the present application, the decoding side Neighboring nodes By performing predictive decoding on the planar structure of the current node based on the placeholder information, the predictive encoding and decoding performance of the planar structure information is improved, and the efficiency and performance of the point cloud encoding and decoding are improved.

[0145] In the following, the decryption side will Neighboring nodes The specific process for determining this will be explained.

[0146] In the embodiment of the present application, the decryption side uses N Neighboring nodes There is no limitation on the specific method for determining the value.

[0147] In one example, N of the current node Neighboring nodes has coplanar, collinear and coaxial points with the current node Neighboring nodes At least one of Neighboring nodes As shown in Figure 10, the current nodes include 6 coplanar nodes, 12 collinear nodes, and 8 copoint nodes.

[0148] Another example is N number of nodes in the current Neighboring nodes has coplanar, collinear and coaxial points with the current node Neighboring nodes At least one of Neighboring nodes In addition to the above, other nodes within a preset reference neighborhood range may be included, and the embodiment of the present application is not limited thereto.

[0149] In a specific embodiment, as shown in Figure 11, the thick dashed line node is the current node to be coded, the solid line nodes are the three neighboring nodes that are coplanar with the current node, the dot-dash line nodes are the three neighboring nodes that are colinear with the current node, and the long dashed line nodes are the neighboring nodes that have a common point with the current node. This is because, when decoding the placeholder information of the current node according to the point cloud decoding order, seven neighboring nodes that are coplanar, colinear, and have a common point with the current node (left front down direction) can be obtained. These seven Neighboring nodes At least one of Neighboring nodes The planar structure information of the current node is predicted and decoded using the placeholder information of the

[0150] In another specific embodiment, N of the current node Neighboring nodes The seven in Figure 11 Neighboring nodes , i.e., three nodes coplanar with the current node Neighboring nodes , three nodes that are collinear with the current node Neighboring nodes , and one node that has a common point with the current node Neighboring nodes Includes.

[0151] In another specific embodiment, N of the current node Neighboring nodes has a coplanar and copoint with the current node Neighboring nodes For example, six nodes that are coplanar with the current node Neighboring nodes and one node that has a common point with the current node Neighboring nodes Includes.

[0152] In another specific embodiment, N of the current node Neighboring nodes is collinear and collinear with the current node Neighboring nodes For example, six nodes that are collinear with the current node Neighboring nodes and one node that has a common point with the current node Neighboring nodes Includes.

[0153] In another specific embodiment, N of the current node Neighboring nodes is collinear and coplanar with the current node Neighboring nodes For example, six nodes that are coplanar with the current node Neighboring nodes and six nodes that are collinear with the current node. Neighboring nodes Includes:

[0154] In another specific embodiment, N of the current node Neighboring nodes is coplanar with the current node Neighboring nodes contains only or is collinear with the current node Neighboring nodes contains only or has a common point with the current node Neighboring nodes Contains only.

[0155] In the embodiment of the present application, the decoding side receives N Neighboring nodes There is no limitation on the specific method for determining the value.

[0156] S102, N Neighboring nodes Based on the placeholder information, the plane structure information of the current node is predicted and decoded.

[0157] In the embodiment of the present application, the plane structure information of the current node includes plane identification information of the current node and / or plane position information of the current node.

[0158] As you can see, the plane identification of the current node is PlaneMode i It is expressed as (i=0,1,2), where i=0 represents the X coordinate axis, i=1 represents the Y coordinate axis, and i=2 represents the Z coordinate axis. i = 0 means the current node is not planar in the i-th coordinate axis direction, and PlaneMode i = 1 indicates that the current node is a plane in the i-th coordinate axis direction.

[0159] If the current node is a plane in the i-th coordinate axis direction, i.e., PlaneMode iWhen PlanePositioni=1, the decoding side continues to decode the plane position information of the current node on the i-th coordinate axis. Illustratively, PlanePositioni is used to represent the plane position information of the current node on the i-th coordinate axis direction, for example, PlanePositioni=0 means that the current node is a plane in the i-th coordinate axis direction and the plane position is a low plane, and PlanePositioni=1 means that the current node is a high plane in the i-th coordinate axis direction.

[0160] In the present embodiment, N Neighboring nodes Based on the placeholder information, predictively decode the plane structure information of the current node, that is, predictively decode the plane identification and / or plane position information of the current node.

[0161] For example, N number of nodes in the current Neighboring nodes Based on the placeholder information, the plane identification of the current node on the i-th coordinate axis is predicted and decoded.

[0162] Also, for example, N number of the current node Neighboring nodes Based on the placeholder information, the planar position information of the current node on the i-th coordinate axis is predicted and decoded.

[0163] In the present embodiment, N of the current node Neighboring nodes Based on the placeholder information, predictive decoding of the plane structure information of the current node is performed by Neighboring nodes It can be understood that the planar structure information of the current node is predicted and decoded using the placeholder information of the current node as context information of the planar structure information of the current node. For example, Neighboring nodes a context model index is determined based on the context model index, a context model is determined based on the context model index, and planar structure information of the current node is predictively decoded based on the context model, for example, planar identification of the current node is predictively decoded based on the context model, or planar position information of the current node is predictively decoded based on the context model.

[0164] In some embodiments, if the planar structure information of the current node includes the planar position information of the current node, the decoding side predictively decodes the planar position information of the current node according to the placeholder information of the N regions of the current node. At this time, the above S102 includes steps S102-A and S102-B: S102-A, where N Neighboring nodes Based on the placeholder information, Neighboring nodes determining planar structural information of the S102-B, where N Neighboring nodes and predictively decoding the planar position information of the current node based on the planar structure information.

[0165] In this embodiment, the decryption side receives N Neighboring nodes When predicting and decoding the plane position information of the current node using the placeholder information of Neighboring nodes The planar structure information of N Neighboring nodes Based on the planar structure information of the current node, the planar position information of the current node is predicted and decoded. For example, Neighboring nodes A context model index is determined based on the plane structure information of the current node, a context model is determined based on the context model index, and plane position information of the current node is predictively decoded based on the context model.

[0166] In the present embodiment, N Neighboring nodes Each in Neighboring nodes About that Neighboring nodes Based on the placeholder information in Neighboring nodes The specific process of determining the planar structure information of N is the same, so for convenience of explanation, Neighboring nodes Either Neighboring nodes will be explained as an example.

[0167] In some embodiments, the above S102-A includes the following step S102-A1: S102-A1, wherein N Neighboring nodes any of Neighboring nodes Regarding Neighboring nodes Based on the placeholder information in Neighboring nodes The method includes determining at least one of plane identification information and plane position information.

[0168] In the embodiment of the present application, the decryption side: Neighboring nodes Based on the placeholder information in Neighboring nodes Plane identification information and / or plane position information can be determined.

[0169] In the following, Neighboring nodes Based on the placeholder information in Neighboring nodes A specific process for determining the plane identification information will be described.

[0170] Specifically, the decryption side: Neighboring nodes Based on the placeholder information, determine plane0 and plane1 corresponding to the i-th coordinate axis, and further, based on plane0 and plane1, determine this Neighboring nodes , and determine the corresponding plane identity of the plane.

[0171] For example, the decoding side uses the following code to calculate the X, Y, and Z coordinates: Neighboring nodes Determine the corresponding plane0 for each of the following: uint8_t plane0=0; plane0|=!!(occupancy & 0x0f)<<0; plane0|=!!(occupancy & 0x33)<<1; plane0|=!!(occupancy & 0x55)<<2; In the formula, occupancy is Neighboring nodes plane0|=!!(occupancy&0x0f)<<0 represents the placeholder information on the X coordinate axis. Neighboring nodes and pplane0|=!!(occupancy & 0x33)<<1 represents the plane0 on the Y coordinate axis. Neighboring nodesand plane0|=!!(occupancy & 0x55)<<2 represents the plane on the Z coordinate axis. Neighboring nodes 0x0f represents 00001111, Neighboring nodes The placeholder information occupancy is ANDed with 0x0f, and the Neighboring nodes The value of the X coordinate axis on the low plane is 0. 0x33 represents 00110011. Neighboring nodes The placeholder information occupancy is ANDed with 0x33, and the result is Neighboring nodes The values ​​on the lower plane of the Y coordinate axis are all 0. 0x55 represents 01010101, Neighboring nodes The placeholder information occupancy is ANDed with 0x55, and the result is Neighboring nodes Obtain the values ​​of the Z coordinate axis on the low plane as 0.

[0172] For example, the decoding side uses the following code to calculate the X, Y, and Z coordinates: Neighboring nodes Determine the corresponding plane1 for each: uint8_t plane1=0; plane1|=!!(occupancy & 0xf0)<<0; plane1|=!!(occupancy & 0xcc)<<1; plane1|=!!(occupancy & 0xaa)<<2; In the formula, occupancy is Neighboring nodes represents the placeholder information, & represents the AND operation, and plane1|=!!(occupancy & 0xf0)<<0 represents the Neighboring nodes and plane1|=!!(occupancy & 0xcc)<<1 represents the plane on the Y coordinate axis. Neighboring nodes and plane1|=!!(occupancy & 0xaa)<<2 represents the plane on the Z coordinate axis. Neighboring nodes 0xf0 represents 11110000, Neighboring nodesThe placeholder information occupancy is ANDed with 0xf0, and Neighboring nodes The value of the X coordinate axis on the high plane is 0. 0xcc represents 11001100. Neighboring nodes The placeholder information occupancy is ANDed with 0xcc, and Neighboring nodes The values ​​on the Y coordinate axis of the high plane are all 0. 0xaa represents 10101010, Neighboring nodes The placeholder information occupancy is ANDed with 0xaa, and Neighboring nodes Obtain the value of 0 on the Z coordinate axis high plane.

[0173] Based on the above method, the decoding side calculates this Neighboring nodes Determine the corresponding plane0 and plane1 of the i-th coordinate axis based on plane0 and plane1. Neighboring nodes The corresponding plane identification information of the planes can be determined.

[0174] For example, for the i-th coordinate axis, by performing an XOR operation on plane0 and plane1 of the i-th coordinate axis determined above, Neighboring nodes Specifically, it is planar if and only if a single plane perpendicular to the axis is occupied.

[0175] For example, the decoding side calculates the value on the i-th axis based on the following equation (10): Neighboring nodes The plane identification information of the plane is determined. planarMode=plane0^plane1 (10) where planarMode is the Neighboring nodes represents the plane identification information, and ^ represents the XOR operation.

[0176] As shown in the above formula (10), the decoding side Neighboring nodes The XOR operation is performed on the corresponding plane0 and plane1 of Neighboring nodesAlso, for example, the decoding side acquires the plane identification information of Neighboring nodes The XOR operation is performed on the corresponding plane0 and plane1 of Neighboring nodes Also, for example, the decoding side acquires the plane identification information of Neighboring nodes The XOR operation is performed on the corresponding plane0 and plane1 of the Z coordinate axis. Neighboring nodes The plane identification information is obtained.

[0177] In the following, Neighboring nodes A specific process for determining the plane position information will be described.

[0178] In the embodiment of the present application, the decoding side performs the following based on the above method: Neighboring nodes After determining the plane identification information planarMode, based on the plane identification information planarMode, Neighboring nodes The planar position information can be determined.

[0179] For example, the decoding side calculates the value on the i-th axis based on the following equation (11): Neighboring nodes The planar position information of the object is determined. PlanePos=planarMode & plane1 (11) where PlanePos is the plane on the i-th axis. Neighboring nodes represents the plane position information, and & represents an AND operation.

[0180] As shown in the above formula (11), the decoding side Neighboring nodes The plane identification information of the plane is ANDed with the corresponding plane1 on the X coordinate axis, and Neighboring nodes Also, for example, the decoding side performs an AND operation between the plane identification information on the Y coordinate axis and the corresponding plane1 on the Y coordinate axis, and obtains the plane position information on the Y coordinate axis. Neighboring nodes Also, for example, the decoding side performs an AND operation between the plane identification information on the Z coordinate axis and the corresponding plane1 on the Z coordinate axis, and obtains the plane position information on the Z coordinate axis. Neighboring nodes Obtain the planar position information.

[0181] In the following, the decoding side is on the X coordinate axis Neighboring nodes The process of determining the plane identification information and plane position information will be described as an example. Neighboring nodes Assuming the placeholder information is 10110000, Neighboring nodes Substitute the placeholder information 10110000 into plane0|=!!(10110000&00001111)<<0 to create this on the X coordinate axis. Neighboring nodes The corresponding plane0 is 00000000. Neighboring nodes Substitute the placeholder information 10110000 into plane1|=!!(10110000&11110000)<<0, and create this on the X coordinate axis. Neighboring nodes Next, we perform an XOR operation on plane0 and plane1 to find the value of the corresponding plane1 on the X coordinate axis. Neighboring nodes The plane identification information planarMode=00000000^10110000=10110000 is obtained. As can be seen from planarMode=10110000, Neighboring nodes There are no occupied nodes on the high plane of the X coordinate axis, but there are occupied nodes on the low plane of the X coordinate axis, so Neighboring nodes It can be determined that the plane is in the X coordinate axis direction. Next, the decoding side Neighboring nodes The plane identification information planarMode and plane1 are ANDed, and the plane on the X coordinate axis is Neighboring nodes The plane position information, that is, PlanePos=10110000&10110000=10110000, is obtained. As can be seen from PlanePos=10110000, Neighboring nodes is a plane in the X coordinate direction, and the plane position is a low plane.

[0182] In the above, on the X coordinate axis Neighboring nodes The specific process of determining the plane identification information and plane position information has been described. Neighboring nodesThe specific process for determining the plane identification information and plane position information can be explained by referring to the process for determining the plane identification information and plane position information on the X coordinate axis, and therefore the explanation thereof will be omitted here.

[0183] The decoding side generates N pieces of data based on the above steps. Neighboring nodes Each in Neighboring nodes After determining the plane identification information and / or plane position information of N Neighboring nodes Each in Neighboring nodes Based on the plane identification information and / or plane position information, the plane position information of the current node is predicted and decoded.

[0184] In the embodiment of the present application, in the above S102-B, N Neighboring nodes There is no limitation on the specific method for predictively decoding the planar position information of the current node based on the planar structure information.

[0185] In some embodiments, the decoding side may Neighboring nodes A context model index is determined based on the planar structure information, and one context model is selected from a plurality of preset context models based on the context model index. Furthermore, planar position information of the current node is predictively decoded based on the context model.

[0186] In some embodiments, S102-B above is S102-B1, where N Neighboring nodes determining first context information and / or second context information corresponding to an i-th coordinate axis based on the planar structure information, where the i-th coordinate axis is an X-coordinate axis, a Y-coordinate axis, or a Z-coordinate axis; S102-B2 includes a step of predictively decoding planar position information of the current node on the i-th coordinate axis based on the first context information and / or the second context information corresponding to the i-th coordinate axis.

[0187] In this embodiment, the decoding side receives N Neighboring nodesBased on the planar structure information of the i-th coordinate axis, at least one of the first context information and the second context information corresponding to the i-th coordinate axis is determined, and further, based on the determined first context information and / or the second context information, the planar position information of the current node on the i-th coordinate axis is predicted and decoded. Neighboring nodes Based on the planar structure information of the X coordinate axis, at least one of the first context information and the second context information corresponding to the X coordinate axis is determined, and further, based on the first context information and / or the second context information corresponding to the X coordinate axis, the planar position information of the current node on the X coordinate axis is predicted and decoded. Neighboring nodes Based on the plane structure information of the Y coordinate axis, at least one of the first context information and the second context information corresponding to the Y coordinate axis is determined, and further, based on the first context information and / or the second context information corresponding to the Y coordinate axis, the plane position information of the current node on the Y coordinate axis is predicted and decoded. Neighboring nodes and determining at least one of first context information and second context information corresponding to the Z coordinate axis based on the planar structure information, and predictively decoding planar position information of the current node on the Z coordinate axis based on the first context information and / or the second context information corresponding to the Z coordinate axis.

[0188] In the following, the decoding side is Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information will be described.

[0189] In the embodiment of the present application, the decoding side has N Neighboring nodes Specific ways of determining the first context information corresponding to the i-th coordinate axis based on the plane structure information include, but are not limited to, the following ways:

[0190] In method 1, the decoding side uses N Neighboring nodes Some of Neighboring nodesBased on the planar structure information, first context information corresponding to the ith coordinate axis is determined.

[0191] For example, the decryption side has N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes Based on the planar structure information of P, determine first context information corresponding to the i-th coordinate axis, where P is a positive integer.

[0192] Here, P Neighboring nodes The planar structural information of P Neighboring nodes The decoding side includes plane identification information and / or plane position information of P coplanar Neighboring nodes Alternatively, the decoding side determines first context information corresponding to the i-th coordinate axis based on the plane identification information of P coplanar Neighboring nodes Alternatively, the decoding side determines first context information corresponding to the i-th coordinate axis based on the plane position information of P coplanar Neighboring nodes Based on the plane identification information and plane position information, a first context information corresponding to the ith coordinate axis is determined.

[0193] In the embodiment of the present application, the decoding side Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes There is no limitation on a specific method for determining the first context information corresponding to the ith coordinate axis based on the planar structure information.

[0194] In one possible embodiment, the decoding side receives P Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the first value corresponding to P Neighboring nodes The first context information corresponding to the i-th coordinate axis is obtained by weighting the first value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0195] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0196] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the decoding side Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The decryption side obtains the first value corresponding to the Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the decoding side obtains a first value corresponding to P coplanar Neighboring nodes The plane identification information is weighted after performing an AND operation on the first predetermined value corresponding to the i-th coordinate axis, and the first context information corresponding to the i-th coordinate axis is obtained. Alternatively, the decoding side performs an AND operation on the plane identification information on the P-th coplanar Neighboring nodes The decoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain the first context information corresponding to the i-th coordinate axis. Alternatively, the decoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain the first context information corresponding to the i-th coordinate axis. Neighboring nodes The plane identification information and plane position information are ANDed with a first predetermined value corresponding to the i-th coordinate axis, and then weighted to obtain first context information corresponding to the i-th coordinate axis.

[0197] In the embodiment of the present application, P Neighboring nodes There is no limitation on the specific method for weighting the first value corresponding to the i-th coordinate axis and acquiring the first context information corresponding to the i-th coordinate axis.

[0198] In some embodiments, P Neighboring nodes The weight of the first value corresponding to Neighboring nodes Each in Neighboring nodesBased on the weight of the first value corresponding to Neighboring nodes The first value corresponding to the i-th coordinate axis can be weighted to obtain the first context information corresponding to the i-th coordinate axis.

[0199] In some embodiments, the P Neighboring nodes and obtaining the first context information corresponding to the i-th coordinate axis by performing the following steps A1 and A2: Step A1: determining a number of left-shift bits corresponding to a first value, and determining a weight corresponding to the first value based on the number of left-shift bits; Step A2: based on the weight of the first value, P Neighboring nodes and weighting the first value corresponding to the i-th coordinate axis to obtain first context information corresponding to the i-th coordinate axis.

[0200] For example, if we have N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes The three coplanar surfaces in Figure 11 Neighboring nodes Assuming that these three coplanar surfaces Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, and coPlanarBelowPlaneMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, and coPlanarBelowPlanePos, respectively.

[0201] An AND operation is performed between coPlanarLeftPlaneMode and the first predetermined value to obtain a first value 1, an AND operation is performed between coPlanarFrontPlaneMode and the first predetermined value to obtain a first value 2, an AND operation is performed between coPlanarBelowPlaneMode and the first predetermined value to obtain a first value 3, an AND operation is performed between coPlanarLeftPlanePos and the first predetermined value to obtain a first value 4, an AND operation is performed between coPlanarFrontPlanePos and the first predetermined value to obtain a first value 5, and an AND operation is performed between coPlanarBelowPlanePos and the first predetermined value to obtain a first value 6. In this case, since the six first values ​​occupy a total of 6 bits, the number of left shift bits corresponding to the six first values ​​can be determined. Assume that the number of left shift bits corresponding to the first value 1 is 5, the number of left shift bits corresponding to the first value 2 is 4, the number of left shift bits corresponding to the first value 3 is 3, the number of left shift bits corresponding to the first value 4 is 2, the number of left shift bits corresponding to the first value 5 is 1, and the number of left shift bits corresponding to the first value 6 is 0.

[0202] In this way, the weight corresponding to each first value can be determined based on the number of left-shift bits corresponding to each first value. For example, if the number of left-shift bits corresponding to the first value is m, then 2 m is determined as the weight corresponding to the first value. In this way, the weight corresponding to the first value 1 is 2 5 , the weight corresponding to the first value 2 is 2 4 , the weight corresponding to the first value 3 is 2 3 , the weight corresponding to the first value 4 is 2 2 The weight corresponding to the first value 5 is 2 1 The weight corresponding to the first value 6 is 2 0 It can be determined that:

[0203] Furthermore, the first values ​​are weighted based on the weights of the first values ​​to obtain the first context information corresponding to the i-th coordinate axis. Note that weighting the first values ​​can be understood as concatenating the first values, i.e., arranging the first values ​​on corresponding bits to obtain the first context information corresponding to the i-th coordinate axis.

[0204] In one example, the decoding side has P coplanar Neighboring nodes When performing an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlaneMode& mask)<<2| !!(coPlanarFrontPlaneMode& mask)<<1| !!(coPlanarBelowPlaneMode & mask)

[0205] In one example, the decoding side has P coplanar Neighboring nodes When performing an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlanePos& mask)<<2 !!(coPlanarFrontPlanePos& mask)<<1| !!(coPlanarBelowPlanePos&mask)|

[0206] In one example, the decoding side has P coplanar Neighboring nodes When performing an AND operation on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting the results to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlanePos& mask)<<5 !!(coPlanarFrontPlanePos& mask)<<4| !!(coPlanarBelowPlanePos& mask)<<3| !!(coPlanarLeftPlaneMode& mask)<<2| !!(coPlanarFrontPlaneMode& mask)<<1| !!(coPlanarBelowPlaneMode & mask)

[0207] In the above example, the decryption side uses N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0208] In some embodiments, the decoding side may Neighboring nodes Among the nodes, those that are collinear with the current node Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0209] In some embodiments, the decoding side may Neighboring nodes Among the nodes that have a common point with the current node, Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0210] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes is coplanar and collinear with the current node. Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0211] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes that has a common plane and common point with the current node Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0212] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes is collinear and collinear with the current node. Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0213] In the above example, the decryption side uses N Neighboring nodes Some of Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0214] In method 2, the decoding side uses N Neighboring nodes Based on the first plane position information, first context information corresponding to the ith coordinate axis is determined.

[0215] Here, the first planar structure information is Neighboring nodes That is, the decoding side includes N plane identification information and / or plane position information. Neighboring nodes Alternatively, the decoding side determines first context information corresponding to the i-th coordinate axis based on the plane identification information of N Neighboring nodes Alternatively, the decoding side determines first context information corresponding to the i-th coordinate axis based on the plane position information of N Neighboring nodes Based on the plane position information and the plane identification information, first context information corresponding to the ith coordinate axis is determined.

[0216] In the embodiment of the present application, the decoding side has N Neighboring nodes There are no limitations on the specific method for determining the first context information corresponding to the i-th coordinate axis based on the first plane position information.

[0217] In one possible embodiment, the decoding side receives N Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the first plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the second value corresponding to N Neighboring nodes The first context information corresponding to the i-th coordinate axis is obtained by weighting the second value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0218] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0219] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the decoding side Neighboring nodes and performing an AND operation between the first plane structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The decryption side obtains the second value corresponding to N Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the decryption side obtains a first value corresponding to N Neighboring nodes The plane identification information and the first predetermined value corresponding to the i-th coordinate axis are ANDed, and then weighted to obtain the first context information corresponding to the i-th coordinate axis. Alternatively, the decoding side performs an AND operation on the N plane identification information and the first predetermined value corresponding to the i-th coordinate axis. Neighboring nodesThe decoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the information to obtain first context information corresponding to the i-th coordinate axis. Neighboring nodes The plane identification information and plane position information are ANDed with a first predetermined value corresponding to the i-th coordinate axis, and then weighted to obtain first context information corresponding to the i-th coordinate axis.

[0220] In the present embodiment, N Neighboring nodes There is no limitation on the specific method for weighting the second value corresponding to the i-th coordinate axis and acquiring the first context information corresponding to the i-th coordinate axis.

[0221] In some embodiments, N Neighboring nodes The weight of the second value corresponding to Neighboring nodes Each in Neighboring nodes Based on the weight of the second value corresponding to N Neighboring nodes The second value corresponding to the i-th coordinate axis can be weighted to obtain the first context information corresponding to the i-th coordinate axis.

[0222] In some embodiments, the N Neighboring nodes and obtaining the first context information corresponding to the i-th coordinate axis by performing the following steps B1 and B2: Step B1: determining a number of left-shift bits corresponding to a second value, and determining a weight corresponding to the second value based on the number of left-shift bits; Step B2: based on the weight of the second value, Neighboring nodes and weighting the second value corresponding to the i-th coordinate axis to obtain first context information corresponding to the i-th coordinate axis.

[0223] For example, if we have N Neighboring nodes are the three coplanar surfaces in Figure 11. Neighboring nodescoPlanarLeft, coPlanarFrontPlane, coPlanarBelow, three collinear Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one copoint Neighboring nodes Let's assume that these seven Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, coPlanarBelowPlaneMode, coEdgerLeftPlanarMode, coEdgerFrontPlanarMode, coEdgerBelowPlanarMode and coVertexPlanarMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, coPlanarBelowPlanePos, coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0224] For example, an AND operation is performed between coPlanarLeftPlaneMode and the first predetermined value to obtain a second value 1, an AND operation between coPlanarFrontPlaneMode and the first predetermined value to obtain a second value 2, an AND operation between coPlanarBelowPlaneMode and the first predetermined value to obtain a second value 3, an AND operation is performed between coEdgerLeftPlanarMode and the first predetermined value to obtain a second value 4, an AND operation is performed between coEdgerFrontPlanarMode and the first predetermined value to obtain a second value 5, an AND operation is performed between coEdgerBelowPlanarMode and the first predetermined value to obtain a second value 6, and an AND operation is performed between coVertexPlanarMode and the first predetermined value to obtain a second value 7. In this case, since the seven second values ​​occupy a total of 7 bits, the number of left shift bits corresponding to the seven second values ​​can be determined. Assume that the number of left shift bits corresponding to the second value 1 is 6, the number of left shift bits corresponding to the second value 2 is 5, the number of left shift bits corresponding to the second value 3 is 4, the number of left shift bits corresponding to the second value 4 is 3, the number of left shift bits corresponding to the second value 5 is 2, the number of left shift bits corresponding to the second value 6 is 1, and the number of left shift bits corresponding to the second value 7 is 0.

[0225] In this way, the weight corresponding to each second value can be determined based on the number of left-shift bits corresponding to each second value. For example, if the number of left-shift bits corresponding to the second value is m, then 2 m is determined as the weight corresponding to the second value. In this way, the weight corresponding to the second value 1 is 2 6 The weight corresponding to the second value 2 is 2 5 The weight corresponding to the second value 3 is 2 4 The weight corresponding to the second value 4 is 2 3 The weight corresponding to the second value 5 is 2 2 The weight corresponding to the second value 6 is 2 1 The weight corresponding to the second value 7 is 2 0 It can be determined that:

[0226] Furthermore, the second values ​​are weighted based on the weights of the second values ​​to obtain the first context information corresponding to the i-th coordinate axis. Note that weighting the second values ​​can be understood as concatenating the second values, i.e., arranging the second values ​​on corresponding bits to obtain the first context information corresponding to the i-th coordinate axis.

[0227] In one example, the decryption side is N Neighboring nodes When performing an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlanarMode & mask)<<6| !!(coPlanarFrontPlanarMode & mask)<<5| !!(coPlanarBelowPlanarMode & mask)<<4| !!(coEdgerLeftPlanarMode & mask)<<3| !!(coEdgerFrontPlanarMode & mask)<<2| !!(coEdgerBelowPlanarMode & mask)<<1| !!(coVertexPlanarMode & mask)

[0228] In one example, the decryption side is N Neighboring nodes When performing an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlanePos & mask)<<6| !!(coPlanar Front Plane Pos & mask)<<5| !!(coPlanarBelowPlanePos & mask)<<4| !!(coEdgerLeftPlanePos & mask)<<3| !!(coEdgerFrontPlanePos & mask)<<2| !!(coEdgerBelowPlanePos & mask)<<1| !!(coVertexPlanePos & mask)

[0229] In one example, the decryption side is N Neighboring nodes When performing an AND operation on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting the results to obtain the first context information corresponding to the i-th coordinate axis, the decoding side calculates the first context information Ctx1 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx1=!!(coPlanarLeftPlanarMode & mask)<<13| !!(coPlanarFrontPlanarMode & mask)<<12| !!(coPlanarBelowPlanarMode & mask)<<11| !!(coEdgerLeftPlanarMode & mask)<<10| !!(coEdgerFrontPlanarMode & mask)<<9| !!(coEdgerBelowPlanarMode & mask)<<8| !!(coVertexPlanarMode & mask)<<7| !!(coPlanarLeftPlanePos & mask)<<6| !!(coPlanar Front Plane Pos & mask)<<5| !!(coPlanarBelowPlanePos & mask)<<4| !!(coEdgerLeftPlanePos & mask)<<3| !!(coEdgerFrontPlanePos & mask)<<2| !!(coEdgerBelowPlanePos & mask)<<1| !!(coVertexPlanePos & mask)

[0230] In the above example, the decryption side has N Neighboring nodes The specific process of determining the first context information corresponding to the i-th coordinate axis based on the plane structure information of the above has been described. Note that the decoding side may determine the first context information corresponding to the i-th coordinate axis by other methods in addition to determining the first context information corresponding to the i-th coordinate axis based on the above methods.

[0231] In the following, in S102-B1, N Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information will be described.

[0232] In the embodiment of the present application, the decoding side has N Neighboring nodes Specific ways of determining the second context information corresponding to the i-th coordinate axis based on the planar structure information include, but are not limited to, the following ways:

[0233] In method 1, the decoding side uses N Neighboring nodes Some of Neighboring nodes Based on the planar structure information, second context information corresponding to the ith coordinate axis is determined.

[0234] For example, the decryption side has N Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodesBased on the planar structure information of the i-th coordinate axis, determine second context information corresponding to the i-th coordinate axis, where Q is a positive integer.

[0235] Here, Q Neighboring nodes The planar structural information of Q Neighboring nodes The plane identification information and / or plane position information are included. Q Individual coplanar surfaces Neighboring nodes Alternatively, the decoding side determines second context information corresponding to the ith coordinate axis based on the plane identification information of Q Neighboring nodes Alternatively, the decoding side determines second context information corresponding to the i-th coordinate axis based on the plane position information of Q Neighboring nodes Based on the plane identification information and plane position information, second context information corresponding to the ith coordinate axis is determined.

[0236] In the embodiment of the present application, the decoding side Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodes There is no limitation on a specific method for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information.

[0237] In one possible embodiment, the decoding side receives Q Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and obtaining a first value corresponding to Q pieces Neighboring nodes The second context information corresponding to the i-th coordinate axis is obtained by weighting the first value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0238] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0239] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the decoding side Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The decryption side obtains the first value corresponding to the Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the decoding side obtains a first value corresponding to Q Neighboring nodes The decoding side performs an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the plane identification information to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes The decoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the information to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information corresponding to the i-th coordinate axis.

[0240] In the present embodiment, Q Neighboring nodes There is no limitation on the specific method for weighting the first value corresponding to the i-th coordinate axis and obtaining the second context information corresponding to the i-th coordinate axis.

[0241] In some embodiments, Q Neighboring nodes The weight of the first value corresponding to Neighboring nodes Each in Neighboring nodes Based on the weight of the first value corresponding to Neighboring nodes The first value corresponding to the i-th coordinate axis can be weighted to obtain the second context information corresponding to the i-th coordinate axis.

[0242] In some embodiments, the Q Neighboring nodes and obtaining the second context information corresponding to the i-th coordinate axis by the following steps C1 and C2: Step C1: determining a number of left-shift bits corresponding to a first value, and determining a weight corresponding to the first value based on the number of left-shift bits; Step C2: based on the weights of the first values, Neighboring nodes and weighting the first value corresponding to the i-th coordinate axis to obtain second context information corresponding to the i-th coordinate axis.

[0243] For example, if we have N Neighboring nodes Q nodes that are collinear or collinear with the current node Neighboring nodes are the three collinear lines in Fig. 11. Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one edge that has a common point with the current node Neighboring nodes Let's assume that these four Neighboring nodes The plane identification information is written as coEdgerLeftPlaneMode, coEdgerFrontPlaneMode, coEdgerBelowPlaneMode, and coVertexPlaneMode, respectively. Neighboring nodes The plane position information is written as coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0244] For example, an AND operation is performed between coEdgerLeftPlaneMode and the first predetermined value to obtain a first value 1, an AND operation between coEdgerFrontPlaneMode and the first predetermined value to obtain a first value 2, an AND operation between coEdgerBelowPlaneMode and the first predetermined value to obtain a first value 3, an AND operation is performed between coVertexPlaneMode and the first predetermined value to obtain a first value 4, an AND operation is performed between coEdgerLeftPlanePos and the first predetermined value to obtain a first value 5, an AND operation is performed between coEdgerFrontPlanePos and the first predetermined value to obtain a first value 6, an AND operation is performed between coEdgerBelowPlanePos and the first predetermined value to obtain a first value 7, and an AND operation is performed between coVertexPlanePos and the first predetermined value to obtain a first value 8. In this case, since the eight first values ​​occupy a total of 8 bits, the number of left shift bits corresponding to the eight first values ​​can be determined. Assume that the number of left shift bits corresponding to the first value 1 is 7, the number of left shift bits corresponding to the first value 2 is 6, the number of left shift bits corresponding to the first value 3 is 5, the number of left shift bits corresponding to the first value 4 is 4, the number of left shift bits corresponding to the first value 5 is 3, the number of left shift bits corresponding to the first value 6 is 2, the number of left shift bits corresponding to the first value 7 is 1, and the number of left shift bits corresponding to the first value 8 is 0.

[0245] In this way, the weight corresponding to each first value can be determined based on the number of left-shift bits corresponding to each first value. For example, if the number of left-shift bits corresponding to the first value is m, then 2 m is determined as the weight corresponding to the first value. In this way, the weight corresponding to the first value 1 is 2 7 , the weight corresponding to the first value 2 is 2 6 , the weight corresponding to the first value 3 is 2 5 , the weight corresponding to the first value 4 is 2 4 The weight corresponding to the first value 5 is 2 3 The weight corresponding to the first value 6 is 2 2 , the weight corresponding to the first value 7 is 2 1The weight corresponding to the first value 8 is 2 0 It can be determined that:

[0246] Furthermore, the first values ​​are weighted based on the weights of the first values ​​to obtain the second context information corresponding to the i-th coordinate axis. Note that weighting the first values ​​can be understood as concatenating the first values, i.e., arranging the first values ​​on corresponding bits to obtain the second context information corresponding to the i-th coordinate axis.

[0247] In one example, the decoding side has Q Neighboring nodes When performing an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coEdgerFrontPlaneMode & mask)<<3| !!(coEdgerFrontPlaneMode & mask)<<2| !!(coEdgerBelowPlaneMode & mask)<<1| !!(coVertexPlaneMode & mask)

[0248] In one example, the decoding side has Q Neighboring nodes When performing an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coEdgerFrontPlanePos & mask)<<3| !!(coEdgerFrontPlanePos & mask)<<2| !!(coEdgerBelowPlanePos& mask)<<1| !!(coVertexPlanePos& mask)

[0249] In one example, the decoding side has Q Neighboring nodes When performing an AND operation on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting the AND operation to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coEdgerLeftPlanePos & mask)<<7| !!(coEdgerFrontPlanePos & mask)<<6| !!(coEdgerBelowPlanePos & mask)<<5| !!(coVertexPlanePos& mask)<<4| !!(coEdgerFrontPlaneMode & mask)<<3| !!(coEdgerFrontPlaneMode & mask)<<2| !!(coEdgerBelowPlaneMode & mask)<<1| !!(coVertexPlaneMode& mask)

[0250] In the above example, the decryption side uses N Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0251] In some embodiments, the decoding side may Neighboring nodesAt least one of the nodes is collinear with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0252] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes that has a common point with the current node Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0253] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes is coplanar with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0254] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes is coplanar and collinear with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0255] In some embodiments, the decoding side may Neighboring nodes At least one of the nodes that has a common plane and common point with the current node Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0256] In the above example, the decryption side uses N Neighboring nodes Some of Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0257] In method 2, the decoding side uses N Neighboring nodes Based on the second plane position information, second context information corresponding to the ith coordinate axis is determined.

[0258] Here, the second planar structure information is Neighboring nodes That is, the decoding side includes N plane identification information and / or plane position information. Neighboring nodes Alternatively, the decoding side determines second context information corresponding to the i-th coordinate axis based on the plane identification information of N Neighboring nodes Alternatively, the decoding side determines second context information corresponding to the i-th coordinate axis based on the plane position information of N Neighboring nodes Based on the plane position information and the plane identification information, second context information corresponding to the ith coordinate axis is determined.

[0259] In the embodiment of the present application, the decoding side has N Neighboring nodes No. 2 There is no limitation on a specific method for determining the second context information corresponding to the i-th coordinate axis based on the planar position information.

[0260] In one possible embodiment, the decoding side receives N Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation between the second plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the third value corresponding to N Neighboring nodes The second context information corresponding to the i-th coordinate axis is obtained by weighting the third value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0261] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0262] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the decoding side Neighboring nodes and performing an AND operation between the second plane structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The decryption side obtains the third value corresponding to N Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the decryption side obtains a third value corresponding to N Neighboring nodes The plane identification information and the first predetermined value corresponding to the i-th coordinate axis are ANDed, and then weighted to obtain second context information corresponding to the i-th coordinate axis. Alternatively, the decoding side performs an AND operation on the N plane identification information and the first predetermined value corresponding to the i-th coordinate axis, and then weights the second context information corresponding to the i-th coordinate axis. Neighboring nodes The decoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information corresponding to the i-th coordinate axis.

[0263] In the present embodiment, N Neighboring nodes There is no limitation on the specific method for weighting the third value corresponding to the i-th coordinate axis and acquiring the second context information corresponding to the i-th coordinate axis.

[0264] In some embodiments, N Neighboring nodes The weight of the third value corresponding to Neighboring nodes Each in Neighboring nodes Based on the weight of the third value corresponding to N Neighboring nodes The third value corresponding to the i-th coordinate axis can be weighted to obtain the second context information corresponding to the i-th coordinate axis.

[0265] In some embodiments, the N Neighboring nodes and obtaining the second context information corresponding to the i-th coordinate axis by the following steps D1 and D2: Step D1: determining a number of left-shift bits corresponding to a third value, and determining a weight corresponding to the third value based on the number of left-shift bits; Step D2: based on the weight of the third value, Neighboring nodes and weighting the third value corresponding to the i-th coordinate axis to obtain second context information corresponding to the i-th coordinate axis.

[0266] For example, if we have N Neighboring nodes are the three coplanar surfaces in Figure 11. Neighboring nodes coPlanarLeft, coPlanarFrontPlane, coPlanarBelow, three collinear Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one copoint Neighboring nodes Let's assume that these seven Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, coPlanarBelowPlaneMode, coEdgerLeftPlanarMode, coEdgerFrontPlanarMode, coEdgerBelowPlanarMode and coVertexPlanarMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, coPlanarBelowPlanePos, coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0267] For example, an AND operation is performed between coPlanarLeftPlaneMode and the first predetermined value to obtain third value 1, an AND operation between coPlanarFrontPlaneMode and the first predetermined value to obtain third value 2, an AND operation between coPlanarBelowPlaneMode and the first predetermined value to obtain third value 3, an AND operation between coEdgerLeftPlanarMode and the first predetermined value to obtain third value 4, an AND operation between coEdgerFrontPlanarMode and the first predetermined value to obtain third value 5, an AND operation between coEdgerBelowPlanarMode and the first predetermined value to obtain third value 6, and an AND operation between coVertexPlanarMode and the first predetermined value to obtain third value 7. In this case, since the seven third values ​​occupy a total of 7 bits, the number of left shift bits corresponding to the seven third values ​​can be determined. Assume that the number of left shift bits corresponding to the third value 1 is 6, the number of left shift bits corresponding to the third value 2 is 5, the number of left shift bits corresponding to the third value 3 is 4, the number of left shift bits corresponding to the third value 4 is 3, the number of left shift bits corresponding to the third value 5 is 2, the number of left shift bits corresponding to the third value 6 is 1, and the number of left shift bits corresponding to the third value 7 is 0.

[0268] In this way, the weight corresponding to each third value can be determined based on the number of left-shift bits corresponding to each third value. For example, if the number of left-shift bits corresponding to the third value is m, then 2 m is determined as the weight corresponding to the third value. In this way, the weight corresponding to the third value 1 is 2 6 The weight corresponding to the third value 2 is 2 5 The weight corresponding to the third value 3 is 2 4 The weight corresponding to the third value 4 is 2 3 , the weight corresponding to the third value 5 is 2 2 The weight corresponding to the third value 6 is 2 1 , the weight corresponding to the third value 7 is 2 0 It can be determined that:

[0269] Furthermore, the third values ​​are weighted based on the weights of the third values ​​to obtain the second context information corresponding to the i-th coordinate axis. Note that weighting the third values ​​can be understood as concatenating the third values, i.e., arranging the third values ​​on corresponding bits to obtain the second context information corresponding to the i-th coordinate axis.

[0270] In one example, the decryption side is N Neighboring nodes When performing an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coPlanarLeftPlanarMode & mask)<<6| !!(coPlanarFrontPlanarMode & mask)<<5| !!(coPlanarBelowPlanarMode & mask)<<4| !!(coEdgerLeftPlanarMode & mask)<<3| !!(coEdgerFrontPlanarMode & mask)<<2| !!(coEdgerBelowPlanarMode & mask)<<1| !!(coVertexPlanarMode & mask)

[0271] In one example, the decryption side is N Neighboring nodes When performing an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis and then weighting the result to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coPlanarLeftPlanePos & mask)<<6| !!(coPlanar Front Plane Pos & mask)<<5| !!(coPlanarBelowPlanePos & mask)<<4| !!(coEdgerLeftPlanePos & mask)<<3| !!(coEdgerFrontPlanePos & mask)<<2| !!(coEdgerBelowPlanePos & mask)<<1| !!(coVertexPlanePos & mask)

[0272] In one example, the decryption side is N Neighboring nodes When performing an AND operation on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting the AND operation to obtain second context information corresponding to the i-th coordinate axis, the decoding side calculates the second context information Ctx2 using the method shown in the following code: Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z)) Ctx2=!!(coPlanarLeftPlanarMode & mask)<<13| !!(coPlanarFrontPlanarMode & mask)<<12| !!(coPlanarBelowPlanarMode & mask)<<11| !!(coEdgerLeftPlanarMode & mask)<<10| !!(coEdgerFrontPlanarMode & mask)<<9| !!(coEdgerBelowPlanarMode & mask)<<8| !!(coVertexPlanarMode & mask)<<7| !!(coPlanarLeftPlanePos & mask)<<6| !!(coPlanar Front Plane Pos & mask)<<5| !!(coPlanarBelowPlanePos & mask)<<4| !!(coEdgerLeftPlanePos & mask)<<3| !!(coEdgerFrontPlanePos & mask)<<2| !!(coEdgerBelowPlanePos & mask)<<1| !!(coVertexPlanePos & mask)

[0273] In the above example, the decryption side has N Neighboring nodes The specific process of determining the second context information corresponding to the i-th coordinate axis based on the plane structure information of the above has been described. Note that the decoding side may determine the second context information corresponding to the i-th coordinate axis by other methods in addition to determining the second context information corresponding to the i-th coordinate axis based on the above methods.

[0274] It should be noted that the first context information and the second context information corresponding to the i-th coordinate axis obtained by the decoding side are different, i.e., the method used by the decoding side to determine the first context information corresponding to the i-th coordinate axis is different from the method used by the decoding side to determine the second context information corresponding to the i-th coordinate axis, and further, the first context information and the second context information obtained are different.

[0275] The decoding side generates N pieces of data using the above method. Neighboring nodes After determining the first context information and / or the second context information corresponding to the i-th coordinate axis based on the planar structure information, the step S102-B2 is performed to predictively decode the planar position information of the current node on the i-th coordinate axis based on the first context information and / or the second context information corresponding to the i-th coordinate axis.

[0276] In the embodiments of the present application, in S102-B2, the specific method for predictively decoding the planar position information of the current node on the i-th coordinate axis based on the first context information and / or second context information corresponding to the i-th coordinate axis is not limited.

[0277] In some embodiments, the decoding side predictively decodes the planar position information of the current node on the i-th coordinate axis based only on the first context information and / or the second context information corresponding to the i-th coordinate axis. For example, the decoding side determines a context model index based on the first context information and / or the second context information corresponding to the i-th coordinate axis, selects one context model from a plurality of preset context models based on the context model index, and predictively decodes the planar position information of the current node on the i-th coordinate axis using the context model.

[0278] In some embodiments, the above S102-B2 includes the following step S102-B21.

[0279] In S102-B21, the planar position information of the current node on the i-th coordinate axis is predictively decoded based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information.

[0280] In this embodiment, when the decoding side predictively decodes the planar position information of the current node on the i-th coordinate axis, the context information to be referenced includes the first context information and / or the second context information corresponding to the i-th coordinate axis, as well as other pre-set context information.

[0281] In the embodiment of the present application, the specific content of the preset context information is not limited, and can be specifically determined according to actual needs.

[0282] In one possible embodiment, the pre-defined context information is: 1. Plane position information of the current node, which is obtained by making predictions using the placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; 2. The spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; 3. Information when the plane position of the node at the same division depth and the same coordinates as the current node is a plane; and 4, coordinate dimension (i=0, 1, 2), and includes at least one of the four pieces of context information.

[0283] In this embodiment, when the decoding side predictively decodes the planar position information of the current node on the i-th coordinate axis, N Neighboring nodes Based on the planar structure information, the first context information and / or second context information corresponding to the i-th coordinate axis is determined, and further, based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information, the planar position information of the current node on the i-th coordinate axis is predictively decoded. As can be seen from this, in the embodiment of the present application, when the decoding side predictively decodes the planar position information of the current node, not only the preset prior information (i.e., the preset context information) but also Neighboring nodes The planar structure information (i.e., the first context information and / or the second context information) of the current node is also taken into consideration, and the prediction decoding effect of the planar position information of the current node is further improved, thereby improving the decoding efficiency of the point cloud.

[0284] In the embodiments of the present application, the specific process by which the decoding side predictively decodes the planar position information of the current node on the i-th coordinate axis based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information is not limited.

[0285] In some embodiments, the above S102-B21 may be replaced by the following steps S102-B211 and S102-B212: S102-B211, determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information; S102-B212, and includes a step of predictively decoding planar position information of the current node on the i-th coordinate axis based on the target context model.

[0286] In this embodiment, the decoding side determines a context model based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information. For convenience of explanation, this context model is referred to as a target context model. Then, the decoding side predictively decodes the planar position information of the current node on the i-th coordinate axis using this target context model.

[0287] The following describes a specific process in which the decoding side determines a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information.

[0288] In some embodiments, the decoding side determines an index of a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information, further selects a target context model from a plurality of preset context models based on the index of the target context model, and further predictively decodes the planar position information of the current node on the i-th coordinate axis using the target context model.

[0289] In this embodiment, multiple context models are set for planar position information, and in this embodiment, the specific number of context models corresponding to planar position information is not limited as long as it is guaranteed to be greater than 1. That is, in this embodiment, one optimal context model is selected from at least two context models, and the planar position information of the current node on the i-th coordinate axis is predictively decoded.

[0290] JPEG2026503046000065.jpg48162

[0291] In this way, the decoding side determines the index of the target context model based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information, then selects a target context model from the context models corresponding to Table 2 based on the target context model index, and predictively decodes the planar position information of the current node on the i-th coordinate axis.

[0292] In some embodiments, the above S102-B211 may be replaced by the following steps S102-B2111 and S102-B2112: S102-B2111, dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and preset context information into main information and sub information; S102-B2112, including determining a target context model based on the primary information of the current node and some or all of the secondary information of the current node.

[0293] As can be seen from the above, assuming that the context information of the planar position information includes the first context information and the second context information corresponding to the i-th coordinate axis, and the above-mentioned four preset context information, the final planar position context is 1. Plane position information of the current node, which is obtained by making predictions using the placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; 2. The spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; 3. Information when the plane position of the node at the same division depth and the same coordinates as the current node is a plane; 4. Coordinate dimension (i=0,1,2), 5. Ctx1: Planar structure information of three coplanar neighboring nodes, and 6. Ctx2: Planar structure information of three collinear neighboring nodes and one collinear neighboring node, and so on.

[0294] The decryption side uses N Neighboring nodes Among them, three nodes that are coplanar with the current node Neighboring nodes Assuming that the first context information corresponding to the i-th coordinate axis is determined based on the plane identification information and plane position information, it can be obtained that Ctx1 includes 26 = 64 contexts. Neighboring nodes Among them, three nodes that are collinear with the current node Neighboring nodes and one with a common point Neighboring nodes Assuming that the second context information corresponding to the i-th coordinate axis is determined based on the plane identification information and plane position information, it can be obtained that Ctx2 includes 28 = 256 contexts. Thus, the decoding side can obtain 3 × 2 × 2 × 3 × 64 × 256 = 589,824 contexts based on the first context information and second context information corresponding to the i-th coordinate axis and the four preset context information. The memory space occupied by such a large number of contexts is extremely large. Based on this, in an embodiment of the present application, when predictively decoding the planar position information of a node, Dynamic-OUBF, the first encoding technique of G-PCC, is added to the algorithm to reduce the number of contexts used to decode the planar position information, for example, to 3 × 16 = 48.

[0295] Specifically, in the embodiment of the present application, as shown in Fig. 12, the decoding side divides the first context information and / or second context information corresponding to the i-th coordinate axis determined above and the preset context information into main information and sub information, and further determines a target context model based on the main information of the current node and some or all of the sub information of the current node. Note that in the embodiment of the present application, by determining the target context model mainly based on the main information of the current node and some of the sub information and further reducing the number of contexts, not only can the memory occupation amount due to contexts be reduced, but also the predictive decoding efficiency of the planar position information of the node can be improved.

[0296] In the embodiments of the present application, the specific method for dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information into main information and sub information is not limited.

[0297] In one example, the decoding side divides the information into main information, which includes first context information corresponding to the i-th coordinate axis, the spatial distances "near" and "far" between the current node and a node at the same division depth and coordinate as the current node, and information on the planar position of a node at the same division depth and coordinate as the current node when the node is a plane, and the information into sub information, which is obtained by predicting using second context information corresponding to the i-th coordinate axis and placeholder information of neighboring nodes, and which includes three elements of the planar position information of the current node: one predicted as a low plane, one predicted as a high plane, and one that is unpredictable.The coordinate dimension (i = 0, 1, 2) is used as its index, and the information is not divided into main information and sub information.

[0298] In another example, the decoding side can divide the first context information and the second context information corresponding to the i-th coordinate axis into the main information of the current node, and divide at least one of the above-mentioned four preset context information into the sub-information of the current node.

[0299] In another example, the decoding side can divide the second context information corresponding to the i-th coordinate axis into the main information of the current node, and divide the first context information corresponding to the i-th coordinate axis into the sub information of the current node. Optionally, based on this, at least one of the four preset context information can be divided into the main information of the current node, and the remaining preset context information can be divided into the sub information of the current node.

[0300] In another example, the decoding side further divides the first context information and the second context information corresponding to the i-th coordinate axis into sub-information of the current node, and divides at least one of the four preset context information into sub-information of the current node. main The information can be divided into

[0301] The method by which the decoding side divides the first context information and / or the second context information and the preset context information corresponding to the i-th coordinate axis into main information and sub information includes, but is not limited to, the method described above. The decoding side may adopt other methods to divide the first context information and / or the second context information and the preset context information corresponding to the i-th coordinate axis into main information and sub information.

[0302] Based on the above steps, the decoding side divides the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information into main information and sub information, and then performs the above steps S102-B2112 to determine a target context model based on the main information of the current node and part or all of the sub information of the current node.

[0303] In the embodiment of the present application, there is no limitation on the specific method by which the decoding side determines the target context model based on the main information of the current node and part or all of the side information of the current node.

[0304] In some embodiments, the decoding side determines an index based on the main information of the current node and some of the sub-information of the current node, determines an index of a target context model based on the index, and further determines a target context model from among a plurality of pre-set context models based on the index of the target context model.

[0305] In some embodiments, the above S102-B2112 may be implemented by the following steps S102-B21121 to S102-B21124: S102-B21121, converting the main information of the current node and the side information of the current node into a binary representation; S102-B21122, determining the number of right shift bits of the sub information corresponding to the current node, selecting first sub information from the binary-represented sub information of the current node according to the number of right shift bits of the sub information corresponding to the current node, and selecting an initial number of right shift bits of the sub information Binary representation of side information and a step, which is the total number of bits of S102-B21123, determining a first index according to the main information and first sub information after binary representation of the current node, and obtaining an index of a target context model from a preset context model index cache according to the first index; S102-B21124, including the step of obtaining the target context model based on the index of the target context model.

[0306] In this embodiment, the decoding side divides the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information into main information and sub information based on the above steps, and then converts the main information and sub information of the current node obtained by the division into a binary representation.

[0307] For example, referring to the above example, it is assumed that the decoding side divides the main information into the first context information corresponding to the i-th coordinate axis, the spatial distances "near" and "far" between the current node and a node at the same division depth and coordinates as the current node, and information on the case where the planar position of the node at the same division depth and coordinates as the current node is a plane. It is assumed that the first context information Ctx1 corresponding to the i-th coordinate axis includes 26 = 64 contexts, and requires 6 bits for representation when converted to binary representation. The spatial distances "near" and "far" between the current node and a node at the same division depth and coordinates as the current node include two contexts, and require 1 bit for representation when converted to binary representation. The planar position of the node at the same division depth and coordinates as the current node includes two contexts, and requires 1 bit for representation when converted to binary representation. Therefore, in this example, when the main information of the current node is converted to binary representation, 6 + 1 + 1 = 8 bits are required for representation.

[0308] Similarly, the decoding side performs prediction using the second context information corresponding to the i-th coordinate axis and the placeholder information of the neighboring nodes, and divides the planar position information of the current node into three elements: those predicted as low planes, those predicted as high planes, and unpredictable, as side information. Assume that the second context information Ctx2 corresponding to the i-th coordinate axis includes 28 = 256 contexts, and requires 8 bits for representation when converted to binary representation. Context information: Prediction is performed using the placeholder information of the neighboring nodes, and the planar position information of the current node is obtained into three elements: those predicted as low planes, those predicted as high planes, and unpredictable, and requires 2 bits for representation when converted to binary representation. Therefore, in this example, when the side information of the current node is converted to binary representation, 8 + 2 = 10 bits are required for representation.

[0309] The above describes an example of a specific process for converting the main information and sub information of the current node into a binary representation. The method for dividing the main information and sub information of the current node includes, but is not limited to, the above example. If the main information and sub information of the current node also contain other context information, the method shown in the above example can be used to convert the main information and sub information of the current node into a binary representation.

[0310] The decoding side converts the main information and sub-information of the current node into a binary representation, determines the number of right-shift bits of the sub-information corresponding to the current node, and then selects a first sub-information from the binary-represented sub-information of the current node based on the number of right-shift bits of the sub-information. In the embodiment of the present application, the number of right-shift bits of the sub-information corresponding to the current node can be understood as being used to select which sub-information from the sub-information of the current node to predictively decode the planar position information of the current node.

[0311] The following describes determining the number of right-shift bits of the sub-information corresponding to the current node.

[0312] In the embodiment of the present application, the specific method for determining the number of right-shift bits of the sub-information corresponding to the current node is not limited.

[0313] In some embodiments, the number of right shift bits of the side information corresponding to the current node is a predetermined value. For example, for nodes in a point cloud octree, a predetermined number of nodes correspond to the number of right shift bits of one piece of side information, so that the number of right shift bits of the side information corresponding to the current node can be determined. Illustratively, the closer a node is to the root node of the octree, the larger the number of right shift bits of the corresponding side information. Optionally, the initial value of the number of right shift bits of the side information is Binary representation of side information For example, if the current node is the root node of the octree, the number of right-shift bits of the sub-information corresponding to the current node is 10 bits as described above.

[0314] In some embodiments, determining the right shift bit number of the side information corresponding to the current node in the above S102-B21122 may include the following steps S102-B211221 and S102-B211222: S102-B211221, a step of determining the number of right-shift bits of sub-information corresponding to the last layer of the current sub-information partitioning tree, the sub-information partitioning tree being obtained by binary tree partitioning of the sub-information starting from the most significant bit of the sub-information; S102-B211222, and determining the number of right shift bits of the sub information corresponding to the last layer as the number of right shift bits of the sub information corresponding to the current node.

[0315] The following describes the process of splitting the sub-information.

[0316] Specifically, when the decoding side decodes the current point cloud, assuming that the integerization of the main information is denoted as ct1 and the integerization of the sub information is denoted as ct2 during the entire Dynamic-OUBF initialization process, the decoding side initializes the context model index cache ContextBuffer, with the size of ct1 x ct2. For example, referring to the above example, assuming that the main information includes 8 bits and the sub information includes 10 bits, a context model index cache ContextBuffer with a size of 8 x 10 can be determined, and this context model index cache ContextBuffer stores 8 x 10 context model indexes. In addition, the initial context probability of each state is set to 127 (i.e., 0.5).

[0317] In some embodiments, the process of restoring the accuracy of the side information is shown in FIG.

[0318] First, the entire context of the sub-information is expressed in a binary format, and then the sub-information is divided into binary trees starting from the most significant bit. As shown in Figure 13, above a certain level, the binary tree is incomplete, i.e., the sub-information is divided according to its own condition, but below MinDepth (currently set to 3), the accuracy of the sub-information is fully restored. The division of the sub-information is described in detail below.

[0319] JPEG2026503046000066.jpg16166

[0320] In addition, one KDown is initialized to represent the precision (i.e., the number of right shift bits) of the side information corresponding to each first index (state), and the initial value of the number of right shift bits of the side information is Binary representation of side information For example, if the sub information is 10 bits, the initial value of the number of right-shift bits of the sub information is 10 bits.

[0321] Furthermore, a CountTimeTh table is initialized to control the maximum number of occurrences of the first index (state) at each level of the sub-information partitioning tree. When the number of occurrences of a certain first index (state) exceeds the limit for that level, the lower-order bit precision of the sub-information is restored, the number of occurrences of the current first index (state) is reset to zero, and the context probability of the new first index (state) obtained by the restoration inherits the probability of its parent node.

[0322] Specifically, as shown in FIG. 13, when predictively decoding the planar position information of a first node 1 in a point cloud, first, based on the above steps, the first context information and / or second context information corresponding to node 1 is determined, and the first context information and / or second context information corresponding to node 1 and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, KDown obtains the number of right-shift bits of the sub information corresponding to node 1. Because node 1 is the first point in the point cloud, the number of right-shift bits of the sub information corresponding to node 1 is the initial value of the number of right-shift bits of the sub information, for example, 10 bits. In this way, when the decoding side determines that the number of right-shift bits of the sub information corresponding to node 1 is 10 bits, it shifts the sub information of node 1 by 10 bits to the right. Because the sub information of node 1 has a total of 10 bits, after the right shift, the first sub information of node 1 becomes 0 bits. Next, the decoding side determines a first index 1 based on the binary-represented main information and first sub information of node 1, obtains an index of a target context model corresponding to node 1 from a context model index cache ContextBuffer based on this first index 1, obtains a target context model corresponding to node 1 based on the index of the target context model corresponding to node 1, and predictively decodes planar position information of node 1 on the i-th coordinate axis using the target context model corresponding to this node. At the same time, the decoding side adds 1 to the number of occurrences of first index 1 in countBuffer and compares the number of occurrences of first index 1 in countBuffer with a first predetermined threshold corresponding to the first layer of the partition tree of the sub information stored in CountTimeTh. If the number of occurrences of first index 1 in countBuffer is smaller than the first predetermined threshold corresponding to the first layer of the partition tree of the sub information stored in CountTimeTh, the partition tree of the sub information is not partitioned.

[0323] Next, when predictively decoding the planar position information of node 2 in the point cloud, first, the first context information and / or second context information corresponding to node 2 is determined based on the above steps, and the first context information and / or second context information corresponding to node 2 and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, KDown obtains the number of right-shift bits for the sub information corresponding to node 2. Since the sub information partitioning tree is not divided, the number of right-shift bits for the sub information corresponding to node 2 is the same as the number of right-shift bits for the sub information corresponding to node 1, and is the initial value of the number of right-shift bits for the sub information, for example, 10 bits. In this way, when the number of right-shift bits for the sub information corresponding to node 2 is 10 bits, the decoding side shifts the sub information of node 2 by 10 bits to the right. Since the sub information of node 2 has a total of 10 bits, after the right shift, the first sub information of node 2 becomes 0 bits. Next, the decoding side determines a first index 2 based on the binary-represented main information and first sub information of node 2, obtains an index of a target context model corresponding to node 2 from the context model index cache ContextBuffer based on this first index 2, obtains a target context model corresponding to node 2 based on the index of the target context model corresponding to node 2, and predictively decodes planar position information of node 2 on the i-th coordinate axis using the target context model corresponding to this node. At the same time, the decoding side adds 1 to the number of occurrences of the first index 2 in the countBuffer and compares the number of occurrences of the first index 2 in the countBuffer with a first predetermined threshold corresponding to the first layer of the sub information partition tree stored in CountTimeTh. If the number of occurrences of the first index 2 in the countBuffer is smaller than the first predetermined threshold corresponding to the first layer of the sub information partition tree stored in CountTimeTh, the sub information partition tree is not partitioned.

[0324] Assuming that the first index 1 is the same as the first index 2 and the first predetermined threshold corresponding to the first layer of the sub-information partitioning tree stored in CountTimeTh is 2, it can be determined that the number of times the first index 1 appears in countBuffer is equal to the first predetermined threshold corresponding to the first layer of the sub-information partitioning tree stored in CountTimeTh. At this time, the sub-information partitioning tree is partitioned, specifically, a non-complete binary tree partition is performed on the first layer of the sub-information partitioning tree to obtain a new sub-information partitioning tree.

[0325] At the same time, the number of right shift bits of the sub-information in KDown is updated to obtain the number of right shift bits of the sub-information corresponding to the second layer of the sub-information partitioning tree. For example, the number of right shift bits of the sub-information corresponding to the second layer is obtained by subtracting 1 from the number of right shift bits of the sub-information corresponding to the first layer, i.e., 10 bits - 1 bit = 9 bits.

[0326] Furthermore, set countBuffer to 0.

[0327] Referring to the above steps, the precision of the side information is gradually restored, and the partitioning tree of the side information shown in FIG. 13 is obtained.

[0328] In this way, when predictively decoding the planar position information on the i-th coordinate axis of the current node in the point cloud, the first context information and / or the second context information corresponding to the current node is determined based on the above steps, and the first context information and / or the second context information corresponding to the current node and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information is determined. As can be seen from the above, KDown stores the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information (i.e., the current layer obtained by the most recent partitioning). Therefore, the decoding side can obtain the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information from KDown, and further determine the number of right shift bits of the sub information corresponding to this last layer as the number of right shift bits of the sub information corresponding to the current node.

[0329] Next, the decoding side selects a first piece of sub information from the binary-represented sub information of the current node based on the number of right-shift bits of the sub information corresponding to the current node.

[0330] For example, if the number of right-shift bits of the sub-information corresponding to the current node is n bits, the decoding side can right-shift the binary-represented sub-information of the current node by n+1 bits or n-1 bits to obtain the first sub-information.

[0331] For example, the binary-expressed sub-information of the current node is right-shifted by the number of right-shift bits of the sub-information corresponding to the current node to obtain the first sub-information. Assuming that the number of right-shift bits of the sub-information corresponding to the current node is n bits, the binary-expressed sub-information of the current node is right-shifted by n bits to obtain the first sub-information.

[0332] Next, the decoding side determines a first index based on the binary-represented main information and the first sub-information of the current node.

[0333] The embodiment of the present application does not limit the specific manner in which the decoding side determines the first index based on the binary-represented main information and first sub information of the current node.

[0334] JPEG2026503046000067.jpg50168

[0335] The decoding side obtains a first index corresponding to the current node based on the above formula (12), then obtains a context model index corresponding to the first index from a predetermined context model index cache, and further records the context model index as an index of a target context model. In this way, the decoding side selects a target context model from a predetermined plurality of context models based on the target context model index, and further predictively decodes planar position information of the current node on the i-th coordinate axis using the target context model.

[0336] In some embodiments, after determining the index of the target context model based on the above steps, the decoding side updates the index of the target context model in the context model index cache to increase the probability of the index of the target context model.

[0337] In the embodiment of the present application, the decoding side, in addition to determining the target context model based on the above steps, also includes the steps of updating data and splitting the split tree of the side information.

[0338] The embodiments of the present application do not limit the specific division method of the sub-information division tree.

[0339] In one example, each level of the sub-information division tree performs division of a non-complete binary tree.

[0340] In another example, each level of the sub-information division tree is a complete binary tree division.

[0341] In another example, some layers of the sub-information splitting tree perform splitting of non-complete binary trees, and some other layers perform splitting of complete binary trees.

[0342] Next, the process of dividing the sub-information division tree will be described.

[0343] In some embodiments, when the partitioning tree of the side information in the embodiments of the present application includes a hierarchy of incomplete binary trees, the method in the embodiments of the present application further includes the following step 1: Step 1: If the last layer of the current sub-information splitting tree is a non-complete binary tree layer and the number of occurrences of the first index of the last layer is equal to or greater than a first predetermined threshold corresponding to the last layer, perform binary tree splitting on the last layer to obtain a new sub-information splitting tree.

[0344] The decoding side determines a first index corresponding to the current node and an index of the target context model corresponding to the current node based on the above steps, and further determines whether to continue splitting the last layer of the partitioning tree of the current sub-information. Specifically, if the last layer of the partitioning tree of the current sub-information is an incomplete binary tree, the decoding side determines whether the number of times the first index corresponding to the current node appears in the last layer (i.e., the latest layer) of the partitioning tree of the current sub-information is equal to or greater than a first predetermined threshold corresponding to the last layer. If the decoding side determines that the number of times the first index corresponding to the current node appears in the last layer (i.e., the latest layer) of the partitioning tree of the current sub-information is equal to or greater than the first predetermined threshold corresponding to the last layer, it performs binary tree splitting on the last layer of the partitioning tree of the current sub-information to obtain a new partitioning tree of the sub-information.

[0345] JPEG2026503046000068.jpg55168

[0346] In the embodiment of the present application, the step of the decoding side performing binary tree division on the last layer of the current sub-information division tree to obtain a new sub-information division tree includes at least the following two cases. In case 1, if the last layer of the current sub-information splitting tree is not the last non-complete binary tree layer of the sub-information splitting tree, a non-complete binary tree split is performed on that last layer to obtain a new sub-information splitting tree.

[0347] To explain this using an example, assume that the sub-information partitioning tree includes four incomplete binary tree layers and two complete binary tree layers, as shown in FIG. 13. Assume that the last layer of the current sub-information partitioning tree is the second layer, as shown in FIG. 14. That is, the sub-information at the current time is partitioned into the second layer. In this case, this second layer is not the last incomplete binary tree layer, because the last incomplete binary tree layer is the fourth layer. Therefore, when partitioning the second layer, an incomplete binary tree partition is performed on the second layer to obtain a new sub-information partitioning tree. The new sub-information partitioning tree includes three layers, and all three layers are incomplete binary tree layers.

[0348] In case 2, if the last layer of the current sub-information splitting tree is the last non-complete binary tree layer of the sub-information splitting tree, a complete binary tree split is performed on that last layer to obtain a new sub-information splitting tree.

[0349] To explain this using an example, assume that the sub-information partitioning tree includes four incomplete binary tree layers and two complete binary tree layers, as shown in Figure 13. Assume that the last layer of the current sub-information partitioning tree is the fourth layer, as shown in Figure 15. That is, the sub-information at the current time is partitioned into the fourth layer. In this case, this fourth layer is the last incomplete binary tree layer. Therefore, when partitioning the fourth layer, complete binary tree partitioning is performed on the fourth layer to obtain a new sub-information partitioning tree. The new sub-information partitioning tree includes five layers, and of these five layers, the first four layers are incomplete binary tree layers and the last layer is a complete binary tree layer.

[0350] In an embodiment of the present application, in addition to the step of performing full binary tree division on the last layer of the current sub-information division tree to obtain a new sub-information division tree, the method further includes a step of updating the number of right shift bits of the sub-information, i.e., subtracting 1 from the number of right shift bits of the sub-information corresponding to the current node to obtain the number of right shift bits of the new sub-information.

[0351] For example, the decoding side obtains the number of right-shift bits of new sub information based on the following equation (14). newShift= shift -1 (14) Here, shift is the number of bits to shift right of the sub-information corresponding to the current node, and newShift is the number of bits to shift right of the new sub-information.

[0352] On the other hand, the calculation formula for stateUpdate after the update is as shown in equation (15). stateUpdate=ct1×(ct2≫newShift) (15)

[0353] JPEG2026503046000069.jpg31168

[0354] In response, the precision of the side information corresponding to the current state decreases, i.e., KDown[state]--.

[0355] JPEG2026503046000070.jpg15167

[0356] In some embodiments, when the partitioning tree of the sub-information in the embodiments of the present application includes a hierarchy of complete binary trees, the method in the embodiments of the present application further includes the following steps 21 to 24. Step 21: if the last level of the partitioning tree of the current sub-information is a complete binary tree level, determine the right shift bit number of the sub-information corresponding to the last non-complete binary tree level of the partitioning tree of the current sub-information and a first predetermined threshold value. Step 22: Select a second side information from the binary-represented side information of the current node based on the right-shift bit number of the side information corresponding to the last layer of the non-complete binary tree. Step 23: Determine a second index based on the binary-represented primary information and second secondary information of the current node. Step 24: If the number of occurrences of the second index in the last hierarchy is greater than or equal to a first predetermined threshold corresponding to the last hierarchy of the non-complete binary tree, perform complete binary tree division on the last hierarchy to obtain a new sub-information division tree.

[0357] In this embodiment, when the sub-information partitioning tree includes a non-complete binary tree level and a complete binary tree level, the method determines whether to continue partitioning into the complete binary tree level based on the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level of the sub-information partitioning tree and a first predetermined threshold. Specifically, when the last level of the current sub-information partitioning tree is a complete binary tree level, the method determines the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level of the current sub-information partitioning tree and the first predetermined threshold. Then, the method selects second sub-information from the binary-expressed sub-information of the current node based on the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level. For example, the method right-shifts the binary-expressed sub-information of the current node by the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level to obtain the second sub-information corresponding to the current node. Next, the method determines a second index based on the binary-expressed main information of the current node and the second sub-information. For example, the method multiplies the binary-expressed main information of the current node by the second sub-information to determine the second index.

[0358] Next, based on the following equation (17), it is determined whether the number of occurrences of the second index in the last layer of the partitioning tree of the current sub-information is equal to or greater than a first predetermined threshold corresponding to the last layer of the incomplete binary tree. countBuffer[state]1>= CountTimeTh[shift]1 (17) Here, countBuffer[state]1 represents the number of occurrences of the second index in the last layer of the current sub-information partitioning tree, and CountTimeTh[shift]1 is a first predetermined threshold corresponding to the last incomplete binary tree layer.

[0359] If the number of occurrences of the second index in the last layer of the current sub-information splitting tree is equal to or greater than a first predetermined threshold corresponding to the last non-complete binary tree layer, a complete binary tree split is performed on the last layer to obtain a new sub-information splitting tree.

[0360] At the same time, the decoding side updates the number of right shift bits of the sub information, that is, subtracts 1 from the number of right shift bits of the sub information corresponding to the current node to obtain the new number of right shift bits of the sub information.

[0361] For example, the decoding side obtains the number of right-shift bits of new sub information based on the following equation (14).

[0362] On the other hand, the calculation formula for stateUpdate after the update is as shown in the above formula (15).

[0363] JPEG2026503046000071.jpg16167

[0364] In response, the precision of the side information corresponding to the current state decreases, i.e., KDown[state]--.

[0365] JPEG2026503046000072.jpg15167

[0366] For example, assume that the sub-information partitioning tree includes four non-complete binary tree levels and two complete binary tree levels, as shown in FIG. 13. Assume that the last level of the current sub-information partitioning tree is the fifth level, as shown in FIG. 16. That is, the sub-information at the current time is partitioned into the fifth level. In this case, the fifth level is a complete binary tree level. Therefore, when determining whether to partition the fifth level, the decoding side first determines the number of right-shift bits a and the first predetermined threshold b of the sub-information corresponding to the last non-complete binary tree level of the current sub-information partitioning tree, i.e., the fourth level. Next, the decoding side right-shifts the binary-represented sub-information of the current node by the number of right-shift bits a of the sub-information corresponding to the last non-complete binary tree level to obtain second sub-information. Next, the decoding side multiplies the binary-represented main information of the current node by the second sub-information to obtain a second index corresponding to the current node. Then, it is determined whether the number of occurrences of the second index in the current final layer (i.e., the fifth layer) is equal to or greater than a first predetermined threshold b corresponding to the final layer of the non-complete binary tree, and if the number of occurrences of the second index in the fifth layer is equal to or greater than the first predetermined threshold b corresponding to the final layer of the non-complete binary tree, a complete binary tree division is performed on the fifth layer to obtain a new sub-information division tree.

[0367] As described above, the overall processing flow of Dynamic-OUBF is such that when the Dynamic-OUBF acts as a processor and receives the main information and sub-information of the current node as input, an index context of a target context model ranging from 0 to 255 can ultimately be output.

[0368] In some embodiments, to further reduce the number of context information, the step of obtaining the target context model based on the index of the target context model in the above S102-B21124 includes the following S102 to B211241 and S102 to B211242. S102-B211241, quantizing the index of the target context model to obtain a quantized model index. S102-B211242, obtaining a target context model based on the quantized model index.

[0369] In this embodiment, in order to further reduce the amount of context information, the index of the determined target context model is quantized to obtain a quantized model index, and then the target context model is obtained from a predetermined plurality of context models based on the quantized model index.

[0370] The embodiments of the present application do not limit the specific manner of quantizing the index of the target context model and obtaining the quantized model index.

[0371] In one possible embodiment, the index of the target context model is right-shifted by n bits to obtain the quantized model index, where n is a positive integer.

[0372] The examples of this application do not limit the specific value of n.

[0373] In one example, if n=2 bits, and the number of contexts before quantization is 256, the index of the context model can be shifted right by 2 bits to reduce the total number of contexts to 256 / 4=64. This significantly reduces the number of contexts and improves the decoding efficiency of point clouds.

[0374] In one example, if n=4 bits, and the number of contexts before quantization is 256, the index of the context model can be shifted right by 4 bits to reduce the total number of contexts to 256 / 16=16. In this way, for three coordinate axes, 3×16=48 context models can be obtained, significantly reducing the number of contexts and improving the coding efficiency of point clouds.

[0375] In the present embodiment, by taking into account the planar structure information of neighboring nodes, the planar position information of the current node can be predictively coded, thereby improving the efficiency of geometric coding of point clouds.

[0376] JPEG2026503046000073.jpg204167

[0377] As shown in Table 3, through test tests, it can be confirmed that the point cloud decoding method provided in the present embodiment can improve the compression performance of a single sequence (frog_00067_vox12) by up to 5% in the selected test sequence set.

[0378] JPEG2026503046000074.jpg127167

[0379] As shown in Table 3, when the point cloud decoding method of the present invention was applied to the Cat1-A test set, the decoding performance of geometric information improved by 2.1%.

[0380] JPEG2026503046000075.jpg143167

[0381] As shown in Table 4, when the point cloud decoding method of the present invention was applied to the Cat3-frame test set, the decoding performance of geometric information improved by 1.3%.

[0382] JPEG2026503046000076.jpg127167

[0383] As shown in Table 6, when the point cloud decoding method of the present embodiment and TMC13-v19 were combined and applied to the Cat1-A test set, the decoding performance of geometric information improved by 5%.

[0384] As can be seen from the above, in this embodiment, when the planar position information of a decoding node is used, predictive coding and decoding is performed on the planar position information of the current node based on the planar structure information of neighboring nodes. This allows for the correlation of planar structure information between adjacent nodes to be taken into consideration, effectively improving the efficiency of encoding geometric information of point clouds. Furthermore, in this embodiment, prediction is performed on the planar position information of the current node using planar structure information of neighboring nodes that are coplanar, collinear, or concentric with the current node. Finally, Dynamic-OUBF technology is used to map the planar position context to a predetermined number of contexts (e.g., 48). This improves the decoding efficiency of the planar position information of the node, reduces the number of contexts, saves memory space for storing context information, and further improves the decoding efficiency of point clouds.

[0385] In the point cloud decoding method according to the embodiment of the present application, when decoding the plane structure information of the current node in the current encoding frame, N Neighboring nodes Determine N Neighboring nodes The planar structure information of the current node is predictively decoded based on the placeholder information of the current node. That is, when predictively decoding the planar structure information of the current node, the embodiment of the present application takes into account the correlation of the planar structure information between adjacent nodes, thereby effectively improving the efficiency of decoding the geometric information of the point cloud, and further improving the predictive decoding performance of the planar structure information, thereby improving the efficiency and performance of decoding the point cloud.

[0386] The above describes the point cloud decoding method provided in the embodiments of the present application by taking the decoding side as an example. Below, the following describes the point cloud encoding method provided in the embodiments of the present application by taking the encoding side as an example.

[0387] 17 is a flowchart of a point cloud encoding method according to an embodiment of the present application, which can be implemented by the point cloud encoding device shown in FIG. 3 or FIG. 4A described above.

[0388] As shown in FIG. 17, the point cloud encoding method of the embodiment of the present application includes the following steps:

[0389] S201, N number of current nodes Neighboring nodes Determine.

[0390] As can be seen from the above, a point cloud includes geometric information and attribute information, and encoding of a point cloud includes geometric encoding and attribute encoding. The embodiment of the present application relates to geometric encoding of a point cloud.

[0391] In some embodiments, the geometric information of a point cloud is also referred to as the positional information of the point cloud, and therefore the geometric encoding of the point cloud is also referred to as the positional encoding of the point cloud.

[0392] In octree-based encoding, the encoding side builds an octree structure for the point cloud based on its geometric information. As shown in Figure 9, the point cloud is bounded using the smallest rectangular parallelepiped. This bounding box is then octree-divided to obtain eight nodes. Of these eight nodes, occupied nodes (i.e., nodes containing points) are then octree-divided. This process is repeated sequentially until the point cloud is divided into voxel-level positions, such as a 1x1x1 cube. The point cloud octree structure obtained through this division contains multiple layers of nodes, such as N layers. During encoding, the placeholder information for each layer is coded layer by layer until the voxel-level leaf node of the final layer is coded. In other words, octree coding achieves point cloud encoding by dividing the point cloud into an octree, finally dividing the points in the point cloud into the voxel-level leaf nodes of the octree, and then coding the entire octree.

[0393] However, for some relatively flat nodes or nodes with planar features, planar coding can further improve the coding efficiency of the geometric information of point clouds. For example, as shown in FIG. 5A, all four occupied child nodes of the current node are located at low planar positions in the Z coordinate axis direction of the current node. In this case, the placeholder information of the current node is represented as 11001100. When encoding the current node using this planar coding scheme, it is first necessary to encode an identifier indicating that the current node is planar in the Z coordinate axis direction. Then, if the current node is planar in the Z coordinate axis direction, it is necessary to represent the planar position of the current node. Next, since only the placeholder information of the low planar node in the Z coordinate axis direction (i.e., the placeholder information of the four child nodes of 0246) needs to be encoded, encoding the current node based on the planar coding scheme requires only 6 bits, which is a reduction of 2 bits compared to traditional octree coding, thereby improving the coding performance of point clouds.

[0394] As can be seen from the above, when the current node is coded by the planar coding method, the coding side needs to predictively code the planar structure information of the current node.

[0395] Currently, the planar structure information of the current node is predictively coded based on some prior reference information, such as the spatial distance between the current node and a node at the same division depth and coordinates as the current node, and / or the planar position of the node at the same division depth and coordinates as the current node, which reduces the predictive coding performance of the planar structure information.

[0396] In order to solve the above problem, in the embodiment of the present application, the encoding side Neighboring nodes By performing predictive coding on the planar structure of the current node based on the placeholder information, the predictive coding performance of the planar structure information is improved, and the efficiency and performance of the point cloud coding and decoding are improved.

[0397] In the following, the encoding side will Neighboring nodes The specific process for determining this will be explained.

[0398] In the embodiment of the present application, the encoding side uses N Neighboring nodes There is no limitation on the specific method for determining the value.

[0399] In one example, N of the current node Neighboring nodes has coplanar, collinear and coaxial points with the current node Neighboring nodes At least one of Neighboring nodes As shown in Figure 10, the current nodes include 6 coplanar nodes, 12 collinear nodes, and 8 copoint nodes.

[0400] Another example is N number of nodes in the current Neighboring nodes has coplanar, collinear and coaxial points with the current node Neighboring nodes At least one of Neighboring nodes In addition to the above, other nodes within a preset reference neighborhood range may be included, and the embodiment of the present application is not limited thereto.

[0401] In a specific embodiment, as shown in Figure 11, the thick dashed line node is the current node to be coded, the solid line nodes are three neighboring nodes that are coplanar with the current node, the dot-dash line nodes are three neighboring nodes that are colinear with the current node, and the long dashed line nodes are neighboring nodes that have a common point with the current node. This is because, when coding the placeholder information of the current node according to the point cloud coding order, seven neighboring nodes that are coplanar, colinear, and have a common point with the current node (left front bottom direction) are obtained. These seven Neighboring nodes At least one of Neighboring nodes The planar structure information of the current node is predictively coded using the placeholder information of the

[0402] In another specific embodiment, N of the current node Neighboring nodes The seven in Figure 11 Neighboring nodes , i.e., three nodes coplanar with the current node Neighboring nodes , three nodes that are collinear with the current node Neighboring nodes , and one node that has a common point with the current node Neighboring nodes Includes.

[0403] In another specific embodiment, N of the current node Neighboring nodes has a coplanar and copoint with the current node Neighboring nodes For example, six nodes that are coplanar with the current node Neighboring nodes and one node that has a common point with the current node Neighboring nodes Includes.

[0404] In another specific embodiment, N of the current node Neighboring nodes is collinear and collinear with the current node Neighboring nodes For example, six nodes that are collinear with the current node Neighboring nodes and one node that has a common point with the current node Neighboring nodes Includes.

[0405] In another specific embodiment, N of the current node Neighboring nodes is collinear and coplanar with the current node Neighboring nodes For example, six nodes that are coplanar with the current node Neighboring nodes and six nodes that are collinear with the current node. Neighboring nodes Includes:

[0406] In another specific embodiment, N of the current node Neighboring nodes is coplanar with the current node Neighboring nodes contains only or is collinear with the current node Neighboring nodes contains only or has a common point with the current node Neighboring nodes Contains only.

[0407] In the embodiment of the present application, the encoding side Neighboring nodes There is no limitation on the specific method for determining the value.

[0408] S202, N pieces Neighboring nodesBased on the placeholder information, the plane structure information of the current node is predicted and decoded.

[0409] In the embodiment of the present application, the plane structure information of the current node includes plane identification information of the current node and / or plane position information of the current node.

[0410] As you can see, the plane identification of the current node is PlaneMode i It is expressed as (i=0,1,2), where i=0 represents the X coordinate axis, i=1 represents the Y coordinate axis, and i=2 represents the Z coordinate axis. i = 0 means the current node is not planar in the i-th coordinate axis direction, and PlaneMode i = 1 indicates that the current node is a plane in the i-th coordinate axis direction.

[0411] If the current node is a plane in the i-th coordinate axis direction, i.e., PlaneMode i When PlanePositioni=1, the encoding side continues to encode the plane position information of the current node on the i-th coordinate axis. Illustratively, PlanePositioni is used to represent the plane position information of the current node on the i-th coordinate axis direction, for example, PlanePositioni=0 means that the current node is a plane in the i-th coordinate axis direction and the plane position is a low plane, and PlanePositioni=1 means that the current node is a high plane in the i-th coordinate axis direction.

[0412] In the present embodiment, N Neighboring nodes Based on the placeholder information, the plane structure information of the current node is predictively coded, that is, the plane identification and / or plane position information of the current node is predictively coded.

[0413] For example, N number of nodes in the current Neighboring nodes Based on the placeholder information in , the plane identification of the current node on the i-th coordinate axis is predictively coded.

[0414] Also, for example, N number of the current node Neighboring nodes Based on the placeholder information, the planar position information of the current node on the i-th coordinate axis is predictively encoded.

[0415] In the present embodiment, N of the current node Neighboring nodes Based on the placeholder information, predictive coding of the plane structure information of the current node is performed by Neighboring nodes It can be understood that the planar structure information of the current node is predictively coded using the placeholder information of the planar structure information of the current node as context information of the planar structure information of the current node. For example, Neighboring nodes a context model index is determined based on the context model index, a context model is determined based on the context model index, and planar structure information of the current node is predictively encoded based on the context model, for example, planar identification of the current node is predictively encoded based on the context model, or planar position information of the current node is predictively encoded based on the context model.

[0416] In some embodiments, if the planar structure information of the current node includes planar position information of the current node, the encoding side predictively encodes the planar position information of the current node according to the placeholder information of the N regions of the current node. At this time, the above S202 includes steps S202-A and S202-B: S202-A, where N Neighboring nodes Based on the placeholder information, Neighboring nodes determining planar structural information of the S202-B, where N Neighboring nodes and predictively encoding the planar position information of the current node based on the planar structure information of the current node.

[0417] In this embodiment, the encoding side performs the encoding of N pieces of the current node. Neighboring nodes When predictive coding the plane position information of the current node using the placeholder information of Neighboring nodes The planar structure information of N Neighboring nodesBased on the planar structure information of the current node, the planar position information of the current node is predictively coded. For example, Neighboring nodes A context model index is determined based on the plane structure information of the current node, a context model is determined based on the context model index, and the plane position information of the current node is predictively encoded based on the context model.

[0418] In the present embodiment, N Neighboring nodes Each in Neighboring nodes About that Neighboring nodes Based on the placeholder information in Neighboring nodes The specific process of determining the planar structure information of N is the same, so for convenience of explanation, Neighboring nodes Either Neighboring nodes will be explained as an example.

[0419] In some embodiments, the above S202-A includes the following step S202-A1: S202-A1, where N Neighboring nodes any of Neighboring nodes Regarding Neighboring nodes Based on the placeholder information in Neighboring nodes The method includes determining at least one of plane identification information and plane position information.

[0420] In the embodiment of the present application, the encoding side: Neighboring nodes Based on the placeholder information in Neighboring nodes Plane identification information and / or plane position information can be determined.

[0421] In the following, Neighboring nodes Based on the placeholder information in Neighboring nodes A specific process for determining the plane identification information will be described.

[0422] Specifically, the encoding side: Neighboring nodes Based on the placeholder information, determine the plane0 and plane1 corresponding to the i-th coordinate axis, and further, based on plane0 and plane1, determine this Neighboring nodes , and determine the corresponding plane identity of the plane.

[0423] For example, the encoding side is based on the following code on the X, Y, and Z coordinate axes: Neighboring nodes Determine the corresponding plane0 for each of the following: uint8_t plane0=0; plane0|=!!(occupancy & 0x0f)<<0; plane0|=!!(occupancy & 0x33)<<1; plane0|=!!(occupancy & 0x55)<<2; In the formula, occupancy is Neighboring nodes plane0|=!!(occupancy&0x0f)<<0 represents the placeholder information on the X coordinate axis. Neighboring nodes and pplane0|=!!(occupancy & 0x33)<<1 represents the plane0 on the Y coordinate axis. Neighboring nodes and plane0|=!!(occupancy & 0x55)<<2 represents the plane on the Z coordinate axis. Neighboring nodes 0x0f represents 00001111, Neighboring nodes The placeholder information occupancy is ANDed with 0x0f, and the Neighboring nodes The value of the X coordinate axis on the low plane is 0. 0x33 represents 00110011. Neighboring nodes The placeholder information occupancy is ANDed with 0x33, and the result is Neighboring nodes The values ​​on the lower plane of the Y coordinate axis are all 0. 0x55 represents 01010101, Neighboring nodes The placeholder information occupancy is ANDed with 0x55, and the result is Neighboring nodes Obtain the values ​​of the Z coordinate axis on the low plane as 0.

[0424] For example, the encoding side is based on the following code on the X, Y, and Z coordinate axes: Neighboring nodes Determine the corresponding plane1 for each: uint8_t plane1=0; plane1|=!!(occupancy & 0xf0)<<0; plane1|=!!(occupancy & 0xcc)<<1; plane1|=!!(occupancy & 0xaa)<<2; In the formula, occupancy is Neighboring nodes represents the placeholder information, & represents the AND operation, and plane1|=!!(occupancy & 0xf0)<<0 represents the Neighboring nodes and plane1|=!!(occupancy & 0xcc)<<1 represents the plane on the Y coordinate axis. Neighboring nodes and plane1|=!!(occupancy & 0xaa)<<2 represents the plane on the Z coordinate axis. Neighboring nodes 0xf0 represents 11110000, Neighboring nodes The placeholder information occupancy is ANDed with 0xf0, and Neighboring nodes The value of the X coordinate axis on the high plane is 0. 0xcc represents 11001100. Neighboring nodes The placeholder information occupancy is ANDed with 0xcc, and Neighboring nodes The values ​​on the Y coordinate axis of the high plane are all 0. 0xaa represents 10101010, Neighboring nodes The placeholder information occupancy is ANDed with 0xaa, and Neighboring nodes Obtain the value of 0 on the Z coordinate axis high plane.

[0425] Based on the above method, the encoding side calculates the Neighboring nodes Determine the corresponding plane0 and plane1 of the i-th coordinate axis based on plane0 and plane1. Neighboring nodes The corresponding plane identification information of the planes can be determined.

[0426] For example, for the i-th coordinate axis, by performing an XOR operation on plane0 and plane1 of the i-th coordinate axis determined above, Neighboring nodes Specifically, it is planar if and only if a single plane perpendicular to the axis is occupied.

[0427] For example, the encoding side calculates the value of the i-th axis based on the following equation (10): Neighboring nodes The plane identification information of the plane is determined.

[0428] In the following, Neighboring nodes A specific process for determining the plane position information will be described.

[0429] In the embodiment of the present application, the encoding side performs the following processing based on the above method: Neighboring nodes After determining the plane identification information planarMode, based on the plane identification information planarMode, Neighboring nodes The planar position information can be determined.

[0430] For example, the encoding side calculates the value of the i-th axis based on the following equation (11): Neighboring nodes The planar position information of the object is determined.

[0431] In the above, on the X coordinate axis Neighboring nodes The specific process of determining the plane identification information and plane position information has been described. Neighboring nodes The specific process for determining the plane identification information and plane position information can be explained by referring to the process for determining the plane identification information and plane position information on the X coordinate axis, and therefore the explanation thereof will be omitted here.

[0432] The encoding side generates N pieces of data based on the above steps. Neighboring nodes Each in Neighboring nodes After determining the plane identification information and / or plane position information of N Neighboring nodes Each in Neighboring nodes The plane position information of the current node is predictively coded based on the plane identification information and / or plane position information of the current node.

[0433] In the embodiment of the present application, in the above S202-B, N Neighboring nodes There is no limitation on the specific method for predictively encoding the planar position information of the current node based on the planar structure information.

[0434] In some embodiments, the encoding side may Neighboring nodes A context model index is determined based on the planar structure information, and one context model is selected from a plurality of preset context models based on the context model index. Furthermore, planar position information of the current node is predictively encoded based on the context model.

[0435] In some embodiments, S202-B above is S202-B1, where N Neighboring nodes determining first context information and / or second context information corresponding to an i-th coordinate axis based on the planar structure information, where the i-th coordinate axis is an X-coordinate axis, a Y-coordinate axis, or a Z-coordinate axis; S202-B2 includes a step of predictively encoding planar position information of the current node on the i-th coordinate axis based on first context information and / or second context information corresponding to the i-th coordinate axis.

[0436] In this embodiment, the encoding side Neighboring nodes The encoding side determines at least one of first context information and second context information corresponding to the i-th coordinate axis based on the planar structure information of the i-th coordinate axis, and further predictively encodes planar position information of the current node on the i-th coordinate axis based on the determined first context information and / or second context information. Neighboring nodesBased on the plane structure information of the X coordinate axis, at least one of first context information and second context information corresponding to the X coordinate axis is determined, and further, based on the first context information and / or the second context information corresponding to the X coordinate axis, plane position information of the current node on the X coordinate axis is predictively encoded. Neighboring nodes Based on the plane structure information of the Y coordinate axis, at least one of first context information and second context information corresponding to the Y coordinate axis is determined, and further, based on the first context information and / or the second context information corresponding to the Y coordinate axis, plane position information of the current node on the Y coordinate axis is predictively encoded. Neighboring nodes and determining at least one of first context information and second context information corresponding to the Z coordinate axis based on the planar structure information of the current node, and predictively encoding planar position information of the current node on the Z coordinate axis based on the first context information and / or the second context information corresponding to the Z coordinate axis.

[0437] In the following, the encoding side is Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information will be described.

[0438] In the embodiment of the present application, the encoding side uses N Neighboring nodes Specific ways of determining the first context information corresponding to the i-th coordinate axis based on the plane structure information include, but are not limited to, the following ways:

[0439] In method 1, the encoding side uses N Neighboring nodes Some of Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis is determined.

[0440] For example, the encoding side uses N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodesBased on the planar structure information of P, determine first context information corresponding to the i-th coordinate axis, where P is a positive integer.

[0441] Here, P Neighboring nodes The planar structural information of P Neighboring nodes The encoding side includes plane identification information and / or plane position information of P coplanar Neighboring nodes The encoding side determines first context information corresponding to the i-th coordinate axis based on the plane identification information of P coplanar planes. Neighboring nodes Alternatively, the encoding side determines first context information corresponding to the i-th coordinate axis based on the plane position information of P coplanar Neighboring nodes Based on the plane identification information and plane position information, a first context information corresponding to the ith coordinate axis is determined.

[0442] In the embodiment of the present application, the encoding side Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes There is no limitation on a specific method for determining the first context information corresponding to the ith coordinate axis based on the planar structure information.

[0443] In one possible embodiment, the decoding side receives P Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the first value corresponding to P Neighboring nodes The first context information corresponding to the i-th coordinate axis is obtained by weighting the first value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0444] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0445] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the encoding side Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The encoding side obtains the first value corresponding to the Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the encoding side obtains a first value corresponding to P coplanar surfaces. Neighboring nodes The plane identification information and the first predetermined value corresponding to the i-th coordinate axis are ANDed, and then weighted to obtain the first context information corresponding to the i-th coordinate axis. Alternatively, the encoding side may Neighboring nodes The plane position information of the Pth coordinate axis is weighted after performing an AND operation on the first predetermined value corresponding to the Pth coordinate axis, and the first context information corresponding to the Pth coordinate axis is obtained. Neighboring nodes The plane identification information and plane position information are ANDed with a first predetermined value corresponding to the i-th coordinate axis, and then weighted to obtain first context information corresponding to the i-th coordinate axis.

[0446] For example, if we have N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes The three coplanar surfaces in Figure 11 Neighboring nodes Assuming that these three coplanar surfaces Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, and coPlanarBelowPlaneMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, and coPlanarBelowPlanePos, respectively.

[0447] In one example, the coding side is P coplanar Neighboring nodes Then, an AND operation is performed between the planar position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0448] In one example, the coding side is P coplanar Neighboring nodes Then, an AND operation is performed between the planar position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0449] In one example, the coding side is P coplanar Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0450] In the above example, the encoding side uses N Neighboring nodes Among them, P nodes that are coplanar with the current node Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0451] In some embodiments, the encoding side may Neighboring nodes Among the nodes, those that are collinear with the current node Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0452] In some embodiments, the encoding side may Neighboring nodes Among the nodes that have a common point with the current node, Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0453] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes is coplanar and collinear with the current node. Neighboring nodesBased on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0454] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes that has a common plane and common point with the current node Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0455] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes is collinear and collinear with the current node. Neighboring nodes Based on the planar structure information, first context information corresponding to the ith coordinate axis may be determined.

[0456] In the above example, the encoding side uses N Neighboring nodes Some of Neighboring nodes A specific process for determining the first context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0457] In method 2, the encoding side uses N Neighboring nodes Based on the first plane position information, first context information corresponding to the ith coordinate axis is determined.

[0458] Here, the first planar structure information is Neighboring nodes That is, the encoding side includes N plane identification information and / or plane position information. Neighboring nodes The encoding side determines first context information corresponding to the i-th coordinate axis based on the plane identification information of N Neighboring nodes Alternatively, the encoding side determines first context information corresponding to the i-th coordinate axis based on the plane position information of N Neighboring nodes Based on the plane position information and the plane identification information, first context information corresponding to the ith coordinate axis is determined.

[0459] In the embodiment of the present application, the encoding side has N Neighboring nodes No.2 There is no limitation on a specific method for determining the first context information corresponding to the i-th coordinate axis based on the planar position information.

[0460] In one possible embodiment, the encoding side has N Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the first plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the second value corresponding to N Neighboring nodes The first context information corresponding to the i-th coordinate axis is obtained by weighting the second value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0461] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0462] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the encoding side Neighboring nodes and performing an AND operation between the first plane structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The encoding side obtains the second value corresponding to N Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the encoding side obtains a first value corresponding to N Neighboring nodes The encoding side performs an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain first context information corresponding to the i-th coordinate axis. Alternatively, the encoding side performs an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain first context information corresponding to the i-th coordinate axis. Neighboring nodesThe encoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain first context information corresponding to the i-th coordinate axis. Alternatively, the encoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain first context information corresponding to the i-th coordinate axis. Neighboring nodes The plane identification information and plane position information are ANDed with a first predetermined value corresponding to the i-th coordinate axis, and then weighted to obtain first context information corresponding to the i-th coordinate axis.

[0463] For example, if we have N Neighboring nodes are the three coplanar surfaces in Figure 11. Neighboring nodes coPlanarLeft, coPlanarFrontPlane, coPlanarBelow, three collinear Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one copoint Neighboring nodes Let's assume that these seven Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, coPlanarBelowPlaneMode, coEdgerLeftPlanarMode, coEdgerFrontPlanarMode, coEdgerBelowPlanarMode and coVertexPlanarMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, coPlanarBelowPlanePos, coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0464] In one example, the encoding side is N Neighboring nodes Then, an AND operation is performed between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0465] In one example, the encoding side is N Neighboring nodesThen, an AND operation is performed between the planar position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0466] In one example, the encoding side is N Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain first context information Ctx1 corresponding to the i-th coordinate axis.

[0467] In the above example, the encoding side has N Neighboring nodes The specific process of determining the first context information corresponding to the i-th coordinate axis based on the plane structure information of the image has been described. Note that the encoding side may determine the first context information corresponding to the i-th coordinate axis by other methods in addition to determining the first context information corresponding to the i-th coordinate axis based on the above methods.

[0468] In the following, in S202-B1, N Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information will be described.

[0469] In the embodiment of the present application, the encoding side uses N Neighboring nodes Specific ways of determining the second context information corresponding to the i-th coordinate axis based on the planar structure information include, but are not limited to, the following ways:

[0470] In method 1, the encoding side uses N Neighboring nodes Some of Neighboring nodes Based on the planar structure information, second context information corresponding to the ith coordinate axis is determined.

[0471] For example, the encoding side uses N Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodesBased on the planar structure information of the i-th coordinate axis, determine second context information corresponding to the i-th coordinate axis, where Q is a positive integer.

[0472] Here, Q Neighboring nodes The planar structural information of Q Neighboring nodes The plane identification information and / or plane position information are included. Q Individual coplanar surfaces Neighboring nodes Alternatively, the encoding side determines second context information corresponding to the ith coordinate axis based on the plane identification information of Q Neighboring nodes Alternatively, the encoding side determines second context information corresponding to the i-th coordinate axis based on the plane position information of Q Neighboring nodes Based on the plane identification information and plane position information, second context information corresponding to the ith coordinate axis is determined.

[0473] In the embodiment of the present application, the encoding side Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodes There is no limitation on a specific method for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information.

[0474] In one possible embodiment, the encoding side generates Q Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and obtaining a first value corresponding to Q pieces Neighboring nodes The second context information corresponding to the i-th coordinate axis is obtained by weighting the first value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0475] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0476] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the encoding side Neighboring nodes and performing an AND operation on the planar structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The encoding side obtains the first value corresponding to the Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the encoding side obtains a first value corresponding to Q Neighboring nodes The encoding side performs an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes The encoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information corresponding to the i-th coordinate axis.

[0477] For example, if we have N Neighboring nodes Q nodes that are collinear or collinear with the current node Neighboring nodes are the three collinear lines in Fig. 11. Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one edge that has a common point with the current node Neighboring nodes Let's assume that these four Neighboring nodes The plane identification information is written as coEdgerLeftPlaneMode, coEdgerFrontPlaneMode, coEdgerBelowPlaneMode, and coVertexPlaneMode, respectively. Neighboring nodesThe plane position information is written as coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0478] In one example, the encoding side has Q Neighboring nodes Then, an AND operation is performed between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0479] In one example, the encoding side has Q Neighboring nodes Then, an AND operation is performed between the planar position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0480] In one example, the encoding side has Q Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0481] In the above example, the encoding side uses N Neighboring nodes Among them, Q nodes that are collinear and / or collinear with the current node Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0482] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes is collinear with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0483] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes that has a common point with the current node Neighboring nodesBased on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0484] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes is coplanar with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0485] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes is coplanar and collinear with the current node. Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0486] In some embodiments, the encoding side may Neighboring nodes At least one of the nodes that has a common plane and common point with the current node Neighboring nodes Based on the planar structure information, second context information corresponding to the i-th coordinate axis may be determined.

[0487] In the above example, the encoding side uses N Neighboring nodes Some of Neighboring nodes A specific process for determining the second context information corresponding to the i-th coordinate axis based on the planar structure information has been described.

[0488] In method 2, the encoding side uses N Neighboring nodes Based on the second plane position information, second context information corresponding to the ith coordinate axis is determined.

[0489] Here, the second planar structure information is Neighboring nodes That is, the encoding side includes N plane identification information and / or plane position information. Neighboring nodes The encoding side determines second context information corresponding to the i-th coordinate axis based on the plane identification information of N Neighboring nodesAlternatively, the encoding side determines second context information corresponding to the i-th coordinate axis based on the plane position information of N Neighboring nodes Based on the plane position information and the plane identification information, second context information corresponding to the ith coordinate axis is determined.

[0490] In the embodiment of the present application, the encoding side has N Neighboring nodes There are no limitations on the specific method for determining the second context information corresponding to the i-th coordinate axis based on the first plane position information.

[0491] In one possible embodiment, the encoding side has N Neighboring nodes any of Neighboring nodes In response to the Neighboring nodes and performing an AND operation between the second plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes and then obtain the third value corresponding to N Neighboring nodes The second context information corresponding to the i-th coordinate axis is obtained by weighting the third value corresponding to the i-th coordinate axis. Note that the first predetermined values ​​corresponding to different coordinate axes are different, and in the embodiment of the present application, the specific values ​​of the first predetermined values ​​corresponding to each coordinate axis are not limited.

[0492] Illustratively, the first predetermined value corresponding to the X coordinate axis is 0, the first predetermined value corresponding to the Y coordinate axis is 1, and the first predetermined value corresponding to the Z coordinate axis is 2.

[0493] As can be seen from the above, Neighboring nodes Since the plane structure information includes plane identification information and / or plane position information, in some embodiments, the encoding side Neighboring nodes and performing an AND operation between the second plane structure information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes The encoding side obtains the third value corresponding to N Neighboring nodes and performing an AND operation between the plane identification information and / or plane position information and a first predetermined value corresponding to the i-th coordinate axis, Neighboring nodes That is, the encoding side obtains a third value corresponding to N Neighboring nodes The encoding side performs an AND operation between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes The encoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Alternatively, the encoding side performs an AND operation between the plane position information and a first predetermined value corresponding to the i-th coordinate axis, and then weights the result to obtain second context information corresponding to the i-th coordinate axis. Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information corresponding to the i-th coordinate axis.

[0494] For example, if we have N Neighboring nodes are the three coplanar surfaces in Figure 11. Neighboring nodes coPlanarLeft, coPlanarFrontPlane, coPlanarBelow, three collinear Neighboring nodes coEdgerLeft, coEdgerFront, coEdgerBelow, and one copoint Neighboring nodes Let's assume that these seven Neighboring nodes The plane identification information is written as coPlanarLeftPlaneMode, coPlanarFrontPlaneMode, coPlanarBelowPlaneMode, coEdgerLeftPlanarMode, coEdgerFrontPlanarMode, coEdgerBelowPlanarMode and coVertexPlanarMode, respectively. Neighboring nodes The plane position information is written as coPlanarLeftPlanePos, coPlanarFrontPlanePos, coPlanarBelowPlanePos, coEdgerLeftPlanePos, coEdgerFrontPlanePos, coEdgerBelowPlanePos, and coVertexPlanePos, respectively.

[0495] In one example, the decryption side is N Neighboring nodesThen, an AND operation is performed between the plane identification information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0496] In one example, the decryption side is N Neighboring nodes Then, an AND operation is performed between the planar position information and a first predetermined value corresponding to the i-th coordinate axis, and then weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0497] In one example, the decryption side is N Neighboring nodes Then, an AND operation is performed on the plane identification information and plane position information and a first predetermined value corresponding to the i-th coordinate axis, and weighting is performed to obtain second context information Ctx2 corresponding to the i-th coordinate axis.

[0498] In the above example, the encoding side has N Neighboring nodes The specific process of determining the second context information corresponding to the i-th coordinate axis based on the plane structure information of the image has been described. Note that the encoding side may determine the second context information corresponding to the i-th coordinate axis by other methods in addition to determining the second context information corresponding to the i-th coordinate axis based on the methods described above.

[0499] It should be noted that the first context information and the second context information corresponding to the i-th coordinate axis obtained by the encoding side are different, i.e., the method used by the encoding side to determine the first context information corresponding to the i-th coordinate axis is different from the method used to determine the second context information corresponding to the i-th coordinate axis, and further, the first context information and the second context information obtained are different.

[0500] In the embodiment of the present application, P Neighboring nodes The first value corresponding to Neighboring nodes The first value corresponding to Neighboring nodes weighting the second value corresponding to N, and Neighboring nodesThe specific process for weighting the corresponding third value is basically the same.

[0501] The weighting process is described below.

[0502] For ease of explanation, the following target values ​​are Neighboring nodes a first value corresponding to Neighboring nodes or the second value corresponding to Neighboring nodes and a third value corresponding to at least one of the following: Neighboring nodes is the P number of Neighboring nodes , Q pieces Neighboring nodes or N pieces Neighboring nodes and the target context information below shall mean the first context information or the second context information above.

[0503] In some embodiments, the weight of the target value corresponding to the neighboring node is a predetermined value, so that the target value corresponding to the at least one neighboring node can be weighted based on the weight of the target value corresponding to each of the at least one neighboring node to obtain the target context information corresponding to the i-th coordinate axis.

[0504] In some embodiments, the process of weighting the target value corresponding to at least one neighboring node to obtain the target context information corresponding to the i-th coordinate axis includes the following steps E1 and E2: Step E1: determining a number of left-shift bits corresponding to a target value, and determining a weight corresponding to the target value based on the number of left-shift bits; Step E2 includes weighting the target value corresponding to the at least one neighboring node according to the weighting weight of the target value, and obtaining the target context information corresponding to the i-th coordinate axis.

[0505] For example, the number of left-shift bits corresponding to the first value is determined, and a weight corresponding to the first value is determined based on the number of left-shift bits. Based on the weight of the first value, weights are assigned to the first values ​​corresponding to the P neighboring nodes, thereby obtaining first context information corresponding to the i-th coordinate axis.

[0506] For example, the number of left shift bits corresponding to the second value is determined, and a weight corresponding to the second value is determined based on the number of left shift bits. Based on the weight of the second value, weights are assigned to the second values ​​corresponding to the N neighboring nodes, thereby obtaining first context information corresponding to the i-th coordinate axis.

[0507] For example, the number of left-shift bits corresponding to the first value is determined, and a weight corresponding to the first value is determined based on the number of left-shift bits. Based on the weight of the first value, the first values ​​corresponding to the Q neighboring nodes are weighted, and second context information corresponding to the i-th coordinate axis is obtained.

[0508] For example, the number of left-shift bits corresponding to the third value is determined, and a weight corresponding to the third value is determined based on the number of left-shift bits. Based on the weight of the third value, the third value corresponding to the N neighboring nodes is weighted, thereby obtaining second context information corresponding to the i-th coordinate axis.

[0509] The encoding side generates N pieces of data using the above method. Neighboring nodes After determining the first context information and / or the second context information corresponding to the i-th coordinate axis based on the planar structure information, the step S202-B2 is performed to predictively encode the planar position information of the current node on the i-th coordinate axis based on the first context information and / or the second context information corresponding to the i-th coordinate axis.

[0510] In the embodiments of the present application, in S202-B2, the specific method for predictively encoding the planar position information of the current node on the i-th coordinate axis based on the first context information and / or the second context information corresponding to the i-th coordinate axis is not limited.

[0511] In some embodiments, the encoding side predictively encodes the planar position information of the current node on the i-th coordinate axis based only on the first context information and / or the second context information corresponding to the i-th coordinate axis. For example, the encoding side determines a context model index based on the first context information and / or the second context information corresponding to the i-th coordinate axis, selects one context model from a plurality of preset context models based on the context model index, and predictively encodes the planar position information of the current node on the i-th coordinate axis using the context model.

[0512] In some embodiments, the above S202-B2 includes the following steps S202-B21.

[0513] In S202-B21, the planar position information of the current node on the i-th coordinate axis is predictively coded based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information.

[0514] In this embodiment, when the encoding side predictively encodes the planar position information of the current node on the i-th coordinate axis, the context information to be referenced includes the first context information and / or the second context information corresponding to the i-th coordinate axis, as well as other pre-set context information.

[0515] In the embodiment of the present application, the specific content of the preset context information is not limited, and can be specifically determined according to actual needs.

[0516] In one possible embodiment, the pre-defined context information is: 1. Plane position information of the current node, which is obtained by making predictions using the placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; 2. The spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; 3. Information when the plane position of the node at the same division depth and the same coordinates as the current node is a plane; and 4, coordinate dimension (i=0, 1, 2), and includes at least one of the four pieces of context information.

[0517] In this embodiment, when the encoding side predictively encodes the planar position information of the current node on the i-th coordinate axis, it uses N Neighboring nodes Based on the planar structure information, the first context information and / or second context information corresponding to the i-th coordinate axis is determined, and further, based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information, the planar position information of the current node on the i-th coordinate axis is predictively coded. As can be seen from this, in the embodiment of the present application, when the coding side predictively codes the planar position information of the current node, not only the preset prior information (i.e., the preset context information) but also Neighboring nodes The planar structure information (i.e., the first context information and / or the second context information) of the current node is also taken into consideration, and the predictive coding effect of the planar position information of the current node is further improved, thereby improving the coding efficiency of the point cloud.

[0518] In the embodiments of the present application, the specific process by which the encoding side predictively encodes the planar position information of the current node on the i-th coordinate axis based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information is not limited.

[0519] In some embodiments, the above S202-B21 may be replaced by the following steps S202-B211 and S202-B212: S202-B211, determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information; S202-B212, and includes a step of predictively encoding planar position information of the current node on the i-th coordinate axis based on the target context model.

[0520] In this embodiment, the encoding side determines a context model based on the first context information and / or second context information corresponding to the i-th coordinate axis and the preset context information. For convenience of explanation, this context model is referred to as a target context model. Next, the encoding side predictively encodes the planar position information of the current node on the i-th coordinate axis using this target context model.

[0521] The following describes a specific process in which the encoding side determines a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information.

[0522] In some embodiments, the encoding side determines an index of a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information, further selects a target context model from a plurality of preset context models based on the index of the target context model, and further predictively encodes the planar position information of the current node on the i-th coordinate axis using the target context model.

[0523] In this embodiment, multiple context models are set for planar position information, and in this embodiment, the specific number of context models corresponding to the planar position information is not limited as long as it is guaranteed to be greater than 1. That is, in this embodiment, one optimal context model is selected from at least two context models, and the planar position information of the current node on the i-th coordinate axis is predictively encoded.

[0524] Illustratively, the planar position information corresponds to a plurality of context models as shown in Table 2. In this manner, the encoding side determines an index of a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information. Next, based on the index of the target context model, a target context model is selected from the context models corresponding to Table 2, and predictive coding is performed on the planar position information of the current node on the i-th coordinate axis.

[0525] In some embodiments, the above S202-B211 may be replaced by the following steps S202-B2111 and S202-B2112: S202-B2111, dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and preset context information into main information and sub information; S202-B2112, including determining a target context model based on the primary information of the current node and some or all of the secondary information of the current node.

[0526] As can be seen from the above, assuming that the context information of the planar position information includes the first context information and the second context information corresponding to the i-th coordinate axis, and the above-mentioned four preset context information, the final planar position context is 1. Plane position information of the current node, which is obtained by making predictions using the placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; 2. The spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; 3. Information when the plane position of the node at the same division depth and the same coordinates as the current node is a plane; 4. Coordinate dimension (i=0,1,2), 5. Ctx1: Planar structure information of three coplanar neighboring nodes, and 6. Ctx2: Planar structure information of three collinear neighboring nodes and one collinear neighboring node, and so on.

[0527] The encoding side has N Neighboring nodes Among them, three nodes that are coplanar with the current node Neighboring nodes Assuming that the first context information corresponding to the i-th coordinate axis is determined based on the plane identification information and plane position information, it can be obtained that Ctx1 includes 26 = 64 contexts. Neighboring nodes Among them, three are collinear with the current node. Neighboring nodes and one with a common point Neighboring nodes Assuming that the second context information corresponding to the i-th coordinate axis is determined based on the plane identification information and plane position information, it can be obtained that Ctx2 includes 28 = 256 contexts. Thus, the encoding side can obtain 3 × 2 × 2 × 3 × 64 × 256 = 589,824 contexts based on the first context information and second context information corresponding to the i-th coordinate axis and the four preset context information. The memory space occupied by such a large number of contexts is extremely large. Based on this, in an embodiment of the present application, when predictively encoding the planar position information of a node, Dynamic-OUBF, the first encoding technique of G-PCC, is added to the algorithm to reduce the number of contexts used to encode the planar position information, for example, to 3 × 16 = 48.

[0528] Specifically, in this embodiment, as shown in Fig. 12, the encoding side divides the first context information and / or second context information corresponding to the i-th coordinate axis determined above and the preset context information into main information and sub information, and then determines a target context model based on the main information of the current node and some or all of the sub information of the current node. Note that in this embodiment, by determining the target context model mainly based on the main information and some of the sub information of the current node and further reducing the number of contexts, not only can the memory occupation amount due to contexts be reduced, but also the predictive encoding efficiency of the planar position information of the nodes can be improved.

[0529] In the embodiments of the present application, the specific method for dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information into main information and sub information is not limited.

[0530] In one example, the encoding side divides the information into main information, which includes first context information corresponding to the i-th coordinate axis, the spatial distances "near" and "far" between the current node and a node at the same division depth and coordinate as the current node, and information on the planar position of a node at the same division depth and coordinate as the current node when the node is a plane, and the information into sub information, which includes second context information corresponding to the i-th coordinate axis, predictions are made using placeholder information of neighboring nodes, and the planar position information of the current node is divided into three elements: one predicted as a low plane, one predicted as a high plane, and one that is unpredictable.The coordinate dimension (i = 0, 1, 2) is used as an index, and the information is not divided into main information and sub information.

[0531] In another example, the encoding side may divide the first context information and the second context information corresponding to the i-th coordinate axis into the main information of the current node, and divide at least one of the above-mentioned four preset context information into the sub-information of the current node.

[0532] In another example, the encoding side can divide the second context information corresponding to the i-th coordinate axis into the main information of the current node, and divide the first context information corresponding to the i-th coordinate axis into the sub-information of the current node. Optionally, based on this, at least one of the four preset context information can be divided into the main information of the current node, and the remaining preset context information can be divided into the sub-information of the current node.

[0533] In another example, the encoding side can further divide the first context information and the second context information corresponding to the i-th coordinate axis into sub-information of the current node, and divide at least one of the above-mentioned four preset context information into sub-information of the current node.

[0534] The method by which the encoding side divides the first context information and / or the second context information and the preset context information corresponding to the i-th coordinate axis into main information and sub information includes, but is not limited to, the method described above. The encoding side may adopt other methods to divide the first context information and / or the second context information and the preset context information corresponding to the i-th coordinate axis into main information and sub information.

[0535] Based on the above steps, the encoding side divides the first context information and / or the second context information corresponding to the i-th coordinate axis and the preset context information into main information and sub information, and then performs the above steps S202-B2112 to determine a target context model based on the main information of the current node and part or all of the sub information of the current node.

[0536] In the embodiment of the present application, there is no limitation on the specific method by which the encoding side determines the target context model based on the main information of the current node and part or all of the side information of the current node.

[0537] In some embodiments, the encoding side determines an index based on the main information of the current node and part of the side information of the current node, determines an index of a target context model based on the index, and further determines a target context model from a predetermined plurality of context models based on the index of the target context model. In some embodiments, the above S202-B2112 includes the following steps S202-B21121 to S202-B21124. S202-B21121, converting the main information of the current node and the sub-information of the current node into binary representation. S202-B21122, determining the number of right shift bits of the sub-information corresponding to the current node, and selecting a first sub-information from the binary-represented sub-information of the current node according to the number of right shift bits of the sub-information corresponding to the current node, where the initial number of right shift bits of the sub-information is Binary representation of side information is the total number of bits. S202-B21123, determining a first index based on the binary-represented main information and first sub-information of the current node, and obtaining an index of a target context model from a predetermined context model index cache based on the first index. S202-B21124, obtaining a target context model according to the index of the target context model.

[0538] In this embodiment, the encoding side divides the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information into main information and sub information based on the above steps, and then converts the main information and sub information of the current node obtained by the division into a binary representation.

[0539] For example, referring to the above example, it is assumed that the encoding side divides the main information into first context information corresponding to the i-th coordinate axis, the spatial distances "near" and "far" between the current node and a node at the same division depth and coordinate as the current node, and the planar position of the current node at the same division depth and coordinate as the current node when the planar position is on the same plane. It is assumed that the first context information Ctx1 corresponding to the i-th coordinate axis includes 26 = 64 contexts and must be represented by 6 bits when converted to binary representation. The spatial distances "near" and "far" between the current node and a node at the same division depth and coordinate as the current node include two contexts and must be represented by 1 bit when converted to binary representation. The planar position of the current node at the same division depth and coordinate as the current node includes two contexts and must be represented by 1 bit when converted to binary representation. Therefore, in this example, the main information of the current node needs to be represented by 6 + 1 + 1 = 8 bits when converted to binary representation.

[0540] Similarly, it is assumed that the encoding side divides the second context information corresponding to the i-th coordinate axis and the plane position information of the current node, which is obtained by prediction using the placeholder information of neighboring nodes and consists of three elements: prediction with respect to the ground plane, prediction with respect to the high plane, and unpredictable, into side information. It is assumed that the second context information Ctx2 corresponding to the i-th coordinate axis contains 28 = 256 contexts and must be represented in 8 bits when converted to binary representation. Context information: The plane position information of the current node, which is obtained by prediction using the placeholder information of neighboring nodes and consists of three elements: prediction with respect to the ground plane, prediction with respect to the high plane, and unpredictable, contains three contexts and must be represented in 2 bits when converted to binary representation. Therefore, in this example, when the side information of the current node is converted to binary representation, it must be represented in 8 + 2 = 10 bits.

[0541] The specific process of converting the main information of the current node and the sub information of the current node into a binary representation has been described in the above example. It should be noted that the main information of the current node and the division manner of the current node include but are not limited to the above examples. If the main information and sub information of the current node further include other context information, the main information and sub information of the current node can be converted into a binary representation by referring to the method shown in the above example.

[0542] The encoding side converts the main information and sub-information of the current node into a binary representation, determines the number of right-shift bits of the sub-information corresponding to the current node, and further selects a first sub-information from the binary-represented sub-information of the current node based on the number of right-shift bits of the sub-information. In the embodiment of the present application, the number of right-shift bits of the sub-information corresponding to the current node can be understood as indicating which sub-information to select from the sub-information of the current node to predictively encode the planar position information of the current node.

[0543] The following describes how to determine the number of right-shift bits of the side information corresponding to the current node.

[0544] The embodiment of the present application does not limit the specific manner of determining the right shift bit number of the side information corresponding to the current node.

[0545] In some embodiments, the number of right shift bits of the side information corresponding to the current node is a predetermined value. For example, for nodes in a point cloud octree, a predetermined number of nodes correspond to the number of right shift bits of one piece of side information, thereby determining the number of right shift bits of the side information corresponding to the current node. As an example, the closer a node is to the root node of the octree, the larger the number of right shift bits of the corresponding side information. Optionally, the initial value of the number of right shift bits of the side information is Binary representation of side information For example, if the current node is the root node of the octree, the number of right-shift bits of the sub-information corresponding to the current node is 10 bits as described above.

[0546] In some embodiments, in the above S202-B21122, the step of determining the number of right-shift bits of the sub information corresponding to the current node includes the following S202 to B211221 and S202 to B211222. S202-B211221 determines the number of right-shift bits of the sub-information corresponding to the last layer of the current sub-information division tree, and the division tree of the sub-information is obtained by binary tree division of the sub-information starting from the most significant bit of the sub-information. In step S202-B211222, the number of right shift bits of the sub-information corresponding to the last layer is determined as the number of right shift bits of the sub-information corresponding to the current node.

[0547] The following describes the splitting process of the side information.

[0548] JPEG2026503046000077.jpg68167

[0549] In some embodiments, the process of restoring the accuracy of the side information is as shown in FIG.

[0550] First, the entire context of the side information is represented in a binary format, and then the side information is divided into binary trees starting from the most significant bit. As shown in Figure 13, above a certain level, the binary tree is incomplete, meaning that the division is based on the context of the side information itself. However, once the depth falls below MinDepth (currently set to 3), the accuracy of the side information is fully restored. The division of the side information is described in detail below.

[0551] JPEG2026503046000078.jpg16167

[0552] In addition, one KDown is initialized to represent the precision (i.e., the number of right shift bits) of the side information corresponding to each first index (state), and the initial value of the number of right shift bits of the side information is Binary representation of side information For example, if the sub information is 10 bits, the initial value of the number of right-shift bits of the sub information is 10 bits.

[0553] Furthermore, a CountTimeTh table is initialized to control the maximum number of occurrences of the first index (state) at each level of the sub-information partitioning tree. When the number of occurrences of a certain first index (state) exceeds the limit for that level, the lower-order bit precision of the sub-information is restored, the number of occurrences of the current first index (state) is reset to zero, and the context probability of the new first index (state) obtained by the restoration inherits the probability of its parent node.

[0554] Specifically, as shown in FIG. 13, when predictively encoding the planar position information of a first node 1 in a point cloud, first, based on the above steps, the first context information and / or second context information corresponding to node 1 is determined, and the first context information and / or second context information corresponding to node 1 and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, KDown obtains the number of right-shift bits of the sub information corresponding to node 1. Because node 1 is the first point in the point cloud, the number of right-shift bits of the sub information corresponding to node 1 is the initial value of the number of right-shift bits of the sub information, for example, 10 bits. In this way, when the encoding side determines that the number of right-shift bits of the sub information corresponding to node 1 is 10 bits, it shifts the sub information of node 1 by 10 bits to the right. Since the sub information of node 1 has a total of 10 bits, after the right shift, the first sub information of node 1 becomes 0 bits. Next, the encoding side determines a first index 1 based on the binary-represented main information and first sub information of node 1, obtains an index of a target context model corresponding to node 1 from a context model index cache ContextBuffer based on this first index 1, obtains a target context model corresponding to node 1 based on the index of the target context model corresponding to node 1, and predictively encodes planar position information of node 1 on the i-th coordinate axis using the target context model corresponding to this node. At the same time, the encoding side adds 1 to the number of occurrences of first index 1 in countBuffer and compares the number of occurrences of first index 1 in countBuffer with a first predetermined threshold corresponding to the first layer of the partition tree of the sub information stored in CountTimeTh. If the number of occurrences of first index 1 in countBuffer is smaller than the first predetermined threshold corresponding to the first layer of the partition tree of the sub information stored in CountTimeTh, the partition tree of the sub information is not partitioned.

[0555] Next, when predictively encoding the planar position information of node 2 in the point cloud, first, the first context information and / or second context information corresponding to node 2 is determined based on the above steps, and the first context information and / or second context information corresponding to node 2 and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, KDown obtains the number of right-shift bits for the sub information corresponding to node 2. Because the sub information partitioning tree is not divided, the number of right-shift bits for the sub information corresponding to node 2 is the same as the number of right-shift bits for the sub information corresponding to node 1, and is the initial value of the number of right-shift bits for the sub information, for example, 10 bits. In this way, if the number of right-shift bits for the sub information corresponding to node 2 is 10 bits, the encoding side shifts the sub information of node 2 by 10 bits to the right. Since the sub information of node 2 has a total of 10 bits, after the right shift, the first sub information of node 2 becomes 0 bits. Next, the encoding side determines a first index 2 based on the binary-represented main information and first sub information of node 2, obtains an index of a target context model corresponding to node 2 from the context model index cache ContextBuffer based on this first index 2, obtains a target context model corresponding to node 2 based on the index of the target context model corresponding to node 2, and predictively encodes planar position information of node 2 on the i-th coordinate axis using the target context model corresponding to this node. At the same time, the encoding side adds 1 to the number of occurrences of the first index 2 in the countBuffer and compares the number of occurrences of the first index 2 in the countBuffer with a first predetermined threshold corresponding to the first layer of the sub information partition tree stored in CountTimeTh. If the number of occurrences of the first index 2 in the countBuffer is smaller than the first predetermined threshold corresponding to the first layer of the sub information partition tree stored in CountTimeTh, the sub information partition tree is not partitioned.

[0556] Assuming that the first index 1 is the same as the first index 2 and the first predetermined threshold corresponding to the first layer of the sub-information partitioning tree stored in CountTimeTh is 2, it can be determined that the number of times the first index 1 appears in countBuffer is equal to the first predetermined threshold corresponding to the first layer of the sub-information partitioning tree stored in CountTimeTh. At this time, the sub-information partitioning tree is partitioned, specifically, a non-complete binary tree partition is performed on the first layer of the sub-information partitioning tree to obtain a new sub-information partitioning tree.

[0557] At the same time, the number of right shift bits of the sub-information in KDown is updated to obtain the number of right shift bits of the sub-information corresponding to the second layer of the sub-information partitioning tree. For example, the number of right shift bits of the sub-information corresponding to the second layer is obtained by subtracting 1 from the number of right shift bits of the sub-information corresponding to the first layer, i.e., 10 bits - 1 bit = 9 bits.

[0558] Furthermore, set countBuffer to 0.

[0559] Referring to the above steps, the precision of the side information is gradually restored, and the partitioning tree of the side information shown in FIG. 13 is obtained.

[0560] In this way, when predictively encoding the planar position information on the i-th coordinate axis of the current node in the point cloud, the first context information and / or the second context information corresponding to the current node is determined based on the above steps, and the first context information and / or the second context information corresponding to the current node and the predetermined context information are divided into main information and sub information, for example, 8-bit main information and 10-bit sub information. Next, the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information is determined. As can be seen from the above, KDown stores the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information (i.e., the current layer obtained by the most recent partitioning). Therefore, the encoding side can obtain the number of right shift bits of the sub information corresponding to the last layer of the partitioning tree of the current sub information from KDown, and further determine the number of right shift bits of the sub information corresponding to this last layer as the number of right shift bits of the sub information corresponding to the current node.

[0561] Next, the encoding side selects a first piece of sub information from the binary-represented sub information of the current node based on the number of right-shift bits of the sub information corresponding to the current node.

[0562] For example, if the number of right-shift bits of the sub-information corresponding to the current node is n bits, the encoding side can right-shift the binary-represented sub-information of the current node by n+1 bits or n-1 bits to obtain the first sub-information.

[0563] For example, the binary-expressed sub-information of the current node is right-shifted by the number of right-shift bits of the sub-information corresponding to the current node to obtain the first sub-information. Assuming that the number of right-shift bits of the sub-information corresponding to the current node is n bits, the binary-expressed sub-information of the current node is right-shifted by n bits to obtain the first sub-information.

[0564] Next, the encoding side determines a first index based on the binary-represented main information and first sub-information of the current node.

[0565] The embodiment of the present application does not limit the specific manner in which the encoding side determines the first index based on the binary-represented main information and first sub information of the current node.

[0566] In one example, the encoding side obtains the first index corresponding to the current node based on the above equation (12).

[0567] The encoding side obtains a first index corresponding to the current node based on the above formula (12), then obtains a context model index corresponding to the first index from a predetermined context model index cache, and further records the context model index as an index of a target context model. In this way, the encoding side selects a target context model from a predetermined plurality of context models based on the target context model index, and further predictively encodes planar position information of the current node on the i-th coordinate axis using the target context model.

[0568] In some embodiments, after determining the index of the target context model based on the above steps, the encoding side updates the index of the target context model in the context model index cache to increase the probability of the index of the target context model.

[0569] In the embodiment of the present application, the encoding side, in addition to determining the target context model based on the above steps, also includes the steps of updating data and splitting the partition tree of the side information.

[0570] The embodiments of the present application do not limit the specific division method of the sub-information division tree.

[0571] In one example, each level of the sub-information division tree performs division of an incomplete binary tree.

[0572] In another example, each level of the sub-information division tree is a complete binary tree division.

[0573] In another example, some layers of the sub-information splitting tree perform splitting of non-complete binary trees, and some other layers perform splitting of complete binary trees.

[0574] Next, the process of dividing the sub-information division tree will be described.

[0575] In some embodiments, when the partitioning tree of the sub-information in the embodiments of the present application includes a hierarchy of incomplete binary trees, the method in the embodiments of the present application further includes the following step 1: Step 1: If the last layer of the current sub-information splitting tree is a non-complete binary tree layer and the number of occurrences of the first index of the last layer is equal to or greater than a first predetermined threshold corresponding to the last layer, perform binary tree splitting on the last layer to obtain a new sub-information splitting tree.

[0576] Based on the above steps, the encoding side determines a first index corresponding to the current node and an index of the target context model corresponding to the current node, and further determines whether to continue dividing the last layer of the partitioning tree of the current sub-information. Specifically, if the last layer of the partitioning tree of the current sub-information is an incomplete binary tree, the encoding side determines whether the number of times the first index corresponding to the current node appears in the last layer (i.e., the latest layer) of the partitioning tree of the current sub-information is equal to or greater than a first predetermined threshold corresponding to the last layer. If the encoding side determines that the number of times the first index corresponding to the current node appears in the last layer (i.e., the latest layer) of the partitioning tree of the current sub-information is equal to or greater than the first predetermined threshold corresponding to the last layer, it performs binary tree division on the last layer of the partitioning tree of the current sub-information to obtain a new partitioning tree of the sub-information.

[0577] As an example, the encoding side determines based on the above equation (13) and further divides the side information.

[0578] In the embodiment of the present application, the step of the encoding side performing binary tree division on the last layer of the current sub-information division tree to obtain a new sub-information division tree includes at least the following two cases: In case 1, if the last layer of the current sub-information splitting tree is not the last non-complete binary tree layer of the sub-information splitting tree, a non-complete binary tree split is performed on that last layer to obtain a new sub-information splitting tree. In case 2, if the last layer of the current sub-information splitting tree is the last non-complete binary tree layer of the sub-information splitting tree, a complete binary tree split is performed on that last layer to obtain a new sub-information splitting tree.

[0579] In an embodiment of the present application, in addition to the step of performing full binary tree division on the last layer of the current sub-information division tree to obtain a new sub-information division tree, the method further includes a step of updating the number of right shift bits of the sub-information, i.e., subtracting 1 from the number of right shift bits of the sub-information corresponding to the current node to obtain the number of right shift bits of the new sub-information.

[0580] For example, the encoding side obtains the number of right-shift bits for the new sub information based on the above equation (14).

[0581] On the other hand, the calculation formula for stateUpdate after the update is as shown in equation (15).

[0582] JPEG2026503046000079.jpg16167

[0583] In response, the precision of the side information corresponding to the current state decreases, i.e., KDown[state]--.

[0584] JPEG2026503046000080.jpg16167

[0585] In some embodiments, when the partitioning tree of the sub-information in the embodiments of the present application includes a hierarchy of complete binary trees, the method in the embodiments of the present application further includes the following steps 21 to 24. Step 21: if the last level of the partitioning tree of the current sub-information is a complete binary tree level, determine the right shift bit number of the sub-information corresponding to the last non-complete binary tree level of the partitioning tree of the current sub-information and a first predetermined threshold value. Step 22: Select a second side information from the binary-represented side information of the current node based on the right-shift bit number of the side information corresponding to the last non-complete binary tree layer. Step 23: Determine a second index based on the binary-represented primary information and second secondary information of the current node. Step 24: If the number of occurrences of the second index in the last hierarchy is greater than or equal to a first predetermined threshold corresponding to the last hierarchy of the non-complete binary tree, perform complete binary tree division on the last hierarchy to obtain a new sub-information division tree.

[0586] In this embodiment, when the sub-information partitioning tree includes a non-complete binary tree level and a complete binary tree level, the method determines whether to continue partitioning into the complete binary tree level based on the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level of the sub-information partitioning tree and a first predetermined threshold. Specifically, when the last level of the current sub-information partitioning tree is a complete binary tree level, the method determines the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level of the current sub-information partitioning tree and the first predetermined threshold. Then, the method selects second sub-information from the binary-expressed sub-information of the current node based on the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level. For example, the method right-shifts the binary-expressed sub-information of the current node by the number of right shift bits of the sub-information corresponding to the last non-complete binary tree level to obtain the second sub-information corresponding to the current node. Next, the method determines a second index based on the binary-expressed main information of the current node and the second sub-information. For example, the method multiplies the binary-expressed main information of the current node by the second sub-information to determine the second index.

[0587] Next, based on the above formula (17), it is determined whether the number of occurrences of the second index in the last layer of the partitioning tree of the current sub-information is equal to or greater than a first predetermined threshold corresponding to the last layer of the incomplete binary tree.

[0588] If the number of occurrences of the second index in the last layer of the current sub-information splitting tree is equal to or greater than a first predetermined threshold corresponding to the last non-complete binary tree layer, a complete binary tree split is performed on the last layer to obtain a new sub-information splitting tree.

[0589] At the same time, the encoding side updates the right shift bit number of the sub information, that is, subtracts 1 from the right shift bit number of the sub information corresponding to the current node to obtain the new right shift bit number of the sub information.

[0590] For example, the encoding side obtains the number of right-shift bits for the new sub information based on the above equation (14).

[0591] On the other hand, the calculation formula for stateUpdate after the update is as shown in the above formula (15).

[0592] JPEG2026503046000081.jpg16167

[0593] In response, the precision of the side information corresponding to the current state decreases, i.e., KDown[state]--.

[0594] JPEG2026503046000082.jpg16167

[0595] For example, assume that the sub-information partitioning tree includes four non-complete binary tree levels and two complete binary tree levels, as shown in FIG. 13. Assume that the last level of the current sub-information partitioning tree is the fifth level, as shown in FIG. 16. That is, the sub-information at the current time is partitioned into the fifth level. In this case, the fifth level is a complete binary tree level. Therefore, when determining whether to partition the fifth level, the encoding side first determines the number of right shift bits a and the first predetermined threshold b of the sub-information corresponding to the last non-complete binary tree level of the current sub-information partitioning tree, i.e., the fourth level. Next, the encoding side right-shifts the binary-represented sub-information of the current node by the number of right shift bits a of the sub-information corresponding to the last non-complete binary tree level to obtain second sub-information. Next, the encoding side multiplies the binary-represented main information of the current node by the second sub-information to obtain a second index corresponding to the current node. Then, it is determined whether the number of occurrences of the second index in the current final layer (i.e., the fifth layer) is equal to or greater than a first predetermined threshold b corresponding to the final layer of the non-complete binary tree, and if the number of occurrences of the second index in the fifth layer is equal to or greater than the first predetermined threshold b corresponding to the final layer of the non-complete binary tree, a complete binary tree division is performed on the fifth layer to obtain a new sub-information division tree.

[0596] As described above, the overall processing flow of Dynamic-OUBF is such that when the Dynamic-OUBF acts as a processor and receives the main information and sub-information of the current node as input, an index context of a target context model ranging from 0 to 255 can ultimately be output.

[0597] In some embodiments, to further reduce the number of context information, the step of obtaining the target context model based on the index of the target context model in the above S202-B21124 includes the following S202 to B211241 and S202 to B211242. S202-B211241, quantizing the index of the target context model to obtain a quantized model index. S202-B211242, obtaining a target context model based on the quantized model index.

[0598] In this embodiment, in order to further reduce the amount of context information, the index of the determined target context model is quantized to obtain a quantized model index, and then the target context model is obtained from a predetermined plurality of context models based on the quantized model index.

[0599] The embodiments of the present application do not limit the specific manner of quantizing the index of the target context model and obtaining the quantized model index.

[0600] In one possible embodiment, the index of the target context model is right-shifted by n bits to obtain the quantized model index, where n is a positive integer.

[0601] The examples of this application do not limit the specific value of n.

[0602] In one example, if n=2 bits, and the number of contexts before quantizat...

Claims

1. A point cloud decoding method, comprising: determining N area nodes of the current node, where N is a positive integer; and predictively decoding planar structure information of the current node based on placeholder information of the N area nodes.

2. The planar structure information of the current node includes planar position information of the current node, and the step of predictively decoding the planar structure information of the current node based on placeholder information of the N area nodes includes: determining planar structure information of the N area nodes based on placeholder information of the N area nodes; and predictively decoding planar position information of the current node based on planar structure information of the N area nodes.

3. The step of determining the planar structure information of the N area nodes based on the placeholder information of the N area nodes includes:

3. The method of claim 2, further comprising: determining, for any one of the N area nodes, at least one of plane identification information and plane position information of the area node based on placeholder information of the area node.

4. The step of predictively decoding planar position information of the current node based on planar structure information of the N area nodes includes: determining first context information and / or second context information corresponding to an i-th coordinate axis, which is an X-coordinate axis, a Y-coordinate axis, or a Z-coordinate axis, based on planar structure information of the N area nodes; and predictively decoding planar position information of the current node in the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis.

5. The step of determining first context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes:

5. The method of claim 4, further comprising determining first context information corresponding to the i-th coordinate axis based on planar structure information of P (P is a positive integer) area nodes among the N area nodes that are on the same plane as the current node.

6. The step of determining first context information corresponding to the i-th coordinate axis based on planar structure information of P area nodes among the N area nodes that are on the same plane as the current node includes: For any one of the P area nodes, performing a logical AND operation between planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node; and weighting the first values ​​corresponding to the P area nodes to obtain first context information corresponding to the ith coordinate axis.

7. The step of determining second context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes: The method of claim 4, further comprising determining second context information corresponding to the i-th coordinate axis based on planar structure information of Q (Q is a positive integer) area nodes among the N area nodes that are collinear and / or coaxial with the current node.

8. The step of determining second context information corresponding to the i-th coordinate axis based on planar structure information of Q area nodes that are collinear and / or coaxial with the current node among the N area nodes includes: For any one of the Q area nodes, performing a logical AND operation between planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node; and weighting the first values ​​corresponding to the Q region nodes to obtain second context information corresponding to the i-th coordinate axis.

9. The step of performing a logical AND operation between the planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node includes: The method according to claim 6 or 8, characterized in that it includes a step of performing a logical AND operation between the plane identification information and / or plane position information of the area node and the first predetermined value to obtain a first value corresponding to the area node.

10. The step of determining first context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes:

5. The method of claim 4, further comprising: determining first context information corresponding to the ith coordinate axis based on first planar structure information of the N area nodes, wherein the first planar structure information includes plane identification information or plane position information of the area nodes.

11. The step of determining first context information corresponding to the i-th coordinate axis based on first planar structure information of the N area nodes includes: For any one of the N area nodes, performing a logical AND operation between first planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a second value corresponding to the area node; and weighting the second values ​​corresponding to the N area nodes to obtain first context information corresponding to the ith coordinate axis.

12. The step of determining second context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes:

5. The method of claim 4, further comprising: determining second context information corresponding to the ith coordinate axis based on second planar structure information of the N area nodes, wherein the second planar structure information is planar identification information or planar position information of the area nodes.

13. The step of determining second context information corresponding to the i-th coordinate axis based on second planar structure information of the N area nodes includes: For any one of the N area nodes, performing a logical AND operation between the second planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a third value corresponding to the area node; and weighting third values ​​corresponding to the N region nodes to obtain second context information corresponding to the ith coordinate axis.

14. determining a number of left-shift bits corresponding to a target value, and determining a weight corresponding to the target value based on the number of left-shift bits, wherein the target value is a first value corresponding to the area node, a second value corresponding to the area node, or a third value corresponding to the area node; 14. The method of claim 6, 8, 11, or 13, further comprising: weighting the target value corresponding to at least one area node based on the weighting of the target value to obtain target context information corresponding to the i-th coordinate axis, wherein the at least one area node is P area nodes, Q area nodes, or N area nodes, and the target context information is first context information or second context information.

15. The step of predictively decoding planar position information of the current node in the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis includes:

5. The method of claim 4, further comprising: predictively decoding planar position information of the current node in the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis and predetermined context information.

16. The predetermined context information is Plane position information of the current node, which is obtained by making predictions using placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; the spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; the planar position of the node at the same division depth and at the same coordinates as the current node if they are in the same plane; 16. The method of claim 15, wherein the coordinate dimensions (i=0, 1, 2) are included.

17. The step of predictively decoding planar position information of the current node on the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis and predetermined context information includes: determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information; and predictively decoding planar position information of the current node in the ith coordinate axis based on the target context model.

18. The step of determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information includes: Dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information into main information and sub information; and determining the target context model based on the current node's primary information and some or all of the current node's secondary information.

19. determining the target context model based on the primary information of the current node and some or all of the secondary information of the current node, converting the current node's primary information and the current node's secondary information into a binary representation; determining a number of right shift bits of sub information corresponding to the current node, and selecting first sub information from the binary-represented sub information of the current node based on the number of right shift bits of the sub information corresponding to the current node, wherein an initial value of the number of right shift bits of the sub information is the total number of bits of the binary sub information; determining a first index based on the binary-represented main information and the first sub-information of the current node, and obtaining an index of the target context model from a predetermined context model index cache based on the first index; and obtaining the target context model based on an index of the target context model.

20. The step of selecting first sub information from the binary-represented sub information of the current node based on the number of right-shift bits of the sub information corresponding to the current node includes:

20. The method of claim 19, further comprising right-shifting the binary-represented side information of the current node by the number of right-shift bits of the side information corresponding to the current node to obtain the first side information.

21. The step of determining a right shift position of the sub-information corresponding to the current node includes: a step of determining the number of right-shift bits of sub information corresponding to the last layer of the current sub information division tree, the division tree of the sub information being obtained by binary tree division of the sub information starting from the most significant bit of the sub information; and determining a right shift bit number of the sub-information corresponding to the last layer as a right shift bit number of the sub-information corresponding to the current node.

22. 22. The method of claim 21, further comprising: if the last layer of the current sub-information partitioning tree is a non-complete binary tree layer and the number of occurrences of the first index in the last layer is equal to or greater than a first predetermined threshold corresponding to the last layer, performing binary tree partitioning on the last layer to obtain a new sub-information partitioning tree.

23. The step of dividing the last layer into binary trees to obtain a new sub-information division tree includes:

23. The method of claim 22, further comprising: if the last layer is not the last non-complete binary tree layer of the sub-information partitioning tree, performing a non-complete binary tree partitioning on the last layer to obtain the new sub-information partitioning tree.

24. The step of dividing the last layer into binary trees to obtain a new sub-information division tree includes:

23. The method of claim 22, further comprising: if the last layer is the last non-complete binary tree layer of a sub-information partitioning tree, performing a complete binary tree partitioning on the last layer to obtain the new sub-information partitioning tree.

25. If the last level of the partitioning tree of the current sub information is a complete binary tree level, determining the number of right-shift bits of the sub information corresponding to the last non-complete binary tree level of the partitioning tree of the current sub information and a first predetermined threshold value; selecting second side information from the binary-represented side information of the current node based on the number of right-shift bits of side information corresponding to the last non-complete binary tree layer; determining a second index based on the binary represented primary information of the current node and the second secondary information; 21. The method of claim 20, further comprising: if the number of occurrences of the second index in the last hierarchy is equal to or greater than a second predetermined threshold corresponding to the last non-complete binary tree hierarchy, performing a complete binary tree split on the last hierarchy to obtain a new sub-information split tree.

26. The method of claim 22 or 25, further comprising: subtracting one right-shift bit number of the side information corresponding to the current node from the right-shift bit number of the side information corresponding to the current node to obtain a new right-shift bit number of the side information.

27. The step of obtaining the target context model based on the index of the target context model includes: quantizing an index of the target context model to obtain a quantized model index; and obtaining the target context model based on the quantized model index.

28. quantizing the index of the target context model to obtain a quantized model index, 28. The method of claim 27, comprising right-shifting the target context model index by n bits, where n is a positive integer, to obtain the quantized model index.

29. 20. The method of claim 19, further comprising updating an index of the target context model in the context model index cache.

30. A point cloud encoding method, comprising: determining N area nodes of the current node, where N is a positive integer; and predictively encoding the plane structure information of the current node based on the placeholder information of the N area nodes.

31. The planar structure information of the current node includes planar position information of the current node, and the step of predictively encoding the planar structure information of the current node based on placeholder information of the N area nodes includes: determining planar structure information of the N area nodes based on placeholder information of the N area nodes; The method of claim 30, further comprising: predictively encoding planar position information of the current node based on planar structure information of the N area nodes.

32. The step of determining planar structure information of the N area nodes based on placeholder information of the N area nodes includes:

32. The method of claim 31 , further comprising: for any one of the N area nodes, determining at least one of plane identification information and plane position information of the area node based on placeholder information of the area node.

33. The step of predictively encoding the planar position information of the current node based on the planar structure information of the N area nodes includes: determining first context information and / or second context information corresponding to an i-th coordinate axis, which is an X-coordinate axis, a Y-coordinate axis, or a Z-coordinate axis, based on planar structure information of the N area nodes; and predictively encoding planar position information of the current node in the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis.

34. The step of determining first context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes: The method of claim 33, further comprising determining first context information corresponding to the ith coordinate axis based on planar structure information of P area nodes (P is a positive integer) among the N area nodes that are on the same plane as the current node.

35. The step of determining first context information corresponding to the i-th coordinate axis based on planar structure information of P area nodes among the N area nodes that are on the same plane as the current node includes: For any one of the P area nodes, performing a logical AND operation between planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node; and weighting the first values ​​corresponding to the P region nodes to obtain first context information corresponding to the ith coordinate axis.

36. The step of determining second context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes: The method of claim 33, further comprising determining second context information corresponding to the i-th coordinate axis based on planar structure information of Q (Q is a positive integer) area nodes among the N area nodes that are collinear and / or coaxial with the current node.

37. The step of determining second context information corresponding to the i-th coordinate axis based on planar structure information of Q area nodes that are collinear and / or coaxial with the current node among the N area nodes includes: For any one of the Q area nodes, performing a logical AND operation between planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node; and weighting the first values ​​corresponding to the Q region nodes to obtain second context information corresponding to the i-th coordinate axis.

38. The step of performing a logical AND operation between the planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a first value corresponding to the area node includes: The method according to claim 35 or 37, characterized in that it includes a step of performing a logical AND operation between the plane identification information and / or plane position information of the area node and the first predetermined value to obtain a first value corresponding to the area node.

39. The step of determining first context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes:

34. The method of claim 33, further comprising: determining first context information corresponding to the ith coordinate axis based on first planar structure information of the N area nodes, wherein the first planar structure information includes plane identification information or plane position information of the area nodes.

40. The step of determining first context information corresponding to the i-th coordinate axis based on first planar structure information of the N area nodes includes: For any one of the N area nodes, performing a logical AND operation between first planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a second value corresponding to the area node; and weighting the second values ​​corresponding to the N region nodes to obtain first context information corresponding to the ith coordinate axis.

41. The step of determining second context information corresponding to the i-th coordinate axis based on the planar structure information of the N area nodes includes: The method of claim 33, further comprising: determining second context information corresponding to the ith coordinate axis based on second planar structure information of the N area nodes, wherein the second planar structure information is planar identification information or planar position information of the area nodes.

42. The step of determining second context information corresponding to the i-th coordinate axis based on second planar structure information of the N area nodes includes: For any one of the N area nodes, performing a logical AND operation between the second planar structure information of the area node and a first predetermined value corresponding to the i-th coordinate axis to obtain a third value corresponding to the area node; and weighting third values ​​corresponding to the N region nodes to obtain second context information corresponding to the ith coordinate axis.

43. determining a number of left-shift bits corresponding to a target value, and determining a weight corresponding to the target value based on the number of left-shift bits, wherein the target value is a first value corresponding to the area node, a second value corresponding to the area node, or a third value corresponding to the area node; 43. The method of claim 35, 37, 40, or 42, further comprising: weighting a target value corresponding to at least one area node based on the weighting of the target value to obtain target context information corresponding to the i-th coordinate axis, wherein the at least one area node is P area nodes, Q area nodes, or N area nodes, and the target context information is first context information or second context information.

44. The step of predictively encoding planar position information of the current node on the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis includes:

34. The method of claim 33, further comprising predictively encoding planar position information of the current node in the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis and predetermined context information.

45. The predetermined context information is Plane position information of the current node, which is obtained by making predictions using placeholder information of neighboring nodes, and includes three elements: prediction with a low plane, prediction with a high plane, and unpredictable; the spatial distances "near" and "far" between the current node and a node at the same division depth and the same coordinates as the current node; the planar position of the node at the same division depth and at the same coordinates as the current node if they are in the same plane; 45. The method of claim 44, wherein the coordinate dimensions (i=0, 1, 2) are included.

46. The step of predictively encoding planar position information of the current node on the i-th coordinate axis based on first context information and / or the second context information corresponding to the i-th coordinate axis and predetermined context information includes: determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information; and predictively encoding planar position information of the current node on the i-th coordinate axis based on the target context model.

47. The step of determining a target context model based on the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information includes: Dividing the first context information and / or the second context information corresponding to the i-th coordinate axis and the predetermined context information into main information and sub information; and determining the target context model based on the current node's primary information and some or all of the current node's secondary information.

48. determining the target context model based on the primary information of the current node and some or all of the secondary information of the current node, converting the current node's primary information and the current node's secondary information into a binary representation; determining a number of right shift bits of sub information corresponding to the current node, and selecting first sub information from the binary-represented sub information of the current node based on the number of right shift bits of the sub information corresponding to the current node, wherein an initial value of the number of right shift bits of the sub information is the total number of bits of the binary sub information; determining a first index based on the binary-represented main information and the first sub-information of the current node, and obtaining an index of the target context model from a predetermined context model index cache based on the first index; and obtaining the target context model based on an index of the target context model.

49. The step of selecting first sub information from the binary-represented sub information of the current node based on the number of right-shift bits of the sub information corresponding to the current node includes:

49. The method of claim 48, further comprising right-shifting the binary-represented side information of the current node by the number of right-shift bits of the side information corresponding to the current node to obtain the first side information.

50. The step of determining a right shift position of the sub-information corresponding to the current node includes: a step of determining the number of right-shift bits of sub information corresponding to the last layer of the current sub information division tree, the division tree of the sub information being obtained by binary tree division of the sub information starting from the most significant bit of the sub information; and determining the number of right shift bits of the side information corresponding to the last layer as the number of right shift bits of the side information corresponding to the current node.

51. 51. The method of claim 50, further comprising: if the last layer of the current sub-information partitioning tree is a non-complete binary tree layer and the number of occurrences of the first index in the last layer is equal to or greater than a first predetermined threshold corresponding to the last layer, performing binary tree partitioning on the last layer to obtain a new sub-information partitioning tree.

52. The step of dividing the last layer into binary trees to obtain a new sub-information division tree includes:

52. The method of claim 51, further comprising the step of, if the last layer is not the last non-complete binary tree layer of the sub-information partitioning tree, performing a non-complete binary tree partitioning on the last layer to obtain the new sub-information partitioning tree.

53. The step of dividing the last layer into binary trees to obtain a new sub-information division tree includes:

52. The method of claim 51, further comprising, if the last layer is the last non-complete binary tree layer of a sub-information partitioning tree, performing a complete binary tree partitioning on the last layer to obtain the new sub-information partitioning tree.

54. If the last level of the partitioning tree of the current sub information is a complete binary tree level, determining the number of right-shift bits of the sub information corresponding to the last non-complete binary tree level of the partitioning tree of the current sub information and a first predetermined threshold value; selecting second side information from the binary-represented side information of the current node based on the number of right-shift bits of side information corresponding to the last non-complete binary tree layer; determining a second index based on the binary represented primary information of the current node and the second secondary information; 51. The method of claim 50, further comprising: if the number of occurrences of the second index in the last hierarchy is equal to or greater than a second predetermined threshold corresponding to the last non-complete binary tree hierarchy, performing a complete binary tree split on the last hierarchy to obtain a new sub-information split tree.

55. 55. The method of claim 51 or 54, further comprising: subtracting the right shift bit number of the side information corresponding to the current node by 1 to obtain the right shift bit number of a new side information.

56. The step of obtaining the target context model based on the index of the target context model includes: quantizing an index of the target context model to obtain a quantized model index; and obtaining the target context model based on the quantized model index.

57. quantizing the index of the target context model to obtain a quantized model index, 57. The method of claim 56, comprising right-shifting the target context model index by n bits, where n is a positive integer, to obtain the quantized model index.

58. 49. The method of claim 48, further comprising updating an index of the target context model in the context model index cache.

59. A point cloud decoding device, comprising: a determination unit for determining N (N is a positive integer) area nodes of the current node; a decoding unit for predictively decoding planar structure information of the current node based on placeholder information of the N area nodes.

60. A point cloud encoding device, comprising: a determination unit for determining N (N is a positive integer) area nodes of the current node; and an encoding unit for predictively encoding the plane structure information of the current node based on the placeholder information of the N area nodes.

61. An electronic device, a memory for storing a computer program; and a processor for calling and executing a computer program stored in the memory to perform the method of any one of claims 1 to 29 or 30 to 58.

62. 1. A computer-readable storage medium, comprising: A computer-readable storage medium for storing a computer program that causes a computer to execute the method according to any one of claims 1 to 29 or 30 to 58.