Point cloud coding method, device, and medium

JP2025503813APending Publication Date: 2025-02-05DOUYIN VISION CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024540808
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-01-04
Filing Date
2023-01-03
Publication Date
2025-02-05

Smart Images

  • Figure 2025503813000001_ABST
    Figure 2025503813000001_ABST
Patent Text Reader

Abstract

An embodiment of the present disclosure provides a scheme for point cloud coding. A point cloud coding method is proposed, which includes: during conversion between a current frame of a point cloud sequence and a bitstream of the point cloud sequence, determining whether attribute inter prediction is performed on the current frame based on a reference frame between the current frame and the reference frame of the current frame based on target motion information used for performing motion compensation on the reference frame, and performing the conversion based on the determination.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] TECHNICAL FIELD Embodiments of the present disclosure relate generally to point cloud coding techniques, and more specifically to inter-prediction for point cloud attribute coding. [Background technology]

[0002] A point cloud is a collection of individual data points in a three-dimensional (3D) plane, with each point having coordinates set on the X, Y, and Z axes. Point clouds can therefore be used to represent physical content in a three-dimensional space. Point clouds have proven to be a promising way to represent 3D visual data for a wide range of immersive applications, from augmented reality to autonomous vehicles.

[0003] Point cloud coding standards have evolved primarily through the development of the well-known MPEG organization. MPEG stands for Moving Picture Experts Group, one of the main standardization groups dealing with multimedia. In 2017, the MPEG 3D Graphics Coding Group (3DG) issued a Call for Presentations (CFP) document to initiate the development of a point cloud coding standard. The final standard will include two classes of methods. Video-based point cloud compression (V-PCC or VPCC) is suitable for point sets where the points are relatively uniformly distributed. Geometry-based point cloud compression (G-PCC or GPCC) is suitable for sparser distributions. However, the coding efficiency of traditional point cloud coding techniques is generally expected to be further improved. Summary of the Invention

[0004] An embodiment of the present disclosure provides a method for coding a point cloud.

[0005] In a first aspect, a point cloud coding method is proposed, which includes the steps of: during conversion between a current frame of a point cloud sequence and a bitstream of the point cloud sequence, determining based on target motion information between the current frame and a reference frame of the current frame, which is used for performing motion compensation on the reference frame, whether attributed inter prediction is performed on the current frame based on the reference frame, and performing the conversion based on the determination.

[0006] According to the method according to the first aspect of the present disclosure, it is determined whether attribute inter prediction is performed for a current frame based on a reference frame according to a target motion used for performing motion compensation on the reference frame. Compared with the conversion scheme, the proposed method can advantageously improve the efficiency of attribute inter prediction, and thus improve the efficiency of point cloud coding.

[0007] In a second aspect, an apparatus for processing point cloud data is proposed, said apparatus for processing point cloud data comprising a processor and a non-transitory memory in which instructions are stored that, when executed by the processor, cause the processor to perform a method according to the first aspect of the present disclosure.

[0008] In a third aspect, a non-transitory computer readable storage medium is proposed, said non-transitory computer readable storage medium storing instructions for causing a processor to perform the method according to the first aspect of the present disclosure.

[0009] In a fourth aspect, another non-transitory computer-readable storage medium is proposed, which stores a bitstream of a point cloud sequence generated by a method executed by a point cloud processing device, the method including: determining, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, used for performing motion compensation on the reference frame, whether attributed inter prediction is performed on the current frame based on the reference frame; and generating the bitstream based on the determination.

[0010] In a fifth aspect, a method for storing a bitstream of a point cloud sequence is proposed, the method comprising: determining, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, whether attributed inter prediction is performed for the current frame based on the reference frame, the target motion information being used for performing motion compensation on the reference frame; generating the bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0011] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. [Brief description of the drawings]

[0012] The above and other objects, features, and advantages of exemplary embodiments of the present disclosure will become more apparent through the following detailed description taken in conjunction with the accompanying drawings, in which like reference numerals generally refer to like components.

[0013] [Figure 1]FIG. 1 is a block diagram illustrating an example point cloud coding system that can utilize the techniques of this disclosure.

[0014] [Diagram 2] FIG. 2 is a block diagram illustrating an example point cloud encoder according to some embodiments of the present disclosure.

[0015] [Diagram 3] FIG. 2 is a block diagram illustrating an example point cloud decoder according to some embodiments of the present disclosure.

[0016] [Figure 4] 1 illustrates a flowchart of a point cloud coding method according to some embodiments of the present disclosure.

[0017] [Diagram 5] FIG. 1 illustrates a block diagram of a computing device capable of implementing various embodiments of the present disclosure.

[0018] Throughout the drawings, the same or similar reference numbers typically refer to the same or similar elements. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] The principles of the present disclosure will be described below 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 practice the present disclosure, and do not imply any limitations on the scope of the present disclosure. The disclosure described herein can be implemented in various ways other than the methods described below.

[0020] 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 belongs.

[0021] References in this disclosure to "one embodiment," "one embodiment," "exemplary embodiment," and the like indicate that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an exemplary embodiment, it is noted that it is within the knowledge of one of ordinary skill in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly stated.

[0022] Terms such as "first" and "second" may be used herein to describe various elements, but it should be understood that these elements should not be limited by 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. 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.

[0023] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly dictates otherwise. It will be further understood that the terms "comprise," "comprising," "having," "having," "including," and / or "comprising," as used herein, specify the presence of stated features, elements, and / or components, etc., but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof. Example Environment

[0024] 1 is a block diagram illustrating an example point cloud coding system 100 that can utilize the techniques of this disclosure. As shown, the point cloud coding 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 supporting coding (encoding and / or decoding) of point cloud data, i.e., point cloud compression. The coding may be effective to compress and / or decompress the point cloud data.

[0025] Source device 100 and destination device 120 may include any of a wide range of devices, including desktop computers, notebook (i.e., laptop) computers, tablet computers, set-top boxes, telephones such as smartphones and mobile phones, televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, terrestrial or marine vehicles, spacecraft, aircraft, robots, LIDAR devices, satellites, augmented reality devices, etc. In some cases, source device 100 and destination device 120 may be equipped for wireless communication.

[0026] The source device 100 may include a data source 112, a memory 114, a GPCC encoder 116, and an input / output (I / O) interface 118. The destination device 120 may include an input / output (I / O) interface 128, a GPCC decoder 126, a memory 124, and a data consumer 122. In accordance with the present disclosure, the GPCC encoder 116 of the source device 100 and the GPCC decoder 126 of the destination device 120 may be configured to apply techniques of the present disclosure related to point cloud coding. Thus, the source device 100 represents an example of an encoding device, and the destination device 120 represents an example of a decoding device. In other examples, the source device 100 and the destination device 120 may include other components and arrangements. For example, the source device 100 may receive data (e.g., point cloud data) from an internal or external source. Similarly, the destination device 120 may not include a data consumer within the device and may interface with an external data consumer.

[0027] Generally, the data source 112 may represent a source of point cloud data (i.e., raw, unencoded point cloud data) and provide a continuous series of “frames” of point cloud data to the GPCC encoder 116, which encodes the point cloud data of the frames. In some examples, the data source 112 generates the point cloud data. The data source 112 of the source device 100 may include a point cloud capture device, such as any of a variety of cameras or sensors, for example, one or more video cameras, an archive that stores previously captured point cloud data, a 3D scanner or a LIDAR (Light Detection And Ranging) device, and / or a data feed interface for receiving point cloud data from a data content provider. Thus, in some examples, the data source 112 may generate the point cloud data based on signals from a LIDAR device. Alternatively or additionally, the point cloud data may be computer-generated from a scanner, camera, sensor, or other data. For example, the data source 112 may generate the point cloud data or may create a combination of live point cloud data, archived point cloud data, and computer-generated point cloud data. In either case, the GPCC encoder 116 encodes the captured, pre-captured, or computer-generated point cloud data. The GPCC encoder 116 may reorder frames of point cloud data from reception order (sometimes referred to as "display order") into a coding order for coding. The GPCC encoder 116 may generate one or more bitstreams including the encoded point cloud data. The source device 100 then outputs the encoded point cloud data via the I / O interface 118 for receipt and / or acquisition by, for example, the I / O interface 128 of the destination device 120. The encoded point cloud data may be transmitted directly to the destination device 120 over the network 130A via the I / O interface 118. The encoded point cloud data may be stored in a storage medium / server 130B for access by the destination device 120.

[0028] The memory 114 of the source device 100 and the memory 124 of the destination device 120 may represent general purpose memories. In some examples, the memory 114 and the memory 124 may store raw point cloud data, e.g., raw point cloud data from the data source 112 and decoded raw point cloud data from the GPCC decoder 126. Additionally or alternatively, the memory 114 and the memory 124 may store software instructions executable by, e.g., the GPCC encoder 116 and the GPCC decoder 126, respectively. In this example, the memory 114 and the memory 124 are shown separately from the GPCC encoder 116 and the GPCC decoder 126, but it should be understood that the GPCC encoder 116 and the GPCC decoder 126 may include internal memories for similar or equivalent functional purposes. Additionally, the memory 114 and the memory 124 may store encoded point cloud data (e.g., output from the GPCC encoder 116 and input to the GPCC decoder 126). In some examples, portions of memory 114 and memory 124 may be allocated as one or more buffers to store, for example, 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.

[0029] I / O interface 118 and I / O interface 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 interface 118 and I / O interface 128 include wireless components, I / O interface 118 and I / O interface 128 may be configured to transmit data, such as encoded point cloud data, according to a cellular communication standard, such as 4G, 4G-LTE (Long-Term Evolution), LTE Advanced, 5G, etc. In some examples where I / O interface 118 includes a wireless transmitter, I / O interface 118 and I / O interface 128 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 respective system-on-a-chip (SoC) devices. For example, the source device 100 may include an SoC device that performs functions attributed to the GPCC encoder 116 and / or the I / O interface 118, and the destination device 120 may include an SoC device that performs functions attributed to the GPCC decoder 126 and / or the I / O interface 128.

[0030] The techniques of this disclosure can be applied to encoding and decoding in support of any of a variety of applications, such as communication between autonomous vehicles, communication between processing devices such as scanners, cameras, sensors, local or remote servers, geographic mapping, or other applications.

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

[0032] The GPCC encoder 116 and the GPCC decoder 126 may each be implemented as any of a variety of suitable encoder and / or decoder circuits, 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 combinations thereof. If the techniques are implemented in part in software, a device may perform the techniques of this disclosure by storing instructions for the software on a suitable non-transitory computer-readable medium and executing the instructions in hardware using one or more processors. Each of the GPCC encoder 116 and the GPCC decoder 126 may be included in one or more encoders or decoders, which may be integrated as part of a combined encoder / decoder (codec) within the respective device. A device including the GPCC encoder 116 and / or the GPCC decoder 126 may include one or more integrated circuits, microprocessors, and / or other types of devices.

[0033] The GPCC encoder 116 and the GPCC decoder 126 may operate according to a coding standard, such as the Video Point Cloud Compression (VPCC) standard or the Geometry Point Cloud Compression (GPCC) standard. This disclosure may refer to coding (e.g., encoding and decoding) of frames, which includes the process of encoding or decoding data. An encoded bitstream typically includes a series of values ​​of syntax elements that represent coding decisions (e.g., coding modes).

[0034] A point cloud comprises a set of points in 3D space with attributes associated with the points. The attributes can be color information such as R, G, B or Y, Cb, Cr, reflectance information, or other attributes. Point clouds can be acquired by various cameras and sensors such as LIDAR sensors and 3D scanners, or they can be computer generated. Point cloud data is used in a variety of applications including, but not limited to, architecture (sculpting), graphics (3D models for visualization and animation), and automotive industries (LIDAR sensors used for navigation).

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

[0036] In both GPCC encoder 200 and GPCC decoder 300, the point cloud position is coded first. The attribute coding depends on the decoded geometry. In Fig. 2 and Fig. 3, the Region Adaptive Hierarchical Transformation (RAHT) unit 218, the Surface Approximation unit 212, the RAHT unit 314 and the Surface Approximation Synthesis unit 310 are options that are typically used for category 1 data. The Level of Detail (LOD) Generation unit 220, the Lifting unit 222, the LOD Generation unit 316 and the Inverse Lifting unit 318 are options that are typically used for category 3 data. All other units are common between category 1 and category 3.

[0037] For category 3 data, the compressed geometry is typically represented as an octree from the root down to the leaf level of individual voxels. For category 1 data, the compressed geometry is typically manifested by a pruned octree (i.e., an octree from the root down to the leaf level of blocks larger than a voxel) and a model that approximates the surface within each leaf of the pruned octree. In this way, both category 1 and 3 data share the coding mechanism of an octree, but category 1 data may additionally use a surface model to approximate the voxels within each leaf. The surface model used is a triangulation containing 1-10 triangles per block, and a triangle soup is generated. Category 1 geometry codecs are known as Trisoup geometry codecs, and category 3 geometry codecs are known as Octree geometry codecs.

[0038] In the example of FIG. 2, 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 geometry reconstruction unit 216, a RAHT unit 218, an LOD generation unit 220, a lifting unit 222, a coefficient quantization unit 224, and an arithmetic coding unit 226.

[0039] 2, the GPCC encoder 200 may receive a set of locations and a set of attributes. The locations may include coordinates of points in the point cloud. The attributes may include information about the points in the point cloud, such as a color associated with the points in the point cloud.

[0040] The coordinate transformation unit 202 may apply a transformation to the coordinates of the points to convert the coordinates from an initial domain to a transformation domain. This disclosure may refer to the transformed coordinates as transformed coordinates. The color transformation unit 204 may apply a transformation to convert color information of the attributes to a different domain. For example, the color transformation unit 204 may convert color information from an RGB color space to a YCbCr color space.

[0041] Further, in the example of FIG. 2, voxelization unit 206 may voxelize the transformed coordinates. Voxelization of the transformed coordinates may include quantizing and removing some points of the point cloud. In other words, multiple points of the point cloud may be contained within a single "voxel", which may be treated as one point in some respects thereafter. Further, octree analysis unit 210 may generate an octree based on the voxelized transformed coordinates. Further, in the example of FIG. 2, surface approximation analysis unit 212 may analyze the points to potentially determine a surface representation of the point set. Arithmetic coding unit 214 may perform arithmetic coding on syntax elements representing the octree and / or surface information determined by surface approximation analysis unit 212. GPCC encoder 200 may output these syntax elements in the geometry bitstream.

[0042] The geometry reconstruction unit 216 may reconstruct transformation coordinates of points in the point cloud based on the octree, the data indicative of the surface determined by the surface approximation analysis unit 212, and / or other information. The number of transformation coordinates reconstructed by the geometry reconstruction unit 216 may differ from the original number of points in the point cloud due to voxelization and surface approximation. In this disclosure, the resulting points may be referred to as reconstructed points. The attribute transfer unit 208 may transfer attributes of the original points of the point cloud to the reconstructed points of the point cloud data.

[0043] Further, the RAHT unit 218 may apply RAHT coding to the attributes of the reconstructed points. Alternatively or additionally, the LOD generation unit 220 and the lifting unit 222 may apply LOD processing and lifting, respectively, to the attributes of the reconstructed points. The RAHT unit 218 and the lifting unit 222 may generate coefficients based on the attributes. The coefficient quantization unit 224 may quantize the coefficients generated by the RAHT unit 218 or the lifting unit 222. The arithmetic coding unit 226 may apply arithmetic coding to syntax elements representing the quantized coefficients. The GPCC encoder 200 may output these syntax elements in an attribute bitstream.

[0044] In the example of FIG. 3, the GPCC decoder 300 may include a geometry 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 geometry reconstruction unit 312, a RAHT unit 314, an LOD generation unit 316, an inverse lifting unit 318, a coordinate inverse transformation unit 320, and a color inverse transformation unit 322.

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

[0046] The octree synthesis unit 306 may synthesize octets based on syntax elements parsed from the geometry bitstream. In cases where surface approximations are used in the geometry bitstream, the surface approximation synthesis unit 310 may determine a surface model based on the syntax elements parsed from the geometry bitstream and the octree.

[0047] Further, the geometry reconstruction unit 312 may perform the reconstruction to determine the coordinates of the points of the point cloud. The coordinate inversion unit 320 may perform an inverse transformation to the reconstructed coordinates to transform the reconstructed coordinates (positions) of the points of the point cloud from the transformation domain back to the initial domain.

[0048] 3, the inverse quantization unit 308 may inverse quantize the attribute value. The attribute value may be based on a syntax element obtained from the attribute bitstream (e.g., including the syntax element decoded by the attribute arithmetic decoding unit 304).

[0049] Depending on how the attribute values ​​are encoded, the RAHT unit 314 may perform RAHT coding to determine color values ​​for the points of the point cloud based on the dequantized attribute values. Alternatively, the LOD generation unit 316 and the inverse lifting unit 318 may determine color values ​​for the points of the point cloud using level-of-detail based techniques.

[0050] 3, the color inverse transform unit 322 may apply an inverse color transform to the color values. The inverse color transform may be the inverse of the color transform applied by the color transform unit 204 of the encoder 200. For example, the color transform unit 204 may convert the color information from the RGB color space to the YCbCr color space. Thus, the color inverse transform unit 322 may convert the color information from the YCbCr color space to the RGB color space.

[0051] The various units in FIG. 2 and FIG. 3 are shown to aid in understanding the operations performed by the encoder 200 and the decoder 300. The units may be implemented as fixed function circuits, programmable circuits, or a combination thereof. A fixed function circuit refers to a circuit that provides a specific function and is pre-configured with respect to the operations that may be performed. A programmable circuit refers to a circuit that can be programmed to perform various tasks and provide flexible functionality in the operations that may be performed. For example, a programmable circuit may execute software or firmware that causes the programmable circuit to operate in a manner defined by the software or firmware instructions. A fixed function circuit may execute software instructions (e.g., to receive parameters or output parameters), but the type of operations that the fixed function circuit performs is generally unchanged. In some examples, one or more of the units may be separate circuit blocks (fixed function or programmable), and in some examples, one or more of the units may be an integrated circuit.

[0052] In the following, some exemplary embodiments of the present disclosure are described in detail. Section headings are used in this specification for ease of understanding, but it should be understood that they do not limit the embodiments disclosed in a section to only that section. Furthermore, although certain embodiments are described with reference to a versatile GPCC or other specific point cloud codec, the disclosed techniques are also applicable to other point cloud coding techniques. Furthermore, although some embodiments describe a point cloud coding step in detail, it will be understood that the corresponding step of undoing the coding, decoding, is performed by a decoder. 1. Overview The present disclosure relates to point cloud coding techniques, in particular point cloud attribute prediction in inter prediction. The ideas can be applied individually or in various combinations to point cloud coding standards or non-standard point cloud coding, for example Geometry-Based Point Cloud Compression (G-PCC), which is under development. 2. Abbreviations G-PCC Geometry-based Point Cloud Compression MPEG Moving Picture Experts Group 3DG 3D Graphics Coding Group CFP Call for Papers V-PCC Video-based Point Cloud Compression LOD Level of Detail CE Core Experiment EE Exploration Experiment Inter-EM Inter-Exploration Model PC point cloud RDO Rate Distortion Optimization 3.Background Point cloud coding standards have evolved primarily through the development of the well-known MPEG organization. MPEG stands for Moving Picture Experts Group, one of the main standardization groups dealing with multimedia. In 2017, the MPEG 3D Graphics Coding Group (3DG) issued a Call for Presentations (CFP) document to initiate the development of a point cloud coding standard. The final standard will include two classes of solutions. Video-based point cloud compression (V-PCC) is suitable for point sets where the points are relatively uniformly distributed. Geometry-based point cloud compression (G-PCC) is suitable for more sparse distributions. In order to explore the future point cloud coding technology in G-PCC, Core Experiment (CE) 13.5 and Exploration Experiment (EE) 13.2 were established to develop inter prediction technology in G-PCC. Since then, many new inter prediction methods have been adopted by MPEG and incorporated into the reference software named inter exploration model (inter-EM). In one point cloud, there can be geometry information and attribute information. Geometry information is used to describe the geometry information location of the data points. Attribute information is used to record some details of the data points such as texture, normal vectors and reflection. Point cloud codecs can handle different information in different ways. Usually, a codec has many optional tools that support coding and decoding of geometry information and attribute information, respectively. 3.1 Attribute Intra Prediction In G-PCC, two attribute coding methods are proposed that use geometry information to perform attribute intra prediction. 3.1.1 Predictive conversion The predictive transformation is an interpolative hierarchical nearest neighbor prediction method, which is typically used for sparse point cloud content. First, a level of detail (LOD) structure is generated. Then, nearest neighbor points are searched based on the LOD structure. Then, attribute prediction is performed based on the search results. 3.1.1.1 LOD generation In the LOD generation process, the geometric information is leveraged to build a hierarchical structure of the point cloud that defines a set of "levels of detail". The hierarchical structure is exploited to efficiently predict attributes, making it possible to provide advanced features such as progressive transmission and scalable rendering. The LOD generation process refines the points of the point cloud into a set of refinement levels (point sets) R according to a user-defined parameter L that indicates the LOD number. 0 , R 1 , ,R L-1 Then, the attributes of the points in the point cloud are 0 From R L-1 Level of Detail (LOD) l is the refinement level R 0 , R 1 , ,R l can be obtained by taking the union of

number

number

number

[0053] Further details of the embodiments of the present disclosure related to inter prediction of point cloud attribute coding are described below. The embodiments of the present disclosure should be considered as examples for explaining the general concept, and should not be interpreted narrowly. Moreover, these embodiments can also be applied in any combination.

[0054] 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.

[0055] FIG. 4 illustrates a flowchart of a point cloud coding method 400 according to some embodiments of the present disclosure. The method 400 may be implemented during conversion between a current frame of a point cloud sequence and a bitstream of the point cloud sequence. As shown in FIG. 4, the method 400 begins with determining 402 whether attribute inter prediction is performed for a current frame based on a reference frame based on target motion information between the current frame of the point cloud sequence and a reference frame of the current frame. The target motion information is used to perform motion compensation on the reference frame. By way of example and not limitation, the target motion information may be global motion information.

[0056] In some embodiments, when the target motion information is less than the motion threshold, attribute inter prediction may be performed on the current frame based on the reference frame. Otherwise, when the target motion information is greater than the motion threshold, attribute inter prediction is not performed on the current frame based on the reference frame. It should be understood that the above examples are merely for illustrative purposes. The scope of the present disclosure is not limited thereto.

[0057] At 404, a transformation is performed based on the determination. In some embodiments, the transformation may include encoding the current frame into a bitstream. Alternatively or additionally, the transformation may include decoding the current frame from the bitstream.

[0058] Based on the above, it is determined whether attribute inter prediction is performed for the current frame based on the reference frame according to the target motion used for performing motion compensation for the reference frame.Compared with the conversion scheme, the proposed method can advantageously improve the efficiency of attribute inter prediction, and thus improve the efficiency of point cloud coding.

[0059] In some embodiments, the motion threshold may be a predefined value. Additionally or alternatively, the motion threshold may be indicated in the bitstream. In one example, the motion threshold may be coded, either with fixed length coding, unary coding, truncated unary coding, or the like. In another example, the motion threshold may be predictively coded.

[0060] In some embodiments, the target motion information may include a translational component and a rotational component. In one example, the translational component may be expressed as a motion matrix or motion vector. Additionally or alternatively, the rotational component may be expressed as any of a rotation matrix, a rotation vector, Euler angles, a quaternion, or a rotation angle, etc.

[0061] In some embodiments, the target motion information may be a rigid motion. Alternatively, the target motion information may be a non-rigid motion. In some embodiments, the target motion information may be represented in a matrix.

[0062] In some embodiments, if the translation component is less than a translation threshold, attribute inter prediction may be performed for the current frame based on the reference frame. Additionally or alternatively, if the rotation component is less than a rotation threshold, attribute inter prediction may be performed for the current frame based on the reference frame.

[0063] In some embodiments, the translational motion threshold may be a predefined value. Additionally or alternatively, the translational motion threshold may be indicated in the bitstream. In one example, the translational motion threshold may be coded, either with fixed length coding, unary coding, truncated unary coding, or the like. In another example, the translational motion threshold may be predictively coded. In some additional or alternative embodiments, the rotational threshold may be a predefined value. Additionally or alternatively, the rotational threshold may be indicated in the bitstream. In one example, The rotation thresholds may be coded with either fixed length coding, unary coding, truncated unary coding, etc. In another example, the rotation thresholds may be predictively coded.

[0064] In some embodiments, information regarding whether attribute inter prediction is performed for the current frame based on a reference frame may be indicated in the bitstream. In some embodiments, there may be an indication indicating whether attribute inter prediction is performed for the current frame based on a reference frame. For example, the indication may be determined at the encoder. In some embodiments, the indication may be included in the bitstream. In one example, the indication may be coded, such as with fixed length coding, unary coding, or truncated unary coding. In another example, the indication may be coded predictively.

[0065] In some embodiments, at 404, attribute inter prediction may be performed on the current point in the current frame based on the determination to obtain a predicted attribute value for the current point. Attribute compensation may be performed on the predicted attribute value or the attribute value of the current point to determine a compensated attribute value for the current point. Further, a transformation may be performed based on the compensated attribute value.

[0066] In some embodiments, the compensation attribute value may be determined based on a neighboring point of the current point and at least one parameter of the attribute compensation. By way of example and not limitation, the neighboring point may be a nearest neighbor of the current point.

[0067] In some embodiments, the at least one parameter may be used for all points in a point cloud cluster in the point cloud sequence, for example, the point cloud cluster may include a number of consecutive points in the point cloud sequence.

[0068] In some embodiments, the at least one parameter may be determined at the encoder or decoder. In one example, the at least one parameter may be determined based on attribute values ​​of neighboring points and reconstruction values ​​of a previous point set of the point cloud cluster. The neighboring points may be in a reference frame of the current frame.

[0069] In some embodiments, the at least one parameter may be determined based on the predicted value and a reconstruction value of a previous set of points of the point cloud cluster.

[0070] In some embodiments, the at least one parameter may be indicated in the bitstream. In one example, the at least one parameter may be coded, either with fixed length coding, unary coding, truncated unary coding, etc. In another example, the at least one parameter may be predictively coded.

[0071] In some embodiments, at 404, for the current point in the current frame, at least one neighboring point is determined from a set of points in the reference frame by performing a nearest neighbor search. The set of points may include points at all levels of detail (LOD) of the reference frame. Further, a transformation may be performed based on the at least one neighboring point.

[0072] According to an embodiment of the present invention, a non-transitory computer-readable recording medium is proposed. A bitstream of a point cloud sequence is stored in the non-transitory computer-readable recording medium. The bitstream can be generated by a method executed by a point cloud processing device. According to the method, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, it is determined whether attribute inter prediction is performed for the current frame based on the reference frame. The target motion information is used to perform motion compensation with respect to the reference frame. Further, based on the determination, the bitstream is generated.

[0073] According to an embodiment of the present invention, a method for storing a bitstream of a point cloud sequence is proposed, in which, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, it is determined whether attribute inter prediction is performed for the current frame based on the reference frame, the target motion information is used to perform motion compensation on the reference frame, and a bitstream is generated based on the determination, and the bitstream is stored in a non-transitory computer-readable recording medium.

[0074] Embodiments of the present disclosure can be described in view of the following clauses, the features of which can be combined in any reasonable manner.

[0075] Clause 1. A point cloud coding method, comprising: during conversion between a current frame of a point cloud sequence and a bitstream of the point cloud sequence, a step of determining, based on target motion information between the current frame and a reference frame of the current frame, used for performing motion compensation on the reference frame, whether attribute inter prediction is performed on the current frame based on the reference frame; and a step of performing the conversion based on the determination.

[0076] Clause 2. The method of clause 1, wherein the target motion information is global motion information.

[0077] Clause 3. The method of clause 1 or 2, wherein if the target motion information is less than a motion threshold, the attributed inter prediction is performed for the current frame based on the reference frame.

[0078] Clause 4. The method of any one of clauses 1 to 3, wherein the target motion information includes a translational component and a rotational component.

[0079] Clause 5. The method of clause 4, wherein the translational components are expressed in a motion matrix or motion vector.

[0080] Clause 6. The method of clause 4 or 5, wherein the rotation components are expressed as one of a rotation matrix, a rotation vector, Euler angles, a quaternion, or a rotation angle.

[0081] Clause 7. The method according to any one of clauses 1 to 6, wherein the target motion information is rigid motion or non-rigid motion.

[0082] Clause 8. The method according to any one of clauses 1 to 7, wherein the target motion information is represented in a matrix.

[0083] Clause 9. The method according to any one of clauses 4 to 6, wherein if the translation component is smaller than a translation threshold, the attributed inter prediction is performed for the current frame based on the reference frame.

[0084] Clause 10. The method according to any one of clauses 4 to 6, wherein if the rotation component is less than a rotation threshold, the attributed inter prediction is performed on the current frame based on the reference frame.

[0085] Clause 11. The method of clause 3, wherein the motion threshold is a predefined value.

[0086] Clause 12. The method of clause 3, wherein the motion threshold is indicated in the bitstream.

[0087] Clause 13. The method of clause 12, wherein the motion threshold is coded with one of fixed length coding, unary coding, or truncated unary coding.

[0088] Clause 14. The method of clause 12, wherein the motion threshold is predictively coded.

[0089] Clause 15. The method of clause 9 or 10, wherein the translation threshold or the rotation threshold is a predefined value.

[0090] Clause 16. The method of clause 9 or 10, wherein the translation threshold or the rotation threshold is indicated in the bitstream.

[0091] Clause 17. The method of clause 16, wherein the translation threshold or the rotation threshold is coded with one of fixed length coding, unary coding, or truncated unary coding.

[0092] Clause 18. The method of clause 16, wherein the translation threshold or the rotation threshold is predictively coded.

[0093] Clause 19. The method according to any one of clauses 1 to 18, wherein information regarding whether the attribute inter prediction is performed for the current frame based on the reference frame is indicated in the bitstream.

[0094] Clause 20. The method of any one of clauses 1 to 19, wherein an indication is present indicating whether the attribute inter prediction is performed for the current frame based on the reference frame.

[0095] Clause 21. The method of clause 20, wherein the indication is determined in an encoder.

[0096] Clause 22. The method of clause 20 or 21, wherein the instructions are included within the bitstream.

[0097] Clause 23. The method of clause 22, wherein the instructions are coded in one of a fixed length coding, a unary coding, or a truncated unary coding.

[0098] Clause 24. The method of clause 22, wherein the instructions are predictively coded.

[0099] Clause 25. A method according to any one of clauses 1 to 24, wherein the step of performing the transformation includes the steps of: obtaining a predicted attribute value for the current point in the current frame by performing the attribute inter prediction on the current point based on the determination; determining a compensated attribute value for the current point by performing attribute compensation on the predicted attribute value or the attribute value of the current point; and performing the transformation based on the compensated attribute value.

[0100] Clause 26. The method of clause 25, wherein the compensation attribute value is determined based on neighboring points of the current point and at least one parameter of the attribute compensation.

[0101] Clause 27. The method of clause 26, wherein the neighboring point is the nearest neighboring point of the current point.

[0102] Clause 28. The method of clause 26 or 27, wherein the at least one parameter is used for all points in a point cloud cluster in the point cloud sequence.

[0103] Clause 29. The method of clause 28, wherein the point cloud cluster comprises a number of consecutive points in the point cloud sequence.

[0104] Clause 30. The method of any one of clauses 26 to 29, wherein the at least one parameter is determined in an encoder.

[0105] Clause 31. A method as described in clause 28 or 29, wherein the at least one parameter is determined based on attribute values ​​of the neighboring points and reconstruction values ​​of a previous set of points of the point cloud cluster, the neighboring points being within a reference frame of the current frame.

[0106] Clause 32. The method of clause 28 or 29, wherein the at least one parameter is determined based on a predicted value and a reconstructed value of a previous set of points of the point cloud cluster.

[0107] Clause 33. The method of any one of clauses 26 to 32, wherein the at least one parameter is determined in a decoder.

[0108] Clause 34. The method of any one of clauses 26 to 32, wherein the at least one parameter is indicated in the bitstream.

[0109] Clause 35. The method of clause 34, wherein the at least one parameter is coded with one of a fixed length coding, a unary coding, or a truncated unary coding.

[0110] Clause 36. The method of clause 34, wherein the at least one parameter is predictively coded.

[0111] Clause 37. A method according to any one of clauses 1 to 24, wherein the step of performing the transformation comprises the steps of: determining at least one neighbouring point from a set of points in the reference frame by performing a nearest neighbour search for a current point in the current frame; and performing the transformation based on the at least one neighbouring point, wherein the set of points includes points at all levels of detail (LOD) of the reference frame.

[0112] Clause 38. The method of any one of clauses 1 to 37, wherein the transforming comprises encoding the current frame into the bitstream.

[0113] Clause 39. The method of any one of clauses 1 to 37, wherein the converting comprises decoding the current frame from the bitstream.

[0114] Clause 40. An apparatus for processing point cloud data comprising a processor and a non-transitory memory comprising instructions which, when executed by the processor, cause the processor to perform a method according to any one of clauses 1 to 39.

[0115] Clause 41. A non-transitory computer-readable storage medium storing instructions that cause a processor to perform the method of any one of clauses 1 to 39.

[0116] Clause 42. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by a point cloud processing device, the method comprising: determining, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, whether attributed inter prediction is to be performed on the current frame based on the reference frame, and generating the bitstream based on the determination.

[0117] Clause 43. A method for storing a bitstream of a point cloud sequence, comprising: determining, based on target motion information between a current frame of the point cloud sequence and a reference frame of the current frame, whether attributed inter prediction is performed on the current frame based on the reference frame, the target motion information being used to perform motion compensation on the reference frame; generating the bitstream based on the determination; and storing the bitstream in a non-transitory computer-readable recording medium.

[0118] Exemplary Devices 5 illustrates a block diagram of a computing device 500 capable of implementing various embodiments of the present disclosure. The computing device 500 may be implemented as or included in the source device 110 (or the GPCC encoder 116 or 200) or the destination device 120 (or the GPCC decoder 126 or 300).

[0119] It will be appreciated that the computing device 500 illustrated in FIG. 5 is for illustrative purposes only and is not meant to suggest any limitation on the functionality and scope of the embodiments of the present disclosure.

[0120] 5, the computing device 500 includes a general-purpose computing device 500. The computing device 500 may include at least one or more processors or processing units 510, a memory 520, a storage unit 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560.

[0121] In some embodiments, the computing device 500 may be implemented as any user terminal or server terminal having computing capabilities. The server terminal may be a server provided by a service provider, a large-scale computing device, etc. The user terminal may be any type of mobile, fixed, or portable terminal, including, for example, a mobile phone, a station, a unit, a device, a multimedia computer, a multimedia tablet, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / GPCC player, a digital camera / GPCC camera, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a gaming device, or any combination thereof (including accessories and peripherals of these devices, or any combination thereof). It is contemplated that the computing device 500 may support any type of interface to a user, such as "wearable" circuitry.

[0122] The processing unit 510 may be a physical or virtual processor and may perform various processes based on programs stored in the memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to increase the parallel processing capabilities of the computing device 500. The processing unit 510 may be referred to as a central processing unit (CPU), a microprocessor, a controller, or a microcontroller.

[0123] Computing device 500 typically includes a variety of computer storage media. Such media may be any media accessible by computing device 500, including, but not limited to, volatile and non-volatile media, or removable and non-removable media. Memory 520 may be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory), or any combination thereof. Storage unit 530 may be any removable or non-removable medium that can be used to store information and / or data and that can be accessed by computing device 500, and may include a machine-readable medium, such as a memory, a flash memory drive, a magnetic disk, or another medium.

[0124] The computing device 500 may further include additional removable / non-removable, volatile / non-volatile memory media. Although not shown in FIG. 5, a magnetic disk drive that reads from and writes to a removable non-volatile magnetic disk and an optical disk drive that reads from and writes to a removable non-volatile optical disk may be provided. In such a case, each drive may be connected to a bus (not shown) via one or more data media interfaces.

[0125] The communication unit 540 communicates with further computing devices via a communication medium. Furthermore, the functionality of the components in the computing device 500 may be implemented by a single computing cluster or multiple computing machines that may communicate via a communication connection. Thus, the computing device 500 may operate in a networked environment using logical connections with one or more other servers, networked personal computers (PCs), or further general network nodes.

[0126] The input device 550 may be one or more of a variety of input devices such as a mouse, a keyboard, a tracking ball, a voice input device, etc. The output device 560 may be one or more of a variety of output devices such as a display, a speaker, a printer, etc. The communication unit 540 allows the computing device 500 to further communicate with one or more external devices (not shown), such as a storage device and a display device, one or more devices allowing a user to interact with the computing device 500, or any device (such as a network card, a modem, etc.) allowing the computing device 500 to communicate with one or more other computing devices, as needed. Such communication may be performed via an input / output (I / O) interface (not shown).

[0127] In some embodiments, instead of being integrated into a single device, some or all of the components of the computing device 500 may be located in a cloud computing architecture. In a cloud computing architecture, the components may be provided remotely and work together to perform the functions described in this disclosure. In some embodiments, cloud computing provides computing, software, data access, and storage services without the end user needing to be aware of the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services over a wide area network (such as the Internet) using appropriate protocols. For example, a cloud computing provider provides applications over a wide area network that can be accessed through a web browser or other computing components. The software or components of the cloud computing architecture and corresponding data may be stored on a server located in a remote location. Computing resources in a cloud computing environment may be consolidated or distributed at remote data center locations. The cloud computing infrastructure may act as a single access point for users, but provide services through a shared data center. Thus, a cloud computing architecture may be used to provide the components and functions described herein from a service provider located in a remote location. Alternatively, they may be provided from a traditional server or installed directly or otherwise on the client device.

[0128] The computing device 500 may be used to perform point cloud encoding / decoding in embodiments of the present disclosure. The memory 520 may include one or more point cloud coding modules 525 having one or more program instructions. These modules are accessible and executable by the processing unit 510 to perform the functions of various embodiments described herein.

[0129] In an example embodiment performing point cloud encoding, the input device 550 may receive point cloud data to be encoded as an input 570. The point cloud data may be processed, for example, by the point cloud coding module 525 to generate an encoded bitstream. The encoded bitstream may be provided as an output 580 via the output device 560.

[0130] In an example embodiment performing point cloud decoding, the input device 550 may receive an encoded bitstream as input 570. The encoded bitstream may be processed, for example, by the point cloud coding module 525 to generate decoded point cloud data. The decoded GPCC data may be provided as output 580 via the output device 560.

[0131] Although the present disclosure has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application as defined by the appended claims. Such variations are intended to be within the scope of the present application. Accordingly, the foregoing description of the embodiments of the present application is not intended to be limiting.

Claims

1. 1. A point cloud coding method, comprising: During conversion between a current frame of a point cloud sequence and a bitstream of the point cloud sequence, determining whether attribute inter prediction is performed on the current frame based on a reference frame based on target motion information between the current frame and a reference frame of the current frame, the target motion information being used for performing motion compensation on the reference frame; and performing the conversion based on the determination.

2. The target motion information is global motion information. The method of claim 1.

3. If the target motion information is less than a motion threshold, the attributed inter prediction is performed on the current frame based on the reference frame. The method according to claim 1 or 2.

4. The target motion information includes a translational component and a rotational component. The method according to any one of claims 1 to 3.

5. The translational components are expressed as motion matrices or motion vectors. The method according to claim 4.

6. The rotational component is Rotation matrix, Rotation vector, Euler angles, Quaternions, or Rotation angle, expressed as one of 6. The method according to claim 4 or 5.

7. The target motion information is a rigid motion or a non-rigid motion. The method according to any one of claims 1 to 6.

8. The target motion information is expressed as a matrix. The method according to any one of claims 1 to 7.

9. if the translation component is less than a translation threshold, the attributed inter prediction is performed on the current frame based on the reference frame; The method according to any one of claims 4 to 6.

10. if the rotation component is less than a rotation threshold, the attributed inter prediction is performed on the current frame based on the reference frame; The method according to any one of claims 4 to 6.

11. The motion threshold is a predefined value. The method according to claim 3.

12. the motion threshold is indicated in the bitstream; The method according to claim 3.

13. the motion threshold is coded with one of a fixed length coding, a unary coding, or a truncated unary coding. The method of claim 12.

14. The motion threshold is predictively coded. The method of claim 12.

15. the translation threshold or the rotation threshold is a predefined value; 11. The method according to claim 9 or 10.

16. the translation threshold or the rotation threshold is indicated in the bitstream, 11. The method according to claim 9 or 10.

17. the translation threshold or the rotation threshold is coded with one of a fixed length coding, a unary coding, or a truncated unary coding.

17. The method of claim 16.

18. the translation threshold or the rotation threshold is predictively coded; 17. The method of claim 16.

19. Information regarding whether the attribute inter prediction is performed on the current frame based on the reference frame is indicated in the bitstream. The method according to any one of claims 1 to 18.

20. an indication is present indicating whether the attributed inter prediction is performed for the current frame based on the reference frame; 20. The method according to any one of claims 1 to 19.

21. The indication is determined by an encoder.

21. The method of claim 20.

22. the instructions are included within the bitstream; 22. The method according to claim 20 or 21.

23. the indication is coded with one of a fixed length coding, a unary coding, or a truncated unary coding.

23. The method of claim 22.

24. The instructions are predictively coded.

23. The method of claim 22.

25. The step of performing the conversion comprises: performing the attribute inter prediction on a current point in the current frame based on the determination to obtain a predicted attribute value for the current point; determining a compensated attribute value for the current point by performing attribute compensation on the predicted attribute value or the attribute value of the current point; performing the conversion based on a compensation attribute value.

25. The method according to any one of claims 1 to 24.

26. the compensation attribute value is determined based on neighboring points of the current point and at least one parameter of the attribute compensation; 26. The method of claim 25.

27. The neighboring points are the nearest neighboring points of the current point.

27. The method of claim 26.

28. the at least one parameter is used for all points in a point cloud cluster in the point cloud sequence.

28. The method of claim 26 or 27.

29. the point cloud cluster comprises a number of consecutive points in the point cloud sequence; 30. The method of claim 28.

30. The at least one parameter is determined in an encoder.

30. The method according to any one of claims 26 to 29.

31. The at least one parameter is determined based on attribute values ​​of the neighboring points and a reconstruction value of a previous set of points of the point cloud cluster; The neighboring points are in a reference frame of the current frame.

30. The method of claim 28 or 29.

32. the at least one parameter is determined based on a predicted value and a reconstruction value of a previous set of points of the point cloud cluster.

30. The method of claim 28 or 29.

33. The at least one parameter is determined at a decoder.

33. The method according to any one of claims 26 to 32.

34. the at least one parameter is indicated in the bitstream. The method according to any one of claims 26 to 32.

35. the at least one parameter is coded with one of a fixed length coding, a unary coding, or a truncated unary coding.

35. The method of claim 34.

36. The at least one parameter is predictively coded.

35. The method of claim 34.

37. The step of performing the conversion comprises: determining, for a current point in the current frame, at least one neighboring point from a set of points in the reference frame by performing a nearest neighbor search; performing the transformation based on the at least one neighboring point; the set of points includes points at all levels of detail (LOD) of the reference frame; 25. The method according to any one of claims 1 to 24.

38. said converting comprising encoding said current frame into said bitstream; 38. The method according to any one of claims 1 to 37.

39. the converting includes decoding the current frame from the bitstream; 38. The method according to any one of claims 1 to 37.

40. 1. An apparatus for processing point cloud data, comprising a processor and a non-transitory memory comprising instructions, Apparatus, wherein the instructions, when executed by the processor, cause the processor to perform a method according to any one of claims 1 to 39.

41. storing instructions for causing a processor to carry out a method according to any one of claims 1 to 39; A non-transitory computer-readable storage medium.

42. 1. A non-transitory computer readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by a point cloud processing device, the method comprising: determining whether attribute inter prediction is to be performed on the current frame based on a reference frame, based on target motion information between the current frame of the point cloud sequence and a reference frame of the current frame, the target motion information being used for performing motion compensation on the reference frame; generating the bitstream based on the determination. A non-transitory computer-readable recording medium.

43. 1. A method for storing a bitstream of a point cloud sequence, comprising: determining whether attribute inter prediction is to be performed on the current frame based on a reference frame, based on target motion information between the current frame of the point cloud sequence and a reference frame of the current frame, the target motion information being used for performing motion compensation on the reference frame; generating the bitstream based on the determination; storing the bitstream on a non-transitory computer-readable recording medium.