Methods, apparatuses, and media for point cloud coding

CN122802695APending Publication Date: 2026-09-22DOUYIN VISION CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610958404.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-09
Filing Date
2023-09-01
Publication Date
2026-09-22

Smart Images

  • Figure CN122802695A_ABST
    Figure CN122802695A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a solution for point cloud coding. A method for point cloud coding is proposed. The method comprises: for a conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence, determining a prediction of first coefficients of attribute information of a current node in the current PC sample based on second coefficients of attribute information of reference nodes in a reference PC sample associated with the current PC sample; and performing the conversion based on the prediction.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese invention patent application filed on September 1, 2023, with Chinese national application number 202380064783.7 and invention title "Method, Apparatus and Medium for Point Cloud Encoding and Decoding". Technical Field

[0002] The embodiments of this disclosure generally relate to point cloud encoding and decoding techniques, and more specifically, to prediction for point cloud attribute encoding and decoding. Background Technology

[0003] A point cloud is a collection of data points in a three-dimensional (3D) plane, where each point has defined coordinates on the X, Y, and Z axes. Therefore, point clouds can be used to represent the physical content of three-dimensional space. For a wide range of immersive applications, from augmented reality to autonomous vehicles, point clouds have proven to be a promising way to represent 3D visual data.

[0004] Point cloud encoding and decoding standards have largely evolved from the well-known MPEG organization. MPEG stands for Moving Picture Experts Group, one of the main standardization groups for multimedia processing. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Call for Proposals (CFP) document to begin developing point cloud encoding and decoding standards. The final standard will encompass two categories of solutions. Video-based point cloud compression (V-PCC or VPCC) is suitable for point sets with relatively uniform point distribution. Geometry-based point cloud compression (G-PCC or GPCC) is suitable for sparser distributions. However, the overall expectation is to further improve the encoding and decoding efficiency of conventional point cloud encoding and decoding techniques. Summary of the Invention

[0005] Embodiments of this disclosure provide a solution for point cloud encoding and decoding.

[0006] In a first aspect, a method for point cloud encoding and decoding is proposed. The method includes: for a conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence, determining a prediction of a first coefficient for the attribute information of the current node in the current PC sample based on a second coefficient for attribute information of a reference node in a reference PC sample associated with the current PC sample; and performing the conversion based on the prediction.

[0007] Based on the method according to the first aspect of this disclosure, the coefficients of attribute information of reference nodes in a reference PC sample associated with the current PC sample are used to predict the corresponding coefficients of attribute information of the current node in the current PC sample. Compared with conventional solutions, the proposed method can advantageously utilize the temporal and / or spatial redundancy of attribute information to encode and decode point cloud sequences. Therefore, the encoding and decoding efficiency of point cloud encoding and decoding can be improved.

[0008] In a second aspect, another method for point cloud encoding and decoding is proposed. This method includes: a conversion between a current point cloud (PC) sample and a bitstream of the point cloud sequence; determining a prediction of the attribute information of a current node in the current PC sample based on attribute information of at least one reference node, wherein at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; and performing the conversion based on the prediction.

[0009] Based on the method of the second aspect of this disclosure, the attribute information of at least one reference node is used to predict the attribute information of the current node in the current PC sample. Compared with conventional solutions, the proposed method can advantageously utilize the temporal and / or spatial redundancy of attribute information to encode and decode point cloud sequences. This improves the encoding and decoding efficiency of point clouds.

[0010] Thirdly, an apparatus for point cloud encoding and decoding is proposed. The apparatus includes a processor and a non-transitory memory having instructions thereon. When executed by the processor, the instructions cause the processor to perform the method according to the first aspect of this disclosure.

[0011] In a fourth aspect, a non-transitory computer-readable storage medium is proposed. This non-transitory computer-readable storage medium stores instructions that cause a processor to execute the method according to the first aspect of this disclosure.

[0012] In a fifth aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding / decoding. The method includes: determining a prediction of a first coefficient for attribute information of a current node in the current PC sample based on second coefficients for attribute information of a reference node in a reference PC sample associated with a current point cloud (PC) sample of the point cloud sequence; and generating a bitstream based on the prediction.

[0013] In a sixth aspect, a method for storing a bitstream of a point cloud sequence is proposed. The method includes: determining a prediction of a first coefficient for the attribute information of a current node in the current PC sample based on a second coefficient for attribute information of a reference node in a reference PC sample associated with a current point cloud (PC) sample of the point cloud sequence; generating a bitstream based on the prediction; and storing the bitstream in a non-transitory computer-readable recording medium.

[0014] In a seventh aspect, another non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by means of a point cloud encoding / decoding device. The method includes: determining a prediction of attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence based on attribute information of at least one reference node, wherein at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; and generating a bitstream based on the prediction.

[0015] Eighthly, a method for storing a bitstream of a point cloud sequence is proposed. The method includes: determining a prediction of the attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence based on attribute information of at least one reference node, wherein at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; generating a bitstream based on the prediction; and storing the bitstream in a non-transitory computer-readable recording medium.

[0016] This summary is provided to present, in a simplified form, the selection of concepts further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Attached Figure Description

[0017] The above and other objects, features, and advantages of exemplary embodiments of the present disclosure will become more apparent from the following detailed description with reference to the accompanying drawings. In the exemplary embodiments of the present disclosure, the same reference numerals generally refer to the same components.

[0018] Figure 1 This is a block diagram illustrating an example point cloud encoding / decoding system that can utilize the techniques disclosed herein; Figure 2 A block diagram illustrating an example point cloud encoder according to some embodiments of the present disclosure is shown; Figure 3 A block diagram illustrating an example point cloud decoder according to some embodiments of the present disclosure is shown; Figure 4 The parent node for each child node of the transformation unit node is shown; Figure 5 A flowchart illustrating an example process for inter-frame prediction of DC coefficients is shown; Figure 6 A flowchart of a method for point cloud encoding and decoding according to an embodiment of the present disclosure is shown; Figure 7 A flowchart of another method for point cloud encoding and decoding according to embodiments of the present disclosure is shown; and Figure 8 A block diagram of a computing device in which various embodiments of the present disclosure may be implemented is shown.

[0019] Throughout all the accompanying figures, the same or similar reference numerals usually refer to the same or similar elements. Detailed Implementation

[0020] The principles of this disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described for illustrative purposes only and to help those skilled in the art understand and implement this disclosure, and do not imply any limitation on the scope of this disclosure. In addition to the methods described below, the disclosure described herein can be implemented in various other ways.

[0021] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.

[0022] The terms "an embodiment," "embodiment," "example embodiment," etc., used in this disclosure refer to embodiments that may include specific features, structures, or characteristics, but not every embodiment is required to include that specific feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Moreover, when a specific feature, structure, or characteristic is described in conjunction with an example embodiment, it is claimed that, whether explicitly described or not, such a feature, structure, or characteristic affecting its relation to other embodiments is within the knowledge of those skilled in the art.

[0023] It should be understood that although the terms “first” and “second”, etc., may be used herein to describe various elements, these elements should not be limited to these terms. These terms are used only to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the exemplary embodiments. As used herein, the term “and / or” includes any and all combinations of one or more of the listed terms.

[0024] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. As used herein, the singular forms “a,” “an,” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising,” “including,” “having,” “containing,” and / or “comprising” as used herein indicate the presence of the said features, elements, and / or components, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.

[0025] Example Environment Figure 1 This is a block diagram illustrating an example point cloud encoding / decoding system 100 from which the techniques of this disclosure can be utilized. As shown, the point cloud encoding / decoding system 100 may include a source device 110 and a destination device 120. The source device 110 may also be referred to as a point cloud encoding device, and the destination device 120 may also be referred to as a point cloud decoding device. In operation, the source device 110 may be configured to generate encoded point cloud data, and the destination device 120 may be configured to decode the encoded point cloud data generated by the source device 110. The techniques of this disclosure are generally directed to encoding and / or decoding point cloud data, i.e., supporting point cloud compression. Encoding and decoding can be efficient in compressing and / or decompressing point cloud data.

[0026] Source device 100 and destination device 120 may include any of a variety of devices, including desktop computers, laptops, tablets, set-top boxes, handsets (such as smartphones and mobile phones), televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, vehicles (e.g., land or sea vehicles, spacecraft, aircraft, etc.), robots, LiDAR devices, satellites, extended reality devices, and so on. In some cases, source device 100 and destination device 120 may be equipped for wireless communication.

[0027] Source device 100 may include a data source 112, a memory 114, a GPCC encoder 116, and an input / output (I / O) interface 118. Destination device 120 may include an input / output (I / O) interface 128, a GPCC decoder 126, a memory 124, and a data consumer 122. According to this disclosure, the GPCC encoder 116 of source device 100 and the GPCC decoder 126 of destination device 120 may be configured to apply the point cloud encoding / decoding techniques of this disclosure. Therefore, source device 100 represents an example of an encoding device, and destination device 120 represents an example of a decoding device. In other examples, source device 100 and destination device 120 may include other components or arrangements. For example, source device 100 may receive data (e.g., point cloud data) from an internal or external source. Similarly, destination device 120 may interface with an external data consumer rather than including the data consumer in the same device.

[0028] Generally, data source 112 represents a source of point cloud data (i.e., raw, unencoded point cloud data) and can provide a continuous series of "frames" of point cloud data to GPCC encoder 116, which encodes the point cloud data for each frame. In some examples, data source 112 generates point cloud data. Data source 112 of source device 100 may include point cloud acquisition devices, such as any of various cameras or sensors, such as one or more cameras, an archive containing previously acquired point cloud data, a 3D scanner or light detection and ranging (LIDAR) device, and / or a data feed interface that receives point cloud data from a data content provider. Thus, in some examples, data source 112 may generate point cloud data based on signals from a LIDAR device. Alternatively or additionally, point cloud data may be generated by a computer from scanners, cameras, sensors, or other data. For example, data source 112 may generate point cloud data, or produce a combination of real-time point cloud data, archived point cloud data, and computer-generated point cloud data. In each case, the GPCC encoder 116 encodes the acquired, pre-acquired, or computer-generated point cloud data. The GPCC encoder 116 can rearrange the frames of the point cloud data from the receiving order (sometimes referred to as the "display order") to an encoding / decoding order for encoding and decoding. The GPCC encoder 116 can generate one or more bitstreams comprising the encoded point cloud data. The source device 100 can then output the encoded point cloud data via I / O interface 118 for reception and / or retrieval by, for example, the I / O interface 128 of the destination device 120. The encoded point cloud data can be directly transmitted to the destination device 120 via I / O interface 118 through network 130A. The encoded point cloud data can also be stored on storage medium / server 130B for access by the destination device 120.

[0029] The memory 114 of the source device 100 and the memory 124 of the destination device 120 may represent general-purpose memory. In some examples, memory 114 and memory 124 may store raw point cloud data, such as raw point cloud data from data source 112 and raw, decoded point cloud data from GPCC decoder 126. Additionally or alternatively, memory 114 and memory 124 may store software instructions executable by, for example, GPCC encoder 116 and GPCC decoder 126. Although memory 114 and memory 124 are shown separately from GPCC encoder 116 and GPCC decoder 126 in this example, it should be understood that GPCC encoder 116 and GPCC decoder 126 may also include internal memory for functionally similar or equivalent purposes. Furthermore, memory 114 and memory 124 may store encoded point cloud data, such as encoded point cloud data output from GPCC encoder 116 and input to GPCC decoder 126. In some examples, portions of memory 114 and memory 124 may be allocated as one or more buffers, for example, to store raw point cloud data, decoded point cloud data, and / or encoded point cloud data. For example, memory 114 and memory 124 may store point cloud data.

[0030] I / O interfaces 118 and 128 may represent a wireless transmitter / receiver, a modem, a wired networking component (e.g., an Ethernet card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. In examples where I / O interfaces 118 and 128 include wireless components, they may be configured to transmit data, such as encoded point cloud data, according to cellular communication standards such as 4G, 4G-LTE (Long Term Evolution), Advanced LTE, 5G, etc. In some examples where I / O interface 118 includes a wireless transmitter, they may be configured to transmit data, such as encoded point cloud data, according to other wireless standards such as the IEEE 802.11 specification. In some examples, source device 100 and / or destination device 120 may include corresponding system-on-chip (SoC) devices. For example, source device 100 may include a SoC device for performing functions belonging to GPCC encoder 116 and / or I / O interface 118, and destination device 120 may include a SoC device for performing functions belonging to GPCC decoder 126 and / or I / O interface 128.

[0031] The techniques disclosed herein can be applied to encoding and decoding to support any of a variety of applications, such as communication between autonomous vehicles, communication between scanners, cameras, sensors and processing devices (e.g., local or remote servers), geographic mapping, or other applications.

[0032] The I / O interface 128 of the destination device 120 receives an encoded bitstream from the source device 110. The encoded bitstream may include signaling information defined by the GPCC encoder 116, which is also used by the GPCC decoder 126, such as syntax elements having values ​​representing the point cloud. The data consumer 122 uses the decoded data. For example, the data consumer 122 may use the decoded point cloud data to determine the location of physical objects. In some examples, the data consumer 122 may include a display for presenting images based on the point cloud data.

[0033] The GPCC encoder 116 and GPCC decoder 126 can each be implemented as any of a variety of suitable encoder circuitry and / or decoder circuitry, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware, or any combination thereof. When the technology is implemented in part in software, the device may store instructions for the software in a suitable non-transitory computer-readable medium and execute the instructions in hardware using one or more processors to perform the technology of this disclosure. Each of the GPCC encoder 116 and GPCC decoder 126 may be included in one or more encoders or decoders, any of which may be integrated as part of a combined encoder / decoder (CODEC) in the respective device. Devices including the GPCC encoder 116 and / or GPCC decoder 126 may include one or more integrated circuits, microprocessors, and / or other types of devices.

[0034] The GPCC encoder 116 and GPCC decoder 126 can operate according to encoding / decoding standards such as the Video Point Cloud Compression (VPCC) standard or the Geometric Point Cloud Compression (GPCC) standard. Generally, this disclosure may refer to the encoding and decoding of frames (e.g., encoding and decoding) to include the process of encoding or decoding data. Encoded bitstreams typically include a series of values ​​for syntax elements representing encoding / decoding decisions (e.g., encoding / decoding modes).

[0035] A point cloud can contain a set of points in 3D space and can have attributes associated with those points. Attributes can be color information, such as R, G, B or Y, Cb, Cr, or reflectivity information, or other attributes. Point clouds can be acquired by various cameras or sensors, such as LiDAR sensors and 3D scanners, and can also be computer-generated. Point cloud data is used in a variety of applications, including but not limited to architecture (modeling), graphics (3D models for visualization and animation), and the automotive industry (LiDAR sensors for navigation aids).

[0036] Figure 2 This is a block diagram illustrating an example of a GPCC encoder 200 according to some embodiments of the present disclosure. The GPCC encoder 200 may be... Figure 1 An example of a GPCC encoder 116 in system 100 is shown. Figure 3 This is a block diagram illustrating an example of a GPCC decoder 300 according to some embodiments of the present disclosure. The GPCC decoder 300 may be... Figure 1 An example of the GPCC decoder 126 in the system 100 shown.

[0037] In both the GPCC encoder 200 and GPCC decoder 300, point cloud locations are encoded and decoded first. Attribute encoding and decoding depend on the decoded geometry. Figure 2 and Figure 3 In this configuration, Region Adaptive Hierarchical Transformation (RAHT) unit 218, Surface Approximation Analysis unit 212, RAHT unit 314, and Surface Approximation Synthesis unit 310 are options typically used for Category 1 data. Level of Detail (LOD) generation unit 220, Lifting unit 222, LOD generation unit 316, and Inverse Lifting unit 318 are options typically used for Category 3 data. All other units are common between Category 1 and Category 3.

[0038] For Category 3 data, the compressed geometry is typically represented as an octree from the root down to the leaf level of each voxel. For Category 1 data, the compressed geometry is typically represented by a pruned octree (i.e., an octree from the root down to the leaf level of blocks larger than voxels) plus a model of the surface within each leaf node of the pruned octree. In this way, both Category 1 and Category 3 data share the octree encoding / decoding mechanism, while Category 1 data can additionally utilize the surface model to approximate the voxels within each leaf node. The surface model used is a triangulation of each block comprising 1 to 10 triangles, producing a triangle soup. Therefore, the Category 1 geometry codec is called a triangle soup geometry codec, while the Category 3 geometry codec is called an octree geometry codec.

[0039] exist Figure 2 In the example, the GPCC encoder 200 may include a coordinate transformation unit 202, a color transformation unit 204, a voxelization unit 206, an attribute transfer unit 208, an octree analysis unit 210, a surface approximation analysis unit 212, an arithmetic coding unit 214, a geometric reconstruction unit 216, a RAHT unit 218, a LOD generation unit 220, a lifting unit 222, a coefficient quantization unit 224, and an arithmetic coding unit 226.

[0040] like Figure 2 As shown in the example, the GPCC encoder 200 can receive a set of locations and a set of attributes. Locations can include the coordinates of points in the point cloud. Attributes can include information about the points in the point cloud, such as the color associated with a point in the point cloud.

[0041] The coordinate transformation unit 202 can apply transformations to the coordinates of a point to transform the coordinates from the initial domain to the transformation domain. The transformed coordinates can be referred to as transformed coordinates. The color transformation unit 204 can apply transformations to convert the color information of an attribute to different domains. For example, the color transformation unit 204 can convert color information from the RGB color space to the YCbCr color space.

[0042] In addition, Figure 2 In the example, voxelization unit 206 can voxelize the transformed coordinates. Voxelization of the transformed coordinates can include quantization and removal of some points in the point cloud. In other words, multiple points in the point cloud can be grouped into a single "voxel," which can then be considered a point in some respects. Furthermore, octree analysis unit 210 can generate an octree based on the voxelized transformed coordinates. Additionally, in Figure 2 In the example, the surface approximation analysis unit 212 can analyze points to potentially determine a surface representation of the set of points. The arithmetic coding unit 214 can perform arithmetic coding on syntax elements representing information about an octree and / or information about the surface determined by the surface approximation analysis unit 212. The GPCC encoder 200 can output these syntax elements in a geometric bitstream.

[0043] The geometric reconstruction unit 216 can reconstruct the transformed coordinates of points in the point cloud based on an octree, data indicating the surface determined by the surface approximation analysis unit 212, and / or other information. Due to voxelization and surface approximation, the number of transformed coordinates reconstructed by the geometric reconstruction unit 216 may differ from the original number of points in the point cloud. The resulting points may be referred to as reconstructed points. The attribute transfer unit 208 can transfer attributes of the original points in the point cloud to the reconstructed points in the point cloud data.

[0044] Furthermore, RAHT unit 218 can apply RAHT encoding to the attributes of the reconstructed points. Alternatively or additionally, LOD generation unit 220 and lifting unit 222 can apply LOD processing and lifting to the attributes of the reconstructed points, respectively. RAHT unit 218 and lifting unit 222 can generate coefficients based on the attributes. Coefficient quantization unit 224 can quantize the coefficients generated by RAHT unit 218 or lifting unit 222. Arithmetic encoding unit 226 can apply arithmetic encoding to the syntax elements representing the quantized coefficients. GPCC encoder 200 can output these syntax elements in the attribute bitstream.

[0045] exist Figure 3 In the example, the GPCC decoder 300 may include a geometric arithmetic decoding unit 302, an attribute arithmetic decoding unit 304, an octree synthesis unit 306, an inverse quantization unit 308, a surface approximation synthesis unit 310, a geometric reconstruction unit 312, a RAHT unit 314, an LOD generation unit 316, an inverse lifting unit 318, an inverse coordinate transformation unit 320, and an inverse color transformation unit 322.

[0046] The GPCC decoder 300 can obtain a geometric bitstream and an attribute bitstream. The geometric arithmetic decoding unit 302 of the decoder 300 can apply arithmetic decoding (e.g., CABAC or other types of arithmetic decoding) to the syntax elements in the geometric bitstream. Similarly, the attribute arithmetic decoding unit 304 can apply arithmetic decoding to the syntax elements in the attribute bitstream.

[0047] Octree synthesis unit 306 can synthesize octrees based on syntax elements parsed from the geometric bitstream. In the case of using surface approximation in the geometric bitstream, surface approximation synthesis unit 310 can determine the surface model based on syntax elements parsed from the geometric bitstream and based on the octree.

[0048] Furthermore, the geometric reconstruction unit 312 can perform reconstruction to determine the coordinates of points in the point cloud. The inverse coordinate transformation unit 320 can apply an inverse transformation to the reconstructed coordinates to transform the reconstructed coordinates (positions) of points in the point cloud from the transformation domain back to the initial domain.

[0049] Additionally, in Figure 3 In the example, the inverse quantization unit 308 can inverse quantize the attribute value. The attribute value can be based on the syntax elements obtained from the attribute bitstream (e.g., including syntax elements decoded by the attribute arithmetic decoding unit 304).

[0050] Depending on how the attribute values ​​are encoded, RAHT unit 314 can perform RAHT decoding to determine the color value for a point in the point cloud based on the inversely quantized attribute values. Alternatively, LOD generation unit 316 and inverse lifting unit 318 can use level-of-detail (LMD) based techniques to determine the color value for a point in the point cloud.

[0051] In addition, Figure 3 In the example, the color inverse transformation unit 322 can apply an inverse color transformation to the color value. The inverse color transformation can be the inverse of the color transformation applied by the color transformation unit 204 of the encoder 200. For example, the color transformation unit 204 can transform color information from the RGB color space to the YCbCr color space. Correspondingly, the color inverse transformation unit 322 can transform color information from the YCbCr color space to the RGB color space.

[0052] Figure 2 and Figure 3 Various units are shown to aid in understanding the operations performed by encoder 200 and decoder 300. These units can be implemented as fixed-function circuits, programmable circuits, or a combination thereof. A fixed-function circuit is a circuit that provides a specific function and is preset with respect to the operations that can be performed. A programmable circuit is a circuit that can be programmed to perform a variety of tasks and provide flexible functionality in the operations that can be performed. For example, a programmable circuit can execute software or firmware that causes the programmable circuit to operate in a manner defined by instructions in the software or firmware. A fixed-function circuit can execute software instructions (e.g., to receive or output parameters), but the type of operation performed by a fixed-function circuit is generally immutable. In some examples, one or more of these units can be different circuit blocks (fixed-function or programmable), and in some examples, one or more of these units can be integrated circuits.

[0053] Some exemplary embodiments of this disclosure will be described in detail below. It should be understood that section headings are used in this document for ease of understanding and not to limit the embodiments disclosed in a section to that section. Furthermore, while some embodiments are described with reference to GPCC or other specific point cloud codecs, the disclosed techniques are also applicable to other point cloud codec techniques. Additionally, although some embodiments describe point cloud codec steps in detail, it should be understood that the corresponding decoding steps for decoding will be implemented by the decoder.

[0054] 1. Overview This disclosure relates to point cloud encoding and decoding techniques. Specifically, this disclosure relates to point cloud attribute prediction in region adaptive hierarchical transformation. These ideas can be applied individually or in various combinations to any standard or non-standard point cloud codec, such as geometry-based point cloud compression (G-PCC) currently under development.

[0055] 2. Abbreviation G-PCC is a geometry-based point cloud compression technology. MPEG Moving Picture Experts Group 3DG3D Graphics Encoding and Decoding Team CFP Proposal Solicitation V-PCC Video Point Cloud Compression RAHT region adaptive hierarchical transformation 3. Introduction MPEG stands for Moving Picture Experts Group, one of the main standardization groups for multimedia processing. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Call for Proposals (CFP) to begin developing a point cloud codec standard. The final standard will encompass two categories of solutions. Video-based point cloud compression (V-PCC or VPCC) is suitable for point sets with relatively uniform point distribution. Geometry-based point cloud compression (G-PCC or GPCC) is suitable for sparser distributions. Both V-PCC and G-PCC support encoding and decoding for individual point clouds and sequences of point clouds.

[0056] A point cloud can contain geometric information and attribute information. Geometric information describes the geometric location of the data points. Attribute information records details of the data points, such as texture, normal vectors, and reflections.

[0057] 3.1 Regional Adaptive Hierarchical Transformation In G-PCC, one of the important point cloud attribute encoding and decoding tools is RAHT. RAHT uses attributes associated with nodes in lower levels of an octree to predict the attributes of nodes in the next level. It assumes the point's location is given at both the encoder and decoder. RAHT follows the octree scan in reverse, from leaf nodes to the root node, recombining nodes into larger nodes at each step until the root node is reached. At each level of the octree, nodes are processed in Morton order. Instead of aggregating eight nodes once at each decomposition, RAHT performs aggregation in three steps along each dimension (e.g., along z, then y, then x). If the octree contains... The level, then RAHT adopts Use the level to traverse the tree in reverse.

[0058] For integers Let the node be The level is . Through aggregation and The aggregation along the first dimension is obtained, where it is an example. RAHT only processes occupied nodes. If one of the nodes in the pair is not occupied, the other node is promoted to the next level without being processed; that is, if... If it is the occupied node in the pair, then The aggregation process is repeated until the root is reached. Note that the aggregation process generates nodes at lower levels, which are the result of aggregating different numbers of voxels along the path. (The nodes are aggregated to generate nodes.) The number of nodes is the weight of that node. .

[0059] At two nodes (for example) and ) utilizing their respective weights ( and For each aggregation, RAHT applies the following transformation: , in and ,as well as .

[0060] Note that the transformation matrix always changes to adapt to the weights, that is, to each... The actual number of leaf nodes represented. It is used to aggregate and form other nodes at lower levels. These are the actual high-pass coefficients to be encoded and transmitted, generated by the transformation. Furthermore, weights are accumulated across the above levels. In the example above, .

[0061] In the final level (the root), the remaining two voxels and The two coefficients are transformed into the following:

[0062] in .

[0063] 3.3 Upsampling Transform Domain Prediction in RAHT Transform domain prediction was introduced to improve the encoding and decoding efficiency of RAHT. Transform domain prediction consists of two parts.

[0064] First, the RAHT tree traversal is changed from the previous ascending order method to a descending order-based method; that is, the tree is constructed by summing attributes and weights, and then RAHT is performed from the root to the leaf for both the encoder and decoder. This transformation is also performed in octree node transformation units with 2×2×2 child nodes. Within a node, the encoder transformation order is from leaf to root.

[0065] Secondly, for each child node of the transform unit, a corresponding predictive child node is generated by upsampling the previous transform level. In practice, only child nodes containing at least one point will generate corresponding predictive child nodes. On the encoder side, the transform unit containing 2×2×2 predictive child nodes is transformed and subtracted from the transformed attributes.

[0066] Each child node of a transformation unit node is predicted by 7 parent-level nodes, including 3 collinear parent-level neighbor nodes, 3 coplanar parent-level neighbor nodes, and 1 parent node. Coplanar neighbors and collinear neighbors are the neighbors that share faces and edges with the current transformation unit node, respectively. Figure 4 A schematic diagram 400 is shown illustrating the seven parent-level nodes for each child node of the transformation unit node.

[0067] Attributes of each child node The distance between the child node and its parent node is predicted as follows.

[0068]

[0069] It is a property of a parent node of this child node, and It depends on the distance weight. In G-PCC, .

[0070] For the AC coefficients, the prediction residuals will be sent via a signal.

[0071] For DC coefficients, the coefficients are inherited from previous levels, which means that DC coefficients are sent through the signal without prediction.

[0072] 3.4 Problems Existing designs for point cloud attribute transformation domain prediction in region adaptive hierarchical transformation have the following problems: 1. DC coefficients can represent the main components of a point cloud's attribute information. Therefore, DC coefficients are redundant in both temporal order (continuous point cloud frames) and spatial order (adjacent point cloud segments). However, current point cloud compression frameworks lack predictive processing for redundant information, which limits encoding and decoding efficiency.

[0073] 2. In the current point cloud compression framework, the prediction of AC coefficients uses attribute information at the parent level to predict attribute information at the child level. However, the temporal redundancy of attribute information at the same level in consecutive point cloud frames is not considered.

[0074] 4. Detailed Solution To address the aforementioned issues and other unmentioned problems, the methods outlined below are disclosed. The solutions should be considered as examples for explaining general concepts, not as narrow interpretations. Furthermore, these solutions can be applied individually or in combination in any way.

[0075] In the following description, point cloud samples may refer to, but are not limited to, frames / images / slices / subframes / subimages / blocks / segments.

[0076] 1) At least one specific coefficient of at least one reference point cloud sample after transformation can be used in the prediction of the corresponding coefficient of another point cloud sample after transformation.

[0077] a. In one example, the reference sample and the predicted sample can share the same timestamp. For example, the reference sample and the predicted sample are adjacent slices in a frame.

[0078] b. Alternatively, the reference sample and the predicted sample can have different timestamps. For example, the reference sample and the predicted sample may come from multiple frames.

[0079] c. In one example, a specific coefficient could be the DC coefficient.

[0080] d. In one example, specific coefficients of the reference sample can be used to predict the corresponding coefficients of the prediction sample, either directly or indirectly.

[0081] i. In one example, specific coefficients of the reference sample can be used as candidate values ​​for prediction.

[0082] ii. Alternatively, specific coefficients from the reference sample can be used to derive predicted values.

[0083] e. In one example, predictions for specific coefficients can be performed at the encoder.

[0084] f. In one example, predictions for specific coefficients can be performed at the decoder.

[0085] 2) The prediction residual (also known as the difference) between a specific coefficient and its predicted coefficient can be derived and sent to the decoder via a signal.

[0086] a. In one example, a specific coefficient could be the DC coefficient.

[0087] b. In one example, the residual between a specific coefficient and the predicted value can be derived at the encoder and / or decoder.

[0088] c. In one example, the residual can be sent to the decoder via a signal.

[0089] i. In one example, the residual can be encoded or decoded using fixed-length encoding / decoding, unary encoding / decoding, truncated unary encoding / decoding, etc.

[0090] d. In one example, the residual can be quantized at the encoder.

[0091] e. In one example, the residual can be dequantized at the decoder.

[0092] 3) The attribute information of at least one reference node can be used in the prediction of the attribute information of another node.

[0093] a. In one example, the reference node and the prediction node can share the same timestamp.

[0094] b. Alternative locations, reference nodes, and prediction nodes can have different timestamps.

[0095] 4) The attribute information of a reference node with the same node position in another frame can be used in the prediction of the attribute information of a node.

[0096] a. In one example, there may be at least one indicator to indicate the node position of each node in a frame.

[0097] i. In one example, the indicator could be the Morton code for each node.

[0098] ii. Alternatively, the indicator can be a node index or an octree depth index.

[0099] iii. In one example, the instruction can be exported at the encoder.

[0100] iv. In one example, the instruction can be exported at the decoder.

[0101] b. In one example, the attribute information of the reference node can be used to predict the attribute information of the prediction node, either directly or indirectly.

[0102] i. In one example, the attribute information of the reference node can be used as the predicted value.

[0103] ii. In one example, the attribute information of the reference node can be used as a prediction candidate value.

[0104] iii. Alternatively, the attribute information of the reference node can be used to derive the predicted value.

[0105] 1. In one example, the attribute information of the reference node can be used to calculate the predicted value, such as the weighted average sum.

[0106] 5) The attribute information of multiple reference nodes in another frame can be used in the prediction of the attribute information of a single node.

[0107] a. In one example, the reference node and the prediction node can share the same octree depth level.

[0108] b. In one example, the reference node and the prediction node can have different octree depth levels.

[0109] c. In one example, the attribute information of the reference node can be used to predict the attribute information of the prediction node, either directly or indirectly.

[0110] i. In one example, the attribute information of the reference node can be used as a prediction candidate value.

[0111] ii. Alternatively, the attribute information of the reference node can be used to derive the predicted value.

[0112] 1. In one example, the attribute information of the reference node can be used to calculate the predicted value, such as the weighted average sum.

[0113] 6) In one example, the residual between the predicted attribute and the original attribute can be derived, transformed, and sent to the decoder via a signal.

[0114] a. In one example, the residual between the predicted attribute and the original attribute can be derived at the encoder.

[0115] b. In one example, the residual between the predicted attribute and the original attribute can be derived at the decoder.

[0116] c. In one example, the residual can be transformed and sent to the decoder via a signal.

[0117] i. In one example, the transformed residual can be encoded or decoded using fixed-length encoding / decoding, unary encoding / decoding, truncated unary encoding / decoding, etc.

[0118] d. In one example, the residual, or the transformed residual, can be quantized at the encoder.

[0119] e. In one example, the residual, or the transformed residual, can be dequantized at the decoder.

[0120] 7) In one example, the residual between the transformed predicted attribute and the transformed original attribute can be calculated and sent to the decoder via a signal.

[0121] a. In one example, the predicted attribute and the original attribute can be transformed at the encoder.

[0122] b. In one example, the predicted attribute and the original attribute can be transformed at the decoder.

[0123] c. In one example, the residual between the transformed predicted attribute and the transformed original attribute can be derived at the encoder.

[0124] d. In one example, the residual between the transformed predicted attribute and the transformed original attribute can be derived at the decoder.

[0125] e. In one example, the residual of the transformed property can be sent to the decoder via a signal.

[0126] i. In one example, the residual can be encoded or decoded using fixed-length encoding / decoding, unary encoding / decoding, truncated unary encoding / decoding, etc.

[0127] 8) Whether and / or how the above methods can be applied to transmit signals from the encoder to the decoder in bitstream / frame / block / slice / octree, etc.

[0128] 9) Whether and / or how the methods disclosed above are applied may depend on the encoded / decoded information, such as size, color format, color components, slice / image type.

[0129] 5. Examples An example of an encoding / decoding process for inter-frame prediction of DC coefficients is shown in Figure 5 It is depicted in the middle. Figure 5A flowchart 500 illustrates an example process for inter-frame prediction of DC coefficients. At block 510, AC and DC coefficients for each octree depth level are derived. At block 520, the residuals of the transformed AC coefficients are calculated and transmitted via a signal in the bitstream. At block 530, it is determined whether the current node is the first node (i.e., the root node) of the current PC sample. If not, processing of the DC coefficients for the current node is skipped. Otherwise, the process proceeds to block 540, where it is determined whether the current PC sample is the first PC sample of the point cloud sequence. If yes, processing of the DC coefficients for the current node is skipped, and the DC coefficients of the current node are directly encoded into the bitstream. Otherwise, the process proceeds to block 550. At block 550, the residual between the predicted DC coefficients (i.e., the predicted DC coefficients of the current node) and the original DC coefficients (i.e., the DC coefficients of the current node) is calculated. Furthermore, the DC coefficients of the current node are replaced using the calculated residuals. For example, the initial set of bits allocated to the DC coefficients is filled with the calculated residual. At 560, the DC coefficients of the current node are transmitted via signal in the bitstream. As mentioned above, the initial set of bits allocated to the DC coefficients is filled with the calculated residual. Therefore, at 560, instead of the original DC coefficients, the calculated residual is transmitted via signal in the bitstream.

[0130] Further details of embodiments of this disclosure relating to prediction of point cloud attribute encoding and decoding based on Region Adaptive Hierarchical Transformation (RAHT) will be described below. The embodiments of this disclosure should be considered as examples for explaining general concepts and should not be interpreted in a narrow manner. Furthermore, these embodiments can be applied individually or in combination in any way.

[0131] As used herein, the term "point cloud sequence" may refer to a sequence of one or more point clouds. The term "point cloud frame" or "frame" may refer to a point cloud within a point cloud sequence. The term "point cloud (PC) sample" may refer to a frame, a sub-region within a frame, an image, a slice, a subframe, a sub-image, a block, a segment, or any other suitable unit of processing.

[0132] Figure 6 A flowchart of a method 600 for point cloud encoding / decoding according to some embodiments of the present disclosure is shown. Method 600 can be implemented during the conversion between a current PC sample of a point cloud sequence and a bitstream of the point cloud sequence. Figure 6 As shown, method 600 begins at 602, wherein the prediction of the first coefficient of the attribute information of the current node in the current PC sample is determined based on the second coefficient of the attribute information of the reference node in the reference PC sample associated with the current PC sample.

[0133] In some embodiments, the first coefficient can be obtained by performing a Region Adaptive Hierarchical Transform (RAHT) on the attribute information of the current node. The second coefficient can be obtained by performing RAHT on the attribute information of a reference node. As an example, each of the first and second coefficients can be an AC coefficient. Alternatively, each of the first and second coefficients can be a DC coefficient. In some embodiments, RAHT can be performed at the encoder or at the decoder.

[0134] In some embodiments, the current node may include the current PC sample, and the current node may be the root node of a tree structure (such as an octree) used for spatial partitioning of the current PC sample. Similarly, the reference node may include a reference PC sample, and the reference node may be the root node of a tree structure (such as an octree) used for spatial partitioning of the reference PC sample. In some alternative embodiments, the current node may include a portion of the current PC sample, and the current node may be a non-root node of a tree structure used for spatial partitioning of the current PC sample. Additionally or alternatively, the reference node may include a portion of the reference PC sample, and the reference node may be a non-root node of a tree structure used for spatial partitioning of the reference PC sample. As used herein, the term "non-root node" refers to a node in a tree structure other than the root node. For example, a non-root node may be a child node of the root node or a child node of another non-root node.

[0135] As an example, and not a limitation, the DC coefficients of the attribute information of the root node of the reference PC sample can be used to predict the DC coefficients of the attribute information of the root node of the current PC sample. In other words, the DC coefficients of the attribute information are determined based on inter-frame PC sample prediction. Additionally or alternatively, the AC coefficients of the attribute information of the non-root nodes of the reference PC sample can be used to predict the AC coefficients of the attribute information of the non-root nodes of the current PC sample. In other words, the AC coefficients of the attribute information are determined based on inter-frame PC sample prediction.

[0136] In some embodiments, the timestamp of the reference PC sample may be the same as that of the current PC sample. For example, the current PC sample and the reference PC sample may be adjacent slices in the same frame. Alternatively, the timestamp of the reference PC sample may be different from that of the current PC sample. For example, the current PC sample and the reference PC sample may be in two different frames.

[0137] At 604, the transformation is performed based on the prediction of the first coefficient. In some embodiments, the transformation may include encoding the current PC sample into a bitstream. Alternatively or additionally, the transformation may include decoding the current PC sample from the bitstream.

[0138] Based on the above, the coefficients of the attribute information of reference nodes in reference PC samples associated with the current PC sample are used to predict the corresponding coefficients of the attribute information of the current node in the current PC sample. Compared with conventional solutions, the proposed method can advantageously utilize the temporal and / or spatial redundancy of attribute information to encode and decode point cloud sequences. Therefore, it can improve the encoding and decoding efficiency of point cloud encoding and decoding.

[0139] In some embodiments, at 602, the second coefficient can be used directly or indirectly to predict the first coefficient. In one example, the second coefficient can be directly determined as a prediction of the first prediction. In another example, multiple candidate predictions of the first coefficient are obtained. One of the multiple candidate predictions is the second coefficient. Furthermore, the prediction of the first prediction can be determined from multiple candidate predictions. In another example, the prediction of the first coefficient can be determined based on further processing of the second coefficient (such as quantization, scaling, offsetting, etc.). It should be understood that the above description is for illustrative purposes only. The scope of this disclosure is not limited in this respect.

[0140] In some embodiments, the prediction of the first coefficient may be determined at the encoder. Alternatively or additionally, the prediction of the first coefficient may be determined at the decoder.

[0141] In some embodiments, the residual (also called the difference) between the first coefficient and the prediction of the first coefficient can be determined at the encoder. Furthermore, the residual can be indicated in the bitstream. By way of example and not limitation, the residual can be encoded or decoded using fixed-length encoding / decoding, unary encoding / decoding, or truncated unary encoding / decoding, etc.

[0142] In some embodiments, the residual can be quantized at the encoder. Additionally or alternatively, the residual can be dequantized at the decoder.

[0143] In some alternative embodiments, the residual between the first coefficient and the prediction of the first coefficient can be determined at the decoder.

[0144] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is proposed. This non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by means of a point cloud encoding / decoding apparatus. In this method, a prediction of first coefficients for attribute information of a current node in a current PC sample of the point cloud sequence is determined based on second coefficients for attribute information of a reference node in a reference PC sample associated with the current PC sample. Furthermore, the bitstream is generated based on the prediction.

[0145] According to yet another embodiment of this disclosure, a method for storing a bitstream of a point cloud sequence is provided. According to this method, a prediction of first coefficients for attribute information of a current node in a current PC sample of the point cloud sequence is determined based on second coefficients for attribute information of a reference node in a reference PC sample associated with the current PC sample. Furthermore, a bitstream is generated based on the prediction, and the bitstream is stored in a non-transitory computer-readable recording medium.

[0146] Figure 7 A flowchart of another method 700 for point cloud encoding and decoding according to some embodiments of the present disclosure is shown. Method 700 can be implemented during the conversion between a current PC sample of the point cloud sequence and a bitstream of the point cloud sequence. Figure 7 As shown, method 700 begins at 702, where the prediction of attribute information of the current node in the current PC sample is determined based on attribute information of at least one reference node. The at least one reference node may be in the current PC sample or in a reference PC sample associated with the current PC sample.

[0147] In some embodiments, the current node may include the current PC sample, and the current node may be the root node of a tree structure (such as an octree) used for spatial partitioning of the current PC sample. Similarly, the reference node may include a reference PC sample, and the reference node may be the root node of a tree structure (such as an octree) used for spatial partitioning of the reference PC sample.

[0148] In some alternative embodiments, the current node may include a portion of the current PC sample, and the current node may be a first non-root node of a tree structure used for spatial partitioning of the current PC sample. Additionally or alternatively, the reference node may include a portion of the current PC sample, and the reference node may be a second non-root node of a tree structure used for spatial partitioning of the reference PC sample. The second non-root node is different from the first non-root node. Additionally or alternatively, the reference node may include a portion of the reference PC sample, and the reference node may be a non-root node of a tree structure used for spatial partitioning of the reference PC sample.

[0149] In some embodiments, the timestamp of the reference PC sample may be the same as that of the current PC sample. For example, the current PC sample and the reference PC sample may be adjacent slices in the same frame. Alternatively, the timestamp of the reference PC sample may be different from that of the current PC sample. For example, the current PC sample and the reference PC sample may be in two different frames.

[0150] At 704, the transformation is performed based on the prediction using the attribute information of the current node. As an example, and not a limitation, the transformation can be performed based on the prediction using both RAHT and the attribute information of the current node. That is, the prediction is performed before the transformation. Conversely, in the reference... Figure 6In the example embodiments shown, the transformation is performed before prediction. In some embodiments, the transformation may include encoding the current PC sample into a bitstream. Alternatively or additionally, the transformation may include decoding the current PC sample from the bitstream.

[0151] Based on the above, the attribute information of at least one reference node is used to predict the attribute information of the current node in the current PC sample. Compared with conventional solutions, the proposed method can advantageously utilize the temporal and / or spatial redundancy of attribute information to encode and decode point cloud sequences. Therefore, it can improve the encoding and decoding efficiency of point clouds.

[0152] In some embodiments, at least one reference node may include a single reference node in a reference PC sample. Additionally, the node position of the single reference node may be the same as the current node. The node position of the single reference node may be indicated by at least one indicator. In one example, at least one indicator may include the Morton code of the single reference node. Additionally or alternatively, the at least one indicator may include the node index of the single reference node, the octree depth index of the single reference node, and / or so on. At least one indicator may be determined at the encoder or at the decoder.

[0153] In some embodiments, at 702, the attribute information of a single reference node can be used to directly or indirectly predict the attribute information of the current node. In one example, the attribute information of a single reference node can be directly determined as a prediction of the attribute information of the current node. In another example, multiple candidate predictions of the attribute information of the current node can be obtained. One of the multiple candidate predictions is the attribute information of the single reference node. Furthermore, the prediction of the attribute information of the current node can be determined from the multiple candidate predictions.

[0154] In another example, the prediction of the attribute information of the current node can be determined based on further processing (such as quantization, scaling, offsetting, etc.) of the attribute information of a single reference node. In yet another example, multiple candidate predictions of the attribute information of the current node can be obtained. One of the multiple candidate predictions is the attribute information of a single reference node. Furthermore, the prediction of the attribute information of the current node can be determined based on the weighted average of the multiple candidate predictions. It should be understood that the above description is for illustrative purposes only. The scope of this disclosure is not limited in this respect.

[0155] In some embodiments, at least one reference node may include multiple reference nodes in a reference PC sample. For example, the octree depth level of each of the multiple reference nodes may be the same as that of the current node. Alternatively, the octree depth level of at least one of the multiple reference nodes may be different from that of the current node.

[0156] In some embodiments, at 702, the attribute information of multiple reference nodes can be used to directly or indirectly predict the attribute information of the current node. In one example, the attribute information of one of the multiple reference nodes can be determined as the prediction of the attribute information of the current node. In another example, multiple candidate predictions of the attribute information of the current node can be obtained. One of the candidate predictions is the attribute information of one of the multiple reference nodes. Furthermore, the prediction of the attribute information of the current node can be determined from the multiple candidate predictions.

[0157] In another example, the prediction of the current node's attribute information can be determined based on further processing of the attribute information of multiple reference nodes (e.g., quantization, scaling, offsetting, etc.). In yet another example, multiple candidate predictions of the current node's attribute information can be obtained. One of the candidate predictions is the attribute information of one of the multiple reference nodes. Furthermore, the prediction of the current node's attribute information can be determined based on the weighted average of the multiple candidate predictions.

[0158] In some embodiments, the residual between the attribute information of the current node and the prediction of the attribute information of the current node can be determined at the encoder. Additionally, the coefficients for the residual can be obtained by performing RAHT on the residual, and the coefficients can be indicated in the bitstream. It should be noted that the coefficients of the residual can also be referred to as the transformed residual.

[0159] As an example and not a limitation, coefficients can be encoded or decoded using fixed-length encoding / decoding, unary encoding / decoding, truncated unary encoding / decoding, etc. In some embodiments, coefficients can be quantized at the encoder or at the decoder. In some embodiments, residuals can be quantized at the encoder. Additionally, residuals can be dequantized at the decoder.

[0160] In some alternative embodiments, the residual between the attribute information of the current node and the prediction of the attribute information of the current node can be determined at the decoder.

[0161] In some embodiments, information about whether and / or how the method is applied may be indicated in the bitstream. Additionally or alternatively, information about whether and / or how the method is applied may be indicated in frames, tiles, slices, octrees, etc.

[0162] In some embodiments, information about whether and / or how the method is applied may depend on encoded / decoded information. By way of example and not limitation, encoded / decoded information may include size, color format, color components, slice type, image type, and / or the like.

[0163] According to another embodiment of this disclosure, a non-transitory computer-readable recording medium is provided. This non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding / decoding. In this method, prediction of attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence is determined based on attribute information of at least one reference node. The at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample. Furthermore, the bitstream is generated based on the prediction.

[0164] According to another embodiment of this disclosure, a method for storing a bitstream of a point cloud sequence is provided. According to the method, the prediction of attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence is determined based on attribute information of at least one reference node. The at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample. Furthermore, the bitstream is generated based on the prediction, and the bitstream is stored in a non-transitory computer-readable recording medium.

[0165] The implementation of this disclosure may be described in accordance with the following terms, the features of which may be combined in any reasonable manner.

[0166] Clause 1. A method for point cloud encoding and decoding, comprising: for a conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence; determining a prediction of a first coefficient for attribute information of a current node in the current PC sample based on a second coefficient for attribute information of a reference node in a reference PC sample associated with the current PC sample; and performing the conversion based on the prediction.

[0167] Clause 2. The method according to Clause 1, wherein the first coefficient is obtained by performing a Region Adaptive Hierarchical Transformation (RAHT) on the attribute information of the current node, and the second coefficient is obtained by performing the RAHT on the attribute information of the reference node.

[0168] Clause 3. The method according to any one of Clauses 1 to 2, wherein each of the first coefficient and the second coefficient is an alternating current (AC) coefficient, or each of the first coefficient and the second coefficient is a direct current (DC) coefficient.

[0169] Clause 4. The method according to any one of Clauses 1 to 3, wherein the current node includes the current PC sample and the current node is the root node of a tree structure for spatial partitioning of the current PC sample, and the reference node includes the reference PC sample and the reference node is the root node of a tree structure for spatial partitioning of the reference PC sample.

[0170] Clause 5. The method according to any one of Clauses 1 to 3, wherein the current node includes a portion of the current PC sample and the current node is a non-root node of a tree structure for spatial partitioning of the current PC sample, or wherein the reference node includes a portion of the reference PC sample and the reference node is a non-root node of a tree structure for spatial partitioning of the reference PC sample.

[0171] Clause 6. The method according to any one of Clauses 1 to 5, wherein the timestamp of the reference PC sample is the same as that of the current PC sample.

[0172] Clause 7. The method according to any one of Clauses 1 to 5, wherein the timestamp of the reference PC sample is different from that of the current PC sample.

[0173] Clause 8. The method according to any one of Clauses 1 to 7, wherein determining the prediction comprises: determining the second coefficient as the prediction of the first prediction.

[0174] Clause 9. The method according to any one of Clauses 1 to 7, wherein determining the prediction comprises: obtaining a plurality of candidate predictions of the first coefficient, one of the plurality of candidate predictions being the second coefficient; and determining the prediction of the first prediction from the plurality of candidate predictions.

[0175] Clause 10. The method according to any one of Clauses 1 to 7, wherein determining the prediction comprises: determining the prediction based on further processing of the second coefficient.

[0176] Clause 11. The method according to any one of Clauses 1 to 10, wherein the prediction of the first coefficient is determined at the encoder.

[0177] Clause 12. The method according to any one of Clauses 1 to 10, wherein the prediction of the first coefficient is determined at the decoder.

[0178] Clause 13. The method according to any one of Clauses 1 to 12, wherein the residual between the first coefficient and the prediction of the first coefficient is determined at the encoder.

[0179] Clause 14. The method according to Clause 13, wherein the residual is indicated in the bitstream.

[0180] Clause 15. The method described in Clause 14, wherein the residual is encoded or decoded using one of the following: fixed-length encoding / decoding, unary encoding / decoding, or truncated unary encoding / decoding.

[0181] Clause 16. The method according to any one of Clauses 13 to 15, wherein the residual is quantized at the encoder.

[0182] Clause 17. The method according to any one of Clauses 13 to 16, wherein the residual is dequantized at the decoder.

[0183] Clause 18. The method according to any one of Clauses 1 to 12, wherein the residual between the first coefficient and the prediction of the first coefficient is determined at the decoder.

[0184] Clause 19. The method according to any one of Clauses 2 to 18, wherein the RAHT is performed at the encoder.

[0185] Clause 20. The method according to any one of Clauses 2 to 18, wherein the RAHT is performed at the decoder.

[0186] Clause 21. A method for point cloud encoding and decoding, comprising: a conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence; determining a prediction of attribute information of a current node in the current PC sample based on attribute information of at least one reference node, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; and performing the conversion based on the prediction.

[0187] Clause 22. The method according to Clause 21, wherein the current node includes the current PC sample and the current node is the root node of a tree structure for spatial partitioning of the current PC sample, and the reference node includes the reference PC sample and the reference node is the root node of a tree structure for spatial partitioning of the reference PC sample.

[0188] Clause 23. The method according to Clause 21, wherein the current node includes a portion of the current PC sample and the current node is a first non-root node of a tree structure for spatial partitioning of the current PC sample, or wherein the reference node includes a portion of the current PC sample and the reference node is a second non-root node of the tree structure for spatial partitioning of the reference PC sample, the second non-root node being different from the first non-root node, or wherein the reference node includes a portion of the reference PC sample and the reference node is a non-root node of a tree structure for spatial partitioning of the reference PC sample.

[0189] Clause 24. The method according to any one of Clauses 21 to 23, wherein the timestamp of the reference PC sample is the same as that of the current PC sample.

[0190] Clause 25. The method according to any one of Clauses 21 to 23, wherein the timestamp of the reference PC sample is different from that of the current PC sample.

[0191] Clause 26. The method according to any one of Clauses 21 to 25, wherein the at least one reference node comprises a single reference node in the reference PC sample.

[0192] Clause 27. The method described in Clause 26, wherein the node position of the single reference node is the same as that of the current node.

[0193] Clause 28. The method according to Clause 27, wherein the node position of the single reference node is indicated by at least one indication.

[0194] Clause 29. The method according to Clause 28, wherein the at least one indication includes the Morton code of the single reference node.

[0195] Clause 30. The method according to Clause 28, wherein the at least one indication includes at least one of the following: the node index of the single reference node or the octree depth index of the single reference node.

[0196] Clause 31. The method according to any one of Clauses 28 to 30, wherein the at least one indication is determined at the encoder.

[0197] Clause 32. The method according to any one of Clauses 28 to 30, wherein the at least one indication is determined at the decoder.

[0198] Clause 33. The method according to any one of Clauses 26 to 32, wherein determining the prediction comprises: determining the attribute information of a single reference node as the prediction of the attribute information of the current node.

[0199] Clause 34. The method according to any one of Clauses 26 to 32, wherein determining the prediction comprises: obtaining a plurality of candidate predictions of attribute information of the current node, one of the plurality of candidate predictions being the attribute information of a single reference node; and determining the prediction of the attribute information of the current node from the plurality of candidate predictions.

[0200] Clause 35. The method according to any one of Clauses 26 to 32, wherein determining the prediction comprises: determining the prediction based on further processing of the attribute information of a single reference node.

[0201] Clause 36. The method according to any one of Clauses 26 to 32, wherein determining the prediction comprises: obtaining a plurality of candidate predictions of attribute information of the current node, one of the plurality of candidate predictions being the attribute information of a single reference node; and determining the prediction of the attribute information of the current node based on an average weighted sum of the plurality of candidate predictions.

[0202] Clause 37. The method according to any one of Clauses 21 to 25, wherein the at least one reference node comprises a plurality of reference nodes in the reference PC sample.

[0203] Clause 38. The method according to Clause 37, wherein the octree depth level of each of the plurality of reference nodes is the same as that of the current node.

[0204] Clause 39. The method according to Clause 37, wherein at least one of the plurality of reference nodes has an octree depth level different from the current node.

[0205] Clause 40. The method according to any one of Clauses 37 to 39, wherein determining the prediction comprises: determining the attribute information of one of the plurality of reference nodes as the prediction of the attribute information of the current node.

[0206] Clause 41. The method according to any one of Clauses 37 to 39, wherein determining the prediction comprises: obtaining a plurality of candidate predictions of attribute information of the current node, wherein one of the plurality of candidate predictions is the attribute information of one of the plurality of reference nodes; and determining the prediction of the attribute information of the current node from the plurality of candidate predictions.

[0207] Clause 42. The method according to any one of Clauses 37 to 39, wherein determining the prediction comprises: determining the prediction based on further processing of the attribute information of the plurality of reference nodes.

[0208] Clause 43. The method according to any one of Clauses 37 to 39, wherein determining the prediction comprises: obtaining a plurality of candidate predictions of attribute information of the current node, wherein one of the plurality of candidate predictions is the attribute information of one of the plurality of reference nodes; and determining the prediction of the attribute information of the current node based on the average weighted sum of the plurality of candidate predictions.

[0209] Clause 44. The method according to any one of Clauses 21 to 43, wherein the residual between the attribute information of the current node and the prediction of the attribute information of the current node is determined at the encoder.

[0210] Clause 45. The method according to Clause 44, wherein the coefficients for the residual are obtained by performing a Region Adaptive Hierarchical Transformation (RAHT) on the residual, and the coefficients are indicated in the bitstream.

[0211] Clause 46. The method according to Clause 45, wherein the coefficients are encoded or decoded using one of the following: fixed-length encoding / decoding, unary encoding / decoding, or truncated unary encoding / decoding.

[0212] Clause 47. The method according to any one of Clauses 45 to 46, wherein the coefficients are quantized at the encoder.

[0213] Clause 48. The method according to any one of Clauses 45 to 47, wherein the coefficients are dequantized at the decoder.

[0214] Clause 49. The method according to any one of Clauses 44 to 48, wherein the residual is quantized at the encoder.

[0215] Clause 50. The method according to any one of Clauses 44 to 49, wherein the residual is dequantized at the decoder.

[0216] Clause 51. The method according to any one of Clauses 21 to 43, wherein the residual between the attribute information of the current node and the prediction of the attribute information of the current node is determined at the decoder.

[0217] Clause 52. The method according to any one of Clauses 1 to 51, wherein the PC sample is one of the following: frame, picture, slice, subframe, subpicture, block, or segment.

[0218] Clause 53. The method according to any one of Clauses 1 to 52, wherein information regarding whether and / or how the method is applied is indicated in the bitstream.

[0219] Clause 54. The method according to any one of Clauses 1 to 53, wherein information regarding whether and / or how the method is applied is indicated in one of the following: frame, chunk, slice, or octree.

[0220] Clause 55. The method according to any one of Clauses 1 to 54, wherein information about whether and / or how the method is applied depends on encoded / decoded information.

[0221] Clause 56. The method described in Clause 55, wherein the encoded information includes at least one of the following: size, color format, color components, slice type, or image type.

[0222] Clause 57. The method according to any one of Clauses 1 to 56, wherein the conversion includes encoding the current PC sample into the bitstream.

[0223] Clause 58. The method according to any one of Clauses 1 to 56, wherein the conversion includes decoding the current PC sample from the bitstream.

[0224] Clause 59. An apparatus for point cloud encoding and decoding, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform a method according to any one of Clauses 1 to 58.

[0225] Clause 60. A non-transitory computer-readable storage medium storing instructions that cause a processor to perform the method according to any one of Clauses 1 to 58.

[0226] Clause 61. A non-transitory computer-readable recording medium storing a bit stream of a point cloud sequence generated by a method performed by means for point cloud encoding / decoding, wherein the method includes: determining a prediction of a first coefficient for attribute information of a current node in the current PC sample based on a second coefficient for attribute information of a reference node in a reference PC sample associated with a current point cloud (PC) sample of the point cloud sequence; and generating the bit stream based on the prediction.

[0227] Clause 62. A method for storing a bitstream of a point cloud sequence, comprising: determining a prediction of a first coefficient for attribute information of a current node in the current PC sample based on a second coefficient for attribute information of a reference node in a reference PC sample associated with a current point cloud (PC) sample of the point cloud sequence; generating the bitstream based on the prediction; and storing the bitstream in a non-transitory computer-readable recording medium.

[0228] Clause 63. A non-transitory computer-readable recording medium storing a bit stream of a point cloud sequence generated by a method performed by means for point cloud encoding / decoding, wherein the method includes: determining a prediction of attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence based on attribute information of at least one reference node, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; and generating the bit stream based on the prediction.

[0229] Clause 64. A method for storing a bitstream of a point cloud sequence, comprising: determining a prediction of attribute information of a current node in a current point cloud (PC) sample of the point cloud sequence based on attribute information of at least one reference node, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample; generating the bitstream based on the prediction; and storing the bitstream in a non-transitory computer-readable recording medium.

[0230] Example device Figure 8 A block diagram of a computing device 800 in which various embodiments of the present disclosure may be implemented is shown. The computing device 800 may be implemented as a source device 110 (or GPCC encoder 116 or 200) or a destination device 120 (or GPCC decoder 126 or 300), or may be included in a source device 110 (or GPCC encoder 116 or 200) or a destination device 120 (or GPCC decoder 126 or 300).

[0231] It should be understood that, Figure 8 The computing device 800 shown is for illustrative purposes only and is not intended to imply any limitation on the functionality and scope of the embodiments of this disclosure.

[0232] like Figure 8 As shown, the computing device 800 includes a general-purpose computing device 800. The computing device 800 may include at least one or more processors or processing units 810, memory 820, storage units 830, one or more communication units 840, one or more input devices 850, and one or more output devices 860.

[0233] In some embodiments, the computing device 800 can be implemented as any user terminal or server terminal with computing capabilities. The server terminal can be a server, a large computing device, etc., provided by a service provider. The user terminal can be, for example, any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, stations, units, devices, multimedia computers, multimedia tablet computers, internet nodes, communicators, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices, or any combination thereof. It is conceivable that the computing device 800 can support any type of interface to the user (such as "wearable" circuitry devices, etc.).

[0234] Processing unit 810 can be a physical processor or a virtual processor, and can perform various processes based on programs stored in memory 820. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of computing device 800. Processing unit 810 may also be referred to as a central processing unit (CPU), microprocessor, controller, or microcontroller.

[0235] Computing device 800 typically includes various computer storage media. Such media can be any media accessible by computing device 800, including but not limited to volatile and non-volatile media, or removable and non-removable media. Memory 820 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), or flash memory) or any combination thereof. Storage cell 830 can be any removable or non-removable media and may include machine-readable media, such as memory, flash drives, disks, or other media that can be used to store information and / or data and can be accessed within computing device 800.

[0236] The computing device 800 may also include additional removable / non-removable storage media, volatile / non-volatile storage media. Although in Figure 8 Not shown, but a disk drive for reading from and / or writing to a removable non-volatile disk, and an optical disc drive for reading from and / or writing to a removable non-volatile optical disc may be provided. In this case, each drive may be connected to a bus (not shown) via one or more data media interfaces.

[0237] The communication unit 840 communicates with another computing device via a communication medium. Furthermore, the functionality of the components in the computing device 800 can be implemented by a single computing cluster or multiple computing machines that can communicate via communication connections. Therefore, the computing device 800 can operate in a networked environment using logical connections to one or more other servers, networked personal computers (PCs), or other general-purpose network nodes.

[0238] Input device 850 can be one or more of various input devices, such as a mouse, keyboard, trackball, voice input device, etc. Output device 860 can be one or more of various output devices, such as a monitor, speaker, printer, etc. With the aid of communication unit 840, computing device 800 can also communicate with one or more external devices (not shown), such as storage devices and display devices. Computing device 800 can also communicate with one or more devices that enable a user to interact with computing device 800, or, if needed, with any device (e.g., network card, modem, etc.) that enables computing device 800 to communicate with one or more other computing devices. Such communication can be performed via an input / output (I / O) interface (not shown).

[0239] In some embodiments, some or all of the components of computing device 800 may be arranged in a cloud computing architecture, rather than integrated into a single device. In a cloud computing architecture, components may be remotely provided and work together to achieve the functionality described herein. In some embodiments, cloud computing provides computing, software, data access, and storage services without requiring end users to know the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services via a wide area network (WAN), such as the Internet, using suitable protocols. For example, a cloud computing provider provides applications via a WAN that can be accessed through a web browser or any other computing component. The software or components of the cloud computing architecture, along with the corresponding data, may be stored on servers at remote locations. Computing resources in a cloud computing environment may be consolidated or distributed across remote data center locations. Cloud computing infrastructure may provide services through shared data centers, although to users they appear as a single access point. Therefore, a cloud computing architecture can be used to provide the components and functionality described herein from service providers at remote locations. Alternatively, the components and functionality described herein may be provided by conventional servers or installed directly or otherwise on client devices.

[0240] In embodiments of this disclosure, computing device 800 may be used to implement point cloud encoding / decoding. Memory 820 may include one or more point cloud encoding / decoding modules 825 having one or more program instructions. These modules are accessible and executable by processing unit 810 to perform the functions of the various embodiments described herein.

[0241] In an example embodiment of point cloud encoding, input device 850 may receive point cloud data as input 870 to be encoded. The point cloud data may be processed, for example, by point cloud encoding / decoding module 825 to generate an encoded bitstream. The encoded bitstream may be provided as output 880 via output device 860.

[0242] In an example embodiment of point cloud decoding, input device 850 may receive an encoded bitstream as input 870. The encoded bitstream may be processed, for example, by point cloud encoding / decoding module 825 to generate decoded point cloud data. The decoded point cloud data may be provided as output 880 via output device 860.

[0243] While this disclosure has been specifically shown and described with reference to preferred embodiments, those skilled in the art will understand that various changes in form and detail may be made without departing from the spirit and scope of this application as defined by the appended claims. These variations are intended to be covered by the scope of this application. Therefore, the foregoing description of embodiments of this application is not intended to be limiting.

Claims

1. A method for point cloud encoding and decoding, comprising: For the conversion between a current point cloud (PC) sample of a point cloud sequence and the bitstream of the point cloud sequence, based on the attribute information of at least one reference node, a prediction of the attribute information of the current node in the current PC sample is determined, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample. as well as The transformation is performed based on the prediction.

2. The method of claim 1, wherein the current node includes the current PC sample and the current node is the root node of a tree structure for spatial partitioning of the current PC sample, and the reference node includes the reference PC sample and the reference node is the root node of a tree structure for spatial partitioning of the reference PC sample.

3. The method of claim 1, wherein the current node comprises a portion of the current PC sample, and the current node is a first non-root node of a tree structure for spatial partitioning of the current PC sample, or The reference node includes a portion of the current PC sample, and the reference node is a second non-root node of the tree structure used for spatial partitioning of the reference PC sample, the second non-root node being different from the first non-root node, or The reference node includes a portion of the reference PC sample, and the reference node is a non-root node of a tree structure used for spatial partitioning of the reference PC sample.

4. The method according to any one of claims 1 to 3, wherein the timestamp of the reference PC sample is the same as that of the current PC sample.

5. The method according to any one of claims 1 to 3, wherein the timestamp of the reference PC sample is different from that of the current PC sample.

6. The method according to any one of claims 1 to 5, wherein the at least one reference node comprises a single reference node in the reference PC sample.

7. The method of claim 6, wherein the node position of the single reference node is the same as that of the current node.

8. The method of claim 7, wherein the node position of the single reference node is indicated by at least one indication.

9. The method of claim 8, wherein the at least one indication comprises the Morton code of the single reference node.

10. The method of claim 8, wherein the at least one indication comprises at least one of the following: a node index of the single reference node or an octree depth index of the single reference node.

11. The method according to any one of claims 8 to 10, wherein the at least one indication is determined at the encoder.

12. The method according to any one of claims 8 to 10, wherein the at least one indication is determined at the decoder.

13. The method according to any one of claims 6 to 12, wherein determining the prediction comprises: The attribute information of a single reference node is determined as the prediction of the attribute information of the current node.

14. The method according to any one of claims 6 to 12, wherein determining the prediction comprises: Obtain multiple candidate predictions of the attribute information of the current node, wherein one of the multiple candidate predictions is the attribute information of a single reference node; as well as The prediction that determines the attribute information of the current node from the plurality of candidate predictions.

15. The method according to any one of claims 6 to 12, wherein determining the prediction comprises: The prediction is determined based on further processing of the attribute information of a single reference node.

16. The method according to any one of claims 6 to 12, wherein determining the prediction comprises: Obtain multiple candidate predictions of the attribute information of the current node, wherein one of the multiple candidate predictions is the attribute information of a single reference node; as well as The prediction of the attribute information of the current node is determined based on the average weighted sum of the multiple candidate predictions.

17. The method according to any one of claims 1 to 5, wherein the at least one reference node comprises a plurality of reference nodes in the reference PC sample.

18. The method of claim 17, wherein the octree depth level of each of the plurality of reference nodes is the same as that of the current node.

19. The method of claim 17, wherein at least one of the plurality of reference nodes has an octree depth level different from the current node.

20. The method according to any one of claims 17 to 19, wherein determining the prediction comprises: The attribute information of one of the plurality of reference nodes is determined as the prediction of the attribute information of the current node.

21. The method according to any one of claims 17 to 19, wherein determining the prediction comprises: Obtain multiple candidate predictions of the attribute information of the current node, wherein one of the multiple candidate predictions is the attribute information of one of the multiple reference nodes; as well as The prediction that determines the attribute information of the current node from the plurality of candidate predictions.

22. The method according to any one of claims 17 to 19, wherein determining the prediction comprises: The prediction is determined based on further processing of the attribute information of the plurality of reference nodes.

23. The method according to any one of claims 17 to 19, wherein determining the prediction comprises: Obtain multiple candidate predictions of the attribute information of the current node, wherein one of the multiple candidate predictions is the attribute information of one of the multiple reference nodes; as well as The prediction of the attribute information of the current node is determined based on the average weighted sum of the multiple candidate predictions.

24. The method according to any one of claims 1 to 23, wherein the residual between the attribute information of the current node and the prediction of the attribute information of the current node is determined at the encoder.

25. The method of claim 24, wherein the coefficients for the residual are obtained by performing a Region Adaptive Hierarchical Transform (RAHT) on the residual, and the coefficients are indicated in the bitstream.

26. The method of claim 25, wherein the coefficients are encoded or decoded using one of the following: Fixed-length encoding and decoding, Unary encoding and decoding, or Truncated unary encoding / decoding.

27. The method according to any one of claims 25 to 26, wherein the coefficients are quantized at the encoder.

28. The method according to any one of claims 25 to 27, wherein the coefficients are dequantized at the decoder.

29. The method according to any one of claims 24 to 28, wherein the residual is quantized at the encoder.

30. The method according to any one of claims 24 to 29, wherein the residual is dequantized at the decoder.

31. The method according to any one of claims 1 to 23, wherein the residual between the attribute information of the current node and the prediction of the attribute information of the current node is determined at the decoder.

32. The method according to any one of claims 1 to 31, wherein the PC sample is one of the following: frame, picture, slice, Subframe, Sub-images, Segmentation, or part.

33. The method according to any one of claims 1 to 32, wherein information regarding whether and / or how the method is applied is indicated in the bitstream.

34. The method according to any one of claims 1 to 33, wherein information regarding whether and / or how the method is applied is indicated in one of the following: frame, Blocking, Slice, or Octree.

35. The method according to any one of claims 1 to 34, wherein information regarding whether and / or how the method is applied depends on encoded / decoded information.

36. The method of claim 35, wherein the encoded / decoded information comprises at least one of the following: size, Color format, Color components Slice type, or Image type.

37. The method of any one of claims 1 to 36, wherein the conversion comprises encoding the current PC sample into the bitstream.

38. The method according to any one of claims 1 to 36, wherein the conversion comprises decoding the current PC sample from the bitstream.

39. An apparatus for point cloud encoding and decoding, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of claims 1 to 38.

40. A non-transitory computer-readable storage medium storing instructions for causing a processor to perform the method according to any one of claims 1 to 38.

41. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by means of a point cloud encoding / decoding apparatus, wherein the method comprises: Based on the attribute information of at least one reference node, a prediction of the attribute information of the current node in the current point cloud (PC) sample of the point cloud sequence is determined, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample. as well as The bit stream is generated based on the prediction.

42. A method for storing a bitstream of a point cloud sequence, comprising: Based on the attribute information of at least one reference node, a prediction of the attribute information of the current node in the current point cloud (PC) sample of the point cloud sequence is determined, wherein the at least one reference node is in the current PC sample or in a reference PC sample associated with the current PC sample. The bitstream is generated based on the prediction; as well as The bitstream is stored in a non-transitory computer-readable recording medium.