JP2023123508A - Improved attribute layer and signaling in point cloud coding - Google Patents
Improved attribute layer and signaling in point cloud coding Download PDFInfo
- Publication number
- JP2023123508A JP2023123508A JP2023093167A JP2023093167A JP2023123508A JP 2023123508 A JP2023123508 A JP 2023123508A JP 2023093167 A JP2023093167 A JP 2023093167A JP 2023093167 A JP2023093167 A JP 2023093167A JP 2023123508 A JP2023123508 A JP 2023123508A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- pcc
- bitstream
- video
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000011664 signaling Effects 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 124
- 230000001788 irregular Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims 2
- 230000033001 locomotion Effects 0.000 description 79
- 235000019587 texture Nutrition 0.000 description 32
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 30
- 239000013598 vector Substances 0.000 description 26
- 238000013139 quantization Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 238000007906 compression Methods 0.000 description 19
- 230000006835 compression Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 10
- 238000005192 partition Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000009499 grossing Methods 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001629 suppression Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000002834 transmittance Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241000985610 Forpus Species 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000009012 visual motion Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
Description
この特許出願は、Ye-Kui Wangらにより2018年9月14日に出願された、参照により本明細書に組み込まれている「High-Level Syntax Designs for Point Cloud Coding」と題された米国特許仮出願第62/731,693号の利益を主張する。 This patent application is a U.S. provisional patent entitled "High-Level Syntax Designs for Point Cloud Coding," filed September 14, 2018 by Ye-Kui Wang et al. The benefit of application Ser. No. 62/731,693 is claimed.
本開示は、一般に、ビデオコーディングに関し、具体的には、ポイントクラウドコーディング(PCC)ビデオフレームに対するビデオ属性のコーディングに関連する。 TECHNICAL FIELD This disclosure relates generally to video coding, and specifically to coding video attributes for point cloud coding (PCC) video frames.
比較的短いビデオを示すために必要とされるビデオデータの量は、相当な量であり、データがストリーム化されるか、または他の方法で限定された帯域幅容量で通信ネットワークを介して通信されるときに、困難をもたらすことがある。したがって、ビデオデータは、一般に、現代の電気通信ネットワークを介して通信される前に圧縮される。また、メモリリソースが制限されることがあるため、ビデオが記憶デバイスに記憶されるときに、ビデオのサイズも問題となる可能性がある。ビデオ圧縮デバイスは、しばしば、伝送または記憶の前にビデオデータをコード化するために送信元においてソフトウェアおよび/またはハードウェアを使用し、それによってデジタルビデオ画像を表すのに必要とされるデータ量を減少させる。次いで、圧縮されたデータは、ビデオデータを復号するビデオ解凍デバイスによって宛先で受信される。ネットワークリソースが限られており、より高いビデオ品質の要求が絶えず増加しているため、画像品質にほとんど犠牲を払わずに圧縮比を改善する改善された圧縮および解凍技術が望ましい。 The amount of video data required to show a relatively short video is substantial and the data is streamed or otherwise communicated over communication networks with limited bandwidth capacity. It can cause difficulties when Therefore, video data is generally compressed before being communicated over modern telecommunication networks. The size of the video can also be an issue when the video is stored on a storage device, as memory resources may be limited. Video compression devices often use software and/or hardware at the source to encode video data prior to transmission or storage, thereby reducing the amount of data required to represent a digital video image. Decrease. The compressed data is then received at the destination by a video decompression device that decodes the video data. With limited network resources and ever-increasing demands for higher video quality, improved compression and decompression techniques that improve compression ratios while sacrificing little image quality are desirable.
一実施形態によると、本開示は、ビデオ復号器によって実施される方法を含む。この方法は、受信機によって、複数のポイントクラウドコーディング(PCC)フレームのコード化されたシーケンスを含むビットストリームを受信することであって、複数のPCCフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの1つ以上を含む複数のPCC属性を表し、各コード化されたPCCフレームは、1つ以上のPCCネットワーク抽象化レイヤ(NAL)ユニットによって表される、受信することを含む。この方法はさらに、プロセッサによって、各PCC属性に対して、対応するPCC属性をコード化するために使用される複数のビデオコーダデコーダ(コーデック)のうちの1つの指示を取得するために、ビットストリームを解析することを含む。この方法はさらに、プロセッサによって、PCC属性に対する指示されたビデオコーデックに基づいて、ビットストリームを復号することを含む。いくつかのビデオコーディングシステムでは、PCCフレームのシーケンス全体が単一のコーデックを使用してコード化される。PCCフレームは複数のPCC属性を含んでもよい。いくつかのビデオコーデックは、他のものよりもいくつかのPCC属性を符号化するのにより効率的であってもよい。本実施形態は、異なるビデオコーデックが、同じPCCフレームのシーケンスに対して異なるPCC属性を符号化することを可能にする。本実施形態はまた、シーケンス内のPCCフレームが複数のPCC属性(例えば、3つ以上)を使用するときに、コーディングの柔軟性をサポートするために種々の構文要素を提供する。より多くの属性を提供することによって、符号化器は、より複雑なPCCフレームを符号化することができる。さらに、復号器は、より複雑なPCCフレームを復号し、表示することができる。さらに、異なるコーデックを異なる属性に採用することを可能にすることによって、コーデック選択に基づいてコーディングプロセスを最適化することができる。これは、符号化器と復号器の両方でのプロセッサリソースの使用量を減少させることがある。さらに、これは、増大した圧縮およびコーディング効率をサポートすることがあり、これは、符号化器と復号器との間でビットストリームを伝送しながら、メモリ使用量およびネットワークリソース使用量を低減する。 According to one embodiment, the present disclosure includes a method implemented by a video decoder. The method is receiving, by a receiver, a bitstream containing a coded sequence of multiple point cloud coding (PCC) frames, the coded sequence of multiple PCC frames being geometrically Each coded PCC frame represents one or more PCC Network Abstraction Layer (NAL) units representing shape, texture, and multiple PCC attributes including one or more of reflectance, transparency, and normal including receiving, represented by The method further comprises, by the processor, for each PCC attribute, a bitstream to obtain an indication of one of a plurality of video coder decoders (codecs) used to encode the corresponding PCC attribute. including parsing the The method further includes decoding, by the processor, the bitstream based on the indicated video codec for the PCC attributes. In some video coding systems, an entire sequence of PCC frames is coded using a single codec. A PCC frame may contain multiple PCC attributes. Some video codecs may be more efficient at encoding some PCC attributes than others. This embodiment allows different video codecs to encode different PCC attributes for the same sequence of PCC frames. The present embodiment also provides various syntax elements to support coding flexibility when a PCC frame in a sequence uses multiple PCC attributes (eg, three or more). By providing more attributes, the encoder can encode more complex PCC frames. Additionally, the decoder can decode and display more complex PCC frames. Furthermore, by allowing different codecs to be employed for different attributes, the coding process can be optimized based on codec selection. This may reduce processor resource usage at both the encoder and decoder. Furthermore, it may support increased compression and coding efficiency, which reduces memory usage and network resource usage while transmitting bitstreams between encoders and decoders.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、PCCフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、シーケンスレベルのデータユニットは、第1の属性が第1のビデオコーデックによってコード化されたことを示し、かつ第2の属性が第2のビデオコーデックによってコード化されたことを示す第1の構文要素を含む、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, each sequence of PCC frames is associated with a sequence-level data unit comprising sequence-level parameters, the sequence-level data unit comprising: including a first syntax element indicating that one attribute was coded by a first video codec and indicating that a second attribute was coded by a second video codec.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるidentified_codec_for_attribute要素である、ことを提供する。 Optionally, in any of the foregoing aspects, another implementation of the aspects provides that the first syntax element is an identified_codec_for_attribute element included in a group of frame headers in the bitstream.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の属性は、複数のストリームに編成され、第2の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the first attribute is organized into a plurality of streams and the second syntax element is a bitstream associated with the first attribute. , indicating the stream membership for the data unit of the .
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の属性は、複数のレイヤに編成され、第3の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットに対するレイヤメンバシップを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the first attribute is organized into multiple layers and the third syntax element is a bitstream associated with the first attribute. indicates the layer membership for the data units of the .
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第2の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるnum_streams_for_attribute要素であり、第3の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるnum_layers_for_attribute要素である、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the second syntax element is a num_streams_for_attribute element included in a group of frame headers in the bitstream and the third syntax element is the bit num_layers_for_attribute element contained in a group of frame headers in a stream.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第4の構文要素は、複数のレイヤのうちの第1のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the fourth syntax element comprises data associated with a point cloud in which a first of the plurality of layers is irregular Including, providing.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第4の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるregular_points_flag要素である、ことを提供する。 Optionally, in any of the foregoing aspects, another implementation of the aspect provides that the fourth syntax element is a regular_points_flag element included in a group of frame headers in the bitstream.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、ビットストリームは、PCCフレームの復号されたシーケンスに復号され、さらに、プロセッサによって、PCCフレームの復号されたシーケンスを提示のためのディスプレイに向けて転送することを含む、ことを提供する。 Optionally, in any of the preceding aspects, another implementation of the aspect is that the bitstream is decoded into a decoded sequence of PCC frames; including forwarding to a display for.
一実施形態によると、本開示は、ビデオ符号化器に実施される方法を含む。本方法は、プロセッサによって、PCCフレームのシーケンスの複数のPCC属性を、複数のコーダデコーダ(コーデック)でビットストリームに符号化することであって、複数のPCC属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの1つ以上を含み、各コード化されたPCCフレームは、1つ以上のPCCネットワーク抽象化レイヤ(NAL)ユニットによって表される、符号化することを含む。本方法はさらに、プロセッサによって、各PCC属性に対して、対応するPCC属性をコード化するために使用されるビデオコーデックのうちの1つの指示を符号化することを含む。本方法はさらに、送信機によって、ビットストリームを復号器に向かって送信することを含む。いくつかのビデオコーディングシステムでは、PCCフレームのシーケンス全体が単一のコーデックを使用してコード化される。PCCフレームは複数のPCC属性を含んでもよい。いくつかのビデオコーデックは、他のものよりもいくつかのPCC属性を符号化するのにより効率的であってもよい。本実施形態は、異なるビデオコーデックが、同じPCCフレームのシーケンスに対して異なるPCC属性を符号化することを可能にする。本実施形態はまた、シーケンス内のPCCフレームが複数のPCC属性(例えば、3つ以上)を使用するときに、コーディングの柔軟性をサポートするために種々の構文要素を提供する。より多くの属性を提供することによって、符号化器は、より複雑なPCCフレームを符号化することができる。さらに、復号器は、より複雑なPCCフレームを復号し、表示することができる。さらに、異なるコーデックを異なる属性に採用することを可能にすることによって、コーデック選択に基づいてコーディングプロセスを最適化することができる。これは、符号化器と復号器の両方でのプロセッサリソースの使用量を減少させることがある。さらに、これは、増大した圧縮およびコーディング効率をサポートすることがあり、これは、符号化器と復号器との間でビットストリームを伝送しながら、メモリ使用量およびネットワークリソース使用量を低減する。 According to one embodiment, this disclosure includes a method implemented in a video encoder. The method is encoding, by a processor, a plurality of PCC attributes of a sequence of PCC frames into a bitstream with a plurality of coder-decoders (codecs), the plurality of PCC attributes being geometry, texture, and one or more of reflectance, transmittance, and normal, and each coded PCC frame is represented by one or more PCC network abstraction layer (NAL) units, encoding Including. The method further includes, by the processor, encoding for each PCC attribute an indication of one of the video codecs used to encode the corresponding PCC attribute. The method further includes transmitting, by the transmitter, the bitstream towards the decoder. In some video coding systems, an entire sequence of PCC frames is coded using a single codec. A PCC frame may contain multiple PCC attributes. Some video codecs may be more efficient at encoding some PCC attributes than others. This embodiment allows different video codecs to encode different PCC attributes for the same sequence of PCC frames. The present embodiment also provides various syntax elements to support coding flexibility when a PCC frame in a sequence uses multiple PCC attributes (eg, three or more). By providing more attributes, the encoder can encode more complex PCC frames. Additionally, the decoder can decode and display more complex PCC frames. Furthermore, by allowing different codecs to be employed for different attributes, the coding process can be optimized based on codec selection. This may reduce processor resource usage at both the encoder and decoder. Furthermore, it may support increased compression and coding efficiency, which reduces memory usage and network resource usage while transmitting bitstreams between encoders and decoders.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、PCCフレームの各シーケンスは、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットに関連付けられ、シーケンスレベルのデータユニットは、第1のPCC属性が第1のビデオコーデックによってコード化されたことを示し、かつ第2のPCC属性が第2のビデオコーデックによってコード化されたことを示す第1の構文要素を含む、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, each sequence of PCC frames is associated with a sequence-level data unit comprising sequence-level parameters, the sequence-level data unit comprising: including a first syntax element indicating that one PCC attribute was coded by a first video codec and indicating that a second PCC attribute was coded by a second video codec. do.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるidentified_codec_for_attribute要素である、ことを提供する。 Optionally, in any of the foregoing aspects, another implementation of the aspects provides that the first syntax element is an identified_codec_for_attribute element included in a group of frame headers in the bitstream.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の属性は、複数のストリームに編成され、第2の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the first attribute is organized into a plurality of streams and the second syntax element is a bitstream associated with the first attribute. , indicating the stream membership for the data unit of the .
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第1の属性は、複数のレイヤに編成され、第3の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットに対するレイヤメンバシップを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the first attribute is organized into multiple layers and the third syntax element is a bitstream associated with the first attribute. indicates the layer membership for the data units of the .
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第2の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるnum_streams_for_attribute要素であり、第3の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるnum_layers_for_attribute要素である、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the second syntax element is a num_streams_for_attribute element included in a group of frame headers in the bitstream and the third syntax element is the bit num_layers_for_attribute element contained in a group of frame headers in a stream.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第4の構文要素は、複数のレイヤのうちの第1のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示す、ことを提供する。 Optionally, in any of the preceding aspects, in another implementation of the aspect, the fourth syntax element comprises data associated with a point cloud in which a first of the plurality of layers is irregular Including, providing.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、第4の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるregular_points_flag要素である、ことを提供する。 Optionally, in any of the foregoing aspects, another implementation of the aspect provides that the fourth syntax element is a regular_points_flag element included in a group of frame headers in the bitstream.
一実施形態では、本開示は、プロセッサと、プロセッサに結合された受信機と、プロセッサに結合された送信機と、を含み、プロセッサ、受信機、および送信機は、前述の態様のいずれかの方法を実行するように構成されている。 In one embodiment, the disclosure includes a processor, a receiver coupled to the processor, and a transmitter coupled to the processor, wherein the processor, receiver, and transmitter are any of the preceding aspects. configured to carry out the method.
一実施形態では、本開示は、ビデオコーディングデバイスによって使用されるコンピュータプログラム製品を含む非一時的コンピュータ可読媒体であって、コンピュータプログラム製品は、プロセッサによって実行されるときに、ビデオコーディングデバイスが前述の態様のいずれかの方法を実行するように、非一時的コンピュータ可読媒体上に記憶されたコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体を含む。 In one embodiment, the present disclosure is a non-transitory computer-readable medium containing a computer program product for use by a video coding device, the computer program product being a computer program product that, when executed by a processor, causes the video coding device to perform the aforementioned operations. It includes a non-transitory computer-readable medium containing computer-executable instructions stored on the non-transitory computer-readable medium to perform the method of any of the aspects.
一実施形態では、本開示は、PCCフレームのシーケンスの複数のPCC属性を、複数のコーダデコーダ(コーデック)でビットストリームに符号化することであって、複数のPCC属性は、幾何学的形状、テクスチャ、および反射率、透過率、および法線のうちのの1つ以上を含み、各コード化されたPCCフレームは、1つ以上のPCCネットワーク抽象化レイヤ(NAL)ユニットによって表される、符号化することを行うための第1の属性符号化手段および第2の属性符号化手段を含む符号化器を含む。符号化器はさらに、各PCC属性に対して、対応するPCC属性をコード化するために使用されるビデオコーデックのうちの1つの指示を符号化することを行うための構文符号化手段を含む。符号化器はさらに、ビットストリームを復号器に向かって送信することを行うための送信手段を含む。 In one embodiment, the present disclosure is encoding multiple PCC attributes of a sequence of PCC frames into a bitstream with multiple coder-decoders (codecs), wherein the multiple PCC attributes are geometric shapes, A code that includes texture and one or more of reflectance, transmittance, and normal, with each coded PCC frame represented by one or more PCC network abstraction layer (NAL) units an encoder including first attribute encoding means and second attribute encoding means for performing encoding. The encoder further includes syntax encoding means for encoding, for each PCC attribute, an indication of one of the video codecs used to encode the corresponding PCC attribute. The encoder further includes transmitting means for transmitting the bitstream towards the decoder.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、符号化器は、前述の態様のいずれかの方法を実行するようにさらに構成されている、ことを提供する。 Optionally, in any of the preceding aspects, another implementation of the aspect provides that the encoder is further configured to perform the method of any of the preceding aspects.
一実施形態では、本開示は、複数のPCCフレームのコード化されたシーケンスを含むビットストリームを受信することであって、複数のPCCフレームのコード化されたシーケンスは、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの1つ以上を含む複数のPCC属性を表し、各コード化されたPCCフレームは、1つ以上のPCCネットワーク抽象化レイヤ(NAL)ユニットによって表される、受信することを行うための受信手段を含む復号器を含む。復号器はさらに、各PCC属性に対して、対応するPCC属性をコーディングするために使用される複数のビデオコーダデコーダ(コーデック)のうちの1つの指示を取得するために、ビットストリームを解析することを行うための解析手段を含む。復号器はさらに、PCC属性に対する指示されたビデオコーデックに基づいて、ビットストリームを復号することを行うための復号手段を含む。 In one embodiment, the present disclosure is to receive a bitstream that includes a coded sequence of multiple PCC frames, the coded sequence of multiple PCC frames including geometry, texture, and a plurality of PCC attributes including one or more of reflectance, transparency, and normal, and each coded PCC frame is represented by one or more PCC network abstraction layer (NAL) units , a decoder including receiving means for performing receiving. The decoder further parses the bitstream to obtain, for each PCC attribute, an indication of one of a plurality of video coder decoders (codecs) used to code the corresponding PCC attribute. including analysis means for performing The decoder further includes decoding means for performing decoding of the bitstream based on the indicated video codec for the PCC attribute.
任意選択で、前述の態様のいずれかにおいて、態様の別の実施態様は、前述の態様のいずれかの方法を実行するようにさらに構成されている、ことを提供する。 Optionally, in any of the foregoing aspects, there is provided that another implementation of the aspect is further configured to perform the method of any of the foregoing aspects.
明確にするために、前述の実施形態のいずれか1つを、他の前述の実施形態のいずれか1つ以上と組み合わせて、本開示の範囲内の新たな実施形態を作成してもよい。 For clarity, any one of the aforementioned embodiments may be combined with any one or more of the other aforementioned embodiments to create new embodiments within the scope of the present disclosure.
これらおよび他の特徴は、添付の図面および特許請求の範囲に関連して取られた以下の詳細な説明から、より明確に理解されるであろう。 These and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
本開示をより完全に理解するために、添付の図面および詳細な説明に関連して、以下の簡単な説明を参照する。ここで、同様の参照番号は同様の部分を表す。 For a more complete understanding of the present disclosure, reference is made to the following brief description in conjunction with the accompanying drawings and detailed description. Here, like reference numbers refer to like parts.
最初に、1つ以上の実施形態の例示的な実施が以下に提供されるが、開示されたシステムおよび/または方法は、現在公知であるか存在するかを問わず、任意の数の技術を使用して実施され得ると理解されたい。本開示は、以下に例示的な実施態様、図面および技術に全く限定されるべきではなく、本明細書に例示され説明された例示の設計および実施態様を含むが、添付の特許請求の範囲の範囲内で、それらの均等物の全範囲と共に修正されてもよい。 Initially, exemplary implementations of one or more embodiments are provided below, although the disclosed systems and/or methods may incorporate any number of techniques, whether currently known or in existence. It should be understood that it can be implemented using The present disclosure should in no way be limited to the exemplary implementations, drawings and techniques hereinafter, including the exemplary designs and implementations illustrated and described herein, but within the scope of the appended claims. ranges may be modified along with their full range of equivalents.
多くのビデオ圧縮技術が、最小限のデータ損失でビデオファイルのサイズを低減するために使用され得る。例えば、ビデオ圧縮技術は、ビデオシーケンスにおけるデータ冗長性を低減または除去するために、間的(例えば、イントラピクチャ)予測および/または時間的(例えば、インターピクチャ)予測を実行することを含むことができる。ブロックベースのビデオコーディングのために、ビデオスライス(例えば、ビデオピクチャまたはビデオピクチャの一部分)は、ビデオブロックに分割されてもよく、これは、ツリーブロック、コーディング・ツリー・ブロック(CTB)、コーディング・ツリー・ユニット(CTU)、コーディング・ユニット(CU)、および/またはコーディング・ノードとも呼ばれることがある。ピクチャのイントラコード化(I)スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに関して空間的予測を使用してコード化される。ピクチャのインターコード化(PまたはB)スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに関して空間的予測、または他の参照ピクチャ内の参照サンプルに関して時間的予測を採用することによって、コード化されてもよい。ピクチャはフレームと呼ばれ、参照ピクチャは参照フレームと呼ばれる。空間的予測または時間的予測は、画像ブロックを表す予測ブロックをもたらす。残差データは、元の画像ブロックと予測ブロックとの間の画素差を表す。したがって、インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化されたブロックと予測ブロックとの間の差を示す残差データにしたがって符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データにしたがって符号化される。さらなる圧縮のために、残差データは、画素ドメインから変換ドメインに変換されてもよい。これらは、残差変換係数をもたらし、これは、量子化されてもよい。量子化された変換係数は、最初に二次元アレイに配置されてもよい。量子化された変換係数は、変換係数の一次元ベクトルを生成するために走査されてもよい。エントロピーコーディングは、より多くの圧縮を達成するために適用されてもよい。このようなビデオ圧縮技術は、以下により詳細に論じられる。 Many video compression techniques can be used to reduce the size of video files with minimal data loss. For example, video compression techniques can include performing temporal (eg, intra-picture) prediction and/or temporal (eg, inter-picture) prediction to reduce or remove data redundancy in a video sequence. can. For block-based video coding, a video slice (e.g., a video picture or portion of a video picture) may be partitioned into video blocks, which are treeblocks, coding tree blocks (CTBs), coding tree blocks (CTBs), and coding tree blocks (CTBs). It may also be called a tree unit (CTU), coding unit (CU), and/or coding node. Video blocks in an intra-coded (I) slice of a picture are coded using spatial prediction with respect to reference samples in neighboring blocks within the same picture. A video block in an inter-coded (P or B) slice of a picture employs spatial prediction with respect to reference samples in neighboring blocks in the same picture, or temporal prediction with respect to reference samples in other reference pictures: may be coded. A picture is called a frame and a reference picture is called a reference frame. Spatial prediction or temporal prediction results in a prediction block representing the image block. Residual data represents pixel differences between the original image block and the prediction block. Thus, an inter-coded block is encoded according to motion vectors pointing to blocks of reference samples forming the predictive block and residual data indicating the difference between the coded block and the predictive block. Intra-coded blocks are encoded according to an intra-coding mode and residual data. For further compression, the residual data may be transformed from the pixel domain to the transform domain. These yield residual transform coefficients, which may be quantized. The quantized transform coefficients may first be arranged in a two-dimensional array. The quantized transform coefficients may be scanned to produce a one-dimensional vector of transform coefficients. Entropy coding may be applied to achieve more compression. Such video compression techniques are discussed in more detail below.
符号化されたビデオが正確に復号されることを確実にするために、ビデオは、対応するビデオコーディング標準にしたがって符号化され、復号される。ビデオコーディング標準は、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)ムービング・ピクチャ・エクスパーツ・グループ(MPEG)-1 パート2、ITU-T H.262、またはISO/IEC MPEG-2 パート2、ITU-T H.263、ISO/IEC MPEG-4 パート2、ITU-T H.264またはISO/IEC MPEG-4 パート10とも呼ばれるアドバンスト・ビデオ・コーディング(AVC)、およびITU-T H.265 またはMPEG-H パート2とも呼ばれるハイ・エフィシエンシー・ビデオ・コーディング(HEVC)を含む。AVCは、スケーラブル・ビデオ・コーディング(SVC)、マルチビュー・ビデオ・コーディング(MVC)およびマルチビュー・ビデオ・コーディング・プラス・デプス(MVC+D)、および三次元(3D)AVC(3D-AVC)などの拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、3D HEVC(3D-HEVC)などの拡張を含む。ITU-TとISO/IECの合同ビデオ・エキスパート・チーム(JVET)は、バーサタイル・ビデオ・コーディング(VVC)と呼ばれるビデオコーディング標準の開発を開始したVVCは、ワーキング・ドラフト(WD)に含まれ、これは、JVET-K1001-v4およびJVET-K1002-v1を含む。
To ensure that the encoded video is decoded correctly, the video is encoded and decoded according to corresponding video coding standards. The video coding standard is the International Telecommunications Union (ITU) Standardization Sector (ITU-T) H.264 standard. 261, International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group (MPEG)-1 Part 2, ITU-T H.261. 262, or ISO/IEC MPEG-2 Part 2, ITU-T H.262. 263, ISO/IEC MPEG-4 Part 2, ITU-T H.263. Advanced Video Coding (AVC), also called ISO/IEC MPEG-4
PCCは、3D物体のビデオを符号化するための機構である。ポイントクラウドは、3D空間内のデータポイントのセットである。このようなデータポイントは、例えば、空間上の位置および色を決定するパラメータを含む。ポイントクラウドは、リアルタイムの3Dイマーシブ・テレプレゼンス、インタラクティブ視差を有するコンテンツ・バーチャル・リアリティ(VR)ビューイング、3Dフリー・ビューポイント・スポーツ・リレー放送、地理情報システム、文化遺産、大規模な3Dダイナミックマップに基づく自律ナビゲーション、自動車アプリケーションなど、様々なアプリケーションで使用されてもよい。PCCのためのISO/IEC MPEGコーデックは、実質的なコーディング効率とネットワーク環境に対するロバスト性を有する可逆性および/または不可逆性圧縮ポイントクラウド上で動作してもよい。このコーデックを使用することにより、ポイントクラウドをコンピュータデータの形式として操作し、種々の記憶媒体に記憶し、ネットワークを介して送信および受信し、放送チャネル上で配信することが可能となる。PCCコーディング環境は、PCCカテゴリ1、PCCカテゴリ2、およびPCCカテゴリ3に分類される。本開示は、MPEG出力文書N17534およびN17533に関連するPCCカテゴリ2に向けられている。PCCカテゴリ2コーデックの設計は、異なるビデオシーケンスのセットとしてポイントクラウドデータを圧縮することによって、動的ポイントクラウドの幾何学的形状およびテクスチャ情報を圧縮するために、他のビデオコーデックを活用することを目指す。例えば、1つはポイントクラウドデータの幾何学的形状情報を表し、もう1つはテクスチャ情報を表す2つのビデオシーケンスは、1つ以上のビデオコーデックを使用して生成および圧縮することができる。ビデオシーケンスの解釈をサポートする追加のメタデータ(例えば、占有マップおよび補助パッチ情報)も、別々に生成および圧縮することができる。 PCC is a mechanism for coding video of 3D objects. A point cloud is a set of data points in 3D space. Such data points include, for example, parameters that determine spatial position and color. Point clouds are used for real-time 3D immersive telepresence, content virtual reality (VR) viewing with interactive parallax, 3D free viewpoint sports relay broadcasts, geographic information systems, cultural heritage, large-scale 3D dynamic It may be used in various applications such as map-based autonomous navigation, automotive applications, and so on. ISO/IEC MPEG codecs for PCC may operate on lossless and/or lossy compression point clouds with substantial coding efficiency and robustness to network environments. Using this codec, point clouds can be manipulated as a form of computer data, stored on various storage media, transmitted and received over networks, and distributed over broadcast channels. PCC coding environments are classified into PCC Category 1, PCC Category 2, and PCC Category 3. This disclosure is directed to PCC Category 2, which relates to MPEG output documents N17534 and N17533. The design of the PCC Category 2 codec seeks to leverage other video codecs to compress the geometry and texture information of dynamic point clouds by compressing the point cloud data as a set of different video sequences. aim. For example, two video sequences, one representing the geometry information of the point cloud data and the other representing the texture information, can be generated and compressed using one or more video codecs. Additional metadata supporting interpretation of the video sequence (eg, occupancy map and auxiliary patch information) can also be separately generated and compressed.
PCCシステムは、位置データを含む幾何学的形状PCC属性とカラーデータを含むテクスチャPCC属性をサポートしてもよい。しかしながら、いくつかのビデオアプリケーションは、反射率、透明度、法線ベクトル等の他のタイプのデータを含んでもよい。これらのタイプのデータのいくつかは、あるコーデックを使用する方が他のコーデックよりも効率的にコード化されてもよい。しかしながら、PCCシステムは、PCCストリーム全体、したがって、すべてのPCC属性が、同じコーデックによって符号化されることを要求することがある。さらに、PCC属性は、複数のレイヤに分割されてもよい。次いで、そのようなレイヤを組み合わせ、および/または1つ以上のPCC属性ストリームにコード化してもよい。例えば、属性のレイヤは、一時的にインターリーブされたコーディングスキームにしたがってコード化することができ、ここで、第1のレイヤは、ピクチャ出力順序の偶数値を有するPCCアクセスユニット(AU)においてコード化され、第2のレイヤは、画像出力順序の奇数値を有するPCC AUにおいてコード化される。各属性およびこのようなストリームの様々なレイヤの組み合わせに対して0~4のストリームが存在する可能性があるため、ストリームおよびレイヤの適切な識別が課題となることがある。しかし、PCCシステムは、所与のPCCビットストリームにおいて、いくつのレイヤがコード化されているか、または、PCC属性ストリームと組み合わされているかを決定することができないことがある。さらに、PCCシステムは、レイヤの組み合わせの方式を示すおよび/またはそのようなレイヤとPCC属性ストリームとの間の対応を示すための機構を有していないことがある。最後に、パッチはPCCビデオデータをコード化するために採用される。例えば、三次元(3D)PCC物体は、二次元(2D)パッチのセットとして表わされ得る。これにより、PCCは、2Dビデオフレームを符号化するように設計されたビデオコーデックと共に動作することを可能にする。ただし、ポイントクラウド内のいくつかのポイントは、場合によっては、パッチで捉えられないことがある。例えば、3D空間内の孤立ポイントは、パッチの一部としてコード化することが困難であってもよい。このような場合に意味をなす唯一のパッチは、単一ポイントを含む1ピクセル×1ピクセルのパッチであり、これは、多くのこのようなポイントの場合、シグナリングオーバーヘッドを著しく増加させる。代わりに、不規則的なポイントクラウドは使用することができ、これは、複数の孤立点を含む特殊なパッチである。不規則的なポイントクラウドパッチに対する属性をシグナリングするために、他のパッチタイプとは異なるアプローチが使用される。しかしながら、PCCシステムは、PCC属性レイヤが不規則的なポイントクラウド/パッチを搬送することを示すことができないことがある。 A PCC system may support geometry PCC attributes containing position data and texture PCC attributes containing color data. However, some video applications may include other types of data such as reflectance, transparency, normal vectors, and the like. Some of these types of data may be encoded more efficiently using some codecs than others. However, PCC systems may require that the entire PCC stream, and thus all PCC attributes, be encoded by the same codec. Furthermore, PCC attributes may be divided into multiple layers. Such layers may then be combined and/or encoded into one or more PCC attribute streams. For example, the layers of attributes can be coded according to a temporally interleaved coding scheme, where the first layer is coded in PCC Access Units (AUs) with even values of picture output order. and the second layer is coded in PCC AU with odd values of image output order. Proper identification of streams and layers can be a challenge, as there can be 0-4 streams for each attribute and various layer combinations of such streams. However, the PCC system may not be able to determine how many layers are coded or combined with the PCC attribute stream in a given PCC bitstream. Furthermore, PCC systems may not have mechanisms for indicating the scheme of layer combinations and/or indicating correspondence between such layers and PCC attribute streams. Finally, patches are employed to encode PCC video data. For example, a three-dimensional (3D) PCC object can be represented as a set of two-dimensional (2D) patches. This allows PCC to work with video codecs designed to encode 2D video frames. However, some points in the point cloud may not be captured by the patch in some cases. For example, an isolated point in 3D space may be difficult to code as part of a patch. The only patch that makes sense in such a case is a 1 pixel by 1 pixel patch containing a single point, which for many such points significantly increases the signaling overhead. Alternatively, an irregular point cloud can be used, which is a special patch containing multiple isolated points. A different approach is used for signaling attributes for irregular point cloud patches than for other patch types. However, the PCC system may not be able to indicate that the PCC attribute layer carries an irregular point cloud/patch.
本明細書で開示されているのは、上記の問題に対処することによってPCCを改善するための機構である。一実施形態では、PCCシステムは、異なるPCC属性をコード化するために異なるコーデックを採用してもよい。具体的には、各属性に対するビデオコーデックを識別するために、別個の構文要素を採用することができる。別の実施形態では、PCCシステムは、各PCC属性ストリームを表すためにコード化される、および/または組み合わせられるレイヤの数を明示的にシグナルする。追加的に、PCCシステムは、PCC属性ストリーム内のPCC属性のレイヤをコード化する、および/または組み合わせるために使用されるモードをシグナルするために構文要素を採用してもよい。さらに、PCCシステムは、対応するPCC属性ストリームの各データユニットに関連付けられたレイヤのレイヤインデックスを指定するために構文要素を採用してもよい。さらに別の実施形態では、PCC属性レイヤが任意の不規則的なポイントクラウドポイントを搬送するかどうかを示すために各PCC属性レイヤに対してフラグを採用することができる。このような実施形態は、単独で、または組み合わせて使用することができる。さらに、このような実施形態は、PCCシステムが、復号器によって認識可能であり、したがって、復号器によって復号可能な方式で、より複雑なコーディング機構を採用することを可能にする。以下に、これらおよび他の例を詳細に説明する。 Disclosed herein are mechanisms for improving PCC by addressing the above problems. In one embodiment, a PCC system may employ different codecs to encode different PCC attributes. Specifically, separate syntax elements can be employed to identify the video codec for each attribute. In another embodiment, the PCC system explicitly signals the number of layers that are coded and/or combined to represent each PCC attribute stream. Additionally, a PCC system may employ syntax elements to signal the modes used to encode and/or combine layers of PCC attributes within a PCC attribute stream. Additionally, the PCC system may employ syntax elements to specify the layer index of the layer associated with each data unit of the corresponding PCC attribute stream. In yet another embodiment, a flag can be employed for each PCC attribute layer to indicate whether the PCC attribute layer carries any irregular point cloud points. Such embodiments may be used alone or in combination. Moreover, such embodiments allow PCC systems to employ more complex coding schemes in a manner that is recognizable by, and therefore decodable by, decoders. These and other examples are described in detail below.
図1は、ビデオ信号をコーディングする例示的な動作方法100のフローチャートである。具体的には、ビデオ信号は符号化器で符号化される。符号化プロセスは、ビデオファイルサイズを低減するために種々の機構を採用することによってビデオ信号を圧縮する。より小さいファイルサイズは、圧縮されたビデオファイルをユーザに送信することを可能にし、一方、関連する帯域幅オーバーヘッドを低減する。次いで、復号器は、圧縮されたビデオファイルを復号して、エンドユーザに表示するために元のビデオ信号を再構成する。復号プロセスは、一般に、符号化プロセスをミラーして、復号器がビデオ信号を一貫して再構成することを可能にする。
FIG. 1 is a flowchart of an exemplary method of
ステップ101では、ビデオ信号が符号化器に入力される。例えば、ビデオ信号はメモリに記憶された非圧縮ビデオファイルであってもよい。別の例として、ビデオファイルは、ビデオカメラなどのビデオキャプチャデバイスによってキャプチャされ、ビデオのライブストリーミングをサポートするように符号化されてもよい。ビデオファイルは、オーディオ成分とビデオ成分の両方を含んでもよい。ビデオ成分は、シーケンスで見られるときに視覚的な動きの印象を与える一連の画像フレームを含む。フレームは、本明細書では輝度成分(または輝度サンプル)と呼ばれる光の観点で表現されるピクセルと、彩度成分(またはカラーサンプル)と呼ばれるカラーを含む。いくつかの例では、フレームはまた、三次元ビューイングをサポートするための深さ値を含んでもよい。
At
ステップ103で、ビデオはブロックに分割される。分割は、圧縮のために、各フレーム内のピクセルを正方形および/または長方形のブロックにさらに分割することを含む。例えば、ハイ・エフィシエンシー・ビデオ・コーディング(HEVC)(H.265およびMPEG-Hパート2としても知られている)において、フレームは、最初に、所定のサイズ(例えば、64画素×64画素)のブロックである、コーディングツリーユニット(CTU)に分割することができる。CTUは輝度サンプルと彩度サンプルの両方が含む。コーディングツリーを採用して、CTUをブロックに分割し、次いで、さらなる符号化をサポートする構成が達成されるまで、ブロックを再帰的にさらに分割することができる。例えば、フレームの輝度成分は、個々のブロックが比較的均一な照明値を含むまで、さらに分割されてもよい。さらに、フレームの彩度成分は、個々のブロックが比較的均一な色値を含むまで、さらに分割されてもよい。したがって、分割機構はビデオフレームのコンテンツに依存して変動する。
At
ステップ105では、ステップ103で分割された画像ブロックを圧縮するために、様々な圧縮機構が採用される。例えば、インター予測および/またはイントラ予測が採用されてもよい。インター予測は、共通のシーンの物体が連続したフレームに現れる傾向があるという事実を利用するように設計される。したがって、参照フレーム内の物体を示すブロックは、隣接するフレーム内に繰り返し記載される必要はない。具体的には、テーブルのような物体は、複数のフレームにわたって一定の位置に留まることができる。したがって、テーブルは一度記載され、隣接するフレームは参照フレームを参照することができる。パターンマッチング機構が採用されて、複数フレームにわたって物体をマッチングしてもよい。さらに、移動する物体は、例えば、物体の動きまたはカメラの動きのために、複数のフレームにわたって表現されてもよい。特定の例として、ビデオは、複数のフレームにわたってスクリーンを横切って移動する自動車を示してもよい。このような動きを説明するために、動きベクトルが採用されてもよい。動きベクトルは、フレーム内の物体の座標から参照フレーム内の物体の座標へのオフセットを提供する二次元ベクトルである。このように、インター予測は、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルのセットとして、カレントフレーム内の画像ブロックを符号化することができる。
At
イントラ予測は、共通フレーム内のブロックを符号化する。イントラ予測は、輝度と彩度成分がフレームにおいて集中する傾向があるという事実を利用する。たとえば、樹木の一部分における緑色のパッチは、同様の緑色のパッチに隣接して位置付けられる傾向がある。イントラ予測は、多方向予測モード(例えば、HEVCでは33)、プラナーモード、およびダイレクトカレント(DC)モードを採用する。方向モードは、カレントブロックが、対応する方向における隣接ブロックのサンプルと同様/同じであることを示す。プラナーモードは、行/列に沿った一連のブロック(例えば、平面)を、行の端における隣接ブロックに基づいて補間できることを示す。プラナーモードは、事実上、値を変化させる際に比較的一定の傾きを採用することによって、行/列を横切る光/色の滑らかな遷移を示す。DCモードは境界平滑化のために使用され、ブロックが方向予測モードの角度方向に関連付けられた全ての隣接ブロックのサンプルに関連付けられた平均値と同様/同じであることを示す。したがって、イントラ予測ブロックは、実際の値の代わりに、様々な関係予測モード値として画像ブロックを表わすことができる。さらに、インター予測ブロックは、実際の値の代わりに、動きベクトル値として画像ブロックを表わすことができる。いずれの場合も、予測ブロックは、場合によっては、画像ブロックを正確に表わさないことがある。任意の差異は、残差ブロックに記憶される。変換は、ファイルをさらに圧縮するために、残差ブロックに適用されてもよい。 Intra prediction encodes blocks within a common frame. Intra prediction takes advantage of the fact that luminance and chroma components tend to be concentrated in frames. For example, green patches in a portion of a tree tend to be located adjacent to similar green patches. Intra prediction employs multi-prediction modes (eg, 33 in HEVC), planar mode, and direct current (DC) mode. The direction mode indicates that the current block is similar/same as the neighboring block's samples in the corresponding direction. Planar mode indicates that a series of blocks (eg, planes) along a row/column can be interpolated based on neighboring blocks at the ends of the rows. The planar mode effectively exhibits a smooth transition of light/color across rows/columns by adopting a relatively constant slope in changing values. DC mode is used for boundary smoothing and indicates that a block is similar/same as the average value associated with the samples of all neighboring blocks associated with the angular direction of the directional prediction mode. Thus, an intra-predicted block can represent an image block as various related prediction mode values instead of actual values. Additionally, inter-predicted blocks can represent image blocks as motion vector values instead of actual values. In either case, the predictive block may not be an exact representation of the image block in some cases. Any differences are stored in the residual block. A transform may be applied to the residual block to further compress the file.
ステップ107では、種々のフィルタリング技術が適用されてもよい。HEVCでは、フィルタは、ループ内フィルタリングスキームにしたがって適用される。上記に論じたブロックベースの予測は、復号器においてブロック状画像の生成をもたらすことがある。さらに、ブロックベースの予測スキームは、ブロックを符号化し、次いで、後で参照ブロックとして使用するために、符号化されたブロックを再構成してもよい。ループ内フィルタリングスキームは、ノイズ抑制フィルタ、デブロックフィルタ、適応ループフィルタ、およびサンプル適応オフセット(SAO)フィルタをブロック/フレームに反復して適用する。これらのフィルタは、符号化されたファイルを正確に再構成することができるように、そのようなブロッキングアーチファクトを軽減する。さらに、これらのフィルタは、再構成された参照ブロック内のアーチファクトを軽減し、アーチファクトは、再構成された参照ブロックに基づいて符号化される後続ブロック内に追加のアーチファクトを生成する可能性が低い。
Various filtering techniques may be applied in
ビデオ信号が分割され、圧縮され、フィルタリングされると、もたらされたデータはステップ109でビットストリームに符号化される。ビットストリームは、上記に論じたデータおよび復号器での適切なビデオ信号再構成をサポートするのに望ましい任意のシグナリングデータを含む。例えば、このようなデータは、パーティションデータ、予測データ、残差ブロック、および復号器にコーディング命令を提供する種々のフラグを含んでもよい。ビットストリームは、要求があると、復号器に向かって伝送のためにメモリに記憶されてもよい。ビットストリームはまた、複数の復号器に向かってブロードキャストおよび/またはマルチキャストされてもよい。ビットストリームの生成は反復プロセスである。したがって、ステップ101、103、105、107、および109は、多くのフレームおよびブロックにわたって連続的におよび/または同時に発生してもよい。図1に示された順序は、議論の明確さと容易さのために提示されており、ビデオコーディングプロセスを特定の順序に限定することを意図したものではない。
Once the video signal has been split, compressed and filtered, the resulting data is encoded into a bitstream at
復号器はビットストリームを受信し、ステップ111で復号プロセスを開始する。具体的には、復号器は、ビットストリームを対応する構文およびビデオデータに変換するエントロピー復号方式を採用する。復号器は、ビットストリームからの構文データを採用して、ステップ111でフレームのためのパーティションを決定する。パーティション分割は、ステップ103でのブロックパーティション分割の結果と一致すべきである。ステップ111において採用されるエントロピー符号化/復号が、ここで説明される。符号化器は、入力画像内の値の空間的位置付けに基づいて、いくつかの可能な選択からブロック分割方式を選択するなど、圧縮プロセスの間に多くの選択を行う。厳密な選択肢のシグナリングは、多数のビンが採用してもよい。本明細書で使用される際、ビンは、変数として扱われるバイナリ値(例えば、コンテキストに応じて変動し得るビット値)である。エントロピーコーディングは、符号化器が、許容可能なオプションのセットを残して、特定の場合に明らかに実行可能ではない任意のオプションを捨てることを可能にする。各許容可能なオプションには、コードワードが割り当てられる。コードワードの長さは、許容可能なオプションの数(例えば、2つのオプションに対して1つのビン、3~4つのオプションに対して2つのビンなど)に基づいており、符号化器は、次いで、選択されたオプションに対してコードワードを符号化する。このスキームは、コードワードが、全ての可能なオプションの潜在的に大きいセットからの選択を一意に示すこととは対照的に、許容可能なオプションの小さなサブセットからの選択を一意に示すことが望ましいほど大きいため、コードワードのサイズを低減する。次いで、復号器は、符号化器と同様の方法で許容可能なオプションのセットを決定することによって、選択を復号する。許容可能なオプションのセットを決定することによって、復号器は、コードワードを読み取り、符号化器によってなされる選択を決定することができる。
The decoder receives the bitstream and begins the decoding process at
ステップ113で、復号器はブロック復号を実行する。具体的には、復号器は、残差ブロックを生成するために逆変換を採用する。次いで、復号器は、分割にしたがって画像ブロックを再構成するために、残差ブロックおよび対応する予測ブロックを採用する。予測ブロックは、ステップ105において符号化器で生成されるように、イントラ予測ブロックとインター予測ブロックの両方を含んでもよい。次いで、再構成された画像ブロックは、ステップ111で決定された分割データにしたがって、再構成されたビデオ信号のフレーム内に位置付けられる。ステップ113に対する構文はまた、上記に論じたようにエントロピーコーディングを介してビットストリーム内でシグナルされてもよい。
At
ステップ115では、符号化器におけるステップ107と同様の方法で、再構成されたビデオ信号のフレームに対してフィルタリングが実行される。例えば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびSAOフィルタがフレームに適用されて、ブロッキングアーチファクトを除去してもよい。フレームがフィルタリングされると、ビデオ信号は、ステップ117においてディスプレイに出力され、エンドユーザによって見ることができる。
At
図2は、ビデオコーディングのための例示的なコーディングおよびデコーディング(コーデック)システム200の概略図である。具体的には、コーデックシステム200は、動作方法100の実施をサポートするための機能性を提供する。コーデックシステム200は、符号化器および復号器の両方で採用される構成要素を示すために一般化されている。コーデックシステム200は、動作方法100のステップ101および103に関して論じたように、ビデオ信号を受信および分割し、これにより、分割されたビデオ信号201をもたらす。次に、コーデックシステム200は、方法100のステップ105、107、および109に関して論じたように、符号化器として活動するときに、分割されたビデオ信号201をコード化されたビットストリームに圧縮する。復号器として活動するときに、コーデックシステム200は、動作方法100のステップ111、113、115、および117に関して論じたように、ビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、一般コーダ制御構成要素211、変換スケーリングおよび量子化構成要素213、イントラピクチャ推定構成要素215、イントラピクチャ予測構成要素217、動き補償構成要素219、動き推定構成要素221、スケーリングおよび逆変換構成要素229、フィルタ制御分析構成要素227、ループ内フィルタ構成要素225、復号されたピクチャバッファ構成要素223、ヘッダフォーマッティングおよびコンテキスト適応バイナリ算術コーディング(CABAC)構成要素231を含む。そのような構成要素は、示されるように結合される。図2において、黒線は符号化/復号されるべきデータの移動を示し、破線は他の構成要素の動作を制御する制御データの移動を示す。コーデックシステム200の構成要素は全て、符号化器内に存在してもよい。復号器は、コーデックシステム200の構成要素のサブセットを含んでもよい。例えば、復号器は、イントラピクチャ予測構成要素217、動き補償構成要素219、スケーリングおよび逆変換構成要素229、ループ内フィルタ構成要素225、および復号されたピクチャバッファ構成要素223を含んでもよい。ここで、これらの構成要素について説明する。
FIG. 2 is a schematic diagram of an exemplary coding and decoding (codec)
分割されたビデオ信号201は、コーディングツリーによってピクセルのブロックに分割されているキャプチャされたビデオシーケンスである。コーディングツリーは、ピクセルのブロックをピクセルのより小さなブロックに分割するために、種々のスプリットモードを採用する。次いで、これらのブロックは、さらに、より小さなブロックにさらに分割することができる。ブロックは、コーディングツリー上のノードと呼ばれることがある。大きな親ノードは、小さな子ノードにスプリットされる。ノードがさらに分割される回数は、ノード/コーディングツリーの深さと呼ばれる。場合によっては、分割されたブロックはコーディングユニット(CU)に含めることができる。例えば、CUは、輝度ブロック、赤色差彩度(Cr)ロック、および青色差彩度(Cb)ブロックを、対応するCUの構文命令と共に含むCTUのサブ部分とすることができる。スプリットモードは、ノードを、採用されるスプリットモードに依存して、異なる形状のそれぞれ2つ、3つ、または4つの子ノードに分割するために採用されるバイナリツリー(BT)、トリプルツリー(TT)、およびクワッドツリー(QT)を含んでもよい。分割されたビデオ信号201は、圧縮のために、一般コーダ制御構成要素211、変換スケーリングおよび量子化構成要素213、イントラピクチャ推定構成要素215、フィルタ制御分析構成要素227、および動き推定構成要素221に転送される。
A
一般コーダ制御構成要素211は、アプリケーションの制約にしたがって、ビデオシーケンスの画像をビットストリームにコーディングすることに関連する決定を行うように構成される。例えば、一般コーダ制御構成要素211は、ビットレート/ビットストリームサイズ対再構成品質の最適化を管理する。このような決定は、記憶領域/帯域幅の可用性および画像解像度要求に基づいて行われてもよい。一般コーダ制御構成要素211はまた、バッファのアンダーランおよびオーバーランの問題を緩和するために、送信速度に照らしてバッファの利用を管理する。これらの問題を管理するために、一般コーダ制御構成要素211は、他の構成要素による分割、予測、およびフィルタリングを管理する。例えば、一般コーダ制御構成要素211は、動的に、解像度を増加させ、帯域幅の使用を増加させるために圧縮の複雑さを増加させることができ、または、解像度および帯域幅の使用を減少させるために圧縮の複雑さを減少させることができる。したがって、一般コーダ制御構成要素211は、ビットレートの懸念とビデオ信号再構成品質とのバランスを取るために、コーデックシステム200の他の構成要素を制御する。一般コーダ制御構成要素211は、他の構成要素の動作を制御する制御データを生成する。制御データはまた、復号器で復号するための信号パラメータにビットストリームで符号化されるヘッダフォーマッティングおよびCABAC構成要素231に転送される。
General
分割されたビデオ信号201はまた、インター予測のために、動き推定構成要素221および動き補償構成要素219に送信される。分割されたビデオ信号201のフレームまたはスライスは、複数のビデオブロックに分割されてもよい。動き推定構成要素221および動き補償構成要素219は、時間的予測を提供するために、1つ以上の参照フレーム内の1つ以上のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。コーデックシステム200は、例えばビデオデータの各ブロックに対して適切なコーディングモードを選択するために、複数のコーデド化パスを実行してもよい。
動き推定構成要素221および動き補償構成要素219は、高度に統合されてもよいが、概念的な目的のために別個に例示されている。動き推定構成要素221によって実行される動き推定は、動きベクトルを生成するプロセスであり、動きベクトルはビデオブロックの動きを推定する。運動ベクトルは、例えば、予測ブロックに対するコード化された物体の変位を示してもよい。予測ブロックは、ピクセル差に関して、コード化されるブロックに密接に一致することが見出されるブロックである。予測ブロックは、参照ブロックとも呼ばれることがある。このような画素差は、絶対差(SAD)、二乗和差(SSD)、または他の差分メトリックの合計によって決定され得る。HEVCは、CTU、コーディング・ツリー・ブロック(CTB)、およびCUを含むいくつかのコード化された物体を採用する。例えば、CTUはCTBに分割することができ、CTBはCUに含めるためにCBに分割することができる。CUは、予測データを含む予測ユニット(PU)および/またはCUの変換残差データを含む変換ユニット(TU)として符号化することができる。動き推定構成要素221は、レート歪み最適化プロセスの一部としてレート歪み分析を使用して、動きベクトル、PU、およびTUを生成する。例えば、動き推定構成要素221は、カレントブロック/フレームに対して複数の参照ブロック、複数の動きベクトルなどを決定してしもよいし、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択してもよい。最良のレート歪み特性は、ビデオ再構成の品質(例えば、圧縮によるデータ損失量)とコーディング効率(例えば、最終符号化のサイズ)の両方をバランスさせる。
いくつかの例では、コーデックシステム200は、復号されたピクチャバッファ構成要素223に記憶された参照ピクチャのサブ整数画素位置の値を計算してもよい。例えば、ビデオコーデックシステム200は、参照ピクチャの1/4画素位置、1/8画素位置、または他の画素部分位置の値を補間することができる。したがって、動き推定構成要素221は、全ピクセル位置および端数の画素位置に対する動きサーチを実行し、端数の画素精度を有する動きベクトルを出力してもよい。動き推定構成要素221は、PUの位置を基準ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのPUに対する動きベクトルを計算する。動き推定構成要素221は、符号化のためのヘッダフォーマッティングおよびCABAC構成要素231への動きデータとしての計算された動きベクトルを出力し、動き補償構成要素219への動きを出力する。
In some examples,
動き補償構成要素219によって実行される動き補償は、動き推定構成要素221によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴ってもよい。また、いくつかの例では、動き推定構成要素221および動き補償構成要素219は、機能的に統合されてもよい。カレントビデオブロックのPUに対する動きベクトルを受信すると、動き補償構成要素219は、動きベクトルがポイントする予測ブロックを位置付けてもよい。次いで、コード化されるカレントビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって、残差ビデオブロックが形成され、ピクセル差値が形成する。一般に、動き推定構成要素221は輝度構成要素に対する動き推定を実行し、動き補償構成要素219は彩度構成要素と輝度構成要素の両方に対する輝度構成要素に基づいて計算された動きベクトルを使用する。予測ブロックおよび残差ブロックは、スケーリングおよび量子化構成要素213を変換するために転送される。
Motion compensation performed by
分割されたビデオ信号201はまた、イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217に送信される。動き推定構成要素221および動き補償構成要素219と同様に、イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217は、高度に統合されてもよいが、概念的な目的のために別個に例示されている。イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217は、上述のように、フレーム間の動き推定構成要素221および動き補償構成要素219によって実行されるインター予測の代わりに、カレントフレーム内のブロックに対するカレントブロックをイントラ予測する。特に、イントラピクチャ推定構成要素215は、カレントブロックを符号化するために使用するイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定構成要素215は、複数のテストされたイントラピクチャ予測モードからカレントブロックを符号化するために、適切なイントラ予測モードを選択する。次いで、選択されたイントラ予測モードが、符号化のためにヘッダフォーマッティングおよびCABAC構成要素231に転送される。
例えば、イントラピクチャ推定構成要素215は、種々の試験されたイントラ予測モードについてレート歪み分析を使用してレート歪み値を計算し、試験されたモードのうち最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、一般に、符号化ブロックと符号化ブロックを生成するために符号化された元の非コーディングブロックとの間の歪み(またはエラー)の量、および符号化ブロックを生成するために使用されるビットレート(例えば、ビット数)を決定する。イントラピクチャ推定構成要素215は、種々の符号化ブロックに対する歪みおよびレートから比を計算して、どのイントラ予測モードがブロックに対する最良のレート歪み値を呈するかを決定する。追加的に、イントラピクチャ推定構成要素215は、レート歪み最適化(RDO)に基づく深さモデリングモード(DMM)を使用して深さマップの深さブロックをコード化するように構成されてもよい。
For example, intra
イントラピクチャ予測構成要素217は、符号化器で実施されたときにイントラピクチャ推定構成要素215によって決定された選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成するか、または復号器で実施されたときにビットストリームから残差ブロックを読み取ってもよい。残差ブロックは、行列として表される予測ブロックと元のブロックとの間の値の差を含む。次いで、残差ブロックは、変換スケーリングおよび量子化構成要素213に転送される。イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217は、輝度構成要素および彩度構成要素の両方に対して動作してもよい。
変換スケーリングおよび量子化構成要素213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化構成要素213は、離散コサイン変換(DCT)、離散正弦変換(DST)、概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を含むビデオブロックを生成する。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用することができる。変換は、残差情報をピクセル値ドメインから変換ドメイン、例えば周波数ドメインに変換してもよい。変換スケーリングと量子化構成要素213はまた、変換された残差情報を、例えば周波数に基づいてスケーリングするように構成されている。このようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、残差情報にスケールファクタを適用することを伴い、これは、再構成されたビデオの最終的な視覚品質に影響を及ぼすことがある。変換スケーリングおよび量子化構成要素213はまた、ビットレートをさらに低減するために変換係数を量子化するように構成されている。量子化プロセスは、係数のいくつかまたは全てに関連付けられたビット深さを低減してもよい。量子化の程度は、量子化パラメータを調整することによって修正されてもよい。いくつかの例では、変換スケーリングおよび量子化構成要素213は、次いで、量子化された変換係数を含む行列の走査を実行してもよい。量子化された変換係数は、ヘッダフォーマッティングおよびCABAC構成要素231に転送され、ビットストリームにおいて符号化される。
Transform scaling and
スケーリングおよび逆変換構成要素229は、動き推定をサポートするために変換スケーリングおよび量子化構成要素213の逆動作を適用する。スケーリングおよび逆変換構成要素229は、逆スケーリング、変換、および/または量子化を適用して、画素ドメイン内の残差ブロックを再構成し、例えば、後に別のカレントブロックの予測ブロックとなり得る参照ブロックとして使用する。動き推定構成要素221および/または動き補償構成要素219は、後のブロック/フレームの動き推定に使用するために、残差ブロックを対応する予測ブロックに加算することによって参照ブロックを計算してもよい。フィルタは、スケーリング、量子化、および変換の間に生成されるアーチファクトを軽減するために、再構成された参照ブロックに適用される。そうでなければ、このようなアーチファクトは、後続のブロックが予測されたときに不正確な予測を引き起こす(追加のアーチファクトを生成する)。
A scaling and
フィルタ制御分析構成要素227およびループ内フィルタ構成要素225は、残差ブロックおよび/または再構成された画像ブロックにフィルタを適用する。例えば、スケーリングおよび逆変換構成要素229からの変換された残差ブロックを、イントラピクチャ予測構成要素217および/または動き補償構成要素219からの対応する予測ブロックと組み合わせて、元の画像ブロックを再構成してもよい。次いで、フィルタは、再構成された画像ブロックに適用されてもよい。いくつかの例において、フィルタは、代わりに、残差ブロックに適用されてもよい。図2の他の構成要素と同様に、フィルタ制御分析構成要素227およびループ内フィルタ構成要素225は、高度に統合されており、一緒に実施されてもよいが、概念的な目的のために別々に示されている。再構成された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタがどのように適用されるのかを調整するために複数のパラメータを含む。フィルタ制御分析構成要素227は、再構成された参照ブロックを解析して、そのようなフィルタを適用すべき場所を決定し、対応するパラメータをセットする。このようなデータは、符号化のためのフィルタ制御データとしてヘッダフォーマッティングおよびCABAC構成要素231に転送される。ループ内フィルタ構成要素225は、フィルタ制御データに基づいてこのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応ループフィルタを含んでもよい。このようなフィルタは、例に応じて、空間/画素ドメイン(例えば、再構成された画素ブロック)または周波数ドメインにおいて適用され得る。
Filter
符号化器として動作するときに、フィルタリングされ再構成された画像ブロック、残差ブロック、および/または予測ブロックは、後に上記に論じたように動作推定に使用するために、復号されたピクチャバッファ構成要素223に記憶される。復号器として動作するときに、復号されたピクチャバッファ構成要素223は、出力ビデオ信号の一部として、再構成されフィルタリングされたブロックを記憶し、ディスプレイに向かって転送する。復号されたピクチャバッファ構成要素223は、予測ブロック、残差ブロック、および/または再構成された画像ブロックを記憶することができる任意のメモリデバイスであってもよい。
When operating as an encoder, the filtered and reconstructed image blocks, residual blocks, and/or prediction blocks are stored in a decoded picture buffer configuration for subsequent use in motion estimation as discussed above. Stored in
ヘッダフォーマッティングおよびCABAC構成要素231は、コーデックシステム200の種々の構成要素からデータを受信し、復号器に向けて伝送するために、このようなデータをコード化されたビットストリームに符号化する。具体的には、ヘッダフォーマッティングおよびCABAC構成要素231は、一般制御データおよびフィルタ制御データのような制御データを符号化するための種々のヘッダを生成する。さらに、イントラ予測および動きデータを含む予測データ、ならびに量子化変換係数データの形の残差データは、全てビットストリームに符号化される。最終ビットストリームは、元の分割されたビデオ信号201を再構成するために復号器によって望まれる全ての情報を含む。このような情報は、また、イントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)、種々のブロックに対する符号化コンテキストの定義、最も可能性の高いイントラ予測モードの指示、パーティション情報の指示などを含んでもよい。このようなデータは、エントロピーコーディングを採用することによって符号化されてもよい。例えば、コンテキスト適応可変長コーディング(CAVLC)、CABAC、構文ベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔分割エントロピーコーディング(PIPE)、または別のエントロピーコーディング技術を使用することによって、情報を符号化してもよい。エントロピーコーディングにしたがって、コード化されたビットストリームは、別のデバイス(例えば、ビデオ復号器)に送信されてもよく、または後の伝送または検索のためにアーカイブされてもよい。
Header formatting and
図3は、例示的なビデオ符号化器300を示すブロック図である。ビデオ符号化器300は、コーデックシステム200の符号化機能を実施するため、および/または動作方法100のステップ101、103、105、107、および/または109を実施するために採用されてもよい。符号化器300は、入力ビデオ信号を分割し、分割されたビデオ信号301をもたらし、これは、分割されたビデオ信号201と実質的に同様である。次いで、分割されたビデオ信号301は、符号化器300の構成要素によって圧縮され、ビットストリームに符号化される。
FIG. 3 is a block diagram illustrating an
具体的には、分割されたビデオ信号301は、イントラ予測のために、イントラピクチャ予測構成要素317に転送される。イントラピクチャ予測構成要素317は、イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217と実質的に同様であってもよい。また、分割されたビデオ信号301は、復号されたピクチャバッファ構成要素323内の参照ブロックに基づくインター予測のために、動き補償構成要素321に転送される。動き補償構成要素321は、動き推定構成要素221および動き補償構成要素219と実質的に同様であってもよい。イントラピクチャ予測構成要素317および動き補償構成要素321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化構成要素313に転送される。変換および量子化構成要素313は、変換スケーリングおよび量子化構成要素213と実質的に同様であってもよい。変換され量子化された残差ブロックおよび対応する予測ブロック(関連付けられた制御データと共に)は、ビットストリームにコーディングするためにエントロピーコーディング構成要素331に転送される。エントロピーコーディング構成要素331は、ヘッダフォーマッティングおよびCABAC構成要素231と実質的に同様であってもよい。
Specifically, split
変換および量子化された残差ブロックおよび/または対応する予測ブロックも、動き補償構成要素321によって使用される参照ブロックへの再構成のために、変換および量子化構成要素313から逆変換および量子化構成要素329に転送される。逆変換および量子化構成要素329は、スケーリングおよび逆変換構成要素229と実質的に同様であってもよい。ループ内フィルタ構成要素325内のループ内フィルタはまた、例に応じて、残差ブロックおよび/または再構成された参照ブロックにも適用される。ループ内フィルタ構成要素325は、実質的に、フィルタ制御分析構成要素227およびループ内フィルタ構成要素225と同様であってもよい。ループ内フィルタ構成要素325は、ループ内フィルタ構成要素225に関して論じられたように、複数のフィルタを含んでもよい。次いで、フィルタリングされたブロックは、動き補償構成要素321による参照ブロックとして使用されるために、復号されたピクチャバッファ構成要素323に記憶される復号されたピクチャバッファ構成要素323は、復号されたピクチャバッファ構成要素223と実質的に同様であってもよい。
The transformed and quantized residual blocks and/or corresponding prediction blocks are also inverse transformed and quantized from transform and
図4は、例示的なビデオ復号器400を示すブロック図である。ビデオ復号器400は、コーデックシステム200の復号機能を実施するため、および/または動作方法100のステップ111、113、115、および/または117を実施するために採用されてもよい。復号器400は、例えば符号化器300からビットストリームを受信し、エンドユーザに表示するために、ビットストリームに基づいて再構成された出力ビデオ信号を生成する。
FIG. 4 is a block diagram illustrating an
ビットストリームはエントロピー復号構成要素433によって受信される。エントロピー復号構成要素433は、CAVLC、CABAC、SBAC、PIPEコーディング、または他のエントロピーコーディング技術などのエントロピー復号スキームを実施するように構成されている。例えば、エントロピー復号構成要素433は、ビットストリームにおけるコードワードとして符号化された追加データを解釈するためのコンテキストを提供するために、ヘッダ情報を採用してもよい。復号された情報は、一般制御データ、フィルタ制御データ、パーティション情報、動きデータ、予測データ、および残差ブロックからの量子化変換係数のような、ビデオ信号を復号するための任意の所望の情報を含む。量子化された変換係数は、残差ブロックに再構成するために、逆変換および量子化構成要素429に転送される。逆変換および量子化構成要素429は、逆変換および量子化構成要素329と同様であってもよい。
The bitstream is received by
再構成された残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づいて画像ブロックに再構成するために、イントラピクチャ予測構成要素417に転送される。イントラピクチャ予測構成要素417は、イントラピクチャ推定構成要素215およびイントラピクチャ予測構成要素217と同様であってもよい。具体的には、イントラピクチャ予測構成要素417は、フレーム内の参照ブロックを位置決めするために予測モードを採用し、残差ブロックを結果に適用して、イントラ予測画像ブロックを再構成する。再構成されたイントラ予測画像ブロックおよび/または残差ブロックおよび対応するインター予測データは、復号されたピクチャバッファ構成要素423に、ループ内フィルタ構成要素425を介して転送され、これは、復号されたピクチャバッファ構成要素223およびループ内フィルタ構成要素225にそれぞれ実質的に同様であってもよい。ループ内フィルタ構成要素425は、再構成された画像ブロック、残差ブロックおよび/または予測ブロックをフィルタリングし、このような情報は復号されたピクチャバッファ構成要素423に記憶される。復号されたピクチャバッファ構成要素423からの再構成された画像ブロックは、インター予測のために動き補償構成要素421に転送される。動き補償構成要素421は、動き推定構成要素221および/または動き補償構成要素219と実質的に同様であってもよい。具体的には、動き補償構成要素421は、参照ブロックからの動きベクトルを採用して予測ブロックを生成し、残差ブロックを結果に適用して画像ブロックを再構成する。もたらされた再構成されたブロックは、ループ内フィルタ構成要素425を介して復号されたピクチャバッファ構成要素423に転送されてもよい。復号されたピクチャバッファ構成要素423は、パーティション情報を介してフレームに再構成することができる追加の再構成画像ブロックを記憶し続ける。このようなフレームは、シーケンスに置かれてもよい。このシーケンスは、再構成された出力ビデオ信号としてディスプレイに向けて出力される。
The reconstructed residual and/or prediction blocks are forwarded to intra
図5は、PCC機構にしたがってコード化され得るポイントクラウド媒体500の例である。ポイントクラウドとは、空間内のデータポイントのセットである。ポイントクラウドは、周囲の物体の外表面上の多数のポイントを測定する3Dスキャナによって生成されてもよい。ポイントクラウドは、幾何属性、テクスチャ属性、反射率属性、透明度属性、法線属性などの観点から説明されてもよい。各属性は、方法100の一部として、ビデオコーデックシステム200、符号化器300、および/または復号器400などのコーデックによってコード化することができる。具体的には、PCCフレームの各属性は、符号化器で別々にコード化され、復号器で復号され、再度組み合わせられて、PCCフレームを再作成することができる。
FIG. 5 is an example of a point cloud medium 500 that can be encoded according to the PCC scheme. A point cloud is a set of data points in space. A point cloud may be generated by a 3D scanner that measures a large number of points on the outer surface of the surrounding object. A point cloud may be described in terms of geometric attributes, texture attributes, reflectance attributes, transparency attributes, normal attributes, and the like. Each attribute may be encoded by a codec, such as
ポイントクラウド媒体500は、3つの境界ボックス502、504、および506を含む。境界ボックス502、504、および506の各々は、カレントフレームからの3D画像の一部分またはセグメントを表す。境界ボックス502、504、および506は、人物の3D画像を含むが、他の物体は、実際のアプリケーションでは、境界ボックスに含まれてもよい。各境界ボックス502、504、および506は、x、y、およびz方向における3D画像によって占有される画素数をそれぞれ示すx軸、y軸、およびz軸を含む。例えば、x軸およびy軸は、約400ピクセル(例えば、約0~400ピクセル)を示し、z軸は、約1000ピクセル(例えば、約0~1000ピクセル)を示す。
境界ボックス502、504、および506の各々は、図5のキューブまたはボックスによって表される1つ以上のパッチ508を含む。各パッチ508は、境界ボックス502、504、または506のうちの1つの内の全体の物体の一部分を含み、パッチサイズ情報によって説明または表されてもよい。パッチ情報は、例えば、境界ボックス502、504、または506内のパッチ508の位置を説明する二次元(2D)座標および/または三次元(3D)座標を含んでもよい。パッチ情報はまた、他のパラメータを含んでもよい。例えば、パッチ情報は、参照パッチ情報からカレントパッチ情報に対して継承されるnormalAxisのようなパラメータを含んでもよい。すなわち、参照フレームのパッチ情報からの1つ以上のパラメータが、カレントフレームのパッチ情報に対して継承されてもよい。追加的に、参照フレームからの1つ以上のメタデータ部(例えば、パッチ回転、スケールパラメータ、材料識別子など)は、カレントフレームに継承されてもよい。パッチ508は、本明細書では、3Dパッチまたはパッチデータユニットと互換的に呼ばれることがある。各境界ボックス502、504、または506内のパッチ508のリストを生成し、最大パッチから最小パッチまでの降順にパッチバッファに記憶してもよい。次いで、このパッチは、符号化器によって符号化器され、および/または復号器によって復号することができる。
Each of bounding
パッチ508は、ポイントクラウド媒体500の様々な属性を説明することができる。具体的には、x軸、y軸、およびz軸上の各ピクセルの位置は、そのピクセルの幾何学的形状である。カレントフレーム内の全てのピクセルの位置を含むパッチ508は、ポイントクラウド媒体500のカレントフレームに対する幾何学的属性を捕捉するようにコード化することができる。さらに、各ピクセルは、赤、青、および緑(RGB)および/または輝度および彩度(YUV)スペクトルにおける色値を含んでもよい。カレントフレーム内の全てのピクセルの色を含むパッチ508は、ポイントクラウド媒体500のカレントフレームに対するテクスチャ属性を捕捉するようにコード化することができる。
追加的に、各ピクセルは、いくらかの反射率を含んでもよい(または含まなくてもよい)。反射率は、ピクセルから隣接するピクセルに投影する光(例えば、着色光)の量である。輝く物体は高い反射率を有し、したがって、それらの対応するピクセルの光/色を他の近くのピクセルに広げる。一方、無光沢物体は、反射率がほとんどまたは全くなく、隣接するピクセルの色/光レベルに影響を与えないことがある。カレントフレーム内の全てのピクセルの反射率を含むパッチ508は、ポイントクラウド媒体500のカレントフレームに対する反射率属性を捕捉するようにコード化することができる。いくつかの画素は、部分的に、完全に透明であってもよい(例えば、ガラス、透明プラスチックなど)。透明度は、カレント画素を通過することができる隣接する画素の光/色の量である。カレントフレーム内の全てのピクセルの透明度のレベルを含むパッチ508は、ポイントクラウド媒体500のカレントフレームに対する透明度属性を捕捉するようにコード化することができる。さらに、ポイントクラウド媒体のポイントは、表面を生成することがある。表面は、表面に垂直なベクトルである法線ベクトルと関連付けることができる。法線ベクトルは、物体の動きおよび/または相互作用を説明するときに有用であることがある。したがって、場合によっては、ユーザは、さらなる機能性をサポートするために、表面のための法線ベクトルを符号化することを望んでもよい。カレントフレーム内の表面に対する法線ベクトルを含むパッチ508は、ポイントクラウド媒体500のカレントフレームに対する法線属性を捕捉するようにコード化することができる。
Additionally, each pixel may (or may not) contain some reflectance. Reflectance is the amount of light (eg, colored light) that a pixel projects onto neighboring pixels. Shining objects have a high reflectance, thus spreading the light/color of their corresponding pixels to other nearby pixels. Matte objects, on the other hand, have little or no reflectance and may not affect the color/light levels of neighboring pixels. A
幾何学的形状、テクスチャ、反射率、透明度、および法線属性は、例に応じて、ポイントクラウド媒体500内のいくつかのまたは全てのデータポイントを説明するデータを含むことができる。例えば、反射率、透明度、および法線属性は任意選択であり、したがって、同一のビットストリームにおいてさえ、あるポイントクラウド媒体500の例では個別に、または組み合わせて発生し、他のものには発生しないことがある。このように、パッチ508の数、さらには属性の数は、フィルム化された主題、ビデオ設定などに基づいて、フレームごと、およびビデオごとに変動することがある。
Geometry, texture, reflectance, transparency, and normal attributes may include data describing some or all data points within the
図6は、ポイントクラウド媒体フレーム600のためのデータセグメンテーションおよびパッキングの例である。具体的には、図6の例は、ポイントクラウド媒体500のパッチ508の2D表現を示す。ポイントクラウド媒体フレーム600は、ビデオシーケンスからのカレントフレームに対応する境界ボックス602を含む。境界ボックス602は、3Dである図5の境界ボックス502、504、および506とは対照的に2Dである。図示のように、境界ボックス602は、多数のパッチ604を含む。パッチ604は、本明細書では、2Dパッチまたはパッチデータユニットと互換的に呼ばれることがある。まとめると、図6のパッチ604は、図5の境界ボックス504内の画像の表現である。このように、図5の境界ボックス504内の3D画像は、パッチ604を介して境界ボックス602上に投影される。パッチ604のうちの1つを含まない境界ボックス602の部分は、空隙606と呼ばれる。空隙606は、空隙、空サンプルなどとも呼ばれることがある。
FIG. 6 is an example of data segmentation and packing for a point
上記に留意すると、ビデオベースのポイントクラウド圧縮(PCC)コーデック解は、3Dポイントクラウドデータ(例えば、図5のパッチ508)の2D投影パッチ(例えば、図6のパッチ604)へのセグメント化に基づくことに留意されたい。実際に、上述のコーディング方法またはプロセスは、例えば、没入6自由度(6 DoF)、動的拡張現実/仮想現実(AR/VR)物体、文化遺産、グラフィック情報システム(GIS)、コンピュータ支援設計(CAD)、自律ナビゲーションなどのような種々のタイプの技術に対して有益に実施されてもよい。
With the above in mind, video-based point cloud compression (PCC) codec solutions are based on segmenting 3D point cloud data (e.g.,
境界ボックス(例えば、境界ボックス602)内の各パッチ(例えば、図6のパッチ604のうちの1つ)の位置は、パッチのサイズのみによって決定され得る。例えば、図6のパッチ604のうち最大のものは、最初に左上隅(0,0)から開始する境界ボックス602上に投影される。パッチ604のうち最大のものが境界ボックス602上に投影された後、次の最大のパッチ604が、境界ボックス602上に投影され(別名充填され)、パッチ604のうち最小のものが境界ボックス602上に投影されるまで続く。再度、このプロセスでは、各パッチ604のサイズのみが考慮される。場合によっては、より小さいサイズを有するパッチ604は、より大きなパッチ間の空間を占有してもよく、より大きなパッチ604よりも境界ボックス602の左上隅により近い位置を有することになる。符号化の間、このプロセスは、フレーム内の各属性に対するパッチが1つ以上の対応する属性ストリームに符号化されるまで、各関連属性に対して繰り返されてもよい。次いで、単一フレームを再作成するために使用される属性ストリーム内のデータユニットのグループは、PCC AU内のビットストリームに記憶することができる。復号器において、これらの属性ストリームは、PCC AUから取得され、復号されて、パッチ604を生成する。次いで、このようなパッチ604を組み合わせて、PCC媒体を再作成することができる。このように、ポイントクラウド媒体フレーム600は、伝送のためにポイントクラウド媒体500を圧縮するための方法100の一部として、ビデオコーデックシステム200、符号化器300、および/または復号器400のようなコーデックによってコード化することができる。
The position of each patch (eg, one of
図7は、拡張属性セットを有する例示的なPCCビデオストリーム700を例示する概略図である。例えば、PCCビデオストリーム700は、例えば、ビデオコーデックシステム200、符号化器300、および/または復号器400を採用することによって、ポイントクラウド媒体500からのポイントクラウド媒体フレーム600が方法100にしたがって符号化されるときに生成されてもよい。
FIG. 7 is a schematic diagram illustrating an exemplary
PCCビデオストリーム700は、PCC AU710のシーケンスを含む。PCC AU 710は、単一のPCCフレームを再構成するのに十分なデータを含む。データは、NALユニット720内のPCC AU710に配置される。NALユニット720は、パケットサイズのデータコンテナである。例えば、単一のNALユニット720は、一般に、単純なネットワーク伝送を可能にするようにサイズ決定されている。NALユニット720は、NALユニット720のタイプを示すヘッダと、関連付けられたビデオデータを含むペイロードとを含んでもよい。PCCビデオストリーム700は、拡張属性セットのために設計され、したがって、いくつかの属性特定NALユニット720を含む。
PCCビデオストリーム700は、フレーム群(GOF)ヘッダ721、補助情報フレーム722、占有マップフレーム723、幾何学的形状NALユニット724、テクスチャNALユニット725、反射NALユニット726、透明度NALユニット727、および法線NALユニット728を含み、それぞれはNALユニット720のタイプである。GOFヘッダ721は、対応するPCC AU 710、対応するPCC AU 710に関連付けられたフレーム、および/またはPCC AU 710内の他のNALユニット720を説明する様々な構文要素を含む。PCC AU 710は、例に応じて、単一のGOFヘッダ721を含んでもよいし、GOFヘッダ721を含まなくてもよい。補助情報フレーム722は、属性を符号化するために使用されるパッチに関連する情報のような、フレームに関連するメタデータを含んでもよい。占有マップフレーム723は、空のフレームの領域対データで占有されたフレームの領域を示す占有マップのような、フレームに関連するさらなるメタデータを含んでもよい。残りのNALユニット720は、PCC AU 710に対する属性データを含む。具体的には、幾何学的形状NALユニット724、テクスチャNALユニット725、反射NALユニット726、透明度NALユニット727、および法線NALユニット728は、それぞれ、幾何学的属性、テクスチャ属性、反射属性、透過属性、および法線属性を含む。
The
上記のように、属性はストリームに編成することができる。例えば、各属性に対して0~4のストリームがあってもよい。ストリームは、PCCビデオデータの論理的に分離した部分を含んでもよい。例えば、異なる物体のための属性は、同じタイプの複数の属性ストリーム(例えば、第1の3D境界ボックスのための第1の幾何学的形状ストリーム、第2の3D境界ボックスのための第2の属性ストリームなど)に符号化されてもよい。別の例では、異なるフレーム関連付けられた属性は、複数の属性ストリーム(例えば、偶数フレームのための透明度属性ストリーム、奇数フレームのための透明度属性ストリーム)に符号化されてもよい。さらに別の例では、パッチをレイヤ状に置いて3D物体を表してもよい。したがって、別々のレイヤは、別々のストリーム(例えば、トップレイヤに対して第1テクスチャ属性ストリーム、第2レイヤに対して第2のテクスチャ属性ストリームなど)に含まれてもよい。例にかかわらず、PCC AU710は、対応する属性のための0、1または複数のNALユニットを含んでもよい。
As noted above, attributes can be organized into streams. For example, there may be 0-4 streams for each attribute. A stream may contain logically separate portions of PCC video data. For example, attributes for different objects may be represented by multiple attribute streams of the same type (e.g., a first geometry stream for a first 3D bounding box, a second attribute stream). In another example, attributes associated with different frames may be encoded into multiple attribute streams (eg, a transparency attribute stream for even frames, a transparency attribute stream for odd frames). In yet another example, patches may be layered to represent a 3D object. Thus, separate layers may be included in separate streams (eg, a first texture attribute stream for the top layer, a second texture attribute stream for the second layer, etc.). Regardless of the example, the
本開示は、種々の属性(例えば、幾何学的形状NALユニット724、テクスチャNALユニット725、反射NALユニット726、透明度NALユニット727、および/または法線NALユニット728に含まれるように)をコーディングするための柔軟性の増大をサポートする。第1の例では、異なるPCC属性をコーディングするために、異なるコーデックを採用することができる。具体的な例として、第1コーデックを採用して、PCCビデオの幾何学的形状を幾何学的形状NALユニット724にコード化することができ、第2コーデックを採用して、PCCビデオの反射を反射NALユニット726にコード化する。別の例として、PCCビデオをコーディングする際に、最大5つのコーデック(例えば、各属性に対して1つのコーデック)を採用することができる。次いで、属性に使用されるコーデックは、PCCビデオストリーム700、例えば、GOFヘッダ721において構文要素としてシグナルすることができる。
This disclosure codes various attributes (eg, as included in
さらに、上記のように、PCC属性は、レイヤおよび/またはストリームの多くの組み合わせを採用してもよい。したがって、復号するときに復号器が各属性に対するレイヤおよび/またはストリームの組み合わせを決定することを可能にするために、(例えば、GOFヘッダ721内の)構文要素を使用して、各属性を符号化するときに符号化器によって使用されるレイヤおよび/またはストリームの組み合わせをシグナルすることができる。さらに、(例えば、GOFヘッダ721内の)構文要素を使用して、PCC属性ストリーム内のPCC属性のレイヤをコーディングおよび/または組み合わせるために使用されるモードをシグナルすることができる。追加的に、(例えば、GOFヘッダ721内の)構文要素を使用して、PCC属性ストリームに対応する各NALユニット720に関連付けられたレイヤのレイヤインデックスを指定することができる。例えば、GOFヘッダ721を使用して、幾何学的形状属性に関連するレイヤおよびストリームの数、そのようなレイヤおよびストリームが配置される方式、ならびに各幾何学的NALユニット724のためのレイヤインデックスを、復号器がPCCフレームを復号するときに各幾何学的NALユニット724を適切なレイヤに割り当てることができるようにシグナルすることができる。
Further, as noted above, PCC attributes may employ many combinations of layers and/or streams. Therefore, each attribute is encoded using a syntax element (eg, in the GOF header 721) to allow the decoder to determine the layer and/or stream combination for each attribute when decoding. The layer and/or stream combination used by the encoder when encoding can be signaled. Additionally, syntax elements (eg, in the GOF header 721) can be used to signal the mode used to code and/or combine layers of PCC attributes within the PCC attribute stream. Additionally, a syntax element (eg, in the GOF header 721) can be used to specify the layer index of the layer associated with each
最後に、(例えば、GOFヘッダ721内の)フラグは、任意のPCC属性レイヤが任意の不規則的なポイントクラウドポイントを含むかどうかを示すことができる。不規則的なポイントクラウドは、隣接するデータポイントと非連続である1つ以上のデータポイントのセットであり、したがって、パッチ604のような2Dパッチで表わすことができない。その代わりに、このような点は、このような不規則的なポイントクラウドポイントに関連付けられた座標および/または変換パラメータを含む不規則的なポイントクラウドパッチの一部として表わされる。不規則ポイントクラウドは2Dパッチとは異なるデータ構造を使用して表わされるため、フラグは復号器が不規則ポイントクラウドの存在を適切に認識し、そのようなデータを復号するための適切な機構を選択することを可能にする。
Finally, a flag (eg, in the GOF header 721) can indicate whether any PCC attribute layer contains any irregular point cloud points. An irregular point cloud is a set of one or more data points that are non-contiguous with neighboring data points and therefore cannot be represented by a 2D patch such as
以下は、上述の態様を実施するための例示的な機構である。定義:ビデオNALユニットは、PccNalUnitTypeがGMTRY_NALU、TEXTURE_NALU、REFLECT_NALU、TRANSP_NALU、またはNORMAL_NALUに等しいPCC NALユニットである。 The following are exemplary mechanisms for implementing the aspects described above. Definition: A video NAL unit is a PCC NAL unit with PccNalUnitType equal to GMTRY_NALU, TEXTURE_NALU, REFLECT_NALU, TRANSP_NALU, or NORMAL_NALU.
ビットストリームフォーマット:この項は、NALユニットストリームとバイトストリームの間の関係を指定し、いずれかはビットストリームと呼ばれる。ビットストリームは、NALユニットストリームフォーマットまたはバイトストリームフォーマットの2つのフォーマットのうちの1つとすることができる。NALユニットストリームフォーマットは概念的にはより基本的なタイプであり、PCC NALユニットと呼ばれる一連の構文構造を含む。このシーケンスは復号順で順序付けされる。NALユニットストリームにおいてPCC NALユニットの復号順(およびコンテンツ)に課される制約がある。バイトストリームフォーマットは、NALユニットを復号順に並べ、各NALユニットに開始コードプレフィックスとゼロ以上のゼロ値バイトをプレフィックスしてバイトストリームを形成することによって、NALユニットストリームフォーマットから構成することができる。NALユニットストリームフォーマットは、このバイトのストリーム内の一意の開始コードプレフィックスパターンの位置を検索することによって、バイトストリームフォーマットから抽出することができる。バイトストリームフォーマットは、HEVCおよびAVCで採用されているフォーマットと同様である。 Bitstream Format: This section specifies the relationship between the NAL unit stream and the byte stream, either called bitstream. A bitstream can be in one of two formats: NAL unit stream format or byte stream format. The NAL unit stream format is conceptually a more basic type, containing a set of syntactic structures called PCC NAL units. This sequence is ordered in decoding order. There are constraints imposed on the decoding order (and content) of PCC NAL units in the NAL unit stream. A byte stream format may be constructed from the NAL unit stream format by placing the NAL units in decoding order and prefixing each NAL unit with a start code prefix and zero or more zero value bytes to form a byte stream. The NAL unit stream format can be extracted from the byte stream format by searching for the position of the unique start code prefix pattern within this stream of bytes. The byte stream format is similar to that adopted by HEVC and AVC.
PCC NALユニットヘッダ構文は、以下の表1に説明されるように実施されてもよい。
PCCプロファイルおよびレベル構文は、以下の表3に説明されるように実施されてもよい。
PCC NALユニットヘッダセマンティクスは以下のように実施されてもよい。forbidden_zero_bitは、0に等しく設定されてもよい。pcc_nal_unit_type_plus1-1は、変数PccNalUnitTypeの値を指定し、これは、下記の表4に指定されるように、PCC NALユニットに含まれるRBSPデータ構造のタイプを指定する。変数NalUnitTypeは次のように指定される:
PccNalUnitType=pcc_nal_unit_type_plus1-1 (7-1)セマンティクスが指定されていないUNSPEC25~UNSPEC30の範囲のnal_unit_typeを持つPCC NALユニットは、本明細書で指定される復号プロセスに影響を与えない。UNSPEC25~UNSPEC30の範囲のPCC NALユニットは、アプリケーションによって決定されたとおりに使用されてもよいと留意されたい。PccNalUnitTypeのこれらの値に対する復号プロセスは、本開示では指定されない。異なるアプリケーションが異なる目的のためにこれらのPCC NALユニットタイプを使うかもしれないため、これらのPccNalUnitType値を有するPCC NALユニットを生成する符号化器の設計と、これらのPccNalUnitType値を有するPCC NALユニットのコンテンツを解釈する復号器の設計に、特別な注意が払われるべきです。この開示は、これらの値に対するあらゆる管理を定義しない。これらのPccNalUnitType値は、使用の衝突(例えば、同じPccNalUnitType値に対するPCC NALユニットのコンテンツの意味の異なる定義)が重要でなく、不可能であるコンテキストでの使用にのみ適している可能性があり、例えば、制御アプリケーションまたはトランスポート仕様で定義または管理されるか、ビットストリームが配布される環境を制御することによって管理される。
PCC NAL unit header semantics may be implemented as follows. forbidden_zero_bit may be set equal to zero. pcc_nal_unit_type_plus1-1 specifies the value of the variable PccNalUnitType, which specifies the type of RBSP data structure contained in the PCC NAL unit, as specified in Table 4 below. The variable NalUnitType is specified as follows:
PccNalUnitType=pcc_nal_unit_type_plus1-1 (7-1) PCC NAL units with nal_unit_type in the range UNSPEC25 to UNSPEC30 with unspecified semantics have no effect on the decoding process specified herein. Note that PCC NAL units in the range UNSPEC25 to UNSPEC30 may be used as determined by the application. The decoding process for these values of PccNalUnitType is not specified in this disclosure. Since different applications may use these PCC NAL unit types for different purposes, the design of encoders that generate PCC NAL units with these PccNalUnitType values and the content of PCC NAL units with these PccNalUnitType values Special attention should be paid to the design of decoders that interpret This disclosure does not define any control over these values. These PccNalUnitType values may only be suitable for use in contexts where usage conflicts (e.g., different definitions of the content of a PCC NAL unit for the same PccNalUnitType value) are immaterial and not possible; For example, defined or managed by a controlling application or transport specification, or by controlling the environment in which the bitstream is distributed.
ビットストリームのPCC AU内のデータ量を決定する以外の目的のために、復号器は、PccNalUnitTypeの予約値を使用するすべてのPCC NALユニットのコンテンツを無視(ビットストリームから削除し、廃棄)してもよい。この要件は、この開示に対する互換性のある拡張の将来の定義を可能にしてもよい。
識別されたビデオコーデック(例えば、HEVCまたはAVC)は、各クラウドポイントストリーム(CPS)の最初のPCC AUに存在するフレームヘッダNALユニットのグループに指示される。pcc_stream_idは、PCC NALユニットのPCCストリーム識別子(ID)を指定する。PccNalUnitTypeがGOF_HEADER、AUX_INFOまたはOCP_MAPに等しいときに、pcc_stream_idの値はゼロに設定される。PCCプロファイルおよびレベルの1つ以上のセットの定義では、pcc_stream_idの値は4未満に制約されることがある。 The identified video codec (eg, HEVC or AVC) is indicated in the group of frame header NAL units present in the first PCC AU of each cloud point stream (CPS). pcc_stream_id specifies the PCC stream identifier (ID) of the PCC NAL unit. The value of pcc_stream_id is set to zero when PccNalUnitType is equal to GOF_HEADER, AUX_INFO or OCP_MAP. The definition of one or more sets of PCC profiles and levels may constrain the value of pcc_stream_id to be less than four.
PCC NALユニットの順序とそれらのPCC AUへの関連を以下に説明する。PCC AUは、フレームヘッダNALユニットの0または1つのグループ、1つの補助情報フレームNALユニット、1つの占有マップフレームNALユニット、および幾何学的形状、テクスチャ、反射、透明度、または法線などのPCC属性のデータユニットを搬送する1つ以上のビデオAUを含む。video_au(i,j)は、PCC属性IDがattribute_type[i]に等しいPCC属性に対して、pcc_stream_idがjに等しいビデオAUを示す。PCC AUに存在するビデオAUは、以下のように順序付けされてもよい。attributes_first_ordering_flagが1に等しい場合、PCC AUに存在する任意の2つのビデオAU video_au(i1,j1)とvideo_au(i2,j2)に対して、以下が適用される。i1がi2より小さい場合、j1およびj2の値に関係なく、video_au(i1,j1)は、video_au(i2,j2)を先行するものとする。それ以外の場合、i1がi2に等しく、j1がj2より大きい場合、video_au(i1,j1)はvideo_au(i2,j2)を後続するものとする。 The order of PCC NAL units and their association to PCC AUs is described below. The PCC AU contains zero or one group of frame header NAL units, one auxiliary information frame NAL unit, one occupied map frame NAL unit, and PCC attributes such as geometry, texture, reflection, transparency, or normal. contains one or more video AUs carrying data units of video_au(i,j) denotes a video AU whose pcc_stream_id is equal to j for the PCC attribute whose PCC attribute ID is equal to attribute_type[i]. Video AUs present in the PCC AU may be ordered as follows. If attributes_first_ordering_flag is equal to 1, then for any two video AUs video_au(i1,j1) and video_au(i2,j2) present in the PCC AU, the following applies. If i1 is less than i2, video_au(i1,j1) shall precede video_au(i2,j2) regardless of the values of j1 and j2. Otherwise, if i1 is equal to i2 and j1 is greater than j2, then video_au(i1,j1) shall follow video_au(i2,j2).
さもなければ(例えば、attributes_first_ordering_flagが0に等しい)、PCC AUに存在する2つのビデオAU video_au(i1,j1)とvideo_au(i2,j2)に対して、以下が適用される。j1がj2より小さい場合、i1およびi2の値に関係なく、video_au(i1,j1)はvideo_au(i2,j2)を先行するものとする。それ以外の場合、j1がj2に等しく、i1がi2より大きい場合、video_au(i1,j1)はvideo_au(i2,j2)を後続するものとする。ビデオAUの上記の順序は、以下をもたらす。attributes_first_ordering_flagが1に等しい場合、ビデオAUの順序は、存在する場合、PCC AU内で(リストされた順序で)以下のようである。ここで、PCC AU内では、各PCC属性のすべてのPCC NALユニットは、存在する場合、他のPCC属性のPCC NALユニットとインターリーブされることなく、復号順で連続的である。すなわち、video_au(0,0),video_au(0,1),...,video_au(0,num_streams_for_attribute[0]),video_au(1,0),video_au(1,1),...,video_au(1,num_streams_for_attribute[1]),video_au(num_attributes-1,0),video_au(num_attributes-1,1),...,video_au(num_attributes-1,num_streams_for_attribute[1])である。さもなければ(attributes_first_ordering_flagは0に等しい)、ビデオAUの順序は、存在する場合、PCC AU内で(リストされた順序で)以下のようであり、PCC AU内では、各特定のpcc_stream_id値のすべてのPCC NALユニットは、存在する場合、他のpcc_stream_id値のPCC NALユニットとインターリーブされることなく、復号順で連続している。すなわち、video_au(0,0),video_au(1,0),...,video_au(num_attributes-1,0),video_au(0,1),video_au(1,1),...,video_au(num_attributes-1,1),video_au(0,num_streams_for_attribute[1]),video_au(1,num_streams_for_attribute[1]),...,video_au(num_attributes-1,num_streams_for_attribute[1])である。 Otherwise (eg attributes_first_ordering_flag equals 0), for the two video AUs video_au(i1,j1) and video_au(i2,j2) present in the PCC AU, the following applies. If j1 is less than j2, video_au(i1,j1) shall precede video_au(i2,j2) regardless of the values of i1 and i2. Otherwise, if j1 is equal to j2 and i1 is greater than i2, then video_au(i1,j1) shall follow video_au(i2,j2). The above order of video AUs yields: If attributes_first_ordering_flag is equal to 1, then the order of the video AUs, if any, within the PCC AU is as follows (in the order listed). Here, within the PCC AU, all PCC NAL units of each PCC attribute, if any, are contiguous in decoding order without being interleaved with PCC NAL units of other PCC attributes. That is, video_au(0,0), video_au(0,1), . . . , video_au(0, num_streams_for_attribute[0]), video_au(1,0), video_au(1,1), . . . , video_au(1, num_streams_for_attribute[1]), video_au(num_attributes-1,0), video_au(num_attributes-1,1), . . . , video_au(num_attributes−1, num_streams_for_attribute[1]). Otherwise (attributes_first_ordering_flag equals 0), the order of the video AUs, if any, within the PCC AU is as follows (in the order listed), and within the PCC AU all for each specific pcc_stream_id value , if present, are contiguous in decoding order without being interleaved with PCC NAL units of other pcc_stream_id values. That is, video_au(0,0), video_au(1,0), . . . , video_au(num_attributes-1,0), video_au(0,1), video_au(1,1), . . . , video_au(num_attributes−1, 1), video_au(0, num_streams_for_attribute[1]), video_au(1, num_streams_for_attribute[1]), . . . , video_au(num_attributes−1, num_streams_for_attribute[1]).
NALユニットのビデオAUへの関連付けおよびビデオAU内のNALユニットの順序は、識別されたビデオコーデック、例えば、HEVCまたはAVCの仕様で指定される。識別されたビデオコーデックは、各CPSの最初のPCC AUに存在するフレームヘッダNALユニットに指示される。 The association of NAL units to video AUs and the ordering of NAL units within video AUs is specified in the specification of the identified video codec, eg, HEVC or AVC. The identified video codec is indicated in the Frame Header NAL unit present in the first PCC AU of each CPS.
各CPSの最初のPCC AUは、フレームヘッダNALユニットのグループで開始し、フレームヘッダNALユニットの各グループは、新しいPCC AUの開始を指定する。 The first PCC AU of each CPS starts with a group of frame header NAL units, and each group of frame header NAL units designates the start of a new PCC AU.
他のPCC AUは、補助情報フレームNALユニットで開始する。言い換えると、補助情報フレームNALユニットは、フレームヘッダNALユニットのグループによって先行されない場合、新しいPCC AUを開始する。 Other PCC AUs start with an auxiliary information frame NAL unit. In other words, an auxiliary information frame NAL unit starts a new PCC AU if it is not preceded by a group of frame header NAL units.
フレームヘッダRBSPのグループのセマンティクスは以下のようである。num_attributesは、CPSで搬送され得るPCC属性の最大数(幾何学的形状、テクスチャなど)を指定する。PCCプロファイルとレベルの1つ以上のセットの定義では、num_attributesの値が5以下に制約され得ることに留意する。attributes_first_ordering_flagは、0に等しいときに、PCC AU内で、各PCC属性のすべてのPCC NALユニットは、存在する場合、他のPCC属性のPCC NALユニットとインターリーブされることなく、復号順で連続することを指定する。attributes_first_ordering_flagは、0に等しく設定されるときに、PCC AU内で、各特定のpcc_stream_id値のすべてのPCC NAL単位が、存在する場合、他のpcc_stream_id値のPCC NALユニットとインターリーブされることなく、復号順で連続することを指定する。attribute_type[i]は、i番目のPCC属性のPCC属性タイプを指定する。異なるPCC属性タイプの解釈は、以下の表5で指定される。PCCプロファイルとレベルの1つ以上のセットの定義では、attribute_type[0]とattribute_type[1]の値は、それぞれ0と1に等しくなるように制約されてもよい。
identified_codec_for_attribute[i]は、以下の表6に示されるように、i番目のPCC属性のコーディングのために使用される識別されたビデオコーデックを指定する。
num_streams_for_attribute[i]は、i番目のPCC属性のPCCストリームの最大数を指定する。PCCプロファイルとレベルの1つ以上のセットの定義では、num_streams_for_attribute[i]の値は4以下に制約されてもよいと留意する。num_layers_for_attribute[i]は、i番目のPCC属性の属性レイヤの数を指定する。PCCプロファイルとレベルの1つ以上のセットの定義では、num_layer_for_attribute[i]の値は4以下に制約されてもよいと留意する。max_attribute_layer_idx[i][j]は、i番目のPCC 属性に対してpcc_stream_idがjに等しい状態で、PCCストリームの属性レイヤインデックスの最大値を指定する。max_attribute_layer_idx[i][j]の値は、num_layer_for_attribute[i]より小さくするべきである。attribution_layers_combination_mode[i][j]は、i番目のPCC属性に対してpcc_stream_idがjに等しい状態で、PCCストリームで搬送された属性レイヤに対する属性レイヤ組み合わせモードを指定する。attribution_layers_combination_mode[i][j]の異なる値の解釈は、以下の表7で指定される。
attribution_layers_combination_mode[i][j]が存在し、0に等しいときに、i番目のPCC属性に対してpcc_stream_idがjに等しい状態でPCCストリームの属性レイヤに対する属性レイヤインデックスを示す変数attrLayerIdx[i][j]、ピクチャ順序カウント値が識別されたビデオコーデックの仕様で指定されるようにPicOrderCntValに等しい状態でビデオAUで搬送される属性レイヤのPCC NALユニットは、以下のように導出される。
regular_points_flag[i][j]は、1に等しい場合、i番目のPCC属性に対してレイヤインデックスがjに等しい状態で属性レイヤがポイントクラウド信号の通常ポイントを搬送することを指定する。regular_points_flag[i][j]は、0に等しい場合、i番目のPCC属性に対してレイヤインデックスがjに等しい状態で属性レイヤがポイントクラウド信号の不規則ポイントを搬送することを指定する。PCCプロファイルとレベルの1つ以上のセットの定義では、regular_points_flag[i][j]の値はゼロに制約されてもよいことに留意する。frame_widthは、幾何学的形状およびテクスチャビデオのフレーム幅をピクセル単位で示す。フレーム幅はoccupancyResolutionの倍数とすべきである。frame_heightは、幾何学的形状およびテクスチャビデオのフレーム高さをピクセル単位で示す。フレーム高さはoccupancyResolutonの倍数とすべきである。occupancy_resolutionは、パッチが幾何学的形状およびテクスチャビデオにパックされる水平および垂直解像度をピクセル単位で示す。occupancy_resolutionは、occupancyPrecisionの偶数値倍とすべきである。radius_to_smoothingは、スムージングのためにネイバーを検出するための半径を示す。radius_to_smootingの値は、0~255までの範囲とすべきである。 regular_points_flag[i][j], if equal to 1, specifies that for the i-th PCC attribute the attribute layer carries regular points of the point cloud signal with layer index equal to j. regular_points_flag[i][j], if equal to 0, specifies that for the i-th PCC attribute the attribute layer carries the regular points of the point cloud signal with the layer index equal to j. Note that the definition of one or more sets of PCC profiles and levels may constrain the value of regular_points_flag[i][j] to zero. frame_width indicates the frame width of the geometry and texture video in pixels. The frame width should be a multiple of the occupancyResolution. frame_height indicates the frame height of the geometry and texture video in pixels. The frame height should be a multiple of the occupancyResoluton. occupancy_resolution indicates the horizontal and vertical resolution, in pixels, at which patches are packed into the geometry and texture video. The occupancy_resolution should be an even multiple of the occupancyPrecision. radius_to_smoothing indicates the radius for detecting neighbors for smoothing. The value of radius_to_smooting should be in the range 0-255.
neighbor_count_smootingは、スムージングに使用されるネイバーの最大数を示す。neighbor_count_smootingの値は、0~255までの範囲とすべきである。radius2_boundary_detectionは、境界ポイント検出のための半径を示す。radius2_boundary_detectionの値は、0~255までの範囲とすべきである。threshold_smootingは、スムージングしきい値を示す。threshold_smootingの値は、0~255までの範囲とすべきである。lossless_geometryは、可逆性幾何学的形状コーディングを示す。lossless_geometryの値は、1に等しい場合、ポイントクラウド幾何学的形状情報が可逆的にコード化されることを示す。lossless_geometryの値は、0に等しい場合、ポイントクラウド幾何学的形状情報が非可逆的にコード化されることを示す。lossless_textureは、可逆性テクスチャ符号化を示す。lossless_textureの値は、1に等しい場合、ポイントクラウドテクスチャ情報が可逆的にコード化されることを示す。lossless_textureの値は、0に等しい場合、ポイントクラウドテクスチャ情報が非可逆的にコード化されることを示す。lossless_geometry_444は、幾何学的形状フレームに4:2:0を使用するか、4:4:4のビデオフォーマットを使用するかを示す。lossless_geometry_444の値は、1に等しい場合、幾何学的形状ビデオが4:4:4フォーマットでコード化されることを示す。lossless_geometry_444の値は、0に等しい場合、幾何学的形状ビデオが4:2:0フォーマットでコード化されることを示す。 neighbor_count_smooting indicates the maximum number of neighbors used for smoothing. The value of neighbor_count_smooting should be in the range 0-255. radius2_boundary_detection indicates the radius for boundary point detection. The value of radius2_boundary_detection should be in the range 0-255. threshold_smooting indicates the smoothing threshold. The value of threshold_smooting should be in the range 0-255. lossless_geometry indicates reversible geometry coding. The value of lossless_geometry, when equal to 1, indicates that the point cloud geometry information is losslessly encoded. The value of lossless_geometry, when equal to 0, indicates that the point cloud geometry information is coded losslessly. lossless_texture indicates lossless texture encoding. The value of lossless_texture, when equal to 1, indicates that the point cloud texture information is losslessly encoded. The value of lossless_texture, when equal to 0, indicates that the point cloud texture information is lossy encoded. lossless_geometry_444 indicates whether to use 4:2:0 or 4:4:4 video format for geometry frames. The value of lossless_geometry_444, when equal to 1, indicates that the geometry video is coded in 4:4:4 format. The value of lossless_geometry_444, when equal to 0, indicates that the geometry video is coded in 4:2:0 format.
absolute_d1_codingは、投影面に最も近いレイヤ以外の幾何学的形状レイヤがどのようにコード化されるかを示す。absolute_d1_codingは、1に等しい場合、実際の幾何学的形状値が投影面に最も近いレイヤ以外の幾何学的形状レイヤに対してコード化されることを示す。absolute_d1_codingは、0に等しい場合、投影面に最も近いレイヤ以外の幾何学的形状レイヤが差分的にコード化されることを示す。bin_agithmetic_codingは、バイナリ演算コーディングが使用されるかどうかを示す。bin_agithmetic_codingの値は、1に等しい場合、全ての構文要素にバイナリ演算コーディングが使用されることを示す。bin_agithmetic_codingの値は、0に等しい場合、いくつかの構文要素に非バイナリ演算コーディングが使用されることを示す。gof_header_extension_flagは、0に等しい場合、gof_header_extension_data_flag構文要素がフレームヘッダRBSP構文構造のグループに存在しないことを指定する。gof_header_extension_flagは、1に等しい場合、gof_header_extension_data_flag構文要素がフレームヘッダRBSP構文構造のグループに存在することを指定する。復号器は、フレームヘッダNALユニットのグループのgof_header_extension_flagの値1に続くすべてのデータを無視してもよい。gof_header_extension_data_flagは任意の値を有してもよく、フラグの存在と値は復号器の適合性に影響しない。復号器は全てのgof_header_extension_data_flag構文要素を無視してもよい。 absolute_d1_coding indicates how geometry layers other than the layer closest to the projection plane are coded. absolute_d1_coding, when equal to 1, indicates that the actual geometry value is coded for a geometry layer other than the layer closest to the projection plane. absolute_d1_coding, when equal to 0, indicates that geometry layers other than the layer closest to the projection plane are differentially coded. bin_agithmetic_coding indicates whether binary arithmetic coding is used. The value of bin_agithmetic_coding, when equal to 1, indicates that binary arithmetic coding is used for all syntax elements. The value of bin_agithmetic_coding, if equal to 0, indicates that non-binary arithmetic coding is used for some syntax elements. gof_header_extension_flag, when equal to 0, specifies that the gof_header_extension_data_flag syntax element is not present in the group of frame header RBSP syntax structures. gof_header_extension_flag, when equal to 1, specifies that the gof_header_extension_data_flag syntax element is present in the group of frame header RBSP syntax structures. The decoder may ignore all data following the gof_header_extension_flag value of 1 in a group of frame header NAL units. gof_header_extension_data_flag may have any value, and the presence and value of the flag does not affect decoder conformance. A decoder may ignore all gof_header_extension_data_flag syntax elements.
PCCプロファイルとレベルセマンティクスは以下のようである。pcc_profile_idcは、CPSが準拠するプロファイルを示す。pcc_pl_reserved_zero_19bitsは、本開示のこのバージョンに準拠するビットストリームでは0に等しい。pcc_pl_reserved_zero_19bitsの他の値は、ISO/IECによって将来使用するために予約されている。復号器は、pcc_pl_reserved_zero_19bitsの値を無視してもよい。pcc_level_idcは、CPSが準拠するレベルを示す。サブビットストリーム抽出プロセスによって指定されるように抽出されたattribute_type[i]に等しいPCC属性タイプに対するHEVCビットストリームが、準拠するHEVC復号器によって復号されるときに、アクティブSPSにおいて、hevc_ptl_12bytes_attribute[i]は、general_profile_idc~general_level_idcまでの12バイトの値に等しくてもよい。サブビットストリーム抽出プロセスによって指定されたように抽出されたattribute_type[i]に等しいPCC属性タイプに対するAVCビットストリームが準拠するAVC復号器によって復号されるときに、アクティブSPSにおいて、avc_pl_3ytes_attribute[i]は、profile_idc~level_idcまでの3バイトの値に等しくてもよい。 The PCC profile and level semantics are as follows. pcc_profile_idc indicates the profile to which the CPS conforms. pcc_pl_reserved_zero — 19bits is equal to 0 for bitstreams conforming to this version of this disclosure. Other values of pcc_pl_reserved_zero — 19bits are reserved for future use by ISO/IEC. A decoder may ignore the value of pcc_pl_reserved_zero — 19bits. pcc_level_idc indicates the level to which the CPS conforms. When an HEVC bitstream for a PCC attribute type equal to attribute_type[i] extracted as specified by the sub-bitstream extraction process is decoded by a compliant HEVC decoder, in an active SPS hevc_ptl_12bytes_attribute[i] is , general_profile_idc to general_level_idc, which may be equal to a 12-byte value. When an AVC bitstream for a PCC attribute type equal to attribute_type[i] extracted as specified by the sub-bitstream extraction process is decoded by a compliant AVC decoder, in an active SPS, avc_pl_3ytes_attribute[i] is May be equal to a 3-byte value from profile_idc to level_idc.
サブビットストリーム抽出プロセスは、以下のようである。このプロセスへの入力は、PCCビットストリームinBitstream、ターゲットPCC属性タイプtargetAttrType、およびターゲットPCCストリームID値targetStreamIdである。このプロセスの出力はサブビットストリームである。適合しているPCCビットストリームinBitstream、inBitstream内に存在する任意のタイプのPCC属性を示すtargetAttrType、および属性タイプtargetAttrTypeに対するinBitstream内に存在するPCCストリームの最大PCCストリームID値以下のtargetStreamIdを持つ、この項で指定されたプロセスの出力である任意の出力サブビットストリームは、属性タイプtargetAttrTypeに対する識別されたビデオコーデック仕様ごとに適合しているビデオビットストリームであるものとすることは、入力ビットストリームに対するビットストリーム適合性の要件であってもよい。 The sub-bitstream extraction process is as follows. The inputs to this process are the PCC bitstream inBitstream, the target PCC attribute type targetAttrType, and the target PCC stream ID value targetStreamId. The output of this process is a sub-bitstream. This section with a conforming PCC bitstream inBitstream, targetAttrType indicating any type of PCC attribute present in inBitstream, and targetStreamId less than or equal to the maximum PCC stream ID value of the PCC streams present in inBitstream for attribute type targetAttrType. Any output sub-bitstream that is the output of the process specified in shall be a video bitstream conforming per the identified video codec specification for the attribute type targetAttrType is the bitstream for the input bitstream It may be a conformance requirement.
出力サブビットストリームは以下の順序付けられたステップによって導出される。targetAttrTypeの値に応じて、以下が適用される。targetAttrTypeがATTR_GEOMETRYに等しい場合、PccNalUnitTypeがGMTRY_NALUに等しくないか、pcc_stream_idがtargetStreamIdに等しくない全てのPCC NALユニットが削除される。そうでなければ、targetAttrTypeがATTR_TEXTUREに等しい場合、PccNalUnitTypeがTEXTURE_NALUに等しくないか、pcc_stream_idがtargetStreamIdに等しくない全てのPCC NALユニットは削除される。そうでなければ、targetAttrTypeがATTR_REFLECTに等しい場合、PccNalUnitTypeがREFLECT_NALUに等しくないか、pcc_stream_idがtargetStreamIdに等しくない全てのPCC NALユニットは削除される。そうでなければ、targetAttrTypeがATTR_TRANSPに等しい場合、PccNalUnitTypeがTRANSP_NALUに等しくないか、pcc_stream_idがtargetStreamIdに等しくない全てのPCC NALユニットは削除される。そうでなければ、targetAttrTypeがATTR_NORMALに等しい場合、PccNalUnitTypeがNORMAL_NALUに等しくないか、pcc_stream_idがtargetStreamIdに等しくない全てのPCC NALユニットは削除される。各PCC NALユニットに対して、最初のバイトを削除してもよい。 The output sub-bitstream is derived by the following ordered steps. Depending on the value of targetAttrType the following applies: If targetAttrType equals ATTR_GEOMETRY, remove all PCC NAL units whose PccNalUnitType is not equal to GMTRY_NALU or whose pcc_stream_id is not equal to targetStreamId. Otherwise, if targetAttrType equals ATTR_TEXTURE, all PCC NAL units with PccNalUnitType not equal to TEXTURE_NALU or pcc_stream_id not equal to targetStreamId are deleted. Otherwise, if targetAttrType equals ATTR_REFLECT, all PCC NAL units with PccNalUnitType not equal to REFLECT_NALU or pcc_stream_id not equal to targetStreamId are deleted. Otherwise, if targetAttrType equals ATTR_TRANSP, all PCC NAL units with PccNalUnitType not equal to TRANSP_NALU or pcc_stream_id not equal to targetStreamId are deleted. Otherwise, if targetAttrType equals ATTR_NORMAL, all PCC NAL units with PccNalUnitType not equal to NORMAL_NALU or pcc_stream_id not equal to targetStreamId are deleted. For each PCC NAL unit, the first byte may be deleted.
上記に要約した方法の第1のセットの代替の実施形態では、PCC NALユニットヘッダは、pcc_stream_idに対してより多くのビットを使用し、各属性に対して4つ以上のストリームを許容するように設計される。その場合、PCC NALユニットのヘッダにさらに1つのタイプを追加する。 In an alternative embodiment of the first set of methods summarized above, the PCC NAL unit header uses more bits for pcc_stream_id and allows more than four streams for each attribute. Designed. In that case, add one more type to the header of the PCC NAL unit.
図8は、複数のコーデック843および844を有するPCC属性841および842を符号化する例示的な機構800を示す概略図である。例えば、機構800を採用して、PCCビデオストリーム700の属性を符号化および/または復号することができる。したがって、機構800は、ポイントクラウド媒体500に基づいてポイントクラウド媒体フレーム600を符号化および/または復号するために採用することができる。このように、機構800は、符号化器300がPCCシーケンスからビットストリームを生成するために使用され、復号器400がビットストリームからPCCシーケンスを再構成するときに使用されてもよい。したがって、機構800は、コーデックシステム200によって採用することができ、さらに、方法100をサポートするために採用してもよい。
FIG. 8 is a schematic diagram illustrating an
機構800は、複数のPCC属性841および842に適用することができる。例えば、PCC属性841および842は、幾何学的形状属性、テクスチャ属性、反射率属性、透明度属性、および法線属性を含むグループから選択される任意の2つの属性であってもよい。図8に示すように、機構800は、左から右に進むときの符号化プロセスと、右から左に進むときの復号プロセスを示す。コーデック843および844は、HEVC、AVC、VVCなどの任意の2つのコーデック、またはその任意のバージョンであってもよい。特定のコーデック843および844、またはそのバージョンは、特定のPCC属性841および842を符号化するときに、他のものよりも効率的であることがある。この例では、それぞれ、コーデック843は、属性841を符号化するために使用され、コーデック844は、属性842を符号化するために使用される。このような符号化の結果を組み合わせて、PCC属性841および842の両方を含むPCCビデオストリーム845を生成する。復号器では、それぞれ、コーデック843は、属性841を復号するために使用され、コーデック844は、属性842を復号するために使用される。次いで、復号された属性841および842を再度組み合わせて、復号されたPCCビデオストリーム845を生成することができる。
機構800を採用する利点は、最も効率的なコーデック843および844が、対応する属性841および842に対して選択され得ることである。機構800は、2つの属性841および842、ならびに2つのコーデック843および844に限定されない。例えば、各属性(幾何学的形状、テクスチャ、反射率、透明度、および法線)は、別々のコーデックによって符号化することができる。適切なコーデック843および844が、対応する属性841および842を復号するように選択され得ることを保証するために、符号化器は、コーデック843および844、ならびに、それぞれ、属性841および842へのそれらの対応をシグナルしてもよい。例えば、符号化器は、コーデックを属性対応に示すために、GOFヘッダに構文要素を含むことができる。次いで、復号器は、関連する構文を読み取り、属性841および842に対する正しいコーデック843および844を選択し、PCCビデオストリーム845を復号することができる。特定の例として、identified_codec_for_attribute構文要素を採用して、それぞれ属性841および842に対するコーデック843および844を示してもよい。
An advantage of employing
図9は、属性レイヤ931、932、933、および934の例を示す概略図900である。例えば、属性レイヤ931、932、933、および934を採用して、PCCビデオストリーム700の属性を搬送することができる。したがって、レイヤ931、932、933、および934は、ポイントクラウド媒体500に基づいてポイントクラウド媒体フレーム600を符号化および/または復号するときに使用することができる。このように、レイヤ931、932、933、および934は、符号化器300によって、PCCシーケンスからビットストリームを生成するために使用されてもよく、復号器400によって、PCCシーケンスをビットストリームから再構成するときに使用されてもよい。したがって、レイヤ931、932、933、および934は、コーデックシステム200によって採用することができ、さらに、方法100をサポートするために採用してもよい。追加的に、属性レイヤ931、932、933、および934は、属性841および842のうちの1つ以上を搬送するために使用されてもよい。
FIG. 9 is a schematic diagram 900 showing examples of attribute layers 931 , 932 , 933 , and 934 . For example, attribute layers 931 , 932 , 933 and 934 may be employed to carry attributes of
属性レイヤ931、932、933、および934は、同じ属性に関連するデータの他のグループとは独立して保存および/または変更することができる属性に関連するデータのグルーピングである。このように、各属性レイヤ931、932、933、および934は、残りの属性レイヤ931、932、933、および/または934に影響を及ぼすことなく、変更および/または表すことができる。いくつかの例では、属性レイヤ931、932、933、および/または934は、図9に示すように、互いの上に視覚的に表わされてもよい。例えば、物体全体をカバーするテクスチャ(例えば、より一般的なもの)は、属性レイヤ931に保存することができ、より詳細なテクスチャ(例えば、より具体的なもの)は、属性レイヤ932、933、および/または934に含まれる。別の例では、属性レイヤ931および/または932を奇数番号のフレームに適用してもよく、属性レイヤ933および/または934を偶数番号のフレームに適用してもよい。これは、フレームレートの変化に応答して、いくつかのレイヤが省略されることを可能にしてもよい。各属性は、0~4の属性レイヤ931、932、933、および/または934を有してもよい。採用される構成をシグナルするために、符号化器は、num_layers_for_attribute[i]のような構文要素を、GOFヘッダのようなシーケンスレベルのデータに採用してもよい。復号器は、構文要素を読み取り、各属性に対して採用される属性レイヤ931、932、933、および/または934の数を決定することができる。追加の構文要素、例えば、attribution_layers_combination_mode[i][j]、attrLayerIdx[i][j]などを採用して、PCCビデオストリームで採用される属性レイヤの組み合わせおよび対応する属性によって使用される各レイヤのインデックスをそれぞれ示すこともできる。
Attribute layers 931, 932, 933, and 934 are groupings of attribute-related data that can be stored and/or modified independently of other groups of data related to the same attribute. In this manner, each
さらに別の例として、いくつかの属性レイヤ(例えば、属性レイヤ931、932、および933)は、規則的なパッチに関するデータを搬送することができる一方、他の属性レイヤ(例えば、属性レイヤ934)は、不規則的なポイントクラウドパッチに関連付けられたデータを搬送する。これは、不規則的なポイントクラウドが、規則的なクラウドパッチとは異なるデータを使用して説明される可能性があるために有用である。特定のレイヤが不規則的なポイントクラウドに関連付けられたデータを搬送することをシグナルするために、符号化器はシーケンスレベルのデータ中の別の構文要素を符号化することができる。特定の例として、属性レイヤが少なくとも1つの不規則的なポイントクラウドポイントを搬送することを示すために、GOFヘッダのregular_points_flagを使用することができる。次いで、復号器は、構文要素を読み取り、対応する属性レイヤをそれに応じて復号することができる。 As yet another example, some attribute layers (eg, attribute layers 931, 932, and 933) may carry data about regular patches, while other attribute layers (eg, attribute layer 934) may carry data about regular patches. carries the data associated with irregular point cloud patches. This is useful because irregular point clouds may be explained using different data than regular cloud patches. To signal that a particular layer carries data associated with an irregular point cloud, the encoder can encode another syntax element in the sequence-level data. As a specific example, a regular_points_flag in the GOF header can be used to indicate that the attribute layer carries at least one regular point cloud point. A decoder can then read the syntax elements and decode the corresponding attribute layers accordingly.
図10は、属性ストリーム1031、1032、1033、および1034の例を示す概略図1000である。例えば、属性ストリーム1031、1032、1033、および1034を採用して、PCCビデオストリーム700の属性を搬送することができる。したがって、属性ストリーム1031、1032、1033、および1034は、ポイントクラウド媒体500に基づいてポイントクラウド媒体フレーム600を符号化および/または復号するときに採用することができる。このように、属性ストリーム1031、1032、1033、および1034は、符号化器300がPCCシーケンスからビットストリームを作製するために使用され、復号器400がPCCシーケンスをビットストリームから再構成するときに使用されてもよい。したがって、属性ストリーム1031、1032、1033、および1034は、コーデックシステム200によって採用することができ、さらに、方法100をサポートするために採用されてもよい。追加的に、属性ストリーム1031、1032、1033、および1034は、属性841および842の1つ以上を搬送するために使用されてもよい。さらに、属性ストリーム1031、1032、1033、および1034を採用して、属性レイヤ931、932、933、および934を搬送することができる。
FIG. 10 is a schematic diagram 1000 showing examples of
属性ストリーム1031、1032、1033、および1034は、経時的な属性データのシーケンスである。具体的には、属性ストリーム1031、1032、1033、および1034は、PCCビデオストリームのサブストリームである。各属性ストリーム1031、1032、1033、および1034は、属性特定NALユニットのシーケンスを搬送し、したがって、記憶および/または伝送データ構造として活動する。各属性ストリーム1031、1032、1033、および1034は、データの1つ以上の属性レイヤ931、932、933、および934を搬送してもよい。例えば、属性ストリーム1031は属性レイヤ931および932を搬送することができる一方、属性ストリーム1032は属性レイヤ931および932を搬送する(属性ストリーム1033および1034は省略されている)。別の例では、各属性ストリーム1031、1032、1033および1034は、単一の対応する属性レイヤ931、932、933および934を搬送する。他の例では、いくつかの属性ストリーム1031、1032、1033、および1034は、複数の属性レイヤ931、932、933、および934を搬送する一方、他の属性ストリーム1031、1032、1033、および1034は、単一の属性レイヤ931、932、933、および934を搬送するか、または省略される。分かるように、属性ストリーム1031、1032、1033、および1034、ならびに属性レイヤ931、932、933、および934の多くの組み合わせおよび順列が生じ得る。したがって、符号化器は、各属性を符号化するために使用される属性ストリーム1031、1032、1033、および1034の数を示すために、GOFヘッダのようなシーケンスレベルデータにおいて、num_streams_for_attributeのような構文要素を採用することができる。次いで、復号器は、例えば、属性レイヤ情報と組み合わせて、そのような情報を使用して、PCCシーケンスを再構成するために、属性ストリーム1031、1032、1033、および1034を復号することができる。
図11は、複数のコーデックを有するPCCビデオシーケンスを符号化する例示的な方法1100のフローチャートである。例えば、方法1100は、属性レイヤ931、932、933、および934、および/またはストリーム1031、1032、1033、および/または1034を使用しながら、機構800にしたがってデータをビットストリームに編成することができる。また、方法1100は、GOFヘッダ内の属性を符号化するために使用される機構を指定してもよい。さらに、方法1100は、ポイントクラウド媒体500に基づいてポイントクラウド媒体フレーム600を符号化することによって、PCCビデオストリーム700を生成してもよい。追加的に、方法1100は、方法100の符号化ステップを実行しながら、コーデックシステム200および/または符号化器300によって採用されてもよい。
FIG. 11 is a flowchart of an
方法1100は、符号化器が、ポイントクラウド媒体を含むPCCフレームのシーケンスを受信したときに開始してもよい。符号化器は、例えばユーザコマンドの受信に応答して、そのようなフレームを符号化器することを決定してもよい。方法1100では、符号化器は、第1の属性が第1のコーデックによって符号化されるべきである一方、第2の属性が第2のコーデックによって符号化されるべきであると決定してもよい。この決定は、例えば、第1のコーデックが第1の属性に対してより効率的であり、第2のコーデックが第2の属性に対してより効率的であるときに、所定の条件に基づいて、および/またはユーザの入力に基づいて行ってもよい。このように、符号化器は、ステップ1101において、PCCフレームのシーケンスの第1の属性を、第1のコーデックを有するビットストリームに符号化する。さらに、符号化器は、ステップ1103において、第1のコーデックとは異なる第2のコーデックで、PCCフレームのシーケンスの第2の属性をビットストリームに符号化する。
ステップ1105において、符号化器は種々の構文要素を符号化器されたビデオデータと共にビットストリームに符号化する。例えば、構文要素は、PCCフレームが適切に再構成され得るように、符号化の間になされた決定を復号器に示すために、シーケンスレベルパラメータを含むシーケンスレベルデータユニットにコード化することができる。具体的には、符号化器は、シーケンスレベルのデータユニットを符号化して、第1の属性が第1のコーデックによってコード化されたことを示し、かつ第2の属性が第2のコーデックによってコード化されたことを示す第1の構文要素を含める。特定の例として、PCCフレームは、第1の属性および第2の属性を含む複数の属性を含んでもよい。また、PCCフレームの複数の属性は、幾何学的形状、テクスチャ、および反射率、透明度、および法線の1つ以上を含んでもよい。さらに、第1の構文要素は、ビットストリームにおけるGOFヘッダに含まれるidentified_codec_for_attribute要素であってもよい。
At
いくつかの例では、第1の属性は、複数のストリームに編成されてもよい。このような場合、第1の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示すために、第2の構文要素を使用することができる。いくつかの例において、第1の属性はまた、複数のレイヤに編成されてもよい。このような場合、第3の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットのためのレイヤメンバシップを示してもよい。特定の例として、第2の構文要素はnum_streams_for_attribute要素であってもよく、第3の構文要素はnum_layers_for_attribute要素であってもよく、各々はビットストリームにおけるフレームヘッダのグループに含まれてもよい。さらに別の例では、第4の構文要素を使用して、複数のレイヤのうちの第1のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示してもよい。特定の例として、第4の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるregular_points_flag要素であってもよい。 In some examples, the first attribute may be organized into multiple streams. In such cases, a second syntax element can be used to indicate stream membership for the bitstream data unit associated with the first attribute. In some examples, the first attribute may also be organized into multiple layers. In such cases, the third syntax element may indicate layer membership for the data unit of the bitstream associated with the first attribute. As a particular example, the second syntax element may be a num_streams_for_attribute element and the third syntax element may be a num_layers_for_attribute element, each of which may be included in a group of frame headers in the bitstream. In yet another example, a fourth syntax element may be used to indicate that a first of the multiple layers contains data associated with the irregular point cloud. As a particular example, the fourth syntax element may be a regular_points_flag element included in a group of frame headers in the bitstream.
このような情報をシーケンスレベルデータに含めることによって、復号器は、PCCビデオシーケンスを復号するために十分な情報を有してもよい。このように、符号化器は、ステップ1107において、PCCフレームの復号されたシーケンスの生成をサポートするために、第1のコーデックによってコード化された第1の属性および第2のコーデックによってコード化された第2の属性ならびに本明細書で説明される他の属性および/または構文要素に基づいて、ビットストリームを送信してもよい。
By including such information in the sequence level data, the decoder may have sufficient information to decode the PCC video sequence. Thus, the encoder, in
図12は、複数のコーデックでPCCビデオシーケンスを復号する例示的な方法1200のフローチャートである。例えば、方法1200は、属性レイヤ931、932、933、および934、および/またはストリーム1031、1032、1033、および/または1034を使用しながら、機構800にしたがってビットストリームからデータを読み取ることができる。また、方法1200は、GOFヘッダを読み取ることによって、属性をコード化するために使用される機構を決定してもよい。さらに、方法1200は、ポイントクラウド媒体フレーム600およびポイントクラウド媒体500を再構成するために、PCCビデオストリーム700を読み取ってもよい。追加的に、方法1200は、方法100の復号ステップを実行しながら、コーデックシステム200および/または復号器400によって採用されてもよい。
FIG. 12 is a flowchart of an
方法1200は、ステップ1201において、復号器が一連のPCCフレームを含むビットストリームを受信したときに開始してもよい。次いで、復号器は、ステップ1205においてビットストリームまたはその一部を解析することができる。例えば、復号器は、ビットストリームを解析して、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットを取得することができる。シーケンスレベルのデータユニットは、符号化プロセスを説明する種々の構文要素を含んでもよい。したがって、復号器は、ビットストリームからのビデオデータを解析し、ビデオデータを復号するための適切なプロセスを決定するために構文要素を使用することができる。
例えば、シーケンスレベルのデータユニットは、第1の属性が第1のコーデックによってコード化されたことを示し、かつ第2の属性が第2のコーデックによってコード化されたことを示す第1の構文要素を含むことができる。特定の例として、PCCフレームは、第1の属性および第2の属性を含む複数の属性を含んでもよい。また、PCCフレームの複数の属性は、幾何学的形状、テクスチャ、および反射率、透明度、および法線のうちの1つ以上を含んでもよい。追加的に、第1の構文要素は、ビットストリームにおけるGOFヘッダに含まれるidentified_codec_for_attribute要素であってもよい。 For example, a sequence-level data unit has a first syntax element indicating that a first attribute was encoded by a first codec and a second syntax element indicating that a second attribute was encoded by a second codec. can include As a particular example, a PCC frame may include multiple attributes including a first attribute and a second attribute. Also, the attributes of the PCC frame may include geometry, texture, and one or more of reflectance, transparency, and normal. Additionally, the first syntax element may be an identified_codec_for_attribute element included in a GOF header in the bitstream.
いくつかの例では、第1の属性は、複数のストリームに編成されてもよい。このような場合、第1の属性に関連付けられたビットストリームのデータユニットに対するストリームメンバシップを示すために、第2の構文要素を採用することができる。いくつかの例において、第1の属性はまた、複数のレイヤに編成されてもよい。このような場合、第3の構文要素は、第1の属性に関連付けられたビットストリームのデータユニットのためのレイヤメンバシップを示してもよい。特定の例として、第2の構文要素はnum_streams_for_attribute要素であってもよく、第3の構文要素はnum_layers_for_attribute要素であってもよく、各々はビットストリームにおけるフレームヘッダのグループに含まれてもよい。さらに別の例では、第4の構文要素を使用して、複数のレイヤのうちの第1のレイヤが不規則的なポイントクラウドに関連付けられたデータを含むことを示してもよい。特定の例として、第4の構文要素は、ビットストリームにおけるフレームヘッダのグループに含まれるregular_points_flag要素であってもよい。 In some examples, the first attribute may be organized into multiple streams. In such cases, a second syntax element may be employed to indicate stream membership for the data unit of the bitstream associated with the first attribute. In some examples, the first attribute may also be organized into multiple layers. In such cases, the third syntax element may indicate layer membership for the data unit of the bitstream associated with the first attribute. As a specific example, the second syntax element may be a num_streams_for_attribute element and the third syntax element may be a num_layers_for_attribute element, each of which may be included in a group of frame headers in the bitstream. In yet another example, a fourth syntax element may be used to indicate that a first layer of the multiple layers contains data associated with the irregular point cloud. As a particular example, the fourth syntax element may be a regular_points_flag element included in a group of frame headers in the bitstream.
このように、復号器は、PCCフレームの復号されたシーケンスを生成するために、ステップ1207において、第1のコーデックによって第1の属性を復号し、第2のコーデックによって第2の属性を復号することができる。復号器はまた、コーデックに基づいてPCCビデオシーケンスの種々の属性を復号するときに採用するべき適切な機構を決定するときに、本明細書に記載されるような他の属性および/または構文要素を使用してもよい。
Thus, the decoder decodes the first attribute with the first codec and the second attribute with the second codec in
図13は、例示的なビデオコーディングデバイス1300の概略図である。ビデオコーディングデバイス1300は、本明細書で説明されるように、開示される例/実施形態を実施するのに適している。ビデオコーディングデバイス1300は、下流ポート1320、上流ポート1350、および/または、ネットワークを介して上流および/または下流でデータを通信するための送信機および/または受信機を含むトランシーバユニット1310を含む。ビデオコーディングデバイス1300はまた、論理ユニットおよび/または中央処理ユニット(CPU)を含むプロセッサ1330と、データを記憶するためのメモリ1332とを含む。ビデオコーディングデバイス1300はまた、電気、光-電気(OE)構成要素、電気-光(EO)構成要素、および/または上流ポート1350および/または下流ポート1320に結合され、電気、光、または無線通信ネットワークを介してデータを通信するための無線通信構成要素を含んでもよい。ビデオコーディングデバイス1300はまた、ユーザとの間でデータを通信するための入力および/または出力(I/O)デバイス1360を含んでもよい。I/Oデバイス1360は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカなどの出力デバイスを含んでもよい。入出力デバイス1360はまた、キーボード、マウス、トラックボールなどの入力デバイスおよび/またはそのような出力デバイスと対話するための対応するインターフェースを含んでもよい。
FIG. 13 is a schematic diagram of an exemplary
プロセッサ1330は、ハードウェアおよびソフトウェアによって実施される。プロセッサ1330は、1つ以上のCPUチップ、コア(例えば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実施されてもよい。プロセッサ1330は、下流ポート1320、Tx/Rx 1310、上流ポート1350、およびメモリ1332と通信する。プロセッサ1330は、コーディングモジュール1314を備える。コーディングモジュール1314は、上述の開示された実施形態、例えば、方法100、1100、1200、1500、および1600、ならびに機構800を実施し、これらは、レイヤ931~934および/またはストリーム1031~1034にコード化されたポイントクラウド媒体500、ポイントクラウド媒体フレーム600、および/またはPCCビデオストリーム700を採用してもよい。また、コーディングモジュール1314は、本明細書で説明される任意の他の方法/機構を実施してもよい。さらに、コーディングモジュール1314は、コーデックシステム200、符号化器300、および/または復号器400を実施してもよい。例えば、コーディングモジュール1314は、複数のストリームおよびレイヤを有するPCCのための拡張された属性セットを採用することができ、復号をサポートするために、シーケンスレベルデータ内のそのような属性セットの使用をシグナルすることができる。したがって、コーディングモジュール1314は、PCCビデオデータをコーディングするときに、ビデオコーディングデバイス1300が付加的な機能性および/または柔軟性を提供するようにする。このように、コーディングモジュール1314は、ビデオコーディングデバイス1300の機能性を改善すると共に、ビデオコーディング技術に特有の問題に対処する。さらに、コーディングモジュール1314は、ビデオコーディングデバイス1300を異なる状態に変換することをもたらす。代替的には、コーディングモジュール1314は、メモリ1332に記憶され、プロセッサ1330によって実行される命令として実施することができる(例えば、非一時的媒体上に記憶されるコンピュータプログラム製品として)。
メモリ1332は、ディスク、テープドライブ、ソリッドステートドライブ、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、三値コンテンツアドレス指定可能メモリ(TCAM)、スタティックランダムアクセスメモリ(SRAM)などの1つ以上のメモリタイプを含む。メモリ1332は、オーバーフローデータ記憶デバイスとして、プログラムが実行のために選択されたときにプログラムを記憶し、プログラム実行中に読み出された命令およびデータを記憶するために使用されてもよい。
図14は、複数のコーデックを有するPCCビデオシーケンスをコーディングするための例示的なシステム1400の概略図である。システム1400は、PCCフレームのシーケンスの第1の属性を第1のコーデックでビットストリームに符号化するための第1の属性符号化モジュール1401を含むビデオ符号化器1402を含む。ビデオ符号化器1402は、さらに、第1のコーデックとは異なる第2のコーデックでPCCフレームのシーケンスの第2の属性をビットストリームに符号化するための第2の属性符号化モジュール1403を含む。ビデオ符号化器1402は、さらに、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットをビットストリームに符号化するための構文符号化モジュール1405を含み、シーケンスレベルのデータユニットは、第1の属性が第1のコーデックによってコード化されたことを示し、かつ第2の属性が第2のコーデックによってコード化されたことを示す第1の構文要素を含む。ビデオ符号化器1402は、さらに、第1コーデックによってコード化された第1の属性と、第2コーデックによってコード化された第2の属性に基づいて、PCCフレームの復号シーケンスの生成をサポートするためにビットストリームを送信するための送信モジュール1407を含む。ビデオ符号化器1402のモジュールはまた、方法1100および/または1500に関して上述したステップ/アイテムのいずれかを実行するために採用することもできる。
FIG. 14 is a schematic diagram of an
システム1400はまた、PCCフレームのシーケンスを含むビットストリームを受信するための受信モジュール1411を含むビデオ復号器1410を含む。ビデオ復号器1410は、さらに、シーケンスレベルのパラメータを含むシーケンスレベルのデータユニットを取得するためにビットストリームを解析するための解析モジュール1413を含み、シーケンスレベルのデータユニットは、PCCフレームの第1の属性が第1のコーデックによってコード化されたことを示し、かつPCCフレームの第2の属性が第2のコーデックによってコード化されたことを示す第1の構文要素を含む。ビデオ復号器1410は、さらに、第1のコーデックによって第1の属性を復号し、第2のコーデックによって第2の属性を復号して、PCCフレームの復号されたシーケンスを生成するための復号モジュール1415を含む。ビデオ復号器1410のモジュールはまた、方法1200および/または1600に関して上述されたステップ/アイテムのいずれかを実行するために採用することができる。
図15は、複数のコーデックでPCCビデオシーケンスを符号化する別の例示的な方法1500のフローチャートである。例えば、方法1500は、属性レイヤ931、932、933、および934、および/またはストリーム1031、1032、1033、および/または1034を使用しながら、機構800にしたがってデータをビットストリームに編成することができる。また、方法1500は、GOFヘッダ内の属性を符号化するために使用される機構を指定してもよい。さらに、方法1500は、ポイントクラウド媒体500に基づいてポイントクラウド媒体フレーム600を符号化することによって、PCCビデオストリーム700を生成してもよい。追加的に、方法1500は、方法100の符号化ステップを実行しながら、コーデックシステム200および/または符号化器300によって採用されてもよい。
FIG. 15 is a flowchart of another
ステップ1501において、複数のPCC属性が、PCCフレームのシーケンスの一部としてビットストリームに符号化される。PCC属性は、複数のコーデックで符号化される。PCC属性は、幾何学的形状とテクスチャを含む。PCC属性はまた、反射率、透明度、および法線のうちの1つ以上を含む。各コード化されたPCCフレームは、1つ以上のPCC NALユニットによって表される。ステップ1503において、指示が各PCC属性について符号化される。この指示は、対応するPCC属性をコード化するために使用されるビデオコーデックを示す。ステップ1505において、ビットストリームは復号器に向かって送信される。
At
図16は、複数のコーデックでPCCビデオシーケンスを復号する別の例示的な方法1600のフローチャートである。例えば、方法1600は、属性レイヤ931、932、933、および934、および/またはストリーム1031、1032、1033、および/または1034を使用しながら、機構800にしたがってビットストリームからデータを読み取ることができる。また、方法1600は、GOFヘッダを読み取ることによって、属性をコード化するために使用される機構を決定してもよい。さらに、方法1600は、ポイントクラウド媒体フレーム600およびポイントクラウド媒体500を再構成するために、PCCビデオストリーム700を読み取ってもよい。追加的に、方法1600は、方法100の復号ステップを実行する間に、コーデックシステム200および/または復号器400によって採用されてもよい。
FIG. 16 is a flowchart of another
ステップ1601において、ビットストリームが受信される。ビットストリームは、複数のPCCフレームのコード化されたシーケンスを含む。PCCフレームのコード化されたシーケンスは、複数のPCC属性を表わす。PCC属性は、幾何学的形状とテクスチャが含む。PCC属性はまた、反射率、透明度、および法線のうちの1つ以上が含む。各コード化されたPCCフレームは、1つ以上のPCC NALユニットによって表される。ステップ1603において、ビットストリームは、各PCC属性について、対応するPCC属性をコード化するために使用されるコーデックの指示を取得するために解析される。ステップ1605において、ビットストリームは、PCC属性のために指示されたビデオコーデックに基づいて復号される。
At
第1の構成要素は、第1の構成要素と第2の構成要素との間のライン、トレース、または別の媒体を除いて、介在する構成要素が存在しないときに、第2の構成要素に直接結合される。第1の構成要素は、第1の構成要素と第2の構成要素との間にライン、トレース、または他の媒体以外の介在する構成要素が存在するときに、間接的に第2の構成要素に結合される。用語「結合」およびその変形は、直接結合と間接結合の両方を含む。用語「約」の使用は、特に断らない限り、後に続く数の±10%を含む範囲を意味する。 A first component is in contact with a second component when there are no intervening components except for lines, traces, or other media between the first component and the second component. Directly combined. A first component is indirectly connected to a second component when there is an intervening component other than a line, trace, or other medium between the first component and the second component. coupled to The term "bonding" and variations thereof includes both direct and indirect bonding. Use of the term "about" means a range including ±10% of the number that follows, unless otherwise specified.
本開示においていくつかの実施形態が提供されたが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の具体的な形態で具現化され得ると理解されよう。本例は、例示的なものであり、限定的なものではないと考えられ、その意図は、本明細書に与えられた詳細に限定されるものではない。例えば、種々の要素または構成要素を別のシステムに組み合わせまたは統合することができ、あるいは一定の特徴を省略してもよいし、実施しなくてもよい。 Although several embodiments have been provided in this disclosure, it is understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of this disclosure. Yo. The examples are to be considered illustrative and not limiting, and the intent is not to be limited to the details given herein. For example, various elements or components may be combined or integrated into another system, or certain features may be omitted or not implemented.
追加的に、様々な実施形態において個別または別個に記載および図示された技術、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、構成要素、技術、または方法と組み合わせまたは統合してもよい。変更、置換、および改変の他の例は、当業者によって確認可能であり、本明細書に開示された精神および範囲から逸脱することなく行われてもよい。 Additionally, the techniques, systems, subsystems, and methods individually or separately described and illustrated in various embodiments may be incorporated into other systems, components, techniques, or methods without departing from the scope of the present disclosure. may be combined or integrated with Other examples of changes, substitutions, and modifications can be identified by those skilled in the art and may be made without departing from the spirit and scope disclosed herein.
Claims (28)
前記復号器によって、複数の三次元(3D)コンテンツフレームのコード化されたシーケンスを含むビットストリームを受信することであって、前記複数の3Dコンテンツフレームのコード化されたシーケンスは、複数の3Dコンテンツ属性を表し、各コード化された3Dコンテンツフレームは、1つ以上の3Dコンテンツネットワーク抽象化レイヤ(NAL)ユニットによって表される、ことと、
前記復号器によって、各3Dコンテンツ属性に対して、対応する3Dコンテンツ属性をコード化するために使用される複数のビデオコーダデコーダ(コーデック)のうちの1つの指示を取得するために、前記ビットストリームを解析することと、
前記復号器によって、前記3Dコンテンツ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することと、を含む、方法。 A method implemented by a decoder, comprising:
Receiving, by the decoder, a bitstream comprising an encoded sequence of multiple three-dimensional (3D) content frames, wherein the encoded sequence of multiple 3D content frames is a multiple of 3D content frames. representing attributes, each encoded 3D content frame being represented by one or more 3D content network abstraction layer (NAL) units;
for obtaining, by the decoder, for each 3D content attribute, an indication of one of a plurality of video coder decoders (codecs) used to encode the corresponding 3D content attribute; and parsing
decoding, by the decoder, the bitstream based on the indicated video codec for the 3D content attributes.
前記符号化器によって、複数の三次元(3D)コンテンツフレームのシーケンスの複数の3Dコンテンツ属性を、複数のコーダデコーダ(コーデック)でビットストリームに符号化することであって、各コード化された3Dコンテンツフレームは、1つ以上の3Dコンテンツネットワーク抽象化レイヤ(NAL)ユニットによって表される、ことと、
前記符号化器によって、各3Dコンテンツ属性に対して、対応する3Dコンテンツ属性をコード化するために使用されるビデオコーデックのうちの1つの指示を符号化することと、
前記符号化器によって、前記ビットストリームを復号器に向かって送信することと、を含む、方法。 A method implemented in an encoder, comprising:
encoding, by the encoder, multiple 3D content attributes of a sequence of multiple three-dimensional (3D) content frames into a bitstream with multiple coder-decoders (codecs), each encoded 3D a content frame is represented by one or more 3D content network abstraction layer (NAL) units;
encoding, by the encoder, for each 3D content attribute an indication of one of the video codecs used to encode the corresponding 3D content attribute;
and transmitting, by the encoder, the bitstream towards a decoder.
ビットストリームの形式でビデオデータを記憶するように構成されている非一時的なメモリ記憶装置と、
請求項1~9のいずれか一項に記載の方法を実行するように構成されている復号器と、を含む、復号デバイス。 a decoding device,
a non-transitory memory storage device configured to store video data in the form of a bitstream;
a decoder configured to perform the method according to any one of claims 1-9.
請求項10~17のいずれか一項に記載の方法を実行するように構成されている符号化器と、を含む、符号化デバイス。 a non-transitory memory storage device configured to store video data in the form of a bitstream;
an encoder configured to perform the method of any one of claims 10-17.
複数の三次元(3D)コンテンツフレームのシーケンスの複数の3Dコンテンツ属性を、複数のコーダデコーダ(コーデック)でビットストリームに符号化することであって、各コード化された3Dコンテンツフレームは、1つ以上の3Dコンテンツネットワーク抽象化レイヤ(NAL)ユニットによって表される、符号化することを行うための第1の属性符号化手段および第2の属性符号化手段と、
各3Dコンテンツ属性に対して、対応する3Dコンテンツ属性をコード化するために使用されるビデオコーデックのうちの1つの指示を符号化することを行うための構文符号化手段と、
前記ビットストリームを復号器に向かって送信することを行うための送信手段と、を含む、符号化器。 an encoder,
encoding multiple 3D content attributes of a sequence of multiple three-dimensional (3D) content frames into a bitstream with multiple coder-decoders (codecs), each encoded 3D content frame first attribute encoding means and second attribute encoding means for performing encoding, represented by the above 3D content network abstraction layer (NAL) units;
syntax encoding means for encoding, for each 3D content attribute, an indication of one of the video codecs used to encode the corresponding 3D content attribute;
transmitting means for transmitting said bitstream towards a decoder.
各3Dコンテンツ属性に対して、対応する3Dコンテンツ属性をコード化するために使用される複数のビデオコーダデコーダ(コーデック)のうちの1つの指示を取得するために、前記ビットストリームを解析することを行うための解析手段と、
前記3Dコンテンツ属性に対する前記指示されたビデオコーデックに基づいて、前記ビットストリームを復号することを行うための復号手段と、を含む、復号器。 Receiving a bitstream comprising an encoded sequence of multiple three-dimensional (3D) content frames, wherein the encoding sequence of multiple 3D content frames represents multiple 3D content attributes, each encoded receiving means for receiving the 3D content frame represented by one or more 3D content network abstraction layer (NAL) units;
parsing the bitstream to obtain, for each 3D content attribute, an indication of one of a plurality of video coder decoders (codecs) used to encode the corresponding 3D content attribute; an analytical means for performing
decoding means operable to decode the bitstream based on the indicated video codec for the 3D content attributes.
Decoder according to claim 27, wherein the decoder is further arranged to perform the method according to any one of claims 1-9.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862731693P | 2018-09-14 | 2018-09-14 | |
US62/731,693 | 2018-09-14 | ||
JP2021514382A JP2022500931A (en) | 2018-09-14 | 2019-09-10 | Improved attribute layers and signaling in point cloud coding |
PCT/US2019/050413 WO2020055869A1 (en) | 2018-09-14 | 2019-09-10 | Improved attribute layers and signaling in point cloud coding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021514382A Division JP2022500931A (en) | 2018-09-14 | 2019-09-10 | Improved attribute layers and signaling in point cloud coding |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023123508A true JP2023123508A (en) | 2023-09-05 |
Family
ID=69777147
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021514382A Pending JP2022500931A (en) | 2018-09-14 | 2019-09-10 | Improved attribute layers and signaling in point cloud coding |
JP2021514325A Active JP7130853B2 (en) | 2018-09-14 | 2019-09-10 | Improved attribute support in point cloud encoding |
JP2023093167A Pending JP2023123508A (en) | 2018-09-14 | 2023-06-06 | Improved attribute layer and signaling in point cloud coding |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021514382A Pending JP2022500931A (en) | 2018-09-14 | 2019-09-10 | Improved attribute layers and signaling in point cloud coding |
JP2021514325A Active JP7130853B2 (en) | 2018-09-14 | 2019-09-10 | Improved attribute support in point cloud encoding |
Country Status (9)
Country | Link |
---|---|
US (2) | US11979605B2 (en) |
EP (2) | EP3841750A4 (en) |
JP (3) | JP2022500931A (en) |
KR (2) | KR102608572B1 (en) |
CN (4) | CN113016184B (en) |
BR (1) | BR112021004798A2 (en) |
MX (1) | MX2021003050A (en) |
SG (1) | SG11202102620XA (en) |
WO (2) | WO2020055869A1 (en) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897269B2 (en) | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
US11818401B2 (en) | 2017-09-14 | 2023-11-14 | Apple Inc. | Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables |
US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US10909725B2 (en) | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US11113845B2 (en) | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
US10607373B2 (en) | 2017-11-22 | 2020-03-31 | Apple Inc. | Point cloud compression with closed-loop color conversion |
US10939129B2 (en) | 2018-04-10 | 2021-03-02 | Apple Inc. | Point cloud compression |
US10909726B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Point cloud compression |
US10909727B2 (en) | 2018-04-10 | 2021-02-02 | Apple Inc. | Hierarchical point cloud compression with smoothing |
US11010928B2 (en) | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
US11017566B1 (en) | 2018-07-02 | 2021-05-25 | Apple Inc. | Point cloud compression with adaptive filtering |
US11202098B2 (en) | 2018-07-05 | 2021-12-14 | Apple Inc. | Point cloud compression with multi-resolution video encoding |
EP3595179B1 (en) * | 2018-07-10 | 2023-07-05 | BlackBerry Limited | Methods and devices for lossy coding of point cloud occupancy |
US11012713B2 (en) | 2018-07-12 | 2021-05-18 | Apple Inc. | Bit stream structure for compressed point cloud data |
BR112020026735A2 (en) * | 2018-08-08 | 2021-03-30 | Panasonic Intellectual Property Corporation Of America | THREE-DIMENSIONAL DATA ENCODING METHOD, THREE-DIMENSIONAL DATA DECODING METHOD, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND THREE-DIMENSIONAL DATA DECODING DEVICE |
US11367224B2 (en) | 2018-10-02 | 2022-06-21 | Apple Inc. | Occupancy map block-to-patch information compression |
US11373338B2 (en) * | 2019-01-09 | 2022-06-28 | Samsung Electronics Co., Ltd. | Image padding in video-based point-cloud compression CODEC |
US11823421B2 (en) * | 2019-03-14 | 2023-11-21 | Nokia Technologies Oy | Signalling of metadata for volumetric video |
CN113597771A (en) * | 2019-03-16 | 2021-11-02 | Lg电子株式会社 | Apparatus and method for processing point cloud data |
US11057564B2 (en) | 2019-03-28 | 2021-07-06 | Apple Inc. | Multiple layer flexure for supporting a moving image sensor |
US11711544B2 (en) | 2019-07-02 | 2023-07-25 | Apple Inc. | Point cloud compression with supplemental information messages |
US11562507B2 (en) | 2019-09-27 | 2023-01-24 | Apple Inc. | Point cloud compression using video encoding with time consistent patches |
US11627314B2 (en) | 2019-09-27 | 2023-04-11 | Apple Inc. | Video-based point cloud compression with non-normative smoothing |
US11538196B2 (en) | 2019-10-02 | 2022-12-27 | Apple Inc. | Predictive coding for point cloud compression |
US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
WO2021068922A1 (en) | 2019-10-10 | 2021-04-15 | Beijing Bytedance Network Technology Co., Ltd. | Deblocking of blocks coded in geometry partition mode |
US11477483B2 (en) * | 2020-01-08 | 2022-10-18 | Apple Inc. | Video-based point cloud compression with variable patch scaling |
US11798196B2 (en) | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
US11625866B2 (en) | 2020-01-09 | 2023-04-11 | Apple Inc. | Geometry encoding using octrees and predictive trees |
WO2021193088A1 (en) * | 2020-03-25 | 2021-09-30 | ソニーグループ株式会社 | Image processing device and method |
EP4085421A4 (en) * | 2020-06-24 | 2023-01-18 | ZTE Corporation | Three-dimensional content processing methods and apparatus |
WO2021259686A1 (en) * | 2020-06-24 | 2021-12-30 | Interdigital Vc Holdings France, Sas | A method and apparatus for encoding and decoding volumetric content in and from a data stream |
US11620768B2 (en) | 2020-06-24 | 2023-04-04 | Apple Inc. | Point cloud geometry compression using octrees with multiple scan orders |
US11615557B2 (en) | 2020-06-24 | 2023-03-28 | Apple Inc. | Point cloud compression using octrees with slicing |
US20230334711A1 (en) * | 2020-06-29 | 2023-10-19 | Lg Electronics Inc. | Point cloud data transmission device, transmission method, processing device, and processing method |
US11816868B2 (en) * | 2020-08-14 | 2023-11-14 | Tencent America LLC | Coding of multiple-component attributes for point cloud coding |
WO2022050650A1 (en) * | 2020-09-03 | 2022-03-10 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
WO2022055167A1 (en) * | 2020-09-09 | 2022-03-17 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point coud data reception device, and point cloud data reception method |
US11935270B2 (en) * | 2020-10-07 | 2024-03-19 | Qualcomm Incorporated | Predictive geometry coding in G-PCC |
US11948338B1 (en) | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
US12003768B2 (en) * | 2021-04-05 | 2024-06-04 | Qualcomm Incorporated | Residual coding for geometry point cloud compression |
KR20240032899A (en) * | 2021-07-03 | 2024-03-12 | 엘지전자 주식회사 | A transmitting device for point cloud data and a method performed in the transmitting device, and a receiving device for point cloud data and a method performed in the receiving device |
CN113676738B (en) * | 2021-08-19 | 2024-03-29 | 上海交通大学 | Geometric coding and decoding method and device of three-dimensional point cloud |
WO2023054932A1 (en) * | 2021-09-29 | 2023-04-06 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
WO2023080606A1 (en) * | 2021-11-03 | 2023-05-11 | 엘지전자 주식회사 | Point cloud data transmission device and method, and point cloud data reception device and method |
CN116156184A (en) * | 2021-11-12 | 2023-05-23 | 华为技术有限公司 | Video encoding/decoding method, apparatus, device, storage medium, and computer program |
WO2023096978A1 (en) * | 2021-11-23 | 2023-06-01 | Innopeak Technology, Inc. | Geometry point cloud coding |
WO2023122628A1 (en) * | 2021-12-21 | 2023-06-29 | Bytedance Inc. | Method, apparatus, and medium for point cloud coding |
WO2023224304A1 (en) * | 2022-05-19 | 2023-11-23 | Samsung Electronics Co., Ltd. | Method and electronic device for achieving accurate point cloud segmentation |
WO2024085653A1 (en) * | 2022-10-19 | 2024-04-25 | 엘지전자 주식회사 | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
CN115695393B (en) * | 2022-12-28 | 2023-03-21 | 山东矩阵软件工程股份有限公司 | Format conversion method, system and storage medium for radar point cloud data |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7436328B2 (en) * | 2003-07-09 | 2008-10-14 | Texas Instruments Incorporated | Video coding with start code emulation prevention |
CN101156319B (en) | 2005-04-11 | 2012-05-30 | 三星电子株式会社 | Methods and apparatuses for generating and recovering 3d compression data |
WO2007081150A1 (en) * | 2006-01-09 | 2007-07-19 | Electronics And Telecommunications Research Institute | Method defining nal unit type and system of transmission bitstream and redundant slice coding |
FR2931025B1 (en) * | 2008-05-07 | 2010-05-21 | Canon Kk | METHOD FOR DETERMINING PRIORITY ATTRIBUTES ASSOCIATED WITH DATA CONTAINERS, FOR EXAMPLE IN A VIDEO STREAM, CODING METHOD, COMPUTER PROGRAM AND ASSOCIATED DEVICES |
WO2013019042A1 (en) * | 2011-07-29 | 2013-02-07 | 한국전자통신연구원 | Transmitting apparatus and method and receiving apparatus and method for providing a 3d service through a connection with a reference image transmitted in real time and additional image and content transmitted separately |
CN104137554A (en) * | 2012-02-24 | 2014-11-05 | Vid拓展公司 | Video coding using packet loss detection |
US10110890B2 (en) * | 2012-07-02 | 2018-10-23 | Sony Corporation | Video coding system with low delay and method of operation thereof |
US9686542B2 (en) * | 2012-09-05 | 2017-06-20 | Qualcomm Incorporated | Network abstraction layer header design |
WO2014106692A1 (en) * | 2013-01-07 | 2014-07-10 | Nokia Corporation | Method and apparatus for video coding and decoding |
WO2014112830A1 (en) * | 2013-01-17 | 2014-07-24 | 삼성전자 주식회사 | Method for encoding video for decoder setting and device therefor, and method for decoding video on basis of decoder setting and device therefor |
US20140300758A1 (en) * | 2013-04-04 | 2014-10-09 | Bao Tran | Video processing systems and methods |
US10075735B2 (en) * | 2013-07-14 | 2018-09-11 | Sharp Kabushiki Kaisha | Video parameter set signaling |
EP3089452A4 (en) * | 2013-12-26 | 2017-10-25 | Samsung Electronics Co., Ltd. | Inter-layer video decoding method for performing subblock-based prediction and apparatus therefor, and inter-layer video encoding method for performing subblock-based prediction and apparatus therefor |
CN117336499A (en) * | 2016-05-26 | 2024-01-02 | Vid拓展公司 | Method and apparatus for window adaptive 360 degree video delivery |
US10223810B2 (en) | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
US10694210B2 (en) * | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
US10271069B2 (en) | 2016-08-31 | 2019-04-23 | Microsoft Technology Licensing, Llc | Selective use of start code emulation prevention |
US10909725B2 (en) * | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
KR102640992B1 (en) | 2018-01-19 | 2024-02-27 | 인터디지털 브이씨 홀딩스 인코포레이티드 | Point cloud processing |
US10262451B1 (en) * | 2018-04-09 | 2019-04-16 | 8i Limited | View-dependent color compression |
US10939129B2 (en) * | 2018-04-10 | 2021-03-02 | Apple Inc. | Point cloud compression |
BR112020026618A2 (en) | 2018-06-26 | 2021-03-30 | Huawei Technologies Co., Ltd. | HIGH LEVEL SYNTAX PROJECTS FOR POINT CLOUD CODING |
US11516453B2 (en) | 2018-07-06 | 2022-11-29 | Sony Corporation | Information processing apparatus, information processing method, and program for point cloud sample processing |
US20210281880A1 (en) * | 2018-07-11 | 2021-09-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Video Based Point Cloud Codec Bitstream Specification |
CN112334948A (en) * | 2018-08-03 | 2021-02-05 | 松下电器(美国)知识产权公司 | Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device |
-
2019
- 2019-09-10 CN CN201980060426.7A patent/CN113016184B/en active Active
- 2019-09-10 WO PCT/US2019/050413 patent/WO2020055869A1/en unknown
- 2019-09-10 KR KR1020217011070A patent/KR102608572B1/en active IP Right Grant
- 2019-09-10 KR KR1020217010862A patent/KR102589477B1/en active IP Right Grant
- 2019-09-10 EP EP19858895.6A patent/EP3841750A4/en active Pending
- 2019-09-10 JP JP2021514382A patent/JP2022500931A/en active Pending
- 2019-09-10 CN CN201980060363.5A patent/CN112690002B/en active Active
- 2019-09-10 MX MX2021003050A patent/MX2021003050A/en unknown
- 2019-09-10 WO PCT/US2019/050409 patent/WO2020055865A1/en unknown
- 2019-09-10 SG SG11202102620XA patent/SG11202102620XA/en unknown
- 2019-09-10 CN CN202310776588.9A patent/CN116847105A/en active Pending
- 2019-09-10 CN CN202310659608.4A patent/CN116708799A/en active Pending
- 2019-09-10 EP EP19860751.7A patent/EP3844963A4/en active Pending
- 2019-09-10 BR BR112021004798-0A patent/BR112021004798A2/en unknown
- 2019-09-10 JP JP2021514325A patent/JP7130853B2/en active Active
-
2021
- 2021-03-12 US US17/200,418 patent/US11979605B2/en active Active
- 2021-03-12 US US17/200,435 patent/US20210201539A1/en active Pending
-
2023
- 2023-06-06 JP JP2023093167A patent/JP2023123508A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR102589477B1 (en) | 2023-10-13 |
US20210203989A1 (en) | 2021-07-01 |
US20210201539A1 (en) | 2021-07-01 |
CN116708799A (en) | 2023-09-05 |
EP3841750A4 (en) | 2021-11-10 |
CN116847105A (en) | 2023-10-03 |
CN113016184A (en) | 2021-06-22 |
KR20210057161A (en) | 2021-05-20 |
EP3841750A1 (en) | 2021-06-30 |
CN112690002A (en) | 2021-04-20 |
KR20210057143A (en) | 2021-05-20 |
MX2021003050A (en) | 2021-08-11 |
US11979605B2 (en) | 2024-05-07 |
WO2020055869A1 (en) | 2020-03-19 |
EP3844963A1 (en) | 2021-07-07 |
SG11202102620XA (en) | 2021-04-29 |
JP2021536204A (en) | 2021-12-23 |
JP7130853B2 (en) | 2022-09-05 |
WO2020055865A1 (en) | 2020-03-19 |
CN113016184B (en) | 2023-07-07 |
JP2022500931A (en) | 2022-01-04 |
BR112021004798A2 (en) | 2021-06-08 |
CN112690002B (en) | 2023-06-02 |
KR102608572B1 (en) | 2023-12-04 |
EP3844963A4 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7130853B2 (en) | Improved attribute support in point cloud encoding | |
EP3804275A1 (en) | High-level syntax designs for point cloud coding | |
US11917182B2 (en) | Hypothetical reference decoder for V-PCC | |
JP7354258B2 (en) | Video encoders, video decoders and corresponding methods | |
KR102562209B1 (en) | Efficient patch rotation in point cloud coding | |
KR20210047949A (en) | Video decoding method and video decoder | |
CN114650428B (en) | Method, apparatus and medium for video coding stream extraction using identifier indication | |
JP2023029423A (en) | Video coding method and equipment | |
JP2023095946A (en) | Video encoder, video decoder and corresponding method | |
WO2020124016A1 (en) | Arbitrary and wrap-around tile grouping | |
JP2022548663A (en) | Signaling sub-picture IDs in sub-picture-based video coding | |
JP7383795B2 (en) | ALF APS constraints in video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230706 |