Coding method, decoding method and related device

By using rate distortion optimization in point cloud encoding, the inter prediction mode and non-prediction mode are selected, the poor encoding effect when the intra prediction mode is not turned on is solved, which improves the encoding quality and reduces the computational complexity.

WO2025152924A1PCT designated stage expired Publication Date: 2025-07-24VIVO MOBILE COMM CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/072261
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-17
Filing Date
2025-01-14
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

In the prior art, in point cloud encoding, when the intra prediction mode is not turned on, directly adopting the non-prediction mode may lead to poor prediction encoding effect, and it is urgent to improve the prediction mode selection method to improve the encoding quality.

Method used

Through rate distortion optimization (RDO), select the prediction mode of the current node from the inter prediction mode and the non-prediction mode, combine geometric reconstruction information to build a transformation tree structure, and optimize the encoding process.

Benefits of technology

The predictive encoding effect and encoding quality of point cloud encoding are improved, and the computational complexity and memory overhead of the encoding process are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025072261_24072025_PF_FP_ABST
    Figure CN2025072261_24072025_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of coding and decoding. Disclosed are a coding method, a decoding method and a related device. The coding method comprises: on the basis of geometric reconstruction information, a coding end determining a transformation tree structure of a point cloud to be coded, wherein the transformation tree structure comprises at least one first node layer; from a reference frame of a current node in the at least one first node layer, determining as a reference frame node a node having the same geometric position as a node to be coded; if the current node completely matches the reference frame node and an intra-frame prediction mode is not enabled, selecting, by means of rate-distortion optimization and from among an inter-frame prediction mode and a non-prediction mode, a prediction mode used by the current node; on the basis of the prediction mode, performing prediction and transformation on the node to be coded, so as to obtain an attribute transformation coefficient, wherein the node to be coded is a child node of the current node; and performing coding processing on the attribute transformation coefficient, so as to obtain a bitstream.
Need to check novelty before this filing date? Find Prior Art

Description

Coding and decoding method and related equipment

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on January 17, 2024, with application number 202410072679.9 and invention name “Encoding and Decoding Methods and Related Devices”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application belongs to the field of coding and decoding technology, and specifically relates to a coding and decoding method and related equipment. Background Art

[0004] With the continuous development of point cloud technology, the compression and coding of point cloud data has become a significant research issue. Currently, both the Audio Video Coding Standard Workgroup of China (AVS) and the Moving Picture Experts Group (MPEG) within the International Organization for Standardization are developing standards for point cloud coding, such as the Geometry-based Point Cloud Compression (G-PCC) codec. Improving the performance of point cloud coding and decoding is a pressing issue. Summary of the Invention

[0005] The embodiments of the present application provide a coding and decoding method and related equipment, which can select a more appropriate prediction mode for the current node, thereby improving the prediction coding effect and improving the coding quality.

[0006] In a first aspect, an encoding method is provided, which is performed by an encoding end, and the method includes:

[0007] The encoder determines a transform tree structure of the point cloud to be encoded based on the geometric reconstruction information, where the transform tree structure includes at least one first node layer;

[0008] Determining, in a reference frame of a current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0009] If the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled, selecting a prediction mode for the current node from an inter-frame prediction mode and a non-prediction mode through rate-distortion optimization;

[0010] Predicting and transforming a node to be coded according to the prediction mode to obtain an attribute transformation coefficient; the node to be coded is a child node of the current node;

[0011] The attribute transformation coefficients are coded to obtain a code stream.

[0012] In a second aspect, a decoding method is provided, which is performed by a decoding end, and the method includes:

[0013] The decoding end parses the bitstream to obtain the transformation coefficient reconstruction value of the point cloud to be decoded;

[0014] Determining a transform tree structure of the point cloud to be decoded based on geometric reconstruction information; the transform tree structure includes at least one first node layer;

[0015] Determining, in a reference frame of a current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0016] If the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled, determining the prediction mode used by the current node through entropy decoding; wherein the prediction mode is an inter-frame prediction mode or a non-prediction mode;

[0017] The transformation coefficient reconstruction value of the node to be decoded is inversely transformed according to the prediction mode to obtain a reconstructed attribute value; wherein the node to be decoded is a child node of the current node.

[0018] In a third aspect, a coding apparatus is provided, comprising:

[0019] a determination module, configured to determine a transformation tree structure of a point cloud to be encoded based on the geometric reconstruction information, wherein the transformation tree structure includes at least one first node layer;

[0020] The determining module is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0021] The determining module is further configured to select a prediction mode for the current node from an inter-frame prediction mode and a non-prediction mode through rate-distortion optimization if the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled;

[0022] A prediction and transformation module, configured to predict and transform a node to be coded according to the prediction mode to obtain an attribute transformation coefficient; the node to be coded is a child node of the current node;

[0023] The encoding module is used to encode the attribute transformation coefficients to obtain a code stream.

[0024] In a fourth aspect, a decoding apparatus is provided, comprising:

[0025] The parsing module is used to parse the code stream and obtain the transformation coefficient reconstruction value of the point cloud to be decoded;

[0026] A determination module, configured to determine a transformation tree structure of the to-be-decoded point cloud based on geometric reconstruction information; the transformation tree structure comprising at least one first node layer;

[0027] The determining module is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0028] The decoding module is configured to determine the prediction mode adopted by the current node through entropy decoding if the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled; wherein the prediction mode is an inter-frame prediction mode or a non-prediction mode;

[0029] An inverse transformation module is used to perform an inverse transformation on the transformation coefficient reconstruction value of the node to be decoded according to the prediction mode to obtain a reconstructed attribute value; wherein the node to be decoded is a child node of the current node.

[0030] In a fifth aspect, an electronic device is provided, which terminal includes a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the program or instructions are executed by the processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.

[0031] In a sixth aspect, an electronic device is provided, comprising: a memory configured to store video data, and a processing circuit configured to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0032] In the seventh aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.

[0033] In an eighth aspect, a coding and decoding system is provided, comprising: an encoding end device and a decoding end device, wherein the encoding end device can be used to execute the steps of the method described in the first aspect, and the decoding end device can be used to execute the steps of the method described in the second aspect.

[0034] In the ninth aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0035] In the tenth aspect, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0036] In an embodiment of the present application, the encoding end selects a prediction mode for the current node from the inter-prediction mode and the non-prediction mode through rate-distortion optimization when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled. The encoding end then transforms, predicts, and encodes the attribute information of the child nodes of the current node, i.e., the node to be encoded, based on the selected appropriate prediction mode to obtain a bitstream. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, thereby improving the predictive coding effect and improving the encoding quality.

[0037] The decoding end determines the prediction mode of the current node through entropy decoding, whether it is an inter-frame prediction mode or a non-prediction mode, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled. Then, based on the prediction mode, the decoder performs an inverse transform on the transform coefficient reconstruction value of the child node of the current node, that is, the node to be decoded, to obtain a reconstructed attribute value. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, thereby improving the prediction decoding effect and improving the decoding quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] FIG1 is a schematic diagram of a coding and decoding system provided in an embodiment of the present application;

[0039] FIG2 a is a flowchart of encoding performed by an encoder based on an AVS-PCC encoding framework;

[0040] FIG2 b is a flowchart of encoding performed by an encoder based on the MPEG G-PCC encoding framework;

[0041] FIG3 a is a flowchart of decoding performed by a decoder based on the AVS-PCC decoding framework;

[0042] FIG3 b is a flowchart of decoding performed by a decoder based on the MPEG G-PCC decoding framework;

[0043] FIG4 is a schematic flow chart of an encoding method provided in an embodiment of the present application;

[0044] FIG5 is a schematic flow chart of another encoding method provided in an embodiment of the present application;

[0045] FIG6 is a schematic flow chart of another encoding method provided in an embodiment of the present application;

[0046] FIG7 is a schematic flow chart of a decoding method provided in an embodiment of the present application;

[0047] FIG8 is a schematic flow chart of another decoding method provided in an embodiment of the present application;

[0048] FIG9 is a schematic diagram of a decoding process provided in an embodiment of the present application;

[0049] FIG10 is a schematic block diagram of an encoding device provided in an embodiment of the present application;

[0050] FIG11 is a schematic block diagram of a decoding device provided in an embodiment of the present application;

[0051] FIG12 is a schematic block diagram of an electronic device further provided in an embodiment of the present application;

[0052] FIG13 is a schematic diagram of the hardware structure of a terminal implementing an embodiment of the present application. DETAILED DESCRIPTION

[0053] The following will be combined with the accompanying drawings in the embodiments of this application to clearly describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field are within the scope of protection of this application.

[0054] The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable where appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same type, and do not limit the number of objects, for example, the first object can be one or more. In addition, "or" in this application represents at least one of the connected objects. For example, "A or B" covers three options, namely, Option 1: including A but not including B; Option 2: including B but not including A; Option 3: including both A and B. The character " / " generally indicates that the objects associated before and after are in an "or" relationship.

[0055] Before introducing the technical solutions provided by the embodiments of the present application, the meanings of some of the terms are first introduced.

[0056] Point Cloud: A point cloud is a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a 3D object or scene. Point clouds can be categorized into different types based on different classification criteria. For example, based on how the point cloud is acquired, they can be divided into dense point clouds and sparse point clouds. Similarly, based on the temporal nature of the point cloud, they can be divided into static point clouds and dynamic point clouds.

[0057] Point Cloud Data: The geometric coordinate information and attribute information of each point in the point cloud together constitute point cloud data. Among them, geometric coordinate information can also be called three-dimensional position information. The geometric coordinate information of a point in the point cloud refers to the spatial coordinates (x, y, z) of the point, which can include the coordinate values ​​of the point in each coordinate axis direction of the three-dimensional coordinate system, for example, the coordinate value x in the X-axis direction, the coordinate value y in the Y-axis direction, and the coordinate value z in the Z-axis direction. The attribute information of a point in the point cloud may include at least one of the following: color information, material information, laser reflection intensity information (also called reflectivity). Usually, each point in the point cloud has the same amount of attribute information. For example, each point in the point cloud can have two kinds of attribute information: color information and laser reflection intensity. For another example, each point in the point cloud can have three kinds of attribute information: color information, material information, and laser reflection intensity information.

[0058] Point Cloud Compression (PCC): Point cloud coding refers to the process of encoding the geometric coordinate information and attribute information of each point in the point cloud to obtain a compressed code stream. Point cloud coding can include two main processes: geometric coordinate information encoding and attribute information encoding. 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).

[0059] Point cloud decoding: Point cloud decoding refers to the process of decoding the compressed bitstream obtained by point cloud encoding to reconstruct the point cloud. Specifically, it refers to the process of reconstructing the geometric coordinate information and attribute information of each point in the point cloud based on the geometric bitstream and attribute bitstream in the compressed bitstream. After obtaining the compressed bitstream at the decoding end, the geometric bitstream is first entropy decoded to obtain the quantized information of each point in the point cloud, and then dequantized to reconstruct the geometric coordinate information of each point in the point cloud. For the attribute bitstream, entropy decoding is first performed to obtain the quantized attribute residual information or quantized transform coefficients of each point in the point cloud. The quantized attribute residual information is then dequantized to obtain the reconstructed residual information, and the quantized transform coefficients are dequantized to obtain the reconstructed transform coefficients. The reconstructed transform coefficients are then inversely transformed to obtain the reconstructed residual information. Based on the reconstructed residual information of each point in the point cloud, the attribute information of each point in the point cloud can be reconstructed. The reconstructed attribute information of each point in the point cloud is sequentially matched with the reconstructed geometric coordinate information to reconstruct the point cloud.

[0060] Figure 1 is a schematic diagram of a codec system 10 provided in an embodiment of the present application. The technical solution of the embodiment of the present application involves performing codec (including encoding or decoding) on ​​point cloud data.

[0061] As shown in FIG1 , a codec system 10 includes a source device 100 that provides encoded point cloud data to be decoded and displayed by a destination device 110. Specifically, the source device 100 provides the point cloud data to the destination device 110 via a communication medium 120. The source device 100 and the destination device 110 may include any one or more of a desktop computer, a notebook (i.e., laptop) computer, a tablet computer, a set-top box, a mobile phone, a wearable device (e.g., a smartwatch or a wearable camera), a television, a camera, a display device, an in-vehicle device, a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device, a digital media player, a video game console, a video conferencing device, a video streaming device, a broadcast receiver device, a broadcast transmitter device, a spacecraft, an aircraft, a robot, a satellite, and the like.

[0062] In the example of Figure 1, the source device 100 includes a data source 101, a memory 102, an encoder 200, and an output interface 104. The destination device 110 includes an input interface 111, a decoder 300, a memory 113, and a display device 114. The source device 100 represents an example of an encoding device, while the destination device 110 represents an example of a decoding device. In other examples, the source device 100 and the destination device 110 may not include some of the components in Figure 1, or may include other components other than Figure 1. For example, the source device 100 may obtain point cloud data through an external capture device. Similarly, the destination device 110 may be connected to an external display device interface without including an integrated display device. For another example, the memory 102 and the memory 113 may be external memories.

[0063] Although FIG1 illustrates source device 100 and destination device 110 as separate devices, in some examples, the two may be integrated into a single device. In such embodiments, the functions corresponding to source device 100 and the functions corresponding to destination device 110 may be implemented using the same hardware or software, or using separate hardware or software, or any combination thereof.

[0064] In some examples, source device 100 and destination device 110 can perform unidirectional data transmission or bidirectional data transmission. If bidirectional data transmission is performed, source device 100 and destination device 110 can operate in a substantially symmetrical manner, that is, each of source device 100 and destination device 110 includes an encoder and a decoder.

[0065] The data source 101 represents the source of point cloud data (i.e., raw, unencoded point cloud data) and provides the point cloud data to the encoder 200, and the encoder 103 encodes the point cloud data. The source device 100 may include a capture device (e.g., a camera device, a sensor device, or a scanning device), an archive of previously captured point cloud data, or a feed interface for receiving point cloud data from a data content provider. Among them, the camera device may include an ordinary camera, a stereo camera, and a light field camera, etc., the sensor device may include a laser device, a radar device, etc., and the scanning device may include a three-dimensional laser scanning device, etc. Point cloud data can be obtained by capturing a real-world visual scene through a capture device. Alternatively, the data source 101 may generate computer graphics-based data as source data, or combine real-time data, archived data, and computer-generated data. For example, the data source generates point cloud data based on a virtual object (e.g., a virtual three-dimensional object and a virtual three-dimensional scene obtained by three-dimensional modeling).

[0066] The encoder 200 encodes captured, pre-captured, or computer-generated data. The encoder 200 can rearrange the point cloud data from the order in which it was received (sometimes referred to as "display order") into an encoding order. The encoder 200 can generate a bitstream comprising the encoded point cloud data. The source device 100 can then output the encoded point cloud data to the communication medium 120 via the output interface 104 for receipt or retrieval by, for example, the input interface 111 of the destination device 110.

[0067] Memory 102 of source device 100 and memory 113 of destination device 110 represent general-purpose memories. In some examples, memory 102 may store raw data from data source 101, and memory 113 may store decoded point cloud data from decoder 300. Additionally or alternatively, memories 102 and 113 may store software instructions executable by, for example, encoder 200 and decoder 300, respectively. Although memory 102 and memory 113 are shown separately from encoder 200 and decoder 300 in this example, it should be understood that encoder 200 and decoder 300 may also include internal memory for functionally similar or equivalent purposes. If encoder 200 and decoder 300 are deployed on the same hardware device, memory 102 and memory 113 may be the same memory. Furthermore, memories 102 and 113 may store, for example, encoded point cloud data output from encoder 200 and input to decoder 300. In some examples, portions of memory 102 , 113 may be allocated as one or more point cloud buffers, eg, for storing raw, decoded, or encoded point cloud data.

[0068] In some examples, source device 100 can output the encoded data from output interface 104 to memory 113. Similarly, destination device 110 can access the encoded data from memory 113 via input interface 111. Memory 113 or storage 102 can include any of a variety of distributed or locally accessed data storage media, such as a hard drive, a Blu-ray disc, a Digital Versatile Disc (DVD), a Compact Disc Read-Only Memory (CD-ROM), flash memory, volatile or non-volatile memory, or any other suitable digital storage medium for storing encoded point cloud data.

[0069] The output interface 104 may include any type of medium or device capable of transmitting the encoded point cloud data from the source device 100 to the destination device 110. For example, the output interface 104 may include a transmitter or transceiver, such as an antenna, configured to transmit the encoded point cloud data directly from the source device 100 to the destination device 110 in real time. The encoded point cloud data may be modulated according to a communication standard of a wireless communication protocol and transmitted to the destination device 110.

[0070] The communication medium 120 may include a transient medium such as a wireless broadcast or a wired network transmission. For example, the communication medium 120 may include a radio frequency (RF) spectrum or one or more physical transmission lines (e.g., cables). The communication medium 120 may form part of a packet-based network such as a local area network, a wide area network, or a global network such as the Internet. The communication medium 120 may also take the form of a storage medium (e.g., a non-transitory storage medium) such as a hard disk, a flash drive, a compact disk, a digital point cloud disk, a Blu-ray disc, a volatile or non-volatile memory, or any other suitable digital storage medium for storing the encoded point cloud data.

[0071] In some embodiments, the communication medium 120 may include a router, a switch, a base station, or any other device that can be used to facilitate communication from the source device 100 to the destination device 110. For example, a server (not shown) can receive the encoded point cloud data from the source device 100 and provide it to the destination device 110, for example, by transmitting it to the destination device 110 via a network. The server may include, for example, a web server (for a website), a server configured to provide a file transfer protocol service (such as the File Transfer Protocol (FTP) or the File Delivery Over Unidirectional Transport (FLUTE) protocol), a content delivery network (CDN) device, a Hypertext Transfer Protocol (HTTP) server, a Multimedia Broadcast Multicast Services (MBMS) or an evolved Multimedia Broadcast Multicast Service (eMBMS) server, or a Network-attached storage (NAS) device, etc. The server can implement one or more HTTP streaming protocols, such as MPEG Media Transport (MMT) protocol, Dynamic Adaptive Streaming over HTTP (DASH) protocol, HTTP Live Streaming (HLS) protocol or Real Time Streaming Protocol (RTSP).

[0072] The destination device 110 can access the encoded point cloud data from the server, for example, via a wireless channel (e.g., a Wi-Fi connection) or a wired connection (e.g., a digital subscriber line (DSL), a cable modem, etc.) for accessing the encoded point cloud data stored on the server.

[0073] The output interface 104 and the input interface 111 may represent wireless transmitters / receivers, modems, wired networking components (e.g., Ethernet cards), wireless communication components operating according to the IEEE 802.11 standard or the IEEE 802.15 standard (e.g., ZigBee™), the Bluetooth standard, or other physical components. In examples where the output interface 104 and the input interface 111 include wireless components, the output interface 104 and the input interface 111 may be configured to communicate data, such as encoded point cloud data, according to WIFI, Ethernet, a cellular network (such as 4G, LTE (Long Term Evolution), LTE-Advanced, 5G, 6G, etc.).

[0074] The technology provided in the embodiments of the present application can be applied to support one or more application scenarios such as: machine perception of point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.; human eye perception of point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive communication, and three-dimensional immersive interaction.

[0075] The input interface 111 of the destination device 110 receives an encoded bitstream from the communication medium 120. The encoded bitstream may include high-level syntax elements and encoded data units (such as sequences, groups of pictures, pictures, slices, blocks, etc.), wherein the high-level syntax elements are used to decode the encoded data units to obtain decoded point cloud data. The display device 114 displays the decoded point cloud data to the user. The display device 114 may include a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, an organic light-emitting diode (OLED) display, or other types of display devices. In some examples, the destination device 110 may not have a display device 114. For example, if the decoded point cloud data is used to determine the position of a physical object, the display device 114 may be replaced by a processor.

[0076] The encoder 200 and the decoder 300 may be implemented as one or more of a variety of processing circuits, which may include a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), discrete logic, hardware, or any combination thereof. When the technology is implemented in whole or in part in software, the device may store instructions for the software in an appropriate non-transitory computer-readable storage medium and use one or more processors to execute the instructions in hardware to perform the technology provided in the embodiments of the present application.

[0077] The following describes the basic principles of the encoder 200 and decoder 300 provided in the embodiments of the present application, taking the G-PCC and AVS-PCC codec frameworks as examples.

[0078] The encoding and decoding frameworks of G-PCC and AVS-PCC are roughly the same. Figure 2a shows a coding flow chart executed by an encoder based on the AVS-PCC coding framework, and Figure 2b shows a coding flow chart executed by an encoder based on the MPEG G-PCC coding framework. The above encoder may be the encoder 200 shown in Figure 1. The above coding frameworks can be roughly divided into a geometric coordinate information encoding process and an attribute information encoding process. In the geometric information encoding process, the geometric coordinate information of each point in the point cloud is encoded to obtain a geometric bit stream; in the attribute information encoding process, the attribute information of each point in the point cloud is encoded to obtain an attribute bit stream; the geometric bit stream and the attribute bit stream together constitute the compressed code stream of the point cloud.

[0079] For the geometric information encoding process, the encoding process performed by the encoder 200 is as follows:

[0080] 1. Pre-processing: This may include coordinate transformation and voxelization. Pre-processing converts point cloud data in three-dimensional space into integer form through scaling and translation operations, and moves its minimum geometric position to the coordinate origin. In some examples, encoder 200 may not perform pre-processing.

[0081] 2. Geometric coding: For the AVS-PCC coding framework, geometric coding includes two modes, namely, octree-based geometric coding and prediction tree-based geometric coding. For the G-PCC coding framework, geometric coding includes three modes, namely, octree-based geometric coding, trisoup-based geometric coding, and prediction tree-based prediction coding. Among them:

[0082] Octree-based geometric coding: An octree is a tree-like data structure that evenly divides a predefined bounding box in three-dimensional space, with each node having eight children. By indicating whether each child node in the octree is occupied with "1" or "0," an occupancy code is generated as the code stream of the point cloud geometry information.

[0083] Geometric coding based on prediction tree: A prediction strategy is used to generate a prediction tree, and each node is traversed from the root node of the prediction tree, and the residual coordinate value corresponding to each traversed node is encoded.

[0084] Triangle-based geometric encoding: Divide the point cloud into blocks of a certain size and locate the intersection points (called vertices) of the point cloud surface at the edges of the blocks. The geometric information is compressed by encoding whether each edge on the block has an intersection and the location of the intersection point.

[0085] 3. Geometry Entropy Encoding: This performs statistical compression encoding on the octtree's occupancy code information, the prediction tree's prediction residual information, and the vertex information of the triangle representation, ultimately outputting a binary (0 or 1) compressed bitstream. Statistical coding is a lossless encoding method that can effectively reduce the bitrate required to express the same signal. A commonly used statistical coding method is context-adaptive binary arithmetic coding (CABAC).

[0086] 4. Geometric reconstruction: Decode and reconstruct the geometric information after geometric encoding.

[0087] For the attribute information encoding process, the encoding process performed by the encoder 200 is as follows:

[0088] 1. Color transformation: Apply a transformation to transform the color information of an attribute to a different domain. For example, the color information can be transformed from the RGB color space to the YCbCr color space.

[0089] 2. Attribute Recoloring: In lossy encoding, after encoding the geometric coordinates, the encoder needs to decode and reconstruct the geometry, restoring the geometry of each point in the point cloud. The attribute information of one or more neighboring points in the original point cloud is searched for and used as the attribute information for the reconstructed point.

[0090] In some examples, encoder 200 may not perform color conversion or attribute recoloring.

[0091] 3. Attribute information processing: In AVS-PCC, attribute information processing can include three modes, namely prediction coding, transform coding, and prediction and transform coding. These three coding modes can be used under different conditions.

[0092] Predictive coding involves determining neighboring points of the point to be coded from among the coded points based on information such as distance or spatial relationships, and then calculating predicted attribute information for the point to be coded based on the attribute information of the predicted points, based on a set criterion. The difference between the actual attribute information of the point to be coded and the predicted attribute information is calculated as the attribute residual information, which is then quantized, transformed (optionally), and entropy coded.

[0093] Transform coding refers to the use of transformation methods such as Discrete Cosine Transform (DCT) and Haar Transform (Haar) to group and transform attribute information and quantize the transform coefficients; through inverse quantization and inverse transformation, attribute reconstruction information is obtained; the difference between the real attribute information and the attribute reconstruction information is calculated to obtain attribute residual information and quantize it; and the quantized transform coefficients and attribute residuals are entropy coded.

[0094] Predictive transform coding refers to using the attribute residual information obtained by prediction to perform transformation, quantize the transform coefficients, and perform entropy coding.

[0095] In MPEG G-PCC, attribute information processing can include three modes: prediction transform coding, lifting transform coding, and region adaptive hierarchical transform (RAHT) coding. These three coding modes can be used under different conditions.

[0096] Predictive transform coding involves dividing the point cloud into multiple levels of detail (LoDs) by selecting subsets of points based on distance, achieving a multi-level point cloud representation from coarse to fine quality. Adjacent layers can be predicted from the bottom up, whereby neighboring points in the coarse layer predict the attributes of points introduced in the fine layer, obtaining the corresponding attribute residual information. The points in the lowest layer are encoded as reference information.

[0097] Lifting transform coding refers to introducing a weight update strategy for neighborhood points based on the prediction of adjacent layers of LoD, ultimately obtaining the predicted attribute information of each point and the corresponding attribute residual information.

[0098] Hierarchical region adaptive transform coding means that the attribute information is transformed into a transform domain through RAHT transformation, which is called transform coefficient.

[0099] 4. Attribute Quantization: The degree of quantization is usually determined by the quantization parameter. The transform coefficients or attribute residual information obtained by attribute information processing are quantized and entropy coded. For example, in predictive transform coding and lifting transform coding, entropy coding is performed on the quantized attribute residual information; in RAHT, entropy coding is performed on the quantized transform coefficients.

[0100] 5. Entropy Coding: Run-length coding and arithmetic coding are typically used to achieve final compression of quantized attribute residual information and / or transform coefficients. The corresponding coding mode, quantization parameters, and other information are also encoded using an entropy encoder.

[0101] The encoder 200 encodes the geometric coordinate information of each point in the point cloud to obtain a geometry bitstream, and encodes the attribute information of each point in the point cloud to obtain an attribute bitstream. The encoder 200 can transmit the encoded geometry bitstream and attribute bitstream together to the decoder 300.

[0102] Figure 3a shows a decoding flowchart performed by a decoder based on the AVS-PCC decoding framework, and Figure 3b shows a decoding flowchart performed by a decoder based on the MPEG G-PCC decoding framework. The above decoder may be decoder 300 shown in Figure 1. After receiving the compressed code stream (i.e., the attribute bitstream and the geometry bitstream) transmitted by encoder 200, decoder 300 decodes the geometry bitstream to reconstruct the geometric coordinate information of each point in the point cloud, and decodes the attribute bitstream to reconstruct the attribute information of each point in the point cloud.

[0103] The decoding process performed by the decoder 300 is as follows:

[0104] 1. Entropy Decoding: Entropy decoding is performed on the geometry bitstream and attribute bitstream respectively to obtain geometry syntax elements and attribute syntax elements.

[0105] 2. Geometric decoding: For the AVS-PCC coding framework, geometric decoding includes two modes: octree-based geometric decoding and prediction tree-based geometric decoding. For the G-PCC coding framework, geometric coding includes three modes: octree-based geometric decoding, trisoup-based geometric decoding, and prediction tree-based prediction decoding.

[0106] Octree-based geometry decoding: reconstructs the octree based on the geometry syntax elements parsed from the geometry bitstream.

[0107] Prediction tree-based geometry decoding: The prediction tree is reconstructed based on the geometry syntax elements parsed from the geometry bitstream.

[0108] Geometry decoding based on triangle representation: reconstructs the triangle model based on the geometry syntax elements parsed from the geometry bitstream.

[0109] 3. Geometric reconstruction: Perform reconstruction to obtain the geometric coordinate information of the points in the point cloud.

[0110] 4. Coordinate inverse transformation: Perform inverse transformation on the reconstructed geometric coordinate information to convert the reconstructed coordinates (positions) of the points in the point cloud from the transformed domain back to the initial domain.

[0111] 5. Dequantization: Dequantize the attribute syntax elements.

[0112] 6. Attribute information processing: In AVS-PCC, attribute information processing determines the color information of the midpoint in the point cloud by predicting or transforming the inverse quantized prediction residual or prediction residual transformation coefficient, or by transforming the inverse quantized transformation coefficient to determine the color information of the midpoint in the point cloud.

[0113] In MPEG G-PCC, attribute information processing determines the color information of the point in the point cloud by RAHT on the inverse quantized attribute information, or determines the color information of the point in the point cloud by LOD and inverse lifting on the inverse quantized attribute information.

[0114] 7. Color inversion: Convert the color information from the YCbCr color space to the RGB color space. In some examples, the color inversion operation may not be performed.

[0115] In related technologies, based on the RAHT process of upsampling prediction, different coding modes are used for nodes in the transform tree structure. For example, for some nodes, if intra-frame prediction is turned on, RDO is used to select the appropriate prediction coding mode from intra-frame prediction mode, inter-frame prediction mode, and non-prediction mode; if the intra-frame prediction mode is not turned on, the non-prediction mode is directly used. However, if the intra-frame prediction mode is not turned on, if the non-prediction mode is used directly, the prediction coding effect may be poor. Therefore, when the intra-frame prediction mode is not turned on, how to select the prediction mode needs to be solved urgently.

[0116] In view of this, an embodiment of the present application provides a coding and decoding method and related equipment, which can select the prediction mode adopted by the node to be encoded from the inter-frame prediction mode and the non-prediction mode through rate-distortion optimization when the intra-frame prediction mode is not turned on, thereby improving the prediction coding effect and improving the coding quality.

[0117] The following describes the encoding method and decoding method provided by the embodiments of the present application in conjunction with the accompanying drawings. The encoding method provided by the embodiments of the present application can be performed by an encoding end, such as the encoder 200 shown in Figure 1, Figure 2a, or Figure 2b. The decoding method provided by the embodiments of the present application can be performed by a decoding end, such as the decoder 300 described in Figure 1, Figure 3a, or Figure 3b. The encoding end and the decoding end can be implemented by software, hardware, or a combination thereof. When implemented by hardware, the encoding end can be referred to as an encoding end device or encoding device, and the decoding end can be referred to as a decoding end device or decoding device.

[0118] FIG4 shows a schematic flow chart of an encoding method 400 provided in an embodiment of the present application. As shown in FIG4 , the method 400 includes steps 410 to 450 .

[0119] 410. The encoder determines a transformation tree structure of a point cloud to be encoded based on geometric reconstruction information, where the transformation tree structure includes at least one first node layer.

[0120] For example, the encoder can reorder the point cloud to be encoded and construct an N-layer transform tree structure for the reordered point cloud based on the geometric reconstruction information. N is a positive integer greater than 2. As a method, a bottom-up construction method can be used to construct the transform tree structure. The first node layer can be any one or more node layers in the N-layer transform tree structure, which is not limited in this embodiment of the present application.

[0121] In some embodiments, during the process of constructing the transformation tree structure, corresponding Morton code information, attribute information, and weight information may be generated for the merged nodes.

[0122] Optionally, for a node to be encoded in the transform tree structure, its prediction mode may include an inter-frame prediction (Inter) mode, an intra-frame prediction (Intra) mode, or a non-prediction (Null) mode. For different nodes in the transform tree structure, the prediction mode to be used for prediction may be determined in different ways.

[0123] In some embodiments, the first node layer is a middle node layer in the transformation tree structure.

[0124] For example, the encoder can perform upsampling prediction and RAHT on each node layer by layer, starting from the root node, based on the transform tree structure. As an implementation method, the constructed transform tree structure can be divided into three layers: upper, middle, and lower layers, each of which can use different prediction modes. The first node layer is the middle node layer.

[0125] It should be noted that when encoding the transform tree structure from top to bottom, when encoding the child nodes of the current node, the current node serves as the parent node, and its attribute value has been encoded.

[0126] Optionally, for upper node layers in the transform tree structure, the prediction mode of the node may be inferred.

[0127] For example, first determine whether the inter-frame prediction mode is enabled. If enabled, select the inter-frame prediction mode; if not enabled, determine whether the intra-frame prediction mode is enabled. If enabled, select the intra-frame prediction mode; otherwise, select the non-prediction mode.

[0128] Optionally, for the middle node layer in the transform tree structure, a suitable prediction mode may be selected from three prediction modes through Rate-Distortion Optimization (RDO).

[0129] 420 : Determine, in a reference frame of a current node in at least one first node layer, a node having the same geometric position as the current node as a reference frame node.

[0130] For example, by performing the same bottom-up transform tree construction operation as that of the current frame where the current node resides on the reference frame of the current node, a transform tree structure of the reference frame is obtained, thereby enabling prediction using the inter-frame prediction mode. The reference frame is an already coded frame. Subsequently, a node with the same geometric position as the current node can be determined in the reference frame as the reference frame node.

[0131] In some embodiments, for a current node requiring inter-frame prediction, the operation in step 420 may be performed to determine its reference frame node. In some embodiments, for a current node requiring RDO to select an appropriate prediction mode from multiple prediction modes (such as the three prediction modes described above), the operation in step 420 may be performed to determine its reference frame node.

[0132] 430 , if the current node completely matches the reference frame node and the intra prediction mode is not enabled, a prediction mode for the current node is selected from the inter prediction mode and the non-prediction mode through rate-distortion optimization.

[0133] Specifically, for the nodes in the first node layer, if the current node completely matches its corresponding reference frame node and the intra-frame prediction mode is not turned on, a prediction mode is selected from the inter-frame prediction and non-prediction modes through RDO as the prediction mode adopted by the current node.

[0134] Among them, the current node and the reference frame node are fully matched, which means that all the child nodes of the current node can find child nodes at the same position in the corresponding reference frame node. Specifically, since the current node block (i.e., the current node) in the transformation tree structure is not completely occupied, when a child node of the current node exists, the child node of the reference frame node at the same position may not exist. Therefore, if all the child nodes of the current node can find child nodes at the same position in the corresponding reference frame node, the current node can be said to be fully matched with the reference frame node. If all the child nodes of the current node cannot find child nodes at the same position in the corresponding reference frame node, the current node is said to be incompletely matched with the reference frame node.

[0135] For example, the parameter inter_pred_complete_match can be used to indicate whether all child nodes of the current node can find child nodes at the same position in the corresponding reference frame node. If so, it represents a complete match, inter_pred_complete_match=1; otherwise, it is 0.

[0136] Therefore, when the current node fully matches the reference frame node and the intra-frame prediction mode is not turned on, RDO selects a suitable prediction mode from the inter-frame prediction mode and the non-prediction mode as the prediction mode adopted by the current node. Compared with directly adopting the non-prediction mode as the prediction mode, it can ensure low distortion rate while ensuring low bit rate and improve coding performance.

[0137] In other embodiments, if the current node completely matches the reference frame node (eg, inter_pred_complete_match=1) and the intra prediction mode is enabled, the prediction mode used by the current node is selected from the intra prediction mode, inter prediction mode, and no prediction mode through RDO.

[0138] In other embodiments, if the current node does not completely match the reference frame node (eg, inter_pred_complete_match=0) and the intra prediction mode is enabled, the prediction mode used by the current node is selected from the intra prediction mode, inter prediction mode, and no prediction mode through RDO.

[0139] In some other embodiments, if the current node does not completely match the reference frame node (eg, inter_pred_complete_match=0) and the intra prediction mode is not enabled, the prediction mode used by the current node is the non-prediction mode.

[0140] Illustratively, for a middle node layer in the transformation tree structure, such as the first node layer, a suitable prediction mode may be selected from the three prediction modes as shown in Table 1 below.

[0141] Table 1

[0142] 440 , predicting and transforming the node to be coded according to the prediction mode to obtain attribute transformation coefficients, where the node to be coded is a child node of the current node.

[0143] Specifically, the attribute information (value) of the child nodes of the current node, i.e., the node to be encoded, can be predicted and transformed based on the prediction mode of the current node determined in step 430, such as RATH based on upsampling prediction, to obtain attribute transformation coefficients. According to step 430, the prediction mode of the current node can be an inter-frame prediction mode or a non-prediction mode.

[0144] In some embodiments, referring to FIG. 5 , the attribute transformation coefficient of the node to be encoded may be obtained according to the following steps 441 to 443 .

[0145] 441. If the prediction mode of the current node is the inter-frame prediction mode, determine the prediction attribute value of the node to be encoded.

[0146] Optionally, the reconstructed attribute value of the child node at the corresponding position of the reference frame node may be determined as the predicted attribute value of the node to be encoded at the corresponding position of the current node.

[0147] Specifically, since the current node and the reference frame node completely match, that is, each node in the current node finds a child node at the same position in the corresponding reference frame node, the reconstructed attribute value of the child node at the corresponding position in the reference frame node can be determined as the predicted attribute value of the child node at the corresponding position of the current node (i.e., the node to be encoded). It can be understood that the attribute values ​​of each child node in the reference frame node have been reconstructed and encoded.

[0148] 442 , transform the original attribute value of the node to be coded to obtain a first transform coefficient, and transform the predicted attribute value of the node to be coded to obtain a second transform coefficient.

[0149] Specifically, when the prediction mode of the current node is the inter-frame prediction mode, the original attribute values ​​and the predicted attribute values ​​of the child nodes of the current node to be encoded are transformed to obtain corresponding transform coefficients. Exemplarily, the original attribute values ​​and the predicted attribute values ​​can be subjected to RAHT transformation to obtain corresponding AC transform coefficients.

[0150] 443 , obtain an attribute transformation coefficient according to the first transformation coefficient and the second transformation coefficient.

[0151] Specifically, the first transform coefficient and the second transform coefficient may be subtracted to obtain the attribute transform coefficient. The attribute transform coefficient may also be referred to as a residual transform coefficient, an AC residual transform coefficient, etc., without limitation.

[0152] Therefore, in an embodiment of the present application, when the prediction mode of the current node is the inter-frame prediction mode, the attribute transformation coefficient can be obtained by transforming the original attribute value and the predicted attribute value of the node to be encoded respectively and taking the difference of the obtained transformation coefficients.

[0153] Optionally, referring to FIG. 5 , the attribute transformation coefficient of the node to be encoded may be obtained according to the following step 444 .

[0154] 444. If the prediction mode of the current node is the non-prediction mode, the original attribute value of the node to be coded is transformed to obtain an attribute transformation coefficient.

[0155] Specifically, since the prediction mode of the current node is the non-prediction mode, only the original attribute values ​​of the child nodes of the current node to be encoded need to be transformed to obtain corresponding attribute transformation coefficients. For example, the attribute transformation coefficients can be called AC transformation coefficients.

[0156] Therefore, in the embodiment of the present application, when the prediction mode of the current node is the non-prediction mode, the corresponding attribute transformation coefficient is obtained by transforming the original attribute value of the node to be coded.

[0157] In some embodiments, for lower node layers in the transform tree structure, the prediction mode of the node may be inferred.

[0158] Optionally, inter-frame prediction is not performed on nodes in the lower node layer. Exemplarily, for nodes in the lower layer, it can first be determined whether intra-frame prediction is enabled. If enabled, the intra-frame prediction mode is selected, otherwise the non-prediction mode is selected.

[0159] In some embodiments, for intra prediction mode and non-prediction mode, the upsampling prediction and RAHT process is as follows:

[0160] When the current node has only one occupied child node, no prediction is performed;

[0161] When the number of neighbor parent nodes of the current node (that is, the number of grandparent neighbors of the child nodes of the current node) is less than the threshold 1, no prediction is performed, and the original attribute values ​​of the child nodes of the current node are directly subjected to RAHT transformation to obtain AC transformation coefficients;

[0162] If the threshold is 1, then search for neighbors of the child nodes of the current node. The neighbor search range includes: the current node, the neighbor parent nodes that are coplanar and colinear with the child nodes of the current node, and the neighbor child nodes that are coplanar and colinear with the child nodes of the current node;

[0163] When the number of neighbor parent nodes found is less than the threshold 2, no prediction is performed, and the original attribute values ​​of the child nodes of the current node are directly subjected to RAHT transformation to obtain the AC transformation coefficient;

[0164] If the threshold 2 is met, intra-frame prediction is performed based on the neighboring nodes to obtain the attribute prediction value of the current child node; RAHT transformation is performed on the original attribute value and the attribute prediction value respectively, and the obtained AC transformation coefficients are subtracted to obtain the AC residual transformation coefficient.

[0165] Exemplarily, threshold 1 may be configured as 2, and threshold 2 may be configured as 6.

[0166] In some embodiments, for inter prediction mode, the upsampling prediction and RAHT process is as follows:

[0167] The same bottom-up transformation tree construction operation as the current frame is performed on the reference frame, and the reference frame node attribute value corresponding to the current frame node is generated, which can be used as the inter-frame prediction value.

[0168] For example, for a 2*2*2 node block, the node with the same geometric position in the reference frame is selected as its reference frame node. Since each 2*2*2 block is not fully occupied, when a child node of the current frame node exists, the child node of the reference frame node at the same position may not exist. Therefore, the parameter inter_pred_complete_match is used to indicate whether all child nodes of the current frame node can find the same child node in the corresponding reference frame node. If so, it indicates a complete match, and inter_pred_complete_match = 1; otherwise, it is 0.

[0169] When inter_pred_complete_match=1, the attribute value of the child node at the corresponding position of the reference frame node can be used as the inter-frame prediction value of each child node of the current frame node; when inter_pred_complete_match=0, that is, when a child node of the current frame node cannot find a child node at the same position in the corresponding reference frame node, the reconstructed attribute value of the current frame node is used to determine the inter-frame prediction value of the child node. For example, the reconstructed attribute value of the current frame node can be averaged as its inter-frame prediction value. This inter-frame prediction mode is called the revised (revision) inter-frame prediction mode, which can be expressed as Inter (revision) mode. Since the RAHT transform is encoded from top to bottom, when encoding the child nodes of the current node, the current node is used as the parent node, and its attribute value has been encoded and reconstructed, so it can be used.

[0170] 450, encoding the attribute transformation coefficients to obtain a code stream.

[0171] For example, when the prediction mode is the inter-frame prediction mode, the AC residual transform coefficients obtained in step 440 may be encoded to obtain a bitstream. When the prediction mode is the non-prediction mode, the AC transform coefficients obtained in step 440 based on the original attribute values ​​of the node to be encoded may be encoded to obtain a bitstream.

[0172] Therefore, in an embodiment of the present application, the encoding end selects the prediction mode used by the current node from the inter-frame prediction mode and the non-prediction mode through rate-distortion optimization when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, and then transforms, predicts, and encodes the attribute information of the child nodes of the current node, that is, the node to be encoded, according to the selected appropriate prediction mode to obtain a code stream. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, which is conducive to improving the prediction coding effect and improving the encoding quality.

[0173] In some embodiments, when RDO is used to select the best prediction mode, the selected prediction mode needs to be entropy coded and the coded result is passed to the bitstream. In the relevant RAHT-based coding process, two bits are used to encode the above three prediction modes, and the two bits are isNullFlag and isIntraFlag. Specifically, each bit uses 108 contexts to perform arithmetic coding on these prediction modes. Specifically, the 108 contexts can be jointly determined based on the following four types of context information a) to d):

[0174] a) Based on whether intra prediction is enabled and whether inter prediction matches, there are three states:

[0175] 1) Intra prediction mode is on and inter prediction matches;

[0176] 2) Intra-frame prediction mode is turned on, and inter-frame prediction does not match;

[0177] 3) Intra-frame prediction mode is not enabled.

[0178] b) The prediction mode of the current node is divided into three states:

[0179] 1) The current node uses inter-frame prediction mode;

[0180] 2) The current node uses intra prediction mode;

[0181] 3) The current node does not predict the mode.

[0182] c) Using the most common prediction mode among neighboring parent nodes and decoded same-layer child nodes (i.e., neighboring nodes), it is divided into four states:

[0183] 1) Neighbor nodes most often use intra prediction mode;

[0184] 2) Neighbor nodes most often use inter-frame prediction mode;

[0185] 3) Neighbor nodes most often use the unpredictable mode;

[0186] 4) Neighbor nodes use unpredictable mode.

[0187] d) The number of child nodes of the current node is divided into three states:

[0188] 1) The number of child nodes currently occupied is 2 and 3;

[0189] 2) The number of child nodes currently occupied is 4 and 5;

[0190] 3) The current number of child nodes is 6, 7, and 8.

[0191] The inter-frame prediction match means that the current node and the reference frame node are completely matched, such as inter_pred_complete_match=1; the inter-frame prediction mismatch means that the current node and the reference frame node are not completely matched, such as inter_pred_complete_match=0.

[0192] Specifically, the context index (modeIdx) corresponding to the node to be encoded can be determined based on the four types of context information a), b), c) and d) above. As an example, the value range of the context index is {0, 107}. Then, the bits representing the prediction mode (such as isNullFlag and isIntraFlag) can be encoded according to the context index. However, too many contexts are used in related technologies, and each context needs to maintain and update its status, which will increase the computational complexity of the encoding process, increase the memory overhead, and affect the encoding efficiency.

[0193] In view of this, the embodiment of the present application proposes a new method for determining context information when entropy encoding the best prediction mode selected using RDO, which can help reduce the types of context, thereby helping to reduce the computational complexity of the encoding process, reduce memory overhead, and improve encoding efficiency.

[0194] In some embodiments, referring to FIG6 , the encoding method 400 may further include the following steps 460 to 490 :

[0195] 460 , determining first context information by using whether the intra-frame prediction mode is enabled and whether the current node completely matches the reference frame node.

[0196] Exemplarily, the first context information corresponds to one of the following three states:

[0197] 1) Intra prediction mode is on and the current node fully matches the reference frame node;

[0198] 2) Intra-frame prediction mode is on, and the current node does not completely match the reference frame node;

[0199] 3) Intra-frame prediction mode is not enabled.

[0200] Exemplarily, whether the current node completely matches the reference frame node can be determined based on whether the above parameter inter_pred_complete_match is 1, such as a complete match when inter_pred_complete_match=1, and an incomplete match when inter_pred_complete_match=0.

[0201] 470 , determine second context information using the most commonly used prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes.

[0202] Specifically, since the current node has been encoded and reconstructed when encoding the child nodes of the current node, the current node can also be used as a neighboring parent node to predict the child nodes of the current node (i.e., the node to be encoded). Based on this, the context information corresponding to the current node and the neighboring parent node can be merged together to reduce the types of context.

[0203] Exemplarily, the second context information corresponds to one of the following three states:

[0204] The most commonly used intra prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0205] The most commonly used inter-frame prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0206] The non-prediction mode is most commonly used in the current node, neighboring parent nodes, and decoded sibling nodes.

[0207] In other embodiments, the second context information may also correspond to four contexts, which, in addition to the three states mentioned above, may also include states corresponding to the use of non-prediction modes in the current node, neighboring parent nodes, and decoded same-layer child nodes.

[0208] As a specific example, the context may be determined based on the following two types of context information:

[0209] a) Based on whether intra prediction is enabled and whether inter prediction matches, there are three states:

[0210] 1) Intra prediction mode is on and inter prediction matches;

[0211] 2) Intra-frame prediction mode is turned on, and inter-frame prediction does not match;

[0212] 3) Intra-frame prediction mode is not enabled.

[0213] b) Using the most common prediction modes among the current node, neighboring parent nodes, and decoded child nodes at the same layer, it is divided into three states:

[0214] 1) Neighbor nodes most often use intra prediction mode;

[0215] 2) Neighbor nodes most often use inter-frame prediction mode;

[0216] 3) Neighbor nodes most often use the unpredictable mode.

[0217] The inter-frame prediction match means that the current node and the reference frame node are completely matched, such as inter_pred_complete_match=1; the inter-frame prediction mismatch means that the current node and the reference frame node are not completely matched, such as inter_pred_complete_match=0.

[0218] According to the above two types of context information a) and b), a total of 9 contexts can be determined. Therefore, compared with the 108 contexts in the related art, the embodiment of the present application can greatly reduce the number of context types.

[0219] In some embodiments, the number of occupied child nodes in the current node can also be used to determine third context information; wherein the third context information corresponds to two contexts. Compared to the solution in the related art where the context information corresponding to d) corresponds to three states, the embodiment of the present application can help reduce the types of contexts by corresponding the context information of the occupied child nodes in the current node to one of the two states.

[0220] Exemplarily, the two states corresponding to the third context information may include the following two:

[0221] The number of child nodes occupied by the current node is in the first interval;

[0222] The number of child nodes occupied by the current node is in the second interval, wherein the possible value range of the number of child nodes of the current node is in the first interval and the second interval.

[0223] For example, the possible value range of the current number of child nodes n is [2,8], where n is a positive integer. The first interval may include [2,4], i.e., the number of occupied child nodes is 2, 3, and 4, and the second interval may include [5,8], i.e., 5, 6, 7, and 8; or the first interval may include [2,5], i.e., the number of occupied child nodes is 2, 3, 4, and 5, and the second interval may include [6,8], i.e., 6, 7, 8, etc. This application does not limit this.

[0224] As a specific example, the context may be determined based on the following three types of context information:

[0225] a) Based on whether intra prediction is enabled and whether inter prediction matches, there are three states:

[0226] 1) Intra prediction mode is on and inter prediction matches;

[0227] 2) Intra-frame prediction mode is turned on, and inter-frame prediction does not match;

[0228] 3) Intra-frame prediction mode is not enabled.

[0229] b) Using the most common prediction modes among the current node, neighboring parent nodes, and decoded child nodes at the same layer, it is divided into three states:

[0230] 1) Neighbor nodes most often use intra prediction mode;

[0231] 2) Neighbor nodes most often use inter-frame prediction mode;

[0232] 3) Neighbor nodes most often use the unpredictable mode.

[0233] c) Based on the number of child nodes of the current node, there are two states:

[0234] 1) The number of child nodes currently occupied is 2, 3, and 4;

[0235] 2) The number of child nodes currently occupied is 5, 6, 7, and 8;

[0236] According to the above three types of context information a), b) and c), a total of 18 contexts can be determined. Therefore, compared with the 108 contexts in the related art, the embodiment of the present application can greatly reduce the number of context types.

[0237] 480. Determine the index of the context corresponding to the prediction mode of the current node according to the first context information and the second context information.

[0238] Specifically, the index of the context corresponding to the prediction model of the current node may be determined according to the prediction mode of the current node and the matching status with the first context information and the second context information.

[0239] In some embodiments, if the third context information is also determined using the number of occupied child nodes of the current node, the index of the context corresponding to the prediction mode may be determined based on the first context information, the second context information, and the third context information.

[0240] For example, for the above 9 contexts, the value range of the index of the context corresponding to the prediction mode of the current node can be {0, 8}; for the above 18 contexts, the value range of the index of the context corresponding to the prediction mode of the current node can be {0, 17}.

[0241] 490 , entropy coding the prediction mode of the current node according to the context index to obtain a prediction mode bit, and adding the prediction mode bit to the bitstream.

[0242] Exemplarily, the bits representing the prediction mode (such as isNullFlag and isIntraFlag) can be encoded according to the context index. For example, first, it is possible to determine whether it is a non-prediction mode based on the prediction mode. If so, isNullFlag is encoded using the context index (modeIdx), and isNullFlag=1, and the current encoding is ended; if not, isNullFlag is encoded using the context index (modeIdx), and isNullFlag=0, and the encoding is continued. Then, if the inter-frame prediction mode is not turned on or the intra-frame prediction mode is not turned on, the current encoding is ended; otherwise, the encoding is continued. Finally, it is determined whether it is an intra-frame prediction mode based on the prediction mode. If so, isIntraFlag is encoded using the context index (modeIdx), and isNullFlag=1; if not, isIntraFlag is encoded using the context index (modeIdx), and isNullFlag=0, and the current encoding is ended.

[0243] Therefore, when performing entropy coding on the best prediction mode selected using RDO, the embodiment of the present application can help reduce the types of context by determining the context information of the current node as a neighboring node, or determining one of the two states corresponding to the context information based on the number of occupied child nodes in the current node, thereby helping to reduce the computational complexity of the encoding process, reduce memory overhead, and improve encoding efficiency.

[0244] The encoding method provided in the embodiment of the present application is described above in conjunction with the accompanying drawings. The decoding method provided in the embodiment of the present application will be described below in conjunction with the accompanying drawings.

[0245] FIG7 shows a schematic flow chart of a decoding method 500 provided in an embodiment of the present application. As shown in FIG8 , the method 500 includes steps 510 to 550 .

[0246] 510. The decoding end parses the code stream to obtain the transformation coefficient reconstruction value of the point cloud to be decoded.

[0247] Specifically, the decoded data can be parsed from the bitstream, entropy decoding and inverse quantization can be performed on the decoded data to obtain the transformation coefficient reconstruction value. The decoded data can be geometrically decoded to obtain the geometric reconstruction information of the decoded point cloud.

[0248] 520 , determine a transformation tree structure of the point cloud to be decoded based on the geometric reconstruction information; the transformation tree structure includes at least one first node layer.

[0249] Specifically, the process of constructing the transformation tree structure of the point cloud to be decoded is similar to the process of constructing the transformation tree structure of the point cloud to be encoded. Please refer to the description of step 410 in Figure 4, and no further details will be given here.

[0250] 530 : Determine, in a reference frame of the current node in at least one first node layer, a node having the same geometric position as the current node as a reference frame node.

[0251] Specifically, the process of determining the reference frame node of the current node can be referred to the relevant description in step 420 in FIG. 4 , which will not be repeated here.

[0252] 540. If the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled, the prediction mode used by the current node is determined by entropy decoding; wherein the prediction mode is an inter-frame prediction mode or a non-prediction mode.

[0253] Specifically, for nodes in the first node layer, if the current node fully matches its corresponding reference frame node and intra prediction mode is not enabled, entropy decoding determines the prediction mode used by the current node. Specifically, the full match between the current node and its corresponding reference frame node can be seen in the relevant description in Figure 4 and will not be repeated here.

[0254] Therefore, when the current node completely matches the reference frame node and the intra-frame prediction mode is not turned on, the prediction mode adopted by the current node is determined by entropy decoding. Compared with directly adopting the non-prediction mode as the prediction mode, it can ensure low distortion rate while ensuring low bit rate, thereby improving coding performance.

[0255] In other embodiments, if the current node completely matches the reference frame node (eg, inter_pred_complete_match=1) and the intra prediction mode is on, the prediction mode of the current node is determined by entropy decoding, and the prediction mode includes intra prediction mode, inter prediction mode, or non-prediction mode.

[0256] In other embodiments, if the current node does not completely match the reference frame node (such as inter_pred_complete_match=0) and the intra prediction mode is turned on, the prediction mode of the current node is determined by entropy decoding, and the prediction mode includes intra prediction mode, inter prediction mode or non-prediction mode.

[0257] In other embodiments, if the current node does not completely match the reference frame node (eg, inter_pred_complete_match=0) and the intra prediction mode is not enabled, the prediction mode used by the current node is the non-prediction mode, ie, the non-prediction mode is directly selected.

[0258] Optionally, for upper node layers in the transform tree structure, the prediction mode of the node may be inferred.

[0259] For example, first determine whether the inter-frame prediction mode is enabled. If enabled, select the inter-frame prediction mode; if not enabled, determine whether the intra-frame prediction mode is enabled. If enabled, select the intra-frame prediction mode; otherwise, select the non-prediction mode.

[0260] In some embodiments, for lower node layers in the transform tree structure, the prediction mode of the node may be inferred.

[0261] Optionally, inter-frame prediction is not performed on nodes in the lower node layer. Exemplarily, for nodes in the lower layer, it can first be determined whether intra-frame prediction is enabled. If enabled, the intra-frame prediction mode is selected, otherwise the non-prediction mode is selected.

[0262] Specifically, the intra-frame prediction mode, inter-frame prediction mode and non-prediction mode can refer to the relevant description in Figure 4, which will not be repeated here.

[0263] 550 , inversely transform the transformation coefficient reconstruction value of the node to be decoded according to the prediction mode to obtain a reconstructed attribute value; wherein the node to be decoded is a child node of the current node.

[0264] In some embodiments, if the prediction mode is the inter-frame prediction mode, the predicted attribute value of the node to be decoded is transformed to obtain a second transformation coefficient; the first transformation coefficient is obtained based on the transformation coefficient reconstruction value of the node to be decoded and the second transformation coefficient; and the first transformation coefficient is inversely transformed to obtain the reconstructed attribute value.

[0265] For example, if the prediction mode is an inter-frame prediction mode, the predicted attribute value of the child node of the current node (i.e., the node to be decoded) can be obtained, the predicted attribute value is transformed to obtain the AC transform coefficient of the predicted attribute value, and the AC coefficient reconstruction value obtained by decoding (i.e., the AC residual coefficient reconstruction value) is added to obtain the AC coefficient reconstruction value. Optionally, the DC coefficient of the node to be decoded can be inherited from the parent node, and the RAHT inverse transform is performed based on the AC coefficient reconstruction value and the DC coefficient to obtain the reconstructed value of the node to be decoded.

[0266] In some embodiments, the reconstructed attribute value of the child node at the corresponding position of the reference frame node may be determined as the predicted attribute value of the node to be decoded at the corresponding position of the current node.

[0267] In some embodiments, if the prediction mode is the non-prediction mode, the transformation coefficient reconstruction value of the node to be decoded is inversely transformed to obtain the reconstructed attribute value.

[0268] Exemplarily, if the prediction mode is a non-prediction mode, a RAHT inverse transform may be performed on the decoded transform coefficient reconstruction value to obtain a reconstructed attribute value of the node to be decoded.

[0269] When the transformation tree structure is traversed to the bottom layer, the reconstructed attribute values ​​of all nodes can be obtained, thereby completing the attribute decoding.

[0270] Therefore, in an embodiment of the present application, the decoding end determines the prediction mode of the current node through entropy decoding, whether it is an inter-frame prediction mode or a non-prediction mode, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled. Then, based on the prediction mode, the transform coefficient reconstruction value of the child node of the current node, i.e., the node to be decoded, is inversely transformed to obtain a reconstructed attribute value. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, thereby improving the prediction decoding effect and improving the decoding quality.

[0271] In some embodiments, referring to FIG. 8 , entropy decoding may be performed according to steps 560 to 590 to determine the prediction mode adopted by the current node.

[0272] 560 , determining first context information by using whether the intra-frame prediction mode is enabled and whether the current node completely matches the reference frame node.

[0273] Optionally, the first context information corresponds to one of the following three states:

[0274] The intra prediction mode is turned on and the current node completely matches the reference frame node;

[0275] The intra-frame prediction mode is turned on, and the current node does not completely match the reference frame node;

[0276] Intra prediction mode is disabled.

[0277] 570 , determine second context information using the most commonly used prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes.

[0278] Optionally, the second context information corresponds to one of the following three states:

[0279] The most commonly used intra prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0280] The most commonly used inter-frame prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0281] The non-prediction mode is most commonly used in the current node, neighboring parent nodes, and decoded sibling nodes.

[0282] Specifically, the process of determining the first context information and the second context information may refer to the relevant descriptions in steps 460 and 470 in FIG. 6 , which will not be repeated here.

[0283] Optionally, the third context information may be determined by using the number of occupied child nodes in the current node; wherein the third context information corresponds to one of two states. Exemplarily, the two states may include:

[0284] The number of occupied child nodes is in the first interval;

[0285] The range of the number of occupied child nodes is the second interval; wherein, the possible value range of the number of child nodes of the current node is divided into the first interval and the second interval.

[0286] Specifically, the process of determining the third context information can be referred to the relevant description in FIG6 , which will not be repeated here.

[0287] 580. Determine the index of the context corresponding to the prediction mode of the current node according to the first context information and the second context information.

[0288] In some embodiments, if the third context information is also determined using the number of occupied child nodes of the current node, the index of the context corresponding to the prediction mode may be determined based on the first context information, the second context information, and the third context information.

[0289] Specifically, step 580 may refer to the relevant description of step 480 in FIG6 , which will not be repeated here.

[0290] 590, parse the bitstream, perform entropy decoding according to the context index, and obtain the prediction mode.

[0291] For example, the code stream can be parsed to obtain the bits representing the prediction mode (such as isNullFlag and isIntraFlag). For example, referring to FIG9 , the context index (modeIdx) entropy can be used to first decode isNullFlag. If isNullFlag = 1, it indicates that the prediction mode is the non-prediction mode (Null), and the current decoding ends; if isNullFlag = 0, the decoding continues. Then, if inter-frame prediction (Inter) is not enabled, the prediction mode is the intra-frame prediction mode (Intra), and the current decoding ends; otherwise, the decoding continues. Next, it is determined whether the intra-frame prediction mode (Intra) is enabled. If it is enabled, the prediction mode is determined to be the inter-frame prediction mode, and the current decoding ends. If it is not enabled, the context (modeIdx) entropy is further used to decode isIntraFlag. If isNullFlag = 1, it indicates that the prediction mode is the intra-frame prediction (Intra) mode, and the current decoding ends; if isNullFlag = 0, it indicates that the prediction mode is the inter-frame prediction (Inter) mode, and the current decoding ends.

[0292] Therefore, when determining the prediction mode of the current node through entropy decoding, the embodiment of the present application determines the context information by treating the current node as a neighbor node, or determines one of the two states corresponding to the context information based on the number of occupied child nodes in the current node. This can help reduce the types of contexts, thereby helping to reduce the computational complexity of the encoding process, reduce memory overhead, and improve encoding efficiency.

[0293] For example, compared to related technologies, the embodiments of this application use a more optimized RDO algorithm when selecting the prediction mode for the current node and effectively reduce the number of contexts used in encoding and decoding prediction modes, thereby achieving improved coding efficiency. Compared to the performance of GPCC ges-tm_4.0, the three color attribute channels Luma, ChromeCb, and Cr achieve performance gains of 0.2, 0.5, and 0.5, respectively.

[0294] The encoding method provided in the embodiment of the present application can be executed by an encoding device. In the embodiment of the present application, the encoding device provided in the embodiment of the present application is described by taking the encoding method performed by the encoding device as an example.

[0295] FIG10 shows a schematic block diagram of an encoding apparatus 1000 provided in an embodiment of the present application. As shown in FIG10 , the encoding apparatus 1000 includes a determination module 1010 , a prediction and transformation module 1020 , and an encoding module 1030 .

[0296] A determination module 1010 is configured to determine a transform tree structure of a point cloud to be encoded based on the geometric reconstruction information, wherein the transform tree structure includes at least one first node layer;

[0297] The determining module 1010 is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0298] The determining module 1010 is further configured to select a prediction mode for the current node from an inter-frame prediction mode and a non-prediction mode through rate-distortion optimization if the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled;

[0299] The prediction and transformation module 1020 is configured to predict and transform a node to be coded according to the prediction mode to obtain an attribute transformation coefficient; the node to be coded is a child node of the current node;

[0300] The encoding module 1030 is configured to perform encoding processing on the attribute transformation coefficients to obtain a code stream.

[0301] Optionally, the prediction and transformation module 1020 is specifically configured to:

[0302] If the prediction mode is the inter-frame prediction mode, determining a prediction attribute value of the node to be encoded;

[0303] Transforming the original attribute value of the node to be encoded to obtain a first transformation coefficient, and transforming the predicted attribute value to obtain a second transformation coefficient;

[0304] The attribute transformation coefficient is obtained according to the first transformation coefficient and the second transformation coefficient.

[0305] Optionally, the prediction and transformation module 1020 is specifically configured to:

[0306] The reconstructed attribute value of the child node at the corresponding position of the reference frame node is determined as the predicted attribute value of the node to be encoded at the corresponding position of the current node.

[0307] Optionally, the prediction and transformation module 1020 is specifically configured to:

[0308] If the prediction mode is the non-prediction mode, the original attribute value of the node to be encoded is transformed to obtain the attribute transformation coefficient.

[0309] Optionally, the determining module 1010 is further configured to:

[0310] If the current node does not completely match the reference frame node and the intra-frame prediction mode is not enabled, it is determined that the prediction mode adopted by the current node is the non-prediction mode.

[0311] Optionally, the first node layer is a middle node layer of the transformation tree structure.

[0312] Optionally, the determining module 1010 is further configured to:

[0313] Determining first context information by using whether an intra-frame prediction mode is enabled and whether the current node completely matches the reference frame node;

[0314] Determine second context information using the most commonly used prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0315] Determining an index of a context corresponding to the prediction mode according to the first context information and the second context information;

[0316] The encoding module 1030 is further configured to:

[0317] The prediction mode is entropy-encoded according to the index to obtain a prediction mode bit, and the prediction mode bit is added to the bitstream.

[0318] Optionally, the first context information corresponds to one of the following three states:

[0319] The intra prediction mode is turned on and the current node completely matches the reference frame node;

[0320] The intra-frame prediction mode is turned on, and the current node does not completely match the reference frame node;

[0321] Intra prediction mode is not enabled.

[0322] Optionally, the second context information corresponds to one of the following three states:

[0323] The most commonly used intra prediction mode among the current node, neighboring parent nodes and decoded same-layer child nodes;

[0324] The most commonly used inter-frame prediction mode among the current node, neighboring parent nodes and decoded same-layer child nodes;

[0325] The non-prediction mode is most commonly used in the current node, neighboring parent nodes and decoded same-layer child nodes.

[0326] Optionally, the determining module 1010 is further configured to:

[0327] Determining third context information using the number of occupied child nodes in the current node; wherein the third context information corresponds to one of two states;

[0328] An index of a context corresponding to the prediction mode is determined according to the first context information, the second context information, and the third context information.

[0329] Optionally, the two states include:

[0330] The number range of the occupied child nodes is a first interval;

[0331] The range of the number of occupied child nodes is a second interval; wherein the possible value range of the number of child nodes of the current node is divided into the first interval and the second interval.

[0332] The encoding device 1000 provided in the embodiment of the present application can implement the various processes implemented in the method embodiments of Figures 4 to 6 and achieve the same technical effects. To avoid repetition, they will not be described here.

[0333] In an embodiment of the present application, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the encoding end selects the prediction mode used by the current node from the inter-frame prediction mode and the non-prediction mode through rate-distortion optimization, and then transforms, predicts, and encodes the attribute information of the child nodes of the current node, that is, the node to be encoded, according to the selected appropriate prediction mode to obtain a code stream. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, which is conducive to improving the prediction coding effect and improving the encoding quality.

[0334] Furthermore, when performing entropy coding on the best prediction mode selected using RDO, the embodiment of the present application can help reduce the types of context by determining the context information of the current node as a neighboring node, or determining one of the two states corresponding to the context information based on the number of occupied child nodes in the current node, thereby helping to reduce the computational complexity of the encoding process, reduce memory overhead, and improve encoding efficiency.

[0335] FIG11 shows a schematic block diagram of a decoding apparatus 1100 provided in an embodiment of the present application. As shown in FIG11 , the decoding apparatus 1100 includes a parsing module 1110 , a determining module 1120 , a decoding module 1130 , and an inverse transform module 1140 .

[0336] The parsing module 1110 is used to parse the code stream to obtain the transformation coefficient reconstruction value of the point cloud to be decoded;

[0337] A determination module 1120 is configured to determine a transform tree structure of the to-be-decoded point cloud based on geometric reconstruction information; the transform tree structure includes at least one first node layer;

[0338] The determining module 1120 is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0339] The decoding module 1130 is configured to determine the prediction mode used by the current node by entropy decoding if the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled; wherein the prediction mode is an inter-frame prediction mode or a non-prediction mode;

[0340] The inverse transformation module 1140 is configured to perform an inverse transformation on the transformation coefficient reconstruction value of the node to be decoded according to the prediction mode to obtain a reconstructed attribute value; wherein the node to be decoded is a child node of the current node.

[0341] Optionally, the inverse transformation module 1140 is specifically configured to:

[0342] If the prediction mode is the inter-frame prediction mode, transforming the predicted attribute value of the node to be decoded to obtain a second transformation coefficient;

[0343] Obtaining a first transform coefficient according to the transform coefficient reconstruction value of the node to be decoded and the second transform coefficient;

[0344] An inverse transform is performed on the first transform coefficient to obtain the reconstructed attribute value.

[0345] Optionally, the inverse transformation module 1140 is specifically configured to:

[0346] The reconstructed attribute value of the child node at the corresponding position of the reference frame node is determined as the predicted attribute value of the node to be decoded at the corresponding position of the current node.

[0347] Optionally, the inverse transformation module 1140 is specifically configured to:

[0348] If the prediction mode is the non-prediction mode, an inverse transformation is performed on the transformation coefficient reconstruction value of the node to be decoded to obtain the reconstructed attribute value.

[0349] Optionally, the determining module 1120 is further configured to:

[0350] If the current node does not completely match the reference frame node and the intra-frame prediction mode is not enabled, it is determined that the prediction mode adopted by the current node is the non-prediction mode.

[0351] Optionally, the first node layer is a middle node layer of the transformation tree structure.

[0352] Optionally, the decoding module 1130 is specifically configured to:

[0353] Determining first context information by using whether an intra-frame prediction mode is enabled and whether the current node completely matches the reference frame node;

[0354] Determine second context information using the most commonly used prediction mode among the current node, neighboring parent nodes, and decoded same-layer child nodes;

[0355] Determining an index of a context corresponding to the prediction mode according to the context information and the second context information;

[0356] Parse the code stream, perform entropy decoding according to the index, and obtain the prediction mode.

[0357] Optionally, the first context information corresponds to one of the following three states:

[0358] The intra prediction mode is turned on and the current node completely matches the reference frame node;

[0359] The intra-frame prediction mode is turned on, and the current node does not completely match the reference frame node;

[0360] Intra prediction mode is not enabled.

[0361] Optionally, the second context information corresponds to one of the following three states:

[0362] The most commonly used intra prediction mode among the current node, neighboring parent nodes and decoded same-layer child nodes;

[0363] The most commonly used inter-frame prediction mode among the current node, neighboring parent nodes and decoded same-layer child nodes;

[0364] The non-prediction mode is most commonly used in the current node, neighboring parent nodes and decoded same-layer child nodes.

[0365] Optionally, the determining module 1120 is further configured to:

[0366] Determining third context information using the number of occupied child nodes in the current node; wherein the third context information corresponds to one of two states;

[0367] An index of a context corresponding to the prediction mode is determined according to the first context information, the second context information, and the third context information.

[0368] Optionally, the two states include:

[0369] The number range of the occupied child nodes is a first interval;

[0370] The range of the number of occupied child nodes is a second interval; wherein the possible value range of the number of child nodes of the current node is divided into the first interval and the second interval.

[0371] In an embodiment of the present application, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the decoding end determines the prediction mode of the current node through entropy decoding, determining whether it is an inter-frame prediction mode or a non-prediction mode. Then, based on the prediction mode, the decoder performs an inverse transform on the transform coefficient reconstruction values ​​of the child nodes of the current node, i.e., the node to be decoded, to obtain a reconstructed attribute value. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, thereby improving the prediction decoding effect and decoding quality.

[0372] Furthermore, when determining the prediction mode of the current node through entropy decoding, by determining the context information of the current node as a neighbor node, or determining one of the two states corresponding to the context information based on the number of occupied child nodes in the current node, it can help reduce the types of context, thereby helping to reduce the computational complexity of the encoding process, reduce memory overhead, and improve encoding efficiency.

[0373] The decoding device 1100 provided in the embodiment of the present application can implement the various processes implemented in the method embodiments of Figures 7 to 8 and achieve the same technical effects. To avoid repetition, they will not be described here.

[0374] As shown in Figure 12, an embodiment of the present application further provides an electronic device 1200, including a processor 1201 and a memory 1202, wherein the memory 1202 stores a program or instruction that can be run on the processor 1201. For example, when the electronic device 1200 is an encoding end device, the program or instruction is executed by the processor 1201 to implement the various steps of the above-mentioned encoding method embodiment, and can achieve the same technical effect. When the electronic device 1200 is a decoding end device, the program or instruction is executed by the processor 1201 to implement the various steps of the above-mentioned decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it is not repeated here. Optionally, the memory 1202 can be the memory 102 or the memory 113 in the embodiment shown in Figure 1, and the processor 1201 can implement the functions of the encoder 200 or the decoder 300 in the embodiment shown in Figures 1-3.

[0375] The present application also provides an electronic device including: a memory configured to store video data; and a processing circuit configured to implement the steps of the above-described method embodiment. Optionally, the memory may be memory 102 or memory 113 in the embodiment shown in FIG1 , and the processing circuit may implement the functions of encoder 200 or decoder 300 in the embodiments shown in FIG1-3 .

[0376] The present application also provides an electronic device including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is configured to execute a program or instruction to implement the steps in the method embodiments shown in Figures 4 to 8. This device embodiment corresponds to the aforementioned method embodiment, and each implementation process and implementation method of the aforementioned method embodiment is applicable to this terminal embodiment and can achieve the same technical effects.

[0377] The electronic device may be a terminal, or may be other devices other than a terminal, such as a server, a network attached storage (NAS), etc.

[0378] Among them, the terminal can be a mobile phone, tablet personal computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile Internet device (MID), augmented reality (AR), virtual reality (VR) equipment, mixed reality (MR) equipment, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipborne equipment, pedestrian user equipment (PUE), smart home (home appliances with wireless communication function, such as refrigerator, TV, washing machine or furniture, etc.), game console, personal computer (PC), ATM or self-service machine and other terminal-side devices. Wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among them, vehicle-mounted devices can also be called vehicle-mounted terminals, vehicle-mounted controllers, vehicle-mounted modules, vehicle-mounted components, vehicle-mounted chips, or vehicle-mounted units, etc. It should be noted that the specific type of terminal is not limited in the embodiments of this application.

[0379] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), or cloud computing services based on big data and artificial intelligence platforms.

[0380] For example, the electronic device may include but is not limited to the source device 100 or the destination device 110 shown in FIG. 1 .

[0381] Taking an electronic device as a terminal as an example, FIG13 is a schematic diagram of the hardware structure of a terminal implementing an embodiment of the present application.

[0382] The terminal 1300 includes but is not limited to: a radio frequency unit 1301, a network module 1302, an audio output unit 1303, an input unit 1304, a sensor 1305, a display unit 1306, a user input unit 1307, an interface unit 1308, a memory 1309 and at least some of the components of the processor 1310.

[0383] Those skilled in the art will appreciate that the terminal 1300 may also include a power supply (such as a battery) to power various components. The power supply may be logically connected to the processor 1310 via a power management system, thereby enabling the power management system to manage charging, discharging, and power consumption. The terminal structure shown in FIG13 does not limit the terminal. The terminal may include more or fewer components than shown, or may combine certain components, or have different component arrangements, which will not be described in detail here.

[0384] It should be understood that in the embodiment of the present application, the input unit 1304 may include a graphics processing unit (GPU) 13041 and a microphone 13042. The graphics processor 13041 processes image data of a still picture or video obtained by an image acquisition device (such as a camera) in a video acquisition mode or an image acquisition mode, or may process the obtained point cloud data. The display unit 1306 may include a display panel 13061, which may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 1307 includes a touch panel 13071 and at least one of other input devices 13072. The touch panel 13071 is also called a touch screen. The touch panel 13071 may include two parts: a touch detection device and a touch controller. Other input devices 13072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be described in detail here.

[0385] In the embodiment of the present application, after receiving downlink data from a network-side device, the RF unit 1301 may transmit the data to the processor 1310 for processing. Furthermore, the RF unit 1301 may send uplink data to the network-side device. Typically, the RF unit 1301 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like.

[0386] The memory 1309 can be used to store software programs or instructions and various data. The memory 1309 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, applications or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 1309 may include a volatile memory or a non-volatile memory. Among them, the non-volatile memory may 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. Volatile memory can be random access memory (RAM), 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 memory 1309 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0387] Processor 1310 may include one or more processing units. Optionally, processor 1310 integrates an application processor and a modem processor. The application processor primarily handles operations related to the operating system, user interface, and application programs, while the modem processor primarily processes wireless communication signals, such as a baseband processor. It is understood that the modem processor may not be integrated into processor 1310.

[0388] In some embodiments, the processor 1310 is configured to determine a transform tree structure of a point cloud to be encoded based on the geometric reconstruction information, wherein the transform tree structure includes at least one first node layer;

[0389] Determining, in a reference frame of a current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0390] If the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled, selecting a prediction mode for the current node from an inter-frame prediction mode and a non-prediction mode through rate-distortion optimization;

[0391] Predicting and transforming a node to be coded according to the prediction mode to obtain an attribute transformation coefficient; the node to be coded is a child node of the current node;

[0392] The attribute transformation coefficients are coded to obtain a code stream.

[0393] Therefore, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the encoding end selects the prediction mode used by the current node from the inter-frame prediction mode and the non-prediction mode through rate-distortion optimization, and then transforms, predicts, and encodes the attribute information of the child nodes of the current node, that is, the node to be encoded, according to the selected appropriate prediction mode to obtain a code stream. Compared to directly using the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, which is conducive to improving the prediction coding effect and improving the encoding quality.

[0394] In some embodiments, the processor 1310 is configured to parse the bitstream to obtain a transformation coefficient reconstruction value of the point cloud to be decoded;

[0395] Determining a transform tree structure of the point cloud to be decoded based on geometric reconstruction information; the transform tree structure includes at least one first node layer;

[0396] Determining, in a reference frame of a current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node;

[0397] If the current node completely matches the reference frame node and the intra-frame prediction mode is not enabled, determining the prediction mode used by the current node through entropy decoding; wherein the prediction mode is an inter-frame prediction mode or a non-prediction mode;

[0398] The transformation coefficient reconstruction value of the node to be decoded is inversely transformed according to the prediction mode to obtain a reconstructed attribute value; wherein the node to be decoded is a child node of the current node.

[0399] In an embodiment of the present application, when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the decoding end determines the prediction mode of the current node through entropy decoding, determining whether it is an inter-frame prediction mode or a non-prediction mode. Then, based on the prediction mode, the decoder performs an inverse transform on the transform coefficient reconstruction values ​​of the child nodes of the current node, i.e., the node to be decoded, to obtain a reconstructed attribute value. Compared to directly adopting the non-prediction mode as the prediction mode when the current node fully matches its corresponding reference frame node and the intra-frame prediction mode is not enabled, the embodiment of the present application can select a more appropriate prediction mode for the current node, thereby improving the prediction decoding effect and decoding quality.

[0400] It can be understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the method embodiment and achieve the same or corresponding technical effects. To avoid repetition, it will not be described here.

[0401] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned method embodiment are implemented and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0402] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as ROM, RAM, a magnetic disk, or an optical disk. In some examples, the readable storage medium may be a non-transitory readable storage medium.

[0403] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned method embodiment and achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0404] It should be understood that the chip mentioned in the embodiments of the present application may include a system-level chip (also referred to as a system chip, a chip system or a system-on-chip chip), and may also include an independent display chip, etc.

[0405] An embodiment of the present application further provides a computer program / program product, which is stored in a storage medium. The computer program / program product is executed by at least one processor to implement the various processes of the above-mentioned method embodiment and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0406] An embodiment of the present application also provides a coding and decoding system, including: an encoding end device and a decoding end device, wherein the encoding end device can be used to execute the steps of the encoding method described above, and the decoding end device can be used to execute the steps of the decoding method described above.

[0407] It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the opposite order according to the functions involved. For example, the described method may be performed in an order different from that described, and various steps may also be added, omitted or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0408] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of a computer software product plus a necessary general-purpose hardware platform, or of course, by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.) and includes a number of instructions for enabling a terminal or network-side device to execute the methods described in each embodiment of the present application.

[0409] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms of implementation methods without departing from the purpose of this application and the scope of protection of the claims. These implementation methods are all within the protection of this application.

Claims

1. A coding method, wherein, Including: The encoding end determines a transformation tree structure of the point cloud to be encoded based on geometric reconstruction information, and the transformation tree structure includes at least one first node layer; In the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node is determined as a reference frame node; If the current node completely matches the reference frame node and the intra prediction mode is not enabled, then through rate-distortion optimization, a prediction mode adopted by the current node is selected from an inter prediction mode and a non-prediction mode; Predicting and transforming the node to be encoded according to the prediction mode to obtain attribute transformation coefficients; the node to be encoded is a child node of the current node; Encoding the attribute transformation coefficients to obtain a bitstream.

2. The method according to claim 1, wherein The predicting and transforming the node to be encoded according to the prediction mode to obtain attribute transformation coefficients includes: If the prediction mode is the inter prediction mode, determining a predicted attribute value of the node to be encoded; Transforming an original attribute value of the node to be encoded to obtain a first transformation coefficient, and transforming the predicted attribute value to obtain a second transformation coefficient; Obtaining the attribute transformation coefficients according to the first transformation coefficient and the second transformation coefficient.

3. The method according to claim 2, wherein The determining the predicted attribute value of the node to be encoded includes: Determining a reconstructed attribute value of a child node at a corresponding position of the reference frame node as a predicted attribute value of the node to be encoded at the corresponding position of the current node.

4. The method according to claim 1, wherein The predicting and transforming the node to be encoded according to the prediction mode to obtain attribute transformation coefficients includes: If the prediction mode is the non-prediction mode, transforming an original attribute value of the node to be encoded to obtain the attribute transformation coefficients.

5. The method according to any one of claims 1 to 4, wherein Also including: If the current node does not completely match the reference frame node and the intra prediction mode is not enabled, determining that the prediction mode adopted by the current node is the non-prediction mode.

6. The method according to any one of claims 1-5, wherein, The first node layer is a middle node layer of the transformation tree structure.

7. The method according to any one of claims 1-6, wherein, Also including: Determining first context information by using whether the intra prediction mode is enabled and whether the current node completely matches the reference frame node; Determining second context information by using the most frequently used prediction mode among the current node, a neighbor parent node, and decoded child nodes of the same layer; Determining an index of a context corresponding to the prediction mode according to the first context information and the second context information; Entropy encoding the prediction mode according to the index to obtain prediction mode bits, and adding the prediction mode bits to the bitstream.

8. The method according to claim 7, wherein, The first context information corresponds to one of the following three states: The intra prediction mode is enabled and the current node completely matches the reference frame node; The intra prediction mode is enabled and the current node does not completely match the reference frame node; The intra prediction mode is not enabled.

9. The method according to claim 7, wherein, The second context information corresponds to one of the following three states: The most frequently used prediction mode among the current node, a neighbor parent node, and decoded child nodes of the same layer is the intra prediction mode; The most frequently used prediction mode among the current node, a neighbor parent node, and decoded child nodes of the same layer is the inter prediction mode; The most frequently used non - prediction mode among the current node, the neighbor parent node, and the decoded same - layer child nodes.

10. The method according to any one of claims 7-9, wherein, Further included: Determining third context information by using the number of occupied child nodes in the current node; wherein, the third context information corresponds to one of two states. Among them, the determining the index of the context corresponding to the prediction mode according to the first context information and the second context information includes: Determining the index of the context corresponding to the prediction mode according to the first context information, the second context information, and the third context information.

11. The method according to claim 10, wherein The two states include: The range of the number of occupied child nodes is a first interval. The range of the number of occupied child nodes is a second interval; wherein, the range of the possible values of the number of child nodes of the current node is divided into the first interval and the second interval.

12. A decoding method, wherein, Including: The decoding end parses the code stream to obtain the reconstructed value of the transform coefficient of the point cloud to be decoded. Determining the transform tree structure of the point cloud to be decoded based on the geometric reconstruction information. The transform tree structure includes at least one first - node layer. Determining a node with the same geometric position as the current node in the reference frame of the current node in the at least one first - node layer as the reference - frame node. If the current node completely matches the reference - frame node and the intra - prediction mode is not enabled, determining the prediction mode adopted by the current node through entropy decoding; wherein, the prediction mode is an inter - prediction mode or a non - prediction mode. Performing an inverse transform on the reconstructed value of the transform coefficient of the node to be decoded according to the prediction mode to obtain the reconstructed attribute value; wherein, the node to be decoded is a child node of the current node.

13. The method according to claim 12, wherein, The performing an inverse transform on the reconstructed value of the transform coefficient of the node to be decoded according to the prediction mode to obtain the reconstructed attribute value includes: If the prediction mode is the inter - prediction mode, performing a transform on the predicted attribute value of the node to be decoded to obtain a second transform coefficient. Obtaining a first transform coefficient according to the reconstructed value of the transform coefficient of the node to be decoded and the second transform coefficient. Performing an inverse transform on the first transform coefficient to obtain the reconstructed attribute value.

14. The method according to claim 13, wherein, Further included: Determining the reconstructed attribute value of the child node at the corresponding position of the reference - frame node as the predicted attribute value of the node to be decoded at the corresponding position of the current node.

15. The method according to claim 12, wherein, The performing an inverse transform on the reconstructed value of the transform coefficient of the node to be decoded according to the prediction mode to obtain the reconstructed attribute value includes: If the prediction mode is the non - prediction mode, performing an inverse transform on the reconstructed value of the transform coefficient of the node to be decoded to obtain the reconstructed attribute value.

16. The method according to any one of claims 12-15, wherein, Further included: If the current node does not completely match the reference - frame node and the intra - prediction mode is not enabled, determining that the prediction mode adopted by the current node is the non - prediction mode.

17. The method according to any one of claims 12 - 16, wherein The first - node layer is the middle - node layer of the transform tree structure.

18. The method according to any one of claims 12-17, wherein, The determining the prediction mode adopted by the current node through entropy decoding includes: Determining first context information by using whether the intra - prediction mode is enabled and whether the current node completely matches the reference - frame node. Determine the second context information by using the most frequently used prediction mode among the current node, the neighbor parent node, and the decoded children nodes of the same layer; Determine the index of the context corresponding to the prediction mode according to the context information and the second context information; Parse the bitstream, perform entropy decoding according to the index, and obtain the prediction mode.

19. The method according to claim 18, wherein, The first context information corresponds to one of the following three states: The intra prediction mode is enabled and the current node exactly matches the reference frame node; The intra prediction mode is enabled and the current node does not exactly match the reference frame node; The intra prediction mode is not enabled.

20. The method according to claim 18, wherein, The second context information corresponds to one of the following three states: The most frequently used prediction mode among the current node, the neighbor parent node, and the decoded children nodes of the same layer is the intra prediction mode; The most frequently used prediction mode among the current node, the neighbor parent node, and the decoded children nodes of the same layer is the inter prediction mode; The most frequently used prediction mode among the current node, the neighbor parent node, and the decoded children nodes of the same layer is the non - prediction mode.

21. The method according to any one of claims 18 - 20, wherein, Further include: Determine the third context information by using the number of occupied children nodes in the current node; wherein, the third context information corresponds to one of two states; Wherein, the determining the index of the context corresponding to the prediction mode according to the first context information and the second context information includes: Determine the index of the context corresponding to the prediction mode according to the first context information, the second context information, and the third context information.

22. The method according to claim 21, wherein The two states include: The number range of the occupied children nodes is in the first interval; The number range of the occupied children nodes is in the second interval; wherein, the range of the possible values of the number of children nodes of the current node is divided into the first interval and the second interval.

23. An encoding device, wherein, Include: A determination module, configured to determine a transform tree structure of the point cloud to be encoded based on geometric reconstruction information, where the transform tree structure includes at least one first node layer; The determination module is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node with the same geometric position as the current node as the reference frame node; The determination module is further configured to, if the current node exactly matches the reference frame node and the intra prediction mode is not enabled, select the prediction mode adopted by the current node from the inter prediction mode and the non - prediction mode through rate - distortion optimization; A prediction and transformation module, configured to perform prediction and transformation on the node to be encoded according to the prediction mode to obtain attribute transformation coefficients; the node to be encoded is a child node of the current node; An encoding module, configured to perform encoding processing on the attribute transformation coefficients to obtain a bitstream.

24. The apparatus according to claim 23, wherein, The determination module is further configured to: Determine the first context information by using whether the intra prediction mode is enabled and whether the current node exactly matches the reference frame node; determine the second context information by using the most frequently used prediction mode among the current node, the neighbor parent node, and the decoded children nodes of the same layer; determine the index of the context corresponding to the prediction mode according to the first context information and the second context information; The encoding module is further configured to perform entropy encoding on the prediction mode according to the index to obtain prediction mode bits, and add the prediction mode bits to the bitstream.

25. The apparatus according to claim 24, wherein, The second context information corresponds to one of the following three states: The state corresponding to the most frequently used intra prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer; The state corresponding to the most frequently used inter prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer; The state corresponding to the most frequently used non-prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer.

26. A decoding device, wherein, Comprising: A parsing module, configured to parse the bitstream to obtain the reconstructed value of the transform coefficient of the point cloud to be decoded; A determination module, configured to determine the transform tree structure of the point cloud to be decoded based on the geometric reconstruction information; the transform tree structure includes at least one first node layer; The determination module is further configured to determine, in the reference frame of the current node in the at least one first node layer, a node having the same geometric position as the current node as a reference frame node; The decoding module is configured to, if the current node completely matches the reference frame node and the intra prediction mode is not enabled, determine the prediction mode adopted by the current node through entropy decoding; wherein, the prediction mode is an inter prediction mode or a non-prediction mode; An inverse transform module, configured to perform an inverse transform on the reconstructed value of the transform coefficient of the node to be decoded according to the prediction mode to obtain a reconstructed attribute value; wherein, the node to be decoded is a child node of the current node.

27. The device according to claim 26, wherein, Specifically, the decoding module is configured to: Determine first context information by using whether the intra prediction mode is enabled and whether the current node completely matches the reference frame node; determine second context information by using the most frequently used prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer; Determine the index of the context corresponding to the prediction mode according to the context information and the second context information; Parse the bitstream, and perform entropy decoding according to the index to obtain the prediction mode.

28. The apparatus according to claim 27, wherein, The second context information corresponds to one of the following three states: The state corresponding to the most frequently used intra prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer; The state corresponding to the most frequently used inter prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer; The state corresponding to the most frequently used non-prediction mode among the current node, the neighboring parent node, and the decoded sibling nodes of the same layer.

29. An electronic device, wherein, Comprising a processor and a memory, the memory stores a program or instruction that can run on the processor, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 11 are implemented, or the steps of the method according to any one of claims 12 to 22 are implemented.

30. A readable storage medium, wherein, A program or instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, the method according to any one of claims 1 to 11 is implemented, or the steps of the method according to any one of claims 12 to 22 are implemented.

31. A chip, wherein, The chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to run programs or instructions to implement the steps of the method according to any one of claims 1 to 11, or to implement the steps of the method according to any one of claims 12 to 22.

Citation Information

Patent Citations

  • Point cloud encoding and decoding method

    CN112385236A

  • Point cloud geometric inter-frame prediction method based on block motion estimation and motion compensation

    CN114095735A

  • Coding processing method and decoding processing method for geometric information of point cloud and related equipment

    CN115471627A

  • Point cloud attribute coding method and device, and point cloud attribute decoding method and device

    CN115714864A

  • Point cloud encoding and decoding method and system, point cloud encoder and point cloud decoder

    CN116636214A