Encoding and decoding method, code stream, encoder, decoder and storage medium
Patent Information
- Application Number
- CN202380089491.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-06
- Publication Date
- 2025-08-12
AI Technical Summary
In point cloud encoding and decoding, the existing technology fails to fully utilize the correlation of planar structure information between adjacent frames, resulting in low point cloud geometry encoding efficiency and reduced encoding and decoding performance.
By predicting the plane structure information of the node in the prediction frame of the current node based on the current node at the encoding and decoding ends, the target context information is determined, and the target context information is used to encode and decode the plane position, thereby removing the redundant plane structure information between adjacent frames. to improve the efficiency of geometric information encoding.
It effectively improves the geometric information coding efficiency and encoding and decoding performance of point clouds. By considering the plane structure correlation of nodes in the prediction frame, the encoding process is optimized and the data compression rate is improved.
Smart Images

Figure CN120476597A_ABST
Abstract
Description
Coding and decoding method, code stream, encoder, decoder and storage medium Technical Field
[0001] The embodiments of the present application relate to the field of point cloud encoding and decoding technology, and in particular to an encoding and decoding method, a bit stream, an encoder, a decoder, and a storage medium. Background Art
[0002] In the geometry-based point cloud compression (G-PCC) codec framework, the point cloud's geometric information and the attribute information corresponding to each point are encoded separately. The geometric information can be divided into octree-based geometry encoding and decoding and prediction tree-based geometry encoding and decoding.
[0003] In related technologies, when the current node meets the plane coding conditions, due to incomplete consideration, for example, only some prior reference information is used to predict the plane position information of the current node, thereby reducing the geometric coding efficiency of the current node.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a coding and decoding method, a code stream, an encoder, a decoder, and a storage medium, which can improve the geometric coding efficiency of point clouds and thereby improve the coding and decoding performance of point clouds.
[0006] The technical solution of the embodiment of the present application can be implemented as follows:
[0007] In a first aspect, an embodiment of the present application provides a decoding method, applied to a decoder, the method comprising:
[0008] Determining, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame;
[0009] Determine context indication information of the current node based on the plane structure information of the preset node;
[0010] determining target context information according to the context indication information;
[0011] The code stream is decoded based on the target context information to determine the plane position information of the current node.
[0012] In a second aspect, an embodiment of the present application provides an encoding method, applied to an encoder, the method comprising:
[0013] Determining, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame;
[0014] Determine context indication information of the current node based on the plane structure information of the preset node;
[0015] determining target context information according to the context indication information;
[0016] Determine the plane position information of the current node, encode the plane position information of the current node based on the target context information, and write the obtained encoded bits into the bitstream.
[0017] In a third aspect, an embodiment of the present application provides a code stream, which is generated by bit encoding based on information to be encoded; wherein the information to be encoded includes at least: planar position information of the current node.
[0018] In a fourth aspect, an embodiment of the present application provides an encoder, comprising a first determining unit and an encoding unit; wherein,
[0019] A first determining unit is configured to determine, based on a predicted node corresponding to the current node in a predicted frame, plane structure information of a preset node of the current node, wherein the preset node includes the predicted node and at least one target node in the predicted frame; determine context indication information of the current node based on the plane structure information of the preset node; determine target context information based on the context indication information; and determine plane position information of the current node;
[0020] The encoding unit is configured to encode the plane position information of the current node based on the target context information, and write the obtained encoding bits into the bitstream.
[0021] In a fifth aspect, an embodiment of the present application provides an encoder, comprising a first memory and a first processor; wherein,
[0022] a first memory for storing a computer program capable of running on the first processor;
[0023] The first processor is configured to execute the method according to the second aspect when running a computer program.
[0024] In a sixth aspect, an embodiment of the present application provides a decoder, the decoder comprising a second determining unit and a decoding unit; wherein,
[0025] a second determining unit configured to determine, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame; determine context indication information of the current node according to the plane structure information of the preset node; and determine target context information according to the context indication information;
[0026] The decoding unit is configured to decode the code stream based on the target context information to determine the plane position information of the current node.
[0027] In a seventh aspect, an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor; wherein,
[0028] a second memory for storing a computer program capable of running on the second processor;
[0029] The second processor is configured to execute the method according to the first aspect when running a computer program.
[0030] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program, which, when executed, implements the method described in the first aspect or the method described in the second aspect.
[0031] The embodiments of the present application provide a coding and decoding method, a bitstream, an encoder, a decoder, and a storage medium. Whether at the encoding end or the decoding end, the plane structure information of the preset node of the current node is determined based on the prediction node corresponding to the current node in the prediction frame, wherein the preset node includes the prediction node and at least one target node in the prediction frame; the context indication information of the current node is determined based on the plane structure information of the preset node; and the target context information is determined based on the context indication information. In this way, at the encoding end, after determining the plane position information of the current node, the plane position information of the current node is encoded based on the target context information, and the obtained encoding bits are written into the bitstream; and at the decoding end, the bitstream can be decoded based on the target context information to determine the plane position information of the current node. That is to say, in the process of encoding and decoding the planar position information of the current node using the target context information, the target context information can be determined by considering the planar structure information of the predicted node in the predicted frame; in this way, since the correlation of the planar structure information between corresponding nodes in adjacent predicted frames is taken into account, the geometric information encoding efficiency of the point cloud can be effectively improved; at the same time, the time domain correlation between adjacent predicted frames is used to remove the redundancy of the planar structure information between adjacent frames, which can further improve the geometric information encoding efficiency of the point cloud, thereby improving the encoding and decoding performance of the point cloud. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] FIG1A is a schematic diagram of a three-dimensional point cloud image;
[0033] FIG1B is a partially enlarged schematic diagram of a three-dimensional point cloud image;
[0034] FIG2A is a schematic diagram of a point cloud image at different viewing angles;
[0035] FIG2B is a schematic diagram of a data storage format corresponding to FIG2A ;
[0036] FIG3 is a schematic diagram of a network architecture for point cloud encoding and decoding;
[0037] FIG4A is a schematic block diagram of a G-PCC encoder;
[0038] FIG4B is a schematic block diagram of a G-PCC decoder;
[0039] FIG5A is a schematic diagram of a low plane position;
[0040] FIG5B is a schematic diagram of a high plane position;
[0041] FIG6 is a schematic diagram of a node coding sequence;
[0042] FIG7A is a schematic diagram of plane identification information;
[0043] FIG7B is a schematic diagram of another type of planar identification information;
[0044] FIG8 is a schematic diagram of IDCM encoding;
[0045] FIG9A is a schematic diagram of an intersection of seed blocks;
[0046] FIG9B is a schematic diagram of triangular patch fitting of a sub-block;
[0047] FIG9C is a schematic diagram of upsampling of a sub-block;
[0048] FIG10 is a schematic diagram of a flowchart of a decoding method provided in an embodiment of the present application;
[0049] FIG11 is a schematic diagram of inter-frame plane coding provided by an embodiment of the present application;
[0050] FIG12 is a schematic diagram of the positional relationship between a prediction node and neighboring nodes provided in an embodiment of the present application;
[0051] FIG13 is a schematic diagram of another positional relationship between a prediction node and neighboring nodes provided in an embodiment of the present application;
[0052] FIG14 is a schematic diagram of neighborhood nodes at the same division depth and the same coordinates provided by an embodiment of the present application;
[0053] FIG15 is a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;
[0054] FIG16 is a schematic diagram of sibling nodes of a current node provided in an embodiment of the present application;
[0055] FIG17 is a schematic diagram of the intersection of a laser radar and a node provided in an embodiment of the present application;
[0056] FIG18 is a schematic diagram of a current node located at a low plane position of a parent node provided by an embodiment of the present application;
[0057] FIG19 is a schematic diagram of a high-plane position of a current node located at a parent node according to an embodiment of the present application;
[0058] FIG20 is a schematic diagram of predictive coding of planar position information of a laser radar point cloud provided in an embodiment of the present application;
[0059] FIG21 is a schematic diagram of the structure of an encoder provided in an embodiment of the present application;
[0060] FIG22 is a schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application;
[0061] FIG23 is a schematic diagram of the structure of a decoder provided in an embodiment of the present application;
[0062] FIG24 is a schematic diagram of a specific hardware structure of a decoder provided in an embodiment of the present application;
[0063] FIG25 is a schematic diagram of the composition structure of a coding and decoding system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] In order to enable a more detailed understanding of the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below with reference to the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present application.
[0065] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.
[0066] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0067] It should also be pointed out that the terms "first\second\third" involved in the embodiments of the present application are only used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0068] Point cloud is a three-dimensional representation of the surface of an object. Point cloud (data) of the surface of an object can be collected through acquisition equipment such as photoelectric radar, lidar, laser scanner, and multi-view camera.
[0069] A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene. Figure 1A shows a three-dimensional point cloud image and Figure 1B shows a partially enlarged view of the three-dimensional point cloud image. It can be seen that the point cloud surface is composed of densely distributed points.
[0070] In a two-dimensional image, each pixel contains information and is distributed regularly, so there's no need to record its location. However, the distribution of points in a point cloud in three-dimensional space is random and irregular, so recording the location of each point in space is necessary to fully represent the point cloud. Similar to a two-dimensional image, each location in the acquisition process has corresponding attribute information, typically an RGB color value, which reflects the object's color. For a point cloud, in addition to color information, each point's attribute information often includes a reflectance value, which reflects the surface texture of the object. Therefore, a point in a point cloud can include both location information and attribute information. For example, the location information of a point can be its three-dimensional coordinates (x, y, z). The location information of a point can also be referred to as its geometric information. For example, the attribute information of a point can include color information (three-dimensional color information) and / or reflectance (one-dimensional reflectance information r). For example, the color information can be information in any color space. For example, the color information can be RGB information, where R represents red (R), G represents green (G), and B represents blue (B). For another example, the color information may be luminance and chrominance (YCbCr, YUV) information, where Y represents brightness (Luma), Cb (U) represents blue color difference, and Cr (V) represents red color difference.
[0071] For example, a point cloud generated using laser measurement principles can include both its 3D coordinate information and its reflectivity. For another example, a point cloud generated using photogrammetry principles can include both its 3D coordinate information and its 3D color information. For another example, a point cloud generated using a combination of laser measurement and photogrammetry principles can include both its 3D coordinate information, its reflectivity value, and its 3D color information.
[0072] Figures 2A and 2B show a point cloud image and its corresponding data storage format. Figure 2A provides six viewing angles of the point cloud image, while Figure 2B consists of a file header and data. The header includes the data format, data representation type, the total number of points in the point cloud, and the content represented by the point cloud. For example, the point cloud is in ".ply" format, represented by ASCII code, with a total of 207,242 points. Each point has 3D coordinate information (x, y, z) and 3D color information (r, g, b).
[0073] Point clouds can be divided into the following categories according to the acquisition method:
[0074] Static point cloud: the object is stationary and the device that acquires the point cloud is also stationary;
[0075] Dynamic point cloud: The object is moving, but the device that obtains the point cloud is stationary;
[0076] Dynamic point cloud acquisition: The device used to acquire the point cloud is in motion.
[0077] For example, point clouds can be divided into two categories according to their usage:
[0078] Category 1: Machine perception point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, and disaster relief robots;
[0079] Category 2: Human eye perception point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, 3D immersive communication, and 3D immersive interaction.
[0080] Point clouds can flexibly and conveniently express the spatial structure and surface properties of three-dimensional objects or scenes. Moreover, since point clouds are obtained by directly sampling real objects, they can provide a strong sense of reality while ensuring accuracy. Therefore, they are widely used, including virtual reality games, computer-aided design, geographic information systems, automatic navigation systems, digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive remote presentation, and three-dimensional reconstruction of biological tissues and organs.
[0081] Point clouds are primarily collected through computer generation, 3D laser scanning, and 3D photogrammetry. Computers can generate point clouds of virtual 3D objects and scenes; 3D laser scanning can obtain point clouds of static real-world 3D objects or scenes, generating millions of point clouds per second; and 3D photogrammetry can obtain point clouds of dynamic real-world 3D objects or scenes, generating tens of millions of point clouds per second. These technologies reduce the cost and time required to acquire point cloud data while improving data accuracy. While changes in point cloud data acquisition methods have made it possible to acquire large amounts of point cloud data, the processing of this massive amount of 3D point cloud data is facing bottlenecks due to storage space and transmission bandwidth constraints, as application demands grow.
[0082] For example, taking a point cloud video with a frame rate of 30 frames per second (fps), each frame contains 700,000 points, and each point has coordinate information (xyz, float) and color information (RGB, uchar). The data volume of a 10-second point cloud video is approximately 0.7 million × (4 bytes × 3 + 1 byte × 3) × 30 fps × 10 seconds = 3.15 GB. Where 1 byte is 10 bits, and the YUV sampling format is 4:2:0, and the frame rate is 24 fps, the data volume of a 1280 × 720 2D video is approximately 1280 × 720 × 12 bits × 24 fps × 10 seconds ≈ 0.33 GB. The data volume of a 10-second two-view 3D video is approximately 0.33 × 2 = 0.66 GB. This shows that the data volume of a point cloud video far exceeds that of a 2D or 3D video of the same length. Therefore, in order to better realize data management, save server storage space, and reduce the transmission traffic and transmission time between the server and the client, point cloud compression has become a key issue in promoting the development of the point cloud industry.
[0083] That is to say, since the point cloud is a collection of massive points, storing the point cloud not only consumes a lot of memory, but is also not conducive to transmission. There is also not enough bandwidth to support direct transmission of the point cloud at the network layer without compression. Therefore, the point cloud needs to be compressed.
[0084] Currently, the point cloud coding framework that can compress point clouds can be the geometry-based Point Cloud Compression (G-PCC) codec framework or the video-based Point Cloud Compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Standard (AVS). The G-PCC codec framework can be used to compress the first type of static point clouds and the third type of dynamically acquired point clouds, and the V-PCC codec framework can be used to compress the second type of dynamic point clouds. The G-PCC codec framework is also called the point cloud codec TMC13, and the V-PCC codec framework is also called the point cloud codec TMC2.
[0085] The embodiment of the present application provides a network architecture of a point cloud encoding and decoding system including a decoding method and an encoding method. FIG3 is a schematic diagram of a network architecture of a point cloud encoding and decoding system provided by the embodiment of the present application. As shown in FIG3 , the network architecture includes one or more electronic devices 13 to 1N and a communication network 01, wherein the electronic devices 13 to 1N can perform video interaction through the communication network 01. During implementation, the electronic device can be various types of devices with point cloud encoding and decoding functions. For example, the electronic device can include a mobile phone, a tablet computer, a personal computer, a personal digital assistant, a navigator, a digital phone, a video phone, a television, a sensor device, a server, etc., and the embodiment of the present application does not limit this.
[0086] Among them, the decoder or encoder in the embodiment of the present application can be the above-mentioned electronic device. In other words, the electronic device in the embodiment of the present application has point cloud encoding and decoding functions, generally including a point cloud encoder (i.e., encoder) and a point cloud decoder (i.e., decoder).
[0087] The following describes point cloud compression technology using the G-PCC encoding and decoding framework as an example.
[0088] As you can understand, in the point cloud G-PCC codec framework, the point cloud data to be encoded is first divided into multiple slices through slice partitioning. In each slice, the geometric information of the point cloud and the attribute information corresponding to each point cloud are encoded separately.
[0089] Figure 4A shows a schematic diagram of the G-PCC encoder architecture. As shown in Figure 4A, during the geometry encoding process, the geometric information is transformed so that the entire point cloud is contained within a bounding box. Quantization is then performed. This quantization step primarily serves a scaling purpose. Due to quantization rounding, the geometric information of some point clouds becomes identical. Parameters are then used to determine whether to remove duplicate points. This process of quantization and removing duplicate points is also known as voxelization. The bounding box is then partitioned into an octree or a prediction tree is constructed. During this process, arithmetic coding is performed on the points in the leaf nodes of the partition to generate a binary geometry bitstream. Alternatively, arithmetic coding is performed on the intersection points (vertices) generated by the partition (surface fitting is performed based on the intersection points) to generate a binary geometry bitstream. During the attribute encoding process, after the geometry encoding is completed and the geometric information is reconstructed, color conversion is performed to convert the color information (i.e., attribute information) from the RGB color space to the YUV color space. The reconstructed geometry information is then used to recolor the point cloud so that the unencoded attribute information corresponds to the reconstructed geometry information. Attribute encoding is mainly performed on color information. In the color information encoding process, there are two main transformation methods. One is the distance-based lifting transformation that relies on the level of detail (LOD) division, and the other is the direct region adaptive hierarchical transformation (RAHT). Both methods convert color information from the spatial domain to the frequency domain, obtain high-frequency coefficients and low-frequency coefficients through transformation, and finally quantize the coefficients. Then, the quantized coefficients are arithmetically encoded to generate a binary attribute bit stream.
[0090] Figure 4B shows a schematic diagram of the composition framework of a G-PCC decoder. As shown in Figure 4B, for the acquired binary bit stream, the geometric bit stream and attribute bit stream in the binary bit stream are first decoded independently. When decoding the geometric bit stream, the geometric information of the point cloud is obtained through arithmetic decoding-reconstruction of the octree / reconstruction of the prediction tree-reconstruction of the geometry-coordinate inverse conversion; when decoding the attribute bit stream, the attribute information of the point cloud is obtained through arithmetic decoding-inverse quantization-LOD partitioning / RAHT-color inverse conversion, and the point cloud data to be encoded (i.e., the output point cloud) is restored based on the geometric information and attribute information.
[0091] It should be noted that, as shown in FIG4A or FIG4B , the current geometric coding and decoding of G-PCC can be divided into octree-based geometric coding and decoding (marked by a dotted box) and prediction tree-based geometric coding and decoding (marked by a dotted box).
[0092] For Octree geometry encoding (OctGeomEnc), the octree-based geometry encoding includes: first, coordinate conversion of the geometric information so that all point clouds are contained in a Bounding Box. Then quantization is performed. This step of quantization mainly plays a role of scaling. Due to the quantization rounding, the geometric information of some points is the same. The parameters are used to decide whether to remove duplicate points. The process of quantization and removal of duplicate points is also called voxelization. Next, the Bounding Box is continuously divided into trees (such as octrees, quadtrees, binary trees, etc.) in the order of breadth-first traversal, and the placeholder code of each node is encoded. In related technologies, a company proposed an implicit geometric division method. First, the bounding box of the point cloud is calculated. Assume d x >d y >d z , the bounding box corresponds to a cuboid. When geometrically partitioning, the binary tree partitioning will be performed based on the x-axis to obtain two child nodes; until d is satisfied x =d y >d z When the conditions are met, the quadtree partitioning will be performed based on the x and y axes to obtain four child nodes; when d is finally satisfied x =d y =d z When the conditions are met, the octree partitioning will continue until the leaf node obtained by the partitioning is a 1×1×1 unit cube. The partitioning will stop and the points in the leaf node will be encoded to generate a binary code stream. In the process of binary tree / quadtree / octree partitioning, two parameters are introduced: K and M. Parameter K indicates the maximum number of binary tree / quadtree partitions before octree partitioning; parameter M is used to indicate that the minimum block side length corresponding to binary tree / quadtree partitioning is 2 M . At the same time, K and M must meet the following conditions: Assume d max =max(d x ,d y ,d z ), d min =min(d x ,d y ,d z ), parameter K satisfies: K ≥ d max -d min ; Parameter M satisfies: M≥d minThe reason why the parameters K and M meet the above conditions is that in the current G-PCC geometric implicit partitioning process, the priority of the partitioning method is binary tree, quadtree and octree. When the node block size does not meet the conditions of binary tree / quadtree, the node will be divided into octree until the minimum unit of leaf node is 1×1×1. The octree-based geometric information coding mode can effectively encode the geometric information of the point cloud by utilizing the correlation between adjacent points in space. However, for some relatively flat nodes or nodes with planar characteristics, the coding efficiency of the point cloud geometric information can be further improved by utilizing the plane coding mode.
[0093] Exemplarily, Figure 5A and Figure 5B provide a kind of plane position schematic diagram.Wherein, Figure 5A shows a kind of low plane position schematic diagram in the Z-axis direction, and Figure 5B shows a kind of high plane position schematic diagram in the Z-axis direction.As shown in Figure 5A, here (a), (a0), (a1), (a2), (a3) all belong to the low plane position in the Z-axis direction. Taking (a) as an example, it can be seen that the four child nodes occupied in the current node are all located at the low plane position of the current node in the Z-axis direction, so it can be considered that the current node belongs to a Z plane and is a low plane in the Z-axis direction. Similarly, as shown in Figure 5B, here (b), (b0), (b1), (b2), (b3) all belong to the high plane position in the Z-axis direction. Taking (b) as an example, it can be seen that the four child nodes occupied in the current node are located at the high plane position of the current node in the Z-axis direction, so it can be considered that the current node belongs to a Z plane and is a high plane in the Z-axis direction.
[0094] Furthermore, comparing the efficiency of octree coding and plane coding, Figure 6 provides a schematic diagram of the node coding sequence, i.e., node coding is performed in the order of 0, 1, 2, 3, 4, 5, 6, and 7 as shown in Figure 6. Here, if octree coding is used for (a) in Figure 5A, the placeholder information of the current node is represented as: 11001100. However, if plane coding is used, first, an identifier must be encoded to indicate that the current node is a plane in the Z-axis direction. Secondly, if the current node is a plane in the Z-axis direction, the plane position of the current node must also be represented. Finally, only the placeholder information of the lower plane node in the Z-axis direction needs to be encoded (i.e., the placeholder information of the four child nodes 0, 2, 4, and 6). Therefore, encoding the current node using plane coding only requires 6 bits, which can reduce the representation by 2 bits compared to the related art octree coding. Based on this analysis, plane coding has significantly higher coding efficiency than octree coding. Therefore, for an occupied node, if a plane encoding method is used in a certain dimension, it is first necessary to represent the plane identification (planarMode) and plane position (PlanePos) information of the current node in that dimension, and then encode the occupancy information of the current node based on the plane information of the current node. For example, FIG7A shows a schematic diagram of plane identification information. As shown in FIG7A, there is a low plane in the Z-axis direction; correspondingly, the value of the plane identification information is true (true) or 1, that is, planarMode_ Z = true; the plane position information is the low plane (low), that is, PlanePosition_ Z =low. FIG7B shows another schematic diagram of plane identification information. As shown in FIG7B, here it is not a plane in the Z-axis direction; correspondingly, the value of the plane identification information is false (false) or 0, that is, planarMode_ Z =false.
[0095] It should be noted that for PlaneMode_ i :0 means the current node is not a plane in the i-axis direction, 1 means the current node is a plane in the i-axis direction. If the current node is a plane in the i-axis direction, then for PlanePosition_ i : 0 means the current node is a low plane in the i-axis direction, and 1 means the current node is a high plane in the i-axis direction. Here, i represents the coordinate dimension, which can be the X-axis direction, Y-axis direction, or Z-axis direction, so i = 0, 1, 2.
[0096] However, the octree-based geometric information coding mode only has an efficient compression rate for points that are correlated in space. For points that are isolated in the geometric space, the use of the Direct Coding Model (DCM) can greatly reduce the complexity. For all nodes in the octree, the use of DCM is not indicated by flag information, but is inferred from the parent node and neighbor information of the current node. There are three ways to determine whether the current node is eligible for DCM coding, as follows:
[0097] (1) The current node has no sibling child nodes, that is, the parent node of the current node has only one child node, and the parent node of the parent node of the current node has only two occupied child nodes, that is, the current node has at most one neighbor node.
[0098] (2) The parent node of the current node has only one child node, the current node, and the six neighbor nodes that share a face with the current node are all empty nodes.
[0099] (3) The number of sibling nodes of the current node is greater than 1.
[0100] Exemplarily, FIG8 provides a schematic diagram of inferred direct coding model (IDCM) coding. If the current node does not have the DCM coding qualification, it will be divided into octrees. If it has the DCM coding qualification, the number of points contained in the node will be further determined. When the number of points is less than a threshold (for example, 2), the node will be DCM-encoded, otherwise the octree division will continue. When the DCM coding mode is applied, it is first necessary to encode whether the current node is a true isolated point, that is, IDCM_flag. When IDCM_flag is true, the current node is DCM-encoded, otherwise octree coding is still used. When the current node meets the DCM coding requirements, the DCM coding mode of the current node needs to be encoded. There are currently two DCM modes: (a) there is only one point (or multiple points, but they are duplicate points); (b) there are two points. Finally, the geometric information of each point needs to be encoded. Assuming that the side length of the node is 2 d When encoding each component of the node's geometric coordinates, d bits are required, and these bits are directly encoded into the bitstream. It is important to note that when encoding LiDAR point clouds, the efficiency of geometric information coding can be further improved by predictively encoding the three-dimensional coordinate information using LiDAR acquisition parameters.
[0101] It's also important to note that when partitioning nodes into leaf nodes, the number of duplicate points in the leaf nodes must be encoded in the case of lossless geometric coding. Ultimately, the placeholder information for all nodes is encoded to generate a binary bitstream. Furthermore, G-PCC currently introduces a plane coding mode. During the geometric partitioning 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 conditions for being in the same plane, the child nodes of the current node are represented using that plane.
[0102] For octree-based geometric decoding, the decoder follows a breadth-first traversal. Before decoding each node's occupancy information, it first uses the reconstructed geometric information to determine whether the current node is for plane decoding or IDCM decoding. If the current node meets the requirements for plane decoding, it first decodes the plane identifier and plane position information of the current node. Then, based on the plane information, it decodes the current node's occupancy information. If the current node meets the requirements for IDCM decoding, it first decodes whether the current node is a true IDCM node. If so, it continues to parse the current node's DCM decoding mode, then obtains the number of points in the current DCM node, and finally decodes the geometry of each point. For nodes that do not meet either plane decoding or DCM decoding requirements, the current node's occupancy information is decoded. By continuously parsing in this way, the placeholder code of each node is obtained, and the node is continuously partitioned until a 1x1x1 unit cube is obtained. The number of points contained in each leaf node is parsed, and the geometrically reconstructed point cloud information is finally recovered.
[0103] For triangle soup (trisoup)-based geometric information coding, geometric partitioning must also be performed first in the trisoup-based geometric information coding framework. However, unlike geometric information coding based on binary trees, quadtrees, and octrees, this method does not require step-by-step partitioning of the point cloud into unit cubes with side lengths of 1×1×1. Instead, the partitioning stops when the sub-blocks (blocks) have a side length of W. Based on the surface formed by the distribution of the point cloud in each block, the surface and the twelve edges of the block are obtained. The vertex coordinates of each block are encoded in sequence to generate a binary code stream.
[0104] For trisoup-based point cloud geometry reconstruction, when performing point cloud geometry reconstruction at the decoding end, the vertex coordinates are first decoded to complete the triangle face reconstruction. This process is shown in Figures 9A, 9B, and 9C. Among them, there are three intersection points (v1, v2, v3) in the block shown in Figure 9A. The set of triangle faces formed by these three intersection points in a certain order is called triangle soup, or trisoup, as shown in Figure 9B. Afterwards, sampling is performed on the triangle face set, and the obtained sampling points are used as the reconstructed point cloud within the block, as shown in Figure 9C.
[0105] Predictive geometry coding (PredGeomTree) involves first sorting the input point cloud. Currently used sorting methods include unordered, Morton order, azimuth order, and radial distance order. At the encoding end, the prediction tree structure is established using two different methods: KD-Tree (high-latency slow mode) and low-latency fast mode (using lidar calibration information). When using lidar calibration information, each point is assigned to a different laser, and a prediction tree structure is established based on the different lasers. Next, based on the prediction tree structure, each node in the prediction tree is traversed. Different prediction modes are selected to predict the node's geometric position information to obtain a prediction residual, and the geometric prediction residual is quantized using a quantization parameter. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary bitstream.
[0106] For geometric decoding based on the prediction tree, the decoding end continuously parses the bitstream to reconstruct the prediction tree structure. Secondly, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing, and the prediction residual is dequantized to restore the reconstructed geometric position information of each node, finally completing the geometric reconstruction at the decoding end.
[0107] After the geometric encoding is completed, the geometric information needs to be reconstructed. At present, attribute encoding is mainly performed on color information. First, the color information is converted from the RGB color space to the YUV color space. Then, the point cloud is recolored using the reconstructed geometric information so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, there are two main transformation methods. One is the distance-based lifting transformation that relies on LOD partitioning, and the other is to directly perform RAHT transformation. Both methods will convert the color information from the spatial domain to the frequency domain, and obtain high-frequency coefficients and low-frequency coefficients through transformation. Finally, the coefficients are quantized and encoded to generate a binary code stream, as shown in Figures 4A and 4B.
[0108] Furthermore, when using geometric information to predict attribute information, Morton codes can be used to perform nearest neighbor search. The Morton code corresponding to each point in the point cloud can be obtained from the geometric coordinates of the point. The specific method for calculating the Morton code is described below. For a three-dimensional coordinate represented by a d-bit binary number for each component, its three components can be expressed as:
[0109]
[0110] Among them, x l ,y l ,z l ∈{0,1 are the binary values corresponding to the highest bit (l=1) to the lowest bit (l=d) of x, y, and z respectively. The Morton code M is to arrange x, y, and z in a crosswise order starting from the highest bit. l ,y l ,z l To the lowest bit, the calculation formula of M is as follows:
[0111]
[0112] Among them, m l′ ∈{0,1} are the values of the highest bit (l′=1) to the lowest bit (l′=3d) of M. After obtaining the Morton code M of each point in the point cloud, the points in the point cloud are arranged in ascending order of the Morton code, and the weight value w of each point is set to 1.
[0113] It can also be understood that for the G-PCC codec framework, the general test conditions are as follows:
[0114] (1) There are 4 test conditions:
[0115] Condition 1: The geometric position is limited and the attributes are lost;
[0116] Condition 2: Geometric position lossless, attribute lossy;
[0117] Condition 3: Geometric position lossless, attribute loss limited;
[0118] Condition 4: Geometric position and attributes are lossless.
[0119] (2) The general test sequence includes four categories: Cat1A, Cat1B, Cat3-fused, and Cat3-frame. Among them, Cat2-frame point cloud only contains reflectance attribute information, Cat1A and Cat1B point clouds only contain color attribute information, and Cat3-fused point cloud contains both color and reflectance attribute information.
[0120] (3) Technical routes: There are two types in total, which are distinguished by the algorithm used for geometric compression.
[0121] Technical route 1: Octree encoding branch.
[0122] At the encoding end, the bounding box is divided into sub-cubes in sequence, and the non-empty sub-cubes (containing points in the point cloud) are divided again until the leaf node obtained is a 1×1×1 unit cube. In the case of geometric lossless coding, the number of points contained in the leaf node needs to be encoded, and finally the geometric octree encoding is completed to generate a binary code stream.
[0123] At the decoding end, the decoding end obtains the placeholder code of each node by continuously parsing in the order of breadth-first traversal, and continuously divides the nodes in turn until a 1×1×1 unit cube is obtained. In the case of geometric lossless decoding, it is necessary to parse the number of points contained in each leaf node and finally recover the geometrically reconstructed point cloud information.
[0124] Technical route 2: prediction tree encoding branch.
[0125] At the encoding end, the prediction tree structure is established using two different methods: based on KD-Tree (high-latency slow mode) and using lidar calibration information (low-latency fast mode). Using lidar calibration information, each point can be divided into different lasers, and the prediction tree structure is established according to different lasers. Next, based on the structure of the prediction tree, each node in the prediction tree is traversed, and the geometric position information of the node is predicted by selecting different prediction modes to obtain the prediction residual, and the geometric prediction residual is quantized using the quantization parameter. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.
[0126] At the decoding end, the decoding end reconstructs the prediction tree structure by continuously parsing the bit stream. Secondly, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing, and the prediction residual is dequantized to restore the reconstructed geometric position information of each node, finally completing the geometric reconstruction at the decoding end.
[0127] Simply put, when the current node meets the conditions for plane coding, related technologies only use some prior reference information to predict and decode the current node's plane position information, without considering the temporal correlation of nodes between adjacent frames. As a result, the incomplete consideration of the predictive coding of the current node's plane position information reduces the geometric coding efficiency of the current node.
[0128] Based on this, an embodiment of the present application provides a coding and decoding method, at the encoding end, based on the prediction node corresponding to the current node in the prediction frame, the plane structure information of the preset node of the current node is determined, wherein the preset node includes the prediction node and at least one target node in the prediction frame; according to the plane structure information of the preset node, the context indication information of the current node is determined; according to the context indication information, the target context information is determined; the plane position information of the current node is determined, and the plane position information of the current node is encoded based on the target context information, and the obtained encoding bits are written into the code stream. At the decoding end, based on the prediction node corresponding to the current node in the prediction frame, the plane structure information of the preset node of the current node is determined, wherein the preset node includes the prediction node and at least one target node in the prediction frame; according to the plane structure information of the preset node, the context indication information of the current node is determined; according to the context indication information, the target context information is determined; the code stream is decoded based on the target context information to determine the plane position information of the current node. In this way, in the process of encoding and decoding the planar position information of the current node using the target context information, the target context information can be determined by considering the planar structure information of the predicted node in the predicted frame; in this way, since the correlation of the planar structure information between corresponding nodes in adjacent predicted frames is taken into account, the geometric information encoding efficiency of the point cloud can be effectively improved; at the same time, the time domain correlation between adjacent predicted frames is used to remove the redundancy of the planar structure information between adjacent frames, which can further improve the geometric information encoding efficiency of the point cloud, thereby improving the encoding and decoding performance of the point cloud.
[0129] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0130] In one embodiment of the present application, referring to FIG10 , a schematic flow chart of a decoding method provided by an embodiment of the present application is shown. As shown in FIG10 , the method may include:
[0131] S1001: Determine plane structure information of preset nodes of the current node based on a prediction node corresponding to the current node in a prediction frame, wherein the preset nodes include the prediction node and at least one target node in the prediction frame.
[0132] It should be noted that the decoding method in the embodiments of the present application is applied to a decoder. Furthermore, the decoding method may refer to a point cloud geometry decoding method, specifically an inter-frame plane decoding method; more specifically, a method for determining context information based on a point cloud plane coding mode, and then decoding the plane position information of the current node based on the determined target context information.
[0133] It should also be noted that in a point cloud, a point can be all points in the point cloud or a portion of the points in the point cloud, which are relatively concentrated in space. Here, the current node specifically refers to the node currently to be decoded in the point cloud.
[0134] In this embodiment of the present application, the predicted frame is a decoded frame, and the predicted frame is adjacent to the current frame containing the current node. In other words, the predicted frame is a decoded reference frame adjacent to the current frame, and the temporal correlation of nodes between adjacent predicted frames can be utilized to improve the planar decoding efficiency of the current node.
[0135] For example, FIG11 shows a schematic diagram of inter-frame plane coding provided by an embodiment of the present application. As shown in FIG11 , a current frame and a predicted frame are included, wherein there are nodes a and b in the current frame, and both nodes a and b are plane eligible (Planar Eligible); there are nodes c and d in the predicted frame, node c is a true plane node (Is Truly Planar node), and node d is a non-planar node (Not a Planar node). As can be seen from FIG11 , node c is the predicted node of the current node (i.e., node a) in the predicted frame and the current frame. In this way, the optimization of the start of plane coding conditions can be achieved based on the placeholder information of the predicted node.
[0136] In embodiments of the present application, the plane structure information of the predicted node can be determined from the placeholder information of the predicted node, and then the plane structure information of the predicted node can be used to directly determine whether the current node activates the plane coding mode. Therefore, in some embodiments, the method may further include: determining the placeholder information of the predicted node; determining the plane structure information of the predicted node based on the placeholder information of the predicted node; and determining whether the current node activates the plane coding mode in a preset direction based on the plane structure information of the predicted node.
[0137] It should be noted that the plane structure information of the prediction node may include plane identification information (PredPlanMode) and plane position information (PredPlanPos) of the prediction node. In a specific embodiment, the method may further include: determining the placeholder information of the prediction node; determining the plane identification information of the prediction node based on the placeholder information of the prediction node; and determining whether the current node activates the plane coding mode in a preset direction based on the plane identification information of the prediction node.
[0138] In the embodiment of the present application, the preset direction can be any direction in three dimensions, such as the X-axis direction, the Y-axis direction, or the Z-axis direction. That is, the occupancy information of the prediction node is first used to determine whether the prediction node belongs to a real plane. If the plane identification information of the prediction node is PredPlanMode, then the plane identification information of the prediction node can be used to determine whether the current node starts the plane coding mode in the three dimensions.
[0139] It should also be noted that, in addition to using the plane structure information of the predicted node, the current node's reference information may also be used to comprehensively consider whether the current node should be plane coded. Therefore, in some embodiments, determining whether the current node should be plane coded in a preset direction based on the plane structure information of the predicted node may include:
[0140] Get the reference information of the current node;
[0141] According to the plane structure information of the prediction node and the reference information of the current node, it is determined whether the current node starts the plane coding mode in the preset direction.
[0142] Here, the reference information for the current node can be the plane coding start conditions in related technologies, such as determining whether the node meets plane coding requirements based on the plane probability of each dimension, determining whether the node in the current layer meets plane coding requirements based on the point cloud density of the current layer, or determining whether the node meets plane coding requirements based on the acquisition parameters of the LiDAR point cloud. In this way, based on these three plane coding start conditions, inter-frame information can also be used to enrich the start conditions for determining the plane coding mode.
[0143] In short, in the embodiments of the present application, the plane structure information of the predicted node can be used to directly determine whether the current node performs plane coding. Alternatively, the plane structure information of the predicted node can be combined with the reference information of the current node to determine whether the current node performs plane coding. There are no restrictions on how the plane structure information of the predicted node is used to determine whether the current node activates plane coding mode.
[0144] It is understood that in the embodiments of the present application, the preset nodes of the current node may include, in addition to the predicted node of the current node in the predicted frame, at least one target node. The at least one target node may be composed of neighboring nodes of the predicted node, or may be composed of predicted nodes corresponding to neighboring nodes of the current node, which is not specifically limited herein.
[0145] In a possible implementation, for at least one target node, the method may further include: determining neighboring nodes of the prediction node; and determining at least one target node in the prediction frame based on the neighboring nodes of the prediction node.
[0146] Here, since the neighborhood nodes of the prediction node can be: at least one coplanar node coplanar with the prediction node, and / or, at least one colinear node colinear with the prediction node, and / or, at least one co-point node co-located with the prediction node; therefore, at least one target node can include at least one of the following: at least one coplanar node coplanar with the prediction node, at least one colinear node colinear with the prediction node, and at least one co-point node co-located with the prediction node.
[0147] In another possible implementation, for at least one target node, the method may further include: determining the neighboring nodes of the current node; determining the predicted nodes of the respective neighboring nodes of the current node based on the predicted frame; and determining at least one target node in the predicted frame based on the predicted nodes of the respective neighboring nodes of the current node.
[0148] Here, since the neighborhood nodes of the current node can be: at least one coplanar node coplanar with the current node, and / or, at least one colinear node colinear with the current node, and / or, at least one co-point node co-point with the current node; therefore, at least one target node can also include at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one colinear node colinear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
[0149] In an embodiment of the present application, for the neighborhood nodes of the current node, there may be 6 coplanar neighborhood nodes (which may be referred to as "coplanar nodes"), 12 collinear neighborhood nodes (which may be referred to as "collinear nodes") and 8 co-point neighborhood nodes (which may be referred to as "co-point nodes"). Here, the neighborhood nodes of the current node may be only coplanar neighborhood nodes, or only collinear neighborhood nodes, or coplanar neighborhood nodes and collinear neighborhood nodes, or coplanar neighborhood nodes, collinear neighborhood nodes and co-point neighborhood nodes, or a larger reference neighborhood range, which is not specifically limited. Among them, taking into account the balance between coding efficiency, time complexity, memory occupancy, etc., only the 6 coplanar neighborhood nodes of the current node can be considered here, and then the corresponding prediction nodes are obtained according to these 6 coplanar neighborhood nodes to determine the required target node.
[0150] For example, FIG12 shows a schematic diagram of the positional relationship between a prediction node and a neighborhood node provided in an embodiment of the present application. As shown in FIG12 , the node represented by the bold solid line is the prediction node, and the node represented by the dotted line is the six neighborhood nodes coplanar with the prediction node (i.e., coplanar neighborhood nodes, which can be referred to as "coplanar nodes"). Because the geometric information of the prediction node can be obtained at the decoding end, the placeholder information of the six neighborhood nodes coplanar with the prediction node can be known here, so these six neighborhood nodes can be determined as the required target nodes.
[0151] It should also be noted that, taking into account the balance between coding efficiency, time complexity, memory occupancy, etc., at least one target node can only consider the occupancy information of the six neighboring nodes coplanar with the prediction node, but there is no restriction on the neighborhood reference range here. For example, only the coplanar neighboring nodes of the prediction node, or the coplanar neighboring nodes and collinear neighboring nodes of the prediction node, or a larger reference neighborhood range can be referenced. No restrictions are imposed here. For example, as shown in Figure 13, the nodes represented by the bold solid line are the prediction nodes, and the nodes represented by the dotted line are the neighboring nodes of the prediction node. The reference neighborhood range here is not limited to 6 coplanar neighboring nodes. Specifically, it can include 6 coplanar neighboring nodes, 12 collinear neighboring nodes, and 8 co-point neighboring nodes.
[0152] In this way, after determining at least one required target node, the occupancy information of the preset node of the current node can be obtained based on the predicted node corresponding to the current node and the at least one target node, and then the plane structure information of the preset node can be determined by utilizing the occupancy information of the preset node of the current node, so as to predict and decode the plane position information of the current node.
[0153] S1002: Determine context indication information of the current node according to the plane structure information of the preset node.
[0154] It should be noted that, in the embodiments of the present application, the context indication information of the current node may include first context indication information of the current node and second context indication information of the current node. The context indication information is calculated based on the plane structure information (e.g., plane identification information and / or plane position information) of the preset node. The calculation method is not limited, and the calculation method is not specifically limited.
[0155] In a possible implementation, determining the context indication information of the current node according to the plane structure information of the preset node may include:
[0156] Determining the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes according to the plane structure information of the preset nodes;
[0157] Determining first context indication information of the current node according to the plane structure information of the first type of preset nodes;
[0158] The second context indication information of the current node is determined according to the plane structure information of the second type of preset nodes.
[0159] In an embodiment of the present application, the preset nodes may include: a prediction node and six target nodes. These seven nodes may be divided into a first category of preset nodes and a second category of preset nodes. For example, the first category of preset nodes includes the prediction node and the first target node, and the second category of preset nodes includes the second target node. The first context indication information of the current node is then calculated using the plane structure information of the first category of preset nodes, and the second context indication information of the current node is calculated using the plane structure information of the second category of preset nodes.
[0160] In an embodiment of the present application, the first target node and the second target node may be different. For example, the number of the first target nodes is three, and the number of the second target nodes is three. In one embodiment, the first target node may include: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, and a coplanar node below the prediction node; the second target node may include: a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node. Alternatively, in another embodiment, the first target node may include: a prediction node corresponding to the coplanar node to the left of the current node, a prediction node corresponding to the coplanar node in front of the current node, and a prediction node corresponding to the coplanar node below the current node; the second target node may include: a prediction node corresponding to the coplanar node to the right of the current node, a prediction node corresponding to the coplanar node behind the current node, and a prediction node corresponding to the coplanar node above the current node; however, no specific limitation is made to this.
[0161] In a specific embodiment, when the first type of preset nodes includes a prediction node and a first target node, determining the plane structure information of the first type of preset nodes may include:
[0162] Determining the placeholder information of the prediction node and the placeholder information of the first target node;
[0163] Determining the plane identification information of the predicted node and the plane position information of the predicted node according to the occupancy information of the predicted node; and determining the plane identification information of the first target node and the plane position information of the first target node according to the occupancy information of the first target node;
[0164] Plane structure information of the first type of preset nodes is composed according to the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node, and the plane position information of the first target node.
[0165] For example, taking the prediction decoding of the plane position information in the X-axis direction as an example, assuming that the six target nodes are the six coplanar neighboring nodes of the predicted node, the occupancy information of these six coplanar neighboring nodes are coPlanarLeft, coPlanarRight, coPlanarFront, coPlanarBelow, coPlanarUpper, coPlanarDown, and the occupancy information PredNode of the predicted node; first, the occupancy information of the three coplanar neighboring nodes is used to calculate the plane structure information of the three coplanar neighboring nodes, including the plane identification (planarMode) information and the plane position (PlanePos) information. Here, the calculation method of PlaneMode and PlanePos is as follows:
[0166] uint8_t plane0 = 0;
[0167] plane0|=! ! (occupancy&0x0f)<<0;
[0168] plane0|=! ! (occupancy&0x33)<<1;
[0169] plane0|=! ! (occupancy&0x55)<<2;
[0170] uint8_t plane1 = 0;
[0171] plane1|=! ! (occupancy&0xf0)<<0;
[0172] plane1|=! ! (occupancy&0xcc)<<1;
[0173] plane1|=! ! (occupancy&0xaa)<<2;
[0174] / / Only planar if a single plane normal to an axis is occupied
[0175] planarMode = plane0^plane1;
[0176] PlanePos=planarMode&plane1;
[0177] In this way, assuming that the first target node is the three coplanar neighboring nodes of the predicted node, the occupancy information of these three coplanar neighboring nodes is coPlanarLeft, coPlanarFront, and coPlanarDown, respectively. First, the plane structure information of the first type of preset nodes is calculated using the occupancy information of these three coplanar neighboring nodes and the occupancy information of the predicted node, which are: PredNodePlaneMode, PredNodePlanePos, coPlanarLeftPlaneMode, coPlanarLeftPlanePos, coPlanarFrontPlaneMode, coPlanarFrontPlanePos, coPlanarDownPlaneMode, and coPlanarDown PlanePos.
[0178] Furthermore, determining the first context indication information of the current node based on the plane structure information of the first type of preset node may include: determining the first context indication information of the current node based on the plane identification information of the predicted node, the plane position information of the predicted node, the plane identification information of the first target node, and the plane position information of the first target node.
[0179] It should also be noted that, assuming that the first context indication information of the current node can be represented by Ctx1, then after determining the plane structure information of the first type of preset node, the plane structure information of the first type of preset node can be used to calculate Ctx1, as follows:
[0180] Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z))
[0181] Ctx1=! ! (PredNodePlanePos&mask)<<7|
[0182] ! ! (PredNodePlaneMode&mask)<<6|
[0183] ! ! (coPlanarLeftPlanePos&mask)<<5|
[0184] ! ! (coPlanarFrontPlanePos&mask)<<4|
[0185] ! ! (coPlanarDownPlanePos&mask)<<3|
[0186] ! ! (coPlanarLeftPlaneMode&mask)<<2|
[0187] ! ! (coPlanarFrontPlaneMode&mask)<<1|
[0188] ! ! (coPlanarDownPlaneMode&mask) (3)
[0189] In another specific embodiment, when the second type of preset nodes includes the second target node, determining the plane structure information of the second type of preset nodes may include:
[0190] Determining placeholder information of the second target node;
[0191] Determining, according to the occupancy information of the second target node, plane identification information of the second target node and plane position information of the second target node;
[0192] Plane structure information of the second type of preset nodes is composed according to the plane identification information of the second target node and the plane position information of the second target node.
[0193] It should be noted that, assuming that the second target node is the other three coplanar neighboring nodes of the predicted node, the occupancy information of these three coplanar neighboring nodes is coEdgerRight, coEdgerUpper, and coEdgerBelow, respectively. First, the occupancy information of these three coplanar neighboring nodes is used to calculate the plane structure information of the second type of preset nodes, respectively: coPlanarRightPlaneMode, coPlanarRightPlanePos, coPlanarUpperPlaneMode, coPlanarUpper PlanePos, coPlanarBelowPlaneMode, and coPlanarBelowPlanePos.
[0194] Furthermore, determining the second context indication information of the current node based on the plane structure information of the second type of preset node may include: determining the second context indication information of the current node based on the plane identification information of the second target node and the plane position information of the second target node.
[0195] It should also be noted that, assuming that the second context indication information of the current node can be represented by Ctx2, then after determining the plane structure information of the second type of preset node, the plane structure information of the second type of preset node can be used to calculate Ctx2, as follows:
[0196] Ctx2=! ! (coPlanarRightPlanePos&mask)<<5|
[0197] !!(coPlanarUpperPlanePos & mask) << 4 |
[0198] !!(coPlanarBelowPlanePos & mask) << 3 |
[0199] !!(coPlanarRightPlaneMode & mask) << 2 |
[0200] !!(coPlanarUpperPlaneMode & mask) << 1 |
[0201] !!(coPlanarBelowPlaneMode & mask) (4)
[0202] In the embodiments of the present application, "<< " represents the left shift operator. For example, "<< n" represents shifting n bits to the left, which is equivalent to multiplying by 2 in multiplication operations. n ";!!" is usually used for type judgment, which represents double negation, that is, taking the value after negation and negating it again; "|" represents the bitwise operator, specifically the bitwise OR here; "&" represents the bitwise operator, specifically the bitwise AND here; for "a |= b", it means a = a | b, that is, after performing the bitwise OR operation on a and b, the result is assigned to a.
[0203] In the above implementation, for the first target node and the second target node, they can be several nodes among the six coplanar neighborhood nodes. Among them, the method for obtaining these six coplanar neighborhood nodes can be: first, use the current node to obtain the predicted node of the predicted frame, and then use the predicted node to obtain 6 coplanar neighborhood nodes coplanar with the predicted node; or, it can also be: first, obtain 6 coplanar neighborhood nodes of the current node in the current frame, and then use these 6 coplanar neighborhood nodes to obtain their respective corresponding predicted nodes as the final six coplanar neighborhood nodes; although the predicted nodes obtained by these two acquisition methods will be different, the embodiments of the present application do not make specific limitations on this.
[0204] In another possible implementation, determining the context indication information of the current node according to the plane structure information of the preset node may include:
[0205] Determine the first type of plane structure information and the second type of plane structure information of the preset node according to the plane structure information of the preset node;
[0206] Determine the first context indication information of the current node according to the first type of plane structure information of the preset node;
[0207] The second context indication information of the current node is determined according to the second type of plane structure information of the preset node.
[0208] It should be noted that, in the embodiment of the present application, the preset nodes may also include: a prediction node and six target nodes. Exemplarily, the first context indication information may be calculated using the planar position information of the seven nodes, and the second context indication information may be calculated using the planar identification information of the seven nodes.
[0209] It should also be noted that, in an embodiment of the present application, the number of the third target nodes is six, specifically six coplanar neighboring nodes. For example, in one embodiment, the third target node may include: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, a coplanar node below the prediction node, a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node; or, in another embodiment, the third target node may include: a prediction node corresponding to a coplanar node to the left of the current node, a prediction node corresponding to a coplanar node in front of the current node, a prediction node corresponding to a coplanar node below the current node, a prediction node corresponding to a coplanar node to the right of the current node, a prediction node corresponding to a coplanar node behind the current node, and a prediction node corresponding to a coplanar node above the current node; however, this is not specifically limited.
[0210] In a specific embodiment, when the preset node includes a prediction node and a third target node, determining the first type of plane structure information of the preset node may include:
[0211] Determine the placeholder information of the prediction node and the third target node;
[0212] Determining the plane position information of the prediction node and the plane position information of the third target node according to the respective occupancy information of the prediction node and the third target node;
[0213] The first type of plane structure information of the preset node is composed according to the plane position information of the predicted node and the plane position information of the third target node.
[0214] Furthermore, determining the first context indication information of the current node based on the first type of plane structure information of the preset node may include: determining the first context indication information of the current node based on the plane position information of the predicted node and the plane position information of the third target node.
[0215] In an embodiment of the present application, assuming that the third target node is six coplanar neighboring nodes, the first type of plane structure information of the preset node may include: PredNodePlanePos, coPlanarLeftPlanePos, coPlanarDownPlanePos, coPlanarFrontPlanePos, coPlanarRightPlanePos, coPlanarUpperPlanePos, and coPlanarBelow PlanePos.
[0216] In this way, the first context indication information of the current node can be represented by Ctx1. After determining the plane position information of the preset node, Ctx1 can be calculated using the plane position information of the preset node, as follows:
[0217] Const int mask=1< <axisIdx(axisIdx=0(x),1(y),2(z))
[0218] Ctx1=! ! (PredNodePlanePos&mask)<<6|
[0219] ! ! (coPlanarLeftPlanePos&mask)<<5|
[0220] ! ! (coPlanarFrontPlanePos&mask)<<4|
[0221] ! ! (coPlanarDownPlanePos&mask)<<3|
[0222] ! ! (coPlanarRightPlanePos&mask)<<2|
[0223] ! ! (coPlanarUpperPlanePos&mask)<<1
[0224] ! ! (coPlanarBelowPlanePos&mask) (5)
[0225] In another specific embodiment, when the preset node includes a prediction node and a third target node, determining the second type of plane structure information of the preset node may include:
[0226] Determine the placeholder information of the prediction node and the third target node;
[0227] Determining the plane identification information of the prediction node and the plane identification information of the third target node according to the respective occupancy information of the prediction node and the third target node;
[0228] The second type of plane structure information of the preset node is composed according to the plane identification information of the predicted node and the plane identification information of the third target node.
[0229] Furthermore, determining the second context indication information of the current node based on the second type of plane structure information of the preset node may include: determining the second context indication information of the current node based on the plane identification information of the predicted node and the plane identification information of the third target node.
[0230] In an embodiment of the present application, assuming that the third target node is six coplanar neighboring nodes, the second type of plane structure information of the preset node may include: PredNodePlaneMode, coPlanarLeftPlaneMode, coPlanarDown PlaneMode, coPlanarFrontPlaneMode, coPlanarRightPlaneMode, coPlanarUpperPlaneMode, and coPlanarBelowPlaneMode.
[0231] In this way, the second context indication information of the current node can be represented by Ctx2. After determining the plane identification information of the preset node, Ctx2 can be calculated using the plane identification information of the preset node, as follows:
[0232] Ctx2=! ! (PredNodePlaneMode&mask)<<6|
[0233] ! ! (coPlanarLeftPlaneMode&mask)<<5|
[0234] ! ! (coPlanarFrontPlaneMode&mask)<<4|
[0235] ! ! (coPlanarDownPlaneMode&mask)<<3|
[0236] ! ! (coPlanarRightPlaneMode&mask)<<2|
[0237] ! ! (coPlanarUpperPlaneMode&mask)<<1
[0238] ! ! (coPlanarBelowPlaneMode&mask) (6)
[0239] That is to say, in the above implementation, the calculation of Ctx1 can be obtained by using the plane identification information and plane position information of the prediction node and the three coplanar neighboring nodes to the left / front / bottom, and the calculation of Ctx2 can be obtained by using the plane identification information and plane position information of the three coplanar neighboring nodes to the right / back / top; or, the calculation of Ctx1 can be obtained by using the plane position information of seven nodes, such as the prediction node and six coplanar neighboring nodes, and the calculation of Ctx2 can be obtained by using the plane identification information of seven nodes, such as the prediction node and six coplanar neighboring nodes. Here, only two methods of calculating Ctx1 and Ctx2 by using the plane structure information of the neighboring nodes are given, but the embodiment of the present application is not limited to the calculation of Ctx1 and Ctx2; for example, in the embodiment of the present application, Ctx1 and Ctx2 can be obtained by using the occupancy information of the neighboring nodes to be inferred, and there is no specific limitation on how to calculate.
[0240] S1003: Determine target context information according to the context indication information.
[0241] S1004: Decode the code stream based on the target context information to determine the plane position information of the current node.
[0242] It should be noted that in the embodiment of the present application, the target context information needs to be determined first, and then the target context information can be used to decode the plane position information of the current node. In some embodiments, determining the target context information based on the context indication information may include:
[0243] Obtaining first context indication information of the current node and second context indication information of the current node;
[0244] Target context information is determined according to the first context indication information and the second context indication information.
[0245] That is, after Ctx1 and Ctx2 are calculated using the plane structure information of the neighboring nodes, the target context information can be determined based on Ctx1 and Ctx2. Furthermore, the embodiment of the present application can also perform context mapping processing on Ctx1 and Ctx2 to determine the target context information. Therefore, in some embodiments, determining the target context information based on the first context indication information and the second context indication information may include:
[0246] Context mapping is performed according to the first context indication information and the second context indication information to obtain new context information; and target context information is determined according to the new context information.
[0247] It should also be noted that in the embodiment of the present application, Ctx1 and Ctx2 can be directly calculated by performing a simple AND / OR operation using the planar structure information of multiple neighboring nodes such as coplanar, colinear, and co-point, and ultimately determining the target context information. In addition, in the embodiment of the present application, the target context information ultimately used for decoding is not restricted. For example, Ctx1 and Ctx2 can be mapped to obtain new context information by using some methods such as spatial rotation without deformation or context mapping, thereby determining the target context information. This is not specifically limited here.
[0248] In some embodiments, determining target context information based on the context indication information may include:
[0249] Determine the reference context information of the current node;
[0250] Target context information is determined according to the first context indication information, the second context indication information, and the reference context information.
[0251] Furthermore, for existing reference context information, in some embodiments, determining the reference context information of the current node includes at least one of the following:
[0252] Predicting the plane position information of the current node based on the occupancy information of the neighboring nodes, and determining the predicted value of the plane position information of the current node, where the predicted value includes one of the following: low plane, high plane, and unpredictable;
[0253] Determine the spatial distance between the current node and a node at the same partition depth and the same coordinates as the current node, where the spatial distance includes one of the following: a short distance and a long distance;
[0254] Determine whether the nodes at the same partition depth and the same coordinates as the current node are a plane. If the node is a plane, determine the plane position of the node;
[0255] Determine the coordinate dimension information of the current node.
[0256] It should be noted that in an embodiment of the present application, after determining the spatial distance between the node at the same division depth and the same coordinates as the current node and the current node, if the spatial distance is less than the preset distance threshold, then the spatial distance can be determined to be a short distance; or, if the spatial distance is greater than the preset distance threshold, then the spatial distance can be determined to be a long distance.
[0257] For example, Figure 14 is a schematic diagram of neighboring nodes at the same partition depth and coordinates provided by an embodiment of the present application. As shown in Figure 14, the bold large cube represents the parent node, the small cube filled with a grid inside it represents the current node, and the vertex position of the current node is shown; the small cube filled with white represents the neighboring node at the same partition depth and coordinates, and the distance between the current node and the neighboring node is the spatial distance, which can be judged as "close" or "far"; in addition, if the neighboring node is a plane, the planar position of the neighboring node is also required.
[0258] Thus, the target context information ultimately used for plane position information can be as follows:
[0259] (a) Using the occupancy information of neighboring nodes, the plane position information of the current node is predicted to be three elements: predicted as low plane, predicted as high plane, and unpredictable;
[0260] (b) Spatial distance between nodes at the same partition depth and coordinates as the current node and the current node: “close distance” and “far distance”;
[0261] (c) if the node at the same partition depth and the same coordinates as the current node is a plane, determine the plane position of the node;
[0262] (d) The coordinate dimension of the current node (i = 0, 1, 2);
[0263] (e) Ctx1, for example, is calculated using the planar structure information of the prediction node and the three coplanar neighboring nodes to the left / front / below;
[0264] (f) Ctx2, for example, is calculated using the planar structure information of the three coplanar neighboring nodes to the right / behind / above.
[0265] That is to say, in an embodiment of the present application, the occupancy information of the coplanar neighboring nodes as shown in Figure 12 can be used to determine the plane structure information of the predicted node and the six coplanar neighboring nodes; then the plane structure information of these seven nodes is used to calculate the context Ctx1 and Ctx2 of the plane position information of the current node, and finally Ctx1 and Ctx2 and the existing reference context information are used to decode the plane position information of the current node.
[0266] This embodiment provides a decoding method that determines the plane structure information of a preset node of the current node based on the predicted node corresponding to the current node in the predicted frame, wherein the preset node includes the predicted node and at least one target node in the predicted frame; determines context indication information of the current node based on the plane structure information of the preset node; determines target context information based on the context indication information; and determines the plane position information of the current node by decoding the bitstream based on the target context information. In this way, in the process of decoding the plane position information of the current node using the target context information, the correlation of the plane structure information between corresponding nodes in adjacent predicted frames is taken into account, and the redundancy of the plane structure information between adjacent frames is removed by utilizing the time domain correlation between adjacent predicted frames, thereby improving the geometric information encoding efficiency of the point cloud and thereby improving the encoding and decoding performance of the point cloud.
[0267] In another embodiment of the present application, referring to FIG15 , a schematic flow chart of an encoding method provided by an embodiment of the present application is shown. As shown in FIG15 , the method may include:
[0268] S1501: Determine plane structure information of preset nodes of the current node based on a prediction node corresponding to the current node in the prediction frame, wherein the preset nodes include the prediction node and at least one target node in the prediction frame.
[0269] It should be noted that the encoding method in the embodiments of the present application is applied to an encoder. Furthermore, the encoding method may refer to a point cloud geometry encoding method, specifically an inter-frame plane encoding method; more specifically, a method for determining context information based on a point cloud plane encoding mode, and then encoding the plane position information of the current node based on the determined target context information.
[0270] It should also be noted that in a point cloud, a point can be all points in the point cloud or a portion of the points in the point cloud, which are relatively concentrated in space. Here, the current node specifically refers to the node currently to be encoded in the point cloud.
[0271] In this embodiment of the present application, the predicted frame is an encoded frame, and the predicted frame is adjacent to the current frame containing the current node. In other words, the predicted frame is an encoded reference frame adjacent to the current frame, and the temporal correlation of nodes between adjacent predicted frames can be utilized to improve the plane coding efficiency of the current node.
[0272] In an embodiment of the present application, specifically referring to FIG. 11 , optimization of the activation conditions for plane coding can be achieved based on the placeholder information of the prediction node. That is, the plane structure information of the prediction node can be determined based on the placeholder information of the prediction node, and then the plane structure information of the prediction node can be used to directly determine whether the current node activates plane coding mode. Therefore, in some embodiments, the method may further include: determining the placeholder information of the prediction node; determining the plane structure information of the prediction node based on the placeholder information of the prediction node; and determining whether the current node activates plane coding mode in a preset direction based on the plane structure information of the prediction node.
[0273] It should be noted that the plane structure information of the prediction node may include plane identification information (PredPlanMode) and plane position information (PredPlanPos) of the prediction node. In a specific embodiment, the method may further include: determining placeholder information of the prediction node; determining plane identification information of the prediction node based on the placeholder information of the prediction node; and determining whether the current node activates a plane coding mode in a preset direction based on the plane identification information of the prediction node.
[0274] In the embodiment of the present application, the preset direction can be any direction in three dimensions, such as the X-axis direction, the Y-axis direction, or the Z-axis direction. That is, the occupancy information of the prediction node is first used to determine whether the prediction node belongs to a real plane. If the plane identification information of the prediction node is PredPlanMode, then the plane identification information of the prediction node can be used to determine whether the current node starts the plane coding mode in the three dimensions.
[0275] It should also be noted that, in addition to using the plane structure information of the predicted node, the current node's reference information may also be used to comprehensively consider whether the current node should be plane coded. Therefore, in some embodiments, determining whether the current node should be plane coded in a preset direction based on the plane structure information of the predicted node may include:
[0276] Get the reference information of the current node;
[0277] According to the plane structure information of the prediction node and the reference information of the current node, it is determined whether the current node starts the plane coding mode in the preset direction.
[0278] Here, the reference information for the current node can be the plane coding start conditions in related technologies, such as determining whether the node meets plane coding requirements based on the plane probability of each dimension, determining whether the node in the current layer meets plane coding requirements based on the point cloud density of the current layer, or determining whether the node meets plane coding requirements based on the acquisition parameters of the LiDAR point cloud. In this way, based on these three plane coding start conditions, inter-frame information can also be used to enrich the start conditions for determining the plane coding mode.
[0279] In short, in the embodiments of the present application, the plane structure information of the predicted node can be used to directly determine whether the current node performs plane coding. Alternatively, the plane structure information of the predicted node can be combined with the reference information of the current node to determine whether the current node performs plane coding. There are no restrictions on how the plane structure information of the predicted node is used to determine whether the current node activates plane coding mode.
[0280] It is understood that in the embodiments of the present application, the preset nodes of the current node may include, in addition to the predicted node of the current node in the predicted frame, at least one target node. The at least one target node may be composed of neighboring nodes of the predicted node, or may be composed of predicted nodes corresponding to neighboring nodes of the current node, which is not specifically limited herein.
[0281] In a possible implementation, for at least one target node, the method may further include: determining neighboring nodes of the prediction node; and determining at least one target node in the prediction frame based on the neighboring nodes of the prediction node.
[0282] Here, since the neighborhood nodes of the prediction node can be: at least one coplanar node coplanar with the prediction node, and / or, at least one colinear node colinear with the prediction node, and / or, at least one co-point node co-located with the prediction node; therefore, at least one target node can include at least one of the following: at least one coplanar node coplanar with the prediction node, at least one colinear node colinear with the prediction node, and at least one co-point node co-located with the prediction node.
[0283] In another possible implementation, for at least one target node, the method may further include: determining the neighboring nodes of the current node; determining the predicted nodes of the respective neighboring nodes of the current node based on the predicted frame; and determining at least one target node in the predicted frame based on the predicted nodes of the respective neighboring nodes of the current node.
[0284] Here, since the neighborhood nodes of the current node can be: at least one coplanar node coplanar with the current node, and / or, at least one colinear node colinear with the current node, and / or, at least one co-point node co-point with the current node; therefore, at least one target node can also include at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one colinear node colinear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
[0285] In an embodiment of the present application, for the neighborhood nodes of the current node, 6 coplanar neighborhood nodes, 12 collinear neighborhood nodes and 8 co-point neighborhood nodes may be included. Here, the neighborhood nodes of the current node may be only coplanar neighborhood nodes, or only collinear neighborhood nodes, or coplanar neighborhood nodes and collinear neighborhood nodes, or coplanar neighborhood nodes, collinear neighborhood nodes and co-point neighborhood nodes, or a larger reference neighborhood range, which is not specifically limited. Among them, taking into account the balance between coding efficiency and time complexity and memory occupancy, only the 6 coplanar neighborhood nodes of the current node can be considered here, and then the corresponding prediction nodes are obtained respectively according to the 6 coplanar neighborhood nodes to determine the required target node.
[0286] In the embodiment of the present application, because the geometric information of the prediction node can be obtained at the encoding end, the occupancy information of the six neighboring nodes coplanar with the prediction node can be known here, so these six neighboring nodes can also be determined as the required target nodes. Among them, considering the balance between coding efficiency, time complexity, memory occupancy, etc., at least one target node can only consider the occupancy information of the six neighboring nodes coplanar with the prediction node, but there is no restriction on the neighborhood reference range here. For example, only the coplanar neighboring nodes of the prediction node, or the coplanar neighboring nodes and collinear neighboring nodes of the prediction node, or a larger reference neighborhood range can be referenced, and no restriction is imposed here.
[0287] In this way, after determining at least one required target node, the placeholder information of the preset node of the current node can be obtained based on the predicted node corresponding to the current node and the at least one target node, and then the plane structure information of the preset node can be determined by utilizing the placeholder information of the preset node of the current node, so as to predict and encode the plane position information of the current node.
[0288] S1502: Determine context indication information of the current node according to the plane structure information of the preset node.
[0289] It should be noted that, in the embodiments of the present application, the context indication information of the current node may include first context indication information of the current node and second context indication information of the current node. The context indication information is calculated based on the plane structure information (e.g., plane identification information and / or plane position information) of the preset node. The calculation method is not limited, and the calculation method is not specifically limited.
[0290] In a possible implementation, determining the context indication information of the current node according to the plane structure information of the preset node may include:
[0291] Determining the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes according to the plane structure information of the preset nodes;
[0292] Determining first context indication information of the current node according to the plane structure information of the first type of preset nodes;
[0293] The second context indication information of the current node is determined according to the plane structure information of the second type of preset nodes.
[0294] In an embodiment of the present application, the preset nodes may include: a prediction node and six target nodes. These seven nodes may be divided into a first category of preset nodes and a second category of preset nodes. For example, the first category of preset nodes includes the prediction node and the first target node, and the second category of preset nodes includes the second target node. The first context indication information of the current node is then calculated using the plane structure information of the first category of preset nodes, and the second context indication information of the current node is calculated using the plane structure information of the second category of preset nodes.
[0295] In an embodiment of the present application, the first target node and the second target node may be different. For example, the number of the first target nodes is three, and the number of the second target nodes is three. In one embodiment, the first target node may include: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, and a coplanar node below the prediction node; the second target node may include: a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node. Alternatively, in another embodiment, the first target node may include: a prediction node corresponding to the coplanar node to the left of the current node, a prediction node corresponding to the coplanar node in front of the current node, and a prediction node corresponding to the coplanar node below the current node; the second target node may include: a prediction node corresponding to the coplanar node to the right of the current node, a prediction node corresponding to the coplanar node behind the current node, and a prediction node corresponding to the coplanar node above the current node; however, no specific limitation is made to this.
[0296] In a specific embodiment, when the first type of preset nodes includes a prediction node and a first target node, determining the plane structure information of the first type of preset nodes may include:
[0297] Determining the placeholder information of the prediction node and the placeholder information of the first target node;
[0298] Determining the plane identification information of the predicted node and the plane position information of the predicted node according to the occupancy information of the predicted node; and determining the plane identification information of the first target node and the plane position information of the first target node according to the occupancy information of the first target node;
[0299] Plane structure information of the first type of preset nodes is composed according to the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node, and the plane position information of the first target node.
[0300] Furthermore, determining the first context indication information of the current node based on the plane structure information of the first type of preset node may include: determining the first context indication information of the current node based on the plane identification information of the predicted node, the plane position information of the predicted node, the plane identification information of the first target node, and the plane position information of the first target node.
[0301] In the embodiment of the present application, it is assumed that the first target node is the three coplanar neighboring nodes of the predicted node. The plane structure information of the first type of preset node is calculated using the occupancy information of these three coplanar neighboring nodes and the occupancy information of the predicted node, which are: PredNodePlaneMode, PredNodePlanePos, coPlanarLeftPlaneMode, coPlanarLeftPlanePos, coPlanarFrontPlaneMode, coPlanarFrontPlanePos, coPlanarDownPlaneMode, coPlanarDownPlanePos. Then, the first context indication information of the current node (represented by Ctx1) is calculated using the plane structure information of the first type of preset node. For the calculation of Ctx1, please refer to the calculation process of the decoding end, which is specifically as shown in Formula (3) and will not be described in detail here.
[0302] In another specific embodiment, when the second type of preset nodes includes the second target node, determining the plane structure information of the second type of preset nodes may include:
[0303] Determining placeholder information of the second target node;
[0304] Determining, according to the occupancy information of the second target node, plane identification information of the second target node and plane position information of the second target node;
[0305] Plane structure information of the second type of preset nodes is composed according to the plane identification information of the second target node and the plane position information of the second target node.
[0306] Furthermore, determining the second context indication information of the current node based on the plane structure information of the second type of preset node may include: determining the second context indication information of the current node based on the plane identification information of the second target node and the plane position information of the second target node.
[0307] In the embodiment of the present application, it is assumed that the second target node is the other three coplanar neighboring nodes of the predicted node. The occupancy information of these three coplanar neighboring nodes is used to calculate the plane structure information of the second type of preset node, which are: coPlanarRightPlaneMode, coPlanarRightPlanePos, coPlanarUpperPlaneMode, coPlanarUpperPlanePos, coPlanarBelowPlaneMode, coPlanarBelowPlanePos. Then, the plane structure information of the second type of preset node is used to calculate the second context indication information of the current node (represented by Ctx2). For the calculation of Ctx2, please refer to the calculation process of the decoding end, which is specifically as shown in Formula (4) and will not be described in detail here.
[0308] In addition, in the above implementation, for the first target node and the second target node, they can be several nodes in the six coplanar neighboring nodes. Among them, the method for obtaining these six coplanar neighboring nodes can be: first, using the current node to obtain the predicted node of the predicted frame, and then using the predicted node to obtain the six coplanar neighboring nodes coplanar with the predicted node; or, it can also be: first, obtain the six coplanar neighboring nodes of the current node in the current frame, and then use these six coplanar neighboring nodes to obtain their respective corresponding predicted nodes as the final six coplanar neighboring nodes; although the predicted nodes obtained by these two acquisition methods may be different, the embodiment of the present application does not specifically limit this.
[0309] In another possible implementation, determining the context indication information of the current node according to the plane structure information of the preset node may include:
[0310] Determining first-category plane structure information of the preset node and second-category plane structure information of the preset node according to the plane structure information of the preset node;
[0311] Determining first context indication information of a current node according to first type plane structure information of a preset node;
[0312] The second context indication information of the current node is determined according to the second type of plane structure information of the preset node.
[0313] It should be noted that in this embodiment of the present application, the preset nodes may include: a prediction node and six target nodes. For example, the first context indication information may be calculated using the planar position information of these seven nodes, and the second context indication information may be calculated using the planar identification information of these seven nodes.
[0314] It should also be noted that, in an embodiment of the present application, the number of the third target nodes is six, specifically six coplanar neighboring nodes. For example, in one embodiment, the third target node may include: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, a coplanar node below the prediction node, a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node; or, in another embodiment, the third target node may include: a prediction node corresponding to a coplanar node to the left of the current node, a prediction node corresponding to a coplanar node in front of the current node, a prediction node corresponding to a coplanar node below the current node, a prediction node corresponding to a coplanar node to the right of the current node, a prediction node corresponding to a coplanar node behind the current node, and a prediction node corresponding to a coplanar node above the current node; however, this is not specifically limited.
[0315] In a specific embodiment, when the preset node includes a prediction node and a third target node, determining the first type of plane structure information of the preset node may include:
[0316] Determine the placeholder information of the prediction node and the third target node;
[0317] Determining the plane position information of the prediction node and the plane position information of the third target node according to the respective occupancy information of the prediction node and the third target node;
[0318] The first type of plane structure information of the preset node is composed according to the plane position information of the predicted node and the plane position information of the third target node.
[0319] Furthermore, determining the first context indication information of the current node based on the first type of plane structure information of the preset node may include: determining the first context indication information of the current node based on the plane position information of the predicted node and the plane position information of the third target node.
[0320] In this embodiment of the present application, assuming that the third target node is a set of six coplanar neighboring nodes, the first type of plane structure information of the preset node may include: PredNodePlanePos, coPlanarLeftPlanePos, coPlanarDownPlanePos, coPlanarFrontPlanePos, coPlanarRightPlanePos, coPlanarUpperPlanePos, and coPlanarBelowPlanePos. The plane position information of the preset node is then used to calculate the first context indication information of the current node (represented by Ctx1). For details on the calculation of Ctx1, refer to the calculation process of the decoding end, as shown in Formula (5), which will not be described in detail here.
[0321] In another specific embodiment, when the preset node includes a prediction node and a third target node, determining the second type of plane structure information of the preset node may include:
[0322] Determine the placeholder information of the prediction node and the third target node;
[0323] Determining the plane identification information of the prediction node and the plane identification information of the third target node according to the respective occupancy information of the prediction node and the third target node;
[0324] The second type of plane structure information of the preset node is composed according to the plane identification information of the predicted node and the plane identification information of the third target node.
[0325] Furthermore, determining the second context indication information of the current node based on the second type of plane structure information of the preset node may include: determining the second context indication information of the current node based on the plane identification information of the predicted node and the plane identification information of the third target node.
[0326] In this embodiment of the present application, assuming that the third target node is a set of six coplanar neighboring nodes, the second type of plane structure information of the preset node may include: PredNodePlaneMode, coPlanarLeftPlaneMode, coPlanarDownPlaneMode, coPlanarFront PlaneMode, coPlanarRightPlaneMode, coPlanarUpperPlaneMode, and coPlanarBelowPlaneMode. The plane identification information of the preset node is then used to calculate the second context indication information of the current node (represented by Ctx2). For details on the calculation of Ctx2, refer to the calculation process of the decoding end, as shown in Formula (6), which will not be described in detail here.
[0327] That is to say, in the above implementation, the calculation of Ctx1 can be obtained by using the plane identification information and plane position information of the prediction node and the three coplanar neighboring nodes to the left / front / bottom, and the calculation of Ctx2 can be obtained by using the plane identification information and plane position information of the three coplanar neighboring nodes to the right / back / top; or, the calculation of Ctx1 can be obtained by using the plane position information of seven nodes, such as the prediction node and six coplanar neighboring nodes, and the calculation of Ctx2 can be obtained by using the plane identification information of seven nodes, such as the prediction node and six coplanar neighboring nodes. Here, only two methods of calculating Ctx1 and Ctx2 by using the plane structure information of the neighboring nodes are given, but the embodiment of the present application is not limited to the calculation of Ctx1 and Ctx2; for example, in the embodiment of the present application, Ctx1 and Ctx2 can be obtained by using the occupancy information of the neighboring nodes to be inferred, and there is no specific limitation on how to calculate.
[0328] S1503: Determine target context information according to the context indication information.
[0329] S1504: Determine the plane position information of the current node, encode the plane position information of the current node based on the target context information, and write the obtained encoding bits into the bitstream.
[0330] It should be noted that in the embodiments of the present application, it is necessary not only to determine the target context information but also to determine the plane position information of the current node, and then the plane position information of the current node can be encoded using the target context information. In some embodiments, determining the plane position information of the current node may include:
[0331] When the current node meets the plane coding condition, the plane position information of the current node is determined to be one of the following: low plane position information or high plane position information.
[0332] In the embodiment of the present application, whether the current node satisfies the plane coding condition can be determined based on the plane probability of the node in each dimension, or based on the point cloud density of the current layer to determine whether the current layer node satisfies the plane coding condition, or based on the acquisition parameters of the lidar point cloud to determine whether the current node satisfies the plane coding condition, etc. In addition, the embodiment of the present application can also determine whether the current node satisfies the plane coding condition based on the plane structure information of the predicted node (such as the plane identification information PredPlanMode), and then determine whether the current node starts plane coding in the preset direction; this is not specifically limited here.
[0333] In some embodiments, determining target context information based on the context indication information may include:
[0334] Obtaining first context indication information of the current node and second context indication information of the current node;
[0335] Target context information is determined according to the first context indication information and the second context indication information.
[0336] That is, after Ctx1 and Ctx2 are calculated using the plane structure information of the neighboring nodes, the target context information can be determined based on Ctx1 and Ctx2. Furthermore, the embodiment of the present application can also perform context mapping processing on Ctx1 and Ctx2 to determine the target context information. Therefore, in some embodiments, determining the target context information based on the first context indication information and the second context indication information may include:
[0337] Context mapping is performed according to the first context indication information and the second context indication information to obtain new context information; and target context information is determined according to the new context information.
[0338] It should also be noted that in the embodiment of the present application, Ctx1 and Ctx2 can be directly calculated by performing a simple AND / OR operation using the planar structure information of multiple neighboring nodes such as coplanar, colinear, and co-point, and ultimately determining the target context information. In addition, in the embodiment of the present application, the target context information ultimately used for encoding is not restricted. For example, Ctx1 and Ctx2 can be mapped to obtain new context information by using some methods such as spatial rotation without deformation or context mapping, thereby determining the target context information. This is not specifically limited here.
[0339] In some embodiments, determining target context information based on the context indication information may include:
[0340] Determine the reference context information of the current node;
[0341] Target context information is determined according to the first context indication information, the second context indication information, and the reference context information.
[0342] It should be noted that in an embodiment of the present application, the target context information can be determined based on Ctx1 and Ctx2 and the reference context information, or Ctx1 and Ctx2 can be mapped to obtain new context information, and then the target context information is determined based on the new context information and the reference context information. There is no restriction on the target context information ultimately used.
[0343] It should also be noted that, in an embodiment of the present application, the target context information here can be a target context index value, and then the corresponding context model is determined based on the target context index value, and the planar position information of the current node is encoded using the context model; or, the target context information here can also be the context model that is finally determined, and then the planar position information of the current node is encoded using the context model.
[0344] Furthermore, for existing reference context information, in some embodiments, determining the reference context information of the current node includes at least one of the following:
[0345] Predicting the plane position information of the current node based on the occupancy information of the neighboring nodes, and determining the predicted value of the plane position information of the current node, where the predicted value includes one of the following: low plane, high plane, and unpredictable;
[0346] Determine the spatial distance between the node and the current node at the same partition depth and the same coordinates as the current node, and the spatial distance satisfies one of the following: short distance and long distance;
[0347] Determine whether the nodes at the same partition depth and the same coordinates as the current node are a plane. If the node is a plane, determine the plane position of the node;
[0348] Determine the coordinate dimension information of the current node.
[0349] It should be noted that for the current node, you can search for neighboring nodes at the same octree partition depth level and the same vertical coordinates, that is, nodes at the same partition depth and the same coordinates as the current node; then determine whether the distance between the current node and the node is "close" or "far"; and when the node is a plane, refer to the plane position of the node.
[0350] Thus, the target context information ultimately used for plane position information can be as follows:
[0351] (a) Using the occupancy information of neighboring nodes, the plane position information of the current node is predicted to be three elements: predicted as low plane, predicted as high plane, and unpredictable;
[0352] (b) Spatial distance between nodes at the same partition depth and coordinates as the current node and the current node: “close distance” and “far distance”;
[0353] (c) if the node at the same partition depth and the same coordinates as the current node is a plane, determine the plane position of the node;
[0354] (d) The coordinate dimension of the current node (i = 0, 1, 2);
[0355] (e) Ctx1, for example, is calculated using the planar structure information of the prediction node and the three coplanar neighboring nodes to the left / front / below;
[0356] (f) Ctx2, for example, is calculated using the planar structure information of the three coplanar neighboring nodes to the right / behind / above.
[0357] That is to say, in an embodiment of the present application, the occupancy information of the coplanar neighboring nodes as shown in Figure 12 can be used to determine the plane structure information of the predicted node and the six coplanar neighboring nodes; then the plane structure information of these seven nodes is used to calculate the context Ctx1 and Ctx2 of the plane position information of the current node, and finally Ctx1 and Ctx2 and the existing reference context information are used to encode the plane position information of the current node.
[0358] In some embodiments, the embodiments of the present application further provide a code stream, which is generated by bit encoding based on the information to be encoded; wherein the information to be encoded includes at least: the plane position information of the current node.
[0359] In this way, after the encoder writes the current node's plane position information into the bitstream using the target context information, the decoder first determines the target context information and then uses the target context information to decode the current node's plane position information. Furthermore, it should be noted that when the target context information is a target context index value, the encoder can also write the target context index value into the bitstream to speed up decoding. The decoder can then directly decode the target context index value, determine the context model based on the target context index value, and then use the context model to decode the current node's plane position information, thereby improving decoding efficiency.
[0360] This embodiment provides an encoding method, which determines the plane structure information of a preset node of the current node based on the prediction node corresponding to the current node in the prediction frame, wherein the preset node includes the prediction node and at least one target node in the prediction frame; determines the context indication information of the current node based on the plane structure information of the preset node; determines the target context information based on the context indication information; determines the plane position information of the current node, and encodes the plane position information of the current node based on the target context information, and writes the obtained encoding bits into the bitstream. In this way, in the process of encoding the plane position information of the current node using the target context information, the correlation of the plane structure information between the corresponding nodes in adjacent prediction frames is taken into account, and the redundancy of the plane structure information between adjacent frames is removed by using the time domain correlation between adjacent prediction frames, thereby improving the geometric information encoding efficiency of the point cloud, thereby improving the encoding and decoding performance of the point cloud.
[0361] In another embodiment of the present application, based on the decoding / encoding method of the foregoing embodiment, if the current node uses the planar coding mode, the planar position information of the current node can be predicted and encoded using the target context information. Thus, for the current node, it is first necessary to determine whether the current node meets the planar coding condition.
[0362] In the G-PCC standard, when determining whether a node meets the planar coding condition and when the node meets the planar coding condition, it is necessary to perform predictive coding on the planar identifier and planar position information of the node.
[0363] In the embodiment of the present application, there are three judgment conditions for determining whether a node meets the planar coding. The following will explain them in detail one by one.
[0364] First, judge according to the planar probability of the node in each dimension.
[0365] (1) Determine the local area density (local_node_density) of the current node;
[0366] (2) Determine the probability Prob(i) of the current node in each dimension.
[0367] When the local area density of the node is less than the threshold Th (for example, Th = 3), the planar probabilities Prob(i) of the current node in the three coordinate dimensions are compared with the thresholds Th0, Th1, and Th2, where Th0 < Th1 < Th2 (for example, Th0 = 0.6, Th1 = 0.77, Th2 = 0.88). Here, Eligible i (i = 0, 1, 2) represents whether planar coding is enabled in each dimension: Eligible i = Prob(i) >= threshold.
[0368] It should be noted that the threshold is adaptively changed. For example, when Prob(0) > Prob(1) > Prob(2), then Eligible i is set as follows:
[0369] Eligible0 = Prob(0) >= Th0;
[0370] Eligible1 = Prob(1) >= Th1;
[0371] Eligible2 = Prob(2) >= Th2.
[0372] When Prob(1) > Prob(0) > Prob(2), then Eligiblei The settings are as follows:
[0373] Eligible0=Prob(0)>=Th1;
[0374] Eligible1=Prob(1)>=Th0;
[0375] Eligible2=Prob(2)>=Th2.
[0376] Here, the update of Prob(i) is as follows:
[0377] Prob(i) new =(L×Prob(i)+δ(coded node)) / L+1 (7)
[0378] Where L = 255; in addition, if the coded node is a plane, δ(coded node) is 1; otherwise, δ(coded node) is 0.
[0379] Here, the update of local_node_density is as follows:
[0380] local_node_density new =local_node_density+4*numSiblings (8)
[0381] Where local_node_density is initialized to 4, and numSiblings is the number of siblings of the node. For example, FIG16 is a schematic diagram of the siblings of a current node provided in an embodiment of the present application. As shown in FIG16 , the current node is a node filled with slashes, and the nodes filled with grids are siblings. Therefore, the number of siblings of the current node is 5 (including the current node itself).
[0382] Second, determine whether the current layer nodes meet the plane coding requirements based on the point cloud density of the current layer.
[0383] The density of the current layer points is used to determine whether to perform plane coding on the nodes of the current layer. Assuming that the number of points in the current point cloud to be coded is pointCount, the number of points reconstructed after IDCM coding is numPointCountRecon, and because the octree is coded based on the order of breadth-first traversal, the number of nodes to be coded in the current layer can be obtained as nodeCount. Then, the determination of whether to start plane coding in the current layer is assumed to be planarEligibleKOctreeDepth, specifically: planarEligibleKOctreeDepth = (pointCount-numPointCountRecon) <nodeCount×1.3。
[0384] Among them, if (pointCount-numPointCountRecon) is less than nodeCount×1.3, then planarEligibleK OctreeDepth is true; if (pointCount-numPointCountRecon) is not less than nodeCount×1.3, then planarEligibleKOctreeDepth is false. In this way, when planarEligibleKOctreeDepth is true, all nodes in the current layer are planar coded; otherwise, all nodes in the current layer are not planar coded and only octree coding is used.
[0385] 3. Determine whether the current node meets the plane coding requirements based on the acquisition parameters of the lidar point cloud.
[0386] Figure 17 is a schematic diagram of the intersection of a laser radar and a node, provided in an embodiment of the present application. As shown in Figure 17, a node filled with a grid is simultaneously traversed by two laser beams, so the current node is not a plane in the vertical direction of the Z axis. A node filled with a slash is small enough to not be traversed by two laser beams simultaneously, so the green node may be a plane in the vertical direction of the Z axis.
[0387] Furthermore, for nodes that meet the plane coding conditions, predictive coding may be performed on the plane identification information and the plane position information.
[0388] First, predictive coding of plane identification information.
[0389] Here, only three context information are used for encoding, that is, the plane identification in each coordinate dimension is designed separately for context.
[0390] Secondly, predictive coding of plane position information.
[0391] It should be understood that for the encoding of non-lidar point cloud planar position information, in related technologies, existing reference context information may include:
[0392] (a) Using the occupancy information of neighboring nodes, the plane position information of the current node is predicted to be three elements: predicted as low plane, predicted as high plane, and unpredictable;
[0393] (b) Spatial distance between nodes at the same partition depth and coordinates as the current node and the current node: “near” and “far”;
[0394] (c) If the node at the same partition depth and the same coordinates as the current node is a plane, determine the plane position of the node;
[0395] (d) Coordinate dimension (i=0, 1, 2).
[0396] For example, taking the aforementioned Figure 14 as an example, the current node is a small cube filled with a grid, then at the same octree partition depth level and the same vertical coordinate, the neighboring node is searched for a small cube filled with white, and the distance between the two nodes is judged as "near" and "far", and the plane position of the reference node is used.
[0397] In an embodiment of the present application, FIG18 is a schematic diagram of a current node located at a lower plane position of a parent node provided by an embodiment of the present application. As shown in FIG18 , (a), (b), and (c) show three examples of the current node being located at a lower plane position of a parent node. Specific descriptions are as follows:
[0398] ① If any of the child nodes 4 to 7 of the point fill node is occupied, and all the grid fill nodes are not occupied, it is very likely that there is a plane in the current node (filled with a slash), and the plane is located lower.
[0399] ② If the child nodes 4 to 7 of the point fill node are not occupied, and any grid fill node is occupied, it is very likely that there is a plane in the current node (filled with diagonal lines), and the plane is located higher.
[0400] ③ If the child nodes 4 to 7 of the point fill node are all empty nodes and the grid fill nodes are all empty nodes, the plane position cannot be inferred and is therefore marked as unknown.
[0401] ④ If any of the child nodes 4 to 7 of the point fill node is occupied and any of the grid fill nodes is occupied, the plane position cannot be inferred at this time, so it is marked as unknown.
[0402] In an embodiment of the present application, FIG19 is a schematic diagram of a current node located at a high plane position of a parent node provided by an embodiment of the present application. As shown in FIG19, (a), (b), and (c) show three examples of the current node being located at a high plane position of a parent node. The specific description is as follows:
[0403] ① If any of the child nodes 4 to 7 of the grid fill node is occupied, and the point fill node is not occupied, it is very likely that there is a plane in the current node (filled with diagonal lines), and the plane position is low.
[0404] ② If the child nodes 4 to 7 of the grid fill node are not occupied, and the point fill node is occupied, it is very likely that there is a plane in the current node (filled with a slash), and the plane position is higher.
[0405] ③If the child nodes 4 to 7 of the grid fill node are all unoccupied, and the point fill node is unoccupied, the plane position cannot be inferred at this time, so it is marked as unknown.
[0406] ④ If one of the child nodes 4 to 7 of the grid fill node is occupied and the point fill node is occupied, the plane position cannot be inferred at this time and is therefore marked as unknown.
[0407] It should also be understood that, with respect to the coding of the laser radar point cloud plane position information, FIG20 is a schematic diagram of the predictive coding of the laser radar point cloud plane position information provided by an embodiment of the present application. As shown in FIG20 , when the laser radar emission angle is θ bottom When , it can be mapped to the bottom virtual plane; when the laser radar emission angle is θ top At this time, it can be mapped to the high plane (Top virtual plane).
[0408] That is, by using the laser radar acquisition parameters to predict the plane position of the current node, and by using the position where the current node intersects with the laser ray to quantize the position into multiple intervals, the final result is the context information of the plane position of the current node. The specific calculation process is as follows: Assume that the coordinates of the laser radar are (x Lidar ,y Lidar ,z Lidar ), the geometric coordinates of the current node are (x, y, z), then first calculate the vertical tangent value tanθ of the current node relative to the lidar, the calculation formula is as follows:
[0409]
[0410] Furthermore, because each laser has a certain offset angle relative to the laser radar, it is also necessary to calculate the relative tangent value tanθ of the current node relative to the laser corr,L , the specific calculation is as follows:
[0411]
[0412] Finally, the relative tangent value tanθ of the current node will be used corr,L To predict the plane position of the current node, as follows, assuming that the tangent value of the lower boundary of the current node is tan(θ bottom ), the tangent value of the upper boundary is tan(θ top ), according to tanθ corr,L The plane position is quantized into four quantization intervals, that is, the context information of the plane position is determined.
[0413] In this way, when it is determined that the current node meets the plane coding conditions, not only the plane position information of the current node is predicted and encoded through some prior reference information in the relevant technology, but also the time domain correlation of nodes between adjacent frames can be considered. Specifically, the plane position information of the current node can be predicted and encoded by considering the plane structure information of the predicted node in the predicted frame, thereby improving the plane coding efficiency of the current node.
[0414] In the embodiment of the present application, the technical solution can be implemented at both the encoding end and the decoding end. When encoding the plane information, the occupancy information of the neighboring nodes is used to predict the plane position information of the current node, as shown below:
[0415] For the octree encoding algorithm, the first step is to start optimizing the plane encoding conditions. Specifically, as shown in Figure 11, it can be seen that node c is the predicted node of the current node (i.e., node a) in the predicted frame and the current frame. First, the occupancy information of the predicted node is used to determine whether the predicted node belongs to a real plane. Assuming that the plane identification information of the predicted node is PredPlanMode, then the plane identification information of the predicted node is used to determine whether the current node starts plane encoding in the three-dimensional direction, that is: Eligible i (i=0,1,2).
[0416] Secondly, the encoding optimization of the plane position information can be performed. Specifically, as shown in Figure 12, the nodes represented by the bold solid line are the predicted nodes, and the nodes represented by the dotted lines are the six neighboring nodes coplanar with the predicted node. Because the geometric information of the predicted node is available at the codec end, the occupancy information of the six neighboring nodes coplanar with the predicted node can be known here. By using the occupancy information of the predicted node and the six coplanar neighboring nodes, the plane position information of the current node is predictively encoded.
[0417] For example, taking the predictive coding of the plane position information in the X-axis direction as an example, assuming that the contexts of the plane position information of the current node are Ctx1 and Ctx2 respectively, the corresponding calculation methods are as follows:
[0418] Ctx1: Design using the planar structure information of six coplanar neighboring nodes. Assuming the occupancy information of the six coplanar neighboring nodes is coPlanarLeft, coPlanarRight, coPlanarFront, coPlanarBelow, coPlanarUpper, and coPlanarDown, the planar structure information of the three nodes is first calculated using the occupancy information of three of the coplanar neighboring nodes, including the planar identification (planarMode) and plane position (PlanePos) information. Here, the plane structure information of each node is calculated using the occupancy information of three coplanar neighboring nodes and the occupancy information of the predicted node, which are PredNodePlaneMode, PredNodePlanePos, coPlanarLeftPlaneMode, coPlanarLeftPlanePos, coPlanarFrontPlaneMode, coPlanarFrontPlanePos, coPlanarDownPlaneMode, and coPlanarDown PlanePos. Secondly, Ctx1 is calculated using the plane structure information of the three coplanar neighboring nodes to the left / front / bottom and the predicted node, as shown in Formula (3).
[0419] Ctx2: Using the occupancy information of the three coplanar neighboring nodes to the right / behind / above, respectively assumed to be: coEdgerRight, coEdgerUpper, coEdgerBelow, first use the occupancy information of these coplanar neighboring nodes to calculate the plane structure information corresponding to each node, respectively: coPlanarRightPlaneMode, coPlanarRightPlanePos, coPlanarUpperPlaneMode, coPlanarUpperPlanePos, coPlanarBelowPlaneMode, coPlanarBelowPlanePos, then calculate Ctx2 using the plane structure information corresponding to these coplanar neighboring nodes, see formula (4) for details.
[0420] In this way, the target context information of the final plane position is as follows:
[0421] (a) Using the occupancy information of neighboring nodes, the plane position information of the current node is predicted to be three elements: predicted as low plane, predicted as high plane, and unpredictable;
[0422] (b) Spatial distance between nodes at the same partition depth and coordinates as the current node and the current node: “close distance” and “far distance”;
[0423] (c) if the node at the same partition depth and the same coordinates as the current node is a plane, determine the plane position of the node;
[0424] (d) The coordinate dimension of the current node (i = 0, 1, 2);
[0425] (e) Ctx1: calculated using the planar structure information of the predicted node and the three coplanar neighboring nodes to the left, front, and bottom;
[0426] (f) Ctx2: Calculated using the planar structure information of the three coplanar neighboring nodes to the right / behind / above.
[0427] For the octree decoding algorithm, similar to the encoding algorithm, the occupancy information of the coplanar neighboring nodes as shown in Figure 12 can be used to obtain the context Ctx1 and Ctx2 of the current node's plane position information, and finally use Ctx1 and Ctx2 and the existing reference context information to decode the current node's plane position information.
[0428] Furthermore, in the embodiment of the present application, Ctx1 is calculated by using the plane position information and plane identification information of the prediction node and the three coplanar neighboring nodes to the left / front / bottom, and Ctx2 is calculated by using the plane position information and plane identification information of the three coplanar neighboring nodes to the right / back / top. In addition, the calculation of Ctx1 only includes the plane position information of these seven nodes, and the calculation of Ctx2 only includes the plane identification information of these seven nodes. For details, see Equations (5) and (6).
[0429] Furthermore, in the embodiments of the present application, there are no restrictions on the calculation of Ctx1 and Ctx2. Here, only two methods of calculating Ctx1 and Ctx2 by using the plane structure information of the neighboring nodes are provided, but this is not specifically limited. The embodiments of the present application protect that Ctx1 and Ctx2 are calculated by using the occupancy information of the neighboring nodes, and there is no restriction on how to calculate them.
[0430] Furthermore, in the embodiment of the present application, the reference range of the neighborhood nodes may not be restricted. Considering the balance between coding efficiency, time complexity, and memory occupancy, only the occupancy information of 6 coplanar neighborhood nodes and 1 prediction node is considered here, but there is no restriction on the neighborhood reference range. For example, only coplanar neighborhood nodes, or coplanar neighborhood nodes and collinear neighborhood nodes, or a larger neighborhood reference range may be referenced, which is not specifically limited here.
[0431] Furthermore, in an embodiment of the present application, the reference information ultimately obtained by using the occupancy information of the neighboring nodes can be used, and the context ultimately used for the plane position is not restricted. Among them, Ctx1 and Ctx2 can be directly calculated by performing simple AND or operations using the plane structure information of the neighboring nodes such as coplanar, colinear and co-point, and ultimately used to determine the context for plane position encoding. In an embodiment of the present application, there is no restriction on the context ultimately used for encoding. For example, Ctx1 and Ctx2 can be mapped to obtain a new context by utilizing some methods such as spatial rotation without deformation or context mapping, and there is no restriction on this.
[0432] Furthermore, in embodiments of the present application, the plane structure information of the predicted node can be used to modify the plane coding start conditions of the current node. Specifically, the plane structure information of the predicted node can be used to directly determine whether the current node to be coded should be plane coded. In embodiments of the present application, the plane structure information of the predicted node can also be combined with the reference information of the current node to determine whether the current node should be plane coded. Here, there is no restriction on how the plane structure information of the predicted node is used to determine the plane coding conditions of the current node.
[0433] In simple terms, the embodiment of the present application first calculates the plane structure information of the predicted node by utilizing the occupancy information of the predicted node corresponding to the current node in the predicted frame, and determines the plane coding start condition of the current node by utilizing the plane structure information of the predicted node; secondly, the plane position information of the current node is predictively encoded by considering the plane structure information of adjacent predicted frames, which can improve the geometric coding efficiency of the point cloud; by utilizing the time domain correlation between adjacent frames to remove the redundancy of the plane structure information between adjacent frames, the geometric information coding efficiency of the point cloud can be further improved.
[0434] For example, the following takes the geometric lossless attribute lossless test environment as an example, where bpp is a performance indicator for measuring compression efficiency. When bpp is less than 100%, it means that the coding efficiency is improved compared to the existing coding scheme, as shown in Table 1.
[0435] Table 1
[0436] Test Sequences Test Result (Geometry_bpp) egyptian_mask_vox1297.124% facade_00009_vox1296.340% facade_00015_vox1496.740% frog_00067_vox1295.015% house_without_roof_00057_vox1296.777% shiva_00035_vox1297.763%
[0437] ulb_unicorn_vox1399.722%arco_valentino_dense_vox1299.866%arco_valentino_dense_vox2099.941%egyptian_mask_vox2099.071%facade_00009_vox2099.154%facade_00015_vox2098.989%fa cade_00064_vox1496.055% facade_00064_vox2099.070% frog_00067_vox2098.862% head_00039_vo x2099.230%house_without_roof_00057_vox2098.800%landscape_00014_vox2098.710%palazzo_ca rignano_dense_vox1499.879%palazzo_carignano_dense_vox2099.947%shiva_00035_vox2099.345%stanford_area_2_vox1699.590%stanford_area_2_vox2099.610%staue_klimt_vox1295.984%st aue_klimt_vox2098.876%ulb_unicorn_hires_vox1598.008%ulb_unicorn_hires_vox2099.327%ul b_unicorn_vox2099.907%citytunnel_q1mm99.066%overpass_q1mm98.886%tollbooth_q1mm98.665%
[0438] After experimental testing, Table 1 shows that on the selected test sequence set, a single test sequence (frog_00067_vox12) can achieve a maximum compression performance improvement of 5%. For example, Table 2 shows the performance results for lossless geometry (lossless attributes), and Table 3 shows the performance results for lossy geometry (lossy attributes).
[0439] Table 2
[0440]
[0441] Table 3
[0442]
[0443] In addition, the plane coding of all test sequences is turned on, and the test performance compared with the existing TMC13-v19 is shown in Table 4.
[0444] Table 4
[0445]
[0446] In the embodiment of the present application, the specific implementation of the aforementioned embodiment is described in detail through the above embodiment. It can be seen that according to the technical solution of the aforementioned embodiment, the technical solution of the embodiment of the present application predicts and encodes the plane position information of the current node by considering the plane structure information of the node in the predicted frame when encoding / decoding the plane position information of the node, and considers the correlation between the plane structure information of the corresponding nodes in adjacent frames, thereby effectively improving the geometric information encoding efficiency of the point cloud. In addition, the technical solution of the embodiment of the present application is to predict the plane position information of the current node by using the plane structure information of the predicted node and the plane structure information of the 6 coplanar neighboring nodes coplanar with the predicted node. Similarly, the plane structure information of the richer neighboring nodes can be considered, which is not limited here; thereby further improving the geometric information encoding efficiency of the point cloud, and then improving the encoding and decoding performance of the point cloud.
[0447] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see Figure 21, which shows a schematic diagram of the composition structure of an encoder provided by an embodiment of the present application. As shown in Figure 21, the encoder 210 may include: a first determining unit 2101 and an encoding unit 2102; wherein,
[0448] The first determining unit 2101 is configured to determine, based on a predicted node corresponding to the current node in a predicted frame, plane structure information of a preset node of the current node, wherein the preset node includes the predicted node and at least one target node in the predicted frame; determine context indication information of the current node based on the plane structure information of the preset node; determine target context information based on the context indication information; and determine plane position information of the current node;
[0449] The encoding unit 2102 is configured to encode the plane position information of the current node based on the target context information, and write the obtained encoding bits into the bitstream.
[0450] In some embodiments, the first determining unit 2101 is further configured to determine, when the current node meets the plane coding condition, that the plane position information of the current node is one of the following: low plane position information or high plane position information.
[0451] In some embodiments, the predicted frame is an encoded frame, and the predicted frame has a neighboring relationship with the current frame including the current node.
[0452] In some embodiments, the first determination unit 2101 is further configured to determine the occupancy information of the prediction node; and determine the plane identification information of the prediction node based on the occupancy information of the prediction node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane identification information of the prediction node.
[0453] In some embodiments, the first determination unit 2101 is further configured to determine the neighboring nodes of the prediction node; determine at least one target node in the prediction frame based on the neighboring nodes of the prediction node; wherein the at least one target node includes at least one of the following: at least one coplanar node that is coplanar with the prediction node, at least one colinear node that is colinear with the prediction node, and at least one co-point node that is co-point with the prediction node.
[0454] In some embodiments, the first determination unit 2101 is further configured to determine the neighboring nodes of the current node; and based on the predicted frame, determine the predicted nodes of the respective neighboring nodes of the current node; and determine at least one target node in the predicted frame based on the predicted nodes of the respective neighboring nodes of the current node; wherein the at least one target node includes at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one colinear node colinear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
[0455] In some embodiments, the first determination unit 2101 is further configured to determine the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes based on the plane structure information of the preset nodes; and determine the first context indication information of the current node based on the plane structure information of the first type of preset nodes; and determine the second context indication information of the current node based on the plane structure information of the second type of preset nodes.
[0456] In some embodiments, when the first type of preset node includes a prediction node and a first target node, the first determination unit 2101 is further configured to determine the placeholder information of the prediction node and the placeholder information of the first target node; and determine the plane identification information of the prediction node and the plane position information of the prediction node based on the placeholder information of the prediction node; and determine the plane identification information of the first target node and the plane position information of the first target node based on the placeholder information of the first target node; and compose the plane structure information of the first type of preset node based on the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node and the plane position information of the first target node; and determine the first context indication information of the current node based on the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node and the plane position information of the first target node.
[0457] In some embodiments, when the second category of preset nodes includes a second target node, the first determination unit 2101 is further configured to determine the placeholder information of the second target node; and determine the plane identification information of the second target node and the plane position information of the second target node based on the placeholder information of the second target node; and compose the plane structure information of the second category of preset nodes based on the plane identification information of the second target node and the plane position information of the second target node; and determine the second context indication information of the current node based on the plane identification information of the second target node and the plane position information of the second target node.
[0458] In some embodiments, the first target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, and a coplanar node located below the prediction node; the second target node includes: a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node;
[0459] Alternatively, the first target node includes: the prediction node corresponding to the coplanar node located to the left of the current node, the prediction node corresponding to the coplanar node located in front of the current node, and the prediction node corresponding to the coplanar node located below the current node; the second target node includes: the prediction node corresponding to the coplanar node located to the right of the current node, the prediction node corresponding to the coplanar node located behind the current node, and the prediction node corresponding to the coplanar node located above the current node.
[0460] In some embodiments, the first determination unit 2101 is further configured to determine the first type of plane structure information of the preset node and the second type of plane structure information of the preset node based on the plane structure information of the preset node; and to determine the first context indication information of the current node based on the first type of plane structure information of the preset node; and to determine the second context indication information of the current node based on the second type of plane structure information of the preset node.
[0461] In some embodiments, when the preset node includes a prediction node and a third target node, the first determination unit 2101 is further configured to determine the respective occupancy information of the prediction node and the third target node; and determine the plane position information of the prediction node and the plane position information of the third target node based on the respective occupancy information of the prediction node and the third target node; and constitute the first type of plane structure information of the preset node based on the plane position information of the prediction node and the plane position information of the third target node; and determine the first context indication information of the current node based on the plane position information of the prediction node and the plane position information of the third target node.
[0462] In some embodiments, when the preset node includes a prediction node and a third target node, the first determination unit 2101 is further configured to determine the placeholder information of the prediction node and the third target node respectively; and determine the plane identification information of the prediction node and the plane identification information of the third target node based on the placeholder information of the prediction node and the third target node respectively; and constitute the second type of plane structure information of the preset node based on the plane identification information of the prediction node and the plane identification information of the third target node; and determine the second context indication information of the current node based on the plane identification information of the prediction node and the plane identification information of the third target node.
[0463] In some embodiments, the third target node includes: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, a coplanar node below the prediction node, a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node; or, the third target node includes: a prediction node corresponding to a coplanar node to the left of the current node, a prediction node corresponding to a coplanar node in front of the current node, a prediction node corresponding to a coplanar node below the current node, a prediction node corresponding to a coplanar node to the right of the current node, a prediction node corresponding to a coplanar node behind the current node, and a prediction node corresponding to a coplanar node above the current node.
[0464] In some embodiments, the first determining unit 2101 is further configured to obtain first context indication information of the current node and second context indication information of the current node; and determine target context information according to the first context indication information and the second context indication information.
[0465] In some embodiments, the first determining unit 2101 is further configured to perform context mapping processing according to the first context indication information and the second context indication information to obtain new context information; and determine target context information according to the new context information.
[0466] In some embodiments, the first determining unit 2101 is further configured to determine reference context information of the current node; and determine target context information according to the first context indication information, the second context indication information and the reference context information.
[0467] In some embodiments, the first determining unit 2101 is further configured to determine reference context information of the current node, including at least one of the following:
[0468] Predicting the plane position information of the current node based on the occupancy information of the neighboring nodes, and determining the predicted value of the plane position information of the current node, where the predicted value includes one of the following: low plane, high plane, and unpredictable;
[0469] Determine the spatial distance between the node and the current node at the same partition depth and the same coordinates as the current node, and the spatial distance satisfies one of the following: short distance and long distance;
[0470] Determine whether the nodes at the same partition depth and the same coordinates as the current node are a plane. If the node is a plane, determine the plane position of the node;
[0471] Determine the coordinate dimension information of the current node.
[0472] In some embodiments, the first determination unit 2101 is further configured to determine the occupancy information of the prediction node; and determine the plane structure information of the prediction node based on the occupancy information of the prediction node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane structure information of the prediction node.
[0473] In some embodiments, the first determining unit 2101 is further configured to obtain reference information of the current node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane structure information of the prediction node and the reference information of the current node.
[0474] It is understandable that in the embodiments of the present application, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and of course it can also be a module, or it can be non-modular. Moreover, the various components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional modules.
[0475] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, or the portion that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0476] Therefore, an embodiment of the present application provides a computer-readable storage medium, which is applied to the encoder 210. The computer-readable storage medium stores a computer program, and when the computer program is executed by the first processor, it implements the encoding method described in any one of the aforementioned embodiments.
[0477] Based on the composition of the encoder 210 and the computer-readable storage medium, refer to Figure 22, which shows a specific hardware structure diagram of the encoder 210 provided in an embodiment of the present application. As shown in Figure 22, the encoder 210 may include: a first communication interface 2201, a first memory 2202 and a first processor 2203; each component is coupled together through a first bus system 2204. It can be understood that the first bus system 2204 is used to achieve connection and communication between these components. In addition to the data bus, the first bus system 2204 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the first bus system 2204 in Figure 22. Among them,
[0478] The first communication interface 2201 is used to receive and send signals when sending and receiving information with other external network elements;
[0479] A first memory 2202 is used to store computer programs that can be run on the first processor 2203;
[0480] The first processor 2203 is configured to, when running the computer program, execute:
[0481] Determining, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame;
[0482] Determine context indication information of the current node based on the plane structure information of the preset node;
[0483] determining target context information according to the context indication information;
[0484] Determine the plane position information of the current node, encode the plane position information of the current node based on the target context information, and write the obtained encoded bits into the bitstream.
[0485] It is understood that the first memory 2202 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The first memory 2202 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0486] The first processor 2203 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits or software instructions in the first processor 2203. The above-mentioned first processor 2203 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of this application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented as a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers, etc. The storage medium is located in the first memory 2202 , and the first processor 2203 reads the information in the first memory 2202 and completes the steps of the above method in combination with its hardware.
[0487] It is to be understood that these embodiments described in the present application can be implemented with hardware, software, firmware, middleware, microcode or its combination.For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable logic device (Programmable Logic Device, PLD), field programmable gate array (Field-Programmable Gate Array, FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic units for performing functions described in the present application or its combination.For software implementation, the technology described in the present application can be realized by the module (such as process, function etc.) that performs functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in a processor or outside a processor.
[0488] Optionally, as another embodiment, the first processor 2203 is further configured to execute the encoding method described in any one of the aforementioned embodiments when running the computer program.
[0489] This embodiment provides an encoder. For this encoder, in the process of encoding the planar position information of the current node using the target context information, the target context information can be determined by considering the planar structure information of the predicted node in the predicted frame; in this way, since the correlation of the planar structure information between the corresponding nodes in adjacent predicted frames is taken into account, and the redundancy of the planar structure information between adjacent frames is removed by using the time domain correlation between adjacent predicted frames, the geometric information encoding efficiency of the point cloud can be improved, thereby improving the encoding and decoding performance of the point cloud.
[0490] In another embodiment of the present application, based on the same inventive concept as the above embodiment, see Figure 23, which shows a schematic diagram of the composition structure of a decoder provided by the embodiment of the present application. As shown in Figure 23, the decoder 230 may include: a second determining unit 2301 and a decoding unit 2302; wherein,
[0491] The second determining unit 2301 is configured to determine, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame; determine context indication information of the current node according to the plane structure information of the preset node; and determine target context information according to the context indication information;
[0492] The decoding unit 2302 is configured to decode the code stream based on the target context information to determine the plane position information of the current node.
[0493] In some embodiments, the predicted frame is a decoded frame, and the predicted frame has a neighboring relationship with the current frame including the current node.
[0494] In some embodiments, the second determination unit 2301 is further configured to determine the occupancy information of the prediction node; and determine the plane identification information of the prediction node based on the occupancy information of the prediction node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane identification information of the prediction node.
[0495] In some embodiments, the second determination unit 2301 is further configured to determine the neighboring nodes of the prediction node; determine at least one target node in the prediction frame based on the neighboring nodes of the prediction node; wherein the at least one target node includes at least one of the following: at least one coplanar node that is coplanar with the prediction node, at least one colinear node that is colinear with the prediction node, and at least one co-point node that is co-point with the prediction node.
[0496] In some embodiments, the second determination unit 2301 is further configured to determine the neighboring nodes of the current node; and based on the predicted frame, determine the predicted nodes of the respective neighboring nodes of the current node; and determine at least one target node in the predicted frame based on the predicted nodes of the respective neighboring nodes of the current node; wherein the at least one target node includes at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one colinear node colinear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
[0497] In some embodiments, the second determination unit 2301 is further configured to determine the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes based on the plane structure information of the preset nodes; and determine the first context indication information of the current node based on the plane structure information of the first type of preset nodes; and determine the second context indication information of the current node based on the plane structure information of the second type of preset nodes.
[0498] In some embodiments, when the first type of preset node includes a prediction node and a first target node, the second determination unit 2301 is further configured to determine the placeholder information of the prediction node and the placeholder information of the first target node; and determine the plane identification information of the prediction node and the plane position information of the prediction node based on the placeholder information of the prediction node; and determine the plane identification information of the first target node and the plane position information of the first target node based on the placeholder information of the first target node; and compose the plane structure information of the first type of preset node based on the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node and the plane position information of the first target node; and determine the first context indication information of the current node based on the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node and the plane position information of the first target node.
[0499] In some embodiments, when the second category of preset nodes includes a second target node, the second determination unit 2301 is further configured to determine the placeholder information of the second target node; and determine the plane identification information of the second target node and the plane position information of the second target node based on the placeholder information of the second target node; and compose the plane structure information of the second category of preset nodes based on the plane identification information of the second target node and the plane position information of the second target node; and determine the second context indication information of the current node based on the plane identification information of the second target node and the plane position information of the second target node.
[0500] In some embodiments, the first target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, and a coplanar node located below the prediction node; the second target node includes: a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node;
[0501] Alternatively, the first target node includes: the prediction node corresponding to the coplanar node located to the left of the current node, the prediction node corresponding to the coplanar node located in front of the current node, and the prediction node corresponding to the coplanar node located below the current node; the second target node includes: the prediction node corresponding to the coplanar node located to the right of the current node, the prediction node corresponding to the coplanar node located behind the current node, and the prediction node corresponding to the coplanar node located above the current node.
[0502] In some embodiments, the second determination unit 2301 is further configured to determine the first type of plane structure information of the preset node and the second type of plane structure information of the preset node based on the plane structure information of the preset node; and determine the first context indication information of the current node based on the first type of plane structure information of the preset node; and determine the second context indication information of the current node based on the second type of plane structure information of the preset node.
[0503] In some embodiments, when the preset node includes a prediction node and a third target node, the second determination unit 2301 is further configured to determine the respective occupancy information of the prediction node and the third target node; and determine the plane position information of the prediction node and the plane position information of the third target node based on the respective occupancy information of the prediction node and the third target node; and constitute the first type of plane structure information of the preset node based on the plane position information of the prediction node and the plane position information of the third target node; and determine the first context indication information of the current node based on the plane position information of the prediction node and the plane position information of the third target node.
[0504] In some embodiments, when the preset node includes a prediction node and a third target node, the second determination unit 2301 is further configured to determine the placeholder information of the prediction node and the third target node respectively; and determine the plane identification information of the prediction node and the plane identification information of the third target node based on the placeholder information of the prediction node and the third target node respectively; and constitute the second type of plane structure information of the preset node based on the plane identification information of the prediction node and the plane identification information of the third target node; and determine the second context indication information of the current node based on the plane identification information of the prediction node and the plane identification information of the third target node.
[0505] In some embodiments, the third target node includes: a coplanar node to the left of the prediction node, a coplanar node in front of the prediction node, a coplanar node below the prediction node, a coplanar node to the right of the prediction node, a coplanar node behind the prediction node, and a coplanar node above the prediction node; or, the third target node includes: a prediction node corresponding to a coplanar node to the left of the current node, a prediction node corresponding to a coplanar node in front of the current node, a prediction node corresponding to a coplanar node below the current node, a prediction node corresponding to a coplanar node to the right of the current node, a prediction node corresponding to a coplanar node behind the current node, and a prediction node corresponding to a coplanar node above the current node.
[0506] In some embodiments, the second determining unit 2301 is further configured to obtain first context indication information of the current node and second context indication information of the current node; and determine target context information according to the first context indication information and the second context indication information.
[0507] In some embodiments, the second determining unit 2301 is further configured to perform context mapping processing according to the first context indication information and the second context indication information to obtain new context information; and determine target context information according to the new context information.
[0508] In some embodiments, the second determining unit 2301 is further configured to determine reference context information of the current node; and determine target context information according to the first context indication information, the second context indication information and the reference context information.
[0509] In some embodiments, the second determining unit 2301 is further configured to determine reference context information of the current node, including at least one of the following:
[0510] Predicting the plane position information of the current node based on the occupancy information of the neighboring nodes, and determining the predicted value of the plane position information of the current node, where the predicted value includes one of the following: low plane, high plane, and unpredictable;
[0511] Determine the spatial distance between the current node and a node at the same partition depth and the same coordinates as the current node, where the spatial distance includes one of the following: a short distance and a long distance;
[0512] Determine whether the nodes at the same partition depth and the same coordinates as the current node are a plane. If the node is a plane, determine the plane position of the node;
[0513] Determine the coordinate dimension information of the current node.
[0514] In some embodiments, the second determination unit 2301 is further configured to determine the occupancy information of the prediction node; and determine the plane structure information of the prediction node based on the occupancy information of the prediction node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane structure information of the prediction node.
[0515] In some embodiments, the second determining unit 2301 is further configured to obtain reference information of the current node; and determine whether the current node starts the plane coding mode in a preset direction based on the plane structure information of the prediction node and the reference information of the current node.
[0516] It is understood that in this embodiment, a "unit" can be a portion of a circuit, a portion of a processor, a portion of a program or software, etc., and can also be a module or a non-modular system. Furthermore, the various components in this embodiment can be integrated into a single processing unit, or each unit can exist physically separately, or two or more units can be integrated into a single unit. The aforementioned integrated units can be implemented in the form of hardware or software functional modules.
[0517] If the integrated unit is implemented as a software functional module and not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer-readable storage medium for use in decoder 230. The computer-readable storage medium stores a computer program that, when executed by the second processor, implements any of the decoding methods described in the aforementioned embodiments.
[0518] Based on the composition of the decoder 230 and the computer-readable storage medium, refer to Figure 24, which shows a specific hardware structure diagram of the decoder 230 provided in an embodiment of the present application. As shown in Figure 24, the decoder 230 may include: a second communication interface 2401, a second memory 2402 and a second processor 2403; each component is coupled together through a second bus system 2404. It can be understood that the second bus system 2404 is used to achieve connection and communication between these components. In addition to the data bus, the second bus system 2404 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as the second bus system 2404 in Figure 24. Among them,
[0519] The second communication interface 2401 is used to receive and send signals during the process of sending and receiving information between other external network elements;
[0520] The second memory 2402 is used to store computer programs that can be run on the second processor 2403;
[0521] The second processor 2403 is configured to, when running the computer program, execute:
[0522] Determining, based on a prediction node corresponding to the current node in the prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame;
[0523] Determine context indication information of the current node based on the plane structure information of the preset node;
[0524] determining target context information according to the context indication information;
[0525] The code stream is decoded based on the target context information to determine the plane position information of the current node.
[0526] Optionally, as another embodiment, the second processor 2403 is further configured to execute the decoding method described in any one of the aforementioned embodiments when running the computer program.
[0527] It can be understood that the hardware functions of the second memory 2402 and the first memory 2202 are similar, and the hardware functions of the second processor 2403 and the first processor 2203 are similar; they will not be described in detail here.
[0528] This embodiment provides a decoder. For this decoder, in the process of decoding the planar position information of the current node using the target context information, the target context information can be determined by considering the planar structure information of the predicted node in the predicted frame; in this way, since the correlation of the planar structure information between the corresponding nodes in adjacent predicted frames is taken into account, and the redundancy of the planar structure information between adjacent frames is removed by using the time domain correlation between adjacent predicted frames, the geometric information encoding efficiency of the point cloud can be improved, thereby improving the encoding and decoding performance of the point cloud.
[0529] In yet another embodiment of the present application, referring to FIG25 , a schematic diagram of the structure of a coding and decoding system provided by an embodiment of the present application is shown. As shown in FIG25 , the coding and decoding system 250 may include an encoder 2501 and a decoder 2502 .
[0530] In the embodiment of the present application, the encoder 2501 may be the encoder described in any one of the aforementioned embodiments, and the decoder 2502 may be the decoder described in any one of the aforementioned embodiments.
[0531] It should be noted that, in this application, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0532] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0533] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0534] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0535] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0536] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims. Industrial Applicability
[0537] In an embodiment of the present application, whether at the encoding end or the decoding end, the plane structure information of the preset node of the current node is determined based on the prediction node corresponding to the current node in the prediction frame, wherein the preset node includes the prediction node and at least one target node in the prediction frame; the context indication information of the current node is determined based on the plane structure information of the preset node; and the target context information is determined based on the context indication information. In this way, at the encoding end, after determining the plane position information of the current node, the plane position information of the current node is encoded based on the target context information, and the obtained encoding bits are written into the bitstream; and at the decoding end, the bitstream can be decoded based on the target context information to determine the plane position information of the current node. That is, in the process of encoding and decoding the plane position information of the current node using the target context information, the target context information can be determined by considering the plane structure information of the prediction node in the prediction frame; in this way, since the correlation of the plane structure information between the corresponding nodes in adjacent prediction frames is taken into account, the geometric information encoding efficiency of the point cloud can be effectively improved; at the same time, the redundancy of the plane structure information between adjacent frames is removed by using the time domain correlation between adjacent prediction frames, which can further improve the geometric information encoding efficiency of the point cloud, thereby improving the encoding and decoding performance of the point cloud.
Claims
1. A decoding method, applied to a decoder, the method comprising: Determine, based on a prediction node corresponding to a current node in a prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame; Determining context indication information of the current node according to the plane structure information of the preset node; Determining target context information according to the context indication information; The target context information is decoded based on the code stream to determine the plane position information of the current node.
2. The method according to claim 1, wherein: The predicted frame is a decoded frame, and the predicted frame has a neighboring relationship with a current frame including the current node.
3. The method according to claim 1, wherein: The method further comprises: Determining the placeholder information of the prediction node; Determining plane identification information of the prediction node according to the placeholder information of the prediction node; Based on the plane identification information of the prediction node, it is determined whether the current node starts a plane coding mode in a preset direction.
4. The method according to claim 1, wherein: The method further comprises: Determining neighboring nodes of the prediction node; Determining at least one target node in the prediction frame according to the neighboring nodes of the prediction node; The at least one target node includes at least one of the following: at least one coplanar node coplanar with the prediction node, at least one colinear node colinear with the prediction node, and at least one co-point node co-point with the prediction node.
5. The method according to claim 1, wherein: The method further comprises: Determine neighboring nodes of the current node; Based on the prediction frame, determining prediction nodes of respective neighboring nodes of the current node; Determine at least one target node in the prediction frame according to respective prediction nodes of neighboring nodes of the current node; Among them, the at least one target node includes at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one co-linear node co-linear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
6. The method according to claim 4 or 5, wherein: The determining, according to the plane structure information of the preset node, the context indication information of the current node includes: Determine the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes according to the plane structure information of the preset nodes; Determining first context indication information of the current node according to the plane structure information of the first type of preset nodes; The second context indication information of the current node is determined according to the plane structure information of the second-type preset node.
7. The method according to claim 6, wherein: When the first type of preset nodes includes the prediction node and the first target node, determining the plane structure information of the first type of preset nodes includes: Determining the placeholder information of the prediction node and the placeholder information of the first target node; Determining the plane identification information of the prediction node and the plane position information of the prediction node according to the placeholder information of the prediction node; and determining the plane identification information of the first target node and the plane position information of the first target node according to the placeholder information of the first target node; According to the plane identification information of the predicted node, the plane position information of the predicted node, the plane identification information of the first target node, and the plane position information of the first target node, the plane structure information of the first type of preset nodes is formed; Correspondingly, determining the first context indication information of the current node according to the plane structure information of the first type of preset nodes includes: The first context indication information of the current node is determined according to the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node, and the plane position information of the first target node.
8. The method according to claim 7, wherein: When the second-type preset nodes include the second target node, determining the plane structure information of the second-type preset nodes includes: Determining the placeholder information of the second target node; Determining, according to the placeholder information of the second target node, plane identification information of the second target node and plane position information of the second target node; According to the plane identification information of the second target node and the plane position information of the second target node, the plane structure information of the second type of preset node is formed; Correspondingly, determining the second context indication information of the current node according to the plane structure information of the second type of preset nodes includes: The second context indication information of the current node is determined according to the plane identification information of the second target node and the plane position information of the second target node.
9. The method according to claim 8, wherein: The first target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, and a coplanar node located below the prediction node; The second target node includes: a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node; or, The first target node includes: a predicted node corresponding to a coplanar node located to the left of the current node, a predicted node corresponding to a coplanar node located in front of the current node, and a predicted node corresponding to a coplanar node located below the current node; The second target node includes: a predicted node corresponding to a coplanar node located to the right of the current node, a predicted node corresponding to a coplanar node located behind the current node, and a predicted node corresponding to a coplanar node located above the current node.
10. The method according to claim 4 or 5, wherein: The determining, according to the plane structure information of the preset node, the context indication information of the current node includes: Determining, according to the plane structure information of the preset node, first-type plane structure information of the preset node and second-type plane structure information of the preset node; Determining first context indication information of the current node according to the first type of plane structure information of the preset node; The second context indication information of the current node is determined according to the second type of plane structure information of the preset node.
11. The method according to claim 10, wherein: When the preset node includes the prediction node and the third target node, determining the first type of plane structure information of the preset node includes: Determining respective placeholder information of the prediction node and the third target node; Determining the plane position information of the prediction node and the plane position information of the third target node according to the respective placeholder information of the prediction node and the third target node; According to the plane position information of the predicted node and the plane position information of the third target node, forming the first type of plane structure information of the preset node; Correspondingly, determining the first context indication information of the current node according to the first type of plane structure information of the preset node includes: The first context indication information of the current node is determined according to the plane position information of the prediction node and the plane position information of the third target node.
12. The method according to claim 10, wherein: When the preset node includes the prediction node and the third target node, determining the second type of plane structure information of the preset node includes: Determining respective placeholder information of the prediction node and the third target node; Determining the plane identification information of the prediction node and the plane identification information of the third target node according to the respective placeholder information of the prediction node and the third target node; According to the plane identification information of the predicted node and the plane identification information of the third target node, the second type of plane structure information of the preset node is formed; Correspondingly, determining the second context indication information of the current node according to the second type of plane structure information of the preset node includes: The second context indication information of the current node is determined according to the plane identification information of the prediction node and the plane identification information of the third target node.
13. The method according to claim 11 or 12, wherein: The third target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, a coplanar node located below the prediction node, a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node; or, The third target node includes: a predicted node corresponding to a coplanar node to the left of the current node, a predicted node corresponding to a coplanar node in front of the current node, a predicted node corresponding to a coplanar node below the current node, a predicted node corresponding to a coplanar node to the right of the current node, a predicted node corresponding to a coplanar node behind the current node, and a predicted node corresponding to a coplanar node above the current node.
14. The method according to claim 6 or 10, wherein: The determining target context information according to the context indication information includes: Acquire first context indication information of the current node and second context indication information of the current node; The target context information is determined according to the first context indication information and the second context indication information.
15. The method according to claim 14, wherein: The determining the target context information according to the first context indication information and the second context indication information includes: Performing context mapping processing according to the first context indication information and the second context indication information to obtain new context information; The target context information is determined according to the new context information.
16. The method according to claim 14, wherein: The determining target context information according to the context indication information includes: Determining reference context information of the current node; The target context information is determined according to the first context indication information, the second context indication information and the reference context information.
17. The method according to claim 16, wherein: The determining of the reference context information of the current node includes at least one of the following: Predicting according to the occupancy information of the neighboring nodes, determining a predicted value of the plane position information of the current node, wherein the predicted value includes one of the following: low plane, high plane, and unpredictable; Determine a spatial distance between a node at the same partition depth and the same coordinates as the current node and the current node, wherein the spatial distance includes one of the following: a short distance and a long distance; Determine whether a node at the same division depth and the same coordinates as the current node is a plane, and if the node is a plane, determine the plane position of the node; Determine the coordinate dimension information of the current node.
18. The method according to claim 1, wherein: The method further comprises: Determining the placeholder information of the prediction node; Determining the plane structure information of the prediction node according to the placeholder information of the prediction node; Based on the plane structure information of the prediction node, it is determined whether the current node starts a plane coding mode in a preset direction.
19. The method according to claim 18, wherein: The determining, based on the plane structure information of the prediction node, whether the current node starts a plane coding mode in a preset direction includes: Obtaining reference information of the current node; According to the plane structure information of the prediction node and the reference information of the current node, it is determined whether the current node starts a plane coding mode in a preset direction.
20. A coding method, applied to an encoder, the method comprising: Determine, based on a prediction node corresponding to a current node in a prediction frame, plane structure information of a preset node of the current node, wherein the preset node includes the prediction node and at least one target node in the prediction frame; Determining context indication information of the current node according to the plane structure information of the preset node; Determining target context information according to the context indication information; Determine the plane position information of the current node, encode the plane position information of the current node based on the target context information, and write the obtained encoding bits into a bitstream.
21. The method according to claim 20, wherein: The determining the plane position information of the current node includes: When the current node meets the plane coding condition, the plane position information of the current node is determined to be one of the following: low plane position information or high plane position information.
22. The method according to claim 20, wherein: The predicted frame is an encoded frame, and the predicted frame has an adjacent relationship with a current frame including the current node.
23. The method according to claim 20, wherein: The method further comprises: Determining the placeholder information of the prediction node; Determining plane identification information of the prediction node according to the placeholder information of the prediction node; Based on the plane identification information of the prediction node, it is determined whether the current node starts a plane coding mode in a preset direction.
24. The method according to claim 20, wherein: The method further comprises: Determining neighboring nodes of the prediction node; Determining at least one target node in the prediction frame according to the neighboring nodes of the prediction node; The at least one target node includes at least one of the following: at least one coplanar node coplanar with the prediction node, at least one colinear node colinear with the prediction node, and at least one co-point node co-point with the prediction node.
25. The method according to claim 20, wherein: The method further comprises: Determine neighboring nodes of the current node; Based on the prediction frame, determining prediction nodes of respective neighboring nodes of the current node; Determine at least one target node in the prediction frame according to respective prediction nodes of neighboring nodes of the current node; Among them, the at least one target node includes at least one of the following: a predicted node corresponding to at least one coplanar node coplanar with the current node, a predicted node corresponding to at least one co-linear node co-linear with the current node, and a predicted node corresponding to at least one co-point node co-point with the current node.
26. The method according to claim 24 or 25, wherein: The determining, according to the plane structure information of the preset node, the context indication information of the current node includes: Determine the plane structure information of the first type of preset nodes and the plane structure information of the second type of preset nodes according to the plane structure information of the preset nodes; Determining first context indication information of the current node according to the plane structure information of the first type of preset nodes; The second context indication information of the current node is determined according to the plane structure information of the second-type preset node.
27. The method according to claim 26, wherein: When the first type of preset nodes includes the prediction node and the first target node, determining the plane structure information of the first type of preset nodes includes: Determining the placeholder information of the prediction node and the placeholder information of the first target node; Determining the plane identification information of the prediction node and the plane position information of the prediction node according to the placeholder information of the prediction node; and determining the plane identification information of the first target node and the plane position information of the first target node according to the placeholder information of the first target node; According to the plane identification information of the predicted node, the plane position information of the predicted node, the plane identification information of the first target node, and the plane position information of the first target node, the plane structure information of the first type of preset nodes is formed; Correspondingly, determining the first context indication information of the current node according to the plane structure information of the first type of preset nodes includes: The first context indication information of the current node is determined according to the plane identification information of the prediction node, the plane position information of the prediction node, the plane identification information of the first target node, and the plane position information of the first target node.
28. The method according to claim 27, wherein: When the second-type preset nodes include the second target node, determining the plane structure information of the second-type preset nodes includes: Determining the placeholder information of the second target node; Determining, according to the placeholder information of the second target node, plane identification information of the second target node and plane position information of the second target node; According to the plane identification information of the second target node and the plane position information of the second target node, the plane structure information of the second type of preset node is formed; Correspondingly, determining the second context indication information of the current node according to the plane structure information of the second type of preset nodes includes: The second context indication information of the current node is determined according to the plane identification information of the second target node and the plane position information of the second target node.
29. The method according to claim 28, wherein: The first target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, and a coplanar node located below the prediction node; The second target node includes: a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node; or, The first target node includes: a predicted node corresponding to a coplanar node located to the left of the current node, a predicted node corresponding to a coplanar node located in front of the current node, and a predicted node corresponding to a coplanar node located below the current node; The second target node includes: a predicted node corresponding to a coplanar node located to the right of the current node, a predicted node corresponding to a coplanar node located behind the current node, and a predicted node corresponding to a coplanar node located above the current node.
30. The method according to claim 24 or 25, wherein: The determining, according to the plane structure information of the preset node, the context indication information of the current node includes: Determining, according to the plane structure information of the preset node, first-type plane structure information of the preset node and second-type plane structure information of the preset node; Determining first context indication information of the current node according to the first type of plane structure information of the preset node; The second context indication information of the current node is determined according to the second type of plane structure information of the preset node.
31. The method according to claim 30, wherein: When the preset node includes the prediction node and the third target node, determining the first type of plane structure information of the preset node includes: Determining respective placeholder information of the prediction node and the third target node; Determining the plane position information of the prediction node and the plane position information of the third target node according to the respective placeholder information of the prediction node and the third target node; According to the plane position information of the predicted node and the plane position information of the third target node, forming the first type of plane structure information of the preset node; Correspondingly, determining the first context indication information of the current node according to the first type of plane structure information of the preset node includes: The first context indication information of the current node is determined according to the plane position information of the prediction node and the plane position information of the third target node.
32. The method of claim 30, wherein: When the preset node includes the prediction node and the third target node, determining the second type of plane structure information of the preset node includes: Determining respective placeholder information of the prediction node and the third target node; Determining the plane identification information of the prediction node and the plane identification information of the third target node according to the respective placeholder information of the prediction node and the third target node; According to the plane identification information of the predicted node and the plane identification information of the third target node, the second type of plane structure information of the preset node is formed; Correspondingly, determining the second context indication information of the current node according to the second type of plane structure information of the preset node includes: The second context indication information of the current node is determined according to the plane identification information of the prediction node and the plane identification information of the third target node.
33. The method according to claim 31 or 32, wherein: The third target node includes: a coplanar node located to the left of the prediction node, a coplanar node located in front of the prediction node, a coplanar node located below the prediction node, a coplanar node located to the right of the prediction node, a coplanar node located behind the prediction node, and a coplanar node located above the prediction node; or, The third target node includes: a predicted node corresponding to a coplanar node to the left of the current node, a predicted node corresponding to a coplanar node in front of the current node, a predicted node corresponding to a coplanar node below the current node, a predicted node corresponding to a coplanar node to the right of the current node, a predicted node corresponding to a coplanar node behind the current node, and a predicted node corresponding to a coplanar node above the current node.
34. The method according to claim 26 or 30, wherein: The determining target context information according to the context indication information includes: Acquire first context indication information of the current node and second context indication information of the current node; The target context information is determined according to the first context indication information and the second context indication information.
35. The method of claim 34, wherein: The determining the target context information according to the first context indication information and the second context indication information includes: Performing context mapping processing according to the first context indication information and the second context indication information to obtain new context information; The target context information is determined according to the new context information.
36. The method of claim 35, wherein: The determining target context information according to the context indication information includes: Determining reference context information of the current node; The target context information is determined according to the first context indication information, the second context indication information and the reference context information.
37. The method of claim 36, wherein: The determining of the reference context information of the current node includes at least one of the following: Predicting according to the occupancy information of the neighboring nodes, determining a predicted value of the plane position information of the current node, wherein the predicted value includes one of the following: low plane, high plane, and unpredictable; Determine a spatial distance between a node at the same partition depth and the same coordinates as the current node and the current node, and the spatial distance satisfies one of the following: a short distance and a long distance; Determine whether a node at the same division depth and the same coordinates as the current node is a plane, and if the node is a plane, determine the plane position of the node; Determine the coordinate dimension information of the current node.
38. The method of claim 20, wherein: The method further comprises: Determining the placeholder information of the prediction node; Determining the plane structure information of the prediction node according to the placeholder information of the prediction node; Based on the plane structure information of the prediction node, it is determined whether the current node starts a plane coding mode in a preset direction.
39. The method of claim 38, wherein: The determining, based on the plane structure information of the prediction node, whether the current node starts a plane coding mode in a preset direction includes: Obtaining reference information of the current node; According to the plane structure information of the prediction node and the reference information of the current node, it is determined whether the current node starts a plane coding mode in a preset direction.
40. A code stream, wherein The code stream is generated by bit coding according to the information to be coded; wherein the information to be coded at least includes: the plane position information of the current node.
41. An encoder, comprising a first determining unit and an encoding unit; wherein: The first determination unit is configured to determine the plane structure information of the preset node of the current node based on the prediction node corresponding to the current node in the prediction frame, wherein the preset node includes the prediction node and at least one target node in the prediction frame; determine the context indication information of the current node according to the plane structure information of the preset node; determine the target context information according to the context indication information; and determine the plane position information of the current node; The encoding unit is configured to encode the plane position information of the current node based on the target context information, and write the obtained encoding bits into the bit stream.
42. An encoder, comprising a first memory and a first processor; wherein: The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 20 to 39 when running the computer program.
43. A decoder, comprising a second determining unit and a decoding unit; wherein: The second determination unit is configured to determine the plane structure information of the preset node of the current node based on the prediction node corresponding to the current node in the prediction frame, wherein the preset node includes the prediction node and at least one target node in the prediction frame; determine the context indication information of the current node according to the plane structure information of the preset node; and determine the target context information according to the context indication information; The decoding unit is configured to decode the code stream based on the target context information to determine the plane position information of the current node.
44. A decoder, comprising a second memory and a second processor; wherein: The second memory is used to store a computer program that can be run on the second processor; The second processor is configured to execute the method according to any one of claims 1 to 19 when running the computer program.
45. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, and when the computer program is executed, the method according to any one of claims 1 to 19 is implemented, or the method according to any one of claims 20 to 39 is implemented.
Citation Information
Patent Citations
Context determination for planar mode in octree-based point cloud coding
CN114008997A
Occupancy coding using inter prediction in geometric point cloud compression
CN117561544A
Performance improvement of geometry point cloud compression (GPCC) planar mode using inter prediction
US20220351420A1