[0036]一般に、本開示は、複数のレイヤを備えるビデオデータをコーディングするための技法を記載する。いくつかの例では、ビデオコーダは、スケーラブルビデオコーディングのために複数のレイヤをコーディングすることに、本開示の技法を適用することができる。いくつかの例では、ビデオコーダは、(深度の有無にかかわらず)マルチビュービデオコーディング中に、マルチビュービデオデータの複数のビューを備える複数のレイヤをコーディングすることに、本開示の技法を適用することができる。いくつかの例では、マルチビューコーディングは、3次元ビデオすなわち3Dビデオのコーディングを含む場合があり、3Dビデオコーディングと呼ばれる場合がある。本開示の技法は、2つ以上のレイヤを含むビデオデータの任意のコーディング、またはそのようなビデオデータをコーディングするためのコーデックに適用可能であり得る。
[0037]より詳細には、本開示は、最大コーディングユニット(LCU)もしくはタイルなどへのピクチャの区分化、および/またはビデオデータのレイヤを横切る波面並列処理(WPP)などのピクチャ処理技法に対する、ビットストリームの制限または制約に関する。いくつかの例では、ビデオコーダは、第1のレイヤ、たとえばベースレイヤが、参照レイヤとして第1のレイヤを使用する第2のレイヤ、たとえば拡張レイヤよりも大きい数のピクチャ当たりのタイルを含む場合がないように、制約されたビットストリームをコーディングする、たとえば制約されたビットストリーム内のシンタックス情報をコーディングする、たとえば、ビデオエンコーダが符号化するか、またはビデオデコーダが復号する。いくつかの例では、ビデオコーダは、タイルまたはWPPのうちの一方が第1のレイヤについて使用可能である場合、あるいはタイルまたはWPPのうちの他方が第2のレイヤについて使用可能でない場合があるように、制約されたビットストリーム、たとえばビットストリーム内のシンタックス情報をコーディングする。同様に、第1のレイヤは、拡張レイヤであり得る第2のレイヤについての参照レイヤ、たとえばベースレイヤであり得る。
[0038]いくつかの例では、ビデオコーダは、タイル境界を横切るフィルタリング、たとえばループフィルタリングが、ビデオデータ内の複数の、たとえばすべてのレイヤについて許可または禁止されるように、制約されたビットストリームをコーディングする。いくつかの例では、ビデオコーダは、たとえばSNRスケーラビリティのために、所与のレイヤが、その1つまたは複数のアクティブ参照レイヤのいずれとも同じLCUサイズをもたなければならないように、制約されたビットストリームをコーディングする。LCUは、コーディングツリーブロック(CTB)またはツリーブロックと呼ばれる場合もある。
[0039]いくつかの例では、ビデオコーダは、レイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数に基づいて制約されるように、制約されたビットストリームをコーディングする。レイヤのピクチャ当たりのタイルの最大数は、たとえば、ビデオエンコーダにより、レイヤ内のピクチャについての空間解像度、またはティア情報およびレベル情報に基づいて決定される場合がある。いくつかの例では、複数のレイヤのレイヤごとのタイルの数は、レイヤのタイルの最大数よりも大きくない。いくつかの例では、複数のレイヤのタイルの数の合計は、複数のレイヤのタイルの最大数の合計よりも大きくない。
[0040]本明細書に記載されるビットストリームの制限は、いくつかの例では、複数のレイヤを含むビデオデータの、より効率的な、均等に分散された、同期化された並列処理を容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、ビデオコーデック内の並列処理の簡略化されたパイプライン化の設計と実装とを容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、たとえば、レイヤ間予測またはフィルタリングのための、異なるレイヤを横切るコロケートされたコーディングユニットのより簡単なマッピングを容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、異なるレイヤを横切るタイルのより柔軟な使用を容易にすることができる。
[0041]ビットストリームの制限または制約は、ビデオコーディング規格によって規定される場合がある。そのような場合、規格に準拠するビデオビットストリームは、規格において規定されたように制限または制約されなければならない。さらに、規格に従ってビデオデータを符号化するために、ビデオエンコーダは、規格によって規定されたように制限または制約されたビデオビットストリームを符号化し、したがって規格に準拠する。規格に従ってビデオデータを復号するように構成されたビデオデコーダは、規格によって規定されたように制限または制約されたビデオビットストリームを復号するように構成され、規格に従って制限または制約されていないビデオビットストリームを正確に復号しない場合がある。
[0042]本明細書に記載される技法は、1つまたは複数のビデオコーディング規格と連携して使用される場合がある。例示的なビデオコーディング規格には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、およびそのスケーラブルビデオコーディング(SVC)拡張とマルチビュービデオコーディング(MVC)拡張とを含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264が含まれる。MVCの最新のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている。
[0043]最近、新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)の設計が、ITU−T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のビデオコーディング共同研究部会(JCT−VC)によって確定された。HEVC規格のドラフトは、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipから入手可能である。HEVC規格の上記のドラフトについての全文引用は、Brossら、「High Efficiency Video Coding(HEVC) text specification draft10(for FDIS&Last Call)」、JCT−VC of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第12回会合:ジュネーブ、スイス、2013年1月14〜23日である。
[0044]SHVCと称するHEVCに対するスケーラブル拡張は、JCT−VCによって開発されている。以下でSHVC WD1と呼ばれるSHVCの最近のワーキングドラフト(WD)は、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1008−v1.zipから入手可能である。SHVCのテストモデルの記述は、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−M1007−v3.zipから入手可能である。
[0045]HEVCに対するマルチビュー拡張、すなわちMV−HEVCも、JCT−3Vによって開発されている。以下でMV−HEVC WD3と呼ばれるMV−HEVCの最近のワーキングドラフト(WD)は、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V−C1004−v4.zipから入手可能である。
[0046]現在、VCEGおよびMPEGの3Dビデオコーディング共同研究部会(JCT−3C)は、HEVCに基づく3DV規格を開発中であり、そのための規格化作業の一部はMV−HEVCの規格化を含み、規格化作業の別の一部は、HEVCに基づく3Dビデオコーディング(3DV)(3D−HEVC)の規格化を含む。3D−HEVCでは、コーディングユニット/予測ユニットレベルにおけるコーディングツールを含む新しいコーディングツールが、テクスチャビューと深度ビューの両方について含められ、サポートされ得る。最近の3D−HEVCの参照ソフトウェアテストモデル(3D−HTM)は、以下のリンクからダウンロードされ得る:https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−7.0/。
[0047]3D−HEVCの最近の参照ソフトウェア記述ならびにワーキングドラフトについての全文引用は、以下の通りである:Techら、「3D−HEVC Test Model4」、JCT3V−D1005_spec_v1、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11の3Dビデオコーディング拡張開発共同研究部会、第4回会合:インチョン、韓国、2013年4月20〜26日。この3D−HEVCの参照ソフトウェア記述およびワーキングドラフトは、以下のリンクからダウンロードされ得る:http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/4_Incheon/wg11/JCT3V−D1005−v1.zip。
[0048]本開示に記載される技法は、たとえば、HEVCのSHVC拡張、MV−HENV拡張、もしくは3D−HEVC拡張、またはH.264のMVC拡張もしくはSVC拡張に従って動作するビデオコーダによって実施される場合がある。しかしながら、本開示に記載される技法は、それらの規格に限定されず、本明細書に記載される他のビデオコーディング規格もしくは拡張、または、複数のレイヤを含むビデオデータをコーディングするために提供される規格を含む、本明細書において言及されない他のビデオコーディング規格もしくは拡張に拡張される場合がある。
[0049]図1は、本開示に記載される技法を利用することができる例示的なビデオ符号化および復号システム10を示すブロック図である。たとえば、システム10はソースデバイス12と宛先デバイス14とを含む。ソースデバイス12および宛先デバイス14は、本開示に記載される技法を実施するように構成される。いくつかの例では、システム10は、たとえば、WD10およびその拡張に記載されたように、たとえばMV−HEVC WD3、SHVC WD1、「3D−HEVC Test Model4」などに記載されている拡張などのHEVC規格に従って符号化されるビデオデータなどの符号化ビデオデータの符号化、送信、記憶、復号、および/または提示をサポートするように構成される場合がある。しかしながら、本開示に記載される技法は、他のビデオコーディング規格または他の拡張に適用可能であり得る。
[0050]図1に示されたように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備える場合がある。場合によっては、ソースデバイス12および宛先デバイス14はワイヤレス通信に対応する場合がある。
[0051]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信することができる。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える場合がある。一例では、リンク16は、ソースデバイス12が、符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするために通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信される場合がある。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成する場合がある。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含む場合がある。
[0052]いくつかの例では、符号化データは、ソースデバイス12からストレージデバイス36に出力される場合がある。同様に、符号化データは、宛先デバイス14によってストレージデバイス36からアクセスされる場合がある。ストレージデバイス36は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散された、またはローカルにアクセスされるデータ記憶媒体のいずれかを含む場合がある。さらなる一例では、ストレージデバイス34は、ソースデバイス12によって生成された符号化ビデオを保持することができるファイルサーバまたは別の中間ストレージデバイスに対応する場合がある。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス36から記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブが含まれる。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化ビデオデータにアクセスすることができる。これには、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適した、それらの両方の組合せが含まれ得る。ストレージデバイス36からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
[0053]本開示の技法は、もちろん、ワイヤレスの用途または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他のアプリケーションなどの、様々なマルチメディアアプリケーションのいずれかをサポートするビデオコーディングに適用される場合がある。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどのアプリケーションをサポートするために、一方向または双方向のビデオ送信をサポートするように構成される場合がある。
[0054]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含む場合がある。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含む場合がある。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはビデオ電話を形成することができる。しかしながら、本開示に記載される技法は、概してビデオコーディングに適用可能であり得るし、ワイヤレスおよび/または有線のアプリケーションに適用される場合がある。
[0055]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化される場合がある。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して、宛先デバイス14に直接送信される場合がある。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのために、ストレージデバイス36に記憶される場合がある。
[0056]宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含む場合がある。宛先デバイス14の入力インターフェース28は、リンク16を介して、および/またはストレージデバイス36から、符号化ビデオデータを受信する。リンク16を介して通信されるか、またはストレージデバイス36上に供給された符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダが使用するためにビデオエンコーダ20によって生成された、本明細書ではシンタックス要素とも呼ばれる、様々なシンタックス情報を含む場合がある。そのようなシンタックス情報は、通信媒体上で送信されるか、記憶媒体に記憶されるか、またはファイルサーバに記憶される符号化ビデオデータとともに含まれる場合がある。
[0057]ディスプレイデバイス32は、宛先デバイス14と一体化されるか、または宛先デバイス14の外部にあり得る。いくつかの例では、宛先デバイス14は、一体化されたディスプレイデバイスを含む場合があり、外部ディスプレイデバイスとインターフェースするように構成される場合もある。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備える場合がある。
[0058]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHEVC規格、ならびに、たとえばMV−HEVC、SHVC、および3D−HEVCなどのHEVC規格の拡張などのビデオ圧縮規格に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。
[0059]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々オーディオエンコーダおよびオーディオデコーダと統合される場合があり、共通のデータストリームまたは別個のデータストリーム内でオーディオとビデオの両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアとソフトウェアとを含む場合がある。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠する場合がある。
[0060]ビデオエンコーダ20およびビデオデコーダ30は、各々1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装される場合がある。本技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用して、ハードウェアにおいて命令を実行することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれる場合があり、そのいずれかは、それぞれのデバイス内の複合エンコーダ/デコーダ(コーデック)の一部として統合される場合がある。ビデオエンコーダ20およびビデオデコーダ30は、各々、概して、上述されたように、HEVC WD10、MV−HEVC WD3、SHVC WD1、および/もしくは「3D−HEVC Test Model4」、または本開示に記載される技法が有用であり得る他の同様の規格もしくは拡張に適合して動作することができる。
[0061]概して、ビデオフレームまたはピクチャは、ルーマサンプルとクロマサンプルの両方を含む、CTBとも呼ばれる一連のツリーブロックまたはLCUに分割される場合がある。HEVCコーディングプロセスにおけるLCUまたはCTBは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分化される場合がある。各LCUは、4分木に従ってコーディングユニット(CU)に分割される場合がある。たとえば、4分木のルートノードとしてのCTUは、4つの子ノードに分割される場合があり、各子ノードは、次に親ノードとなる場合があり、別の4つの子ノードに分割される場合がある。最終的な分割されない子ノードは、4分木のリーフノードとして、コーディングノード、すなわちコード化ビデオブロックを備える。コード化ビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分割され得る最大回数を定義することができ、コーディングノードの最小サイズも定義することができる。
[0062]CUは、一般に、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。CUは、通常、正方形の形状を有し、たとえば、ITU−T H.264などの他のビデオコーディング規格の下のいわゆる「マクロブロック」と同様であると見なされ得る。CUは、コーディングノードと、コーディングノードに関連付けられた予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから、64×64ピクセル以上の最大サイズを有するLCUのサイズまで及ぶ場合がある。
[0063]各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含む場合がある。CUに関連付けられたシンタックス情報は、たとえば、1つまたは複数のPUへのCUの区分化を記述することができる。区分化モードは、CUがスキップモードもしくはダイレクトモードで符号化されるか、イントラ予測モードで符号化されるか、またはインター予測モードで符号化されるかの間で異なる場合がある。PUは、形状が非正方形になるように区分化され得る。CUに関連付けられたシンタックス情報はまた、たとえば、4分木に従う1つまたは複数のTUへのCUの区分化を記述することができる。TUは、形状が正方形または非正方形であり得る。
[0064]概して、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモードで符号化されるとき、PUは、そのPUのイントラ予測モードを記述するデータを含む場合がある。別の例として、PUがインターモードで符号化されるとき、PUは、そのPUの動きベクトルを定義するデータを含む場合がある。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、RefPicList0(L0)もしくはRefPicList1(L1))を記述することができる。
[0065]概して、TUは、変換プロセスおよび量子化プロセスに使用される。予測の後に、ビデオエンコーダ20は、PUに対応する残差値を計算することができる。残差値は、異なるCUについて異なる場合があるTUに従って、変換係数に変換され得るピクセル差分値を備える。TUは、通常、区分化されたLCUのために定義された、所与のCU内のPUのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用して再分割される場合があり、リーフノードはTUである。
[0066]本開示は、通常、CUのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合には、本開示は、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指すために「ビデオブロック」という用語を使用する場合もある。
[0067]PUは、H.264などの他のビデオコーディング規格の下のブロックのいわゆるパーティションと同様であると見なされ得る。PUは、「残差」係数を生成するためにブロックについての予測が実行される基盤である。CUの残差係数は、CUのビデオデータと、CUの1つまたは複数のPUを使用して決定されたCUについての予測データとの間の差分を表す。詳細には、1つまたは複数のPUは、CUが予測のためにどのように区分化されるかを指定し、CUの各パーティション内に含まれているビデオデータを予測するためにどの予測モードが使用されるかを指定する。
[0068]CUの1つまたは複数のTUは、CU用の残差変換係数のブロックを生成するために、ブロックにどの変換が適用されるかに基づいて、CUの残差係数のブロックのパーティションを指定する。1つまたは複数のTUは、適用される変換のタイプに関連付けられる場合もある。変換は、残差係数をピクセル領域または空間領域から、周波数領域などの変換領域に変換する。加えて、1つまたは複数のTUは、量子化残差変換係数のブロックを生成するために、残差変換係数の得られたブロックにどの量子化が適用されるかに基づいて、パラメータを指定することができる。残差変換係数は、係数を表すために使用されるデータの量をできるだけ低減するために量子化される場合がある。
[0069]CUは、一般に、Yとして表記される1つのルミナンス成分と、UおよびVとして表記される2つのクロミナンス成分とを含む。言い換えれば、サブCUにこれ以上分割されない所与のCUは、Y成分とU成分とV成分とを含む場合があり、それらの各々は、前述されたように、CUの予測および変換のために1つまたは複数のPUおよびTUにさらに区分化される場合がある。たとえば、ビデオサンプリングフォーマットに応じて、サンプルの数を単位とするU成分およびV成分のサイズは、Y成分のサイズと同じであるか、または異なる場合がある。そのため、予測、変換、および量子化に関して上述された技法は、所与のCUのY成分、U成分、およびV成分の各々について実施される場合がある。
[0070]CUを符号化するために、CUの1つまたは複数のPUに基づいて、CU用の1つまたは複数の予測子が最初に導出される。予測子は、CUについての予測データを含んでいる参照ブロックであり、前述されたように、CU用の対応するPUに基づいて導出される。たとえば、PUは、それについての予測データが決定されるCUのパーティションと、予測データを決定するために使用される予測モードとを示す。予測子は、イントラ(I)予測(すなわち、空間予測)モードまたはインター(PもしくはB)予測(すなわち、時間予測)モードのいずれかを介して導出される場合がある。したがって、いくつかのCUは、同じフレーム内の隣接参照ブロックまたはCUに対する空間予測を使用してイントラコーディング(I)される場合があるが、他のCUは、他のフレーム内の参照ブロックまたはCUに対してインターコーディング(PまたはB)される場合がある。
[0071]CUの1つまたは複数のPUに基づいて1つまたは複数の予測子を識別すると、1つまたは複数のPUに対応するCUの元のビデオデータと、1つまたは複数の予測子に含まれているCUについての予測データとの間の差分が計算される。予測残差とも呼ばれるこの差分は、残差係数を備え、前述されたように、1つまたは複数のPUおよび1つまたは複数の予測子によって指定されたCUの部分間のピクセル差分を指す。残差係数は、一般に、CUの1つまたは複数のPUに対応する2次元(2D)アレイに構成される。
[0072]さらなる圧縮を実現するために、予測残差は、一般に、たとえば、離散コサイン変換(DCT)、整数変換、カルーネンレーベ(K−L)変換、または別の変換を使用して変換される。変換は、同じく前述されたように、空間領域内の予測残差、すなわち残差係数を、変換領域、たとえば周波数領域内の残差変換係数に変換する。変換係数はまた、一般に、CUの1つまたは複数のTUに対応する2Dアレイに構成される。さらなる圧縮のために、残差変換係数は、同じく前述されたように、係数を表すために使用されるデータの量をできるだけ低減するために量子化される場合がある。
[0073]またさらなる圧縮を実現するために、エントロピーコーダは、その後、コンテキスト適応型バイナリ算術コーディング(CABAC)、コンテキスト適応型可変長コーディング(CAVLC)、確率間隔区分化エントロピーコーディング(PIPE)、または別のエントロピーコーディング方法を使用して、得られた残差変換係数を符号化する。エントロピーコーディングは、他のCUと比較して、係数によって表される、CUのビデオデータに固有の統計的冗長性を低減または除去することによって、このさらなる圧縮を実現することができる。
[0074]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOPに含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ内、ピクチャの1つもしくは複数のヘッダ内、または他の場所に含む場合がある。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含む場合がある。ビデオエンコーダ20は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応する場合がある。ビデオブロックは、固定サイズまたは可変サイズを有し、指定されたコーディング規格に応じてサイズが異なる場合がある。
[0075]一例として、HEVCは、様々なPUサイズにおける予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HEVCは、2N×2NまたはN×NのPUサイズにおけるイントラ予測と、2N×2N、2N×N、N×2N、またはN×Nの対称なPUサイズにおけるインター予測とをサポートする。HEVCは、また、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズにおけるインター予測のための非対称区分化をサポートする。非対称区分化では、CUの一方向は区分化されないが、他の方向は25%と75%に区分化される。25%パーティションに対応するCUの部分は、「n」とそれに続く「Up」、「Down」、「Left」、または「Right」という指示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5NのPU、および下部の2N×1.5NのPUで水平に区分化される2N×2NのCUを指す。
[0076]本開示では、「N×N」および「NbyN」は、垂直と水平の寸法に関してビデオブロックのピクセル寸法を指すために、たとえば、16×16ピクセルまたは16by16ピクセルのように、互換的に使用される場合がある。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)を有し、水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここで、Nは非負の整数値を表す。ブロック内のピクセルは、行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備える場合があり、ここで、Mは必ずしもNに等しいとは限らない。
[0077]CUのPUを使用するイントラ予測またはインター予測のコーディングの後で、ビデオエンコーダ20は、CUのTUについての残差データを計算することができる。PUは、(ピクセル領域とも呼ばれる)空間領域においてピクセルデータを備える場合があり、TUは、変換、たとえば、残差ビデオデータに対する離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備える場合がある。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応する場合がある。ビデオエンコーダ20は、CUについての残差データを含むTUを形成し、次いで、CU用の変換係数を生成するためにTUを変換することができる。
[0078]変換係数を生成する任意の変換の後で、ビデオエンコーダ20は、変換係数の量子化を実行することができる。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減することができる。たとえば、nビットの値は、量子化中にmビットの値に端数を切り捨てられる場合があり、ここで、nはmよりも大きい。
[0079]いくつかの例では、ビデオエンコーダ20は、量子化変換係数を走査してエントロピー符号化され得るシリアル化ベクトルを生成するために、あらかじめ定義された走査順序を利用することができる。他の例では、ビデオエンコーダ20は、適応走査を実行することができる。1次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分化エントロピー(PIPE)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化することができる。ビデオエンコーダ20は、ビデオデータを復号する際にビデオデコーダ30が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化することもできる。
[0080]CABACを実行するために、ビデオエンコーダ20は、コンテキストモデル内のコンテキストを送信されるべきシンボルに割り当てることができる。コンテキストは、たとえば、シンボルの近傍値が非0であるか否かに関係する場合がある。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボル用の可変長コードを選択することができる。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成される場合がある。このようにして、VLCの使用は、たとえば、送信されるべきシンボルごとに等長コードワードを使用することよりも、ビット節約を実現することができる。確率決定は、シンボルに割り当てられたコンテキストに基づく場合がある。
[0081]加えて、ビデオエンコーダ20は、たとえば、残差データを逆量子化および逆変換することによって符号化ピクチャを復号し、残差データを予測データと組み合わせることができる。このようにして、ビデオエンコーダ20は、ビデオデコーダ30によって実行される復号プロセスをシミュレートすることができる。したがって、ビデオエンコーダ20とビデオデコーダ30の両方は、ピクチャ間予測に使用するための実質的に同じ復号ピクチャにアクセスできる。
[0082]ビデオエンコーダ20は、シンタックス要素を含む、コード化ピクチャおよび関連データの表現を形成する一連のビットを含む、符号化ビデオビットストリームを出力することができる。ビットストリームは、一連のネットワークアブストラクションレイヤ(NAL)ユニットを備える場合がある。NALユニットの各々は、NALユニットヘッダを含む場合があり、ローバイトシーケンスペイロード(RBSP)をカプセル化することができる。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含む場合がある。NALユニットのNALユニットヘッダによって規定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造を備える場合がある。いくつかの事例では、RBSPは0ビットを含む。
[0083]様々なタイプのNALユニットは、様々なタイプのRBSPをカプセル化することができる。たとえば、第1のタイプのNALユニットはパラメータセット用のRBSPをカプセル化することができ、第2のタイプのNALユニットはコード化スライス用のRBSPをカプセル化することができ、第3のタイプのNALユニットは補足エンハンスメント情報(SEI)用のRBSPをカプセル化することができ、以下同様である。(パラメータセットおよびSEIメッセージ用のRBSPとは対照的に)ビデオコーディングデータ用のRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれる場合がある。コード化スライスをカプセル化するNALユニットは、本明細書ではコード化スライスNALユニットと呼ばれる場合がある。コード化スライス用のRBSPは、スライスヘッダとスライスデータとを含む場合がある。
[0084]ビデオエンコーダ20は、符号化ビデオデータに加えて、ビデオデータの特定のブロックまたはそのグループ化をどのように復号するかをビデオデコーダ30に知らせるシンタックス情報を、符号化ビデオビットストリームに含めることができる。ビデオエンコーダ20は、たとえば、それが参照するビデオ構造のタイプ(たとえば、シーケンス、ピクチャ、スライス、ブロック)、およびどれほど頻繁にその値が変化する場合があるかに応じて、様々なシンタックス構造にシンタックス情報を含めることができる。たとえば、ビデオエンコーダ20は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはピクチャパラメータセット(PPS)などのパラメータセットにシンタックス要素を含めることができる。他の例として、ビデオエンコーダ20は、SEIメッセージおよびスライスヘッダにシンタックス要素を含めることができる。ビデオエンコーダ20がパラメータセットにシンタックス情報を含めるとき、ビデオエンコーダ20は、ビットストリームに、たとえばスライスヘッダまたはSEIメッセージに、所与のシーケンスまたはピクチャ用の特定のパラメータセットをアクティブ化するシンタックス情報を含めることができる。アクティブ化されたパラメータセット、たとえばアクティブなVPS、SPS、またはPPSは、そのようなシンタックス情報に基づいて、たとえば、シーケンス間ベースまたはピクチャ間ベースで変化する場合がある。
[0085]概して、ビデオデコーダ30は、ビデオエンコーダによって実行される符号化プロセスの逆である復号プロセスを実行することができる。たとえば、ビデオデコーダ30は、量子化ビデオデータをエントロピー符号化するためにビデオエンコーダによって使用されるエントロピー符号化技法の逆を使用して、エントロピー復号を実行することができる。ビデオデコーダ30は、ビデオエンコーダ20によって使用される量子化技法の逆を使用してビデオデータをさらに逆量子化することができ、量子化された変換係数を生成するためにビデオエンコーダ20によって使用された変換の逆を実行することができる。次いで、ビデオデコーダ30は、最終的な表示用のビデオブロックを生成するために、隣接参照ブロック(イントラ予測)または別のピクチャからの参照ブロック(インター予測)に、得られた残差ブロックを適用することができる。ビデオデコーダ30は、ビデオデコーダ30によって受信されたビットストリーム内の符号化ビデオデータとともに、ビデオエンコーダ20によって提供されたシンタックス要素に基づいて、ビデオエンコーダ20によって実行される様々なプロセスの逆を実行するために、構成、命令、制御、または指示される場合がある。
[0086]ビデオエンコーダ20およびビデオデコーダ30は、個別にまたは一般的にビデオコーダと呼ばれる場合がある。加えて、「ビデオコーディング」という用語は、ビデオ符号化とビデオ復号のいずれかまたは両方を指す場合がある。
[0087]ビデオエンコーダ20およびビデオデコーダ30は、たとえば、スケーラブルビデオコーダまたはマルチビュービデオコーディングのための、複数のレイヤを備えるビデオデータをコーディングするための本開示の技法を実施するように構成される場合がある。いくつかの例では、ビデオデコーダ30は、ビデオデータの第1のレイヤについてのシンタックス情報、ビデオデータの第1のレイヤのピクチャのタイルへの区分化を定義する第1のレイヤについてのシンタックス情報を復号し、ビデオデータの第2のレイヤについてのシンタックス情報、ビデオデータの第2のレイヤのピクチャのタイルへの区分化を定義する第2のレイヤについてのシンタックス情報を復号することができる。本開示の技法によれば、第2のレイヤのピクチャの区分化を定義する第2のレイヤについてのシンタックス情報は、ビデオデータの第1のレイヤの区分化に基づいて制約される。ビデオデコーダ30はさらに、第1のレイヤおよび第2のレイヤについてのシンタックス情報に基づいて、ビデオデータの第1のレイヤおよび第2のレイヤのピクチャを区分化し、ビデオデータの第1のレイヤおよび第2のレイヤのピクチャの区分化に基づいて、ビデオデータの第1のレイヤと第2のレイヤとを復号することができる。
[0088]いくつかの例では、ビデオデコーダ30は、ビデオデータの第1のレイヤおよび第2のレイヤの各々のピクチャを複数のタイルに区分化し、ここにおいて、タイルへのピクチャの区分化はタイル間の境界を定義し、ビデオデータの第1のレイヤおよび第2のレイヤの各々についてのそれぞれのシンタックス情報を復号し、レイヤの各々についてのシンタックス情報は、タイル境界のうちの少なくとも1つを横切るピクチャの他のビデオデータに基づくレイヤのピクチャのうちの1つのビデオデータのフィルタリングが許可されるかどうかを示す。本開示の技法によれば、第1のレイヤおよび第2のレイヤについてのシンタックス情報は、両方のレイヤが、タイル境界のうちの少なくとも1つを横切るレイヤのピクチャの他のビデオデータに基づくレイヤのピクチャのうちの1つのビデオデータのフィルタリングを許可または禁止するように制約される。ビデオデコーダ30はさらに、区分化およびシンタックス情報に基づいて、ビデオデータの複数のレイヤを復号することができる。
[0089]いくつかの例では、ビデオデコーダ30は、ビデオデータの第1のレイヤについての第1のLCUサイズとビデオデータの第2のレイヤについての第2のLCUサイズとを決定し、ここにおいて、第2のLCUサイズは第1のLCUサイズに基づいて制約され、ビデオデータの第1のレイヤおよび第2のレイヤについてのLCUサイズに基づいて、ビデオデータの第1のレイヤと第2のレイヤとを復元することができる。
[0090]いくつかの例では、ビデオデコーダ30は、ビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を復号することができる。複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、いくつかのタイルへのレイヤ内のピクチャの区分化を定義する。本開示の技法によれば、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように、シンタックス情報は制約される。レイヤのピクチャ当たりのタイルの最大数は、レイヤ内のピクチャについての空間解像度、またはティア情報およびレベル情報に基づいて決定される場合がある。ビデオデコーダ30はさらに、レイヤのいくつかのタイルへのピクチャの区分化に基づいて、少なくとも1つのレイヤ内のピクチャを復元することができる。
[0091]ビデオエンコーダ20は、本開示の例に従って方法を実施するように構成される場合もある。いくつかの例では、ビデオエンコーダ20は、ビデオデータの第1のレイヤについてのシンタックス情報、ビデオデータの第1のレイヤのピクチャのタイルへの区分化を定義する第1のレイヤについてのシンタックス情報を符号化し、ビデオデータの第2のレイヤについてのシンタックス情報、ビデオデータの第2のレイヤのピクチャのタイルへの区分化を定義する第2のレイヤについてのシンタックス情報を符号化することができる。本開示の例示的な技法によれば、第2のレイヤのピクチャの区分化を定義する第2のレイヤについてのシンタックス情報は、ビデオデータの第1のレイヤの区分化に基づいて制約される。ビデオエンコーダ20はまた、第1のレイヤおよび第2のレイヤについてのシンタックス情報に基づいて、ビデオデータの第1のレイヤおよび第2のレイヤのピクチャを区分化し、ビデオデータの第1のレイヤおよび第2のレイヤのピクチャの区分化に基づいて、ビデオデータの第1のレイヤと第2のレイヤとを符号化することができる。
[0092]いくつかの例では、ビデオエンコーダ20は、ビデオデータの第1のレイヤについてのシンタックス情報を符号化し、第1のレイヤについてのシンタックス情報は、ビデオデータの第1のレイヤのピクチャをタイルに区分化することが可能であるかどうかと、波面並列処理(WPP)を使用してビデオデータの第1のレイヤを復号することが可能であるかどうかとを定義し、ビデオデータの第2のレイヤについてのシンタックス情報を符号化することができ、第2のレイヤについてのシンタックス情報は、ビデオデータの第2のレイヤのピクチャをタイルに区分化することが可能であるかどうかと、WPPを使用してビデオデータの第2のレイヤを復号することが可能であるかどうかとを定義する。本開示の技法によれば、第2のレイヤについてのシンタックス情報は、ビデオデータの第1のレイヤのピクチャをタイルに区分化することが可能であるかどうか、またはWPPを使用してビデオデータの第1のレイヤを復号することが可能であるかどうかに基づいて制約される。ビデオエンコーダ20はさらに、ビデオデータの第1のレイヤおよび第2のレイヤについてのそれぞれのシンタックス情報に基づいて、ビデオデータの第1のレイヤと第2のレイヤとを符号化することができる。
[0093]いくつかの例では、ビデオエンコーダ20は、ビデオデータの第1のレイヤおよび第2のレイヤの各々のピクチャを複数のタイルに区分化し、ここにおいて、タイルへのピクチャの区分化はタイル間のタイル境界を定義し、ビデオデータの第1のレイヤおよび第2のレイヤの各々についてのそれぞれのシンタックス情報を符号化し、レイヤの各々についてのシンタックス情報は、タイル境界のうちの少なくとも1つを横切るピクチャの他のビデオデータに基づくレイヤのピクチャのうちの1つのビデオデータのフィルタリングが許可されるかどうかを示す。本開示の技法によれば、第1のレイヤおよび第2のレイヤについてのシンタックス情報は、両方のレイヤが、タイル境界のうちの少なくとも1つを横切るレイヤのピクチャの他のビデオデータに基づくレイヤのピクチャのうちの1つのビデオデータのフィルタリングを許可または禁止するように制約される。ビデオエンコーダ20はさらに、区分化およびシンタックス情報に基づいて、ビデオデータの複数のレイヤを符号化することができる。
[0094]いくつかの例では、ビデオエンコーダ20は、ビデオデータの第1のレイヤについての第1のLCUサイズとビデオデータの第2のレイヤについての第2のLCUサイズとを決定し、第1のLCUサイズに基づいて第2のLCUサイズを制約し、ビデオデータの第1のレイヤおよび第2のレイヤについてのLCUサイズに基づいて、ビデオデータの第1のレイヤと第2のレイヤとを符号化する。
[0095]いくつかの例では、ビデオエンコーダ20は、ビデオデータの複数のレイヤの各レイヤ内のピクチャをレイヤのいくつかのタイルに区分化することができる。いくつかのタイルにピクチャを区分化するために、ビデオエンコーダ20は、レイヤ内のピクチャについての空間解像度、またはティア情報およびレベル情報に基づいてレイヤのピクチャ当たりのタイルの最大数を決定し、レイヤのピクチャ当たりのタイルの最大数に基づいてレイヤのピクチャ当たりのタイルの数を制約する。ビデオエンコーダ20はさらに、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて複数のレイヤの各レイヤ内のピクチャを符号化し、ビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を符号化することができる。複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する。
[0096]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、スケーラブルビデオコーディング、たとえば、2つ以上のレイヤを含むビデオデータのコーディングのための技法を使用することができる。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、マルチビュービデオコーディング、たとえば、2つ以上のビューを含むビデオデータのコーディングのための技法を使用することができる。マルチビュービデオコーディングにおけるビューは、レイヤの特別な場合と考えられ得る。本明細書で使用するレイヤという用語は、スケーラブルビデオコーディング用のレイヤ、またはマルチビュービデオコーディング用のビューであるレイヤを指す場合がある。
[0097]図2は、スケーラブルビデオコーディング(SVC)のための様々なスケーラブルな次元を示す概念図である。図2は、SVCのスケーラビリティ構造の一例を示す。詳細には、様々な次元におけるスケーラビリティの一例が図2に示される。図2の例では、スケーラビリティは、3つの次元において使用可能である。時間次元では、7.5Hz、15Hz、または30Hzをもつフレームレートが、時間スケーラビリティ(T)によってサポートされ得る。空間スケーラビリティ(S)がサポートされるとき、QCIF、CIF、および4CIFなどの様々な解像度が使用可能であり得る。特定の空間解像度およびフレームレートごとに、ピクチャ品質を改善するために信号対ノイズ(SNR)(Q)レイヤが追加され得る。
[0098]ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、たとえば、クライアントまたは送信チャネルに依存する場合があるアプリケーション要件に従って、実際の配信されたコンテンツを適応させるために、抽出器ツールが使用される場合がある。図2に示された例では、各体積、すなわち立方体は、同じフレームレート(時間レベル)と、空間解像度と、SNRレイヤとを有するピクチャを含んでいる。それらの立方体(ピクチャ)を任意の次元に追加することによって、より良い表現が実現され得る。使用可能な2つ、3つ、またはさらに多くのスケーラビリティが存在するとき、複合スケーラビリティがサポートされ得る。
[0099]SVCのいくつかの例では、最も低い空間レイヤと品質レイヤとを有するピクチャは、基本仕様と互換性があり得る。最も低い時間レベルにあるピクチャは、より高い時間レベルにあるピクチャを用いて拡張され得る、時間ベースレイヤを形成する。ベースレイヤに加えて、空間スケーラビリティおよび/または品質スケーラビリティを実現するために、いくつかの空間および/またはSNRのエンハンスメントレイヤが追加され得る。SNRスケーラビリティは、品質(Q)スケーラビリティとも呼ばれる。各々の空間またはSNRのエンハンスメントレイヤ自体は、ベースレイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルであり得る。1つの空間またはSNRのエンハンスメントレイヤの場合、それが依存するより低いレイヤは、その特定の空間またはSNRのエンハンスメントレイヤのベースレイヤとも呼ばれる。
[0100]図3は、SVCコーディング構造の一例を示す概念図である。この例では、最も低い空間レイヤと品質レイヤとを有するピクチャ(QCIF解像度を有するレイヤ0およびレイヤ1内のピクチャ)は、基本仕様と互換性があり得る。それらの中で、最も低い時間レベルのそれらのピクチャは、図3のレイヤ0に示されているように、時間ベースレイヤを形成する。この時間ベースレイヤ(レイヤ0)は、より高い時間レベル(レイヤ1)のピクチャを用いて拡張され得る。ベースレイヤに加えて、空間スケーラビリティおよび/または品質スケーラビリティを実現するために、いくつかの空間および/またはSNRのエンハンスメントレイヤが追加され得る。たとえば、エンハンスメントレイヤは、レイヤ2と同じ解像度を有するCIF表現であり得る。この例では、レイヤ3はSNRエンハンスメントレイヤである。この例に示されたように、各々の空間またはSNRのエンハンスメントレイヤ自体は、ベースレイヤと同じ時間スケーラビリティ構造で、時間的にスケーラブルであり得る。また、エンハンスメントレイヤは、空間解像度とフレームレートの両方を拡張することができる。たとえば、レイヤ4は、フレームレートを15Hzから30Hzにさらに増加させる、4CIFエンハンスメントレイヤを実現する。
[0101]図4は、例示的なアクセスユニット(AU)を示す概念図である。各アクセスユニットは時間インスタンスを表し、図4に示されたように、時間インスタンスにある1つまたは複数のレイヤの各々の中に、ビデオデータ、たとえばピクチャまたは1つもしくは複数のスライスを含む。AUのビデオデータは、ネットワークアブストラクションレイヤ(NAL)ユニット内でカプセル化される場合がある。レイヤごとのアクセスユニット当たりにゼロまたはそれ以上のNALユニットが存在する場合がある。1つのアクセスユニット内の1つのレイヤに対応するNALユニットのセットは、「レイヤコンポーネント」と呼ばれる場合がある。
[0102]図4の例は、図3のレイヤコンポーネントに対応するレイヤコンポーネントを描いている。図4の例に示されたように、同じ時間インスタンス内(すなわち、共通のAU内)のピクチャまたはスライスは、ビットストリーム順序で連続しており、SVCのコンテキストにおいて1つのアクセスユニットを形成する。それらのSVCアクセスユニットは、次いで、表示順序とは異なる可能性があり、たとえば、時間予測関係によって決定される、復号順序に従う。
[0103]上記で説明されたように、いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、マルチビュービデオコーディング、たとえば、2つ以上のビューを含むビデオデータのコーディングのための技法を使用することができる。いくつかの例では、デバイス、たとえばビデオソース18は、共通シーンをキャプチャするために、たとえば、2つ以上の空間的に埋め合わされたカメラまたは他のビデオキャプチャデバイスを使用して、2つ以上のピクチャを生成することができる。わずかに異なる水平位置から同時またはほぼ同時にキャプチャされた同じシーンの2つのピクチャは、3次元効果を生成するために使用され得る。いくつかの例では、ビデオソース18(またはソースデバイス12の別の構成要素)は、所与の時間インスタンスにある第1のビューの第1のピクチャから、所与の時間インスタンスにある第2の(または他のさらなる)ビューの第2の(または他のさらなる)ピクチャを生成するために、深度情報または視差情報を使用することができる。この場合、アクセスユニット内のビューは、第1のビューに対応するテクスチャコンポーネントと、第2のビューを生成するためにテクスチャコンポーネントとともに使用され得る深度コンポーネントとを含む場合がある。深度情報または視差情報は、たとえば、ビデオキャプチャデバイスの構成に関する既知のカメラパラメータまたは他の情報、および第1のビューについてのビデオデータの取込みに基づいて、第1のビューをキャプチャするビデオキャプチャデバイスによって決定される場合がある。深度情報または視差情報は、追加または代替として、カメラパラメータおよび/または第1のビュー内のビデオデータから、ビデオソース18またはソースデバイス12の別の構成要素によって、計算される場合がある。
[0104]3Dビデオを提示するために、宛先デバイス14のディスプレイデバイス32は、同時またはほぼ同時にキャプチャされた共通シーンの異なるビューに関連付けられた2つのピクチャを、同時またはほぼ同時に表示することができる。いくつかの例では、宛先デバイス14のユーザは、左レンズと右レンズとを迅速および交互に閉じるアクティブ眼鏡を装着することができ、ディスプレイデバイス32は、アクティブ眼鏡と同期して左ビューと右ビューとの間を迅速に切り替えることができる。他の例では、ディスプレイデバイス32は、2つのビューを同時に表示することができ、ユーザは、正確なビューがそれを通ってユーザの眼に届くようにビューをフィルタ処理する、たとえば、偏光レンズを有するパッシブ眼鏡を装着することができる。他の例では、ディスプレイデバイス32は、ユーザが3D効果を知覚するために眼鏡を必要としない自動立体視ディスプレイを備える場合がある。
[0105]マルチビュービデオコーディングは、複数のビューがコーディングされる方式を指す。3Dビデオコーディングの場合、複数のビューは、たとえば、左眼ビューおよび右眼ビューに対応する場合がある。複数のビューの各ビューは複数のピクチャを含む。3Dシーンのビューアの知覚は、異なるビューのピクチャ内のオブジェクト間の水平視差に起因する。
[0106]図5は、例示的なマルチビュー符号化順序またはマルチビュー復号順序を示す概念図である。図5に示された復号順序構成は、時間優先コーディングと呼ばれる場合がある。概して、マルチビューまたは3Dのビデオシーケンスは、アクセスユニットごとに(すなわち、同じ時間インスタンスとともに)、それぞれ2つ以上のビューの各々について2つ以上のピクチャを含む場合がある。
[0107]図5では、S0〜S7は、各々マルチビュービデオの異なるビューを指す。T0〜T8は、各々1つの出力時間インスタンスを表す。アクセスユニットは、1つの出力時間インスタンスについてすべてのビューのコード化ピクチャを含む場合がある。たとえば、第1のアクセスユニットは、時間インスタンスT0についてビューS0〜S7(すなわち、ピクチャ0〜7)のすべてを含み、第2のアクセスユニットは、時間インスタンスT1についてビューS0〜S7(すなわち、ピクチャ8〜15)のすべてを含み、以下同様である。この例では、ピクチャ0〜7は、同じ時間インスタンス(すなわち、時間インスタンスT0)にあり、ピクチャ8〜15は、同じ時間インスタンス(すなわち、時間インスタンスT1)にある。同じ時間インスタンスを有するピクチャは一般に同時に表示され、3Dボリュームを包含する画像をビューアに知覚させるものは、同じ時間インスタンスのピクチャ内のオブジェクト間の水平視差、および場合によっては何らかの垂直視差である。
[0108]図5では、ビューの各々はピクチャのセットを含む。たとえば、ビューS0はピクチャ0、8、16、24、32、40、48、56、および64のセットを含み、ビューS1はピクチャ1、9、17、25、33、41、49、57、および65のセットを含み、以下同様である。いくつかの例では、各セットは2つのピクチャを含む場合があり、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントおよび深度ビューコンポーネントは、互いに対応するものと見なされ得る。たとえば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応すると見なされ得るし、その逆も同様である(すなわち、深度ビューコンポーネントはセット内のそのテクスチャビューコンポーネントに対応し、その逆も同様である)。本開示で使用する、テクスチャビューコンポーネント、および対応する深度ビューコンポーネントは、単一のアクセスユニットの同じビューの一部であると見なされ得る。
[0109]マルチビューコーディングによれば、1つのビュー内のビデオブロックは、同じビュー内のビデオブロックから、または異なる参照ビュー内のビデオブロックからインター予測される場合がある。別のビュー内のビデオデータに基づく1つのビュー内のビデオデータの予測は、ビュー間予測と呼ばれる場合がある。ビデオエンコーダ20およびビデオデコーダ30は、たとえば、参照ビュー内の参照ピクチャの参照ブロックの情報を使用することによって、現在ビュー内の現在ピクチャ内の現在ビデオブロックのビュー間予測を実行することができる。
[0110]図6は、マルチビュービデオコーディングのための例示的な時間予測およびビュー間予測のパターンを示す概念図である。図5の例と同様に、図6の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間ロケーションまたはアクセスユニット(「T0」〜「T11」)がビューごとに示されている。すなわち、図6の各行はビューに対応し、各列は時間ロケーションまたはアクセスユニットを示す。(ピクチャ、または様々なピクチャ内の例示的なビデオブロックであり得る)オブジェクトは、図6の各行と各列の交点に示される。MVC拡張を有するH.264/AVC規格は、ビデオの一部分を表すためにフレームという用語を使用する場合があり、HEVC規格は、ビデオの一部分を表すためにピクチャという用語を使用する場合がある。本開示は、ピクチャという用語とフレームという用語とを互換的に使用する。
[0111]図6では、ビューS0はベースビューと見なされ得るし、ビューS1〜S7は従属ビューと見なされ得る。ベースビューは、ビュー間予測されないピクチャを含む。ベースビュー内のピクチャは、同じビュー内の他のピクチャに対してインター予測され得る。たとえば、ビューS0の中のピクチャのいずれも、ビューS1〜S7のいずれの中のピクチャに対してもインター予測され得ないが、ビューS0の中のピクチャのいくつかは、ビューS0の中の他のピクチャに対してインター予測され得る。
[0112]加えて、アクセスユニットT0およびT8は、図6の例示的な予測構造のビデオシーケンス用のランダムアクセスユニットまたはランダムアクセスポイントである。図6の例示的な予測構造において「I」と標示されたブロックによって示されたように、各ランダムアクセスポイント(T0およびT8)において、ベースビューピクチャ(S0)のビデオブロックがピクチャ内予測される。ランダムアクセスポイント内の他の非ベースビューピクチャ、または非ランダムアクセスポイント内のベースビューピクチャおよび非ベースビューピクチャのビデオブロックは、図6の例示的な予測構造において「I」、「B」、「P」、または「b」と標示された様々なブロックによって示されたように、時間インター予測またはビュー間予測のいずれかを介して、ピクチャ間予測され得る。図6の例示的な予測構造における予測は矢印によって示され、矢印の終点のオブジェクトは、予測参照のために矢印の始点のオブジェクトを使用する。
[0113]従属ビューは、ビュー間予測されるピクチャを含む。たとえば、ビューS1〜S7の各々は、別のビュー内のピクチャに対してインター予測される少なくとも1つのピクチャを含む。従属ビュー内のピクチャは、ベースビュー内のピクチャに対してインター予測され得るか、または他の従属ビュー内のピクチャに対してインター予測され得る。図6の例では、大文字「B」および小文字「b」は、異なるコーディング方法ではなく、ピクチャ間の異なる階層関係を示すために使用される。概して、大文字の「B」ピクチャは、小文字の「b」フレームよりも予測階層が比較的高い。
[0114]ベースビューと1つまたは複数の従属ビューの両方を含むビデオストリームは、様々なタイプのビデオデコーダによって復号可能であり得る。たとえば、ある基本タイプのビデオデコーダは、ベースビューのみを復号するように構成される場合がある。加えて、別のタイプのビデオデコーダは、ビューS0〜S7の各々を復号するように構成される場合がある。ベースビューと従属ビューの両方を復号するように構成されたデコーダは、マルチビューコーディングをサポートするデコーダと呼ばれる場合がある。
[0115]図6のピクチャ(または他のオブジェクト)は、対応するピクチャがイントラコーティングされる(すなわち、Iピクチャである)か、一方向に(すなわち、Pピクチャとして)インターコーティングされるか、または複数の方向に(すなわち、Bピクチャとして)インターコーティングされるかを指定する文字を含む陰影付きブロックを使用して示されている。概して、予測は矢印によって示され、ここで、矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。たとえば、時間ロケーションT0にあるビューS2のPピクチャは、時間ロケーションT0にあるビューS0のIピクチャから予測される。
[0116]シングルビュービデオの符号化と同様に、マルチビュービデオコーディングのビデオシーケンスのピクチャは、異なる時間ロケーションにあるピクチャに対して予測符号化され得る。たとえば、時間ロケーションT1にあるビューS0のBピクチャは、時間ロケーションT0にあるビューS0のIピクチャからそのBピクチャに向けられた矢印を有し、その矢印は、bピクチャがIピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、ビューコンポーネント(たとえば、テクスチャビューコンポーネント)は、参照のために他のビュー内のビューコンポーネントを使用することができる。マルチビューコーディングでは、たとえば、別のビュー内のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。可能性のあるビュー間参照は、参照ピクチャリスト構築プロセスによって修正され得るし、これにより、インター予測またはビュー間予測の参照の柔軟な順序が可能になる。
[0117]図6は、ビュー間予測の様々な例を提供する。図6の例では、ビューS1のピクチャは、ビューS1の異なる時間ロケーションにあるピクチャから予測されるものとして示され、ならびに同じ時間ロケーションにあるビューS0およびS2のピクチャからビュー間予測されるものとして示されている。たとえば、時間ロケーションT1にあるビューS1のBピクチャは、時間ロケーションT0およびT2にあるビューS1のBピクチャの各々、ならびに時間ロケーションT1にあるビューS0およびビューS2のBピクチャから予測される。
[0118]図6はまた、様々なレベルの陰影を使用して予測階層における変形形態を示し、ここで、より大きい量の陰影の(すなわち、比較的暗い)フレームは、より少ない陰影を有する(すなわち、比較的明るい)フレームよりも予測階層が高い。たとえば、図6のすべてのIピクチャは完全な陰影を用いて示され、Pピクチャはいくぶん明るい陰影を有し、Bピクチャ(および小文字のbピクチャ)は、互いに対して様々なレベルの陰影を有するが、PピクチャおよびIピクチャの陰影よりも常に明るい。
[0119]概して、予測階層が比較的高いピクチャは、階層が比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する場合がある。階層が比較的高いそれらのピクチャは、階層が比較的低いピクチャの復号中に参照ピクチャとして使用され得る。ビュー順序インデックスは、アクセスユニット内のビューコンポーネントの復号順序を示すインデックスである。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う場合がある。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備える場合がある。
[0120]階層の等しいレベルにあるいくつかのピクチャの場合、復号順序は、互いに重要でない場合がある。たとえば、時間ロケーションT0にあるビューS0のIピクチャは、時間ロケーションT0にあるビューS2のPピクチャのための参照ピクチャとして使用され得るし、そのPピクチャは、今度は、時間ロケーションT0にあるビューS4のPピクチャのための参照ピクチャとして使用され得る。したがって、時間ロケーションT0にあるビューS0のIピクチャは、時間ロケーションT0にあるビューS2のPピクチャの前に復号されるべきであり、そのPピクチャは、今度は、時間ロケーションT0にあるビューS4のPピクチャの前に復号されるべきである。しかしながら、ビューS1およびS3は予測のために互いに依存しないので、ビューS1とビューS3との間で、復号順序は重要でない。代わりに、ビューS1およびS3は、予測階層がより高い他のビューのみから予測される。その上、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。
[0121]上述されたように、ビデオエンコーダ20およびビデオデコーダ30は、第2のビューの参照ピクチャ内の参照ブロックに対して第1のビューの現在ピクチャ内の現在ブロックをインター予測することができる。そのようなインター予測は、ビュー間予測と呼ばれる。現在ピクチャおよび参照ピクチャの時間インスタンスは、それぞれのビューにおいて同じであり得る。そのような例では、ビデオエンコーダ20またはビデオデコーダ30は、同じアクセスユニット内のピクチャにわたってビュー間予測を実行し、ここで、同じアクセスユニット内のピクチャは同じ時間インスタンスにある。
[0122]現在ブロックに対してビュー間予測を実行するために、ビデオエンコーダ20またはビデオデコーダ30は、ビュー間予測に使用され得るピクチャを含む、インター予測に使用され得る参照ピクチャを識別する参照ピクチャリストを構築する。インター予測は、参照ピクチャ内の参照ブロックに対して現在ピクチャ内の現在ブロックを予測することを指す。ビュー間予測は、ビュー間予測において、参照ピクチャが現在ピクチャのビューと異なるビュー内にある、インター予測のサブセットである。したがって、ビュー間予測の場合、ビデオエンコーダ20およびビデオデコーダ30は、構築された参照ピクチャリストの一方または両方に他のビュー内の参照ピクチャを追加する。他のビュー内の参照ピクチャは、構築された参照ピクチャリスト内の任意のロケーションにおいて識別され得る。
[0123]図7は、タイルに区分化された例示的なピクチャ40を示す概念図である。図7の例では、ピクチャ40は、たとえばビデオコーダにより、複数のLCU42に区分化される。図7では、説明しやすいように、LCUのうちの1つのみが標示されている。
[0124]図7の例示的なピクチャ40はまた、たとえばビデオコーダにより、複数のタイル44A〜44I(総称して、「タイル44」)に区分化される。ビデオコーダは、垂直タイル境界46Aおよび46B(総称して、「垂直タイル境界46」)、および水平タイル境界48Aおよび48B(総称して、「水平タイル境界48」)に基づいて、ピクチャ40をタイル44に区分化することができる。交差する列境界と行境界は矩形タイルを画成する。
[0125]図7に示されたピクチャ40のタイル44の数およびサイズは一例にすぎない。ビデオコーダは、ピクチャを任意の数のタイル44に区分化するために、任意の数、たとえば0、1、2、3などの垂直タイル境界46と、任意の数、たとえば0、1、2、3などの水平タイル境界48とを使用することができる。境界46および48をもたないピクチャは、まったくタイルをもたないか、または単一のタイルをもつと見なされ得る。加えて、境界46および48の位置は一例にすぎず、ビデオコーダは、タイル44のうちのいずれかのサイズ(垂直寸法および/または水平寸法)を変更するために、境界46と48とを異なるように配置することができる。
[0126]2つの垂直ピクチャ境界(ピクチャまたはフレームのエッジまたは端部)は2つの垂直タイル境界と見なされ得るし、2つの水平ピクチャ境界(ピクチャまたはフレームのエッジまたは端部)は2つの水平タイル境界と見なされ得る。図7の例では、(垂直ピクチャ境界を含む)4つの垂直タイル境界、および(水平ピクチャ境界を含む)4つの水平タイル境界が存在する場合、ピクチャは(4−1)×(4−1)=9タイルに区分化される。垂直タイル境界と水平タイル境界との間の間隔は、均一であり得るが、均一である必要はない。
[0127]HEVCは、ビデオコーダ、たとえばビデオエンコーダ20がピクチャ40などのピクチャをタイル44に区分化することを可能にすることを含む、コーデックをより並列に順応させるいくつかの提案を含んでいる。タイル44は矩形である。タイル44は、CTBまたはツリーブロックと呼ばれる場合もあり、1列1行に共起し、タイルのLCUラスタ走査において連続的に順序付けられた、整数個のLCU42を含む。ピクチャ40内のタイル44は、図7に示されたように、ピクチャのタイルラスタ走査において連続的に順序付けられる。ビデオコーダ、たとえばビデオエンコーダ20および/またはビデオデコーダ30は、タイル44を、並列に、またはラスタ走査順序で、すなわちタイル44A〜44Iの順序で、処理する、たとえば、予測およびコーディングすることができる。タイル44ごとに、ビデオコーダは、タイル44内の番号によって示されたようなタイルのLCUラスタ走査順序で、タイル44内のLCU42を処理する。たとえば、ビデオコーダは、タイル44A内のラスタ走査順序である番号順0、1、2などで、タイル44A内のLCU42を処理することができる。
[0128]ビデオコーダ、たとえばビデオエンコーダ20は、シーケンス全体のためにタイル44の数とそれらの境界46、48の位置とを定義することができるか、または、ピクチャごとにタイル44の数とそれらの境界46、48の位置とを変更することができる。ビデオエンコーダ20は、たとえば、PPSなどのパラメータセット内に、ピクチャのタイルへの区分化、たとえば、タイル44の数とそれらの境界46、48の位置とを定義するシンタックス情報を含めることができる。ビデオエンコーダ20はまた、ビットストリーム内、たとえば、アクティブパラメータセット、たとえばアクティブPPSを識別するスライスヘッダ内に、特定のピクチャ40のタイル44への区分化を定義するシンタックス情報を含めることができる。
[0129]境界46、48は、スライス境界と同様に、構文解析および予測の依存性を打破することができ、その結果、タイル44は、ビデオコーダ、たとえばビデオエンコーダ20および/またはビデオデコーダ30内の並列処理のユニット、コア、またはスレッドによって、別々に処理され得る。これにより、ビデオコーダによるタイルの並列処理が容易になる。そのような例では、処理ユニットまたはスレッドの間の通信は、タイルのエントロピーコーディングおよび予測、たとえば動き補償に必要ではない場合がある。しかしながら、他の例では、デブロッキングフィルタおよびサンプル適応オフセット(SAO)フィルタなどのループフィルタは、依然タイル境界を横切ることができる。そのような例では、ビデオコーダは、現在タイル内のビデオデータをループフィルタリングするとき、別の隣接タイルからのビデオデータを必要とする場合がある。いくつかの例では、シンタックス要素、たとえばloop_filter_across_tiles_enabled_flagは、ループフィルタリングが境界46、48を横切ることが許可されるかどうかを示すことができ、たとえば、0に設定されたloop_filter_across_tiles_enabled_flagは、ピクチャ境界またはスライス境界でもあるタイル境界を除き、ループフィルタリングが境界46、48を横切ることが許可されることを示すことができる。
[0130]ビデオコーダはまた、ピクチャ40などのピクチャをタイルに区分化することができる。スライスは、ラスタ走査順序での整数個のLCUからなる。タイルとは異なり、スライス間の境界は必ずしもピクチャを横切る垂直線および/または水平線であるとは限らず、したがってスライスは必ずしも矩形であるとは限らない。スライスは単一のネットワークアブストラクションレイヤ(NAL)ユニットに対応し、ピクチャ内予測はスライス境界を横切ることが許可されない。スライス(またはNAL)は2つ以上のタイルを含む場合があるか、またはタイルは2つ以上のスライスを含む場合がある。スライスが2つ以上のタイル内にLCUを含んでいるとき、LCUを含んでいるタイルは連続になる。タイルTおよびT+1は、T+1内の最初のLCUが送信順序でT内の最後のLCUの直後にくる場合、連続していると言われる。スライスと比較すると、タイルは、スライスよりも潜在的に高い相関関係を有するサンプルを含むことができるピクチャパーティションの形状、たとえば矩形を可能にするので、より良いコーディング効率を有することができる。ピクチャをタイルに区分化すると、スライスの数および/またはスライスヘッダに含まれるシンタックス情報も低減され得るし、それにより、スライスヘッダのオーバーヘッドが低減される。
[0131]ピクチャ40をタイル44に区分化すると、異なる処理ユニット、コア、またはスレッドによる、異なるタイル内のビデオデータの並列処理が可能になり得る。ピクチャ40をタイル44に区分化すると、たとえば、スライスの使用と比較して、LCUの復号順序を変更することを可能にすることによって、コーディング効率も改善され得る。
[0132]タイルがシングルレイヤコーディングにおいて使用されるとき、シンタックス要素min_spatial_segmentation_idcは、1つの処理スレッドによって処理されるべきルーマサンプルの最大数を計算するためにビデオデコーダ30によって使用され得るし、デコーダは並列復号情報を最大限に利用することが想定される。しかしながら、たとえば、エントロピーコーディング同期またはタイル境界もしくはスライス境界を横切るデブロッキングフィルタリングに起因して、異なるスレッド間に同じピクチャの相互依存性が存在する場合がある。HEVCは、min_spatial_segmentation_idcの値を可能な最高の値にビデオエンコーダ20が設定することを奨励する注記を含む。
[0133]図8は、ピクチャ50の波面並列処理(WPP)の一例を示す概念図である。HEVCは、WPPを含む、コーデックをより並列処理に順応させるいくつかの提案を含んでいる。図8に示されたように、ピクチャ50はLCU52に区分化される。説明しやすいように、図8では1つのみのLCU52が標示されている。
[0134]WPPが使用可能であるとき、ピクチャの各CTU行は、分離されたパーティションである。図8の例では、ピクチャ50は、WPP用の分離されたパーティションであり得る、LCU行54A〜54G(総称して、「LCU行54」)を含む。WPPが使用可能であるとき、LCU行54の数までの数の処理ユニット、コア、またはスレッドは、LCU行(またはライン)を処理するために並列に動作することができる。しかしながら、スライスおよびタイルと比較すると、LCU行54の境界においてコーディング依存性は打破されず、たとえば、別のLCU行内のビデオデータに基づく1つのLCU行54内のビデオデータの予測および/またはフィルタリングが許可される。また、WPPは、通常のラスタ走査順序を変更しない。加えて、コーディング損失をさらに低減するために、ビデオコーダは、エントロピーコーディング情報、たとえば、LCU行54の間のCABACの確率を、図8のピクチャ50のLCU52の最初の2列の中のラインによって示されたように、前の行54の2番目のLCU52から現在のLCU行54の最初のLCU52に伝搬することができる。
[0135]依存性は打破されないので、WPPビットストリームのレートひずみ損失は、非並列ビットストリームと比較して小さい。しかしながら、現在のLCU行54内のビデオデータをコーディングするための他のLCU行54からのビデオデータに対する依存性により、すべてのLCU行54がピクチャの最初において復号を開始することは許可されない。その結果、LCU行54は、ピクチャの最後において同時に復号を終了することもできない。これにより、並行して多数のLCU行54を処理するために多数のプロセッサが使用されるときにより明白になる、並列化の非効率性がもたらされる。
[0136]たとえば、並列化のためのタイルおよびWPPの使用を含む、複数のレイヤを含むビデオデータをコーディングするための既存の技法は、本明細書に記載されたように、問題と関連付けられる場合がある。問題のうちのいくつかは、図9A〜図12に関して以下に記載される。図9A〜図12に関する技法を含む、本明細書に記載される技法は、それらの問題に対処することができる。
[0137]以下でより詳細に記載されるように、本技法は、最大コーディングユニット(LCU)もしくはタイルなどへのピクチャの区分化上のビットストリームの様々な制限もしくは制約、および/またはビデオデータのレイヤを横切るWPPなどのピクチャ処理技法を含む場合がある。本明細書に記載されるビットストリームの制限は、いくつかの例では、複数のレイヤを含むビデオデータの、より効率的な、均等に分散された、同期化された並列処理を容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、ビデオコーデック内の並列処理の簡略化されたパイプライン化の設計と実装とを容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、たとえば、レイヤ間予測またはフィルタリングのための、異なるレイヤを横切るコロケートされたコーディングユニットのより簡単なマッピングを容易にすることができる。本明細書に記載されるビットストリームの制限はまた、いくつかの例では、異なるレイヤを横切るタイルのより柔軟な使用を容易にすることができる。制限または制約は、複数のレイヤを有するビデオデータをコーディングすることを含む、HEVC規格のSHVC拡張、MV−HEVC拡張、もしくは3D−HEVC拡張などのHEVC拡張、または任意の他のビデオコーディング規格もしくは拡張に準拠するビットストリームに課される場合がある。
[0138]複数のレイヤを横切るタイルおよびWPPの各々の可能な構成により、パイプライン化および並列処理用のビデオコーダおよびコーデックの設計および実装の複雑さが増大する可能性がある。ビデオコーダにおいて、レイヤを横切るパイプライン設計およびリソースの割振りは、タイルおよびWPPの様々な構成について変わる必要がある。特に、メモリ、サイクル、および遅延の要件は、レイヤを横切るタイルおよびWPPの様々な構成について異なる。
[0139]複数のレイヤを横切るタイルおよびWPPのいくつかの可能な構成により、コーディングの忠実度または効率に関して少しの恩恵しかもたらさないか、または顕著な恩恵をもたらさない場合がある。レイヤを横切るタイルおよびWPPのそのような構成をサポートすることは、実現されるコーディングの恩恵に比べて、コーデックのパイプライン化設計および実装に不必要に負担を負わせる可能性がある。その結果、レイヤを横切るタイルおよびWPPの通常ではない構成を規範的に制限することが有利であり得るし、それにより、設計および実装の困難さが低減される。レイヤを横切るタイルおよびWPPの少数の例示的な構成が図9A〜図10Bに示される。
[0140]図9Aおよび図9Bは、ピクチャ当たり様々な数のタイルを有するビデオデータの様々なレイヤを示す概念図である。たとえば、図9Aは、4つのタイル62A〜62D(総称して、「タイル62」)に区分化されたベースレイヤ(BL)内の例示的なピクチャ60を示す。図9Aはまた、2つのタイル66Aおよび66B(総称して、「タイル66」)に区分化されたエンハンスメントレイヤ(EL)内の例示的なピクチャ64を示す。図9Aに示されたレイヤを横切るタイルの構成では、ベースレイヤ(BL)内のピクチャ60は、エンハンスメントレイヤ(EL)内のタイル66の数よりも多いタイル62を有する。
[0141]図9Bは、2つのタイル72Aおよび72B(総称して、「タイル72」)に区分化されたベースレイヤ(BL)内の例示的なピクチャ70を示す。図9Bはまた、4つのタイル76A〜76D(総称して、「タイル76」)に区分化されたエンハンスメントレイヤ(EL)内の例示的なピクチャ74を示す。図9Bに示されたレイヤを横切るタイルの構成では、ベースレイヤ(BL)内のピクチャ70は、エンハンスメントレイヤ(EL)内のピクチャ74内のタイル76の数よりも多いタイル72を有する。図9Aと図9Bの両方の例では、ELの空間解像度はBLの空間解像度よりも高い場合がある。
[0142]複数の並列処理のユニット、コア、またはスレッドを含むビデオコーダの設計などのマルチコアシステム設計の場合、図9Aに示された、すなわち、BL内のピクチャ当たりのタイル62がEL内のピクチャ当たりのタイル64よりも多いタイル構成は、図9Bに示された、すなわち、EL内のピクチャ当たりのタイル74がBL内のピクチャ当たりのタイル72よりも多いタイル構成よりも、いかなる恩恵ももたらさない場合がある。加えて、EL内のタイル64よりも多いBL内のタイル62を有することは、レイヤを横切る不均一に分散された処理負荷をもたらす場合があり、同期されたレイヤ間並列処理に不都合であり得る。したがって、技法は、参照レイヤ、たとえばベースレイヤが参照レイヤに依存するレイヤ、たとえばエンハンスメントレイヤよりも多くのピクチャ当たりのタイルを有する、レイヤを横切るタイル構成を禁止するために、ビットストリーム、たとえばビットストリーム内のシンタックス情報を制約するように、本明細書に記載される。本明細書に記載される技法は、複数のレイヤを横切るタイルにピクチャを区分化するビデオコーダの設計および実装の複雑さを低減することができる。
[0143]いくつかの例では、適合ビットストリームは、以下の制約に従うべきある。
a)0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_columns_minus1の値は、レイヤの直接参照レイヤのうちのいずれのnum_tile_columns_minus1の値以上であるべきである。
b)0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_rows_minus1の値は、レイヤの直接参照レイヤのうちのいずれのnum_tile_rows_minus1の値以上であるべきである。
[0144]したがって、いくつかの例では、ビデオエンコーダ20が特定のレイヤ内のタイルの数に関するシンタックス情報を符号化するとき、ビデオエンコーダ20は、参照レイヤ、たとえばベースレイヤが参照レイヤに依存するレイヤ、たとえばエンハンスメントレイヤよりも多くのピクチャ当たりのタイルを有する、レイヤを横切るタイル構成を禁止するように、シンタックス情報を制約する。いくつかの例では、ビデオエンコーダ20は、0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_columns_minus1の値を、そのレイヤの任意の直接参照レイヤのnum_tile_columns_minus1の値以上であるように制約し、0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_rows_minus1の値を、そのレイヤの任意の直接参照レイヤのnum_tile_rows_minus1の値以上であるように制約する。いくつかの例では、ビデオデコーダ30が符号化ビデオビットストリームを復号するとき、シンタックス情報は、参照レイヤ、たとえばベースレイヤが参照レイヤに依存するレイヤ、たとえばエンハンスメントレイヤよりも多くのピクチャ当たりのタイルを有するような、レイヤを横切るタイル構成を禁止するように制約される。いくつかの例では、ビデオデコーダ30が符号化ビデオビットストリームを復号するとき、0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_columns_minus1の値は、そのレイヤの任意の直接参照レイヤのnum_tile_columns_minus1の値以上であるように制約され、0よりも大きいnuh_layer_idの特定の値を有するレイヤのnum_tile_rows_minus1の値は、そのレイヤの任意の直接参照レイヤのnum_tile_rows_minus1の値以上であるように制約される。
[0145]図10Aおよび図10Bは、ビデオデータの様々なレイヤを横切るタイルおよびWPPの共存を示す概念図である。詳細には、図10Aは、ベースレイヤ(BL)内のピクチャ80がWPPを用いて処理され、タイルに区分化されず、エンハンスメントレイヤ(EL)内のピクチャ82がタイル84A〜84Dに区分化されるが、WPPを用いて処理されない構成を示す。図10Bは、ベースレイヤ(BL)内のピクチャ86がタイル88A〜88Dに区分化されるが、WPPを用いて処理されず、エンハンスメントレイヤ(EL)内のピクチャ90がWPPを用いて処理されるが、タイルに区分化されない構成を示す。
[0146]たとえば、図10Aおよび図10Bに示されたような異なるレイヤにおけるタイルおよびWPPのそれぞれの使用は、非効率的な並列コーディングにつながる可能性がある。タイルおよびWPPの各々によってもたらされ得る任意のコーディング損失、遅延、または他のコーディング非効率、ならびに、互いに依存する異なるレイヤ内のタイルおよびWPPの使用に起因する可能性がある任意の遅延および非効率は、そのような構成を有する複数のレイヤのコーディング中に累積的に発生する場合がある。しかしながら、各レイヤは、タイルまたはWPPのコーディング効率またはコーディング忠実度の恩恵を実現することのみができる。したがって、いくつかの例では、本明細書に記載される技法は、特に設計および実装の複雑さを低減するために、そのような構成を禁止する。たとえば、技法は、参照レイヤがタイルまたはWPPのうちの一方を含み、従属レイヤがタイルまたはWPPのうちの他方を含む構成を禁止するように、ビットストリームを制約する、たとえばビットストリーム内のシンタックス情報を制約するように、本明細書に記載される。
[0147]いくつかの例では、適合ビットストリームは、以下の制約のうちの任意の1つまたは複数に従うべきある。
a)コード化ビデオシーケンス(CVS)内でアクティブ化され得るすべてのPPSは、同じ値のentropy_coding_sync_enabled_flagを有するべきである。[注:これは、1つのレイヤ内にあるが別のレイヤ内にないWPPの使用を禁止する。]
b)CVS内で、特定のレイヤについてのアクティブなピクチャパラメータセット(PPS)についてtiles_enabled_flagが0に等しいとき、tiles_enabled_flagは、VPSによって指定されたように、任意の特定のレイヤが直接的または間接的に依存するアクティブPPSについても0に等しくあるべきである。[注:これは、低いレイヤ内にあるが低いレイヤに依存する高いレイヤ内にないタイルの使用を禁止するが、空間エンハンスメントレイヤ内にあるがベースレイヤ内にないタイルの使用を可能にするはずである。]
c)CVS内で、特定のレイヤについてのアクティブPPSについてtiles_enabled_flagが1に等しいとき、entropy_coding_sync_enabled_flagは、実現され得るすべてのPPSについて0に等しくあるべきである。[注:これは、CVS内の1つのレイヤがタイルを使用するとき、CVSの任意のレイヤ内のWPPの使用を禁止する。]
d)CVS内で、特定のレイヤについてのアクティブPPSについてentropy_coding_sync_enabled_flagが1に等しいとき、tiles_enabled_flagは、実現され得るすべてのPPSについて0に等しくあるべきである。[注:これは、CVS内の1つのレイヤがWPPを使用するとき、CVSの任意のレイヤ内のタイルの使用を禁止する。]
[0148]いくつかの例では、適合ビットストリームは、以下の制約のうちの任意の1つまたは複数に従うべきある。
a)現在レイヤのアクティブPPSが、1に等しいであるtiles_enabled_flagと、entropy_coding_sync_enabled_flag=0とを有するとき、そのアクティブ参照レイヤのすべてに対応するアクティブPPSは、CVS内で0に等しいentropy_coding_sync_enabled_flagを有するべきである。
b)現在レイヤのアクティブPPSが、1に等しいであるentropy_coding_sync_enabled_flagと0に等しいであるtiles_enabled_flagとを有するとき、そのアクティブ参照レイヤのすべてに対応するアクティブPPSは、CVS内で0に等しいtiles_enabled_flagを有するべきである。
c)現在レイヤのそのアクティブ参照レイヤのうちの少なくとも1つに対応するアクティブPPSが、1に等しいであるtiles_enabled_flagを有するとき、現在レイヤのアクティブPPSは、CVS内で1に等しいtiles_enabled_flagを有するべきである。
d)現在レイヤのそのアクティブ参照レイヤのうちの少なくとも1つに対応するアクティブPPSが、1に等しいであるentropy_coding_sync_enabled_flagを有するとき、現在レイヤのアクティブPPSは、CVS内で1に等しいentropy_coding_sync_enabled_flagを有するべきである。
[0149]したがって、いくつかの例では、ビデオエンコーダ20がビデオデータの複数のレイヤ内のタイルまたはWPPの使用に関するシンタックス情報を符号化するとき、ビデオエンコーダ20は、参照レイヤがタイルまたはWPPのうちの一方を含み、従属レイヤがタイルまたはWPPのうちの他方を含む構成を禁止するために、上記で識別されたシンタックス情報上の例示的な制約などの、シンタックス情報を制約する。いくつかの例では、ビデオデコーダ30が符号化ビデオビットストリームを復号するとき、上記で識別された例示的なシンタックス情報などのシンタックス情報は、参照レイヤがタイルまたはWPPのうちの一方を含み、従属レイヤがタイルまたはWPPのうちの他方を含む構成を禁止するために、上記で説明されたように制約される。
[0150]いくつかの例では、ビデオコーダ、たとえば、ビデオエンコーダ20および/またはビデオデコーダ30はまた、タイルを横切るループフィルタリングのクロスレイヤアライメント用の技法を実施することができる。ビデオコーダがタイルを使用するとき、ビデオコーダは、上記で説明されたように、ループフィルタがタイル境界を横切ることを許可または禁止することができる。タイル境界を横切るループフィルタリングは、タイルによって与えられた並列処理に影響を及ぼし、遅延をもたらす場合があるが、ビデオ品質が改善される結果になる場合がある。しかしながら、ビデオコーダが並列処理のためにレイヤを横切るタイルを使用するとき、ビデオコーダがいくつかのレイヤにタイル境界を横切るループフィルタリングを許可し、他には許可しなかった場合、すべてのレイヤがループフィルタリングからもたらされる改善されたビデオ品質を有することがなければ、すべてのレイヤのコーディングは遅延される可能性がある。
[0151]本開示のいくつかの例示的な技法によれば、ループフィルタリングが様々なレイヤに使用可能であるかどうかを混在させることは、レイヤのうちのいくつかに対する許可の目的をだめにする可能性があるので、ビットストリームまたはサブビットストリームの複数のレイヤ、たとえばすべてのレイヤにタイル境界を横切るループフィルタリングを許可または禁止する。たとえば、技法は、タイル境界を横切るループフィルタリングが、ビデオデータの複数のレイヤ、たとえばすべてのレイヤの各々に使用可能にされるか、または使用可能にされないように、ビットストリームを制約する、たとえば、ビットストリーム内のシンタックス情報を制約するように、本明細書に記載される。
[0152]いくつかの例では、適合ビットストリームは、以下の制約に従うべきある。
コード化ビデオシーケンス(CVS)内でアクティブ化され得るすべてのPPSは、同じ値のloop_filter_across_tiles_enabled_flagを有するべきである。
[0153]いくつかの例では、適合ビットストリームは、以下の制約のうちの1つまたは両方に従うべきある。
a)現在レイヤのそのアクティブ参照レイヤのうちの少なくとも1つに対応するアクティブPPSが、1に等しいであるloop_filter_across_tiles_enabled_flagを有するとき、現在レイヤのアクティブPPSは、CVS内で1に等しいloop_filter_across_tiles_enabled_flagを有するべきである。
b)現在レイヤのアクティブPPSが、0に等しいであるloop_filter_across_tiles_enabled_flagを有するとき、そのアクティブ参照レイヤに対応するアクティブPPSは、CVS内で0に等しいloop_filter_across_tiles_enabled_flagを有するべきである。
[0154]したがって、いくつかの例では、ビデオエンコーダ20がタイル境界を横切るループフィルタリングがビデオデータの複数のレイヤ内で許可されるかどうかに関するシンタックス情報を符号化する、たとえば、loop_filter_across_tiles_enabled_flagの値を符号化するとき、ビデオエンコーダ20は、ビデオデータの複数のレイヤ、たとえばすべてのレイヤにタイル境界を横切るループフィルタリングを許可または禁止するように、シンタックス情報を制約する。たとえば、ビデオエンコーダ20は、loop_filter_across_tiles_enabled_flagの値を、現在レイヤについてのアクティブPPSおよびそのアクティブ参照レイヤなどのすべてのアクティブPPS内で同じであるように制約することができる。いくつかの例では、ビデオデコーダ30が符号化ビデオビットストリームを復号するとき、上記で識別されたシンタックス情報などのシンタックス情報は、ビデオデータの複数のレイヤ、たとえばすべてのレイヤにタイル境界を横切るループフィルタリングを許可または禁止するために、上記で説明されたように制約される。たとえば、loop_filter_across_tiles_enabled_flagの値は、現在レイヤについてのアクティブPPSおよびそのアクティブ参照レイヤなどのすべてのアクティブPPS内で同じであるように制約され得る。
[0155]図11は、様々なLCU(またはCTB)のサイズについての処理時間およびオーバーヘッドの一例を示す概念図である。HEVCは、3つのLCUサイズ:16×16、32×32、および64×64をサポートする。これらのサイズは、コーディング効率(より大きいLCUまたはCTB)とエンコーダ/デコーダの待ち時間(より小さいLCUまたはCTB)との間のトレードオフを表す。
[0156]しかしながら、小さいLCUまたはCTBのサイズは、パイプライン化されたデコーダに対するコストが付いている。詳細には、あらゆるパイプラインステージは、初期化およびセットアップについて、LCUまたはCTB当たりある量のオーバーヘッドを有する。Wanら、「Adding a Level Restriction on Coding Tree Block Size」、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のJCT−VC、第10回会合:ストックホルム、スウェーデン、2012年6月11〜20日(以下、「JSTVC−J0334」)において、4つの16×16LCU対1つの32×32LCUとしてビデオデータの32×32ブロックをコーディングするとき、4倍のオーバーヘッド時間が存在する可能性があり、16×16LCUの使用についての累積オーバーヘッドが、32×32LCUの使用と比較して、全体的な最悪の復号時間における10%までの増加を表すことができることが主張された。JSTVC−J0334は、http://phenix.it−sudparis.eu/jct/doc_end_user/current_document.php?id=6197からのダウンロードが可能である。
[0157]図11の例では、ビデオデータのブロックを処理するためのオーバーヘッドに関連する時間は、陰影付きブロックによって示され、ブロックのビデオデータを処理することに関連する時間は、陰影付きでないブロックによって示される。図11の例では、32×32ビデオブロックを処理することは、1つのオーバーヘッド処理期間100と、32×32ブロックのビデオデータが処理される間の期間102とを含む。図11の例では、ビデオデータの4つの16×16ブロックとして32×32ブロックを処理することは、4つの処理期間104A〜104D(総称して、「処理時間104」)と、16×16ビデオブロックのビデオデータを処理するための4つの期間106A〜106D(総称して、「ビデオデータ処理時間106」)とをもたらす。オーバーヘッド期間100は、オーバーヘッド期間104と同様または同じ長さの時間を有する。その結果、16×16ブロックについてのビデオデータ処理期間106は、32×32ブロックについてのビデオデータ処理期間102よりも短い可能性があり、4つの16×16ブロックとして32×32ブロックを処理することは、4つのオーバーヘッド期間104に起因して、全体的により大きい長さの時間を取る。
[0158]図12は、様々なLCUまたはCTBのサイズを有するビデオデータの様々なレイヤ内の例示的なピクチャを示す概念図である。詳細には、図12は、ベースレイヤ(BL)内のピクチャ110が、第1のより小さいLCUサイズをもつ複数のLCU112を有し、エンハンスメントレイヤ(EL)内のピクチャ114が、第2のより大きいLCUサイズをもつ複数のLCU116を有することを示す。説明しやすいように、図12では、LCU112およびLCU116の各々1つのみが標示されている。LCU112およびLCU116は、LCU用のラスタ走査順序に従って、数値(すなわち、0、1、2など)で標示されている。加えて、図12のライン118およびライン120は、ピクチャ112およびピクチャ114において対応する位置、したがって、ピクチャ114内の(0と標示された)1つのLCU116に対応するピクチャ110内の(0、1、8、および9と標示された)4つのLCU112を示す。
[0159]図12に示されたように、異なるレイヤを横切る異なるLCUサイズをもつ複数のレイヤを有するビデオデータのLCU同期符号化またはLCU同期復号を使用するビデオコーダは、いくつかの問題に遭遇する場合がある。問題は、異なるレイヤの解像度が、たとえば複数のレイヤを使用するSNRスケーラビリティについての場合と同じであるときに、特に明らかであり得る。たとえば、より小さいLCUサイズを有するレイヤ、たとえば図12の例におけるBLは、図11に示されたように、LCUごとにより長いコーディング時間を有する場合がある。その結果、より小さいコーディングサイズを有するレイヤは、より長いLCUサイズを有するすべてのレイヤ、たとえば図12の例におけるELの中のLCUの符号化または復号に対するボトルネックであり得る。より小さいLCUサイズを有するレイヤは、したがって、最悪の場合のコーディング時間を決定する場合がある。
[0160]たとえば、図12を参照して、EL内の1つのLCU116(たとえば、EL内で0と標示されたLCU)は、BL内の1つのLCU112(たとえば、BL内で0と標示されたLCU)よりも早く完了することができるが、たとえば、SNRスケーラビリティのための複数のレイヤを有するビデオデータの同期符号化または同期復号のために、EL内のLCU用の参照LCUであるBL内の1つまたは複数のLCU(たとえば、BL内で1,8、および9と標示されたLCU)を待機する必要が依然あり得る。加えて、様々なレイヤ内の様々なLCUサイズは、たとえば、参照レイヤ内の参照ブロックを識別するために、レイヤ間でコロケートされたブロック、たとえばLCUの位置をビデオコーダがマッピングすることをより困難にする場合がある。
[0161]したがって、いくつかの例では、ビデオコーダは、1つのレイヤのLCUサイズが別のレイヤのLCUサイズに基づいて制約されるように、たとえば、異なるレイヤのLCUサイズが等しいように、ビットストリームを制約する、たとえば、ビットストリーム内のシンタックス情報を制約する。いくつかの例では、ビデオコーダは、1つのレイヤのLCUサイズが別のレイヤのLCUサイズに基づいて制約されるように、たとえば、第1のレイヤおよび第2のレイヤ内のピクチャの空間解像度が等しいときに異なるレイヤのLCUサイズが等しいように、ビットストリームを制約する。いくつかの例では、ビデオコーダは、たとえば、SNRスケーラビリティのために、現在レイヤのLCUサイズがそのアクティブ参照レイヤのLCUサイズに基づいて、たとえば等しいように、ビットストリームを制約する。いくつかの例では、適合ビットストリームは、以下の制約に従うべきある。
言い換えれば、現在レイヤのCTBサイズは、SNRスケーラビリティのために、そのアクティブ参照レイヤのLCUサイズに等しくあるべきである。
[0162]SNRスケーラビリティのために、現在レイヤのLCUサイズがそのアクティブ参照レイヤのLCUサイズに基づいて、たとえば等しいように、ビデオコーダがビットストリームを制約する一例では、仕様テキストは以下のようであり得る。
変数PicWidthInSamplesLおよびPicHeightInSamplesLを、それぞれルーマサンプルのユニット内の現在レイヤピクチャの幅および高さに等しいように設定し、変数RefLayerPicWidthInSamplesLおよびRefLayerPicHeightInSamplesLを、それぞれルーマサンプルのユニット内の復号されたアクティブ参照レイヤピクチャの幅および高さに等しいように設定する。変数ScaledRefLayerLeftOffset、ScaledRefLayerTopOffset、ScaledRefLayerRightOffset、およびScaledRefLayerBottomOffsetは、以下のように導出される。
変数RefLayerCtbLog2SizeYを、復号されたアクティブ参照レイヤピクチャのCtbLog2SizeYに等しいように設定する。
現在レイヤのPicWidthInSamplesLがRefLayerPicWidthInSamplesLに等しく、現在レイヤのPicHeightInSamplesLがRefLayerPicHeightInSamplesLに等しく、ScaledRefLayerLeftOffset、ScaledRefLayerTopOffset、ScaledRefLayerRightOffset、およびScaledRefLayerBottomOffsetの値がすべて0に等しいとき、現在レイヤのCtbLog2SizeYは、RefLayerCtbLog2SizeYに等しくあるべきである。
[0163]したがって、いくつかの例では、ビデオエンコーダ20が最大LCUサイズに関するシンタックス情報を符号化するとき、たとえば、CtbLog2SizeYを決定するためのSPS内の1つまたは複数の値を符号化するとき、ビデオエンコーダ20は、たとえば、レイヤ内のピクチャの空間解像度が等しいとき、および/またはSNRスケーラビリティのために、現在レイヤのLCUサイズがそのアクティブ参照レイヤのLCUサイズに等しいように、シンタックス情報を制約する。いくつかの例では、ビデオデコーダ30が符号化ビデオビットストリームを復号するとき、最大LCUサイズに関するシンタックス情報、たとえば、CtbLog2SizeYを決定するためのSPS内のシンタックス情報は、たとえば、レイヤ内のピクチャの空間解像度が等しいとき、および/またはSNRスケーラビリティのために、現在レイヤのLCUサイズがそのアクティブ参照レイヤのLCUサイズに等しいように制約される。
[0164]HEVC規格は、ピクチャの空間解像度に基づいてピクチャ当たりのタイルの最大数を規定する。詳細には、HEVC仕様内の表A−1は、様々なビットストリームレベルについてのピクチャ当たりのタイルの最大数を規定し、各ビットストリームレベルは、たとえば、ルーマサンプル内の空間解像度を定義する。各ビットストリームレベルはまた、タイルの最大数をまとめて規定するタイル行の最大数とタイル列の最大数とを規定する。HEVC仕様の表A−1が下記に複写されている。
[0165]いくつかの例では、本開示の技法は、ビデオデータの複数のレイヤの各々について、いくつかのタイルへのレイヤ内のピクチャの区分化を定義するシンタックス情報を制約することを含む。いくつかの例では、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように、シンタックス情報は制約される。レイヤごとのピクチャ当たりのタイルの最大数は、ピクチャについての空間解像度ならびに/またはピクチャについてのティア情報およびレベル情報、たとえば、レイヤについての空間解像度を可能にするHEVC仕様の表A−1内の最も低いビットストリームレベル用のタイルの最大数に基づいて決定される場合がある。レイヤごとのそれぞれのシンタックス情報は、タイル列の数を定義する第1のシンタックス要素およびタイル行の数を定義する第2のシンタックス要素のそれぞれの値を含む場合があり、複数のレイヤのレイヤごとのピクチャ当たりのタイルの最大数は、複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびタイル行の最大数によって定義される。
[0166]いくつかの例では、ビデオコーダは、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数よりも大きくないように、シンタックス情報を制約する。たとえば、ビデオコーダは、以下のようにシンタックス情報を制約することができる。
currLayerIdに等しいnuh_layer_idを有する特定のレイヤおよび0よりも大きいcurrLayerIdの場合、num_tile_columns_minus1[currLayerId]の値はMaxTileColsよりも小さくあるべきであり、num_tile_rows_minus1[currLayerId]の値はMaxTileRowsよりも小さくあるべきであり、MaxTileColsおよびMaxTileRowsは、currLayerIdに等しいnuh_layer_idを有するその特定のレイヤの空間解像度を可能にする表A−1内の最も低いレベルであるレベルについて、表A−1において規定される。
[0167]いくつかの例では、ビデオコーダは、複数のレイヤのピクチャ当たりのタイルの数の合計が、複数のレイヤのピクチャ当たりのタイルの最大数の合計よりも大きくないように、シンタックス情報を制約する。そのような例では、複数のレイヤの第1のレイヤのピクチャ当たりのタイルの数は、レイヤのピクチャ当たりのタイルの最大数よりも大きい場合があり、複数のレイヤの第2のレイヤのピクチャ当たりのタイルの数は、レイヤのピクチャ当たりのタイルの最大数よりも小さい場合がある。いくつかの例では、複数のレイヤ内のピクチャは、たとえば、図4に示されたように、アクセスユニット内のピクチャを備える。いくつかの例では、ビデオコーダは、サブビットストリームの複数のレイヤのピクチャ当たりのタイルの数の合計が、サブビットストリーム内の複数のレイヤのピクチャ当たりのタイルの最大数の合計よりも大きくないように、シンタックス情報を制約する。サブビットストリームは、ビットストリーム内のレイヤのサブセットを備えるビットストリームのサブセットであり得る。
[0168]複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素、およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備える場合がある。複数のレイヤのレイヤごとのピクチャ当たりのタイルの最大数は、複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義される場合がある。レイヤについてのタイル行の最大数およびタイル列の最大数は、たとえば、HEVC仕様の表A−1において規定されたように、レイヤの解像度ならびに/またはティア情報およびレベル情報に基づいて決定される場合がある。言い換えれば、NumDirectRefLayersがゼロに等しいときの特定のレイヤのピクチャ当たりの最大許容タイルは、currLayerIdに等しいnuh_layer_idを有するその特定のレイヤの空間解像度を可能にする、表A−1内の最も低いレベルであるレベルについて表A−1によって規定される場合がある。
[0169]いくつかの例では、レイヤが非ベースレイヤであるとき、ビデオコーダは、複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の数が、レイヤのピクチャ当たりのタイル列の最大数とレイヤについての残留タイル列の数との和よりも大きくなく、レイヤのピクチャ当たりのタイル行の数が、レイヤのピクチャ当たりのタイル行の最大数とレイヤについての残留タイル行の数との和よりも大きくないように、シンタックス情報を制約することができる。レイヤについての残留タイル列の数は、複数のレイヤの1つまたは複数の他のレイヤについてのタイル列の最大数とタイル列の数との間の差分の合計を備える場合があり、レイヤについての残留タイル行の数は、複数のレイヤの1つまたは複数の他のレイヤについてのタイル行の最大数とタイル行の数との間の差分の合計を備える。いくつかの例では、ビデオコーダは、以下のようにシンタックス情報を制約することができる。
1)アクセスユニット内のタイル行およびタイル列の最大数は、NumDirectRefLayersがゼロに等しいときの各レイヤ内で、それぞれ、最大許容タイル行および最大許容タイル列の合計以下であるべきである。
2)任意のサブビットストリーム用のタイルの最大数は、サブビットストリーム内に存在するNumDirectRefLayersがゼロに等しいときの各レイヤ内の最大許容タイルの合計以下であるべきである。
[0170]いくつかの例では、仕様テキストは以下のような可能性がある。
a)ゼロよりも大きい特定のnuh_layer_id、currLayerIdを有する現在レイヤのnum_tile_columns_minus1の値は、MaxLayerTileCols[currLayerId]+RemainingTilesCols[currLayerId]よりも小さくあるべきであり、ここで、
である。
b)ゼロよりも大きい特定のnuh_layer_id、currLayerIdを有する現在レイヤのnum_tile_rows_minus1の値は、MaxLayerTileRows[currLayerId]+RemainingTilesRows[currLayerId]よりも小さくあるべきであり、ここで、RemainingTilesRows[currLayerId]は以下のように計算される。
[0171]したがって、いくつかの例では、ビデオエンコーダ20が複数のレイヤのピクチャ当たりのタイルのそれぞれの数に関するシンタックス情報を符号化するとき、ビデオエンコーダ20は、上述されたようにシンタックス情報を制約することができる。いくつかの例では、ビデオデコーダ30が符号化ビットストリームを復号するとき、複数のレイヤのピクチャ当たりのタイルのそれぞれの数に関するシンタックス情報は、上述されたように制約され得る。
[0172]本明細書に記載された例のうちのいくつかでは、シンタックス情報は、ビットストリームの制約を実現するように制約される。たとえば、いくつかのシンタックス要素の値が制約され得る。シンタックス情報、たとえばシンタックス要素の値は、たとえばビデオエンコーダ20によって符号化され、ビデオデコーダ30によって復号される場合がある。いくつかの例では、シンタックス要素はパラメータセット内に含まれる場合がある。上記で強調された例示的なシンタックス要素は、いくつかの例に関して記載されたように、PPSまたはSPSに含まれる場合があり、そのようなシンタックス要素は、任意のパラメータセット、たとえば、他の例では、シーケンスパラメータビデオパラメータセット(VPS)、または適応パラメータセット(APS)に含まれる場合がある。加えて、いくつかの例では、シンタックス情報は、スライスヘッダまたは補足エンハンスメント情報(SEI)メッセージなどのパラメータセット以外の要素内のビットストリームに含まれる場合がある。
[0173]図13は、本開示に記載された技法を実施することができる、例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行することができる。イントラコーディングは、所与のビデオフレームまたはピクチャの中のビデオ内の空間冗長性を低減または除去するために空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャの中のビデオ内の時間冗長性を低減または除去するために時間予測に依拠する。イントラモード(Iモード(登録商標))は、いくつかの空間ベースの圧縮モードのいずれかを指す場合がある。単方向予測(Pモード)または双予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指す場合がある。
[0174]図13の例では、ビデオエンコーダ20は、ビデオデータメモリ234と、区分化ユニット235と、予測処理ユニット241と、参照ピクチャメモリ268と、加算器250と、変換処理ユニット252と、量子化処理ユニット254と、エントロピー符号化ユニット256とを含む。予測処理ユニット241は、動き推定ユニット242と、動き補償ユニット244と、イントラ予測処理ユニット246とを含む。
[0175]ビデオデータメモリ234は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ234に記憶されるビデオデータは、たとえば、ビデオソース18から取得される場合がある。参照ピクチャメモリ268は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ234および参照ピクチャメモリ268は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)などの様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ234および参照ピクチャメモリ268は、同じメモリデバイスまたは別々のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ234は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそのような構成要素に対してオフチップであり得る。
[0176]ビデオブロックの復元の場合、ビデオエンコーダ20はまた、逆量子化処理ユニット258と、逆変換処理ユニット260と、加算器262とを含む。ビデオエンコーダ20はまた、参照ピクチャメモリ268内の記憶の前に、加算器262の出力、たとえば復元されたビデオブロックをフィルタリングするフィルタ処理ユニット266を含む。フィルタ処理ユニット266は、復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタを含む場合がある。フィルタ処理ユニット266は、サンプル適応オフセット(SAO)フィルタなどの(ループ内またはループ後の)追加ループフィルタを加えることができる。
[0177]様々な例では、ビデオエンコーダ20のユニットは、本開示の技法を実施するように課される場合がある。また、いくつかの例では、本開示の技法は、ビデオエンコーダ20のユニットのうちの1つまたは複数の中で分割される場合がある。たとえば、区分化ユニット235、予測処理ユニット241、およびエントロピー符号化ユニット256のうちの任意の1つまたは複数は、本明細書に記載された技法のうちの1つまたは複数を実施することができる。
[0178]図13に示されたように、ビデオエンコーダ20はビデオデータを受信し、区分化ユニット235はデータをビデオブロックに区分化する。この区分化は、スライス、タイル、または他のより大きいユニットへの区分化、ならびに、たとえばLCUおよびCUの4分木構造による、ビデオブロックの区分化を含む場合もある。ビデオエンコーダ20は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。区分化ユニット235は、様々なレイヤ内のピクチャをそれぞれの数のタイルに区分化するため、および様々なレイヤ内のピクチャをLCUサイズを有するLCUに区分化するための、本明細書に記載された技法を実施することができる。区分化ユニット235、予測処理ユニット241、および/またはエントロピー符号化ユニットは、本明細書に記載されたように制約され得る、複数のレイヤ内のピクチャのそれぞれの数のタイルへの区分化に関し、複数のレイヤについてのLCUサイズに関するシンタックス情報を生成することができる。
[0179]予測処理ユニット241は、誤差結果(たとえば、コーディングレートおよびひずみレベル)に基づいて、現在ビデオブロックについて、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択することができる。予測処理ユニット241は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器250に供給し、参照ピクチャとして使用する符号化ブロックを復元するために加算器262に供給することができる。
[0180]予測処理ユニット241内のイントラ予測ユニット246は、空間圧縮を実現するために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対して、現在ビデオブロックのイントラ予測コーディングを実行することができる。予測処理ユニット241内の動き推定ユニット242および動き補償ユニット244は、たとえば時間圧縮を実現するために、1つまたは複数の参照ピクチャ内の1つまたは複数の予測ブロックに対して、現在ビデオブロックのインター予測コーディングを実行する。
[0181]動き推定ユニット242は、ビデオシーケンス用の所定のパターンに従って、ビデオスライス用のインター予測モードを決定するように構成される場合がある。動き推定ユニット242および動き補償ユニット244は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット242によって実行される動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたは現在ピクチャ内のビデオブロックのPUの変位を示すことができる。
[0182]予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUにぴったり一致することが分かるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ264に記憶された参照ピクチャのサブ整数ピクセル位置についての値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置、8分の1ピクセル位置、または他の分数のピクセル位置の値を補間することができる。したがって、動き推定ユニット242は、完全なピクセル位置および分数のピクセル位置に対して動き探索を実行し、分数のピクセル精度で動きベクトルを出力することができる。
[0183]動き推定ユニット242は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0もしくはRefPicList0)または第2の参照ピクチャリスト(リスト1もしくはRefPicList1)から選択される場合があり、それらの参照ピクチャリストの各々は、参照ピクチャメモリ264に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット242は、計算された動きベクトルをエントロピー符号化ユニット256および動き補償ユニット246に送る。
[0184]動き補償ユニット244によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することと、場合によってはサブピクセル精度への補間を実行することとを伴うことができる。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット244は、動きベクトルが参照ピクチャリストのうちの1つの中で指す予測ブロックの位置を特定することができる。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロック用の残差データを形成し、ルーマとクロマの両方の差分成分を含む場合がある。加算器250は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット244はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成することができる。
[0185]イントラ予測処理ユニット246は、上述されたように、動き推定ユニット242および動き補償ユニット244によって実行されたインター予測の代替として、現在ブロックをイントラ予測することができる。詳細には、イントラ予測処理ユニット246は、現在ブロックを符号化するために使用するイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット246は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ビデオブロックを符号化することができ、イントラ予測ユニット246(または、いくつかの例では、予測処理ユニット241)は、テストされたモードから使用するのに適したイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット246は、様々なテストされたイントラ予測モードにレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化される符号化されていない元のブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビットの数)を決定する。イントラ予測処理ユニット246は、どのイントラ予測モードがブロック用の最良のレートひずみ値を表すかを決定するために、様々な符号化ブロックについてのひずみおよびレートから比を計算することができる。
[0186]いずれの場合も、ブロック用のイントラ予測モードを選択した後、イントラ予測処理ユニット246は、ブロック用の選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット256に供給することができる。エントロピー符号化ユニット256は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、送信されるビットストリーム内に構成データを含む場合があり、構成データは、コンテキストの各々に使用する、複数のイントラ予測モードインデックステーブルおよび複数の修正された(コードワードマッピングテーブルとも呼ばれる)イントラ予測モードインデックステーブル、様々なブロックについての符号化コンテキストの定義、ならびに、最も起こりそうなイントラ予測モードの指示、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルを含む場合がある。
[0187]予測処理ユニット241がインター予測またはイントラ予測を介して現在ビデオブロック用の予測ブロックを生成した後、ビデオエンコーダ20は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれ、変換処理ユニット252に適用される場合がある。変換処理ユニット252は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット252は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換することができる。
[0188]変換処理ユニット252は、得られた変換係数を量子化処理ユニット254に送ることができる。量子化処理ユニット254は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット254は、次いで、量子化変換係数を含む行列の走査を実行することができる。代替として、エントロピー符号化ユニット256が走査を実行することができる。
[0189]量子化の後、エントロピー符号化ユニット256は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット256は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分化エントロピー(PIPE)コーディング、または別のエントロピー符号化の方法もしくは技法を実施することができる。エントロピー符号化ユニット256によるエントロピー符号化の後、符号化ビデオビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30が後で送信するかもしくは取り出すためにアーカイブされる場合がある。エントロピー符号化ユニット256はまた、コーディングされている現在ビデオスライスについての動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
[0190]逆量子化処理ユニット258および逆変換処理ユニット260は、参照ピクチャの参照ブロックとして後で使用するための、ピクセル領域内の残差ブロックを復元するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット244は、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算することができる。動き補償ユニット244はまた、動き推定において使用するための整数未満のピクセル値を計算するために、復元された残差ブロックに1つまたは複数の補間フィルタを適用することができる。加算器262は、参照ピクチャメモリ264に記憶するための参照ブロックを生成するために、復元された残差ブロックを動き補償ユニット244によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ内のブロックをインター予測するために、動き推定ユニット242および動き補償ユニット244によって参照ブロックとして使用される場合がある。
[0191]ビデオエンコーダ20は、本明細書に記載された技法を実施するように構成される場合がある。たとえば、区分化ユニット235は、複数のレイヤ内のそれぞれのピクチャを、本明細書に記載されたように、いくつかのタイルおよびLCUサイズを有するLCUに区分化することができ、区分化ユニット235、予測処理ユニット241、および/またはエントロピー符号化ユニット256は、本明細書に記載されたように制約されるシンタックス情報を生成することができる。
[0192]このように、ビデオエンコーダ20は、複数のレイヤを備えるビデオデータを符号化するための方法を実施するビデオエンコーダの一例であり、方法は、ビデオデータの複数のレイヤの各レイヤ内のピクチャをレイヤのピクチャ当たりのいくつかのタイルに区分化することを備え、ここにおいて、ピクチャをいくつかのタイルに区分化することは、レイヤ内のピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて、レイヤのピクチャ当たりのタイルの最大数を決定することと、レイヤのピクチャ当たりのタイルの最大数に基づいて、レイヤのピクチャ当たりのタイルの数を制約することとを備える。方法は、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて複数のレイヤの各レイヤ内のピクチャを符号化することと、ビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を符号化することとをさらに備え、複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する。いくつかの例では、ビデオエンコーダ20は、レイヤについての空間解像度を可能にする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数を決定することによって、レイヤのピクチャ当たりのタイルの最大数を決定する。いくつかの例では、ビデオエンコーダ20は、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数を、レイヤのピクチャ当たりのタイルの最大数よりも大きくないように制約する。
[0193]いくつかの例では、ビデオエンコーダ20は、複数のレイヤのピクチャ当たりのタイルの数の合計が、複数のレイヤのピクチャ当たりのタイルの最大数の合計よりも大きくないように、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数を制約する。いくつかの例では、ビデオエンコーダ20は、複数のレイヤの第1のレイヤのピクチャ当たりのタイルの数が、第1のレイヤのピクチャ当たりのタイルの最大数よりも大きく、複数のレイヤの第2のレイヤのピクチャ当たりのタイルの数が、第2のレイヤのピクチャ当たりのタイルの最大数よりも小さいように、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数を制約する。いくつかの例では、複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、複数のレイヤのレイヤごとのピクチャ当たりのタイルの最大数は、複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義される。いくつかの例では、ビデオエンコーダ20は、複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の数が、レイヤのピクチャ当たりのタイル列の最大数とレイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、レイヤのピクチャ当たりのタイル行の数が、レイヤのピクチャ当たりのタイル行の最大数とレイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数を制約する。いくつかの例では、ビデオエンコーダ20は、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の最大数とピクチャ当たりのタイル列の数との間の差分の合計を、レイヤのピクチャ当たりの残留タイル列の数として決定し、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル行の最大数とピクチャ当たりのタイル行の数との間の差分の合計を、レイヤのピクチャ当たりの残留タイル行の数として決定する。
[0194]いくつかの例では、装置は、複数のレイヤを備えるビデオデータを符号化するように構成された、ビデオエンコーダ20などのビデオエンコーダを備える。ビデオエンコーダは、ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを備える。1つまたは複数のプロセッサは、ビデオデータの複数のレイヤの各レイヤ内のピクチャをレイヤのピクチャ当たりのいくつかのタイルに区分化するように構成される。いくつかのタイルにピクチャを区分化するために、1つまたは複数のプロセッサは、レイヤ内のピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいてレイヤのピクチャ当たりのタイルの最大数を決定することと、レイヤのピクチャ当たりのタイルの最大数に基づいてレイヤのピクチャ当たりのタイルの数を制約することとを行うように構成される。1つまたは複数のプロセッサは、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて複数のレイヤの各レイヤ内のピクチャを、符号化ビットストリーム内に符号化することと、ビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を、符号化ビットストリーム内に符号化することとを行うようにさらに構成され、複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する。
[0195]図14は、本開示に記載された技法を実施することができる例示的なビデオデコーダ30を示すブロック図である。図14の例では、ビデオデコーダ30は、ビデオデータメモリ279と、エントロピー復号ユニット280と、予測処理ユニット281と、逆量子化処理ユニット286と、逆変換ユニット288と、加算器290と、フィルタ処理ユニット294と、参照ピクチャメモリ296とを含む。予測処理ユニット281は、動き補償ユニット282と、イントラ予測ユニット284とを含む。ビデオデコーダ30は、いくつかの例では、図13からのビデオエンコーダ20に関して記載された符号化パスを全体的に反転させた復号パスを実行することができる。
[0196]ビデオデータメモリ279は、ビデオデコーダ30の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ279に記憶されたビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得される場合がある。ビデオデータメモリ279は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成することができる。参照ピクチャメモリ296は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶することができる。ビデオデータメモリ279および参照ピクチャメモリ296は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリデバイスを含む、ダイナミックランダムアクセスメモリ(DRAM)などの様々なメモリデバイスのいずれかによって形成される場合がある。ビデオデータメモリ279および参照ピクチャメモリ296は、同じメモリデバイスまたは別々のメモリデバイスによって提供される場合がある。様々な例では、ビデオデータメモリ279は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0197]復号プロセス中に、ビデオデコーダ30は、符号化ビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化ビデオビットストリームを、ビデオエンコーダ20から受信する。ビデオデコーダ30のエントロピー復号ユニット280は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット280は、動きベクトルと他のシンタックス要素とを予測処理ユニット281に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信することができる。
[0198]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、予測処理ユニット281のイントラ予測ユニット284は、シグナリングされたイントラ予測モード、および現在フレームまたは現在ピクチャの前に復号されたブロックからのデータに基づいて、現在ビデオスライスのビデオブロックについての予測データを生成することができる。ビデオフレームがインターコード化(すなわち、BまたはP)スライスとしてコーディングされるとき、予測処理ユニット281の動き補償ユニット282は、エントロピー復号ユニット280から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックについての予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ292に記憶された参照ピクチャに基づいて、デフォルトの構築技法または任意の他の技法を使用して、参照フレームリスト、RefPicList0とRefPicList1とを構築することができる。
[0199]動き補償ユニット282は、動きベクトルと他のシンタックス要素とを構文解析することによって、現在ビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在ビデオブロックについての予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット282は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラ予測またはインター予測)と、インター予測スライスタイプ(たとえば、BスライスまたはPスライス)と、スライス用の参照ピクチャリストのうちの1つまたは複数についての構築情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
[0200]動き補償ユニット282はまた、補間フィルタに基づいて補間を実行することができる。動き補償ユニット282は、参照ブロックの整数未満のピクセル用の補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用することができる。この場合、動き補償ユニット282は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用することができる。
[0201]逆量子化処理ユニット286は、ビットストリーム内で供給され、エントロピー復号ユニット280によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち逆量子化(dequantize)する。逆量子化プロセスは、適用されるべき量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内のビデオブロックごとに、ビデオエンコーダ20によって計算された量子化パラメータを使用することを含む場合がある。逆変換処理ユニット288は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0202]動き補償ユニット282が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックについての予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット288からの残差ブロックを動き補償ユニット282によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器290は、この加算演算を実行する1つまたは複数の構成要素を表す。ビデオデコーダ30は、参照ピクチャメモリ296内の記憶の前に、加算器290の出力、たとえば復元されたビデオブロックをフィルタリングするために、フィルタ処理ユニット294を含む場合もある。フィルタ処理ユニット294は、復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタを含む場合がある。フィルタ処理ユニット294は、SAOフィルタなどの(ループ内またはループ後の)追加ループフィルタを加えることができる。参照ピクチャメモリ296は、後続の動き補償に使用される参照ピクチャを記憶する。参照ピクチャメモリ296はまた、図1のディスプレイデバイス32などのディスプレイデバイス上に後で表示するための復号ビデオを記憶する。
[0203]いくつかの例では、ビデオデコーダ30は、たとえば、様々なレイヤ内の様々なピクチャを並行して処理するために、および/またはピクチャ内の様々なタイルを並行して処理するために、複数の並列処理コアを備える。そのような例では、図14に示されたビデオデコーダ30の構成要素の少なくとも一部または全部は、処理コアごとに繰り返されるか、または様々な処理コアによって共有される場合がある。たとえば、エントロピー復号ユニット280、動き補償ユニット282、イントラ予測処理ユニット284、逆量子化処理ユニット286、逆変換処理ユニット288、加算器290、フィルタ処理ユニット294、および参照ピクチャメモリ296のうちのいずれかは、処理コアごとに繰り返されるか、または処理コアによって共有される場合がある。さらに、エントロピー復号ユニット280、動き補償ユニット282、イントラ予測処理ユニット284、逆量子化処理ユニット286、逆変換処理ユニット288、加算器290、フィルタ処理ユニット294、および参照ピクチャメモリ296の各々に本明細書において関連付けられた様々な機能は、ピクチャ内の様々なタイルまたは様々なレイヤ内の様々なピクチャに関連付けられたビデオデータについて、並行して実行される場合がある。並列処理は、実質的に同じ時間にそれぞれの処理コアによって、様々なタイルまたはレイヤに関連付けられたビデオデータの少なくともいくつかの部分をコーディングすることを含む場合がある。並列処理のために、処理コアは、同じ時間にビデオデータをコーディングすることを開始または終了する可能性があるが、必ずしもそうするとは限らない。しかしながら、並列処理の少なくとも一部分の間に、コアは同時にコーディングしている。
[0204]様々な例では、ビデオデコーダ30のユニットは、本開示の技法を実施するように課される場合がある。また、いくつかの例では、本開示の技法は、ビデオデコーダ30のユニットのうちの1つまたは複数の中で分割される場合がある。たとえば、エントロピー復号ユニット280は、本明細書に記載されたように制約された、ビデオデータの複数のレイヤについてのシンタックス情報、たとえばシンタックス要素を取り出すために、符号化ビデオビットストリームを復号することができる。予測処理ユニット281および加算器290は、本明細書に記載されたように、制約されたシンタックス情報に基づいて、たとえば、いくつかのタイルおよびLCUサイズを有するLCU内のピクチャの区分化に基づいて、レイヤ内のそれぞれのピクチャを復元することができる。
[0205]このように、ビデオデコーダ30は、複数のレイヤを備えるビデオデータを復号するための方法を実施するように構成されたビデオデコーダの一例であり、方法は、ビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を復号することを備える。複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する。複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように、シンタックス情報は制約される。レイヤのピクチャ当たりのタイルの最大数は、レイヤ内のピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される。方法は、復号されたシンタックス情報によって定義された、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて、少なくとも1つのレイヤ内のピクチャを復元することをさらに備える。いくつかの例では、レイヤのピクチャ当たりのタイルの最大数は、レイヤについての空間解像度を可能にする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数であるように決定される。いくつかの例では、複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数よりも大きくないように、シンタックス情報は制約される。
[0206]いくつかの例では、複数のレイヤのピクチャ当たりのタイルの数の合計が、複数のレイヤのピクチャ当たりのタイルの最大数の合計よりも大きくないように、シンタックス情報は制約される。いくつかの例では、複数のレイヤの第1のレイヤのピクチャ当たりのタイルの数が、第1のレイヤのピクチャ当たりのタイルの最大数よりも大きく、複数のレイヤの第2のレイヤのピクチャ当たりのタイルの数が、第2のレイヤのピクチャ当たりのタイルの最大数よりも小さいように、シンタックス情報は制約される。いくつかの例では、複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、複数のレイヤのレイヤごとのピクチャ当たりのタイルの最大数は、複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義される。いくつかの例では、複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の数が、レイヤのピクチャ当たりのタイル列の最大数とレイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、レイヤのピクチャ当たりのタイル行の数が、レイヤのピクチャ当たりのタイル行の最大数とレイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、シンタックス情報は制約される。いくつかの例では、レイヤのピクチャ当たりの残留タイル列の数は、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の最大数とピクチャ当たりのタイル列の数との間の差分の合計を備え、レイヤのピクチャ当たりの残留タイル行の数は、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル行の最大数とピクチャ当たりのタイル行の数との間の差分の合計を備える。
[0207]いくつかの例では、ビデオデータを復号するための装置は、ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを備える。1つまたは複数のプロセッサは、符号化ビデオビットストリームからのビデオデータの複数のレイヤのレイヤごとのそれぞれのシンタックス情報を復号するように構成され、複数のレイヤのレイヤごとのそれぞれのシンタックス情報は、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する。複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が、レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように、シンタックス情報は制約される。レイヤのピクチャ当たりのタイルの最大数は、レイヤ内のピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される。1つまたは複数のプロセッサは、復号されたシンタックス情報によって定義された、レイヤのいくつかのタイルへのピクチャの区分化に基づいて、少なくとも1つのレイヤ内のピクチャを復元するようにさらに構成される。
[0208]図15は、本開示に記載された技法に従って、複数のレイヤ内のピクチャをいくつかのタイルに区分化し、ビデオビットストリームを符号化するための例示的な方法を示す流れ図である。図15の例示的な方法は、ビデオエンコーダ20などのビデオエンコーダによって実施される場合がある。
[0209]図15の例示的な方法によれば、ビデオエンコーダは、たとえば、レイヤについての空間解像度ならびに/またはティア情報およびレベル情報に基づいて、複数のレイヤのレイヤのピクチャ当たりのタイルの最大数を決定する(400)。たとえば、ビデオエンコーダは、たとえば、HEVC仕様の表A−1において規定されたように、レイヤについての解像度をサポートする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数を決定することができる。ビデオエンコーダ20は、タイルの最大数に基づいてレイヤのピクチャ当たりのタイルの数を制約する(402)。たとえば、ビデオエンコーダは、レイヤのピクチャ当たりのタイルの数を、レイヤのピクチャ当たりのタイルの最大数よりも大きくないように制約することができる。
[0210]ビデオエンコーダは、レイヤのピクチャ当たりのタイルの最大数に基づいて制約されるように、レイヤ内のピクチャをピクチャ当たりのいくつかのタイルに区分化することができる(404)。ビデオエンコーダは、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて、レイヤ内のピクチャを符号化する(406)。ビデオエンコーダはまた、レイヤのいくつかのタイルへのピクチャの区分化を定義するシンタックス情報を符号化し、たとえば、レイヤについてのタイル行の数とタイル列の数とを示すPPSを符号化し、どのPPSが、したがってレイヤについての何番のタイル行と何番のタイル列がアクティブであるかを示す、スライスヘディング内のシンタックス情報を符号化する。ビデオデータのさらなるレイヤが存在する場合(410のYES)、ビデオエンコーダは再び、ピクチャ当たりのタイルの最大数を決定し、ピクチャ当たりのタイルの数を制約し、ピクチャを区分化し、ピクチャを符号化し、レイヤについてのシンタックス情報を符号化することができる(400〜408)。そうでない場合、図15の例示的な方法は終了することができる(410のNO)。
[0211]図16は、本開示に記載される技法に従って、複数のレイヤ内のピクチャをいくつかのタイルに区分化し、ビデオビットストリームを符号化するための別の例示的な方法を示す流れ図である。図16の例示的な方法は、ビデオエンコーダ20などのビデオエンコーダによって実施される場合がある。
[0212]図16の例示的な方法によれば、ビデオエンコーダは、たとえば、レイヤ内のピクチャについての空間解像度ならびに/またはティア情報およびレベル情報に基づいて、ビデオデータの複数のレイヤの中のレイヤのピクチャ当たりのタイル列の最大数とタイル行の最大数とを決定する(412)。たとえば、ビデオエンコーダは、たとえば、HEVC仕様の表A−1において規定されたように、レイヤについての解像度をサポートする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数を決定することができる。ビデオエンコーダは、レイヤのピクチャ当たりのタイル列の数を、レイヤのピクチャ当たりのタイル列の最大数と残留タイル列の数との和よりも大きくないように制約する(414)。ビデオエンコーダはまた、レイヤのピクチャ当たりのタイル行の数を、レイヤのピクチャ当たりのタイル行の最大数とレイヤについての残留タイル行の数との和よりも大きくないように制約する(416)。本明細書に記載されたように、タイル列の残留数は、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の実際の数とピクチャ当たりのタイル列の最大数との間の差分の累積、すなわち合計であり得る。同様に、タイル行の残留数は、複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル行の実際の数とピクチャ当たりのタイル行の最大数との間の差分の累積、すなわち合計であり得る。
[0213]ビデオエンコーダは、制約されたピクチャ当たりのタイル列の数およびタイル行の数に基づいて、レイヤ内のピクチャをピクチャ当たりのいくつかのタイルに区分化する(418)。ビデオエンコーダは、タイルへの区分化に基づいてレイヤ内のピクチャを符号化する(420)。ビデオエンコーダはまた、レイヤのピクチャ当たりのタイル列の数とタイル行の数とを定義するシンタックス情報を符号化する(422)。たとえば、ビデオエンコーダは、レイヤのピクチャ当たりのタイル行の数とタイル列の数とを示すPPSを符号化することができ、どのPPSが、したがってレイヤについての何番のタイル行と何番のタイル列がアクティブであるかを示す、スライスヘディング内のシンタックス情報を符号化する。
[0214]ビデオデータのさらなるレイヤが存在する場合(424のYES)、ビデオエンコーダは、残留タイル列と残留タイル行とを決定することができる(426)。たとえば、ビデオエンコーダは、ピクチャ当たりのタイル列およびタイル行の実際の数と、ピクチャ当たりのタイル列およびタイル行の最大数との間の差分を決定し、それに応じてタイル列およびタイル行の残留数を増分または減分することができる。次いで、ビデオエンコーダは再び、ピクチャ当たりのタイル列およびタイル行の最大数を決定し、ピクチャ当たりのタイル列およびタイル行の数を制約し、ピクチャを区分化し、ピクチャを符号化し、レイヤについてのシンタックス情報を符号化することができる(412〜422)。そうでない場合、図16の例示的な方法は終了することができる(410のNO)。
[0215]図17は、レイヤのピクチャ当たりのいくつかのタイルに区分化されたピクチャを復元するための例示的な方法を示す流れ図である。図17の例示的な方法は、ビデオデコーダ30などのビデオデコーダによって実施される場合がある。
[0216]図17の例示的な方法によれば、ビデオデコーダは、レイヤのピクチャ当たりのいくつかのタイルへのレイヤ内のピクチャの区分化を定義する、複数のレイヤについてのそれぞれのシンタックス情報を復号する(430)。たとえば、ビデオデコーダは、レイヤのピクチャ用のアクティブPPSを識別するスライスヘッダ内のシンタックス情報を復号することができ、ビデオデコーダによって前に復号されている可能性があるアクティブPPSは、レイヤのピクチャ当たりのタイル列の数とタイル行の数とを示すことができる。ビデオデコーダはまた、レイヤのピクチャ当たりのいくつかのタイルへのピクチャの区分化に基づいて、複数のレイヤのうちの少なくとも1つのピクチャを復元することができる(432)。本明細書に記載されたように、シンタックス情報は制約され得るし、たとえば、レイヤのピクチャ当たりのタイルの数は、レイヤのピクチャ当たりのタイルの最大数よりも大きくないか、またはレイヤのピクチャ当たりのタイルの最大数およびタイルの残留数よりも大きくないように制約され得る。
[0217]図18は、本開示に記載された技法に従って、LCUサイズを制約し、ビデオビットストリームを符号化するための例示的な方法を示す流れ図である。図18の例示的な方法は、ビデオエンコーダ20などのビデオエンコーダによって実施される場合がある。
[0218]図18の例示的な方法によれば、ビデオエンコーダは、ビデオデータの第1のレイヤについての第1のLCUサイズを決定する(440)。ビデオエンコーダは、ビデオデータの第1のレイヤについての第1のLCUサイズに基づいて、ビデオデータの第2のレイヤについての第2のLCUサイズを制約する(442)。いくつかの例では、ビデオエンコーダは、第1のLCUサイズと同じであるように第2のLCUサイズを制約する。いくつかの例では、第1のレイヤは、たとえば、SNRスケーラビリティのための第2のレイヤについてのアクティブ参照レイヤである。いくつかの例では、第1のレイヤ内のピクチャと第2のレイヤ内のピクチャは、同じ空間解像度を有する。
[0219]ビデオエンコーダはまた、第1および第2のレイヤについての第1および第2のLCUサイズを指定するシンタックス情報を、符号化ビデオビットストリーム内に符号化する(444)。たとえば、ビデオエンコーダは、第1および第2のレイヤについてのLCUサイズを指定するSPSを符号化することができ、SPSがアクティブであることを示す、たとえばスライスヘッダ内のシンタックス情報を符号化することができる。ビデオエンコーダはまた、第1および第2のLCUサイズに基づいて、第1および第2のレイヤ内のピクチャをビデオビットストリーム内に符号化することができる(446)。
[0220]図19は、制約されたLCUサイズを有する複数のレイヤ内のピクチャを復元する例示的な方法を示す流れ図である。図19の例示的な方法は、ビデオデコーダ30などのビデオデコーダによって実施される場合がある。
[0221]図19の例示的な方法によれば、ビデオデコーダは、第1のレイヤについての第1のLCUサイズと第2のレイヤについての第2のLCUサイズとを指定するシンタックス情報を復号する(450)。たとえば、ビデオデコーダは、レイヤについてのアクティブSPSを識別するシンタックス情報を復号することができ、ビデオデコーダによって前に復号されている可能性があるアクティブSPSは、第1および第2のLCUサイズを示すことができる。ビデオデコーダはまた、第1および第2のLCUサイズに基づいて、第1および第2のレイヤ内のピクチャを復元することができる(452)。本明細書に記載されたように、第2のLCUサイズは、第1のLCUサイズに基づいて、たとえば第1のLCUサイズに等しいように制約され得る。第1のレイヤは、たとえば、SNRスケーラビリティのための第2のレイヤについてのアクティブ参照レイヤであり得る。いくつかの例では、第1のレイヤ内のピクチャと第2のレイヤ内のピクチャは、同じ空間解像度を有する。
[0222]いくつかの例では、本開示に記載された技法の1つまたは複数の態様は、メディアアウェアネットワーク要素(MANE)、ストリーム適応プロセッサ、スプライシングプロセッサ、または編集プロセッサなどの中間ネットワークデバイスによって実施される場合がある。たとえば、そのような中間デバイスは、本開示に記載されたように、様々なシグナリングのうちのいずれかを生成または受信するように構成される場合がある。
[0223]1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装される場合がある。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含む場合がある。このように、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示に記載された技法の実施のための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
[0224]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得るし、コンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)と、レーザーディスク(登録商標)と、光ディスクと、デジタル多用途ディスク(DVD)と、フロッピー(登録商標)ー(登録商標)ディスクと、ブルーレイディスクとを含み、通常、ディスク(disk)は磁気的にデータを再生し、ディスク(disc)はレーザーを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
[0225]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの、1つまたは複数のプロセッサによって実行される場合がある。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装形態に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/もしくはソフトウェアモジュール内で提供されるか、または複合コーデックに組み込まれる場合がある。また、本技法は、1つまたは複数の回路または論理要素の中に完全に実装される可能性がある。
[0226]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む多種多様なデバイスまたは装置において実施される場合がある。開示された技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示に記載されたが、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上述されたように、様々なユニットは、コーデックハードウェアユニット内で組み合わされるか、または、適切なソフトウェアおよび/もしくはファームウェアと連携して、上述された1つまたは複数のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供される場合がある。
[0227]様々な例が記載されている。これらおよび他の例は、以下の特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] 複数のレイヤを備えるビデオデータを復号する方法であって、
前記ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報を復号することと、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりのいくつかのタイルへの前記レイヤ内のピクチャの区分化を定義する、ここにおいて、前記シンタックス情報は、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が前記レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように制約される、ここにおいて、前記レイヤのピクチャ当たりのタイルの前記最大数は、前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される、
前記復号されたシンタックス情報によって定義された、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記少なくとも1つのレイヤ内の前記ピクチャを復元することと
を備える、方法。
[C2] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義される、C1に記載の方法。
[C3] 前記レイヤのピクチャ当たりのタイルの前記最大数が、前記レイヤについて前記空間解像度を可能にする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数であるように決定される、C1に記載の方法。
[C4] 前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数が、前記レイヤのピクチャ当たりのタイルの前記最大数よりも大きくないように、前記シンタックス情報が制約される、C1に記載の方法。
[C5] 前記複数のレイヤのピクチャ当たりのタイルの前記数の合計が、前記複数のレイヤのピクチャ当たりのタイルの前記最大数の合計よりも大きくないように、前記シンタックス情報が制約される、C1に記載の方法。
[C6] 前記複数のレイヤの第1のレイヤのピクチャ当たりのタイルの数が、前記第1のレイヤのピクチャ当たりのタイルの最大数よりも大きく、前記複数のレイヤの第2のレイヤのピクチャ当たりのタイルの数が、前記第2のレイヤのピクチャ当たりのタイルの最大数よりも小さいように、前記シンタックス情報が制約される、C5に記載の方法。
[C7] アクセスユニットが、前記複数のレイヤの各々の中に前記それぞれのピクチャを備える、C5に記載の方法。
[C8] 前記複数のレイヤが、サブビットストリームの複数のレイヤを備える、C5に記載の方法。
[C9] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素、およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、
前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義され、
前記複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の前記数が、前記レイヤのピクチャ当たりのタイル列の前記最大数と前記レイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、前記レイヤのピクチャ当たりのタイル行の前記数が、前記レイヤのピクチャ当たりのタイル行の前記最大数と前記レイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、シンタックス情報が制約され、
前記レイヤのピクチャ当たりの残留タイル列の前記数が、前記複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の前記最大数とピクチャ当たりのタイル列の前記数との間の差分の合計を備え、前記レイヤのピクチャ当たりの残留タイル行の前記数が、前記複数のレイヤの前記1つまたは複数の他のレイヤのピクチャ当たりのタイル行の前記最大数とピクチャ当たりのタイル行の前記数との間の差分の合計を備える、
C5に記載の方法。
[C10] 前記複数のレイヤの前記1つのレイヤが非ベースレイヤである、C9に記載の方法。
[C11] 前記ビデオデータがスケーラブルビデオコーディングデータを備え、前記複数のレイヤがスケーラブルビデオコーディングレイヤを備える、C1に記載の方法。
[C12] 前記ビデオデータがマルチビュービデオデータを備え、前記複数のレイヤが前記マルチビュービデオデータの複数のビューに対応する、C1に記載の方法。
[C13] 前記シンタックス情報を復号することが、前記シンタックス情報を含むアクティブパラメータセットを決定することを備える、C1に記載の方法。
[C14] 前記アクティブパラメータセットがアクティブピクチャパラメータセットを備える、C13に記載の方法。
[C15] 複数のレイヤを備えるビデオデータを符号化する方法であって、
前記ビデオデータの前記複数のレイヤの各レイヤ内のピクチャを前記レイヤのピクチャ当たりのいくつかのタイルに区分化することと、ここにおいて、前記レイヤの各々についてピクチャ当たりの前記いくつかのタイルに前記ピクチャを区分化することは、
前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて、前記レイヤのピクチャ当たりのタイルの最大数を決定することと、
前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの数を制約することと
を備える、
前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記複数のレイヤの各レイヤ内の前記ピクチャを符号化することと、
前記ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報を符号化することと、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記レイヤ内の前記ピクチャの前記区分化を定義する、
を備える、方法。
[C16] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義される、C15に記載の方法。
[C17] 前記レイヤのピクチャ当たりのタイルの前記最大数を決定することが、前記レイヤについて前記空間解像度を可能にする最も低いビットストリームレベルについてのタイルの最大数を決定することを備える、C15に記載の方法。
[C18] 前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの前記数を制約することが、前記レイヤのピクチャ当たりのタイルの前記最大数よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約することを備える、C15に記載の方法。
[C19] 前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの前記数を制約することが、前記複数のレイヤのピクチャ当たりのタイルの前記数の合計が、前記複数のレイヤのピクチャ当たりのタイルの前記最大数の合計よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約することを備える、C15に記載の方法。
[C20] 前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの前記数を制約することが、前記複数のレイヤの第1のレイヤのピクチャ当たりのタイルの数が、前記第1のレイヤのピクチャ当たりのタイルの最大数よりも大きく、前記複数のレイヤの第2のレイヤのピクチャ当たりのタイルの数が、前記第2のレイヤのピクチャ当たりのタイルの最大数よりも小さいように、前記複数のレイヤのレイヤごとのタイルの前記数を制約することを備える、C19に記載の方法。
[C21] アクセスユニットが、前記複数のレイヤの各々の中に前記それぞれのピクチャを備える、C19に記載の方法。
[C22] 前記複数のレイヤが、サブビットストリームの複数のレイヤを備える、C19に記載の方法。
[C23] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素、およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、
前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義され、
前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの前記数を制約することが、前記複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の前記数が、前記レイヤのピクチャ当たりのタイル列の前記最大数と前記レイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、前記レイヤのピクチャ当たりのタイル行の前記数が、前記レイヤのピクチャ当たりのタイル行の前記最大数と前記レイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約することを備え、前記方法が、
前記レイヤのピクチャ当たりの残留タイル列の前記数として、前記複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の前記最大数とピクチャ当たりのタイル列の前記数との間の差分の合計を決定することと、
前記レイヤのピクチャ当たりの残留タイル行の前記数として、前記複数のレイヤの前記1つまたは複数の他のレイヤのピクチャ当たりのタイル行の前記最大数とピクチャ当たりのタイル行の前記数との間の差分の合計を決定することと
をさらに備える、
C19に記載の方法。
[C24] 前記複数のレイヤの前記1つのレイヤが非ベースレイヤである、C23に記載の方法。
[C25] 前記ビデオデータがスケーラブルビデオコーディングデータを備え、前記複数のレイヤがスケーラブルビデオコーディングレイヤを備える、C15に記載の方法。
[C26] 前記ビデオデータがマルチビュービデオデータを備え、前記複数のレイヤが前記マルチビュービデオデータの複数のビューに対応する、C15に記載の方法。
[C27] 前記シンタックス情報を符号化することが、前記シンタックス情報を含むアクティブパラメータセットを識別する情報を符号化することを備える、C15に記載の方法。
[C28] 前記アクティブパラメータセットがアクティブピクチャパラメータセットを備える、C27に記載の方法。
[C29] 複数のレイヤを備えるビデオデータを復号するように構成されたビデオデコーダを備える装置であって、前記ビデオデコーダが、
前記ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、
前記ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報を復号することと、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりのいくつかのタイルへの前記レイヤ内のピクチャの区分化を定義する、ここにおいて、前記シンタックス情報は、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が前記レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように制約される、ここにおいて、前記レイヤのピクチャ当たりのタイルの前記最大数は、前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される、
前記復号されたシンタックス情報によって定義された、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記少なくとも1つのレイヤ内の前記ピクチャを復元することと
を行うように構成された1つまたは複数のプロセッサと
を備える、装置。
[C30] 前記レイヤのピクチャ当たりのタイルの前記最大数が、前記レイヤについて前記空間解像度を可能にする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数であるように決定される、C29に記載の装置。
[C31] 前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数が、前記レイヤのピクチャ当たりのタイルの前記最大数よりも大きくないように、前記シンタックス情報が制約される、C29に記載の装置。
[C32] 前記複数のレイヤのピクチャ当たりのタイルの前記数の合計が、前記複数のレイヤのピクチャ当たりのタイルの前記最大数の合計よりも大きくないように、シンタックス情報が制約される、C29に記載の装置。
[C33] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素、およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、
前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義され、
前記複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の前記数が、前記レイヤのピクチャ当たりのタイル列の前記最大数と前記レイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、前記レイヤのピクチャ当たりのタイル行の前記数が、前記レイヤのピクチャ当たりのタイル行の前記最大数と前記レイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、シンタックス情報が制約され、
前記レイヤのピクチャ当たりの残留タイル列の前記数が、前記複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の前記最大数とピクチャ当たりのタイル列の前記数との間の差分の合計を備え、前記レイヤのピクチャ当たりの残留タイル行の前記数が、前記複数のレイヤの前記1つまたは複数の他のレイヤのピクチャ当たりのタイル行の前記最大数とピクチャ当たりのタイル行の前記数との間の差分の合計を備える、
C32に記載の装置。
[C34] マイクロプロセッサ、
集積回路(IC)、および
少なくとも1つの前記ビデオデコーダを備えるワイヤレス通信デバイス
のうちの1つを備える、C29に記載の装置。
[C35] 複数のレイヤを備えるビデオデータを符号化するように構成されたビデオエンコーダを備える装置であって、前記ビデオエンコーダが、
前記ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、
前記ビデオデータの前記複数のレイヤの各レイヤ内のピクチャを前記レイヤのピクチャ当たりのいくつかのタイルに区分化するように構成された1つまたは複数のプロセッサとを備え、ここにおいて、前記いくつかのタイルに前記ピクチャを区分化するために、前記1つまたは複数のプロセッサが、
前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて、前記レイヤのピクチャ当たりのタイルの最大数を決定することと、
前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの数を制約することと
を行うように構成され、前記1つまたは複数のプロセッサが、
前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記複数のレイヤの各レイヤ内の前記ピクチャを前記符号化ビデオビットストリーム内に符号化することと、
前記ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報を前記符号化ビデオビットストリーム内に符号化することとを行うように構成され、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記レイヤ内の前記ピクチャの前記区分化を定義する、
装置。
[C36] 前記レイヤのピクチャ当たりのタイルの前記最大数を決定するために、前記1つまたは複数のプロセッサが、前記レイヤについて前記空間解像度を可能にする最も低いビットストリームレベルについてのピクチャ当たりのタイルの最大数を決定するように構成された、C35に記載の装置。
[C37] 前記1つまたは複数のプロセッサが、前記レイヤのピクチャ当たりのタイルの前記最大数よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約するように構成された、C35に記載の装置。
[C38] 前記複数のレイヤのピクチャ当たりのタイルの前記数の合計が、前記複数のレイヤのピクチャ当たりのタイルの前記最大数の合計よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約するように、前記1つまたは複数のプロセッサが構成された、C35に記載の装置。
[C39] 前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報が、ピクチャ当たりのタイル列の数を定義する第1のシンタックス要素、およびピクチャ当たりのタイル行の数を定義する第2のシンタックス要素のそれぞれの値を備え、
前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記最大数が、前記複数のレイヤのレイヤごとのピクチャ当たりのタイル列の最大数およびピクチャ当たりのタイル行の最大数によって定義され、
前記レイヤのピクチャ当たりのタイルの前記最大数に基づいて、前記レイヤのピクチャ当たりのタイルの前記数を制約することが、前記複数のレイヤの1つのレイヤのピクチャ当たりのタイル列の前記数が、前記レイヤのピクチャ当たりのタイル列の前記最大数と前記レイヤのピクチャ当たりの残留タイル列の数との和よりも大きくなく、前記レイヤのピクチャ当たりのタイル行の前記数が、前記レイヤのピクチャ当たりのタイル行の前記最大数と前記レイヤのピクチャ当たりの残留タイル行の数との和よりも大きくないように、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの前記数を制約することを備え、
前記1つまたは複数のプロセッサが、
前記レイヤのピクチャ当たりの残留タイル列の前記数として、前記複数のレイヤの1つまたは複数の他のレイヤのピクチャ当たりのタイル列の前記最大数とピクチャ当たりのタイル列の前記数との間の差分の合計を決定することと、
前記レイヤのピクチャ当たりの残留タイル行の前記数として、前記複数のレイヤの前記1つまたは複数の他のレイヤのピクチャ当たりのタイル行の前記最大数とピクチャ当たりのタイル行の前記数との間の差分の合計を決定することと
を行うように構成された、
C38に記載の装置。
[C40] マイクロプロセッサ、
集積回路(IC)、および
少なくとも1つの前記ビデオエンコーダを備えるワイヤレス通信デバイス
のうちの1つを備える、C35に記載の装置。
[C41] 複数のレイヤを備えるビデオデータをコーディングするように構成された装置であって、
前記ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報をコーディングするための手段と、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりのいくつかのタイルへの前記レイヤ内のピクチャの区分化を定義する、ここにおいて、前記シンタックス情報は、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が前記レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように制約される、ここにおいて、前記レイヤのピクチャ当たりのタイルの前記最大数は、前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される、
前記コーディングされたシンタックス情報によって定義された、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記少なくとも1つのレイヤ内の前記ピクチャを処理するための手段と
を備える、装置。
[C42] 実行されたとき、
ビデオデータの前記複数のレイヤのレイヤごとのそれぞれのシンタックス情報をコーディングすることと、前記複数のレイヤのレイヤごとの前記それぞれのシンタックス情報は、前記レイヤのピクチャ当たりのいくつかのタイルへの前記レイヤ内のピクチャの区分化を定義する、ここにおいて、前記シンタックス情報は、前記複数のレイヤのレイヤごとのピクチャ当たりのタイルの数が前記レイヤのピクチャ当たりのタイルの最大数に基づいて決定されるように制約される、ここにおいて、前記レイヤのピクチャ当たりのタイルの前記最大数は、前記レイヤ内の前記ピクチャについての空間解像度、ティア情報、またはレベル情報のうちの少なくとも1つに基づいて決定される、
前記コーディングされたシンタックス情報によって定義された、前記レイヤのピクチャ当たりの前記いくつかのタイルへの前記ピクチャの前記区分化に基づいて、前記少なくとも1つのレイヤ内の前記ピクチャを処理することと
を、ビデオコーダの1つまたは複数のプロセッサに行わせる命令を記憶した、コンピュータ可読記憶媒体。
[C43] 複数のレイヤを備えるビデオデータをコーディングするように構成されたビデオコーダを備える装置であって、前記ビデオコーダが、
前記ビデオデータを符号化する符号化ビデオビットストリームを記憶するように構成されたメモリと、
前記ビデオデータの第1のレイヤについての第1の最大コーディングユニット(LCU)サイズを指定する第1のシンタックス情報と、前記ビデオデータの第2のレイヤについての第2のLCUサイズを指定する第2のシンタックス情報とをコーディングすることと、前記第1および第2のシンタックス情報は前記符号化ビデオビットストリーム内で符号化される、ここにおいて、前記第2のLCUサイズは前記第1のLCUサイズに基づいて制約される、
前記ビデオデータの前記第1および第2のレイヤについての前記第1および第2のLCUサイズに従って、前記ビデオデータの前記第1および第2のレイヤ内のピクチャを処理することと
を行うように構成された1つまたは複数のプロセッサと
を備える、装置。
[C44] 前記第2のLCUサイズが、前記第1のLCUサイズに等しいように制約される、C43に記載の装置。
[C45] 前記ビデオデータの前記第1のレイヤが、前記ビデオデータの前記第2のレイヤについてのアクティブ参照レイヤを備える、C43に記載の装置。
[C46] 前記ビデオデータの前記第1のレイヤが、信号対ノイズ(SNR)スケーラビリティのための前記ビデオデータの前記第2のレイヤについてのアクティブ参照レイヤを備える、C43に記載の装置。
[C47] ビデオデータの前記第1のレイヤ内の前記ピクチャの空間解像度が、ビデオデータの前記第2のレイヤ内の前記ピクチャの空間解像度に等しい、C43に記載の装置。
[C48] ビデオデータの前記第1のレイヤが、信号対ノイズ(SNR)スケーラビリティのためのビデオデータの前記第2のレイヤについてのアクティブ参照レイヤを備えるとき、前記第2のLCUサイズが、前記第1のLCUサイズに等しいように制約される、C43に記載の装置。
[C49] 前記ビデオデータがスケーラブルビデオコーディングデータを備え、前記複数のレイヤがスケーラブルビデオコーディングレイヤを備える、C43に記載の装置。
[C50] 前記第1および第2のシンタックス情報をコーディングすることが、前記第1および第2のシンタックス情報を含むアクティブパラメータセットを識別する情報をコーディングすることを備える、C43に記載の装置。
[C51] 前記アクティブパラメータセットがアクティブシーケンスパラメータセットを備える、C50に記載の装置。
[C52] 前記ビデオコーダが、前記複数のレイヤを備える前記ビデオデータを復号するように構成されたビデオデコーダを備え、前記1つまたは複数のプロセッサが、
前記符号化ビデオビットストリームから、前記第1のLCUサイズを指定する前記第1のシンタックス情報と、前記第2のLCUサイズを指定する前記第2のシンタックス情報とを復号することと、
前記ビデオデータの前記第1および第2のレイヤについての前記第1および第2のLCUサイズに従って、前記ビデオデータの前記第1および第2のレイヤ内のピクチャを復元することと
を行うように構成された、C43に記載の装置。
[C53] 前記ビデオコーダが、前記複数のレイヤを備える前記ビデオデータを符号化するように構成されたビデオエンコーダを備え、前記1つまたは複数のプロセッサが、
前記符号化ビデオビットストリーム内に、前記第1のLCUサイズを指定する前記第1のシンタックス情報と、前記第2のLCUサイズを指定する前記第2のシンタックス情報とを符号化することと、
前記ビデオデータの前記第1および第2のレイヤについての前記第1および第2のLCUサイズに従って、前記ビデオデータの前記第1および第2のレイヤ内のピクチャを前記符号化ビデオビットストリーム内に符号化することと
を行うように構成された、C43に記載の装置。