Point cloud coding method, device, and medium

By signaling multiple sets of sequence-level parameters and optimizing their encapsulation, the method addresses inefficiencies in point cloud coding, enhancing coding quality and efficiency by reducing redundant parameter signaling and encapsulation.

JP7790856B2Active Publication Date: 2025-12-23DOUYIN VISION CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024523667
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-21
Filing Date
2022-10-20
Publication Date
2025-12-23
Estimated Expiration
2042-10-20

AI Technical Summary

Technical Problem

Existing point cloud coding techniques suffer from inefficiencies in coding and encapsulating coding parameters, leading to unnecessary bit usage due to repeated signaling and encapsulation of invariant parameters across frames or groups of frames, which affects coding quality and efficiency.

Method used

The proposed method involves signaling multiple sets of sequence-level parameters (SLPs) in the bitstream, grouping and signaling SLP information within TLVs or a Sequence Configuration Box, and using predictive coding to reduce redundant parameter signaling and encapsulation.

Benefits of technology

This approach enhances coding flexibility and efficiency by reducing redundant parameter signaling and encapsulation, thereby improving coding quality and reducing bit usage in point cloud compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007790856000001
    Figure 0007790856000001
  • Figure 0007790856000002
    Figure 0007790856000002
  • Figure 0007790856000003
    Figure 0007790856000003
Patent Text Reader

Abstract

The embodiment of the present disclosure provides a method for point cloud coding, which includes performing conversion between a point cloud sequence and a bitstream of the point cloud sequence based on a plurality of sets of sequence level parameters (SLPs) for coding the point cloud sequence, and the plurality of sets of SLPs are represented in the bitstream. Compared with the conventional methods, the proposed method has the advantage of improving coding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD Embodiments of the present disclosure relate generally to point cloud coding techniques, and more particularly to coding and encapsulation of coding parameters in point cloud 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 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 efforts of the well-known MPEG organization. MPEG stands for Moving Picture Experts Group and is one of the major 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 with relatively uniform distributions; and geometry-based point cloud compression (G-PCC or GPCC) is suitable for more sparse distributions. However, the coding efficiency of existing point cloud coding techniques generally requires further improvement. Summary of the Invention

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

[0005] In a first aspect, a point cloud coding method is proposed, which includes performing a conversion between a point cloud sequence and a bitstream of the point cloud sequence based on a plurality of sets of sequence-level parameters (SLPs) for coding the point cloud sequence, wherein the plurality of sets of SLPs are indicated in the bitstream.

[0006] According to the method according to the first aspect of the present disclosure, multiple sets of SLPs, which provide multiple coding options for coding a point cloud sequence, are signaled in the bitstream. Compared with the conventional solution in which only one set of SLPs is signaled, the proposed method has the advantage of providing greater flexibility, thereby improving coding quality and coding efficiency.

[0007] In a second aspect, an apparatus for processing point cloud data is proposed, the apparatus for processing point cloud data comprising a processor and a non-transitory memory storing instructions 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 comprising generating the bitstream based on a plurality of sets of Sequence Level Parameters (SLPs) for coding the point cloud sequence, the plurality of sets of SLPs being indicated in the bitstream.

[0010] In a fifth aspect, a method for storing a bitstream of a point cloud sequence is proposed, the method comprising: generating the bitstream based on a plurality of sets of sequence-level parameters (SLPs) for coding the point cloud sequence; and storing the bitstream in a non-transitory computer-readable recording medium, wherein the plurality of sets of SLPs are indicated in the bitstream.

[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 explanation of the drawings]

[0012] These 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 exemplary point cloud coding system that can utilize the techniques of this disclosure.

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

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

[0016] [Figure 4] FIG. 1 is a schematic diagram showing the sample structure when the coded G-PCC bitstream is stored in a single track.

[0017] [Figure 5] FIG. 1 is a schematic diagram showing a multi-track container of a G-PCC bitstream.

[0018] [Figure 6] FIG. 10 is a schematic diagram illustrating an example of a G-PCC bitstream in a single track by signaling SLP in a TLV before the sample information.

[0019] [Figure 7] FIG. 10 is a schematic diagram showing an example of a G-PCC bitstream in a single track by signaling SLP in the sequence configuration box before the sample information.

[0020] [Figure 8] FIG. 10 is a schematic diagram illustrating an example of a G-PCC bitstream in a single track by using a group-level structure.

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

[0022] [Figure 10] FIG. 1 illustrates a block diagram of a computing device capable of implementing various embodiments of the present disclosure.

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

[0024] The principles of the present disclosure will be described below with reference to several embodiments. These embodiments are merely described for the purpose of illustration and to help those skilled in the art understand and practice the present disclosure, and should not be construed as implying any limitations on the scope of the present disclosure. The disclosure described herein can be implemented in various ways other than those described below.

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

[0026] References in this disclosure to "one embodiment," "one embodiment," "exemplary embodiment," etc. 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. Furthermore, 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 skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly stated.

[0027] 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 could be referred to as a second element. Similarly, a second element could 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.

[0028] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit 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," "comprise," "have," "have," "include," and / or "comprise," when 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.

[0029] Example Environment The principles of the present disclosure will be described below with reference to several embodiments. These embodiments are merely described for the purpose of illustration and to help those skilled in the art understand and practice the present disclosure, and should not be construed as implying any limitations on the scope of the present disclosure. The disclosure described herein can be implemented in various ways other than those described below.

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

[0031] References in this disclosure to "one embodiment," "one embodiment," "exemplary embodiment," etc. 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. Furthermore, 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 skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments, whether or not explicitly stated.

[0032] 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 could be referred to as a second element. Similarly, a second element could 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.

[0033] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit 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," "comprise," "have," "have," "include," and / or "comprise," when 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

[0034] 1 is a block diagram illustrating an exemplary 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 for compressing and / or decompressing the point cloud data.

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

[0036] Source device 100 may include a data source 112, 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, memory 124, and a data consumer 122. According to the present disclosure, the GPCC encoder 116 of source device 100 and the GPCC decoder 126 of destination device 120 may be configured to apply techniques of the present disclosure related to point cloud coding. Thus, 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 and 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 not include a data consumer within itself but may interface with an external data consumer.

[0037] Generally, data source 112 represents a source of point cloud data (i.e., unencoded raw point cloud data) and may provide a continuous series of “frames” of point cloud data to GPCC encoder 116, which encodes the point cloud data of the frames. In some examples, data source 112 generates the point cloud data. Data source 112 of 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 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, 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 scanners, cameras, sensors, or other data. For example, data source 112 may generate the point cloud data or 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 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 containing the encoded point cloud data. The source device 100 then outputs the encoded point cloud data via the I / O interface 118 for reception 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 via the I / O interface 118 over the network 130A. The encoded point cloud data may be stored on a storage medium / server 130B for access by the destination device 120.

[0038] 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, 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 separate 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 memory 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, 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.

[0039] 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 in which 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 in which 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.

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

[0041] 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 the 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.

[0042] 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 partially 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.

[0043] 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. The encoded bitstream typically includes a series of values ​​of syntax elements that represent coding decisions (e.g., coding modes).

[0044] A point cloud includes 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 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 the automotive industry (LIDAR sensors used for navigation).

[0045] Figure 2 is a block diagram illustrating an example of a GPCC encoder 200, which may be an example of a 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 a GPCC decoder 126 in the system 100 shown in Figure 1, according to some embodiments of the present disclosure.

[0046] In both the GPCC encoder 200 and the GPCC decoder 300, the point cloud position is coded first. Attribute coding depends on the decoded geometry. In Figures 2 and 3, the Region Adaptive Hierarchical Transform (RAHT) unit 218, the Surface Approximation unit 212, the RAHT unit 314, and the Surface Approximation Synthesis unit 310 are options 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 typically used for Category 3 data. All other units are common between Category 1 and Category 3.

[0047] 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 represented 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 octree coding mechanism, 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 to 10 triangles per block, resulting in a triangle soup. Category 1 geometry codecs are known as Trisoup geometry codecs, and Category 3 geometry codecs are known as Octree geometry codecs.

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

[0049] 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 points in the point cloud, such as a color associated with the points in the point cloud.

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

[0051] Further, in the example of FIG. 2, the voxelization unit 206 may voxelize the transformed coordinates. Voxelizing 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 then be treated as one point in some respects. Further, the octree analysis unit 210 may generate an octree based on the voxelized transformed coordinates. Further, in the example of FIG. 2, the surface approximation analysis unit 212 may analyze the points to potentially determine a surface representation of the point set. The arithmetic coding unit 214 may perform arithmetic coding on syntax elements representing the octree and / or surface information determined by the surface approximation analysis unit 212. The GPCC encoder 200 may output these syntax elements within a geometry bitstream.

[0052] The geometry reconstruction unit 216 may reconstruct transformation coordinates of points in the point cloud based on the octree, data indicating 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.

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

[0054] 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 transform unit 320, and a color inverse transform unit 322.

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

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

[0057] Additionally, 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 transform on the reconstructed coordinates to convert the reconstructed coordinates (positions) of the points of the point cloud from the transformation domain back to the initial domain.

[0058] 3, the inverse quantization unit 308 may inverse quantize the attribute values, which may be based on syntax elements obtained from the attribute bitstream (e.g., including syntax elements decoded by the attribute arithmetic decoding unit 304).

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

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

[0061] The various units in FIGS. 2 and 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 as 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 types of operations that the fixed-function circuit performs are generally invariant. 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.

[0062] Some exemplary embodiments of the present disclosure are described in detail below. While section headings are used herein for ease of understanding, it should be understood that they do not limit the embodiments disclosed in a section to that section alone. Furthermore, while 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, while some embodiments describe point cloud coding steps 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, and in particular to coding and encapsulation of coding parameters in point cloud coding. The ideas can be applied individually or in various combinations to point cloud coding standards or non-standard point cloud coding, such as the currently under development Geometry-Based Point Cloud Compression (G-PCC). 2. Abbreviation 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 SPS Sequence Parameter Set GPS Geometry Parameter Set APS Attribute Parameter Set TLV Type-Length-Value Byte Stream Format GSH Geometry Data Unit Header ASH Attribute Data Unit Header GOF Frame Group SLP sequence-level parameters GLP GOF Level Parameters FLP frame-level parameters ISOBMFF ISO-Based Media File Format 3.Background Point cloud coding standards have evolved primarily through the work of the well-known MPEG organization. MPEG stands for Moving Picture Experts Group and is one of the major 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), which is suitable for point sets with a relatively uniform distribution of points; and geometry-based point cloud compression (G-PCC), which is suitable for a sparser distribution. Both V-PCC and G-PCC support the coding and decoding of single point clouds and point cloud sequences. A point cloud sequence has one or more point cloud frames. A point cloud sequence can be divided into one or more groups of frames (GOFs). Usually, the number of point cloud frames in each GOF is the same, which is denoted as the GOF size. A point cloud frame contains many data points to describe a 3D object or scene. For each data point, there may be corresponding geometry information and attribute information. The geometry information is used to record the spatial location of the data point. The attribute information is used to record details of the data point, such as texture, normal vector, and reflection. Usually, a codec has many optional tools to support coding and decoding of the geometry information and attribute information, respectively. 3.1 Coding parameters An encoder has several coding parameters to control the encoding process, some of which are signaled to a decoder to support the decoding process. The signaled parameters can be classified into several levels, such as sequence-level parameters (SLPs) and frame-level parameters (FLPs), according to their role in the decoding process. SLPs are parameters that can be applied to the decoding process of all frames in a point cloud sequence. One or more SLP groups can exist for a point cloud sequence. One SLP group can be applied to each point cloud frame. Furthermore, SLPs can be classified and stored in several clusters, such as geometry parameter sets (GPSs), attribute parameter sets (APSs), and sequence parameter sets (SPSs). Parameters that control geometry coding tools are stored in GPSs. Parameters that control attribute coding tools are stored in APSs. Other SLPs that describe the characteristics of a point cloud sequence or control the entire coding process can be stored in SPSs. For example, parameters that describe the attribute categories of a point cloud sequence and the data precision of the coding process are stored in SPSs. FLP is a parameter that is only applicable to the decoding process of one point cloud frame. The FLP between point cloud frames is usually different. For example, the parameters describing the number of points and global motion vectors of one point cloud frame are signaled as FLP. 3.2 Bitstream Encapsulation Structure In G-PCC, the output of the encoder is a single bitstream containing coded geometry data, attribute data, mate data, and coding parameters. One TLV (Type-Length-Value) encapsulation structure is the unit of the G-PCC bitstream. Each TLV contains one of the following data units: SPS, GPS, APS, tile inventory, frame boundary marker, geometry data unit, and attribute data unit. The coded G-PCC bitstream is encapsulated as one or more tracks within an ISOBMFF file. The SLP is stored in a parameter set TLV that includes one of SPS, GPS, and APS. The geometry data and FLP for geometry coding are stored in the Geometry TLV that contains the Geometry Data Unit. The GSH (Geometry Data Unit Header) is an encapsulation structure at the start of the bitstream of each Geometry TLV. The FLP for geometry coding is stored in the GSH. The attribute data and the FLP for the attribute coding are stored in the attribute TLV, which contains the attribute data unit. The ASH (Attribute Data Unit Header) is an encapsulation structure at the start of the bitstream of each attribute TLV. The FLP for the attribute coding is stored in the ASH. 3.3 Single track encapsulation of G-PCC data within ISOBMFF When the G-PCC bitstream is carried on a single track, a simple ISOBMFF encapsulation is used by storing the G-PCC bitstream on a single track without further processing: each sample consists of one or more G-PCC units. Figure 4 shows an example of a sample structure when the G-PCC geometry and attribute bitstreams are stored in a single track, where each sample has at least one G-PCC unit containing a geometry data unit, zero or more G-PCC units containing attribute data units, and zero or more G-PCC units with parameter sets. G-PCC tracks should use GPCCSampleEntry with sample entry type "gpe1" or "gpeg". In the "gpe1" sample entry, all SPS, GPS, APS, and tile inventory parameter sets should be present in the setupUnit array. In the "gpeg" sample entry, the parameter sets can be present in the array or in the stream. 3.4 Multi-track encapsulation of G-PCC data within ISOBMFF When a G-PCC bitstream is carried on multiple tracks per G-PCC component, each G-PCC component bitstream is mapped to a separate track. There are two types of G-PCC component tracks: G-PCC geometry tracks and G-PCC attribute tracks. Each sample in a track contains at least one G-PCC unit with a single G-PCC component data unit, rather than multiplexing different attribute data units, without both geometry and attribute data units. G-PCC attribute tracks do not multiplex different attribute substreams, such as color, reflectance, etc. Figure 5 shows the general layout of a multi-track ISOBMFF G-PCC container. Tracks belonging to the same G-PCC sequence are time-aligned. Samples contributing to the same point cloud frame across different tracks have the same existence time. If a parameter set or tile inventory is present in a sample, the decoding time of the parameter set or tile inventory used for such a sample should be equal to or earlier than the decoding time of the sample of the corresponding G-PCC component data unit. If all parameter sets are present in samples across multiple tracks, the decoding time of the sample containing the SPS should be equal to or earlier than the decoding time of the sample containing the GPS, APS, or tile inventory. In addition, all tracks belonging to the same G-PCC sequence should have the same implicit or explicit edit list. A G-PCC geometry track or a G-PCC attribute track should use a GPCCSampleEntry with sample entry type "gpc1" or "gpcg". In the sample entry for "gpc1", the setupUnit array for the G-PCC geometry track should include all SPS, GPS, and tile inventory. The setupUnit array for the G-PCC attribute track should include all relevant APS, and none of the SPS, GPS, or tile inventory. In a "gpcg" sample entry, the SPS, GPS, or tile inventory may be present in the setupUnit array of the sample entry or in the stream of the G-PCC geometry track. The APS may be present in the setupUnit array of the sample entry or in the stream of the G-PCC attribute track. Neither the SPS, GPS, nor the tile inventory should be present in the G-PCC attribute track. 4.Problems Existing designs for coding and encapsulating coding parameters in point cloud compression suffer from the following problems: 1. In the current G-PCC, SLP is repeatedly coded and encapsulated for each point cloud frame or sample in a point cloud sequence. However, for all point cloud frames in a point cloud sequence, the SLP group used can be invariant between frames. Therefore, there are some unnecessary bits in the G-PCC bitstream that are used to record the repeated SLP information. 2. In the current G-PCC, there is no design for coding GOF-level parameters (GLP). Some coding parameters, such as the actual GOF size (which can be GLP), are invariant for all point cloud frames within one GOF. These coding parameters are treated as FLPs and are repeatedly coded for each point cloud frame within one GOF. Therefore, there are some unnecessary bits in the output of the point cloud encoder that are used to record repeated SLP information. 3. In the current G-PCC, there is no design for encapsulating GLP. The coding parameter set bitstream used to record GLP information is repeatedly encapsulated in multiple boxes. However, the GLP bitstream is usually the same for all points in one GOF. Therefore, there are some unnecessary structures in the G-PCC bitstream that are used to store repeated information. 5. Detailed solution In order to solve the above problems and some other problems not mentioned, the methods summarized as follows are disclosed. The solutions should be considered as examples to explain the general concept and should not be interpreted narrowly. Furthermore, these solutions can be applied in any combination. In the following description, SLP includes coding parameters within certain existing syntax elements, such as, but not limited to, SPS / GPS / APS. 1) We propose to signal one or multiple sets of SLP information in one point cloud sequence. a) In one example, there may be at least one indication that points to each parameter set. i. The indication may be represented by some index (e.g., sps_seq_parameter_set_id / gps_geom_parameter_set_id / aps_attr_parameter_set_id) indicating the associated parameter set. (1) If only one set of SLP information exists, the index may be set to 0. (2) If multiple sets of SLP information exist, the index may start from 0. ii. The instructions may be coded using fixed length coding, unary coding, truncated unary coding, etc. iii. The instructions may be coded in a predictive manner. iv. In one example, an indication may be signaled within each parameter set. 2) We propose to signal the parameters in the first syntactic structure before the parameters in the second syntactic structure. a) For example, the first syntactic structure may be an SPS. b) For example, the second syntax structure may be GPS / APS. c) In one example, the parameters in the second syntax structure may be conditionally signaled. i. In one example, whether / how to signal parameters in the second syntax structure may depend on parameters signaled in the first syntax structure. ii. In one example, if a parameter signaled in a first syntax structure is indicated to be used in a second syntax structure, the parameter in the second syntax structure may not be signaled. iii. In one example, if a parameter in the second syntax structure is not signaled, a parameter signaled in the first syntax structure is used for the second syntax structure. d) In one example, the parameters in the second syntax structure may be signaled in a predictive manner. i. For example, a parameter in a second syntactic structure may be predicted by a parameter in a first syntactic structure. e) In one example, the SLP information may consist of parameters within the SPS, GPS and APS. f) In one example, parameters in the SPS may be used to signal parameters in the GPS / APS. g) In one example, parameters in the SPS may be signaled before parameters in the GPS / APS. h) In one example, the parameters in the SPS may be decoded before the parameters in the GPS / APS. 3) We propose to group and signal SLP information within one or more TLVs. a) In one example, the SLP information may be signaled before or after the sample information. b) In one example, one or more sets of SLP information may be signaled in a first level structure such as SPS TLV / GPS TLV / APS TLV. c) Alternatively or additionally, an indication to which set of SLP information is to be included can be signaled within the bitstream. d) In one example, SLP information may be signaled before the second level structure (e.g., frame / picture / slice / tile / subpicture). e) Furthermore, at least one indication pointing to at least one set of SLP information in the second level structure may be further signaled. (1) The indication may be conditionally signaled, for example, depending on whether there are multiple sets of SLP information at the first level. (2) The instruction may be represented by some index (e.g., SLP_SPS_id / SLP_GPS_id / SLP_APS_id) that indicates the associated set of SLP information to be applied to process the current second level (e.g., the current point cloud frame). (3) The instructions may be coded using fixed-length coding, unary coding, truncated unary coding, etc. (4) Instructions can be coded in a predictive manner. (5) In one example, the instruction may be signaled within the GSH / ASH. (6) Alternatively, the instructions can be signaled in a configuration box in the sample entry. 4) Instead of signaling SLP information in a Parameter TLV for each frame, we propose to group and signal the SLP information in one Sequence Configuration Box before all sample information. A "Sequence Configuration Box" may refer to a syntax structure that contains at least one sequence level syntax element. a) In one example, one or more sets of SLP information may be signaled within one sequence configuration box at the first level. b) Alternatively or additionally, an indication to which set of SLP information to include can be signaled in the box header. c) In one example, SLP information may be signaled before the second level (e.g., frame / picture / slice / tile / subpicture). i. Further, at a second level, at least one indication pointing to at least one set of SLP information may be further signaled. (1) The indication may be conditionally signaled, for example, depending on whether there are multiple sets of SLP information at the first level. (2) The indication may be represented by some index (e.g., SLP_sequence_parameters_id / SLP_geometry_parameters_id / SLP_attribute_paramteters_id) indicating the associated set of SLP information to be applied to process the current second level (e.g., the current picture). (3) The instructions may be coded using fixed-length coding, unary coding, truncated unary coding, etc. (4) Instructions can be coded predictively. (5) In one example, the indication may be signaled in a specific existing syntax element, for example, SPS / GPS / APS. 5) Propose to signal SLP information for the first sample of a sequence or if the SLP information of the current sample differs from the SLP information of a previous decoded sample in the same or a different frame. a) In one example, one or more sets of SLP information may be signaled in one point cloud sequence. b) In one example, at the second level (e.g., frame / picture / slice / tile / subpicture), at least one indication may be signaled to indicate whether the SLP information of the current sample differs from the SLP information of the previous decoded sample. i. Alternatively, it can be implicitly derived whether the SLP information of the current sample differs from the SLP information of the previous decoded sample. ii. The indication may be conditionally signaled, for example depending on whether there are multiple sets of SLP information at the first level. iii. The indication may be represented by some index (e.g., SPS_unchanged_flag / GPS_unchanged_flag / APS_unchanged_flag) that indicates whether the SLP information of the current sample is different from the SLP information of the previous decoded sample. iv. The instructions may be coded using fixed length coding, unary coding, truncated unary coding, etc. v. Instructions can be coded predictively. vi. In one example, the indication may be signaled in specific existing syntax elements, for example, SPS / GPS / APS. c) In one example, if the SLP information differs from the SLP information of a previously decoded sample, the SLP information may be signaled in one or more TLVs (e.g., SPS TLV / GPS TLV / APS TLV) in the sample entry. d) In one example, the SLP information of a previous decoded sample may be inherited and applied by the current sample if the SLP information is not different from the SLP information of the previous sample. 6) Propose to signal SLP information for the first sample or if the SLP information of the current sample differs from the SLP information of all previous decoded samples in the same or different frames. a) In one example, one or more sets of SLP information may be signaled in one point cloud sequence. b) In one example, at the second level (e.g., frame / picture / slice / tile / subpicture), at least one indication may be signaled to indicate whether the SLP information of the current sample differs from the SLP information of all previous decoded samples. i. Alternatively, it can be implicitly derived whether the SLP information of the current sample is different from the SLP information of all previous decoded samples. ii. The indication may be conditionally signaled, for example depending on whether there are multiple sets of SLP information at the first level. iii. The indication may be represented by some index (e.g., SPS_new_flag / GPS_new_flag / APS_new_flag) that indicates whether the SLP information of the current sample is different from the SLP information of all previous decoded samples. iv. The instructions may be coded using fixed length coding, unary coding, truncated unary coding, etc. v. Instructions can be coded predictively. vi. In one example, the indication may be signaled in a specific existing syntax element, for example, SPS / GPS / APS. c) In one example, if the SLP information is different from the SLP information of all previous decoded samples, the SLP information may be signaled in one or more TLVs (e.g., SPS TLV / GPS TLV / APS TLV) in the sample entry. d) In one example, if the SLP information of one of the previous decoded samples is not different from the SLP information of the previous decoded sample, the SLP information of one of the previous decoded samples may be inherited and applied by the current sample. e) Alternatively or additionally, an indication of which sample the SLP information is inherited from can be signaled additionally to the current sample. i. The indication may be conditionally signaled, for example depending on whether SLP information is inherited from other samples or not. ii. The instructions may be coded using fixed length coding, unary coding, truncated unary coding, etc. iii. Instructions can be coded predictively. iv. In one example, the indication may be signaled in a specific existing syntax element, for example SPS / GPS / APS. 7) We propose to use activation functions to obtain a set of parameters for each data unit. a) In one example, one or more groups of parameter sets may be signaled in one point cloud sequence. b) Furthermore, at least one indication pointing to at least one group of parameter sets in a second level structure (eg, frame / picture / slice / tile / subpicture) may be further signaled. i. The indication may be conditionally signaled, for example, depending on whether there are multiple groups of parameter sets at the first level. ii. The instruction may be represented by some index (e.g., gsh_seq_parameter_set_id / gsh_geom_parameter_set_id / ash_seq_parameter_set_id / ash_attr_parameter_set_id) indicating the associated set of parameters to be applied to process the current second level. iii. The instructions may be coded using fixed length coding, unary coding, truncated unary coding, etc. iv. Instructions may be coded in a predictive manner. v. In one example, the indication may be signaled within each second-level header box (e.g., GSH / ASH). vi. Alternatively, instructions can be signaled in a configuration box in the sample entry. c) In one example, there may be an activation function to obtain the current second level parameter set. i. In one example, each second level may be assigned a specific parameter set (e.g., SPS / GPS / APS). ii. In one example, the instructions in each parameter set and the instructions in each second-level header box may be used in an activation function to obtain a specific parameter set for processing the current second level. iii. In one example, once an SPS is obtained by an activation function within one geometry data unit, the SPS may be used for other activations when only one group of parameter sets exists. 8) We propose to group and signal the GLP information of GOF in one TLV before the sample information of GOF. a) In one example, one or more sets of GLP information may be signaled at the GOF level. b) In one example, each set of GLP information may be signaled in one GLP TLV for one GOF. c) In one example, the GLP information of one GOF may be signaled before the sample (e.g., frame / picture / slice / tile / subpicture) information within the GOF. d) In one example, the GLP information for one GOF can be applied to all samples in the GOF. 6. Implementation form 1) This embodiment describes an example of how SLP information can be grouped and signaled in one or more TLVs. In the encoder, first, the encoder groups and encodes the SLP information before the geometry and attribute information of all point cloud frames: 1. Each coding parameter in the SPS is encoded in one SPS_TLV. Each SPS_TLV has an SPS_id that indicates the parameter set. 2. Each coding parameter in GPS is coded in one GPS_TLV. Each GPS_TLV has a GPS_id that indicates the parameter set. 3. Each coding parameter in the APS is encoded in one APS_TLV. Each APS_TLV has an APS_id that indicates the parameter set. Next, the FLP information is encoded along with the geometry and attribute information for each point cloud frame. For each frame, there are three indices: SLP_SPS_id / SLP_GPS_id / SLP_APS_id, which indicate which set of SLPs the current frame applies to. 1. Encode each index into GSH / ASH. 2. Encode the FLP information into one GSH / ASH. Figure 6 shows an example of a G-PCC bitstream stored in a single track, where the SLP information is grouped and signaled in multiple TLVs before the sample entries. In the decoder, first, the decoder decodes all the SLP information in the SPS_TLV / GPS_TLV / APS_TLV. Then, for each frame, 1. Decrypt the SLP_SPS_id / SLP_GPS_id / SLP_APS_id in the GSH / ASH. 2. Decode the FLP information in one GSH / ASH. 3.Get SLP information using SLP_SPS_id / SLP_GPS_id / SLP_APS_id. 4. Decode geometry and attribute information using SLP and FLP. 2) This embodiment describes an example of how to group and signal SLP information in one sequence configuration box before all sample information. The encoder first encodes the SLP information grouped before the geometry and attribute information of all point cloud frames: 1. Encode each coding parameter in the SPS and store the coded information in the sequence configuration box. For each set of SPS parameters, there is an SPS_ID that indicates the parameter set. 2. Encode each coding parameter in the GPS and store the coded information in the sequence configuration box. Each set of GPS parameters has a GPS_ID that indicates the parameter set. 3. Encode each coding parameter in the APS and store the coded information in the sequence configuration box. For each set of APS parameters, there is an APS_ID that indicates the parameter set. Next, for each frame, there are three indices, SLP_sequence_parameters_ID, SLP_geometry_parameters_ID, and SLP_attribute_parameters_ID, that indicate which set of SLPs the current frame applies to. These indices are coded and stored in the SPS, GPS, and APS, respectively. The FLP information is then encoded into the GSH / ASH along with geometry and attribute information for each point cloud frame. Figure 7 shows an example of a G-PCC bitstream stored in a single track, where the SLP information is grouped and signaled in one sequence configuration box before the sample entries. At the decoder, first the decoder decodes all the SLP information in the sequence configuration box. Then, for each frame, 1. Decode SLP_sequence_parameters_ID / SLP_geometry_parameters_ID / SLP_attribute_parameters_ID in SPS / GPS / APS. 2. Decode the FLP information in one GSH / ASH. 3.Get SLP information using SLP_sequence_parameters_ID / SLP_geometry_parameters_ID / SLP_attribute_parameters_ID. 4. Decode geometry and attribute information using SLP and FLP. 3) This embodiment describes an example of how to signal SLP information for the first sample of a sequence or when the SLP information of the current sample differs from the SLP information of the previous decoded sample. In the encoder, first, the encoder encodes the SLP information for the first point cloud frame and stores it in the SPS / GPS / APS. Next, for other frames, the encoder checks whether the SLP information of the current frame is different from that of the previously coded frame, and encodes three flags indicating the check result, which are then coded and stored in the SPS / GPS / APS, respectively. 1. If the SPS information of the current frame is the same as the SPS information of the previous coded frame, the flag SPS_unchange_flag is set to 1. If the SPS information of the current frame is different from the SPS information of the previous coded frame, the flag SPS_unchange_flag is set to 0. 2. If the GPS information of the current frame is the same as the GPS information of the previous coded frame, the flag GPS_unchange_flag is set to 1. If the GPS information of the current frame is different from the GPS information of the previous coded frame, the flag GPS_unchange_flag is set to 0. 3. If the APS information of the current frame is the same as the APS information of the previous coded frame, the flag APS_unchange_flag is set to 1. If the APS information of the current frame is different from the APS information of the previous coded frame, the flag APS_unchange_flag is set to 0. Then, if the SLP information of the current frame is different from the SPS information of the previously coded frame, the SLP information for the current frame is coded and stored in the SPS / GPS / APS. The FLP information is encoded in the GSH / ASH along with the geometry and attribute information for each point cloud frame. In this case, the bitstream structure may utilize a specific single track structure. At the decoder, first the decoder decodes the SLP information for the first frame. Then, for the other frames, 1. Decode SPS_unchange_flag / GPS_unchange_flag / APS_unchange_flag in SPS / GPS / APS. 2. Decode the SLP information in one SPS / GPS / APS if the flag is set to 0, otherwise inherit the SLP information from the previous decoded frame. 3. Decode the FLP information from GSH / ASH. 4. Decode the geometry and attribute information using SLP and FLP. 4) This embodiment describes an example of how to signal SLP information for the first sample or when the SLP information of the current sample is different from the SLP information of all previous decoded samples. The encoder first encodes the SLP information for the first point cloud frame and stores it in the SPS / GPS / APS. The SLP information and frame_id are recorded in one array, SLP_array. Next, for other frames, the encoder checks whether the SLP information of the current frame is different from all the SLP information in the SLP_array, and encodes three flags indicating the check result, which are then encoded and stored in the SPS / GPS / APS, respectively. 1. If the SPS information of the current frame is the same as one SPS information in the SLP_array, the flag SPS_new_flag is set to 0. If the SPS information of the current frame is different from all SPS information in the SLP_array, the flag SPS_new_flag is set to 1. 2. If the GPS information of the current frame is the same as one of the GPS information in the SLP_array, the flag GPS_new_flag is set to 0. If the GPS information of the current frame is different from all of the GPS information in the SLP_array, the flag GPS_new_flag is set to 1. 3. If the APS information of the current frame is the same as one APS information in the SLP_array, the flag APS_new_flag is set to 0. If the APS information of the current frame is different from all APS information in the SLP_array, the flag APS_new_flag is set to 1. And for the current frame, 1. If the SLP information of the current frame is different from all the SLP information in the SLP_array, encode the SLP information and store it in the SPS / GPS / APS, and record the SLP information of the current frame and frame_id in the SLP_array. 2. If the SLP information of the current frame is the same as any one of the SLP information in the SLP_array, encode the frame_id of the frame that shares the same SLP information as the current frame and store it in the SPS / GPS / APS. The FLP information is encoded in the GSH / ASH along with the geometry and attribute information for each point cloud frame. In this case, the bitstream structure may utilize a specific single track structure. At the decoder, first the decoder decodes the SLP information for the first frame. Now for the other frames: 1. Decode SPS_new_flag / GPS_new_flag / APS_new_flag in SPS / GPS / APS. 2. If the flag is set to 1, decode the SLP information in one SPS / GPS / APS. Otherwise, decode the frame_id and inherit the SLP information from the corresponding decoded frame indicated by the frame_id. 3. Decode the FLP information from GSH / ASH. 4. Decode the geometry and attribute information using SLP and FLP. 5) This embodiment describes an example of how to group and signal the GLP information of GOF before the sample information of GOF in one TLV. If the point cloud coded bitstream is carried in a single track, there may be one sequence configuration box in the track header to contain the SPS, GPS and APS. Within a single track there are several samples. The samples can be divided into one or more sample groups. For each sample group there can be one group of configuration boxes containing GLP sets. Each sample consists of one or more G-PCC units. FIG. 8 shows an example of a G-PCC bitstream stored in a single track in this case.

[0063] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate to coding and encapsulation of coding parameters in point cloud coding. As used herein, the term "point cloud sequence" may refer to a sequence of one or more point clouds. The term "frame" may refer to a point cloud within a point cloud sequence. The term "sample" may refer to a portion or an entire frame.

[0064] FIG. 9 illustrates a flowchart of a point cloud coding method 900 according to some embodiments of the present disclosure. The method 900 may be implemented during conversion between a point cloud sequence and a bitstream of the point cloud sequence. As illustrated in FIG. 9, the method 900 begins at 902, which involves performing a conversion based on multiple sets of SLPs for coding the point cloud sequence. The multiple sets of SLPs are indicated in the bitstream. As an example, rather than signaling only one set of SLPs, three sets of SLPs may be signaled. Of the three sets of SLPs, a first set of SLPs may be selected to code a first point cloud sample of the point cloud sequence, and a second set of SLPs may be selected to code a second point cloud sample of the point cloud sequence. In one example, the conversion may include encoding the point cloud sequence into a bitstream. Alternatively, or additionally, the conversion may include decoding the point cloud sequence from the bitstream. It should be understood that the above example is provided for illustrative purposes only. The scope of the present disclosure is not limited thereto.

[0065] According to the method 900, multiple sets of SLPs are signaled in the bitstream, providing multiple coding options for coding a point cloud sequence. Compared with the conventional approach in which only one set of SLPs is signaled, the proposed method has the advantage of providing greater flexibility, thereby improving coding quality and coding efficiency.

[0066] In some embodiments, multiple indications of multiple sets of SLPs may be indicated in the bitstream. In one example, the multiple indications may include at least one index indicating at least one SLP among the multiple sets of SLPs. For example, an index sps_seq_parameter_set_id may be used to indicate a sequence parameter set (SPS) among the multiple sets of SLPs, an index gps_geom_parameter_set_id may be used to indicate a geometry parameter set (GPS) among the multiple sets of SLPs, and / or an index aps_attr_parameter_set_id may be used to indicate an attribute parameter set (APS) among the multiple sets of SLPs. It should be understood that the above examples are provided for illustrative purposes only. The scope of the present disclosure is not limited thereto. In one example, the at least one index may be numbered starting from a predetermined number. In one example, the predetermined number is 0. It should be understood that the at least one index may be numbered starting from any other suitable number. The scope of the present disclosure is not limited thereto.

[0067] In some embodiments, the instructions may be coded with fixed length coding. In some alternative embodiments, the instructions may be coded with unary coding. In some alternative embodiments, the instructions may be coded with truncated unary coding. In some alternative or additional embodiments, the instructions may be coded in a predictive manner. In some embodiments, the instructions may each be indicated in multiple sets of SLPs.

[0068] In some embodiments, the sets of SLPs may include parameters in a first syntax structure for coding the point cloud sequence. At least one of information regarding whether to indicate parameters in a second syntax structure for coding the point cloud sequence in the bitstream or information regarding how to indicate parameters in the second syntax structure in the bitstream may depend on parameters in the first syntax structure. The type of the second syntax structure may be different from the type of the first syntax structure. For example, the first syntax structure may include an SPS. The second syntax structure may include a GPS or an APS.

[0069] In some embodiments, parameters in the first syntax structure may be signaled before parameters in the second syntax structure. As an example, parameters in SPS may be signaled before parameters in GPS or APS.

[0070] In some embodiments, parameters in the second syntax structure may be absent from the bitstream, and parameters in the first syntax structure may be used for the second syntax structure. In one example, if a parameter in the first syntax structure is indicated to be used for the second syntax structure, the parameter in the second syntax structure may not be signaled. In another example, if a parameter in the second syntax structure is not signaled, a parameter signaled in the first syntax structure may be used for the second syntax structure.

[0071] In some embodiments, the parameters in the second syntax structure may be predicately indicated in the bitstream. In one example, the parameters in the second syntax structure may be determined based on the parameters in the first syntax structure. In some embodiments, the first syntax structure may be an SPS, and the sets of SLPs may further include parameters in GPS and parameters in APS. In some embodiments, the parameters in the first syntax structure may be coded before the parameters in the second syntax structure.

[0072] In some embodiments, the multiple sets of SLPs may include multiple parameter sets for coding the point cloud sequence, for example, the multiple parameter sets may include at least one of SPS, GPS, or APS.

[0073] In some embodiments, a parameter set for coding a data unit of a point cloud sample in a point cloud sequence may be obtained from a plurality of parameter sets by an activation function, and the data unit may include geometry data of the point cloud sample and / or attribute data of the point cloud sample.

[0074] In some embodiments, multiple parameter set indications pointing to multiple parameter sets may be indicated in the bitstream at a second level, which is lower than the sequence level.

[0075] In some embodiments, information regarding whether a multiple parameter set indication pointing to multiple parameter sets is indicated in the bitstream at a second level may depend on the number of parameter sets at a sequence level, which is lower than the sequence level. For example, if multiple parameter sets exist at the sequence level, the multiple parameter set indication may be indicated in the bitstream at the second level. In one example, the multiple parameter set indication may include an index indicating the parameter set used at the second level.

[0076] In some embodiments, the multiple parameter set indications may be coded with fixed length coding. In some alternative embodiments, the multiple parameter set indications may be coded with unary coding. In some alternative embodiments, the multiple parameter set indications may be coded with truncated unary coding. In some alternative or additional embodiments, the multiple parameter set indications may be coded in a predictive manner.

[0077] In some embodiments, one of the multiple parameter set indications may be indicated in a second-level header box. In one example, the multiple parameter set indications may be indicated in a geometry data unit header (GSH). In another example, the multiple parameter set indications may be indicated in an attribute data unit header (ASH). It should be understood that the above examples are provided for illustrative purposes only. The scope of the present disclosure is not limited thereto. In some alternative embodiments, one of the multiple parameter set indications may be indicated in a configuration box in an information unit for a point cloud sample.

[0078] In some embodiments, the data units may be associated at a second level, lower than the sequence level, i.e., an activation function may be used to obtain a parameter set for the current second level.

[0079] In some embodiments, the second level may be assigned at least one of a plurality of parameter sets, and in some embodiments, an indication of the parameter set for the second level may be shown in the headbox of the second level, and the indication may be used to obtain the parameter set by an activation function.

[0080] In some embodiments, the data unit may be a geometry data unit, and the SPS obtained by the activation function for the geometry data unit may be used for other data units.

[0081] In some embodiments, the bitstream of the point cloud sequence may be stored on a non-transitory computer-readable storage medium. The bitstream of the point cloud sequence may be generated by a method executed by a point cloud processing device. According to the method, the bitstream is generated based on multiple sets of SLPs for coding the point cloud sequence. The multiple sets of SLPs are indicated in the bitstream.

[0082] In some embodiments, a bitstream of a point cloud sequence is generated based on multiple sets of SLPs for coding the point cloud sequence. The multiple sets of SLPs are indicated in the bitstream. The bitstream may be stored on a non-transitory computer-readable storage medium.

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

[0084] Clause 1. A point cloud coding method, comprising: performing a conversion between a point cloud sequence and a bitstream of the point cloud sequence based on a plurality of sets of sequence level parameters (SLPs) for coding the point cloud sequence, wherein the plurality of sets of SLPs are indicated in the bitstream.

[0085] Clause 2. The method of clause 1, wherein the plurality of indications pointing to the plurality of sets of SLPs are indicated within the bitstream.

[0086] Clause 3. The method of clause 2, wherein the plurality of instructions includes at least one index that indicates at least one set of SLPs from the plurality of sets of SLPs.

[0087] Clause 4. The method of clause 3, wherein the at least one index is numbered starting from a predetermined number.

[0088] Clause 5. The method of clause 4, wherein the predetermined number is 0.

[0089] Clause 6. The method of any one of clauses 2 to 5, wherein the plurality of instructions are coded using one of fixed length coding, unary coding, or truncated unary coding.

[0090] Clause 7. The method of any one of clauses 2 to 5, wherein the plurality of instructions are predictively coded.

[0091] Clause 8. The method of any one of clauses 2 to 7, wherein the plurality of instructions are respectively indicated within the plurality of sets of SLPs.

[0092] Clause 9. A method according to any one of clauses 1 to 8, wherein the sets of SLPs include parameters in a first syntax structure for coding the point cloud sequence, and at least one of information on whether to indicate parameters in a second syntax structure for coding the point cloud sequence in the bitstream or information on how to indicate the parameters in the second syntax structure in the bitstream depends on the parameters in the first syntax structure, and the type of the second syntax structure is different from the type of the first syntax structure.

[0093] Clause 10. The method of clause 9, wherein the first syntax structure includes a sequence parameter set (SPS).

[0094] Clause 11. The method of clause 9 or 10, wherein the second syntax structure comprises a Geometry Parameter Set (GPS) or an Attribute Parameter Set (APS).

[0095] Clause 12. The method of any one of clauses 9 to 11, wherein the parameters in the first syntax structure are signaled before the parameters in the second syntax structure.

[0096] Clause 13. The method of any one of clauses 9 to 11, wherein the parameters in the second syntax structure are not present in the bitstream and the parameters in the first syntax structure are used for the second syntax structure.

[0097] Clause 14. The method of any one of clauses 9 to 12, wherein the parameters in the second syntax structure are indicated predicatively in the bitstream.

[0098] Clause 15. The method of any one of clauses 9 to 12, wherein the parameters in the second syntax structure are determined based on the parameters in the first syntax structure.

[0099] Clause 16. The method of any one of clauses 9 to 12, wherein the first syntax structure is an SPS, and the sets of SLPs further include parameters in GPS and parameters in APS.

[0100] Clause 17. A method according to any one of clauses 9 to 12, wherein the parameters in the first syntax structure are coded before the parameters in the second syntax structure.

[0101] Clause 18. The method of any one of clauses 1 to 17, wherein the multiple sets of SLPs include multiple parameter sets for coding a point cloud sequence.

[0102] Clause 19. The method of clause 18, wherein the plurality of parameter sets includes at least one of SPS, GPS, or APS.

[0103] Clause 20. The method of clause 18 or 19, wherein a parameter set for coding a data unit of a point cloud sample in the point cloud sequence is obtained from the plurality of parameter sets by an activation function.

[0104] Clause 21. The method of clause 20, wherein the data units include at least one of geometry data of the point cloud samples or attribute data of the point cloud samples.

[0105] Clause 22. A method according to any one of clauses 18 to 21, wherein the parameter set indications pointing to the parameter sets are indicated in the bitstream at a second level, the second level being lower than the sequence level.

[0106] Clause 23. A method according to any one of clauses 18 to 22, wherein information as to whether a plurality of parameter set indications pointing to the plurality of parameter sets are indicated in the bitstream at a second level depends on the number of parameter sets at a sequence level, and the second level is lower than the sequence level.

[0107] Clause 24. The method of clause 22 or 23, wherein the parameter set indication includes an index indicating a parameter set to be used at the second level.

[0108] Clause 25. The method of any one of clauses 22 to 24, wherein the plurality of parameter set indications are coded with one of fixed length coding, unary coding, or truncated unary coding.

[0109] Clause 26. The method of any one of clauses 22 to 24, wherein the plurality of parameter set indications are coded in a predictive manner.

[0110] Clause 27. The method of any one of clauses 22 to 24, wherein one of the plurality of parameter set indications is indicated within the second-level header box.

[0111] Clause 28. A method according to any one of clauses 22 to 24, wherein one of the plurality of parameter set indications is indicated within a configuration box within an information unit for the point cloud sample.

[0112] Clause 29. The method of clause 20 or 21, wherein the data units are associated at a second level lower than the sequence level.

[0113] Clause 30. The method of clause 29, wherein the second level is assigned at least one of the plurality of parameter sets.

[0114] Clause 31. The method of clause 29, wherein an indication pointing to a parameter set for the second level is indicated in a headbox of the second level, the indication being used by the activation function to obtain the parameter set.

[0115] Clause 32. The method according to clause 29, wherein the data unit is a geometry data unit and the SPS obtained by the activation function for the geometry data unit is used for other data units.

[0116] Clause 33. The method of any one of clauses 1 to 32, wherein the transforming comprises encoding the point cloud sequence into the bitstream.

[0117] Clause 34. The method of any one of clauses 1 to 32, wherein the converting comprises decoding the point cloud sequence from the bitstream.

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

[0119] Clause 36. A non-transitory computer-readable storage medium storing instructions that cause a processor to perform the method described in clauses 1-34.

[0120] Clause 37. 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 generating the bitstream based on a plurality of sets of sequence-level parameters (SLPs) for coding the point cloud sequence, the plurality of sets of SLPs being indicated within the bitstream.

[0121] Clause 38. A method for storing a bitstream of a point cloud sequence, comprising: generating the bitstream based on a plurality of sets of sequence level parameters (SLPs) for coding the point cloud sequence; and storing the bitstream in a non-transitory computer-readable recording medium, wherein the plurality of sets of SLPs are indicated in the bitstream.

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

[0123] It will be understood that the computing device 1000 shown in FIG. 10 is for illustrative purposes only and is not intended to limit in any way the functionality and scope of the embodiments of the present disclosure.

[0124] 10, the computing device 1000 includes a general-purpose computing device 1000. The computing device 1000 may include at least one or more processors or processing units 1010, a memory 1020, a storage unit 1030, one or more communication units 1040, one or more input devices 1050, and one or more output devices 1060.

[0125] In some embodiments, computing device 1000 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, or the like. 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 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 computing device 1000 may support any type of interface to a user (e.g., “wearable” circuitry, etc.).

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

[0127] Computing device 1000 typically includes a variety of computer storage media. Such media may be any media accessible by computing device 1000, including, but not limited to, volatile and nonvolatile media, or removable and non-removable media. Memory 1020 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 1030 may be any removable or non-removable medium, including a machine-readable medium such as a memory, flash memory drive, magnetic disk, or other medium, that can be used to store information and / or data and that can be accessed by computing device 1000.

[0128] The computing device 1000 may further include additional removable / non-removable, volatile / non-volatile memory media. Although not shown in FIG. 10, 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 cases, each drive may be connected to a bus (not shown) via one or more data medium interfaces.

[0129] The communications unit 1040 communicates with additional computing devices via a communications medium. Furthermore, the functionality of the components within the computing device 1000 may be performed by a single computing cluster or multiple computing machines that can communicate via communications connections. Thus, the computing device 1000 may operate in a networked environment using logical connections with one or more other servers, networked personal computers (PCs), or additional general network nodes.

[0130] The input device(s) 1050 may be one or more of a variety of input devices such as a mouse, a keyboard, a tracking ball, an audio input device, etc. The output device(s) 1060 may be one or more of a variety of output devices such as a display, a speaker, a printer, etc. The communication unit 1040 enables the computing device 1000 to further communicate with one or more external devices (not shown), such as a storage device and a display device, one or more devices that allow a user to interact with the computing device 1000, or any device (e.g., a network card, a modem, etc.) that allows the computing device 1000 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).

[0131] In some embodiments, instead of being integrated into a single device, some or all of the components of computing device 1000 may be located in a cloud computing architecture. In a cloud computing architecture, 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 requiring end users 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 (e.g., the Internet) using appropriate protocols. For example, a cloud computing provider may provide applications over a wide area network that can be accessed through a web browser or other computing component. Software or components of a cloud computing architecture and corresponding data may be stored on servers in remote locations. Computing resources in a cloud computing environment may be consolidated or distributed at remote data center locations. A cloud computing infrastructure may act as a single point of access 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 in a remote location. Alternatively, they may be provided from a conventional server or installed directly or otherwise on the client device.

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

[0133] In an example embodiment performing point cloud encoding, the input device 1050 may receive point cloud data to be encoded as input 1070. The point cloud data may be processed, for example, by the point cloud coding module 1025 to generate an encoded bitstream. The encoded bitstream may be provided as output 1080 via the output device 1060.

[0134] In an example embodiment performing point cloud decoding, the input device 1050 may receive an encoded bitstream as input 1070. The encoded bitstream may be processed, for example, by the point cloud coding module 1025 to generate decoded point cloud data. The decoded GPCC data may be provided as output 1080 via the output device 1060.

[0135] While 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 detail 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 embodiments of the present application is not intended to be limiting.

Claims

1. A point cloud coding method, comprising: performing a conversion between the point cloud sequence and a bitstream of the point cloud sequence based on a plurality of sets of sequence-level parameters (SLPs) for coding the point cloud sequence; the plurality of sets of SLPs are indicated in the bitstream and include a plurality of parameter sets for coding the point cloud sequence, and a parameter set for coding a data unit of a point cloud sample in the point cloud sequence is obtained from the plurality of parameter sets by an activation function; method.

2. the sets of SLPs include parameters in a first syntax structure for coding the point cloud sequence; at least one of information regarding whether to indicate a parameter in a second syntax structure for coding the point cloud sequence in the bitstream or information regarding how to indicate the parameter in the second syntax structure in the bitstream depends on the parameter in the first syntax structure; the type of the second syntactic structure is different from the type of the first syntactic structure; 10. The method of claim 1 .

3. the first syntax structure includes a sequence parameter set (SPS); or the second syntax structure includes a Geometry Parameter Set (GPS) or an Attribute Parameter Set (APS); The method of claim 2.

4. the parameters in the first syntax structure are signaled before the parameters in the second syntax structure. The method according to any one of claims 2 to 3.

5. the parameter in the second syntax structure is not present in the bitstream and the parameter in the first syntax structure is used for the second syntax structure; or the parameters in the second syntax structure are predictively indicated in the bitstream; or the parameters in the second syntax structure are determined based on the parameters in the first syntax structure; or The first syntax structure is an SPS, and the sets of SLPs further include parameters in GPS and parameters in APS; or the parameters in the first syntax structure are coded before the parameters in the second syntax structure; The method according to any one of claims 2 to 3.

6. the plurality of parameter sets include at least one of SPS, GPS, or APS; The method according to any one of claims 1 to 3.

7. The data unit is Geometry data of the point cloud samples; or at least one of the attribute data of the point cloud samples; The method according to any one of claims 1 to 3.

8. a plurality of parameter set indications pointing to the plurality of parameter sets are indicated in the bitstream at a second level; the second level is lower than the sequence level; or information about whether multiple parameter set indications pointing to the multiple parameter sets are indicated in the bitstream at a second level depends on the number of parameter sets at a sequence level; the second level is lower than the sequence level; The method according to any one of claims 1 to 3.

9. The parameter set indication includes an index indicating a parameter set to be used at the second level. The method of claim 8.

10. The plurality of parameter set instructions include: Fixed-length coding, unary coding, or coded with one of the truncated unary codings, or the parameter set indications are coded in a predictive manner.

9. The method of claim 8.

11. one of the plurality of parameter set indications is indicated within the second-level header box; 9. The method of claim 8.

12. one of the plurality of parameter set indications is indicated in a configuration box within an information unit of the point cloud sample; 9. The method of claim 8.

13. the data units are associated at a second level, which is lower than the sequence level; The method according to any one of claims 1 to 3.

14. the second level is assigned at least one of the plurality of parameter sets; The method of claim 13.

15. an indication of the second-level parameter set is indicated in the second-level header box, the indication being used by the activation function to obtain the parameter set; The method of claim 13.

16. The method of claim 13 , wherein the data unit is a geometry data unit, and the SPS obtained by the activation function of the geometry data unit is used for other data units.

17. the converting comprises encoding the point cloud sequence into the bitstream; or the converting includes decoding the point cloud sequence from the bitstream. The method according to any one of claims 1 to 3.

18. 1. An apparatus for processing point cloud data, comprising: a processor; and a non-transitory memory comprising instructions, The instructions, when executed by the processor, cause the processor to perform the method of any one of claims 1 to 3.

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

20. 1. A method for storing a bitstream of a point cloud sequence, comprising: generating the bitstream based on a plurality of sets of sequence level parameters (SLPs) for coding the point cloud sequence, the plurality of sets of SLPs being indicated in the bitstream and including a plurality of parameter sets for coding the point cloud sequence, wherein a parameter set for coding a data unit of a point cloud sample in the point cloud sequence is obtained from the plurality of parameter sets by an activation function; storing the bitstream in a non-transitory computer-readable recording medium.

Citation Information

Patent Citations

  • Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method

    US20210029187A1

  • High level syntax for geometry-based point cloud compression

    US20210211734A1

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2020032248A1

  • Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device

    WO2021141093A1