Method, device and medium for point cloud coding and decoding
By optimizing the point cloud encoding and decoding process based on the time stamp and geometric information of the point cloud sample, the problem of mismatch between output order and display order is solved, and the encoding and decoding efficiency and prediction accuracy are improved.
Patent Information
- Application Number
- CN202480007119.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-09
- Filing Date
- 2024-01-08
- Publication Date
- 2025-08-15
AI Technical Summary
In the existing point cloud encoding and decoding technology, there is a mismatch between the output order and the display order, resulting in decoding and display delays, and the prediction direction determination of the child nodes is not effective enough, which affects the encoding and decoding efficiency.
The point cloud encoding and decoding process is optimized by deducing the output sequence based on the time stamp and geometric information of the point cloud sample, and deriving the prediction direction of the child node based on the plane information, occupation information and geometric information of the parent node and the reference node.
The orderly output of point cloud samples is realized, which reduces decoding and display delays, and improves the encoding and decoding efficiency and prediction accuracy.
Smart Images

Figure CN120500852A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to point cloud coding and decoding technology, and more particularly, to multi-reference inter-frame prediction for point cloud coding and decoding. Background Art
[0002] A point cloud is a collection of individual data points in a three-dimensional (3D) plane, with each point having defined coordinates on the X, Y, and Z axes. Therefore, point clouds can be used to represent the physical contents of a three-dimensional space. Point clouds have proven to be a promising way to represent 3D visual data for a wide range of immersive applications, from augmented reality to self-driving cars.
[0003] Point cloud codec standards have evolved primarily through the development of the well-known MPEG organization. MPEG, short for Moving Picture Experts Group, is one of the primary standardization organizations dealing with multimedia. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Request for Proposals (CFP) document to begin developing point cloud codec standards. The final standard will include two types of solutions. Video-based point cloud compression (V-PCC or VPCC) is suitable for point sets with a relatively uniform point distribution. Geometry-based point cloud compression (G-PCC or GPCC) is suitable for more sparse distributions. However, the codec quality and codec efficiency of conventional point cloud codec technologies are generally expected to be further improved. Summary of the Invention
[0004] The embodiments of the present disclosure provide a solution for point cloud encoding and decoding.
[0005] In a first aspect, a method for point cloud encoding and decoding is provided, comprising: performing conversion between a point cloud sequence and a bitstream of the point cloud sequence, wherein an output order of a plurality of point cloud (PC) samples of the point cloud sequence depends on timestamps of the plurality of PC samples.
[0006] Based on the method according to the first aspect of the present disclosure, the output order of PC samples depends on their timestamps. Compared to conventional solutions in which the output order depends on the number of times each PC sample is referenced by other PC samples, the proposed method can advantageously enable the output of PC samples according to the display order, thereby avoiding a mismatch between the output order and the display order. As a result, codec quality can be improved.
[0007] In a second aspect, another method for point cloud encoding and decoding is provided. The method includes performing conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
[0008] Based on the method according to the first aspect of the present disclosure, the prediction direction for a node is indicated in the bitstream. Compared with conventional solutions in which the prediction direction is determined at both the encoder and the decoder, the proposed method can advantageously improve encoding and decoding efficiency.
[0009] In a third aspect, a device for point cloud encoding and decoding is provided, comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to the first aspect of the present disclosure.
[0010] In a fourth aspect, a non-transitory computer-readable storage medium is provided, wherein the non-transitory computer-readable storage medium stores instructions for causing a processor to execute the method according to the first aspect of the present disclosure.
[0011] In a fifth aspect, another non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding. The method includes performing conversion between a point cloud sequence and a bitstream, wherein the output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples.
[0012] In a sixth aspect, a method for storing a bitstream of a point cloud sequence is provided. The method includes: performing conversion between a point cloud sequence and a bitstream, wherein an output order of a plurality of point cloud (PC) samples of the point cloud sequence depends on timestamps of the plurality of PC samples; and storing the bitstream in a non-transitory computer-readable recording medium.
[0013] In a seventh aspect, another non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding. The method includes: performing a conversion between a current point cloud (PC) sample of the point cloud sequence and a bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample in a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
[0014] In an eighth aspect, a method for storing a bitstream of a point cloud sequence is provided. The method includes: performing conversion between a current point cloud (PC) sample of the point cloud sequence and a bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample in a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node; and storing the bitstream in a non-transitory computer-readable recording medium.
[0015] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become more apparent through the following detailed description with reference to the accompanying drawings.In the exemplary embodiments of the present disclosure, the same reference numerals generally refer to the same components.
[0017] Figure 1 A block diagram illustrating an example video encoding and decoding system is shown according to some embodiments of the present disclosure;
[0018] Figure 2 shows a block diagram illustrating a first example video encoder according to some embodiments of the present disclosure;
[0019] Figure 3 shows a block diagram illustrating an example video decoder according to some embodiments of the present disclosure;
[0020] Figure 4 An example of inter-frame prediction for predictive geometry coding is shown;
[0021] Figure 5 An example of deriving the predicted direction of a child node is shown;
[0022] Figure 6 An example of bidirectional prediction under prediction tree geometry coding is shown;
[0023] Figure 7 A flowchart of a method for point cloud encoding and decoding according to an embodiment of the present disclosure is shown;
[0024] Figure 8 A flowchart of a method for point cloud encoding and decoding according to an embodiment of the present disclosure is shown; and
[0025] Figure 9A block diagram is shown of a computing device in which various embodiments of the present disclosure may be implemented.
[0026] Throughout the drawings, the same or similar reference numbers generally refer to the same or similar elements. DETAILED DESCRIPTION
[0027] The principles of the present disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described only for the purpose of illustrating and helping those skilled in the art to understand and implement the present disclosure, and do not imply any limitation on the scope of the present disclosure. In addition to the methods described below, the disclosure described herein can also be implemented in various ways.
[0028] In the following description and claims, unless defined otherwise, all scientific and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
[0029] References in this disclosure to "one embodiment," "an embodiment," "an example embodiment," and the like indicate that the described embodiment may include a particular feature, structure, or characteristic, but not every embodiment is required to include the particular feature, structure, or characteristic. Furthermore, these phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in conjunction with an example embodiment, whether or not explicitly described, it is considered within the knowledge of those skilled in the art to affect such feature, structure, or characteristic in relation to other embodiments.
[0030] It should be understood that although the terms "first" and "second" and the like may be used herein to describe various elements, these elements should not be limited to these terms. These terms are only used to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element without departing from the scope of the example embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the listed terms.
[0031] The terms used herein are for the purpose of describing specific embodiments only and are not intended to limit the example embodiments. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the terms "comprises," "includes," and / or "having" when used herein indicate the presence of the 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. Sample Environment
[0032] Figure 1is a block diagram illustrating an example point cloud codec system 100 that may utilize the techniques of the present disclosure. As shown, the point cloud codec 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 the present disclosure are generally directed to encoding and decoding (encoding and / or decoding) point cloud data, i.e., to support point cloud compression. The codec may efficiently compress and / or decompress point cloud data.
[0033] Source device 100 and destination device 120 may include any of a wide variety of devices, including desktop computers, notebook (i.e., portable) computers, tablet computers, set-top boxes, telephone handsets (such as smartphones and mobile phones), televisions, cameras, display devices, digital media players, video game consoles, video streaming devices, vehicles (e.g., land or sea vehicles, spacecraft, aircraft, etc.), robots, LIDAR devices, satellites, extended reality devices, etc. In some cases, source device 100 and destination device 120 may be equipped for wireless communication.
[0034] The source device 100 may include a data source 112, a memory 114, a GPCC encoder 116, and an input / output (I / O) interface 118. The destination device 120 may include an input / output (I / O) interface 128, a GPCC decoder 126, a memory 124, and a data consumer 122. According to the present disclosure, the GPCC encoder 116 of the source device 100 and the GPCC decoder 126 of the destination device 120 may be configured to apply the techniques of the present disclosure related to point cloud encoding and decoding. Therefore, the source device 100 represents an example of an encoding device, while the destination device 120 represents an example of a decoding device. In other examples, the source device 100 and the destination device 120 may include other components or arrangements. For example, the source device 100 may receive data (e.g., point cloud data) from an internal or external source. Similarly, the destination device 120 may be connected to an external data consumer interface instead of including the data consumer in the same device.
[0035] Generally speaking, data source 112 represents a source of point cloud data (i.e., raw, unencoded point cloud data) and can provide a sequential series of "frames" of point cloud data to GPCC encoder 116, which encodes the frames of point cloud data. In some examples, data source 112 generates point cloud data. Data source 112 of source device 100 can 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 containing previously captured point cloud data, a 3D scanner, or a light detection and ranging (LIDAR) device, and / or a data feed interface that receives point cloud data from a data content provider. Thus, in some examples, data source 112 can generate point cloud data based on a signal from a LIDAR device. Alternatively or additionally, point cloud data can be computer-generated from a scanner, camera, sensor, or other data. For example, data source 112 can generate point cloud data, or produce a combination of real-time point cloud data, archived point cloud data, and computer-generated point cloud data. In each case, the GPCC encoder 116 encodes the captured, pre-captured, or computer-generated point cloud data. The GPCC encoder 116 can rearrange the frames of the point cloud data from the order in which they were received (sometimes referred to as "display order") to the order in which they are encoded for encoding and decoding. The GPCC encoder 116 can generate one or more bitstreams comprising the encoded point cloud data. The source device 100 can then output the encoded point cloud data via the I / O interface 118 for receipt and / or retrieval by, for example, the I / O interface 128 of the destination device 120. The encoded point cloud data can be transmitted directly to the destination device 120 via the I / O interface 118 over the network 130A. The encoded point cloud data can also be stored on the storage medium / server 130B for access by the destination device 120.
[0036] The memory 114 of the source device 100 and the memory 124 of the destination device 120 can represent general purpose memory. In some examples, the memory 114 and the memory 124 can store raw point cloud data, such as the raw point cloud data from the data source 112 and the raw, decoded point cloud data from the GPCC decoder 126. Additionally or alternatively, the memory 114 and the memory 124 can store software instructions, such as those executable by the GPCC encoder 116 and the GPCC decoder 126, respectively. Although the memory 114 and the memory 124 are shown separately from the GPCC encoder 116 and the GPCC decoder 126 in this example, it should be understood that the GPCC encoder 116 and the GPCC decoder 126 can also include internal memory for functionally similar or equivalent purposes. Furthermore, the memory 114 and the memory 124 can store encoded point cloud data, such as the encoded point cloud data 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, eg, to store raw, decoded, and / or encoded point cloud data. For example, memory 114 and memory 124 may store point cloud data.
[0037] I / O interface 118 and I / O interface 128 may represent a wireless transmitter / receiver, a modem, a wired network component (e.g., an Ethernet card), a wireless communication component operating according to any of the various IEEE 802.11 standards, or other physical components. In examples where I / O interface 118 and I / O interface 128 include wireless components, I / O interface 118 and I / O interface 128 may be configured to transmit data (such as encoded point cloud data) according to a cellular communication standard (such as 4G, 4G-LTE (Long Term Evolution), Advanced LTE, 5G, etc.). In some examples where I / O interface 118 includes a wireless transmitter, I / O interface 118 and I / O interface 128 may be configured to transmit data (such as encoded point cloud data) according to other wireless standards (such as IEEE 802.11 specifications). In some examples, source device 100 and / or destination device 120 may include corresponding system-on-chip (SoC) devices. For example, source device 100 may include a SoC device for performing the functions attributed to GPCC encoder 116 and / or I / O interface 118 , and destination device 120 may include a SoC device for performing the functions attributed to GPCC decoder 126 and / or I / O interface 128 .
[0038] The techniques of this disclosure can be applied to encoding and decoding to support any of a variety of applications, such as communication between autonomous vehicles, communication between scanners, cameras, sensors and processing devices (such as local or remote servers), geographic mapping, or other applications.
[0039] The I / O interface 128 of the destination device 120 receives the encoded bitstream from the source device 110. The encoded bitstream may include signaling information defined by the GPCC encoder 116 and also used by the GPCC decoder 126, such as syntax elements with values representing the point cloud. The decoded data is used by the data consumer 122. For example, the data consumer 122 may use the decoded point cloud data to determine the position of a physical object. In some examples, the data consumer 122 may include a display for presenting an image based on the point cloud data.
[0040] The GPCC encoder 116 and the GPCC decoder 126 can 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 any combination thereof. When the technology is partially implemented in software, the device can store the instructions of the software in a suitable non-transitory computer-readable medium and execute the instructions in hardware using one or more processors to perform the technology of the present disclosure. Each of the GPCC encoder 116 and the GPCC decoder 126 can be included in one or more encoders or decoders, and either of the GPCC encoder 116 and the GPCC decoder 126 can be integrated as part of a combined encoder / decoder (CODEC) in the corresponding device. The 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.
[0041] The GPCC encoder 116 and the GPCC decoder 126 may operate in accordance with a codec standard, such as the Video Point Cloud Compression (VPCC) standard or the Geometric Point Cloud Compression (GPCC) standard. The present disclosure may generally refer to the encoding and decoding of a frame (e.g., encoding and decoding) to include the process of encoding or decoding data. The encoded bitstream typically includes a series of values for syntax elements that represent codec decisions (e.g., codec mode).
[0042] A point cloud can contain a set of points in 3D space and can have attributes associated with the points. The attributes can be color information such as R, G, B or Y, Cb, Cr or reflectivity information, or other attributes. Point clouds can be captured by various cameras or sensors (such as LIDAR sensors and 3D scanners) and can also be computer-generated. Point cloud data is used in various applications, including but not limited to architecture (modeling), graphics (3D models for visualization and animation), and the automotive industry (LIDAR sensors to aid navigation).
[0043] Figure 2 is a block diagram illustrating an example of a GPCC encoder 200 according to some embodiments of the present disclosure. The GPCC encoder 200 may be Figure 1 An example of a GPCC encoder 116 in the system 100 is shown. Figure 3 is a block diagram illustrating an example of a GPCC decoder 300 according to some embodiments of the present disclosure. The GPCC decoder 300 may be Figure 1 An example of the GPCC decoder 126 in the system 100 is shown.
[0044] In both the GPCC encoder 200 and the GPCC decoder 300, the point cloud position is first encoded and decoded. The attribute encoding and decoding depends on the decoded geometry. Figure 2 and Figure 3 , the region adaptive hierarchical transform (RAHT) unit 218, the surface approximation analysis unit 212, the RAHT unit 314, and the surface approximation synthesis unit 310 are options commonly 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 commonly used for category 3 data. All other units are common between category 1 and category 3.
[0045] For category 3 data, the compressed geometry is typically represented as an octree from the root down to the leaf level for 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 for blocks larger than a voxel) plus a model that approximates the surface within each leaf of the pruned octree. In this way, both category 1 and category 3 data share the octree codec mechanism, while category 1 data can additionally approximate the voxels within each leaf with a surface model. The surface model used is a triangulation with 1-10 triangles per block, resulting in a triangle soup. Therefore, category 1 geometry codecs are called trisoup geometry codecs, while category 3 geometry codecs are called octree geometry codecs.
[0046] exist Figure 2In the example, the GPCC encoder 200 may include a coordinate transformation unit 202, a color transformation unit 204, a voxelization unit 206, an attribute transfer unit 208, an octree analysis unit 210, a surface approximation analysis unit 212, an arithmetic coding unit 214, a geometric reconstruction unit 216, a RAHT unit 218, an LOD generation unit 220, a lifting unit 222, a coefficient quantization unit 224 and an arithmetic coding unit 226.
[0047] like Figure 2 As shown in the example of , the GPCC encoder 200 can receive a set of locations and a set of attributes. The locations can include the coordinates of a point in the point cloud. The attributes can include information about the point in the point cloud, such as the color associated with the point in the point cloud.
[0048] The coordinate transformation unit 202 can apply a transformation to the coordinates of the point to transform the coordinates from the original domain to the transformed domain. This disclosure may refer to the transformed coordinates as transformed coordinates. The color transformation unit 204 can apply a transformation to convert the color information of the attribute to a different domain. For example, the color transformation unit 204 can convert the color information from the RGB color space to the YCbCr color space.
[0049] In addition, Figure 2 In the example of , the voxelization unit 206 can voxelize the transformed coordinates. Voxelization of the transformed coordinates can include quantizing and removing some points of the point cloud. In other words, multiple points of the point cloud can be grouped into a single "voxel", which can then be treated as a point in some aspects. In addition, the octree analysis unit 210 can generate an octree based on the voxelized transformed coordinates. Additionally, in Figure 2 In the example of FIG, the surface approximation analysis unit 212 can analyze the points to potentially determine a surface representation of the set of points. The arithmetic coding unit 214 can perform arithmetic coding on syntax elements representing information about the octree and / or information about the surface determined by the surface approximation analysis unit 212. The GPCC encoder 200 can output these syntax elements in a geometry bitstream.
[0050] The geometric reconstruction unit 216 can reconstruct the transformed coordinates of the 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. Due to voxelization and surface approximation, the number of transformed coordinates reconstructed by the geometric reconstruction unit 216 may differ from the original number of points in the point cloud. This disclosure may refer to the generated points as reconstructed points. The attribute transfer unit 208 can transfer attributes of the original points of the point cloud to the reconstructed points of the point cloud data.
[0051] Furthermore, the RAHT unit 218 may apply RAHT coding to the attributes of the reconstruction 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 reconstruction 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 the attribute bitstream.
[0052] exist Figure 3 In the example, the GPCC decoder 300 may include a geometric arithmetic decoding unit 302, an attribute arithmetic decoding unit 304, an octree synthesis unit 306, an inverse quantization unit 308, a surface approximation synthesis unit 310, a geometric reconstruction unit 312, a RAHT unit 314, an LOD generation unit 316, an inverse lifting unit 318, a coordinate inverse transformation unit 320 and a color inverse transformation unit 322.
[0053] The GPCC decoder 300 may obtain a geometry bitstream and an attribute bitstream. The 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, the attribute arithmetic decoding unit 304 may apply arithmetic decoding to syntax elements in the attribute bitstream.
[0054] The octree synthesis unit 306 may synthesize the octree based on syntax elements parsed from the geometry bitstream. In the case where surface approximation is used in the geometry bitstream, the surface approximation synthesis unit 310 may determine the surface model based on syntax elements parsed from the geometry bitstream and based on the octree.
[0055] Furthermore, the geometric reconstruction unit 312 may perform reconstruction to determine the coordinates of the points in the point cloud. The coordinate inverse transformation unit 320 may apply an inverse transformation to the reconstructed coordinates to convert the reconstructed coordinates (positions) of the points in the point cloud from the transformed domain back to the original domain.
[0056] Additionally, in Figure 3 In the example of , the inverse quantization unit 308 may inverse quantize the property value. The property value may be based on syntax elements obtained from the property bitstream (eg, including syntax elements decoded by the property arithmetic decoding unit 304).
[0057] Depending on how the attribute values are encoded, the RAHT unit 314 may perform RAHT encoding and decoding to determine the color values of the points of the point cloud based on the dequantized attribute values. Alternatively, the LOD generation unit 316 and the de-lifting unit 318 may use a level of detail based technique to determine the color values of the points of the point cloud.
[0058] In addition, Figure 3 In the example of , the inverse color transform unit 322 can apply an inverse color transform to the color values. The inverse color transform can 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 can transform the color information from the RGB color space to the YCbCr color space. Correspondingly, the inverse color transform unit 322 can transform the color information from the YCbCr color space to the RGB color space.
[0059] Figure 2 and Figure 3 The various units are shown to assist in understanding the operations performed by the encoder 200 and the decoder 300. These units can 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-set in the operations that can 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 can be performed. For example, a programmable circuit can execute software or firmware that causes the programmable circuit to operate in a manner defined by the instructions of the software or firmware. A fixed-function circuit can execute software instructions (e.g., to receive parameters or output parameters), but the type of operation performed by the fixed-function circuit is generally immutable. In some examples, one or more of these units can be different circuit blocks (fixed-function or programmable), and in some examples, one or more of these units can be integrated circuits.
[0060] The following describes some exemplary embodiments of the present disclosure in detail. It should be understood that the section headings used in this document are for ease of understanding and do not limit the embodiments disclosed in a section to that section. In addition, although specific embodiments are described with reference to GPCC or other specific point cloud codecs, the disclosed techniques are also applicable to other point cloud codec technologies. In addition, although some embodiments describe the point cloud encoding and decoding steps in detail, it should be understood that the corresponding decoding steps for de-encoding will be implemented by the decoder. 1. Brief Overview This disclosure relates to point cloud codec technology. Specifically, it is about multi-reference inter-frame prediction in point cloud compression. The ideas can be applied alone or in various combinations to any point cloud codec standard or non-standard point cloud codec, such as the 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 Codec Group CFP Request for Proposals V-PCC Video-based Point Cloud Compression CE Core Experiment EE Exploration Experiment inter-EM inter-frame exploration model GOF Frame Group RDO rate-distortion optimization GM Global Movement QP quantization parameter RA Random Access FIFO First In First Out OC occupation code POC picture sequence counting PC Point Cloud 3. Introduction Point cloud codec standards have evolved primarily through the well-known MPEG organization. MPEG, short for Moving Picture Experts Group, is one of the leading standards organizations for multimedia. In 2017, the MPEG 3D Graphics Codec Group (3DG) released a Request for Proposals (CFP) document to begin developing point cloud codec standards. The final standard will include two types of solutions. Video-based point cloud compression (V-PCC) is suitable for point sets with a relatively uniform distribution of points. Geometry-based point cloud compression (G-PCC) is suitable for more sparse distributions. To explore future point cloud codec techniques in G-PCC, Core Experiment (CE) 13.5 and Exploration Experiment (EE) 13.2 were formed to develop inter-frame prediction techniques in G-PCC. Since then, many new inter-frame prediction methods have been adopted by MPEG and put into reference software called Inter-frame Exploration Model (inter-EM). In a point cloud frame, there are many data points describing a 3D object or scene. Each data point can have corresponding geometric and attribute information. Geometric information is used to record the spatial position of the data point. Attribute information is used to record more detailed information about the data point, such as texture, normal vector, and reflectance. In inter-EM, optional tools are provided to support inter-frame predictive encoding and decoding of geometric and attribute information, respectively. For attribute information, the codec uses the attribute information of reference points to perform inter-frame prediction for each point in the current frame. Reference points are selected from data points in the current frame and reference frames based on their geometric distance. Each reference point is assigned a weighted value based on its geometric distance from the current point. The predicted attribute value can be a weighted average of the attribute values of the reference points or a single attribute value from the reference points. The decision on the predicted attribute value is based on the rate-distortion optimization (RDO) method. For geometric information, there are two main approaches to perform inter-frame prediction coding and decoding, the two main approaches are octree-based approaches and prediction tree-based approaches. In the first approach, geometric information is represented by an octree structure and an occupancy code (OC) for each node. For each node in the octree of the current frame, the codec determines whether to perform octagonal partitioning based on the number of points in the current node. The same partitioning is performed on the corresponding reference node in the reference frame. Simultaneously, the occupancy codes of the current and reference nodes are calculated. The codec uses the occupancy code of the reference node to perform predictive encoding and decoding on the occupancy code of the current node. In the second method, the points in the point cloud are sorted to form a prediction tree. Figure 4 An example of inter-frame prediction for predictive geometry coding is shown. Figure 4 As shown, for each point, the previously decoded point will be selected as point A. Then, the point in the reference frame with the same zoom position and laser ID as point A will be selected as point B. Finally, the point in the reference frame that is the first point with a zoom position greater than point B will be selected as point C. The codec will use the geometric information of point C to perform predictive coding and decoding on the geometric information of the current point. In the current inter-EM, the IPPP structure is applied, which means that if the current frame applies inter-frame prediction, the reference frame of the current frame is the previous frame. At the same time, inter-EM uses the quantization parameter (QP) to control the bit rate point, and all frames share the same QP value. 3.1 Multi-reference Inter-frame Prediction Multi-reference inter prediction is studied and related tools are adopted by G-PCC v2. In this work, B frames and related inter prediction modes are proposed and studied. A hierarchical GOF structure is proposed to perform inter-frame prediction for geometry codec and attribute codec. In the hierarchical GOF structure, the first frame in each GOF is an I-frame or a P-frame. The other frames in the GOF are B-frames, which use two reference frames from the forward and backward directions. For octree geometry coding, the prediction direction of the child nodes of the current node is derived based on the relationship between the occupancy code of the current node and the occupancy code of the reference node. Figure 5An example of how to derive the prediction direction is shown. For the child nodes of the current node with an occupancy flag equal to 1, the corresponding occupancy flags of the previous reference frame and the subsequent reference frame are denoted as bit_pre and bit_follow, respectively. Then, the prediction direction of the current node is derived according to the following rules. - If bit_pre=1 and bit_follow=0, the prediction direction of the child node is set to perform inter-frame prediction using the previous reference (forward) node. - If bit_pre=0 and bit_follow=1, the prediction direction of the child node is set to perform inter-frame prediction using the subsequent reference (reverse) node. If bit_pre = bit_follow = 1, the number of mismatched bits between the current node's occupied code and the reference node's occupied code is calculated. If the number of mismatched bits is different, the prediction direction of the child node is set to the prediction direction with the smaller number of mismatches. Otherwise, the prediction direction of the child node is set to the prediction direction of the parent node. 4. Question The existing design of xxx has the following problems: 1. In the current design, the output order of point cloud frames is determined by the reference time of each frame. If a frame is not used as a reference frame for any other frame, it is determined to be output. However, there is a mismatch between the output order and the display order, which will introduce a delay between decoding and display. 2. In the current design, the prediction direction of each child node is determined solely by the occupancy information of the parent node. However, the difference in the occupancy code of the parent node cannot fully reflect the difference in the geometric information of the child node. This determination is ineffective, resulting in poor prediction efficiency. 5. Detailed solutions In order to solve the above problems and some other problems not mentioned, the following methods are disclosed. These solutions should be considered as examples to explain general concepts and should not be interpreted in a narrow sense. In addition, these solutions can be applied alone or combined in any way. In the following discussion, the term "PC sample" refers to a unit on which predictive coding is performed in point cloud sequence coding, such as a frame / picture / slice / slice / sub-picture / node / point / other unit containing one or more nodes or points. 1) It is proposed to output the decoded point cloud samples according to the display order of the decoded point cloud samples. a. In one example, the display order may be consistent with the decoding order, such as when B frames are disabled. i. In one example, the output order may be consistent with the decoding order. b. In one example, the display order may be different from the decoding order, such as when B-frames are enabled. i. In one example, the output order may be different from the decoding order. ii. In one example, there may be at least one indicator to indicate whether a decoded point cloud sample should be output. 1. In one example, the indicator can be derived based on the timestamp of a previously output point cloud sample. a. In one example, when the timestamp of a decoded point cloud sample is equal to the sum of the timestamp of a previous output point cloud sample and a timestamp step (such as 1), the indicator may be indicated as output. 2. In one example, the indicator may be derived based on the reference time of the decoded point cloud samples. a. In one example, the reference time is the number of times a point cloud sample is referenced by other point cloud samples that have not yet been decoded. b. In one example, when the reference time of the decoded point cloud sample is equal to 0, the indicator may be indicated as output. 3. In one example, when the decoded point cloud samples have been output, the indicator may indicate not to output. 4. The above descriptions can be combined to derive indicators. iii. In one example, the indicator may be derived at the decoder. iv. In one example, the indicator may be updated during the decoding process. v. In one example, when the indicator indicates output, the decoded point cloud samples may be output. 2) It is proposed to deduce the prediction direction of a node based on the plane information of the parent node and the reference parent node. a. In one example, for each node in an octree, there is a parent node. b. In one example, for each parent node, there can be multiple reference parent nodes. c. In one example, the plane information of a node is used to indicate the point distribution in a half-node space divided along a certain direction (such as the x / y / z axis direction). i. In one example, there may be two indicators to respectively indicate the plane information of two half-node spaces divided along the x-axis direction. ii. In one example, there may be two indicators to respectively indicate the plane information of the two half-node spaces divided along the y-axis direction. iii. In one example, there may be two indicators to respectively indicate the plane information of two half-node spaces divided along the z-axis direction. d. In one example, the plane information of the parent node and the reference parent node can be used to derive the prediction direction of each child node of the parent node. i. In one example, each prediction direction is associated with a reference parent node and a corresponding reference child node in the reference parent node. ii. In one example, the difference between the plane information of the parent node and the plane information of each reference parent node can be derived. iii. In one example, the difference in plane information can be used to derive the prediction direction. 1. In one example, the prediction direction may be set to a direction having a smaller difference in plane information. iv. In one example, the difference in plane information can be combined with other information (such as occupancy information, mismatched number of occupied bits, etc.) to derive the prediction direction. 3) It is proposed to deduce the prediction direction of a node based on the occupancy information of the current node and the reference node. a. In one example, for each node in the octree, there can be multiple reference nodes. b. In one example, for each node or reference node, there may be an occupancy code to indicate occupancy information. c. In one example, each prediction direction is associated with a reference node. d. In one example, the difference between the node's occupancy code and the occupancy code of each reference node can be derived. e. In one example, the difference in occupancy codes can be used to derive the prediction direction. i. In one example, the prediction direction may be set to a direction having a smaller difference in occupied codes. f. In one example, the difference in occupancy codes can be combined with other information (such as occupancy information of the parent node level, the number of mismatched occupancy bits of the parent node level, etc.) to derive the prediction direction. 4) It is proposed to deduce the predicted direction of a node based on the geometric information of the current node and the reference node. a. In one example, for each node in the prediction tree, there can be multiple reference nodes. b. In one example, for each node or reference node, geometric information may be represented in the form of geometric coordinates. i. In one example, the geometric coordinates may be in a Euclidean coordinate system. ii. In one example, the geometric coordinates may be in a spherical coordinate system. c. In one example, each prediction direction is associated with a reference node. d. In one example, the difference between the geometric information of the node and the geometric information of each reference node can be derived. e. In one example, the difference in geometric information can be used to derive the prediction direction. i. In one example, the prediction direction may be set to a direction having a smaller difference in geometric information. f. In one example, the difference in geometric information can be combined with other information (such as occupancy information of the parent node level, the number of mismatched occupied bits of the parent node level, etc.) to derive the prediction direction. 5) It is proposed to transmit the prediction direction of each node to the decoder through signal. a. In one example, the prediction direction can be derived at the encoder. b. In one example, the prediction direction can be conditionally signaled. i. In one example, when there are multiple reference point cloud samples for the current point cloud sample, the predicted direction can be transmitted via a signal. ii. In one example, when there are multiple reference nodes for the current node, the prediction direction may be transmitted via a signal. iii. In one example, when there are multiple prediction value candidates for the current node, the prediction direction may be transmitted via a signal. c. In one example, for each node, there may be at least one indicator to indicate the prediction direction. i. In one example, the indicator may be a frame index of a reference frame to which the applied reference node belongs. ii. In one example, the indicator may be an index of the applied candidate value in the prediction value candidate list. iii. In one example, the indicator may be the prediction direction, such as forward prediction being set to 0 and backward prediction being set to 1. d. In one example, the indicator may be derived at the encoder. e. In one example, the indicator may be signaled to the decoder. i. In one example, the indicator can be encoded using a fixed-length codec, a unary codec, a truncated unary codec, etc. ii. In one example, the indicator may be encoded in a predictive manner. 6) Whether and / or how to apply the above disclosed methods may be signaled from the encoder to the decoder in the bitstream / frame / slice / slice / octree / etc. 7) Whether to apply the above disclosed method and / or how to apply the above disclosed method may depend on the coded information, such as dimension, color format, color component, slice / picture type. 6. Examples This embodiment describes an example of how to perform bidirectional prediction under prediction tree geometry coding. Figure 6 An example of bidirectional prediction under prediction tree geometry coding is shown. At the encoder, for each node P in the current frame i , its parent node P i-1 First, the corresponding node P' of the parent node is found. i-1 and P″ i-1 They are found in two reference frames respectively. Third, the four reference nodes P′ of the current node i , P′ i+1 、P i ″ and P″ i+1 are found in two reference frames respectively. Then, the geometric information residual of each reference node is calculated. Finally, based on the geometric information residual, a prediction value is selected from the four reference nodes. An indicator is used to indicate the prediction value index (0 / 1 / 2 / 3), and the indicator is transmitted to the decoder through a signal.
[0061] More details of embodiments of the present disclosure related to multi-reference inter-frame prediction will be described below. The embodiments of the present disclosure should be considered as examples to explain general concepts and should not be interpreted in a narrow sense. In addition, these embodiments can be applied alone or combined in any way.
[0062] As used herein, the term "point cloud sequence" may refer to a sequence of one or more point clouds. The term "point cloud frame" or "frame" may refer to a point cloud in a point cloud sequence. The term "point cloud (PC) sample" may refer to a frame, a sub-region within a frame, a picture, a slice, a sub-frame, a sub-picture, a slice, a segment, or any other suitable processing unit.
[0063] Figure 7 A flowchart of a method 700 for point cloud encoding and decoding according to some embodiments of the present disclosure is shown. At 702, conversion between a point cloud sequence and a bitstream of the point cloud sequence is performed. In some embodiments, the conversion includes encoding the point cloud sequence into the bitstream. Additionally or alternatively, the conversion includes decoding the point cloud sequence from the bitstream.
[0064] In addition, the output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples. For example, the multiple PC samples can be decoded from the bitstream. In addition, the output order can be determined based on the timestamps of the multiple PC samples.
[0065] In some embodiments, the output order may be the same as the display order of the plurality of PC samples. In other words, the plurality of PC samples may be output based on the display order of the plurality of PC samples. The display order may be the same as the timestamp order of the plurality of PC samples.
[0066] Given the above, the output order of PC samples depends on their timestamps. Compared to conventional solutions where the output order depends on the number of times each PC sample is referenced by other PC samples, the proposed method can advantageously enable PC samples to be output according to the display order, thereby avoiding a mismatch between the output order and the display order. In this way, encoding and decoding quality can be improved.
[0067] In some embodiments, the display order can be the same as the encoding and decoding order of the multiple PC samples. The encoding and decoding order can be the encoding order or the decoding order. For example, if the bidirectional prediction scheme is disabled for the multiple PC samples, the display order can be the same as the encoding and decoding order of the multiple PC samples. In these cases, the output order of the multiple PC samples can be the same as the encoding and decoding order of the multiple PC samples.
[0068] In some embodiments, the display order may differ from the encoding and decoding order of the plurality of PC samples. For example, if a bidirectional prediction scheme is enabled for at least one of the plurality of PC samples, the display order may differ from the encoding and decoding order of the plurality of PC samples. In these cases, the output order of the plurality of PC samples may differ from the encoding and decoding order of the plurality of PC samples.
[0069] In some embodiments, there may be at least one indication for each of a plurality of PC samples to indicate whether the PC sample is to be output. For example, a first indication indicates whether a first PC sample of a plurality of PC samples is to be output. The indication may be implemented as a flag, an index, or any other suitable element for transmitting information via a signal. In some embodiments, the first indication may be determined at a decoder for performing the conversion. Additionally or alternatively, the first indication may be updated during the conversion.
[0070] In some embodiments, the first indication can be determined based on the timestamp of the most recently output PC sample. By way of example and not limitation, if the timestamp of the first PC sample is equal to the sum of the timestamp step size (such as 1) and the timestamp of the most recently output PC sample, then the first indication indicates that the first PC sample will be output.
[0071] Alternatively, the first indication may be determined based on the timestamp of the most recently output PC sample and a reference metric of the first PC sample. The reference metric of the first PC sample indicates the number of times the first PC sample is used as a reference PC sample for the PC sample to be encoded and decoded. As used herein, the reference metric may also be referred to as a reference time. For example, at the beginning of the encoding and decoding process, the reference metric of the first PC sample may be 5, indicating that the first PC sample is referenced by 5 PC samples that have not yet been encoded and decoded. During the encoding and decoding process, if one of the 5 PC samples has been encoded and decoded, the reference metric of the first PC sample may be updated to 4. After all 5 PC samples have been encoded and decoded, the reference metric of the first PC sample may be maintained at 0, indicating that the first PC sample will not be referenced by any additional PC samples in the remaining encoding and decoding processes.
[0072] In some embodiments, if the timestamp of the first PC sample is equal to the sum of the timestamp step (such as 1, etc.) and the timestamp of the most recently output PC sample, and the reference metric is equal to a first value (such as 0, etc.), the first indication indicates that the first PC sample will be output.
[0073] In some embodiments, if the first indication indicates that the first PC sample is to be output, the first PC sample may be output. Additionally or alternatively, if the first PC sample has already been output, the first indication may indicate that the first PC sample is not to be output.
[0074] By means of the first indication, the output order of the PC samples can be controlled based on the timestamps of the PC samples. This can advantageously enable the PC samples to be output according to the display order, thereby avoiding a mismatch between the output order and the display order. As a result, the encoding and decoding quality can be improved.
[0075] According to another embodiment of the present disclosure, a non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding. In the method, conversion between a point cloud sequence and a bitstream is performed. The output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples.
[0076] According to further embodiments of the present disclosure, a method for storing a bitstream of a point cloud sequence is provided. In this method, conversion between a point cloud sequence and a bitstream is performed. The output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples. In addition, the bitstream is stored in a non-transitory computer-readable recording medium.
[0077] In view of the above, the solution according to some embodiments of the present disclosure can advantageously enable better control over the output order of PC samples.
[0078] Figure 8 A flow chart of a method 800 for point cloud encoding and decoding according to some embodiments of the present disclosure is shown. At 802, a conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence is performed. In some embodiments, the conversion includes encoding the current PC sample into the bitstream. Additionally or alternatively, the conversion includes decoding the current PC sample from the bitstream.
[0079] In addition, a prediction direction for a current node in a current PC sample is indicated in the bitstream. The prediction direction corresponds to a first reference PC sample in a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of the geometric information of the current node. In some embodiments, the prediction direction can be determined at an encoder that performs the conversion, for example, based on the geometric information of the current node and the geometric information of each reference node in a plurality of reference nodes for the current node, and / or any other suitable information. This will be described in detail below.
[0080] In view of the above, the prediction direction for a node is indicated in the bitstream. Compared with the conventional solution in which the prediction direction is determined at both the encoder and the decoder, the proposed method can advantageously improve the encoding and decoding efficiency.
[0081] In some embodiments, the prediction direction can be indicated in the bitstream based on a condition. In one example, if there are multiple reference PC samples for the current PC sample, the prediction direction can be indicated in the bitstream. In another example, if there are multiple reference nodes for the current node, the prediction direction can be indicated in the bitstream. In another example, if there are multiple candidate predictions (also referred to herein as prediction value candidates) for the geometry information of the current node, the prediction direction can be indicated in the bitstream.
[0082] In some embodiments, for each node, there may be at least one indication to indicate the prediction direction of the node. For example, the bitstream may include a first indication indicating the prediction direction for the current node. In one example, the first indication may be an index of a first reference PC sample. Alternatively, the first indication may be an index of a first candidate prediction in a list of candidate predictions for the geometric information of the current node, and the first candidate prediction is used to encode and decode the current node. In another example, the first indication may be an index of the prediction direction, such as 0 for forward prediction and 1 for backward prediction.
[0083] In some embodiments, the first indication may be determined at an encoder for performing the conversion. Alternatively, the first indication may be indicated in a bitstream. In one example, the first indication may be encoded using a fixed-length codec. In another example, the first indication may be encoded using a unary codec. In another example, the first indication may be encoded using a truncated unary codec. In yet another example, the first indication may be encoded using a predictive method.
[0084] In some embodiments, the prediction direction for the current node can be determined based on the geometric information of the current node and the geometric information of each reference node in a plurality of reference nodes for the current node. For example, the current node can be a node in the prediction tree for the current PC sample and represents a single point in the current PC sample. Similarly, each reference node in the plurality of reference nodes can be a node in the prediction tree for the corresponding reference PC sample. In addition, more than one reference node can be determined for each node in the prediction tree. For example, the reference Figure 6 , a portion of the prediction tree for the current frame, reference frame 1 and reference frame 2 is shown. Node P i-1 is node P i The parent node of node P i ′、P′ i+1 、P i ″ and P″ i+1 For node P i The reference node.
[0085] In some embodiments, the geometric information of the current node or the geometric information of each reference node in the plurality of reference nodes can be represented in the form of geometric coordinates. In one example, the geometric coordinates can be in a Euclidean coordinate system. Alternatively, the geometric coordinates can be in a spherical coordinate system.
[0086] In some embodiments, the prediction direction for the current node may be determined from a plurality of candidate prediction directions for the current node, each of the plurality of candidate prediction directions corresponding to a reference PC sample of a plurality of reference PC samples for the current PC sample.
[0087] In some embodiments, the corresponding difference between the geometric information of the current node and the geometric information of each of the multiple reference nodes can be determined. At the encoder side, the actual geometric information of the current node can be used to determine the difference. At the decoder, an initial prediction of the geometric information of the current node can be used to determine the difference. For example, the initial prediction can be determined based on the geometric information of one or more neighboring nodes of the current node.
[0088] In some embodiments, a prediction direction for the current node may be determined based on the corresponding differences. By way of example and not limitation, the prediction direction for the current node may be determined as one of a plurality of candidate prediction directions corresponding to a reference PC sample that includes a reference node corresponding to a minimum difference among the corresponding differences.
[0089] In some embodiments, the prediction direction for the current node may be further determined based on any other additional information, such as occupancy information of the parent node level of the current node, the number of mismatched occupancy bits of the parent node level, and / or the like.
[0090] In view of the above, the geometric information of the current node and the geometric information of each reference node in the plurality of reference nodes are considered to determine the prediction direction of the current node. Therefore, the determination of the prediction direction can be performed more efficiently, thereby improving the encoding and decoding efficiency.
[0091] In some alternative embodiments, the current node can be a node in a tree structure for spatial segmentation of the current PC sample and represents at least a portion of the current PC sample. For example, the tree structure can be an octree structure or an occupancy tree. Each non-root node in the tree structure can correspond to a parent node.
[0092] In some embodiments, more than one reference node may be determined for a parent node. Additionally, more than one reference node may be determined for each node in the tree structure. In some embodiments, a prediction direction for a current node may be determined from a plurality of candidate prediction directions for the current node, and each of the plurality of candidate prediction directions corresponds to a reference PC node in a plurality of reference PC nodes for the current node.
[0093] In some embodiments, the predicted direction for the current node can be determined based on the plane information of the parent node of the current node and the plane information of each reference node in a set of reference nodes for the parent node of the current node. For example, the plane information of the node indicates the corresponding point distribution (e.g., occupancy information) in the two half-node spaces obtained by dividing the node along the direction. By way of example and not limitation, the direction can be one of the following: the x-axis direction, the y-axis direction, or the z-axis direction. In some embodiments, there can be multiple indications indicating the corresponding point distribution in the two half-node spaces.
[0094] In some embodiments, the plane information of the parent node of the current node and the plane information of each reference node in a set of reference nodes for the parent node may also be used to determine the prediction direction for each child node of the parent node.
[0095] In some embodiments, a prediction direction for a current node may be determined from a plurality of candidate prediction directions for the current node, and each of the plurality of candidate prediction directions corresponds to a reference node in a set of reference nodes for a parent node of the current node and a reference PC node in a plurality of reference PC nodes for the current node. For example, a first candidate prediction direction may correspond to a first reference node for a parent node of the current node and a reference node for the current node included in the first reference node. As used herein, a reference node for a parent node of a node may also be referred to as a reference parent node.
[0096] In some embodiments, corresponding differences between the plane information of the parent node of the current node and the plane information of each reference node in a set of reference nodes for the parent node of the current node may be determined. Furthermore, a prediction direction for the current node may be determined based on the corresponding differences. By way of example and not limitation, the prediction direction for the current node may be determined as one of a plurality of candidate prediction directions corresponding to a reference node in the set of reference nodes that corresponds to a minimum difference among the corresponding differences.
[0097] In some embodiments, the prediction direction for the current node may be further determined based on any other additional information, such as occupancy information of the parent node level of the current node, the number of mismatched occupancy bits of the parent node level, and / or the like.
[0098] In view of the above, the plane information of the parent node of the current node and the plane information of each reference node in a set of reference nodes for the parent node of the current node are considered to determine the prediction direction of the current node. Therefore, the prediction direction can be determined more efficiently, thereby improving the encoding and decoding efficiency.
[0099] In some embodiments, the prediction direction for the current node can be determined based on the occupancy information of the current node and the occupancy information of each of the multiple reference nodes for the current node. At the encoder side, the actual occupancy information of the current node can be used to determine the difference. At the decoder, the initial prediction of the occupancy information for the current node can be used to determine the difference. For example, the initial prediction can be determined based on the occupancy information of one or more neighboring nodes of the current node.
[0100] In some embodiments, the occupancy information of the current node or the occupancy information of each reference node in the plurality of reference nodes can be indicated by an occupancy code. For example, the occupancy can be an 8-bit bitmap whose bits indicate the presence of a child node at a specific position in the next tree level.
[0101] In some embodiments, a corresponding difference between the occupancy information of the current node and the occupancy information of each of the plurality of reference nodes may be determined. Furthermore, a prediction direction for the current node may be determined based on the corresponding difference. For example, the prediction direction for the current node may be determined as one of a plurality of candidate prediction directions, the one of the plurality of candidate directions corresponding to a reference node among the plurality of reference nodes corresponding to a minimum difference among the corresponding differences.
[0102] In some embodiments, the prediction direction for the current node may be further determined based on any other additional information, such as occupancy information of the parent node level of the current node, the number of mismatched occupancy bits of the parent node level, and / or the like.
[0103] In view of the above, the occupancy information of the current node and the occupancy information of each reference node in the multiple reference nodes for the current node are considered to determine the prediction direction of the current node. Therefore, the determination of the prediction direction can be performed more efficiently, thereby improving the encoding and decoding efficiency.
[0104] In some embodiments, the PC sample may be a frame, a picture, a slice, a subframe, a subpicture, a slice, a segment, etc. In some embodiments, information about whether and / or how the method is applied may be indicated in the bitstream. Additionally, information about whether and / or how the method is applied may be indicated in one of the following: a frame, a slice, a slice, or an octree.
[0105] In some embodiments, information about whether to apply the method and / or how to apply the method may depend on the encoded information. As an example and not limitation, the encoded information may include dimension, color format, color component, slice type, picture type, etc.
[0106] According to another embodiment of the present disclosure, a non-transitory computer-readable recording medium is provided. The non-transitory computer-readable recording medium stores a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding. In the method, conversion between a current point cloud (PC) sample of the point cloud sequence and a bitstream is performed. A prediction direction for a current node in the current PC sample is indicated in the bitstream. The prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
[0107] According to some further embodiments of the present disclosure, a method for storing a bitstream of a point cloud sequence is provided. In the method, a conversion between a current point cloud (PC) sample of the point cloud sequence and a bitstream is performed. A prediction direction for a current node in the current PC sample is indicated in the bitstream. The prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node. In addition, the bitstream is stored in a non-transitory computer-readable recording medium.
[0108] In view of the above, the solutions according to some embodiments of the present disclosure can advantageously improve encoding and decoding efficiency.
[0109] The embodiments of the present disclosure may be described according to the following items, the features of which may be combined in any reasonable way.
[0110] Item 1. A method for point cloud encoding and decoding, comprising: performing conversion between a point cloud sequence and a bitstream of the point cloud sequence, wherein an output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples.
[0111] Item 2. The method of Item 1, wherein the output order is the same as the display order of the plurality of PC samples.
[0112] Item 3. The method of Item 2, wherein the display order is the same as the encoding and decoding order of the plurality of PC samples.
[0113] Item 4. The method of Item 3, wherein a bi-prediction scheme is disabled for the plurality of PC samples.
[0114] Item 5. A method according to any one of Items 3-4, wherein the output order of the plurality of PC samples is the same as the encoding and decoding order of the plurality of PC samples.
[0115] Item 6. The method of Item 2, wherein the display order is different from the encoding and decoding order of the plurality of PC samples.
[0116] Item 7. The method of Item 6, wherein a bi-prediction scheme is enabled for at least one PC sample of the plurality of PC samples.
[0117] Clause 8. A method according to any one of clauses 6-7, wherein the output order of the plurality of PC samples is different from the encoding and decoding order of the plurality of PC samples.
[0118] Item 9. A method according to any one of Items 1-8, wherein the first indication specifies whether to output a first PC sample of the plurality of PC samples.
[0119] Clause 10. The method of clause 9, wherein the first indication is determined based on a timestamp of a most recently output PC sample.
[0120] Item 11. The method of Item 10, wherein the first indication indicates that the first PC sample is to be output if the timestamp of the first PC sample is equal to the sum of the timestamp step and the timestamp of the most recently output PC sample.
[0121] Item 12. A method according to Item 9, wherein the first indication is determined based on the timestamp of the most recently output PC sample and a reference metric of the first PC sample, and the reference metric of the first PC sample indicates the number of times the first PC sample is used as a reference PC sample for a PC sample to be encoded and decoded.
[0122] Item 13. A method according to Item 12, wherein if the timestamp of the first PC sample is equal to the sum of the timestamp step and the timestamp of the most recently output PC sample, and the reference metric is equal to a first value, then the first indication indicates that the first PC sample is to be output.
[0123] Clause 14. The method of clause 13, wherein the first value is 0.
[0124] Item 15. A method according to any one of Items 9-14, wherein if the first indication indicates that the first PC sample is to be output, the first PC sample is output, or if the first PC sample is output, the first indication indicates that the first PC sample is not to be output.
[0125] Clause 16. A method according to any of clauses 9-15, wherein the first indication is determined at a decoder used to perform the conversion.
[0126] Clause 17. A method according to any of clauses 9-16, wherein the first indication is updated during the transition.
[0127] Item 18. A method according to any of Items 1-17, wherein the converting comprises encoding the point cloud sequence into the bitstream, or the converting comprises decoding the point cloud sequence from the bitstream.
[0128] Item 19. A method for point cloud encoding and decoding, comprising: performing conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample in a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
[0129] Clause 20. The method of clause 19, wherein the prediction direction is determined at an encoder used to perform the conversion.
[0130] Clause 21. The method of any one of clauses 19-20, wherein the prediction direction is indicated in the bitstream based on a condition.
[0131] Item 22. A method according to any one of Items 19-21, wherein the prediction direction is indicated in the bitstream if there are multiple reference PC samples for the current PC sample, or the prediction direction is indicated in the bitstream if there are multiple reference nodes for the current node, or the prediction direction is indicated in the bitstream if there are multiple candidate predictions for the geometric information of the current node.
[0132] Clause 23. The method of any one of clauses 19-22, wherein the bitstream comprises a first indication indicating the prediction direction for the current node.
[0133] Item 24. A method according to item 23, wherein the first indication includes one of the following: an index of the first reference PC sample, an index of a first candidate prediction in a list of candidate predictions of the geometric information for the current node, the first candidate prediction being used to encode and decode the current node, or an index of the prediction direction.
[0134] Clause 25. A method according to any of Clauses 23-24, wherein the first indication is determined at an encoder used to perform the conversion.
[0135] Clause 26. A method according to any of clauses 23-24, wherein the first indication is indicated in the bitstream.
[0136] Item 27. The method of Item 26, wherein the first indication is encoded using one of: a fixed length codec, a unary codec, or a truncated unary codec.
[0137] Clause 28. The method of clause 26, wherein the first indication is encoded in a predictive manner.
[0138] Item 29. The method of any one of Items 19-28, wherein the prediction direction for the current node is determined based on geometric information of the current node and geometric information of each of a plurality of reference nodes for the current node.
[0139] Item 30. The method of Item 29, wherein the current node is a node in a prediction tree for the current PC sample and represents a single point in the current PC sample.
[0140] Clause 31. The method of clause 30, wherein more than one reference node is determined for each node in the prediction tree.
[0141] Item 32. A method according to any one of Items 29-31, wherein the geometric information of the current node or the geometric information of each reference node in the plurality of reference nodes is represented in the form of geometric coordinates.
[0142] Item 33. The method of Item 32, wherein the geometric coordinates are in a Euclidean coordinate system or a spherical coordinate system.
[0143] Item 34. A method according to any one of Items 29-33, wherein the prediction direction for the current node is determined from a plurality of candidate prediction directions for the current node, and each of the plurality of candidate prediction directions corresponds to a reference PC sample among the plurality of reference PC samples for the current PC sample.
[0144] Item 35. The method of Item 34, wherein a respective difference between the geometric information of the current node and the geometric information of each of the plurality of reference nodes is determined.
[0145] Clause 36. The method of clause 35, wherein the prediction direction for the current node is determined based on the corresponding difference.
[0146] Item 37. A method according to item 36, wherein the prediction direction for the current node is determined to be one of the multiple candidate prediction directions corresponding to a reference PC sample, and the reference PC sample includes a reference node corresponding to the minimum difference in the corresponding differences.
[0147] Item 38. A method according to any one of items 29-37, wherein the prediction direction for the current node is further determined based on at least one of the following: occupancy information of the parent node level of the current node, or the number of mismatched occupied bits of the parent node level.
[0148] Item 39. A method according to any one of Items 19-28, wherein the current node is a node in a tree structure for spatial segmentation of the current PC sample and represents at least a portion of the current PC sample.
[0149] Item 40. The method of Item 39, wherein the tree structure is an octree structure.
[0150] Item 41. A method according to any one of Items 38-39, wherein each non-root node in the tree structure corresponds to a parent node.
[0151] Item 42. The method of Item 41, wherein more than one reference node is determined for the parent node.
[0152] Clause 43. A method according to any of clauses 38-42, wherein more than one reference node is determined for each node in the tree structure.
[0153] Item 44. A method according to any one of Items 38-43, wherein the prediction direction for the current node is determined from a plurality of candidate prediction directions for the current node, and each of the plurality of candidate prediction directions corresponds to a reference PC node among a plurality of reference PC nodes for the current node.
[0154] Item 45. A method according to any one of items 38-44, wherein the prediction direction for the current node is determined based on plane information of a parent node of the current node and plane information of each reference node in a set of reference nodes for the parent node of the current node.
[0155] Item 46. The method according to Item 45, wherein the plane information of the node indicates corresponding point distributions in two half-node spaces obtained by dividing the node along a direction.
[0156] Item 47. The method of Item 46, wherein a plurality of indications specify the corresponding point distributions in the two half-node spaces.
[0157] Item 48. The method according to any one of Items 45-46, wherein the direction is one of the following: an x-axis direction, a y-axis direction, or a z-axis direction.
[0158] Item 49. A method according to any one of Items 45-48, wherein the plane information of the parent node of the current node and the plane information of each reference node in the set of reference nodes for the parent node are used to determine the prediction direction for each child node of the parent node.
[0159] Item 50. A method according to any one of Items 45-49, wherein the prediction direction for the current node is determined from multiple candidate prediction directions for the current node, and each of the multiple candidate prediction directions corresponds to a reference node in the set of reference nodes for the parent node of the current node and a reference PC node in the multiple reference PC nodes for the current node.
[0160] Item 51. A method according to Item 50, wherein respective differences between the plane information of the parent node of the current node and the plane information of each reference node in the set of reference nodes for the parent node of the current node are determined.
[0161] Item 52. The method of Item 51, wherein the prediction direction for the current node is determined based on the corresponding difference.
[0162] Item 53. A method according to item 52, wherein the prediction direction for the current node is determined to be one of the multiple candidate prediction directions corresponding to a reference node in the set of reference nodes corresponding to a minimum difference in the corresponding differences.
[0163] Item 54. A method according to any one of items 45-53, wherein the prediction direction for the current node is further determined based on at least one of the following: occupancy information of the parent node level of the current node, or the number of mismatched occupied bits of the parent node level.
[0164] Item 55. The method of any one of Items 38-44, wherein the prediction direction for the current node is determined based on occupancy information of the current node and occupancy information of each of a plurality of reference nodes for the current node.
[0165] Item 56. The method according to Item 55, wherein the occupancy information of the current node or the occupancy information of each reference node in a plurality of reference nodes is indicated by an occupancy code.
[0166] Item 57. A method according to any of Items 55-56, wherein a respective difference between the occupancy information of the current node and the occupancy information of each of the plurality of reference nodes is determined.
[0167] Item 58. The method of Item 57, wherein the prediction direction for the current node is determined based on the corresponding difference.
[0168] Item 59. A method according to item 58, wherein the prediction direction for the current node is determined to be one of the multiple candidate prediction directions, and the one of the multiple candidate prediction directions corresponds to a reference node among the multiple reference nodes corresponding to the minimum difference among the corresponding differences.
[0169] Item 60. A method according to any one of items 55-59, wherein the prediction direction for the current node is further determined based on at least one of the following: occupancy information of the parent node level of the current node, or the number of mismatched occupied bits of the parent node level.
[0170] Item 61. A method according to any of Items 19-60, wherein the converting comprises encoding the current PC sample into the bitstream.
[0171] Item 62. A method according to any of Items 19-60, wherein the converting comprises decoding the current PC sample from the bitstream.
[0172] Item 63. A method according to any of Items 1-62, wherein the PC sample is one of the following: a frame, a picture, a slice, a sub-frame, a sub-picture, a slice, or a segment.
[0173] Item 64. A method according to any of Items 1-63, wherein information about whether and / or how to apply the method is indicated in the bitstream.
[0174] Item 65. A method according to any of Items 1-64, wherein information about whether to apply the method and / or how to apply the method is indicated in one of the following: a frame, a slice, a slice, or an octree.
[0175] Item 66. A method according to any of Items 1-64, wherein information about whether to apply the method and / or how to apply the method depends on encoded information.
[0176] Item 67. The method of Item 65, wherein the encoded information comprises at least one of: a dimension, a color format, a color component, a slice type, or a picture type.
[0177] Item 68. An apparatus for point cloud encoding and decoding, comprising a processor and a non-volatile memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of items 1-18.
[0178] Item 69. A non-transitory computer-readable storage medium storing instructions for causing a processor to perform the method according to any one of Items 1-18.
[0179] Item 70. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding, wherein the method comprises: performing conversion between the point cloud sequence and the bitstream, wherein an output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples.
[0180] Item 71. A method for storing a bitstream of a point cloud sequence, comprising: performing a conversion between the point cloud sequence and the bitstream, wherein an output order of multiple point cloud (PC) samples of the point cloud sequence depends on the timestamps of the multiple PC samples; and storing the bitstream in a non-transitory computer-readable recording medium.
[0181] Item 72. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding, wherein the method comprises: performing a conversion between a current point cloud (PC) sample of the point cloud sequence and the bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among multiple reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
[0182] Item 73. A method for storing a bitstream of a point cloud sequence, comprising: performing a conversion between a current point cloud (PC) sample of the point cloud sequence and the bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node; and storing the bitstream in a non-transitory computer-readable recording medium. Example device
[0183] Figure 9 A block diagram of a computing device 900 in which various embodiments of the present disclosure may be implemented is shown. The computing device 900 may be implemented as a source device 110 (or a GPCC encoder 116 or 200) or a destination device 120 (or a GPCC decoder 126 or 300), or may be 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).
[0184] It should be understood that Figure 9 The computing device 900 shown in FIG. 9 is for illustrative purposes only and is not intended to in any way imply any limitation on the functionality and scope of the disclosed embodiments.
[0185] like Figure 9 As shown, computing device 900 comprises a general computing device 900. Computing device 900 may include at least one or more processors or processing units 910, memory 920, storage unit 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960.
[0186] In some embodiments, the computing device 900 can be implemented as any user terminal or server terminal with computing capabilities. The server terminal can be a server, a large computing device, etc. provided by a service provider. The user terminal can be, for example, any type of mobile terminal, fixed terminal, or portable terminal, including a mobile phone, a station, a unit, a device, a multimedia computer, a multimedia tablet computer, 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 / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a gaming device, or any combination thereof, and includes accessories and peripherals of these devices, or any combination thereof. It is conceivable that the computing device 900 can support any type of interface to the user (such as a "wearable" circuit device, etc.).
[0187] The processing unit 910 may be a physical processor or a virtual processor and may implement various processes based on a program stored in the memory 920. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capabilities of the computing device 900. The processing unit 910 may also be referred to as a central processing unit (CPU), a microprocessor, a controller, or a microcontroller.
[0188] The computing device 900 typically includes various computer storage media. Such media can be any media accessible by the computing device 900, including but not limited to volatile media and non-volatile media, or removable media and non-removable media. The memory 920 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) or flash memory) or any combination thereof. The storage unit 930 can be any removable or non-removable medium and can include machine-readable media, such as memory, flash drive, disk or other media that can be used to store information and / or data and can be accessed in the computing device 900.
[0189] The computing device 900 may also include additional removable / non-removable storage media, volatile / non-volatile storage media. Figure 9 Although not shown, a magnetic disk drive for reading from and / or writing to a removable nonvolatile magnetic disk, and an optical disk drive for reading from and / or writing to a removable nonvolatile optical disk may be provided. In this case, each drive may be connected to a bus (not shown) via one or more data medium interfaces.
[0190] The communication unit 940 communicates with another computing device via a communication medium. In addition, the functions of the components in the computing device 900 can be implemented by a single computing cluster or multiple computing machines that can communicate via a communication connection. Thus, the computing device 900 can operate in a networked environment using logical connections to one or more other servers, networked personal computers (PCs), or other general-purpose network nodes.
[0191] The input device 950 may be one or more of various input devices, such as a mouse, keyboard, trackball, voice input device, etc. The output device 960 may be one or more of various output devices, such as a display, a speaker, a printer, etc. With the help of the communication unit 940, the computing device 900 may also communicate with one or more external devices (not shown), such as storage devices and display devices, and may also communicate with one or more devices that enable a user to interact with the computing device 900, or, if desired, may also communicate with any device that enables the computing device 900 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0192] In some embodiments, some or all components of the computing device 900 may also be arranged in a cloud computing architecture rather than being integrated into a single device. In a cloud computing architecture, components can be provided remotely and can work together to implement the functionality described in this disclosure. In some embodiments, cloud computing provides computing, software, data access, and storage services without requiring the end user to know the physical location or configuration of the systems or hardware providing these services. In various embodiments, cloud computing provides services via a wide area network (such as the Internet) using appropriate protocols. For example, a cloud computing provider provides applications on a wide area network that can be accessed through a web browser or any other computing component. The software or components of the cloud computing architecture and the corresponding data can be stored on servers at a remote location. Computing resources in a cloud computing environment can be consolidated or distributed across locations in remote data centers. Cloud computing infrastructure can provide services through shared data centers, although they appear to be a single access point for users. Therefore, cloud computing architecture can be used to provide the components and functionality described herein from a service provider at a remote location. Alternatively, the components and functionality described herein can be provided from a conventional server or installed directly or otherwise on a client device.
[0193] In embodiments of the present disclosure, computing device 900 may be used to implement point cloud encoding / decoding. Memory 920 may include one or more point cloud encoding / decoding modules 925 having one or more program instructions. These modules are accessible and executable by processing unit 910 to perform the functions of various embodiments described herein.
[0194] In an example embodiment of performing point cloud encoding, an input device 950 may receive point cloud data as input to be encoded 970. The point cloud data may be processed by, for example, a point cloud encoding / decoding module 925 to generate an encoded bitstream. The encoded bitstream may be provided as output 980 via an output device 960.
[0195] In an example embodiment of performing point cloud decoding, an input device 950 may receive an encoded bitstream as input 970. The encoded bitstream may be processed by, for example, a point cloud codec module 925 to generate decoded point cloud data. The decoded point cloud data may be provided as output 980 via an output device 960.
[0196] Although the present disclosure has been specifically shown and described with reference to the preferred embodiments of the present disclosure, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the present application as defined by the appended claims. Such variations are intended to be encompassed by the scope of the present application. Therefore, the foregoing description of the embodiments of the present application is not intended to be limiting.
Claims
1. A method for point cloud encoding and decoding, comprising: Conversion between a point cloud sequence and a bitstream of the point cloud sequence is performed, wherein an output order of a plurality of point cloud (PC) samples of the point cloud sequence depends on timestamps of the plurality of PC samples.
2. The method according to claim 1, wherein the output order is the same as the display order of the plurality of PC samples. 3 . The method according to claim 2 , wherein the display order is the same as the encoding and decoding order of the plurality of PC samples. The method of claim 3 , wherein a bi-prediction scheme is disabled for the plurality of PC samples.
5. The method according to any one of claims 3-4, wherein the output order of the multiple PC samples is the same as the encoding and decoding order of the multiple PC samples. The method of claim 2 , wherein the display order is different from the encoding and decoding order of the plurality of PC samples. The method of claim 6 , wherein a bi-prediction scheme is enabled for at least one PC sample among the plurality of PC samples.
8. The method according to any one of claims 6-7, wherein the output order of the plurality of PC samples is different from the encoding and decoding order of the plurality of PC samples.
9. The method according to any one of claims 1 to 8, wherein the first indication indicates whether to output a first PC sample of the plurality of PC samples.
10. The method of claim 9, wherein the first indication is determined based on a timestamp of a most recently output PC sample.
11. The method of claim 10, wherein the first indication specifies that the first PC sample is to be output if the timestamp of the first PC sample is equal to the sum of a timestamp step and the timestamp of the most recently output PC sample.
12. A method according to claim 9, wherein the first indication is determined based on the timestamp of the most recently output PC sample and a reference metric of the first PC sample, and the reference metric of the first PC sample indicates the number of times the first PC sample is used as a reference PC sample for the PC sample to be encoded and decoded.
13. A method according to claim 12, wherein if the timestamp of the first PC sample is equal to the sum of the timestamp step and the timestamp of the most recently output PC sample, and the reference metric is equal to a first value, the first indication indicates that the first PC sample will be output. The method of claim 13 , wherein the first value is 0.
15. The method according to any one of claims 9 to 14, wherein if the first indication indicates that the first PC sample is to be output, the first PC sample is output, or If the first PC sample is output, the first indication indicates that the first PC sample will not be output.
16. The method according to any one of claims 9 to 15, wherein the first indication is determined at a decoder for performing the conversion.
17. The method according to any one of claims 9 to 16, wherein the first indication is updated during the transition.
18. The method according to any one of claims 1 to 17, wherein the converting comprises encoding the point cloud sequence into the bitstream, or The converting includes decoding the point cloud sequence from the bitstream.
19. A method for point cloud encoding and decoding, comprising: Perform conversion between a current point cloud (PC) sample of a point cloud sequence and a bitstream of the point cloud sequence, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among multiple reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
20. The method of claim 19, wherein the prediction direction is determined at an encoder used to perform the conversion.
21. The method according to any one of claims 19-20, wherein the prediction direction is indicated in the bitstream based on a condition.
22. The method according to any one of claims 19 to 21, wherein the prediction direction is indicated in the bitstream if there are multiple reference PC samples for the current PC sample, or If there are multiple reference nodes for the current node, the prediction direction is indicated in the bitstream, or If there are multiple candidate predictions for the geometry information of the current node, the prediction direction is indicated in the bitstream.
23. The method according to any one of claims 19-22, wherein the bitstream comprises a first indication indicating the prediction direction for the current node.
24. The method of claim 23, wherein the first indication comprises one of: the index of the first reference PC sample, the index of a first candidate prediction in a list of candidate predictions for the geometry information of the current node, the first candidate prediction being used to encode and decode the current node, or The index of the prediction direction.
25. The method of any one of claims 23-24, wherein the first indication is determined at an encoder used to perform the conversion.
26. The method according to any one of claims 23-24, wherein the first indication is indicated in the bitstream.
27. The method of claim 26, wherein the first indication is encoded using one of: Fixed-length codec, Unary codec, or Truncated unary encoding and decoding.
28. The method of claim 26, wherein the first indication is encoded in a predictive manner.
29. The method according to any one of claims 19-28, wherein the prediction direction for the current node is determined based on geometric information of the current node and geometric information of each reference node in a plurality of reference nodes for the current node.
30. The method of claim 29, wherein the current node is a node in a prediction tree for the current PC sample and represents a single point in the current PC sample.
31. The method of claim 30, wherein more than one reference node is determined for each node in the prediction tree.
32. The method according to any one of claims 29 to 31, wherein the geometric information of the current node or the geometric information of each reference node in the plurality of reference nodes is represented in the form of geometric coordinates.
33. The method of claim 32, wherein the geometric coordinates are in a Euclidean coordinate system or a spherical coordinate system.
34. A method according to any one of claims 29-33, wherein the prediction direction for the current node is determined from multiple candidate prediction directions for the current node, and each of the multiple candidate prediction directions corresponds to a reference PC sample among the multiple reference PC samples for the current PC sample.
35. The method of claim 34, wherein respective differences between the geometric information of the current node and the geometric information of each of the plurality of reference nodes are determined.
36. The method of claim 35, wherein the prediction direction for the current node is determined based on the corresponding difference.
37. A method according to claim 36, wherein the prediction direction for the current node is determined to be one of the multiple candidate prediction directions corresponding to a reference PC sample, and the reference PC sample includes a reference node corresponding to the minimum difference in the corresponding differences.
38. The method according to any one of claims 29 to 37, wherein the prediction direction for the current node is further determined based on at least one of the following: The occupancy information of the parent node level of the current node, or The number of mismatched occupied bits at the parent node level.
39. The method according to any one of claims 19-28, wherein the current node is a node in a tree structure for spatial segmentation of the current PC sample and represents at least a portion of the current PC sample.
40. The method of claim 39, wherein the tree structure is an octree structure.
41. The method of any one of claims 38-39, wherein each non-root node in the tree structure corresponds to a parent node.
42. The method of claim 41, wherein more than one reference node is determined for the parent node.
43. A method according to any one of claims 38 to 42, wherein more than one reference node is determined for each node in the tree structure.
44. A method according to any one of claims 38-43, wherein the prediction direction for the current node is determined from multiple candidate prediction directions for the current node, and each of the multiple candidate prediction directions corresponds to a reference PC node among multiple reference PC nodes for the current node.
45. The method according to any one of claims 38-44, wherein the prediction direction for the current node is determined based on plane information of a parent node of the current node and plane information of each reference node in a set of reference nodes for the parent node of the current node. The method according to claim 45 , wherein the plane information of the node indicates corresponding point distributions in two half-node spaces obtained by dividing the node along a direction.
47. The method of claim 46, wherein a plurality of indications specify the corresponding point distributions in the two half-node spaces.
48. The method of any one of claims 45-46, wherein the direction is one of: x-axis direction, y-axis direction, or z-axis direction.
49. The method according to any one of claims 45-48, wherein the plane information of the parent node of the current node and the plane information of each reference node in the set of reference nodes for the parent node are used to determine the prediction direction for each child node of the parent node.
50. A method according to any one of claims 45-49, wherein the prediction direction for the current node is determined from multiple candidate prediction directions for the current node, and each of the multiple candidate prediction directions corresponds to a reference node in the set of reference nodes for the parent node of the current node and a reference PC node in the multiple reference PC nodes for the current node.
51. The method of claim 50, wherein respective differences between the plane information of the parent node of the current node and the plane information of each reference node in the set of reference nodes for the parent node of the current node are determined.
52. The method of claim 51, wherein the prediction direction for the current node is determined based on the corresponding difference.
53. The method of claim 52, wherein the prediction direction for the current node is determined to be one of the plurality of candidate prediction directions corresponding to a reference node in the set of reference nodes corresponding to a minimum difference in the corresponding differences.
54. The method according to any one of claims 45 to 53, wherein the prediction direction for the current node is further determined based on at least one of the following: The occupancy information of the parent node level of the current node, or The number of mismatched occupied bits at the parent node level.
55. The method according to any one of claims 38-44, wherein the prediction direction for the current node is determined based on occupancy information of the current node and occupancy information of each of a plurality of reference nodes for the current node.
56. The method according to claim 55, wherein the occupancy information of the current node or the occupancy information of each reference node of a plurality of reference nodes is indicated by an occupancy code.
57. The method of any one of claims 55-56, wherein respective differences between the occupancy information of the current node and the occupancy information of each of the plurality of reference nodes are determined.
58. The method of claim 57, wherein the prediction direction for the current node is determined based on the corresponding difference.
59. A method according to claim 58, wherein the prediction direction for the current node is determined to be one of the multiple candidate prediction directions, and the one of the multiple candidate prediction directions corresponds to a reference node among the multiple reference nodes corresponding to the minimum difference among the corresponding differences.
60. The method according to any one of claims 55-59, wherein the prediction direction for the current node is further determined based on at least one of the following: The occupancy information of the parent node level of the current node, or The number of mismatched occupied bits at the parent node level.
61. The method of any one of claims 19-60, wherein the converting comprises encoding the current PC samples into the bitstream.
62. The method of any one of claims 19-60, wherein the converting comprises decoding the current PC sample from the bitstream.
63. The method of any one of claims 1-62, wherein the PC sample is one of: frame, picture, slice, subframe, Sub-picture, slices, or part.
64. The method according to any one of claims 1-63, wherein information on whether to apply the method and / or how to apply the method is indicated in the bitstream.
65. The method according to any one of claims 1 to 64, wherein information on whether to apply the method and / or how to apply the method is indicated in one of the following: frame, piece, Slice, or Octree.
66. The method according to any one of claims 1-64, wherein information on whether to apply the method and / or how to apply the method depends on coded information.
67. The method of claim 65, wherein the encoded information comprises at least one of: Dimensions, Color format, Color component, Slice type, or Image type.
68. An apparatus for point cloud encoding and decoding, comprising a processor and a non-volatile memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to perform the method according to any one of claims 1-67.
69. A non-transitory computer-readable storage medium storing instructions for causing a processor to execute the method according to any one of claims 1-67.
70. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding, wherein the method comprises: Conversion between the point cloud sequence and the bitstream is performed, wherein an output order of a plurality of point cloud (PC) samples of the point cloud sequence depends on timestamps of the plurality of PC samples.
71. A method for storing a bitstream of a point cloud sequence, comprising: performing conversion between the point cloud sequence and the bitstream, wherein an output order of a plurality of point cloud (PC) samples of the point cloud sequence depends on timestamps of the plurality of PC samples; as well as The bitstream is stored in a non-transitory computer-readable recording medium.
72. A non-transitory computer-readable recording medium storing a bitstream of a point cloud sequence generated by a method performed by an apparatus for point cloud encoding and decoding, wherein the method comprises: Performing a conversion between a current point cloud (PC) sample of the point cloud sequence and the bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine a prediction of geometric information of the current node.
73. A method for storing a bitstream of a point cloud sequence, comprising: performing conversion between a current point cloud (PC) sample of the point cloud sequence and the bitstream, wherein a prediction direction for a current node in the current PC sample is indicated in the bitstream, the prediction direction corresponds to a first reference PC sample among a plurality of reference PC samples for the current PC sample, and a reference node in the first reference PC sample is used to determine prediction of geometric information of the current node; as well as The bitstream is stored in a non-transitory computer-readable recording medium.