(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプト
(51)【国際特許分類】
H04N 19/597 20140101AFI20240509BHJP
H04N 19/563 20140101ALI20240509BHJP
【FI】
H04N19/597
H04N19/563
【外国語出願】
(21)【出願番号】P 2021121175
(22)【出願日】2021-07-26
(62)【分割の表示】P 2018228292の分割
【原出願日】2014-04-08
【審査請求日】2021-08-13
(32)【優先日】2013-04-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】515089080
【氏名又は名称】ジーイー ビデオ コンプレッション エルエルシー
【住所又は居所原語表記】1 Research Circle,Niskayuna,NY 12309,USA
(74)【代理人】
【識別番号】100079577
【氏名又は名称】岡田 全啓
(72)【発明者】
【氏名】スクーピン ローベルト
(72)【発明者】
【氏名】ズューリング カルステン
(72)【発明者】
【氏名】サンチェス デ ラ フエンテ ヤーゴ
(72)【発明者】
【氏名】テヒ ゲルハルト
(72)【発明者】
【氏名】ジョージ ヴァレーリ
(72)【発明者】
【氏名】シーアル トーマス
(72)【発明者】
【氏名】マルペ デトレフ
【審査官】鉢呂 健
(56)【参考文献】
【文献】NAKAGAMI, Ohji et al.,MV-HEVC: Vertical length restriction of inter-view vector for HEVC simple 3D extension,Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 2nd Meeting: Shanghai, CN, 13-19 Oct. 2012, [JCT3V-B0037_r1],JCT3V-B0037 (version 2),ITU-T,2012年10月12日,<URL:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V-B0037-v2.zip>: JCT3V-B0037_r1.doc: pp.1-7
【文献】COBAN, Muhammed et al.,Support of independent sub-pictures,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 9th Meeting: Geneva, CH, 27 April - 7 May 2012, [JCTVC-I0356],JCTVC-I0356 (version 1),ITU-T,2012年04月17日,<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0356-v1.zip>: JCTVC-I0356.doc: pp.1-5
【文献】TECH, Gerhard et al.,3D-HEVC Test Model 3,Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 3rd Meeting: Geneva, CH, 17-23 Jan. 2013, [JCT3V-C1005_d0],JCT3V-C1005 (version 1),ITU-T,2013年03月15日,<URL:http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1005-v1.zip>: JCT3V-C1005_d0.docx: pp.13-19
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
第1のビュー(12)から第2のビュー(15)へのビュー間予測を用いて、データストリームから複数のビュー(12、15)を復元するように構成されるマルチビューデコーダであって、前記マルチビューデコーダは、前記データストリームにおけるシグナリングに応答して、前記ビュー間予測を用いて現在予測される前記第2のビュー(15)の現在の部分(302)と同じ場所に配置された前記第1のビューの部分(306)が空間的に配置される空間セグメントの境界(300)を越えて拡張する部分において、
前記空間セグメントからの外挿によって、補間フィルタカーネル(311)を前記空間セグメントの前記境界
の外部の情報から独立した代替データによって充填するように構成され、前記空間セグメントは独立して復号化可能である、マルチビューデコーダ。
【請求項2】
前記データストリームに基づいて、前記第2のビュー(15)の現在の部分(302)について可能な視差ベクトルのドメインから視差ベクトル(308)を決定し、前記現在の部分(302)と同じ場所に配置された前記第1のビュー(12)の部分(306)から前記決定された視差ベクトル(308)分、変位した参照部分(304)において、前記第1のビュー(12)をサンプリングするように構成される、請求項1に記載のマルチビューデコーダ。
【請求項3】
前記ビュー間予測において、前記第2のビューの現在の部分について、前記第1のビュー(12)内の参照部分(314)を導き出し、前記データストリームにおけるシグナリングに依存して、前記参照部分(314)が、前記現在の部分(302)と同じ場所に配置された第1のビュー(12)の部分(306)が空間的に配置される空間セグメント(301)内にあるかどうかをチェックし、
前記参照部分が前記空間セグメント内にある場合には、前記参照部分(314)の属性から導き出された前記現在の部分(302)のための予測器を適用し、
前記参照部分が前記空間セグメント内にない場合には
、前記部分(306)が空間的に配置されている前記空間セグメント(301)内に前記参照部分(314)があるかどうかに依存して、前記現在の部分(302)のパラメータに対して
前記予測器の適用を差し控える、もしくは代替予測器を適用する、または
前記部分(306)が空間的に配置される前記空間セグメント(82)内に前記参照部分(314)があるか否かに拘りなく、前記予測器を適用する、
ように構成される、請求項1または請求項2に記載のマルチビューデコーダ。
【請求項4】
前記参照部分(314)を導き出すにあたり、
前記現在の部分(302)ための視差ベクトル(316)を推定し、
前記現在の部分(302)または前記現在の部分(302)に隣接する前記第1のビューの隣接部分(320)に対して同じ場所に配置された前記第1のビューの代表位置(318)を配置し、
前記代表位置(318)に前記視差ベクトル(316)を適用することによって前記参照部分(314)を決定する、
ように構成される、請求項3に記載のマルチビューデコーダ。
【請求項5】
前記データストリームに伝送される距離画像、または前記現在の部分について空間的または時間的に予測された視差ベクトルに基づいて、前記現在の部分のための前記視差ベクトルを推定するように構成される、請求項4に記載のマルチビューデコーダ。
【請求項6】
前記参照部分(314)を決定するにあたり、前記第1のビュー(12)を符号化ブロック、予測ブロック、残差ブロックおよび/または変換ブロックに分割したものの中から、前記参照部分を前記視差ベクトル(316)の使用によって選択するように構成される、請求項4または請求項5に記載のマルチビューデコーダ。
【請求項7】
前記パラメータは、動きベクトル、視差ベクトル、残差信号および/または奥行き値である、請求項3ないし請求項6のいずれかに記載のマルチビューデコーダ。
【請求項8】
前記属性は、動きベクトル、視差ベクトル、残差信号および/または奥行き値である、請求項3ないし請求項7のいずれかに記載のマルチビューデコーダ。
【請求項9】
第1のビュー(12)から第2のビュー(15)へのビュー間予測を用いて、複数のビュー(12、15)をデータストリームに符号化するように構成されるマルチビューエンコーダであって、前記マルチビューエンコーダは、前記ビュー間予測を用いて現在予測される前記第2のビュー(15)の現在の部分(302)と同じ場所に配置された前記第1のビューの部分(306)が空間的に配置される空間セグメントの境界(300)を越えて拡張する部分において、
前記空間セグメントからの外挿によって、補間フィルタカーネル(311)を前記空間セグメントの前記境界
の外部の独立した代替データによって充填するように構成され、前記空間セグメントは独立して符号化可能である、マルチビューエンコーダ。
【請求項10】
前記第2のビュー(15)の現在の部分(302)(例えば視差補正して予測された、予測ブロック)についての可能な視差ベクトルのドメインの中から視差ベクトル(308)を(たとえば、最適化によって)決定して前記データストリームにおいてシグナリングし、前記現在の部分(302)と同じ場所に配置された前記第1のビュー(12)の部分(306)から前記決定された視差ベクトル分(308)変位された参照部分(304)において、前記第1のビュー(12)をサンプリングするように構成される、請求項9に記載のマルチビューエンコーダ。
【請求項11】
前記ビュー間予測において、前記第2のビューの現在の部分について、前記第1のビュー(12)内の参照部分(314)を導き出し、前記データストリームにおけるシグナリングに依存して、前記参照部分(314)が、前記現在の部分(302)と同じ場所に配置された第1のビュー(12)の部分(306)が空間的に配置される空間セグメント(301)内にあるかどうかをチェックし、前記参照部分が前記空間セグメント内にある場合には、前記参照部分(314)の属性から導き出された前記現在の部分(302)のための予測
器を適用し、前記参照部分が前記空間セグメント内にない場合には、前記部分(306)が空間的に配置される前記空間セグメント(301)内に前記参照部分(314)があるかどうかに依存して、前記現在の部分(302)のパラメータへの
前記予測器の適用を
差し控える、または
前記部分(306)が空間的に配置される前記空間セグメント(301)内に前記参照部分(314)があるか否かに拘りなく、前記予測器を適用する、
ように構成される、請求項9または請求項10に記載のマルチビューエンコーダ。
【請求項12】
前記参照部分(314)を導き出すにあたり、
前記現在の部分(302)のための視差ベクトル(316)を推定し、
前記現在の部分(302)または前記現在の部分(302)に隣接する前記第1のビューの隣接部分(320)に対して同じ場所に配置された前記第1のビューの代表位置(318)を配置し、
前記代表位置(318)に前記視差ベクトル(316)を適用することによって前記参照部分(314)を決定する、
ように構成される、請求項11に記載のマルチビューエンコーダ。
【請求項13】
前記データストリームに伝送される距離画像、または前記現在の部分について空間的または時間的に予測された視差ベクトルに基づいて、前記現在の部分のための前記視差ベクトルを推定するように構成される、請求項12に記載のマルチビューエンコーダ。
【請求項14】
前記パラメータは、動きベクトル、視差ベクトル、残差信号および/または奥行き値である、請求項11ないし請求項13のいずれかに記載のマルチビューエンコーダ。
【請求項15】
前記属性は、動きベクトル、視差ベクトル、残差信号および/または奥行き値である、請求項
11ないし請求項14のいずれかに記載のマルチビューエンコーダ。
【請求項16】
第1のビュー(12)から第2のビュー(15)へのビュー間予測を用いて、データストリームから複数のビュー(12、15)を復元するための方法であって、前記方法は、前記データストリームにおけるシグナリングに応答して、前記ビュー間予測を用いて現在予測される前記第2のビュー(15)の現在の部分(302)と同じ場所に配置された前記第1のビューの部分(306)が空間的に配置される空間セグメントの境界(300)を越えて拡張する部分において、
前記空間セグメントからの外挿によって、補間フィルタカーネル(311)を前記空間セグメントの前記境界
の外部の情報から独立した代替データによって充填し、前記空間セグメントは独立して符号化可能である、方法。
【請求項17】
第1のビュー(12)から第2のビュー(15)へのビュー間予測を用いて、複数のビュー(12、15)をデータストリームに符号化するための方法であって、前記方法は、前記ビュー間予測を用いて現在予測される前記第2のビュー(15)の現在の部分(302)と同じ場所に配置された前記第1のビューの部分(306)が空間的に配置される空間セグメントの境界(300)を越えて拡張する部分において、
前記空間セグメントからの外挿によって、補間フィルタカーネル(311)を前記空間セグメントの前記境界
の外部の情報から独立した代替データによって充填するステップを含み、前記空間セグメントは独立して符号化可能である、方法。
【請求項18】
コンピュータプログラムがコンピュータ上で動作するとき、請求項
16または請求項
17のいずれかに記載の方法を実行するプログラムコードを有する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、マルチビュー画像/ビデオ符号化のような効率的なマルチビュー/レイヤ符号化を可能とする符号化コンセプトに関する。
【背景技術】
【0002】
従来技術において、スケーラブルな符号化コンセプトが知られている。ビデオ符号化において、たとえば、H.264は、空間分解能、SN比(SNR)等、および/または、大事なことであるがビューの数のような異なる項目においてベース層品質のビデオの再生品質を向上させるために、ベース層の符号化されたビデオデータストリームに付加的な増強層データを付随させることを可能とする。最近完成されたHEVC規格は、SVC/MVCプロファイル(SVC=スケーラブルビデオ符号化、MVC=マルチビュー符号化)によっても拡張される。HEVCは、その先行者H.264とは、たとえば並列の復号化/符号化に対する適合性および低遅延伝送のような多くの側面において異なる。並列の符号化/復号化に関する限り、HEVCは、タイル並列処理コンセプトと同様にWPP(ウェーブフロント並列処理)符号化/復号化をサポートする。WPPコンセプトによれば、個々の画像は行ワイズの方法でサブストリームにセグメント化される。各サブストリーム内の符号化順序は左から右に向けられている。サブストリームは、トップのサブストリームからボトムのサブストリームまで導く、それらの間で定められた復号化順序を持つ。サブストリームのエントロピー符号化は、確率適応を用いて実行される。確率初期化は、各サブストリームに対して個別に、または、第2のCTB(符号化ツリーブロック)の終端のような、それぞれの先行するサブストリームの左端から特定の位置までの間近に先行するサブストリームのエントロピー符号化において用いられる確率の前もって適応された状態に基づいてなされる。空間予測は制限される必要はない。すなわち、空間予測は、間近に継続するサブストリームの境界を横断することができる。このように、この種のサブストリームは、現在の符号化/復号化の配置によって、並列に符号化/復号化することができ、左から右に、左下から右上まで導く偏向された方法で続くウェーブフロントを形成する。タイルコンセプトによれば、画像はタイルにセグメント化され、これらのタイルの符号化/復号化に並列処理の可能な対象を提供するために、タイルの境界を横切る空間予測は禁止される。単にタイルの境界を横切るインループフィルタリングは許容することができる。低遅延処理をサポートするために、スライスコンセプトは拡張されている。スライスは、前のサブストリーム、すなわち現在のスライスが属するサブストリームの前のサブストリームの処理の間保存されるエントロピー確率を採用することと、間近の先行するスライスの終端まで連続的にアップデートされているエントロピー確率を採用することの、いずれかのエントロピー確率の初期化に対して新たに切換え可能とすることが許容される。この手段によって、WPPおよびタイルコンセプトは、低遅延処理により適するようになる。
【0003】
しかしながら、マルチビュー/レイヤ符号化コンセプトを更に改善するコンセプトを手近に有することはより好ましい。
【発明の開示】
【0004】
したがって、本発明の目的は、マルチビュー/レイヤ符号化コンセプトを更に改善するコンセプトを提供することである。
【0005】
この目的は、出願中の独立請求項の主題によって達成される。
【0006】
本願の第1の態様は、マルチビュー符号化に関する。特に、第1の態様の根底にあるアイデアは以下の通りである。ビュー間予測は、一方では、特定のシーンがキャプチャされる複数のビュー間の冗長性の利用において役立ち、それによって符号化の効率が増大する。ビュー間予測は、他方では、複数のビューが、お互いから完全に独立して復号化/符号化可能であること、すなわちたとえばマルチコアプロセッサから利益を享受するために並列に復号化/符号化可能であることを妨げる。より正確には、ビュー間予測は、第2のビューの部分を第1のビューの対応する参照部分に従属させ、第1と第2のビューの部分間のこの相互関係は、第1と第2のビューを並列に復号化/符号化するとき、特定のビュー間の復号化/符号化のオフセット/遅延が一致することを要する。1の態様の根底にあるアイデアは、第1の/参照ビューが分割される空間セグメントの空間セグメント境界においてビュー間予測が実行される方法に関して、符号化および/または復号化が変更される場合に、符号化効率を単にマイナーな方法で低減することによって、このビュー間符号化のオフセットを実質的に低減することができることである。第1のビューから第2のビューへのビュー間予測が、第1のビューの異なる空間セグメントに対するいかなる情報も結合しないが、第1のビューの1つの空間セグメントのみから生じる情報からそれぞれ第2のビューおよびそのシンタックスエレメントを予測するように、変更を実行することができる。実施形態によれば、ビュー間予測が空間セグメント境界をさらに横断しない、すなわち1つの空間セグメントが同じ場所に配置される位置または同じ場所に配置される部分を備えるように、変更はより一層厳格に実行される。ビュー間予測における第1のビューの2つ以上空間セグメントから生じる結合情報の帰結を考慮するとき、セグメント境界におけるビュー間予測の変更から生じる利益は明白になる。その場合、レイヤ間予測のこの種の組合せを含む第2のビューのいかなる部分の符号化/復号化も、レイヤ間予測によって結合されている第1のビューの全ての空間セグメントの符号化/復号化まで延期されなければならない。第1のビューの空間セグメントの空間セグメント境界におけるビュー間予測の変更は、しかしながら、この問題を解決し、第2のビューの各部分は、第1のビューの1つの空間セグメントが復号化/符号化され次第、直ちに符号化/復号化可能である。符号化効率は、しかしながら、レイヤ間予測が依然として実質的に許容されるので、軽微にのみ低減されるだけあり、制限は単に第1のビューの空間セグメントの空間セグメント境界に適用される。実施形態によれば、エンコーダは、ちょうど概説された第1のビューの2つ以上の空間セグメントの結合を回避するため、第1のビューの空間セグメントの空間セグメント境界においてレイヤ間予測の変更に対処し、この回避/事情をデコーダにシグナルし、たとえばシグナリングに反応するビュー間復号化の遅延を減らすため、相当する保証として順にシグナリングを用いる。他の実施形態によれば、デコーダも、データストリームにおけるシグナリングによってトリガーされるレイヤ間予測の方法を変更し、その結果、これらの空間セグメント境界に関する限り、レイヤ間予測をコントロールするのに必要なサイド情報の量を低減することができるので、第1のビューの空間セグメントの空間セグメント境界におけるレイヤ間予測パラメータ設定の制限はデータストリームの形成に生かすことができる。
【0007】
本発明の第2の態様は、マルチレイヤのビデオ符号化と、1つのタイムインスタントに関係するNALユニットがレイヤに関係なくそれぞれのNALユニットが関係する1つのアクセスユニットを形成するように、または、選択される可能性にかかわりなく、各タイムインスタントとレイヤのペアのNALユニットを別々に処理し、それをインターリーブなしで順序付けることによって、タイムインスタントとレイヤの各異なるペアに対して1つのアクセスユニットが存在するように、通常複数のレイヤの画像が符号化されるNALユニットがアクセスユニットに集められる事情に関する。すなわち、1つの特定のタイムインスタントとレイヤに属するNALユニットは、タイムインスタントとレイヤの他のペアのNALユニットに進む前に送出される。インターリービングは認められない。しかしながら、エンコーダはベースレイヤに属するNALユニット間の従属レイヤに属するNALユニットの送出が防止されるので、これはエンドツーエンドの遅延の更なる低減を妨げ、この機会は、しかしながら、レイヤ間並列処理から生じる。本願の第2の態様は、伝送されたビットストリーム内でのNALユニットの厳格なシーケンシャルの非インターリーブ配列をあきらめ、この目的を達成するために、1つのタイムインスタントの全てのNALユニットを集める:1つのタイムインスタントの全てのNALユニットが1つのアクセスユニット内に集められ、アクセスユニットが依然として伝送されるビットストリーム内でインターリーブされない方法で配列されるように、アクセスユニットを定める第1の可能性を再利用する。しかしながら、1つのアクセスユニットのNALユニットのインターリービングは許容され、1つのレイヤのNALユニットは、他のレイヤのNALユニットによって分散される。1つのアクセスユニット内の1つのレイヤに属するNALユニットのランは、復号化ユニットを形成する。インターリービングは、1つのアクセスユニット内の各NALユニットに対して、レイヤ間予測に対する必要な情報が、そのアクセスユニット内の先行するNALユニットのいずれかに含まれるという程度まで許容される。エンコーダは、ビットストリーム内でインターリービングが適用されたか否かをシグナリングすることができ、デコーダは、次に、シグナリングによって、各アクセスユニットの異なるレイヤのインターリーブされたNALユニットを再ソートするためにたとえば複数のバッファを用いる、またはインターリービングがない場合に単に1つのバッファを用いることができる。しかしながらエンドツーエンドの遅延が減少することで、符号化効率のペナルティに結果としてならない。
【0008】
本願の第3の態様は、NALユニット当りのようなビットストリームパケット当りのレイヤインデックスのシグナル化に関する。本願の第3の態様によれば、発明者は、アプリケーションが第1に2つのタイプのうちの1つに分かれることを認識した。通常のアプリケーションは適度な数のレイヤを必要とし、したがって全体の適度なレイヤ数をカバーするように構成される各パケットにおけるレイヤIDフィールドに悩まされない。過剰なレイヤ数を必要とする、より複雑アプリケーションはまれに起こるだけである。したがって、本願の第3の態様によれば、マルチレイヤビデオ信号におけるレイヤ識別拡張メカニズムのシグナリングは、各パケット内のレイヤ識別シンタックスエレメントが、マルチレイヤデータストリームにおけるレイヤ識別拡張とともに、完全にまたは単に部分的にそれぞれのパケットのレイヤを決定するか、またはレイヤ識別拡張によって完全に置換される/破棄されるかをシグナリングするために用いられる。この手段によって、レイヤ識別拡張が必要であり、まれに起こるアプリケーションのみにおいてビットレートを消費するが、大部分のケースにおいてレイヤ関連付けの効率的なシグナリングが可能である。
【0009】
本願の第4の態様は、ビデオ材料がマルチレイヤビデオデータストリームに符号化される情報量の異なるレベル間のレイヤ間予測の従属性のシグナリングに関する。第4の形態によれば、第1のシンタックス構造は、従属性ディメンションの数ならびに従属性ディメンションi当りのランクレベルの最大Ni、全単射のマッピング、従属性空間内の利用可能ポイントの少なくともサブセットのそれぞれの1つへの各レベルのマッピング、および従属性ディメンションi当たりの第2のシンタックス構造を定める。後者は、レイヤ中の従属性を定める。各シンタックス構造は、それぞれの第2のシンタックス構造が属する従属性ディメンションiのNiランクレベル中の従属性を記述する。このように、従属性を定める効果は従属性ディメンションによって単に線形に増加するが、このシグナリングによって課される個々のレイヤ間の相互従属性に関する制限は比較的低い。
【0010】
当然、上記の態様の全ては、対、三つ組、またはその全てにおいて結合することができる。
【図面の簡単な説明】
【0011】
本願の好ましい実施形態は、以下の図面に関して後述される。
【
図1】以下の図に関して更に概説されるマルチレイヤエンコーダのいずれかを実施する実例として役立つビデオエンコーダを示す。
【
図2】
図1のビデオエンコーダに適合するビデオデコーダを示す概略ブロック図を示す。
【
図3】WPP処理のためにサブストリームに再分割された画像の概略図を示す。
【
図4】空間セグメントへの画像の更なる再分割を指示することによってブロックに再分割されたいずれかのレイヤの画像を図示する概略図を示す。
【
図5】ブロックおよびタイルに再分割されたいずれかのレイヤの画像の概略図を示す。
【
図6】ブロックおよびサブストリームに再分割された画像の概略図を示す。
【
図7】実施形態にかかる、空間セグメント境界の近くのベースビューブロックの想定される視差ベクトルのドメインの制限を空間セグメント境界から更に離れて位置決めされるベースビューブロックと比較して図示するために両方とも互いに登録されたベースビュー画像の前に配置される従属ビュー画像によるベースビュー画像および従属ビュー画像の概略図を示す。
【
図8】実施形態にかかる、ビュー間予測の制限および空間セグメント境界をサポートするエンコーダの概略ブロック図を示す。
【
図9】
図8のエンコーダにフィットするデコーダの概略ブロック図を示す。
【
図10】想定される視差ベクトルのドメインの制限を決定する態様を図示するために視差ベクトルを用いたビュー間予測および/またはビュー間予測された従属ビューブロックのビュー間予測プロセスの可能な修正を図示する概略図を示す。
【
図11】ビュー間予測の適用を図示するために従属ビューのパラメータを予測するビュー間予測を図示する概略図を示す。
【
図12】タイルへの画像の再分割に従うコードブロックの中で定められたコードブロックと復号化順序の整数倍から成るタイルによって、コードブロックおよびタイルにそれぞれ再分割される画像の概略図を示す。
【
図13a】
図8~11の実施形態をHEVCに例示的に組み込む実施例として、修正VPSシンタックスの部分を示す。
【
図13b】
図13aの対応する部分であるが、その部分がSPSシンタックスに属する部分を示す。
【
図13c】修正VPSシンタックスの他の例示的な部分を示す。
【
図13d】ビュー間予測の変更のシグナル化を実施する修正VPSシンタックスの実施例を示す。
【
図13e】空間セグメント境界におけるビュー間予測の変更をシグナリングする修正VPSシンタックスの部分に対する更なる実施例を示す。
【
図13f】修正VPSシンタックスからの部分に対する更なる実施例を示す。
【
図13g】ビュー間予測の変更/制限のシグナリングの更なる可能性として、修正VPSシンタックスの部分を示す。
【
図14】ビュー間予測の変更/制限のシグナリングする更なる実施形態の修正VPSシンタックスの部分の実施例を示す。
【
図15】実施形態にかかる、修正をビュー間予測の変更/制限に並行してトリガーすることができる、空間セグメント境界におけるベースレイヤフィルタプロセスに対する可能な修正を図示するための、他方の上部に示される従属ビュー画像およびベースビュー画像のオーバーレイの概略図を示す。
【
図16】ここで3つのレイヤを例示的に備え、データストリーム内でそれぞれのタイムインスタントおよびそれぞれのレイヤに属するNALユニットを配置するオプション1および2が下半分において図示される、マルチレイヤビデオデータストリームの概略図を示す。
【
図17】2つのレイヤの例示的ケースにおけるこれらの2つのオプションを図示した、データストリームの部分の概略図を示す。
【
図18】オプション1の
図16および17にかかるマルチレイヤビデオデータストリームを処理するように構成されるデコーダの概略ブロック図を示す。
【
図19】
図18のデコーダにフィットするエンコーダの概略ブロック図を示す。
【
図20】実施形態にかかる、WPPを用いて画像を並列に復号化/符号化するときに結果となるウェーブフロントを付加的に指示することにより、WPP処理に対してサブストリームに再分割された画像の概略図を示す。
【
図21】各々がインターリーブされない状態にある3つの復号化ユニットによる3つのビューに関するマルチレイヤビデオデータストリームを示す。
【
図22】
図21にかかるマルチレイヤビデオデータストリームであって、ビューがインターリーブされる構成の概略図を示す。
【
図23】アクセスユニット内でのレイヤのインターリービングにおいておそらく守られる拘束を図示するために、NALユニットの内部シーケンスにおけるマルチレイヤビデオデータストリームの部分の概略図を示す。
【
図24】復号化ユニットのインターリービングをシグナリングする可能性を図示する修正VPSシンタックスの部分に対する実施例を示す。
【
図25】例示的に固定長のレイヤ識別シンタックスエレメントを備える、NALユニットヘッダの部分を示す。
【
図26】レイヤ識別拡張機構シグナリングを実現する可能性を指示するVPSシンタックスの部分を示す。
【
図27】レイヤ識別拡張機構シグナリングを実現する他の可能性を図示するVPSシンタックスの部分を示す。
【
図28】レイヤ識別拡張機構シグナリングを実現する更なる実施例を図示するためのVPSシンタックスの部分を示す。
【
図29】データストリームにおけるレイヤ識別拡張を実施する可能性を図示するためのスライスセグメントヘッダの部分を示す。
【
図30】レイヤ識別拡張を実施する更なる可能性を図示するためのスライスセグメントヘッダの部分を示す。
【
図31】レイヤ識別拡張の実現を図示するVPSシンタックスの部分を示す。
【
図32】レイヤ識別拡張を実現する他の可能性を図示するデータストリームシンタックスの部分を示す。
【
図33】実施形態にかかる、レイヤ識別シンタックスエレメントをレイヤ識別拡張と結合する可能性を図示するためのカメラセットアップを概略的に示したものである。
【
図34a】データストリーム内でレイヤ拡張機構に対するフレームワークをシグナリングするVPS拡張シンタックスの部分を示す。
【
図34b】データストリーム内でレイヤ拡張機構に対するフレームワークをシグナリングするVPS拡張シンタックスの部分を示す。
【
図35】データストリームのレイヤに関するシグナリング、従属性空間内のこれらのレイヤの配置、レイヤ間の従属性のそれぞれが提供されるマルチレイヤビデオデータストリームを処理するように構成されたデコーダの概略図を示す。
【
図36】従属性空間、ここで、特定の予測構造を用いた、空間における各ディメンションによる、2次元空間におけるレイヤの直接従属性構造、を図示する概略図を示す。
【
図37】異なるレイヤ間の従属性を特定する直接従属性フラグの配列の概略図を示す。
【
図38】異なる位置および異なるディメンションの間の従属性を特定する直接位置従属性フラグの2つの配列の概略図を示す。
【
図39】従属性空間を定める第1のシンタックス構造の部分をシグナリングする方法を図示するデータストリームシンタックスの部分を示す。
【
図40】データストリームのレイヤと従属性空間における利用可能ポイントの間のマッピングに関する第1のシンタックス構造の部分をシグナリングする可能性を図示するデータストリームの部分を示す。
【
図41】従属性ディメンションワイズの従属性を記述する第2のシンタックス構造を定める可能性を図示するデータストリームの部分を示す。
【
図42】第2のシンタックス構造を定める他の可能性を示す。
【発明を実施するための形態】
【0012】
第一に、概要として、引き続いて提示されるコンセプトのいずれかにフィットするエンコーダ/デコーダ構造に対する実施例が提示される。
【0013】
図1は、実施形態にかかるエンコーダの全般的な構造を示す。エンコーダ10は、マルチスレッドの方法または単にシングルスレッドにおいて動作できるように実施することができる。すなわち、エンコーダ10は、たとえば多重のCPUコアを用いて実施することができる。言い換えれば、エンコーダ10は、並列処理をサポートすることができるが、必ずしもその必要はない。生成されるビットストリームは、シングルスレッドのエンコーダ/デコーダによって生成/復号化することもできる。本願の符号化コンセプトは、並列処理を効率的に適用し、しかしながら圧縮効率を妥協することのない並列処理エンコーダを可能とする。並列処理能力に関して、
図2に関して後述されるデコーダに対して同様の記載が有効である。
【0014】
エンコーダ10はビデオエンコーダであるが、通常エンコーダ10は画像エンコーダとすることもできる。ビデオ14の画像12が入力16においてエンコーダ10の入力として示される。画像12は、特定のシーン、すなわち画像コンテンツを示す。しかしながら、エンコーダ10は、その入力16において、異なるレイヤに属する双方の画像12および15によって、同じタイムインスタントに関係している他の画像15も受信する。単に説明の便宜のため、画像12はレイヤ0に属するとして示されるのに対して、画像15はレイヤ1に属するとして示される。
図1は、レイヤ1がレイヤ0に対してより高い空間分解能を含むことができる、すなわち同じシーンをより高い数の画像サンプルで示すことができるが、これは単に便宜のためであり、レイヤ1の画像15は、代替として同じ空間分解能を持つが、たとえばレイヤ0と比較してビューの方向において異なる、すなわち画像12および15は異なる視点からキャプチャされたものとすることもできる。この文書において用いられるベースおよび増強レイヤの用語は、レイヤの階層構造において参照レイヤおよび従属するレイヤのいかなるセットにも言及することができることが注目される。
【0015】
エンコーダ10は、ハイブリッドエンコーダであり、すなわち、画像12および15は予測器18によって予測され、残差決定器22によって取得される予測残差20は、DCTのようなスペクトル分解のような変換、および変換/量子化モジュール24における量子化の対象となる。このように得られた、変換され、量子化された予測残余26は、エントロピー符号器28において、たとえばコンテキスト適応を用いた算術符号化または可変長符号化のようなエントロピー符号化の対象となる。残差の再構成可能なバージョンは、デコーダに対して利用可能となる、すなわち、逆量子化および再変換された残差信号30は、再変換/逆量子化モジュール31によって復元され、結合器33によって、予測器18の予測信号32と再結合され、それにより結果としてそれぞれ画像12および15の復元34になる。しかしながら、エンコーダ10は、ブロックベースで動作する。したがって、復元信号34は、ブロック境界において不連続性の被害を受け、したがって、画像12および15に対してそれぞれ参照画像38を産生するために、復元信号34にフィルタ36が適用され、それに基づいて予測器18は引き続いて異なるレイヤの符号化された画像を予測する。
図1において破線で示されるように、予測器18は、しかしながら、空間予測モジュールのような他の予測モジュールのように、フィルタ36または中間バージョンなしに復元信号34を直接利用することができる。
【0016】
予測器18は、画像12の特定のブロックを予測するために、異なる予測モードの中で選択することができる。画像12のそのようなブロック39は、
図1において例示的に示される。画像12が分割される画像12のいかなるブロックに対しても代表されるブロック39が、画像12’のような同じレイヤの前に符号化された画像に基づいて予測される時間的予測モードとすることができる。ブロック39が、同じ画像12の前に符号化された部分、隣接ブロック39に基づいて予測される空間予測モードが存在することもできる。画像15のブロック41は、画像15が分割される他ブロックのいずれに対しても代表されるように、
図1においても例示的に示される。ブロック41に対して、予測器18は、丁度述べられた予測モード、すなわち時間的および空間的予測モードをサポートすることができる。加えて、予測器18は、ブロック41が低いレイヤの画像12の対応する部分に基づいて予測されるレイヤ間予測モードに対して提供することができる。「対応する部分」における「対応する」は、空間的な対応、すなわち、画像12内の部分が画像15において予測されるブロック41と同じシーンの部分を示すことを意味する。
【0017】
予測器18の予測は、当然、画像サンプルに制限されないとすることができる。予測は、また、符号化パラメータ、すなわち予測モード、時間的予測の動きベクトル、マルチビュー予測の視差ベクトル、その他に適用することができる。単に、残差は次にビットストリーム40において符号化することができる。すなわち、空間および/またはレイヤ間予測を用いて、符号化パラメータを予測的に符号化/復号化することができる。さらにここでは、視差補償を用いることができる。
【0018】
特定のシンタックスが、量子化された残差データ26、たとえば予測器18によって決定される画像12および15の個々のブロック39および41に対する予測モードおよび予測パラメータを含む符号化パラメータと同様に、変換係数レベルおよび他の残差データを編集するために用いられ、このシンタックスのシンタックスエレメントはエントロピー符号器28によってエントロピー符号化の対象となる。エントロピー符号器28による出力としてこのように取得されたデータストリーム40は、エンコーダ10によって出力されるビットストリーム40を形成する。
【0019】
図2は、すなわち、
図1のエンコーダにフィットするデコーダを示し、ビットストリーム40を復号化することができる。
図2のデコーダは、通常、参照符号50によって指示され、エントロピー復号器、再変換/逆量子化モジュール54、結合器56、フィルタ58および予測器60を備える。エントロピー復号器42は、ビットストリームを受信し、残差データ62および符号化パラメータ64を復元するため、エントロピー復号化を実行する。再変換/逆量子化モジュール54は、残差データ62を逆量子化および再変換し、このように取得された残差信号を結合器56に転送する。結合器56も、予測器60から予測信号66を受信し、次に、符号化パラメータ64を用いて、結合器56によって予測信号66と残差信号65を結合することによって決定される復元信号68に基づいて予測信号を形成する。予測は、予測器18によって最終的に選択された予測をミラー化する、すなわち、同じ予測モードが利用可能であり、これらのモードが画像12および15の個々のブロックに対して選択され、予測パラメータに従ってステアリングされる。
図1に関して既に上述されたように、予測器60は、あるいはまたは加えて、復元信号68のフィルタリングされたバージョンまたはそのいくつかの中間のバージョンを用いることができる。最終的に復元される異なるレイヤの画像およびデコーダ50の出力70の出力の画像は、結合信号68のフィルタリングされないバージョンまたはそのいくつかのフィルタリングされたバージョンについて同様に決定することができる。
【0020】
タイルコンセプトによれば、画像12および15はそれぞれタイル80および82に再分割され、少なくともこれらのタイル80および82内のブロック39および41の予測は、それぞれ、空間予測の根拠として単に同じ画像12、15の同じタイルに関するデータをそれぞれ用いるように制限される。これは、ブロック39の空間予測は、同じタイルの前に符号化された部分を用いるように制限されることを意味するが、時間的予測モードは、画像12’のような前に符号化された画像の情報に依存するように制限されない。同様に、ブロック41の空間予測モードは、同じタイルのみの前に符号化されたデータを用いるように制限されるが、時間的およびレイヤ間予測モードは制限されない。画像15および12の6つのタイルへの再分割は、それぞれ、単に説明の便宜のため選択されたものである。タイルへの再分割は、それぞれ、画像12’、12および15、15’に対して、ビットストリーム40内で個々に選択し、シグナリングすることができる。画像12および15当りのタイルの数は、それぞれ、1、2、3、4、6などとすることができ、タイル分割はタイルの行および列への規則的な分割のみに制限することができる。完全を期すために、タイルを別々に符号化する方法はイントラ予測または空間予測に制限することができないが、タイル境界を横切る符号化パラメータのいかなる予測およびエントロピー符号化におけるコンテキスト選択も含むことができることが注目される。すなわち、後者は同じタイルのデータのみに従属するように制限することもできる。このように、デコーダは、丁度言及された並列の、すなわちタイルを単位とした、動作を実行することができる。
【0021】
図1および2のエンコーダおよびデコーダは、あるいはまたは加えて、WPPコンセプトを用いることができる。
図3を参照されたい。WPPサブストリーム100は、画像12、15のWPPサブストリームへの空間的分割を表す。タイルおよびスライスとは対照的に、WPPサブストリームは、WPPサブストリーム100を横切る予測およびコンテキスト選択への制限を課さない。WPPサブストリーム100は、LCU(最大符号化ユニット)101、すなわち予測符号化モードがビットストリームにおいて個々に伝送することのできる最も大きな可能なブロック、の行を横切るような行ワイズに拡張し、並列処理を可能とするために単に1つの妥協だけがエントロピー符号化に関してなされる。特に、順序102は、WPPサブストリーム100の中で定められ、トップからボトムまで例示的に導き、各WPPサブストリーム100に対して、順序102において最初のWPPサブストリームを除いて、シンボルアルファベットに対する確率推定、すなわちエントロピー確率は、完全にはリセットされないが、線104で指示されるように、LCU順序、または各サブストリームに対して、矢印106によって指示される左手サイドのような、それぞれ画像12および15の同じサイドにおいて開始し、LCUの行方向において他のサイドに導くサブストリームの復号化順序によって、その第2のLCUに至るまでに直前のWPPストリームをエントロピー符号化/復号化した後に結果として生ずる確率から採用されるまたはそれに等しくなるようにセットされる。したがって、それぞれ、同じ画像12および15のWPPサブストリームのシーケンス間のいくつかの符号化遅延を守ることによって、これらのWPPサブストリーム100は、それぞれの画像12、15が並列に、すなわち同時に、符号化/復号化される部分が、左から右に傾動する方法で画像を横切って移動する一種のウェーブフロント108を形成するように、並列に復号化/符号化可能である。
【0022】
順序102および104は、またLCUの中でトップからボトムまで行ごとに左上LCU101から右下LCUまで導くラスタスキャンを定めることが注目される。WPPサブストリームは、1つのLCU行とそれぞれ対応することができる。タイルに戻って簡単に参照すると、後者はLCU境界に整列されるように制限することもできる。サブストリームは、サブストリームの内側における2つのスライス間の境界に関する限り、LCU境界に拘束されることなく、1つ以上のスライスに断片化することができる。エントロピー確率は、しかしながら、サブストリームの1つのスライスから次のスライスまで遷移するケースにおいて採用される。タイルのケースでは、全てのタイルは、1つのスライスにまとめることができる、または、1つのタイルは、タイルの内側における2つのスライス間の境界に関する限り、再びLCU境界に拘束されないことによって、1つ以上のスライスに断片化することができる。タイルのケースでは、LCUの中の順序は、タイル順序において次のタイルに進む前に最初に、ラスタスキャン順序におけるタイル順序においてタイルを横断するために変更される。
【0023】
これまで記述されたように、画像12はタイルまたはWPPサブストリームに分割することができ、同様に、画像15もまたタイルまたはWPPサブストリームに分割することができる。理論的には、WPPサブストリームの分割/コンセプトは画像12および15の1つに対して選択することができるのに対して、タイルの分割/コンセプトはその2つの他方に対して選択される。あるいは、コンセプトタイプ、すなわちタイルまたはWPPサブストリーム、がレイヤの中で同じでなければならないことによって、ビットストリーム上に制限を課すことができる。空間セグメントに対する他の実施例はスライスを含む。スライスは、伝送目的に対して、ビットストリーム40をセグメント化するために用いられる。スライスは、伝送に対して最小のエンティティであるNALユニットにパックされる。各スライスは、独立に符号化/復号化可能である。すなわち、ちょうどコンテキスト選択等がそうであるように、スライス境界を横切るいかなる予測も禁止される。これらは、全体として、空間セグメントに対する3つの実施例:スライス、タイルおよびWPPサブストリームである。加えて、全3つのパラレル化コンセプト、タイル、WPPサブストリームおよびスライスは組み合わせて用いることができ、画像12または画像15はタイルに分割することができ、各タイルは多重のWPPサブストリームに分割される。
また、スライスは、タイルまたはWPP境界において、ビットストリームを多重のNALユニットに分割するために用いることができる。画像12、15がタイルまたはWPPサブストリームを用いておよび加えてスライスを用いて分割され、スライス分割が他のWPP/タイル分割から変位する場合、空間セグメントは、画像12、15の最小の、独立して復号化可能なセクションとして定められる。あるいは、画像(12または15)内でコンセプトの組み合せを用いることができ、および/または、境界が異なって用いられたコンセプト間で整列しなければならない場合、ビットストリームに制限を課すことができる。
【0024】
タイルおよび/またはWPPコンセプトのような並列処理コンセプトを可能にするため、エンコーダおよびデコーダによってサポートされるさまざまな予測モード、並びに予測モードに課される制限、並びにエントロピー符号化/復号化に対するコンテキスト導出が、上述されてきた。エンコーダおよびデコーダがブロックベースで動作することができることも言及されてきた。たとえば、上述された予測モードは、ブロックベース、すなわち画像自身より精細なグラニュラリティで選択することができる。本願の態様を記述することに進む前に、実施形態によるスライス、タイル、WPPサブストリームおよびちょうど言及されたブロックの関係が説明される。
【0025】
図4は、画像12のようなレイヤ0の画像または画像15のようなレイヤ1の画像とすることができる画像である。画像は、ブロック90の配列に規則正しく再分割される。
時には、これらのブロック90は、最大符号化ブロック(LCB)、最大符号化ユニット(LCU)、符号化ツリーブロック(CTB)等と呼ばれる。ブロック90への画像の再分割は、上述された予測および残差符号化が実行される一種のベースまたは最も粗いグラニュラリティを形成することができ、この最も粗いグラニュラリティ、すなわちブロック90のサイズは、シグナリングされ、エンコーダによってレイヤ0およびレイヤ1に対して個々にセットすることができる。たとえば、クワッドツリー再分割のようなマルチ木を用いることができ、各ブロック90を、それぞれ予測ブロック、残差ブロックおよび/または符号化ブロックに再分割するために、データストリーム内でシグナリングすることができる。特に、符号化ブロックはブロック90のリカーシブなマルチツリー再分割のリーフブロックとすることができ、いくつかの予測関連決定を予測モードのような符号化ブロックのグラニュラリティでシグナリングすることができ、そのグラニュラリティで時間的インター予測のケースにおける動きベクトルのような予測パラメータおよびたとえばインター予測のケースにおける視差ベクトルが符号化される予測ブロックおよびそのグラニュラリティで予測残差が符号化される残差ブロックをコードブロックの分離したリカーシブなマルチツリー再分割のリーフブロックとすることができる。
【0026】
ラスタスキャン符号化/復号化順序92は、ブロック90の中で定めることができる。符号化/復号化順序92は、空間予測の目的に対して隣接する部分の利用可能性を制限する:単に、符号化/復号化順序92に従って、現在予測されるシンタックスエレメントが関係する、ブロック90またはそのいくつかの小さいブロックのような現在の部分に先立つ画像の部分が、現在の画像内で利用可能である。各レイヤ内で、符号化/復号化順序92は、必ずしも画像の時間的再生順序に追従しない画像符号化/復号化順序において、次にそれぞれのレイヤの次の画像のブロックの横断を続けるために、画像の全てのブロック90を横断する。個々のブロック90内に、符号化/復号化順序92は、符号化ブロックのようなより少ないブロックの中のスキャンにリファインされる。
【0027】
ちょうど概説されたブロック90とより少ないブロックとの関係において、各画像は、ちょうど言及された符号化/復号化順序92に沿って、1つ以上のスライスに更に再分割される。したがって、例示的に
図4に示されたスライス94aおよび94bは、それぞれの画像をギャップなしにカバーする。1つの画像の連続的なスライス94aおよび94bの間の境界またはインターフェイス96は、隣接するブロック90の境界と整列するまたは整列しないことができる。より正確には、そして
図4の右手側で図示される、1つの画像内の連続的なスライス94aおよび94bは、符号化ブロック、すなわちブロック90の1つの再分割のリーフブロックのようなより小さいブロックの境界において互いに接することができる。
【0028】
画像のスライス94aおよび94bは、画像が符号化されるデータストリームの部分をパケット、すなわちNALユニットに、パケット化することができる最小単位を形成することができる。スライスの更なる可能なプロパティ、すなわち、たとえばスライス境界を横切る予測およびエントロピーコンテキストの決定、に関するスライス上への制限が上述されている。この種の制限のあるスライスは、「ノーマル」スライスと呼ぶことができる。以下でより詳細に概説されるように、ノーマルスライスの他に「従属スライス」も同様に存在することができる。
【0029】
タイル分割コンセプトが画像に対して用いられる場合、ブロック90の配列の中で定められた符号化/復号化順序92は変更することができる。これは、画像が4つのタイル82a~82dに分割されたことが例示的に示した
図5に示される。
図5に図示されるように、タイルは、ブロック90を単位とする画像の正規の再分割として、それ自身定められる。すなわち、各タイル82a~82dは、n×mのブロック90の配列からなり、nはタイルの各行に対して個々にセットされ、mはタイルの各列に対して個々にセットされる。符号化/復号化順序92に続いて、最初のタイルにおけるブロック90は、次のタイル82bその他へ進む前に最初にラスタスキャン順序でスキャンされ、タイル82a~82dは、それ自身ラスタスキャン順序でスキャンされる。
【0030】
WPPストリーム分割コンセプトに従って、画像は、符号化/復号化順序92に沿って、ブロック90の1つ以上の行を単位として、WPPサブストリーム98a~98dに再分割される。各WPPサブストリームは、たとえば、
図6に図示されるように、ブロック90の1つの完全な行をカバーすることができる。
【0031】
タイルコンセプトおよびWPPサブストリームコンセプトは、しかしながら、混合することもできる。その場合、各WPPサブストリームは、たとえば各タイル内のブロック90の1つの行をカバーする。
【0032】
画像のスライス分割さえ、タイル分割および/またはWPPサブストリーム分割とともに用いることができる。タイルに関して、画像が再分割される1つ以上スライスの各々は、符号化/復号化順序92に沿って、1つの完全なタイルまたは1つ以上の完全なタイル、または単に1つのタイルのサブ部分のいずれかから正確に構成することができる。
スライスは、WPPサブストリーム98a~98dを形成するために用いることもできる。このために、パケット化に対して最小ユニットを形成するスライスは、一方ではノーマルスライスを、他方では従属スライスを備えることができる:ノーマルスライスは、予測およびエントロピーコンテキスト導出に上述された制限を課すが、従属スライスはこの種の制限を課さない。符号化/復号化順序92が実質的に行ワイズから離れてポイントする画像の境界で開始する従属スライスは、ブロック90の直前の行におけるエントロピー復号化ブロック90から結果として生ずるエントロピーコンテキストを採用し、他のどこかで開始する従属スライスは、直前のスライスのエントロピー符号化/復号化からその終了までに結果として生ずるようなエントロピー符号化コンテキストを採用することができる。この手段によって、各WPPサブストリーム98a~98dは、1つ以上の従属スライスから構成することができる。
【0033】
すなわち、ブロック90の中で定められた符号化/復号化順序92は、それぞれの画像の第1側、ここでは例示的に左側、から反対側、例示的に右側、に線状に導き、次にブロック90の下方/ボトムの方向における次の行にステップする。現在の画像の利用可能な、すなわちすでに符号化/復号化された部分は、したがって本質的に、現在のブロック90のような、現在の符号化/復号化された部分の左および上にある。タイル境界を横切る予測およびエントロピーコンテキスト導出の破壊ため、1つの画像のタイルは、並列に処理することができる。1つの画像のタイルの符号化/復号化は、同時に始めることさえできる。制限は、タイル境界を横断するためにそれが許容されるケースにおいて、上述されたインループフィルタリングから生じる。WPPサブストリームの符号化/復号化を順番に始めることは、トップからボトムまで千鳥状の方法で実行される。連続的なWPPサブストリーム間のイントラ画像遅延は、ブロック90において測定され、2つのブロック90である。
【0034】
しかしながら、画像12および15の符号化/復号化を並列化すること、すなわち異なるレイヤのタイムインスタントさえ有利である。明らかに、従属レイヤの画像15の符号化/復号化は、既に利用可能であるベースレイヤの「空間的に対応する」部分があることを保証するため、ベースレイヤの符号化/復号化と比較して遅延されなければならない。これらの配慮は、画像12および15内で、個々に符号化/復号化のいかなる並列化も用いないケースでさえ有効である。全部の画像12および15をカバーするためにそれぞれ1つのスライスを用いるケースにおいてさえ、タイルおよびWPPサブストリームの処理を用いないことによって、画像12および15の符号化/復号化を並列化することができる。次に記述されるシグナリング、すなわち態様6、は、レイヤの画像のいずれかに対してタイルまたはWPPの処理が用いられるこの種のケースにおいてさえ、またはそれに拘らず、レイヤ間のこの種の復号化/符号化遅延を表現する可能性がある。
【0035】
本願の上記提示されたコンセプトを議論する前に、再び
図1および2を参照して、
図1および2におけるエンコーダおよびデコーダのブロック構造は単に説明の便宜のためであり、構造は異なることもできる点に留意すべきある。
【0036】
連続的なレイヤの符号化の間の最小符号化遅延に関係する上記説明に関して、デコーダは、短期のシンタックスエレメントに基づいて最小復号化遅延を決定することができる点に留意すべきである。しかしなから、予め定められた期間に対して、前もってこのレイヤ間時間的遅延をシグナリングするために長期のシンタックスエレメントを用いるケースにおいて、デコーダは、提供される保証を用いて将来においてプランすることができ、ビットストリーム40の並列復号化内でワークロードアロケーションをより容易に実行することができる。
【0037】
第1の態様は、より低いオーバーオールの符号化/復号化遅延または並列化機能の利益となるために、ビューの中のレイヤ間予測、特に、たとえば視差補正されたビュー間予測を制限することに関する。詳細は、以下の図から直ちに利用可能である。簡単な説明としては、
図7を参照されたい。
【0038】
エンコーダは、たとえば、従属ビューの現在ブロック302がベースレイヤセグメントの境界300においてレイヤ間-予測されるように、視差ベクトルの利用可能なドメイン301を制限することができる。303は制限を指示する。比較のため、
図7は、従属ビューの他のブロック302’を示し、その視差ベクトルの利用可能なドメインは制限されない。エンコーダは、データストリームにおいて、デコーダが低遅延検知におけるその利益をとることができるようにするため、この挙動、すなわち規制303をシグナリングすることができる。すなわち、デコーダは、レイヤ間予測がエンコーダに関する限り、しかしながら、「利用可能でないセグメント」の部分が必要でない、すなわちデコーダがレイヤ間遅延をより低く保つことができることを保証して、ちょうどノーマルとして動作することができる。あるいは、加えて、たとえば、境界300におけるレイヤ間予測パラメータの利用可能状態のより低いマニホルドを利用するために、境界300におけるレイヤ間予測に関する限り、エンコーダとデコーダの両方ともそれらの動作モードを変更する。
【0039】
図8は、ビュー間予測を用いて、複数のビュー12および15をデータストリーム40に符号化するように構成されるマルチビューエンコーダ600を示す。
図8のケースでは、ビューの数は、矢印602を用いて図示されるように、第1のビュー12から第2のビュー15に導くビュー間予測によって、例示的に2に選択される。2つ以上のビューに対する拡張は、容易に想像できる。同じことは、以下に記述される実施形態に適用される。マルチビューエンコーダ600は、第1のビューが分割される空間セグメント301の空間セグメント境界300においてビュー間予測を変更するように構成される。
【0040】
エンコーダ600に関する可能な実施詳細に関する限り、たとえば、
図1に関して上記提案された記載が参照される。すなわち、エンコーダ600は、画像またはビデオのエンコーダとすることができ、ブロックワイズの方法で動作することができる。特に、エンコーダ600は、第1のビュー12および第2のビュー15を予測符号化にかけ、予測パラメータをデータストリーム40に挿入し、スペクトル分解を用いて予測残差をデータストリーム40に変換符号化し、少なくとも第2のビュー15に関する限り、少なくとも空間およびビュー間予測602を含む異なる予測タイプの間でスイッチするように構成された、ハイブリッド符号化タイプとすることができる、前に述べたように、エンコーダ600が異なる予測タイプ/モードの間でスイッチするユニットは、符号化ブロックと呼ぶことができ、これらの符号化ブロックが、たとえば、第2のビュー15の画像の階層的マルチツリー再分割のリーフブロックまたは第2のビュー15の画像が定期的に予備分割することができるツリールートブロックを表すことができるように、そのサイズは変化することができる。ビュー間予測は、ブロック302内のサンプルが部分608の復元されたバージョンをブロック302にコピーすることによって予測される部分608をアクセスするために、第2のビュー15の画像のビュー間予測されたブロック302に対して空間的に同じ場所に配置された第1のビュー12の画像の空間的に同じ場所に配置された部分606に適用される変位を指示する視差ベクトル604を用いて、それぞれの符号化ブロック内でサンプルを予測することに結果としてなることができる。ビュー間予測602は、しかしながら、第2のビュー15のサンプル値のそのタイプに制限されない。むしろ、加えてまたはあるいは、エンコーダ600によってサポートされるようなビュー間予測は、それ自身予測パラメータを予測的に符号化するために用いることができる:エンコーダ600が、ちょうど概説されたビュー間予測モードに加えて、空間および/または時間的予測をサポートすることを想像されたい。ちょうど時間的予測がするように、特定の符号化ブロックを空間的に予測することは、その符号化ブロックがデータストリーム40に挿入される予測パラメータにおいて終わる。第2のビュー15の画像の符号化ブロックのこれらの予測パラメータの全てをデータストリーム40に独立に符号化する代わりに、しかしながら、第1のビューの画像をデータストリーム40に符号化することに用いられた予測パラメータから独立して、エンコーダ600は、第1のビュー12がエンコーダ600によって符号化されたデータストリーム40の部分から入手可能な予測パラメータまたは他の情報に基づいて第2のビュー15の符号化ブロックを予測符号化することに用いられる予測パラメータを予測することによって、予測符号化を用いることができる。すなわち、動きベクトル等のような第2のビュー15の特定の符号化ブロック302の予測パラメータは、たとえば対応する第1のビュー12の時間的に予測された符号化ブロックの動きベクトルに基づいて、予測することができる。「対応」は、ビュー12と15との視差を考慮に入れることができる。たとえば、第1および第2のビュー12および15は、各々それに関連する距離画像を有することができ、エンコーダ600は、ビュー12および15のテキスチャーサンプルを、距離画像の関連する奥行き値とともに、データストリーム40に符号化するように構成することができ、エンコーダ600は、第1のビュー12内で、そのシーンコンテンツが第2のビュー15の現在の符号化ブロック302のシーンコンテンツによりよくフィットする「対応する符号化ブロック」を決定するために、符号化ブロック302の奥行き推定を用いることができる。当然、この種の奥行き推定は、符号化されたいかなる距離画像にもかかわりなく、ビュー15の近くでビュー間予測された符号化ブロックの使用された視差ベクトルに基づいて、エンコーダ600によって決定することもできる。
【0041】
既に述べたように、
図8のエンコーダ600は、空間セグメント境界300でビュー間予測を変更するように構成される。すなわち、エンコーダ600は、これらの空間セグメント境界300でビュー間予測の方法を変更する。その理由および目的は、更に以下で概説される。特に、エンコーダ600は、ビュー間予測された符号化ブロック300のテキスチャーサンプルコンテンツまたはこの種の符号化ブロックの特定の予測パラメータのような、予測される第2のビュー15の各エンティティが、ビュー間予測602の方法によって、単に第1のビュー12の1つの空間セグメント301に正確に従属するというような方法で、ビュー間予測の方法を変更する。その利益は、サンプル値または予測パラメータがビュー間予測された特定の符号化ブロックのビュー間予測の変更の結果に注目することで容易に理解することができる。ビュー間予測602の変更または制限なしで、この符号化ブロックを符号化することは、ビュー間予測602に参加している第1のビュー12の2つ以上の空間セグメント301の符号化を完了するまで延期されなければならない。したがって、エンコーダ600は、いずれにせよこのビュー間符号化遅延/オフセットを守らなければならず、エンコーダ600は、ビュー12および15を時間オーバーラップ方法で符号化することによって、符号化遅延を更に低減することはできない。ビュー間予測602が、ちょうど概説された方法で、空間セグメント境界301において変更/修正されるとき、そのケースでは、いくつかのエンティティがビュー間予測される非常に問題の符号化ブロック302は、第1のビュー12の1つ(単に1つだけ)の空間セグメント301が完全に符号化されるとすぐに符号化の対象とすることができるので、ものは異なる。それによって、想定される符号化遅延は低減される。
【0042】
したがって、
図9は、
図8のマルチビューエンコーダにフィットするマルチビューデコーダ620を示す。
図9のマルチビューデコーダは、第1のビュー12から第2のビュー15に対するビュー間予測602を用いて、データストリーム40から複数のビュー12および15を復元するように構成される。上述されたように、デコーダ620は、そのいくつかはビュー間予測された符号化ブロックである第2のビュー15のそれぞれの符号化ブロックに対して指示される予測モードのような、データストリーム含まれる予測パラメータを、データストリーム40から読み込み、適用することによって、
図8のマルチビューエンコーダ600によってなされると予想されるのと同じ方法でビュー間予測602をやり直すことができる。すでに上述されたように、ビュー間予測602は、あるいはまたは加えて、予測パラメータ自身の予測に関係することができ、データストリーム40は、この種のビュー間予測された予測パラメータに対して、予測残差または予測器のリストにポイントするものであって、そのうちの1つは602に従ってビュー間予測されるインデックスを備えることができる。
【0043】
図8に関して既に記述されたように、エンコーダは、2つのセグメント301からの情報を組み合わせるビュー間予測602を回避するために、境界300におけるビュー間予測の方法を変更することができる。エンコーダ600は、デコーダ620に対して透明な方法で、これを達成することができる。すなわち、エンコーダ600は、データストリーム40内で伝達されるセットされた符号化パラメータを適用するデコーダ620によって、ビュー間予測602における2つの区別可能なセグメント301の情報の組み合わせが本質的に回避されるように、可能な符号化パラメータセッティングからのその選択に関して、単純に自主制限を課すことができる。
【0044】
すなわち、デコーダ620がデータストリーム40の復号化に対して、ビュー12および15を並列に復号化することによって並列処理を適用することに興味がない、または使用可能でない限り、デコーダ620は、ビュー間予測における前述の変更をシグナリングする、データストリーム40に挿入されるシグナル化を単純に無視することができる。より正確には、本願の一実施形態に従って、あるいは、
図8のエンコーダは、データストリーム40内でセグメント境界300でのビュー間予測における変更、すなわち境界において変化があるかまたは変化がないかをデータストリーム内でシグナリングする。適用されるようにシグナリングされる場合、デコーダ620は、第2のビューのそれぞれの部分302に対して同じ場所に配置された第1のビュー12の同じ場所に配置された部分306が配置される空間セグメント以外の空間セグメント上に、第2のビュー15のいかなる部分302のいかなる従属性も含まないように、ビュー間予測602が空間セグメント301の空間セグメント境界300で制限されることの保証として、境界300でのビュー間予測602における変更をとることができる。すなわち、境界300でのビュー間予測602における変更が適用されるようにシグナリングされる場合、デコーダ620はこれを保証としてとる:ビュー間予測602がそのサンプルまたはその予測パラメータの予測に対して用いられる従属ビュー15のいかなるブロック302に対しても、このビュー間予測602はいかなる「隣接する空間セグメント」上にいかなる従属性も導入しない。これは、以下を意味する:各部分/ブロック302に対して、第2のビュー15のそれぞれのブロック302と同じ場所に配置された第1のビュー12の同じ場所に配置された部分606がある。「同じ場所」は、たとえば、ビュー12内のブロックの円周が正確にローカルにブロック302の円周と同一指標を示すことが意図されている。あるいは、「同じ場所」はサンプル精度で測定されないが、「同じ場所に配置された」ブロックを決定することが結果としてレイヤ12の画像のブロックへの分割からそのブロックの選択になる、すなわち、たとえば位置を組み込むものがブロック302の左上隅に対して同じ場所に配置された位置を組み込むまたはブロック302の他の代表位置を選択することになるように、レイヤ12の画像が分割されるブロックのグラニュラリティで測定される。「同じ場所に配置された部分/ブロック」は606で示される。ビュー12および15の異なるビュー方向によって、同じ場所に配置された部分606が部分302と同じシーンコンテンツを備えることができないことを思い出してほしい。それでも、ビュー間予測の変更のシグナル化のケースでは、デコーダ620は、ビュー間予測602の対象とされる第2のビュー15のいかなる部分/ブロック302も、ビュー間予測602によって、単に同じ場所に配置された部分/ブロック606が配置される空間セグメント301に従属すると仮定する。すなわち、お互いに他の一方が登録された第1および第2のビューの12の15の画像に注目するとき、ビュー間予測602は、第1のビュー12のセグメント境界300を横断せず、第2のビュー15のそれぞれのブロック/部分302が配置されるそれらのセグメント301は15を見るそれらのセグメント301内にとどまる。たとえば、マルチビューエンコーダ600は、第2のビュー15のビュー間予測された部分/ブロック302のシグナリング/選択された視差ベクトル604を適切に制限しており、および/または、「隣接する空間セグメント301」の情報からビュー間予測602を含む予測器をインデックスしないように、インデックスを予測器リストに適切に符号化/選択している。
【0045】
図8および9のエンコーダおよびデコーダに関して、お互いに組み合わせることができるまたは組み合わせることができないさまざまな実施形態を表すさまざまな可能な詳細の記載を続ける前に、以下が注目される。
図8および9の説明から、エンコーダ600がそのビュー間予測602の「変更/制限」を実現することができる異なる方法があることが明らかになる。よりゆるい制限において、エンコーダ600は、ビュー間予測602が2つ以上の空間セグメントの情報を組み合わせないような方法おいてビュー間予測602を制限する。
図9の記載は、従って、ビュー間予測602が空間セグメント302を横断しないようにさらに制限される、より厳しい制限例を特徴とする:すなわち、ビュー間予測602の対象とされる第2のビュー15のいかなる部分/ブロック302も、ビュー間予測602を介して、その「同じ場所に配置されたブロック/部分606」が配置される第1のビュー12のその空間セグメント301の情報から排他的にそのビュー間予測器を取得する。エンコーダは、それに応じて作動する。後者の制限タイプは、
図8の記載の変形例を表し、前に記述されたものよりさらに厳しい。両方の変形例により、デコーダ602は制限を利用することができる。たとえば、デコーダ620は、適用されるようにシグナリングされる場合、第1のビュー12と関連して第2のビュー15を復号化することにおけるビュー間復号化のオフセット/遅延を低減する/減少させることによって、ビュー間予測602の制限を利用することができる。あるいはまたは加えて、デコーダ602は、ビュー12および15を並列に復号化するトライアルの実行を決定するとき、保証のシグナリングを考慮に入れることができる:適用するために保証がシグナリングされる場合に、デコーダは、日和見主義的にビュー間並列処理を実行し、それ以外はそのトライアルを差し控える。たとえば、第1のビュー12が定期的に4つの空間セグメント301に分割され、各々が第1のビューの12の画像の4分の1を表す、
図9に示された実施例において、デコーダ620は、第1のビュー12の第1の空間セグメント301が完全に復号化されるとすぐに、第2のビュー15の復号化を開始することができる。それ以外は、視差ベクトル604が水平の自然界のみの中にあるとみなして、デコーダ620は、第1のビュー12の両方の上側の空間セグメント301の完全な復号化を少なくとも待たなければならない。セグメント境界300に沿ったビュー間予測のより厳しい変更/制限によって、保証の利用がより容易になる。
【0046】
前述の保証のシグナル化は、たとえば、単に1つの画像または画像のシーケンスさえを包含するスコープ/有効性を有することができる。したがって、後述するように、それは、ビデオパラメータセットまたはシーケンスパラメータセットまたはさらに画像パラメータセットにおいて、シグナリングすることができる。
【0047】
今まで、保証のシグナル化、データストリーム40および
図8および9のエンコーダおよびデコーダによってそれを符号化/復号化する方法を除いて、ビュー間予測602における変更によって変化しない実施形態が、
図8および9に関して提供されてきた。むしろ、データストリームを復号化/符号化する方法は、ビュー間予測602における自己制限が適用されるか否かに拘らず、同じままである。代替の実施形態によれば、しかしながら、エンコーダおよびデコーダは、保証ケース、すなわち空間セグメント境界300でのビュー間予測602の制限を利用するために、データストリーム40を符号化/復号化するそれらの方法を変更しさえする。たとえば、データストリーム40においてシグナル化可能な想定される視差ベクトルのドメインは、第1のビュー12の空間セグメント境界300の同じ場所の近くの第2のビュー15のビュー間予測されたブロック/部分302に対して制限することができる。たとえば、もう一度
図7を参照されたい。すでに上述されたように、
図7は、第2のビュー15の2つの例示的なブロック302’および302を示し、そのうちの1つ、すなわちブロック302は、第1のビュー12の空間セグメント境界300の同じ場所に配置された位置に近い。第1のビュー12の空間セグメント境界300の同じ場所に配置された位置は、それを第2のビュー15に変えるとき、622で示される。
図7に示されるように、ブロック302の同じ場所に配置されたブロック306は空間セグメント境界300に近くにあり、垂直に分離する空間セグメント301aは同じ場所に配置されたブロック606を備え、垂直に隣接する空間セグメント301bは、あまりに大きい視差ベクトルが同じ場所に配置されたブロック/部分606を右まで、すなわち隣接する空間セグメント301bの方へシフトするそのような範囲に、少なくとも部分的に、この隣接する空間セグメント301bのサンプルからコピーされるビュー間予測ブロック302に結果としてなり、この場合にビュー間予測602は空間セグメント境界300を横断する。したがって、「保証ケース」において、エンコーダ600は、ブロック302に対してこの種の視差ベクトルを選択することができず、したがって、ブロック302に対する想定される視差ベクトルの符号化可能なドメインは制限することができる。たとえば、ハフマン符号化を用いるとき、ビュー間予測されたブロック302に対して視差ベクトルを符号化するために用いられたハフマン符号は、ブロック302が可能な視差ベクトルのその制限されたドメインの事情を利用するために変更することができる。算術符号化のケースにおいて、たとえば、2進演算スキームと組み合せる他の2値化は視差ベクトルの符号化に用いることができる、または想定される視差ベクトルの中の他の確率分布を用いることができる。この実施形態によれば、空間セグメント境界300でのビュー間予測の制限から結果として生じる軽微な符号化効率の減少は、空間セグメント境界300の同じ場所に配置された位置の近くの空間セグメント302に対する視差ベクトルの伝送に関してデータストリーム40内で伝達されるサイド情報の量を低減することによって、部分的に補償することができる。
【0048】
このように、前述の実施形態によれば、マルチビューエンコーダおよびマルチビューデコーダの両方とも、保証ケースが適用されるか否かに従って、データストリームから視差ベクトルを復号化/符号化するそれらの方法を変更する。たとえば、両方とも、視差ベクトルを復号化/符号化するために用いられるハフマン符号を変更する、または視差ベクトルを算術的に復号化/符号化するために用いられる2値化および/または確率分布を変更する。
【0049】
具体例に関して、
図8および9におけるエンコーダおよびデコーダがデータストリーム40においてシグナル化可能な想定される視差ベクトルのドメインを制限する方法をより明らかに記述するため、
図10が参照される。
図10は、ビュー間予測されたブロック302に対するエンコーダおよびデコーダの通常の挙動を再び示す:想定される視差ベクトルのドメインからの視差ベクトル308は、現在のブロック302に対して決定される。ブロック302は、従って視差補正されて予測される予測ブロックである。第1のビュー12は、次に参照部分304でサンプルされ、それは、決定された視差ベクトル308によって、現在ブロック302に対して同じ場所に配置された第1のビュー12の同じ場所に配置された部分306から変位させられる。データストリームにおいてシグナル化可能な想定される視差ベクトルのドメインの制限は、以下のようになされる:制限は、参照部分304が同じ場所に配置された部分306が空間的に配置される空間セグメント301a内に完全にあるようになされる。
図10に図示された視差ベクトル308は、たとえば、この制限を果たさない。それは、従って、ブロック302に対して想定される視差ベクトルのドメインに対して外部にあり、一実施形態によれば、ブロック302に関する限り、データストリーム40においてシグナル化可能でない。代替の実施形態によれば、しかしながら、視差ベクトル308は、データストリームにおいてシグナル化可能となるが、エンコーダ600は、保証ケースにおいて、この視差ベクトル308の適用を回避し、たとえば、ブロック302に対して、たとえば空間予測モードのような他の予測モードを適用することを選択する。
【0050】
図10は、また、視差ベクトルのドメインの制限を実行するために、補間フィルタのカーネル半価幅10を考慮することができることを図示する。より正確には、第1のビュー12の画像から視差補正され予測されたブロック302のサンプルコンテンツのコピーにおいて、ブロック302の各サンプルは、サブペルの視差ベクトルのケースにおいては、特定の補間フィルタカーネルサイズを有する補間フィルタを用いて補間を適用することによって、取得することができる。たとえば、
図10において「x」を用いて図示されるサンプル値は、その中心においてサンプル位置「x」が配置されるフィルタカーネル311内のサンプルを組み合せることによって取得することができ、従ってブロック302に対する想定される視差ベクトルは、そのケースにおいて、参照部分304内にいずれのサンプルもないようにさえ制限することができ、フィルタカーネル311は、隣接する空間セグメント301bにオーバーレイするが、現在の空間セグメント301a内にとどまる。シグナル化可能なドメインは、したがって、制限することができるまたは制限することができない。代替の実施形態によれば、隣接する空間セグメント301b内に配置されたフィルタカーネル311のサンプルは、サブペルの視差ベクトルに対して、想定される視差ベクトルのドメインの付加的な制限を回避するためにいくつかの例外的なルールに従う以外は、単純に装填することができる、デコーダは、しかしながら、単に保証を適用するためにシグナリングされるケースにおいて、交換装填を可能とする。
【0051】
後者の実施例は、デコーダ620ができるかできないか、および、加えてまたはあるいは、データストリームのエントロピー復号化における変更が、シグナリングおよびエンコーダ600によってデータストリームに挿入されたようなデータストリームに応答して、空間セグメント境界300でのビュー間予測を実行する方法を変更することを明らかにしている。たとえば、前述のように、エンコーダおよびデコーダの両方とも、保証ケースが適用されるか否かに従って、空間セグメント境界300を越えて拡張する部分において補間フィルタカーネルを異なって充填することができる。同じことは、参照部分306そのものにも適用することができる。参照部分306は、それぞれの部分が現在の空間セグメント301aの外部のいかなる情報からも独立した情報を代わりに用いて充填されて、隣接する空間セグメント301bに少なくとも部分的に拡張することが可能となりうる。事実上、エンコーダおよびデコーダは、保証ケースにおいて、参照部分304の部分および/または補間フィルタカーネル311が現在の空間セグメント301aからの外挿によって充填されて、空間セグメント300を画像境界のように扱うことができる。
【0052】
また、上述されたように、ビュー間予測602は、ビュー間予測されたブロック302のサンプルワイズのコンテンツの予測に制限されない。むしろ、ビュー間予測は、たとえば、ビュー15の時間的に予測されたブロック302の予測に関係する動きパラメータ、または空間的に予測されたブロック302の予測に関係する空間予測パラメータの予測のような、予測パラメータの予測に適用することもできる。可能な変更、境界300でのこの種のビュー間予測602に課される制限を説明するため、
図11が参照される。
図11は、ビュー間予測を用いて、そのパラメータが、少なくともインターエイリアスで予測される従属ビュー15のブロック302を示す。たとえば、ブロック302のパラメータのいくつかの予測器のリストは、ビュー間予測602によって決定することができる。このために、エンコーダおよびデコーダは、たとえば、以下のように作用する:第1のビュー12の参照部分は、現在ブロック302に対して選ばれる。参照部分/ブロック314の選択または導出は、第1のレイヤの12の画像は分割される、符号化ブロック、予測ブロック等のようなブロックから実行される。その導出に対して、第1のビュー12内の代表位置318は、ブロック302の代表位置628、またはブロック302に隣接する隣接ブロック320の代表位置630に対して同じ場所に配置されるように決定することができる。たとえば、隣接ブロック320は、ブロック302のトップに対するブロックとすることができる。ブロック320の決定は、第2のビューレイヤの15の画像がブロック302の左上隅のサンプルのトップの直近にサンプルを備えるように分割されるブロックからの選択ブロック320を含むことができる。代表位置628および630は、左上隅におけるサンプルまたはブロック等の中央におけるサンプルとすることができる。第1のビュー12における参照位置318は、次に628または630に対して同じ位置に配置される位置である。
図11は、位置628に対して同じ場所を図示する。次に、エンコーダ/デコーダは、視差ベクトル316を推定する。これは、たとえば、それぞれ、現在のシーンの推定された距離画像に基づいて、またはすでに復号化され、ロック302またはブロック320の空間‐時間的に近傍にある視差ベクトルを用いて、なすことができる。このように決定された視差ベクトル316は、ベクトル316のヘッドが配置632をポイントするように、代表位置318に適用される。第1のビュー12の画像のブロックへの分割の中で、参照部分314は、配置632を備えるその部分であるように選択される。ちょうど言及されたように、部分/ブロック314の選択がなされる分割は、ビュー12の符号化ブロック、予測ブロック、残差ブロックおよび/または変換ブロックの分割とすることができる。
【0053】
一実施形態によれば、単にマルチビューエンコーダは、参照部分314が隣接する空間セグメント301b内に、すなわち参照ポイント628の同じ場所がある、同じ場所に配置されたブロックを備えない空間セグメント内にあるかどうかをチェックする。エンコーダが上記概説された保証をデコーダにシグナリングする場合、エンコーダ600は、現在のブロック302のパラメータに対するいかなる適用も抑制する。すなわち、ブロック302のパラメータに対する予測器のリストは境界300の横断に導くビュー間予測器を備えることができるが、エンコーダ600はその予測器を選択することを回避し、不必要な予測器をポイントしないブロック302に対するインデックスを選ぶ。マルチビューエンコーダおよびデコーダの両方が、保証ケースにおいて、参照部分314が隣接する空間セグメント301b内にあるかどうかをチェックする場合、エンコーダおよびエンコーダの両方は、他の予測器を有する「境界を横断する」ビュー間予測器を他の予測器で置換するまたは単純にそれを、たとえば、空間的におよび/または時間的に予測されたパラメータおよび/または1つ以上の不履行予測器をも含むこともできる予測器のリストから排除することができる。状態、すなわち参照部分314が空間セグメント301aの一部であるかまたはないかどうか、および条件つきの置換または排除のチェックは、単に保証ケースにおいてなされる。非保証のケースでは、参照部分314が空間セグメント301a内にあるかどうかのいかなるチェックも中止することができ、参照部分314の属性から導き出された予測器のブロック302のパラメータの予測への適用は、参照部分314が空間セグメント301aまたは301b内にあるかまたはどこにあるかに拘りなく、なすことができる。ブロック314の属性から導き出されたいかなる予測器も現在のブロック302に対する予測器のリストに加えない、または代替予測器の追加のケースでは、空間セグメント301a内にまたは外にある参照ブロック314に従い、通常のビュー間予測のそれぞれの修正が、エンコーダ並びにデコーダ620によって実行される。この手段によって、このように決定されたブロック302に対する予測器のリストへのいかなる予測器インデックスも、デコーダ内の同じ予測器のリストをポイントする。ブロック302に対するインデックスのシグナル化可能なドメインは、保証ケースが適用されるか否かに応答して制限することができるまたは制限することができない。補償ケースが適用されるが、単にエンコーダがチェックを実行するケースでは、マルチビューエンコーダは、参照部分314が空間セグメント301a内にあることに拘らず(そして、保証ケースを適用するか否かにさえ拘らず)、しかしながら、予測ケースにおいて、予測器のリストが空間セグメント301aの外部にあるブロック314の属性から導き出されたケースにおいて、それから予測器を選択しないようにインデックスを制限することによって、ブロック302に対する予測器のリストを形成する。そのケースでは、デコーダ620は、同じ方法で、すなわち保証および非保証のケースにおいて、エンコーダ600が、ビュー間予測が隣接する空間セグメント301bからいかなる情報も必要としないことに既に対処しているのと同じ方法で、ブロック302に対する予測器のリストを形成することができる。
【0054】
ブロック302のパラメータおよび参照部分314の属性に関しては、それは、動きベクトル、視差ベクトル、変換係数のような残差信号、および/または、奥行き値とすることができることが注目される。
【0055】
図8~11に関して記述されたビュー間予測変更コンセプトは、すなわち後述される方法で、HEVC標準の現在想定されている拡張に導入することができる。その限りにおいて、以下に間近に提案される記載は、
図8~11に関して上記提案された記載に関する可能な実施詳細に対する基礎としても解釈される。
【0056】
中間の注として、ビュー間予測が変更/制限される境界においてユニットを形成するとして上記議論された空間セグメント301は、そのユニットにおいてイントラレイヤ並列処理が軽減されるまたは可能にされるこの種の空間セグメントを必ずしも形成しないことが注目される。言い換えれば、
図8~11の上記議論された空間セグメントは、ベースレイヤ12が分割されるタイルとすることができるが、空間セグメント301がベースレイヤ12の符号化ツリールートブロックCTBを形成する実施例のような、他のサンプルも同様に可能である。後述する実施形態において、空間セグメント301は、タイルの定義と結合される、すなわち、空間セグメントはタイルまたはタイルのグループである。
【0057】
超低遅延に対して引き続いて説明された制限およびHEVCにおける並列化により、レイヤ間予測は、ベースレイヤ画像、特にタイルの分割を確実にする方法で拘束される。
【0058】
HEVCは、垂直および水平の境界のグリッドを介して、符号化されたベースレイヤ画像のCTBを、タイルと称され、インループフィルタリングを除いて独立に処理することができる矩形状領域に分割することを可能にする。インループフィルタは、それらを完全に独立にするために、タイル境界でターンオフすることができる。
【0059】
タイル境界のアーチファクトを減らすように構成された場合に、インループフィルタはタイル境界を横断することができるが、解析および予測の従属性は、特に画像境界のようなタイル境界においては破壊される。それ故に、個々のタイルの処理は、画像内の他のタイルに完全には、またはフィルタリング構成の広大な範囲の従属に対しては、依存しない。タイルの全てのCTBが同じスライスに帰属する、または、スライスの全てのCTBが同じタイルに帰属するという点で、制限がインストールされる。
図1において分かるように、タイルは、CTBスキャン順序が、タイルの順序、すなわち、第2のタイル、例えば右上タイルに帰属するCTBを続ける前に、第1のタイル、例えば左上タイルに帰属する全てのCTBを通過することに注意するように強制する。タイル構造は、画像内でグリッドを構成する各タイルの行および列におけるCTBの数およびサイズを通して定められる。この構造は、フレームベース当りで変更するまたは符号化ビデオシーケンスにわたって一定である、のいずれかとすることができる。
【0060】
図12は、画像内でのCTBの9枚のタイルへの例示的な分割を示す。太い黒線はタイル境界を表し、番号付けはCTBのスキャン順序を表し、またタイル順序を示す。
【0061】
HEVC拡張の増強レイヤタイルは、ベースレイヤビットストリームにおけるその対応するイメージエリアをカバーする全てのタイルが復号化されるとすぐに、復号化することができる。
【0062】
次のセクションは、
図7~11のコンセプトを用いて、より低いレイヤ間符号化オフセット/遅延を可能とする、拘束、シグナリングおよび符号化/復号化プロセスの修正を記述する。
【0063】
HEVCにおけるタイル境界に関係する修正された復号化プロセスは、以下のように見ることができる:
【0064】
a)動きまたは視差ベクトルは、ベースレイヤにおいてタイルを横断してはならない。
拘束が可能な場合、以下を適用する:
レイヤ間予測(例えば、サンプル値、動きベクトル、残差データまたは他のデータの予測のような)が参照用画像としてベースビュー(レイヤ12)を用いる場合、視差または動きベクトルは、参照された画面エリアが共起されたベースレイヤCTUと同じタイルに帰属するように、拘束される。特定の実施形態において、動きまたは視差ベクトル308は、参照された画像エリアが同じタイルの内部に配置され、参照されたサブペル位置は同じタイルの内部の情報のみから予測されるように、復号プロセスにおいてクリップされる。現在のHEVCのサンプル補間プロセスにおいてより具体的には、これはタイル境界300から3~4画素離れてクリップされるサブペル位置をポイントする動きベクトルを拘束する、またはビュー間動きベクトル、ビュー間残差予測プロセスにおいて、これは同じタイル内の位置をポイントする視差ベクトルを拘束する。代替の実施形態は、動きベクトルがタイル境界に対してサブペル補間フィルタのカーネルサイズ310より近くに配置されるサブペル位置をポイントすることを可能とするために、画像境界に類似するタイル境界をハンドリングするようにサブペル補間フィルタを調整する。代替の実施形態は、前述の実施形態においてクリップされている動きまたは視差ベクトルの使用を許容しないビットストリーム拘束を意味する。
【0065】
b)ベースレイヤにおいて共起されたブロックの隣接するブロックは、異なるタイルのときは利用されない。
制限が使用可能である場合、以下が適用される:
ベースレイヤが隣接するブロックからの予測(例えばTMVPまたは隣接するブロックの視差の導出のような)に用いられ、およびタイルが用いられる場合、以下が適用される:CTU Bが、共起されたベースレイヤCTU Aと同じタイルに帰属する場合、ベースレイヤにおいて共起されたCTU Aと異なるCTU Bから生ずる予測器候補が用いられるだけである。たとえば、現在のHEVCの導出プロセスにおいて、CTU Bは、共起されたCTU Aの右に配置される。本発明の特定の実施形態において、予測候補は、異なる予測によって置換される。たとえば、共起されたPUは、その代わりに予測に対して用いることができる。本発明の他の実施形態では、符号化ビットストリームにおいて、関連する予測モードの使用は許容されない。
【0066】
ちょうど概説されたHEVC修正の可能性の
図8および11の記載上への変形として、
図11の予測器の置換に関する限り、第1のレイヤ12のそのブロックのそれぞれの属性になるように、同じことを選択することができ、それは現在のブロック302の参照位置628の同じ場所に配置された位置自身を備えることが注目される。
【0067】
c)シグナリング
特定の実施形態において、たとえば
図13a、13bで示されたように、以下の高水準シンタックスを、N個のフラグを用いて上述された拘束/制限を可能とするために、VPSまたはSPSに用いることができる。
【0068】
ここで、inter_layer_PREDTYPE_RESTYPE_SCAL_flag_1 から inter_layer_PREDTYPE_RESTYPE_SCAL_flag_N における、PREDTYPE, RESTYPE, SCALは、以下で記述されるように異なる値に置換してもよい:
PREDTYPE は、制限/拘束が適用される予測タイプを指示し、リストされない以下のまたは他の予測タイプの1つとしてもよい:
- 例えば、ベースビューにおいて共起されたブロックの隣接するブロックからの時間的動きベクトルの予測に対する、temporal_motion_vector_prediction
- 例えば、ベースビューにおいて共起されたブロックの隣接するブロックからの視差ベクトルの予測に対する、disparity_vector_prediction
- 例えば、ベースビューからの奥行き値の予測に対する、depth_map_derivation
- 例えば、ベースビューからの動きベクトルの予測に対する、inter_view_motion_predition
- 例えば、ベースビューからの残差データの予測に対する、inter_view_residual_prediction
- 例えば、ベースビューからのサンプル値の予測に対する、inter_view_sample_prediction
【0069】
あるいは、制限/拘束が適用される予測タイプに対して明確にはシグナリングされず、全ての予測タイプに対して制限/拘束が適用される、または、セット当り1つのフラグのみを利用する予測タイプのセットに対して、制限/拘束がシグナリングされる。
【0070】
RESTYPE は、制限のタイプを指示する。以下のうちの1つとしてもよい:
- 例えば、拘束(ビットストリーム拘束を指示する。フラグをVUIに含めることができることを指示する)
- 例えば、制限(クリッピング(a)または異なる予測器の選択(b)を指示する)
【0071】
SCAL は、制限/拘束が同じタイプのレイヤに対してのみ適用されるかどうかを指示する:
- 例えば、same_scal(ベースレイヤが増強レイヤと同じスケーラビリティタイプであるとき、制限のみが適用されることを指示する)
- 例えば、diff_sca(ベースレイヤおよび増強レイヤのスケーラビリティタイプに関係なく、制限が適用されることを指示する)
【0072】
図14が関係する代替の実施形態として、例えば、VPSまたはSPSにおいて、ultra_low_delay_decoding_mode_flag のように、全ての記述された制限の使用を、高水準シンタックスにおける超低遅延モードとして、シグナリングすることができる。
【0073】
1に等しい ultra_low_delay_decoding_mode_flag は、タイル境界で修正された復号化プロセスの使用を指示する。
【0074】
このフラグによって暗示される制限は、タイル境界アラインメント上の拘束およびタイル境界にわたるアップサンプリングフィルタの拘束を含むこともできる。
【0075】
すなわち、
図1を参照すると、保証シグナリングは、画像のシーケンスにわたり延伸する期間のような予め定められた期間において、第2レイヤの画像の空間セグメント82の間の境界84が第1の空間セグメント80のすべての境界86をオーバーレイするように(空間スケーラビリティが考慮される場合、おそらくアップサンプリングの後)、第2レイヤの画像15が再分割されるという保証をシグナリングするために付加的に用いることができる。デコーダは、予め定められた期間より小さいタイムインターバルにおいて、例えば、個々の画像を単位とするような、すなわち画像ピッチインターバルにおいて、マルチレイヤビデオデータストリーム40の短期のシンタックスエレメントに基づいて、第1のレイヤおよび第2のレイヤの画像12、15の空間セグメント80および82への実際の再分割を、依然として周期的に決定するが、アラインメントに関する知識は並列処理のワークロードアサインメントのプランニングを既に助けている。
図1における実線84は、たとえば、タイル境界84がレイヤ0のタイル境界86に完全に空間的に整合している実施例を表す。ちょうど言及された保証は、しかしながら、レイヤ1のタイル分割が、更に、レイヤ0のタイル境界86のいずれをも空間的にオーバーラップしない付加的なタイル境界を含むように、レイヤ0のタイル分割より精細なレイヤ1のタイル分割も可能とする。いずれにせよ、レイヤ1とレイヤ0の間のタイル登録についての知識は、並列に同時に処理される空間セグメントの中で利用できるワークロードまたは処理パワーをアロケートすることにおいて、デコーダを助ける。長期のシンタックスエレメント構造なしで、デコーダは、より小さいタイムインターバル、すなわち画像当りにおいて、ワークロードアロケーションを実行しなければならず、それによりワークロードアロケーションを実行するためにコンピュータパワーを消費する。他の態様は「日和見的復号化」である:多重のCPUコアを有するデコーダは、より複雑性の高いレイヤ、すなわち、またはより高いレイヤ数または、言い換えれば更なるビュー数のレイヤを復号化しようとするかまたはしないかを決定するために、レイヤの並列性についての知識を利用することができる。シングルコアの能力を超えるビットストリームは、デコーダの全てのコアを利用することによって復号化可能であろう。プロファイルおよびレベルの指示器が最小限の並列性に関するこの種の指示を含まない場合、この情報は特に有用である。
【0076】
前述したように、保証のシグナル化(例示的に、ultra_low_delay_decoding_mode_flag )は、また、従属ビュー画像15と異なる空間分解能を有するベースレイヤ画像12によるマルチレイヤビデオのケースにおいて、アップサンプリングフィルタ36をステアリングするために用いることができる。アップサンプリングフィルタリングが、レイヤ0において空間セグメント境界86を横切って実行された場合、レイヤ0の空間セグメント80の符号化/復号化と関連して、レイヤ1の空間セグメント82を並列に復号化/符号化する際に遭遇する遅延は、アップサンプリングフィルタリングはレイヤ0の隣接する空間セグメントの情報を組み合わせ、従って相互に従属させ、レイヤ1のブロック41のレイヤ間予測において用いられる予測参照38として役立つので、増大する。
図15を参照されたい。両方の画像12および15は、空間的対応に従ってお互いに必要な大きさにされ、登録される、すなわちシーンの同じ部分示す部分がお互いにオーバーレイすることによるオーバーレイ方法において示される。画像12および15は、それぞれタイルのような空間セグメント6および12に分割されることが例示的に示される。フィルタカーネルは、左上側のタイルに空間的にオーバーレイする画像15のタイル内のいかなるブロックのレイヤ間予測に対しても基礎として役立つアップサンプルされたバージョンを取得するために、画像12の左上側のタイルを横切って移動するように、図示されている。202のようないくつかの中間のインスタンスにおいて、カーネル200は画像12の隣接するタイルにオーバーラップする。アップサンプルされたバージョンの位置202におけるカーネル200の中央のサンプル値は、従って画像12の左上タイルのサンプル並びにその右に対する画像12のタイルのサンプルの両方に従属する。画像12のアップサンプルされたバージョンがレイヤ間予測の根拠として役立つ場合、レイヤのセグメントの並列処理において、レイヤ間遅延は増大する。制限は、異なるレイヤを横切る並列化量の増大を助けることができ、したがって、オーバーオールの符号化遅延の低減を助けることができる。当然、シンタックスエレメントは、画像のシーケンスに対して有効な長期のシンタックスエレメントとすることもできる。制限は、以下の方法の1つにおいて達成することができる:たとえば、カーネル200の非破線の部分内のサンプル値の中心傾向によって、オーバーラップ位置202におけるカーネル200のオーバーラップ部分を装填し、線形または他の機能を用いて、非破線の部分を破線のもの等に外挿する。
【0077】
代替の実施形態は、実施例として、VPSにおける以下において与えられる。前述された制限/拘束が ultra_low_delay_decoding_mode_flag によって制御されるが、代替として(フラグが使用不能なときに)各制限/拘束を個々に使用可能とすることができる。この実施形態に対して、
図13cおよび13dが参照される。この実施形態は、他の非VCL NALユニット(例えば、SPSまたはPPS)において含むこともできる。
図13cおよび13dにおいて、
【0078】
1に等しい ultra_low_delay_decoding_mode_flag は、 du_interleaving_enabled_flag、interlayer_tile_mv_clipping_flag、depth_disparity_tile_mv_clipping_flag、inter_layer_tile_tmvp_restriction_flag および independent_tile_upsampling_idc が1に等しいと推定され、VPS、SPSまたはPPSにおいて存在しないことを特定する。
【0079】
タイルのような並列化技術がレイヤ化された符号化ビデオシーケンスにおいて用いられるとき、統一された方法でタイルの境界を横断しないようにするため、HEVCの拡張においてビュー間予測のような符号化ツールの制限を制御することは、遅延予想から有益である。
【0080】
実施形態において、independent_tiles_flag 、または independent_tile_upsampling_idc の値は、inter_layer_PREDTYPE_RESTYPE_SCAL_flag_x または independent_tile_upsampling_idc のような個々の制限/拘束を制御するシンタックスエレメントの存在を決定する。 independent_tiles_flag は、
図13eに図示されるように、VPSに含むことができる。
ここで
【0081】
1に等しい independent_tiles_flag は、inter_layer_PREDTYPE_RESTYPE_SCAL_flag_1 ~inter_layer_PREDTYPE_RESTYPE_SCAL_flag_N、および independent_tile_upsampling_idc が1に等しいと推定され、VPS、SPSまたはPPSにおいて存在しないことを特定する。
【0082】
代替の実施形態が、VPSにおいて、上述された拘束は、independent_tiles_flag によって制御されるが、代替として(フラグが使用付加のとき)各拘束は個々に使用可能とすることができることが、実施例として
図13fで与えられる。この実施形態は、
図13gに図示されたように、他の非VCL NALユニット(たとえばSPSまたはPPS)においても含むことができる。
【0083】
図8~
図15に関して今までに記述された前記実施例を要約して、データストリームにおける保証のシグナル化は、異なるレイヤ/ビュー12および15の復号化の間のレイヤ間復号化オフセットを最適化するためにデコーダ620によって用いることができる、または、保証は「日和見主義的な復号化」を参照することによって上記の通りにレイヤ間並列処理裁判を抑制するかまたは認めるためにデコーダ620によって利用することができる。
【0084】
次に議論される本願の態様は、マルチレイヤビデオ符号化における、より低いエンドツーエンドの遅延を可能とする問題に関する。次に記述される態様は、前に記述された態様と組み合わせることができるが、その逆も正しいことに注目する価値があり、ここで記述される態様に関する実施形態は、上述された詳細なしで実施することもできる。この点に関して、以後に記述される実施形態は、マルチビュー符号化に制限されないことにも注目すべきである。本願の第2の態様に関する以下に言及される多重のレイヤは、異なるビューを含むことができるが、変化する空間分解能、SNR精度等において、同じビューを表すこともできる。以下に議論される多重レイヤが前のレイヤによって伝達される情報コンテンツを増大させる可能なスケーラビリティディメンションは、マニホルドであり、たとえば、ビューの数、空間分解能およびSNR精度を備え、更なる可能性は本願の第3および第4の態様を議論することから明らかになり、その態様は、実施形態に従って現在記述されている態様と組み合わせることもできる。
【0085】
ここで記述される本願の第2の態様は、低符号化遅延、すなわちNALユニットのフレームワークに低遅延のアイデアを埋め込むことを実際に達成する問題に関する。上述のように、NALユニットは、スライスから構成される。タイルおよび/またはWPPコンセプトは、マルチレイヤビデオデータストリームの異なるレイヤに対して、個々に自由に選択される。したがって、それにパケット化されるスライスを有する各NALユニットは、それぞれのスライスが参照する画像のエリアに空間的に起因することができる。したがって、レイヤ間予測のケースにおいて低遅延符号化を可能とするため、同じタイムインスタントに付随する異なるレイヤのNALユニットをインターリーブすることを可能とし、エンコーダおよびデコーダが符号化および伝送を開始し、およびこれらのNALユニットにパケット化されたスライスを、異なるレイヤのこれらの画像の並列処理を可能とするが、同じタイムコンスタントに付随する方法で、それぞれ復号化することを可能とすることは有利である。しかしながら、アプリケーションに依存して、エンコーダは、レイヤディメンションにおいて並列処理を可能とする能力をこえて、異なるレイヤに対して異なるGOP構造の使用のような、異なるレイヤの画像の中で異なる符号化順序を用いる能力を好むことができる。したがって、第2の態様によれば、データストリームの構造は、
図16に関して以下に再び記述されるようにすることができる。
【0086】
図16は、異なるレイヤの各々に対して画像204のシーケンスから構成されるマルチレイヤビデオ材料201を示す。各レイヤは、マルチレイヤビデオ材料201によって記述されるこのシーンの異なるプロパティを記述することができる。すなわち、レイヤの意味は、次の中から選択することができる:たとえば、色成分、距離画像、透明性および/または視点。一般性を失うことなく、異なるレイヤはマルチビュービデオであるビデオ材料201によって異なるビューに対応すると仮定する。
【0087】
低遅延を必要とするアプリケーションのケースでは、エンコーダは、長期の高水準シンタックスエレメントをシグナリングすることを決定することができる( 以下で導入される du_interleaving_enabled_flag を1に等しくなるようにセットする)。その場合、エンコーダによって生成されるデータストリームは、それを囲む円によって
図16の中央において指示されるように見ることができる。その場合、マルチレイヤビデオストリーム200は、1つのアクセスユニット206に帰属するNALユニット202が1つの時間的タイムインスタントの画像に関係するように、NALユニット202のシーケンスからなり、異なるアクセスユニットのNALユニット202は異なるタイムインスタントに関係する。各アクセスユニット206内で、各レイヤに対して、それぞれのレイヤに関係する少なくともいくつかのNALユニットは、1つ以上の復号化ユニット208にグループ化される。これは、以下を意味する:NALユニット202の中で、上記指示されたように、一方ではVCL NALユニットおよび他方では非VCL NALユニットのような異なるタイプのNALユニットがある。より詳しくは、NALユニット202は異なるタイプを持つことができ、これらのタイプは以下を備えることができる:
【0088】
1)スライス、タイル、WPPサブストリーム等、すなわち予測パラメータに関するシンタックスエレメントおよび/または画像サンプルのスケール/グラニュラリティについて画像コンテンツを記述する残差データを担持するNALユニット。1つ以上のこの種のタイプは存在することができる。VCL NALユニットはこの種のタイプの中にある。この種のNALユニットは着脱可能でない。
【0089】
2)パラメータセットNALユニットは、長期の符号化設定のようなまれに変更される情報を担持することができ、そのいくつかの例は上述されている。この種のNALユニットは、たとえば、データストリーム内で、ある程度および繰り返し散在することができる;
【0090】
3)補助増強情報(SEI)NALユニットは、オプションのデータを担持することができる。
【0091】
復号化ユニットは、上述したNALユニットの第1から構成することができる。より正確には、復号化ユニットは、「アクセスユニットにおける1つ以上のVCL NALユニットおよび関連する非VCL NALユニット」から構成することができる。復号化ユニットは、従って、1つの画像の特定のエリア、すなわちそこに含まれる1つ以上のスライスに符号化されるエリアを記述する。
【0092】
異なるレイヤに関係するNALユニットの復号化ユニット208は、各復号化ユニットに対して、それぞれの復号化ユニットを符号化するために用いられたレイヤ間予測が、それぞれの復号化ユニットが関係するレイヤ以外のレイヤの画像の部分に基づき、その部分がそれぞれのアクセスユニット内でそれぞれの復号化ユニットの前の復号化ユニットに符号化されるように、インターリーブされる。例えば、
図16における復号化ユニット208aを参照されたい。この復号化ユニットが、例示的に、従属レイヤ2および特定のタイムインスタントのそれぞれの画像のエリア210に関係することを想像されたい。同じタイムインスタントのベースレイヤ画像における同じ場所に配置されたエリアは212によって示され、このエリア212をわずかに超過しているこのベースレイヤ画像のエリアは、レイヤ間予測を利用することによって復号化ユニット208aを完全に復号化するために必要とすることができる。わずかに超過しているは、たとえば、視差補正された予測の結果とすることができる。これは、順番に、アクセスユニット206内で復号化ユニット208aに先行する復号化ユニット208bが、レイヤ間予測に対して必要とされるエリアを完全にカバーしなければならないことを意味する。インターリービング・グラニュラリティに対して境界として用いることができる遅延指示に関して、上記記述が参照される。
【0093】
しかしながら、アプリケーションは、異なるレイヤの中の画像の復号化順序を異なって選択する自由をより多く利用する場合、
図16のボトムにおいて、それを囲む円によって2で表されているこのケースによって、エンコーダは du_interleaving_enabled_flag が0に等しくなるようにセットすることを選ぶことができる。この場合、マルチレイヤビデオデータストリームは、レイヤIDおよび単一のタイムインスタントの1つ以上の値の特定のペアに帰属する各画像に対して個々のアクセスユニットを有する。
図16に示されるように、(i-1)番目の復号化順序、すなわちタイムインスタントt(i-1)において、各レイヤは、アクセスユニットAU1、AU2(など)から構成することができる、または全てのレイヤが単一のアクセスユニットAU1に含まれるように構成することができる。しかしながら、この場合に、インターリービングは許容されない。アクセスユニットは、データストリーム200において、復号化順序インデックスiに従って配置される、すなわち各レイヤに対して復号化順序インデックスiのアクセスユニットであって、復号化順序i+1に対応してこれらのレイヤの画像に関するアクセスユニットが続く。データストリームにおける時間的な画像間予測のシグナリングは、異なるレイヤに対して等しい符号化順序を適用するまたは異なる画像符号化順序を適用する、のいずれであるかに関してシグナリングし、シグナリングは、たとえば、NALユニットへパケット化されるスライス内のようにデータストリーム内で、1つの位置内でまたは1つ以上の位置内で冗長に配置することができる。
【0094】
NALユニットタイプに関して、それらの中で定められる順序ルールは、取り外し可能なパケットタイプのNALユニットが伝送の間に除去されたか否かに拘らず、連続的なアクセスユニットの間の境界がどこに位置されるかをデコーダが決定することを可能にすることができることが注目される。取り外し可能なパケットタイプのNALユニットは、たとえば、SEI NALユニット、または、冗長な画像データのNALユニットまたは他の特定のNALユニットタイプを備えることができる。すなわち、アクセスユニット間の境界は移動せずにとどまり、そして、しかし、順序ルールは各アクセスユニット内で守られるが、2つのアクセスユニットの間の各境界では破られる。
【0095】
完全のため、
図17は、du_interleaving_flag = 1 のケースであって、異なるレイヤに帰属するパケットを可能とするが、1つのアクセスユニット内で、たとえば、同じ時間インスタントt(i-1)が分布されるケースを図示する。du_interleaving_flag = 0 のケースは、
図16において、それを囲む円によって2で表されている。
【0096】
しかしながら、
図16および17に関して、上述されたインターリービングのシグナル化またはインターリービングのシグナリングが、必然的に、
図16および17においてそれを囲む円によって1で示されるケースに従ってアクセスユニット定義を使用するマルチレイヤビデオデータストリームに結果としてなると共にやめられることができることが注目される。
【0097】
実施形態によれば、各アクセスユニット内に含まれるNALユニットが実際にインターリーブされるか否かに関する事実は、データストリームのレイヤとのそれらの関連に関して、エンコーダの裁量で決定することができる。データストリームのハンドリングを容易にするため、du_interleaving_flag のようなシンタックスエレメントは、デコーダがNALユニットをより容易に処理できるように、特定のタイムスタンプの全てのNALユニットを集合するアクセスユニット内で、NALユニットのインターリービングまたは非インターリービングをデコーダにシグナリングすることができる。たとえば、インターリービングがスイッチオンされるようにシグナリングされるときはいつでも、
図18に関して簡単に図示されるように、デコーダは複数の符号化画像バッファを用いることができる。
【0098】
図18は、
図2に関して上記概説されたように具現化することができ、
図9に関して提案された記述にさえ対応することができるデコーダ700を示す。例示的に、
図17のマルチレイヤビデオデータストリームは、それを囲む円によってオプション1がエンタリングデコーダ700として示される。異なるレイヤに帰属するNALユニットのデインターリービングを、より容易に、アクセスユニットAU当りの共通のタイムインスタントで実行するために、デコーダ700は、各アクセスユニットAUに対して、たとえばバッファ702に対して第1のレイヤに帰属するそのアクセスユニットAUのNALユニットをフォワードし、たとえばバッファ704に対して第2のレイヤに帰属するNALユニットをフォワードするマルチプレクサ706を有する2つのバッファ702、704を用いる。復号化ユニット708は、次に復号化を実行する。たとえば、
図18において、たとえば、ベースレイヤ/第1のレイヤに帰属するNALユニットはハッチされて示されていないが、従属レイヤ/第2のレイヤのNALユニットはハッチングを用いて示されている。上記概説されたインターリービングのシグナリングがデータストリームに存在する場合、デコーダ700は、以下の方法でこのインターリービングのシグナリングに応答することができる:インターリービングのシグナリングがNALユニットにインターリービングがスイッチオンされるようにシグナリングする場合、すなわち、異なるレイヤのNALユニットが1つのアクセスユニットAU内で互いにインターリーブされ、デコーダ700は、ちょうど概説されたように、これらのバッファ上にNALユニットを分布するマルチプレクサ706を有するバッファ702および704を用いる。そうでない場合には、しかしながら、デコーダ700は、アクセスユニットに備えられる全てのNALユニットに対して、単にバッファ702および704のうちの1つ、たとえばバッファ702を用いる。
【0099】
図18の実施形態をより容易に理解するために、マルチレイヤビデオデータストリームを生成するように構成されたエンコーダが示される
図19とともに
図18が参照される。
図9のエンコーダは、一般に参照符号720を用いて指示され、理解の容易のため、例示的に、ベースレイヤを形成するレイヤ12と従属レイヤを形成するレイヤ1が指示される2つのレイヤの入力画像を符号化する。それらは、前に概説されたように、異なるビューを形成することができる。エンコーダ720がレイヤ12および15の画像を符号化する一般的な符号化順序は、これらのレイヤの画像を実質的に時間的順序(提示時間)に沿ってスキャンし、符号化順序722は、画像のグループのユニットにおいて、画像12および15の提示時間順序から逸脱することができる。各時間的タイムインスタントにおいて、符号化順序722は、レイヤ12および15の画像を、それらの従属性に沿って、すなわちレイヤ12から15の画像を渡す。
【0100】
エンコーダ720は、それぞれが空間的感覚においてそれぞれの画像の一部と関連している上述のNALユニットを単位として、レイヤ12および15の画像をデータストリーム40に符号化する。このように、特定の画像に帰属するNALユニットは、それぞれの画像を空間的に再分割または分割し、既に記述されたように、レイヤ間予測は、レイヤ15の画像の部分を、レイヤ15の画像のそれぞれの部分と実質的に同じ場所に配置され、実質的に視差変位を含んでいるレイヤ12の時間整合された画像の部分に従属させる。
図19の実施例において、エンコーダ720は、特定のタイムインスタントに帰属する全てのNALユニットを集合するアクセスユニットの形成においてインターリービングの可能性を利用することを選択する。
図19において、図示されたデータストリーム40からの部分は、
図18のデコーダに入力されたものに対応する。すなわち、
図19の実施例において、エンコーダ720は、レイヤ12および15の符号化においてレイヤ間並列処理を用いる。タイムインスタントt(i-1)が関係する限り、エンコーダ720は、レイヤ12の画像のNALユニット1が符号化されるとすぐに、レイヤ15の画像の符号化を開始する。各NALユニットは、その符号化が完了すると、エンコーダ720によって出力され、それぞれのNALユニットが出力した時間に対応する到着タイムスタンプがエンコーダ720によって提供される。タイムインスタントt(i-1)におけるレイヤ12の画像の第1のNALユニットの符号化の後、エンコーダ720はレイヤ12の画像のコンテンツの符号化を続行し、レイヤの12の画像の第2のNALユニットを出力し、レイヤ15の時間整合された画像の第1のNALユニットの到着タイムスタンプに続いている到着タイムスタンプが提供される。すなわち、エンコーダ720は、全て同じタイムインスタントに帰属しているレイヤ12および15の画像のNALユニットを、インターリーブ方法で出力し、データストリーム40のNALユニットは実際に伝送される。エンコーダ720がインターリービングの可能性を利用することを選択した事情は、エンコーダ720によって、データストリーム40内で、それぞれのインターリービングのシグナリング724によって指示される。エンコーダ720は、レイヤ15の第1のNALユニットの出力が時間整合されたベースレイヤ画像の全てのNALユニットの出力が完了するまで延期されない非インターリーブのシナリオと比較して、タイムインスタントt(i-1)の従属レイヤ15の第1のNALユニットを早く出力することができるので、デコーダ
図18とエンコーダ
図19の間のエンドツーエンドの遅延は低減することができる。
【0101】
すでに上述されたように、代替の実施例によれば、非インターリービングのケースにおいて、すなわち非インターリーブの代替を指示するシグナリング724のケースでは、アクセスユニットの定義は同じことのままであり、すなわちアクセスユニットAUは特定のタイムインスタントに帰属する全てのNALユニットを集合することができる。その場合、シグナリング724は、各アクセスユニット内において、異なるレイヤ12および15に帰属するNALユニットがインターリーブされるか否かを単に指示する。
【0102】
上述のように、シグナリング724に従い、
図18の復号化は1つのバッファまたは2つのバッファのいずれかを用いる。インターリービングがスイッチオンされるケースでは、たとえば、レイヤ12のNALユニットがバッファ702においてバッファリングされ、その一方で、レイヤ15のNALユニットはバッファ704においてバッファリングされるように、デコーダ700は、2つのバッファ702および704上にNALユニットを分布する。バッファ702および704は、アクセスユニットワイズに空にされる。インターリービングまたは非インターリービングを指示する両方のシグナリング724の場合には、これは正しい。
【0103】
エンコーダ720が各NALユニット内で除去時間をセットする場合、復号化ユニット708が、レイヤ間並列処理を用いて、データストリーム40からレイヤ12および15の復号化の可能性を利用するようにすることは好ましい。デコーダ700がレイヤ間並列処理を適用しない場合であっても、エンドツーエンドの遅延は、しかしながら、すでに低減されている。
【0104】
すでに上述されたように、NALユニットは異なるNALユニットタイプを持つことができる。各NALユニットは、可能なタイプのセットからそれぞれのNALユニットのタイプを指示するNALユニットタイプインデックスを有することができ、各アクセスユニット内で、それぞれのアクセスユニットのNALユニットのタイプは、NALユニットタイプの中の順序ルールを守ることができるが、その一方で単に2つの連続するアクセスユニットの間では、順序ルールは破られるので、デコーダ700はこのルールを調査することによってアクセスユニット境界を識別することが可能である。より詳細な情報は、H.264標準が参照される。
【0105】
図18および19に関して、復号化ユニットDUは、同じレイヤに帰属する1つのアクセスユニット内で、連続的なNALユニットのランとして識別可能である。
図19のアクセスユニットAU(i-1)において、「3」および「4」を指示されたNALユニットは、たとえば、1つのDUを形成する。アクセスユニットAU(i-1)の他の復号化ユニットは、全て、単に1つのNALユニットを備える。合せて、
図19のアクセスユニットAU(i-1)は、例示的に、アクセスユニットAU(i-1)内で代替として配置される6つの復号化ユニットDUを備える、すなわち、それらはレイヤ1およびレイヤ0の間で交互に変わる1つのレイヤによる1つのレイヤのNALユニットのランから成る。
【0106】
第1の態様と同様に、以下において、前に記述された第2の態様は、HEVC拡張に組み込む方法に関して、ここで概説される。
【0107】
この前に、しかしながら、完全のために、現在のHEVCの更なる態様が記述され、それは画像間並列処理、すなわちWPP処理を可能にする。
【0108】
図20は、WPPが、HEVCおいて現在実施されている方法を記述する。すなわち、この記述は、上記のまたは以下に記述されるいずれかの実施形態のWPP処理のオプションとしての実施に対する基礎を形成する。
【0109】
ベースレイヤにおいて、ウェーブフロント並列処理は、符号化ツリーブロック(CTB)行の並列処理を可能とする。予測従属性は、CTB行を横切っても破壊されない。エントロピー符号化に関して、
図20で分かるように、WPPは、それぞれの上側CTB行における左上CTBに対するCABAC従属性を変更する。対応する右上CTBのエントロピー復号化が一旦終了すると、続く行におけるCTBのエントロピー符号化を開始することができる。
【0110】
増強レイヤにおいて、対応するイメージエリアを含むCTBが完全に復号化され、利用可能になるとすぐに、CTBの復号化を開始することができる。
【0111】
HEVCおよびその拡張において、復号化ユニットの以下の定義が与えられる:
【0112】
復号化ユニット:SubPicHrdFlag が0に等しい場合のアクセスユニット、またはアクセスユニットにおける1つ以上のVCL NALユニットおよび関連する非VCL NALユニットから構成されるアクセスユニットのサブセット他。
【0113】
HEVCにおいて、好ましくは、外部手段および下位画像HRDパラメータが利用可能である場合、HRD( Hypothetical Reference Decoder )は、復号化ユニットレベル(またはサブピクチャレベル)で、CPBおよびDPBをオプションとして作動させることができる。
【0114】
HEVC仕様書[1]は、以下のように定義されたいわゆる復号化ユニットのコンセプトが記載されている。
【0115】
3.1 復号化ユニット:SubPicHrdFlag が0に等しい場合のアクセスユニット、またはアクセスユニットにおける1つ以上のVCL NALユニットおよび関連する非VCL NALユニットから構成されるアクセスユニットのサブセット他。
【0116】
3Dに対するHEVC拡張[3]、マルチビュー[2]または空間的スケーラビリティ[4](ビデオデータの付加的表現(たとえば高等忠実度、空間分解能または異なるカメラ視点)が低層レイヤに依存して、予測的レイヤ間/ビュー間符号化ツールを通して符号化される)において提供されるようなレイヤ化された符号化ビデオシーケンスにおいて、(画像エリアワイズに)関係するまたはビットストリームにおいて関係するレイヤの同じ場所に配置された復号化ユニットレイヤの関連するまたは同じ場所に配置された復号化ユニットにインターリーブすることは、エンコーダおよびデコーダ上のエンドツーエンド遅延を最小化するために有益である。
【0117】
符号化ビデオビットストリームにおいて復号化ユニットのインターリービングを可能とするため、符号化ビデオビットストリームへの特定の拘束がシグナリングされ、強制されなければならない。
【0118】
上記のインターリービングコンセプトがHEVCにおいて実施することができる方法は、詳細に記述され、以下のサブセクションで論証されている。
【0119】
HEVC拡張の現在の状態は、MV-HEVC仕様書[2]のドラフト書類から取り出される限り、それは使用されるアクセスユニットに対する定義を含み、それに従ってアクセスユニットは(特定の値 nuh_layer_id によって)1つの符号化画像を拘束する。1つの符号化画像は、以下で定義され、MVCにおけるビュー成分と基本的に同じである。アクセスユニットが、同じPOC値によって全てのビュー成分を含むように、定義されるべきであるかどうかは未解決の問題であった。
【0120】
ベースのHEVC明細書[1]は次のように定義している:
【0121】
3.1 アクセスユニット:NALユニットのセットは、復号化順序ルールに従ってお互いに関連し、復号化順序において連続的であり、正確に1つの符号化画像を含む。
【0122】
注記1-符号化画像のVCL NALユニットを含むことに加えて、アクセスユニットは非VCL NALユニットを含むことができる。アクセスユニットの復号化は、常に復号化画像に結果としてなる。
【0123】
各アクセスユニットにおいて1つの符号化画像にのみ許容されるアクセスユニット(AU)の定義は、各従属ビューが別々の符号化画像と解釈され、別々のアクセスユニットに含まれることを必要とする方法で解釈されたように見える。これは、
図17において「2」で表される。
【0124】
前の標準において、「符号化画像」は、特定のタイムスタンプの画像のビュー表現の全てのレイヤを含む。
【0125】
アクセスユニットは、インターリーブすることができない。これは、各ビューが異なるアクセスユニットに含まれる場合、ベースビューの全部の画像は、従属画像の第1の復号化ユニット(DU)を復号化することができる前に、DPBにおいて受信される必要があることを意味する。
【0126】
従属レイヤ/ビューによる超低遅延動作に対して、復号化ユニットをインターリーブすることは有利である。
【0127】
図21の実施例は、各々3つの復号化ユニットによる3つのビューを含む。それらは、左から右の順序で受信される:
各ビューが自身のアクセスユニットに含まれる場合、ビュー3の第1の復号化ユニットを復号化する最小遅延は、完全に受信ビュー1および2を含む。
【0128】
ビューがインターリーブされて送信することができる場合、
図22に示されるように、そして
図18および19に関して既に説明されたように、最小遅延は低減することができる。
【0129】
HEVCのスケーラブル拡張における異なるレイヤからのNALユニットのインターリービングは、以下のように達成することができる:
【0130】
レイヤまたはビュー表現に対するビットストリームインタリービング機構、およびこのビットストリームレイアウトを用いることができ、並列化技術を用いて非常に低い遅延で従属ビューを復号化することを実現することができるデコーダ。DUのインターリービングは、フラグ(例えば、du_interleaving_enabled_flag )を介して制御される。
【0131】
HEVCのスケーラブル拡張において、低遅延復号化および並列化を可能とするため、同じAUの異なるレイヤのNALユニットのインターリービングが必要である。それ故に、以下に沿った定義を導入することができる:
【0132】
アクセスユニット:特定の識別ルールに従ってお互いに関連するNALユニットのセットは、復号化順序において連続的で、正確に1つの符号化画像を含む。
【0133】
符号化されたレイヤ画像成分:レイヤ画像成分の全ての符号化ツリーユニットを含むレイヤ画像成分の符号化表現。
【0134】
符号化画像:1つ以上の符号化されたレイヤ画像成分を含む画像の全ての符号化ツリーユニットを含む画像の符号化表現。
【0135】
画像:画像は1つ以上のレイヤ画像成分のセットである。
【0136】
レイヤ画像成分:符号化表現がアクセスユニットにおける全てのNALユニットの中の特定のレイヤからのNALユニットから構成される、モノクロフォーマットにおけるlumaサンプルの配列またはlumaサンプルの配列および4:2:0、4:2:2および4:4:4のカラーフォーマットにおけるクロマサンプルの2つの対応する配列。
【0137】
NALユニットは、各NALユニットが符号化順序において前のNALユニットにおいて受信されたデータによって復号化することができる、すなわち各NALユニットの復号化に対して復号化順序において後にNALユニットからデータを必要としないような方法で、それらの中の従属性に従ってインターリーブされる( du_interleaving_enabled_flag == 1 )。
【0138】
DUのインターリーブが適用され( du_interleaving_enabled_flag == 1 )、lumaおよびクロマ成分が異なるカラープレーンに分けられるとき、カラープレーンに関連付けられたそれぞれのNALユニットは、インターリーブすることができる。これらのそれぞれのNALユニット( colour_plane_id の固有の値に関連する )の各々は、後述するようにVCL NALユニット順序を守らなければならない。カラープレーンは、アクセスユニットにおいてお互いの間に符号化従属性がないことが期待されるので、それらはノーマル順序に従う。
【0139】
NALユニットの順序上の拘束は、CTBを単位として空間セグメント間の最悪のケースの遅延/オフセットを測定し、保証するシンタックスエレメント min_spatial_segment_delay を用いて表現することができる。
シンタックスエレメントは、CTBまたはベースおよび増強レイヤの空間セグメント(たとえばWPPに対するタイル、スライスまたはCTB行)の間に空間領域の従属性を記述する。シンタックスエレメントは、NALユニットのインターリービングまたは符号化順序におけるNALユニットのシーケンシャル復号化に対しては必要でない。並列のマルチレイヤデコーダは、レイヤの並列復号化を準備するために、シンタックスエレメントを用いることができる。
【0140】
以下の拘束は、第1の態様に関して主として記述されたように、レイヤ/ビューを横切る並列化および復号化ユニットのインターリービングを可能とするエンコーダの可能性に影響を与える:
【0141】
1) サンプルおよびシンタックスエレメントの予測:
lumaおよびクロマのリサンプリングに対する補間フィルタは、上位レイヤに対して必要なアップサンプルされたデータを生成するため、必要なデータ上の拘束を下位レイヤにセットする。たとえば、画像の空間セグメントは独立にアップサンプルすることができるので、復号化従属性は、これらのフィルタを拘束することによって低減することができる、タイル処理のための特定の拘束のシグナリングは、第1の形態に関して上述されている。
【0142】
「参照インデックスベースのスケーラブル拡張」(HLSアプローチ)に対する動きベクトル予測および、より具体的には時間的な動きベクトル予測は、より下位のレイヤにおいて必要なデータに拘束をセットし、必要なリサンプリングされた画像の動きフィールドを生成する。関連する発明およびシグナリングは、第1の形態に関して上述されている。
【0143】
2)動きベクトル:
SHVCに対して、動き補償は、下位のレイヤによっては用いられない、すなわち、下位のレイヤが参照画像(HLSアプローチ)として使われる場合、結果として生じる動きベクトルは零ベクトルでなければならない。しかしながら、MV‐HEVC 0または3D‐HEVC 0に対して、視差ベクトルは拘束することができるが、必ずしも零ベクトルであるというわけではない。すなわち、動き補償は、ビュー間予測に対して用いることができる。それ故に、動きベクトルに対する制限は、前のNALユニットにおいて受け取られたデータのみが復号化に対して必要であることを確実にするために適用することができる。関連する発明およびシグナリングは、第1の形態に関して上述されている。
【0144】
3)タイル境界による画像分割:
異なるレイヤからのNALユニットのインターリーブによって、並列処理および低遅延が効率的に望ましい場合、増強レイヤにおける画像分割は、参照レイヤにおける分割の画像分割の従属をなさなければならない。
【0145】
VCL NALユニットの順序および符号化画像に対する関連に関する限り、以下は特定することができる。
【0146】
各VCL NALユニットは、符号化画像の一部である。
【0147】
符号化画像の符号化レイヤ画像成分内のVCL NALユニット、すなわち同じ layer_id_nuh 値による符号化画像のVCL NALユニットの順序は、以下のように拘束される:
【0148】
- 符号化レイヤ画像成分の第1のVCL NALユニットは、first_slice_segment_in_pic_flag を1に等しくなる。
【0149】
- sliceSegAddrA および sliceSegAddrB を、同じ符号化レイヤ画像成分内の2つの符号化スライスセグメントNALユニットAおよびBの slice_segment_address 値にする。以下のコンディションのいずれかが真のときに、符号化スライスセグメントNALユニットAは符号化スライスセグメントNALユニットBを先行する:
【0150】
- TileId[ CtbAddrRsToTs[ sliceSegAddrA ] ] は、TileId[ CtbAddrRsToTs[ sliceSegAddrB ] ] より小さい。
【0151】
- TileId[ CtbAddrRsToTs[ sliceSegAddrA ] ] は、TileId[ CtbAddrRsToTs[ sliceSegAddrB ] ] に等しく、CtbAddrRsToTs[ sliceSegAddrA ] は、CtbAddrRsToTs[ sliceSegAddrB ] より小さい。
【0152】
符号化画像が複数のレイヤ画像成分から構成される場合、全ての画像成分のVCL NALユニットの順序は、以下のように拘束される:
【0153】
- 他のレイヤ画像成分 layerPicB に対する参照として用いられる符号化レイヤ画像成分 layerPicA において、VCL NAL Aを、第1のVCL NALユニットAとする。そのとき、VCL NALユニットAは、layerPicB に帰属するいかなるVCL NALユニットBにも先行する。
【0154】
- それ以外(第1のVCL NALユニットでない)は、du_interleaving_enabled_flag が0に等しい場合、VCL NAL Aを、他の符号化レイヤ画像成分 layerPicB に対する参照として用いられる符号化レイヤ画像成分 layerPicA のいずれかのVCL NALユニットとする。そのとき、VCL NALユニットAは、layerPicB に帰属するいかなるVCL NALユニットBにも先行する。
【0155】
- それ以外(第1のVCL NALユニットでなく、du_interleaving_enabled_flag が1に等しい)は、ctb_based_delay_enabled_flag が1に等しい、(すなわち、ビデオシーケンスにおいて、タイルまたはWPPが用いられているかどうかを拘らず、CTBベースの遅延がシグナリングされる)場合、layerPicA を、他の符号化レイヤ画像成分 layerPicB に対する参照として用いられる符号化レイヤ画像成分とする。また、NALUsetA を layerPicB に帰属する連続的なスライスセグメントNALユニットのシーケンスを直接追従する layerPicA に帰属する連続的なスライスセグメントNALユニットのシーケンスとし、NALUsetB1 と NALUsetB2 を、NALUsetA を直接追従する layerPicB に帰属する連続的なスライスセグメントNALユニットのシーケンスとする。sliceSegAddrA を、NALUsetA の第1のセグメントNALユニットの slice_segment_address とし、sliceSegAddrB を、NALUsetB2 の第1の符号化スライスセグメントNALユニットのslice_segment_address とする。そのとき、以下のコンディションは真になる:
【0156】
- NALUsetA が存在する場合、NALUsetB2 が存在する。
【0157】
- CtbAddrRsToTs[PicWidthInCtbsYA * CtbRowBA(sliceSegAddrB-1) + CtbColBA(sliceSegAddrB-1) + min_spatial_segment_delay] は、CtbAddrRsToTs[sliceSegAddrA-1] より小さいか、等しくなる。
図23も参照されたい。
【0158】
それ以外(第1のVCL NALユニットでなく、du_interleaving_enabled_flag は1に等しく、ctb_based_delay_enabled_flag は0に等しい)は、tiles_enabled_flag が0に等しく、entropy_coding_sync_enabled_flag が0に等しい(すなわち、タイルもWPPも、ビデオシーケンスに用いられない)場合、layerPicA を、他の符号化レイヤ画像成分 layerPicB に対して参照として用いられる符号化レイヤ画像成分とする。また、VCL NALユニットBを、符号化レイヤ画像成分 layerPicB のいずれかのVCL NALユニットとし、VCL NALユニットAを、VCL NALユニットAおよびVCL NALユニットBからの( min_spatial_segment_delay -1 )のVCL NALユニットがある、sliceSegAddrA に等しい slice_segment_address の値による layerPicA からの直前のVCL NALユニットとする。また、VCL NALユニットCを、sliceSegAddrC に等しい slice_segment_address の値によってVCL
NALユニットBを追従する符号化レイヤ画像成分 layerPicB の次のVCL NALユニットとする。PicWidthInCtbsYA を、CTB oflayerPicA を単位とする画像幅とする。そのとき、以下のコンディションは真になる:
【0159】
- VCL NALユニットBに先行する layerPicA から、min_spatial_segment_delay のVCL NALユニットが常にある。
【0160】
- PicWidthInCtbsYA * CtbRowBA(sliceSegAddrC-1) + CtbColBA(sliceSegAddrC-1) は、sliceSegAddrA-1 より小さいまたは等しくなる。
【0161】
- それ以外(第1のVCL NALユニットでなく、du_interleaving_enabled_flag は1に等しく、ctb_based_delay_enabled_flag は0に等しい)は、tiles_enabled_flag が0に等しく、entropy_coding_sync_enabled_flag が1に等しい(すなわち、ビデオシーケンスにおいてWPPが用いられる)場合、sliceSegAddrA を、layerPicA を参照として用いる符号化レイヤ画像成分 layerPicB に帰属する sliceSegAddrB に等しい slice_segment_address により、スライスセグメントVCL NALユニットBに直接先行する符号化レイヤ画像成分 layerPicA のいずれかのスライスセグメントVCL
NALユニットAのslice_segment_address とする。また、PicWidthInCtbsYA を、layerPicA のCTBを単位とする画像幅とする。そのとき、以下のコンディションは真となる:
【0162】
- ( CtbRowBA(sliceSegAddrB) - Floor( (sliceSegAddrA) / PicWidthInCtbsYA) + 1) は、min_spatial_segment_delay に等しいまたは大きい。
【0163】
それ以外(第1のVCL NALユニットでなく、du_interleaving_enabled_flag は1に等しく、ctb_based_delay_enabled_flag は0に等しい)は、tiles_enabled_flag が1に等しく、entropy_coding_sync_enabled_flag が0に等しい(すなわち、タイルがビデオシーケンスにおいて用いられる)場合、sliceSegAddrA を、符号化レイヤ画像成分 layerPicA のいずれかのスライスセグメントVCL NALユニットAのslice_segment_address とし、スライスセグメントVCL NALユニットBを、sliceSegAddrB に等しい slice_segment_address によって参照として layerPicA を用いる、符号化レイヤ画像成分 layerPicB に帰属する第1の次のVCL NALユニットとする。また、PicWidthInCtbsYA を、layerPicA のCTBを単位とする画像幅とする。そのとき、以下のコンディションは真となる:
【0164】
- TileId[ CtbAddrRsToTs[ PicWidthInCtbsYA * CtbRowBA(sliceSegAddrB-1) + CtbColBA(sliceSegAddrB-1) ] ] - TileId[ CtbAddrRsToTs[ sliceSegAddrA-1] ] は、 min_spatial_segment_delay と等しいまたは大きくなる。
【0165】
シグナリング724は、
図24に図示されたようにVPS内に配置することができる、ここで:
【0166】
du_interleaving_enabled_flag が1に等しいとき、異なるレイヤに対応するフレームおよびVCL NALユニットに対して、全ての符号化レイヤ画像成分から構成される単一の関連する符号化画像(すなわち、単一の関連AU)を有するフレームは、インターリーブすることができることをdu_interleaving_enabled_flag は特定する。u_interleaving_enabled_flag が0に等しいとき、複数の関連する符号化画像(すなわち一つ以上の関連するAU)および異なる符号化例や画像成分のVCL NALユニットを有することができるフレームは、インターリーブされない。
【0167】
上記の議論を完了させるため、デコーダ700に関連する仮定的参照デコーダは、
図18の実施形態によるアラインメントにおいて、シグナリング724の設定に従って、バッファ702および704の1つまたは2つのバッファによって動作する、すなわちシグナリング724に従ってこれらのオプションの間をスイッチすることを採用することができる。
【0168】
以下において、本願の他の態様が記述され、それは再び、形態1、形態2または双方とも組み合わせることができる。本願の第3の態様は、多くのアプリケーション、例えばビューの、に対するスケーラビリティシグナリングの拡張に関する。
【0169】
以下に提案される記載の理解の容易のため、存在するスケーラビリティシグナリングのコンセプトの概要が提供される。
【0170】
大部分の技術水準の3Dビデオアプリケーションまたは配備は、2つのカメラビューまたはより多いビュー(>2)によるマルチビューの各々に対するそれぞれの距離画像によるまたはよらない、それぞれの距離画像によるまたはよらない、立体視のコンテンツを特徴とする。
【0171】
高水準ビデオ符号化(HEVC)標準[1]およびその3Dおよびマルチビュービデオ[2][3]に対する拡張は、
図25のシンタックステーブルにおいて与えられる各NALユニットのヘッダにおける6ビットのレイヤ識別子( uh_layer_id )による最高64枚の異なるレイヤを表現することができるネットワーク・アブストラクション・レイヤ(NAL)に関するスケーラビリティシグナリングを特徴づけている。
【0172】
レイヤ識別子の各値は、使用におけるスケーラビリティディメンションに従い、例えば、ビデオパラメータセット拡張を通して、スケーラブル識別子変数(例えば、DependencyID、ViewID、その他)のセットに変換することができ、それは、レイヤ識別子が同様に距離画像を指示するために用いられる場合に、最高64の専用ビューがNALレイヤまたは32の専用ビュー上に指示されることを可能にする。
【0173】
しかしながら、例えば、参考文献[5][6][7]において提供されるような多数のカメラによるマルチカメラアレイにおいてまたは多数の視点を必要とするホログラフィックディスプレイにおいて、実質的により大きな数のビューがビデオビットストリームに符号化され、転送され、復号化されてディスプレイされることを必要とするアプリケーションも存在する。以下のセクションは、拡張に対して、HEVC高水準シンタックスの上述された欠点に対処する2つの発明を記述する。
【0174】
NALユニットヘッダにおける サイズnuh_layer_id フィールドを簡単に拡張することは、問題の有用な解法とは思われない。ヘッダは固定長であることが期待され、それは簡単なアクセスに対して、ルーチンおよび抽出のようなビットストリーム上の動作を実行する非常に単純な(ローコストの)デバイスにおいて必要とされる。これは、非常に少ないビューが使われる場合であっても、全てのケースに対して、追加ビット(またはバイト)が付加されなければならないことを意味する。
【0175】
また、標準の第1のバージョンの仕上げの後、NALユニットヘッダを変更することは、もはや可能でない。
【0176】
以下の記載は、上述された要求仕様を満たすために、スケーラビリティシグナリング能力を拡張するHEVCデコーダまたは中間デバイスの拡張機構を記述する。活性化および拡張データは、HEVC高水準ルシンタックスにおいてシグナリングすることができる。
【0177】
以下は、特に、レイヤ識別子拡張機構(次のセクションで記述されるように)がビデオビットストリームにおいて使用可能とされることを指示するシグナリングを記述する。
【0178】
第1および第2の態様に対する以外に、以下の実施形態の一般化を記述することで、HEVCフレームワークにおける第3のコンセプトの可能な実施が、最初に記述される。
コンセプトは、同じアクセスユニット内で、同じ現存するレイヤ識別子( nuh_layer_id )による多重のビュー成分の出現を可能とする。付加的な識別子拡張が、これらのビュー成分間を区別するために用いられる。この拡張は、NALユニットヘッダにおいて符号化されない。このように、それはNALユニットヘッダにおいてほど容易にアクセスすることはできないが、より多くのビューによる新規な用途ケースを依然として可能とする。特にビュークラスタリング(下記の説明を参照)については、一緒に帰属するビューのグループの抽出に対して、古い摘出機構がいかなる修正もなしに依然として用いることができる。
【0179】
レイヤ識別子値の現存するレンジを拡張するために、本発明は、以下の機構を記述する:
【0180】
a.現存するレイヤ識別子の予め定められた値が、特別な値(いわゆる「エスケープコード」)として用いられ、代替の導出プロセスを用いて実際の値が決定されることを指示する(特定の実施形態において):NALユニットヘッダにおけるシンタックスエレメント nuh_layer_id の値(例えば、レイヤ識別子の最高値)が用いられる。
b.高水準レベルシンタックス構造における(例えば、本発明の以下の実施形態において与えられるようなスライスヘッダシンタックスにおけるまたはビデオ/シーケンス/画像パラメータセットの拡張における)フラグまたはインデックスまたはビット長の指示は、他のシンタックス構造による実在するレイヤ識別子値の各値の組み合わせを可能とする。
【0181】
拡張機構の活性化は、以下のように実施することができる。
【0182】
a)に対して、明確な活性化シグナリングは必要でない、すなわち予約されたエスケープコードは、拡張(a1)の使用をシグナリングするために常に用いることができる。しかし、これは、1(エスケープコードの値)による拡張を用いることのない可能なレイヤ/ビューの数を低減させる。このように、下記のスイッチングパラメータは、両方の変形例(a2)に対して用いることができる。
【0183】
拡張機構は、ビットストリーム内で、ビデオシーケンスの全部のビットストリーム、ビデオシーケンスまたはビデオシーケンスの部分を通じて持続的である1つ以上のシンタックスエレメントを用いて、使用可能または使用不可にすることができる。
【0184】
実在するレイヤ識別子を表す変数LayerId によって、拡張機能を使用可能とする本発明の特定の実施形態は:
変形例I)変形例Iは、
図26に図示される。ここで、
【0185】
layer_id_ext_flag は、付加的な LayerId 値の使用を可能にする。
【0186】
変形例 II )変形例 II は、
図27に図示される。ここで、
【0187】
1に等しい layer_id_mode_idc は、LayerId の値の範囲がエスケープコードを用いることによって拡張されることを指示する。2に等しい layer_id_mode_idc は、LayerId の値の範囲がオフセット値によって拡張されることを指示する。0に等しい layer_id_mode_idc は、いかなる拡張機構も LayerId に対して用いられないことを指示する。
【0188】
注:モードに対する値の異なるアサインメントが可能である。
【0189】
変形例 III )変形例 III は、
図28に図示される。ここで、
【0190】
layer_id_ext_len は、LayerId レンジを拡張するために用いられるビットの数を指示する。
【0191】
上記のシンタックスエレメントは、対応するNALユニットまたはスライスデータのレイヤ識別子の指示に対するレイヤ識別子拡張機構の使用に対するインジケータとして役立つ。
【0192】
下記の説明において、変数 LayerIdExtEnabled は、拡張機構が使用可能であったことを示す論理インジケータとして用いられる。変数は、記述において、より簡単な参照に対して用いられる。変数名の実施例および本発明の実施形態は、異なる名前または対応するシンタックスエレメントを直接用いることができる。変数 LayerIdExtEnabled は、上記のケースに従って、以下のように導き出される:
【0193】
a1)に対して、レイヤ識別子シンタックスエレメントの予め定められた値のみがレイヤ識別拡張機構を使用可能にするために用いられる場合、以下が適用される:
【0194】
if ( nuh_layer_id == predetermined value )
LayerIdExtEnabled = true
else
LayerIdExtEnabled = false
【0195】
変形例Iの場合、ケースa2)およびb)に対して、すなわち、フラグ(例えば、layer_id_ext_enable_flag )が、レイヤ識別子拡張機構を使用可能にするために用いられる場合、以下が適用される:
【0196】
LayerIdExtEnabled = layer_id_ext_enable_flag
【0197】
変形例 II の場合、ケースa2)およびb)に対して、すなわち、インデックス(例えば、layer_id_mode_idc )がレイヤ識別子拡張機構を使用可能にするために用いられる場合、以下が適用される:
【0198】
if ( layer_id_mode_idc == predetermined value )
LayerIdExtEnabled = true
else
LayerIdExtEnabled = false
【0199】
変形例 III の場合、ケースa2)およびb)に対して、すなわち、ビット長指示(例えば、layer_id_ext_len )がレイヤ識別子拡張機構を使用可能にするために用いられる場合、以下が適用される:
【0200】
if ( layer_id_ext_len > 0 )
LayerIdExtEnabled = true
else
LayerIdExtEnabled = false
【0201】
ケースa2)に対して、予め定められた値が、使用可能にするシンタックスエレメントと組み合わせて用いられる場合、以下が適用される:
【0202】
LayerIdExtEnabled &= ( nuh_layer_id == predetermined value )
【0203】
レイヤ識別子拡張は、以下のようにシグナリングすることができる。
【0204】
拡張機構が使用可能である場合(例えば、前のセクションで記述されたようなシグナリングを通して)、予め定められたまたはシグナリングされたビットの数( layer_id_ext_len )が、実際の LayerId 値を決定するために用いられる。VCL NALユニットに対して、スライスヘッダシンタックスにおいて(例えば、現存する拡張を用いることによって)、または、ビデオビットストリームにおける位置によってまたは対応するスライスデータに関連するインデックスによって、NALユニットヘッダにおけるレイヤ識別子のシグナリングレンジを拡張するために用いられるSEIメッセージにおいて、追加ビットを含めることができる。
【0205】
非VCL NALユニット(VPS、SPS、PPS、SEIメッセージ)に対して、付加的な識別子が、特定の拡張に対してまたは関連するSEIメッセージよっても、加えることができる。
更なる記述において、特定のシンタックスエレメントは、ビットストリームシンタックスにおけるその位置に拘らず、layer_id_ext と称される。名前が、実施例として用いられる。以下のシンタックステーブルおよびセマンティクスは、可能な実施形態の実施例を与える。
【0206】
スライスヘッダにおけるレイヤ識別子拡張のシグナリングは、
図29に例証される。
【0207】
スライスヘッダ拡張におけるレイヤ識別子拡張の代替シグナリングは、
図30に示される。
【0208】
ビデオパラメータセット(VPS)に対するシグナリングの実施例は、
図31に示される。
【0209】
類似した拡張が、SPS、PPSおよびSEIメッセージに対して存在する。付加的なシンタックスエレメントは、類似した方法でこれらの拡張に加えることができる。
【0210】
関連するSEIメッセージ(例えば、レイヤID拡張SEIメッセージ)におけるレイヤ識別子のシグナリングは、
図32に図示される。
【0211】
SEIメッセージのスコープは、ビットストリームにおけるその位置に基づいて決定することができる。本発明の特定の実施形態において、レイヤID拡張SEIメッセージが layer_id_ext の値によって関連付けされた後と、新しいアクセスユニットまたは新しいレイヤID拡張SEIメッセージの開始までの間、全てのNALユニットは受け取られる。
【0212】
その位置に従属して、付加的なシンタックスエレメントは、固定(ここで、u(v)と示される)または可変長(ue(v))の符号によって符号化することができる。
【0213】
特定のNALユニットおよび/またはスライスデータに対するレイヤ識別子は、NALユニットヘッダにおけるレイヤ識別子( nuh_layer_id )によって提供される数学的に組み合わされた情報およびレイヤ識別子拡張機構( LayerIdExtEnabled )の活性化に従うレイヤ識別子拡張機構( layer_id_ext )によって導き出される。
【0214】
特定の実施形態は、最上位ビットとしての現存するレイヤ識別子( nuh_layer_id )および以下のように最下位ビットとしての拡張情報を用いて、ここで LayerId と称されたレイヤ識別子を導き出す:
【0215】
if ( LayerIdExtEnabled == true)
LayerId = (nuh_layer_id << layer_id_ext_len) + layer_id_ext
else
LayerId = nuh_layer_id
【0216】
このシグナリングスキームは、nuh_layer_id が異なる値を表すことができるケースb)において、小さいレンジの layer_id_ext 値によって、より異なる LayerId値 をシグナリングすることを可能とする。それは、特定のビューのクラスタリングも可能とする。すなわち、一緒に近くに配置されるビューはそれらが一緒に帰属することを指示するため、nuh_layer_id の同じ値を用いることができる。
図33を参照されたい。
【0217】
図33は、クラスタ(すなわち、物理的に近いカメラのビューのグループ)によって関連する全てのNALユニットが nuh_layer_id の同じ値および layer_id_ext の固有の値を持つ、ビュークラスタの構成を図示する。あるいは、シンタックスエレメント layer_id_ext がクラスタを構成し、nuh_layer_id がビューを識別するために役立つことができる本発明の他の実施形態において用いることができる。
【0218】
本発明の他の実施形態は、以下のように、最下位ビットとして現存するレイヤ識別子( nuh_layer_id )を、最上位ビットとして拡張情報を用いることによって、ここでは LayerId と称されるレイヤ識別子を導き出す:
if ( LayerIdExtEnabled == true)
LayerId = (layer_id_ext << 6) + nuh_layer_id
else
LayerId = nuh_layer_id
【0219】
このシグナリングスキームは、特定のビューのクラスタリングによってシグナリングを可能とする、すなわちお互いから物理的に離れて配置されたカメラのビューは、それらが異なるクラスタ(すなわちこの実施形態における layer_id_ext の値)における nuh_layer_id の同じ値によって、カメラのビューに関して同じ予測従属性を利用することを指示するため、nuh_layer_id の同じ値を用いることができる。
【0220】
他の実施形態は、LayerId のレンジ(現存するレイヤ識別子レンジ( nuh_layer_id )の最大許容値を参照する maxNuhLayerId )を拡張する付加的なスキームを用いる:
【0221】
if ( LayerIdExtEnabled == true)
LayerId = maxNuhLayerId + layer_id_ext
else
LayerId = nuh_layer_id
【0222】
このシグナリングスキームは、nuh_layer_id の予め定められた値が拡張を可能にするために用いられるケースa)において特に有用である。たとえば、maxNuhLayerId の値は、LayerId 値のレンジのギャップレスの拡張を可能とするために、予め定められたエスケープコードとして用いることができる。
【0223】
[3]の初期のドラフトバージョンとして記述されたHEVCの3Dビデオ符号化拡張のテストモデルのドラフト文脈において、考えられる実施形態が以下のパラグラフにおいて記述される。
【0224】
[3]の初期バージョンのセクションG.3.5において、ビュー成分は以下の通りに定められている。
【0225】
ビュー成分:シングルアクセスユニットAにおけるビュー成分の符号化表現は、奥行きビュー成分およびテクスチャビュー成分を含むことができる。
【0226】
奥行きおよびテクスチャのビュー成分のマッピングは、現存するレイヤ識別子( nuh_layer_id )に基づいて、VPS拡張シンタックスにおいて定められる。本発明は、追加レイヤ識別子値の範囲をマップするためにフレキシビリティを加える。例示的なシンタックスは、
図34に示される。現存するシンタックスに対する変更は、シェーディングを用いて強調される。
【0227】
レイヤ識別子拡張が用いられる場合は、VpsMaxLayerId は vps_max_layer_id に等しく設定され、それ以外は、vps_max_ext_layer_id に等しく設定される。
【0228】
レイヤ識別子拡張が用いられる場合は、VpsMaxNumLayers は、拡張を用いて符号化することができる最大レイヤ数にセットされ(定義済みの数のビットによってまたは layer_id_ext_len に基づいてのいずれか)、それ以外は、VpsMaxNumLayers は、vps_max_layers_minus1 + 1 にセットされる。
【0229】
vps_max_ext_layer_id は、最大の使用済み LayerId 値である。
【0230】
layer_id_in_nalu[ i ] は、i番目のレイヤのVCL NALユニットに関連付けられた LayerId 値を特定する。
0 ~ VpsMaxNumLayers - 1 のレンジにおけるiに対して、包括的に、存在しないときは、layer_id_in_nalu[ i ] の値はiに等しいと推定される。
【0231】
iが0より大きいとき、layer_id_in_nalu[ i ] は layer_id_in_nalu[ i - 1 ] より大きくなる。
splitting_flag が1に等しいとき、セグメントにおけるビットの合計数が6より小さい場合は、layer_id_in_nuh のMSBは0とする必要がある。
【0232】
0 ~ vps_max_layers_minus1 のレンジにおけるiに対して、包括的に、変数LayerIdInVps[ layer_id_in_nalu[ i ] ] は、iに等しくセットされる。
【0233】
dimension_id[ i ][ j ] は、i番目のレイヤのj番目の現在のスケーラビリティディメンションタイプの識別子を特定する。存在しないとき、dimension_id[ i ][ j ] の値は0に等しいと推測される。dimension_id[ i ][ j ] の表現に対して用いられるビットの数は、dimension_id_len_minus1[ j ] + 1 ビットである。splitting_flag が1に等しいとき、それは、dimension_id[ i ][ j ] が( ( layer_id_in_nalu[ i ] & ( (1 << dimBitOffset[ j + 1 ] ) - 1) ) >> dimBitOffset[ j ] )に等しくなるビットストリーム一致の必要条件である。
【0234】
i番目のレイヤの smIdx 番目のスケーラビリティディメンションタイプの識別子を特定する変数 ScalabilityId[ i ][ smIdx ] は、i番目のレイヤのビュー識別子を特定する変数 ViewId[ layer_id_in_nuh[ i ] ] およびi番目のレイヤの空間/SNRスケーラビリティ識別子を特定するDependencyId[ layer_id_in_nalu[ i ] ] は、以下のように導き出される:
【0235】
for (i = 0; i < VpsMaxNumLayers; i++) [
for( smIdx= 0, j =0; smIdx< 16; smIdx ++ )
if( ( i ! = 0 ) && scalability_mask[ smIdx ] )
ScalabilityId[ i ][ smIdx ] = dimension_id[ i ][ j++ ]
else
ScalabilityId[ i ][ smIdx ] = 0
ViewId[ layer_id_in_nalu[ i ] ] = ScalabilityId[ i ][ 0 ]
DependencyId [ layer_id_in_nalu[ i ] ] = ScalabilityId[ i ][ 1 ]
]
【0236】
初期バージョン[3]のセクション2において、特定のカメラの対応する奥行きビューおよびテクスチャ成分は、他の奥行きビューおよびテクスチャから、初期バージョン[3]のセクション NALユニットヘッダセマンティクスにおいて、以下のように導き出され、それらの拡張性識別ビュー順序インデックス( ViewIdx )および奥行きフラグ( DepthFlag )によって区別することができることが記述されている。
【0237】
ViewIdx = layer_id >> 1
DepthFlag = layer_id % 2
【0238】
それ故に、個々のビュー成分(すなわち特定のカメラのテクスチャおよび奥行きビュー成分)は、たとえば 、0の初期のバージョンのセクションG.8における復号化プロセスにおいて、変数ViewIdx の値を介して、区別可能な layer_id の個々の値によって、NALユニットへパケット化されなければならない。
【0239】
ちょうど概説されたコンセプトは、異なるビューに対して、NALユニットヘッダ( nuh_layer_id )におけるレイヤ識別子の同じ値を用いることを可能とする。このように、識別子ViewIdx および DepthFlag の導出は、以下のように前に導き出された拡張ビュー識別子を用いるのに適合することを必要とする:
【0240】
ViewIdx = LayerId >> 1
DepthFlag = LayerId % 2
【0241】
第3の形態の一般化した実施形態は、
図35に関して後述され、それはマルチレイヤビデオ信号を復号化するように構成されたデコーダ800を示す。デコーダは、
図2、9または18に関して上記概説されたように具現化することができる。すなわち、特定の実施形態による、
図35のデコーダ800のより詳細な説明に対する実施例は、上記概説されたそれらの態様および実施形態を用いて得ることができる。上記の概説された態様とそれらの実施形態および
図35の実施形態の間の考えられるオーバーラップを図示するために、たとえば、同じ参照符号が、
図35におけるマルチレイヤビデオ信号40に対して用いられている。マルチレイヤビデオ信号40の多重レイヤは何ができるかに関しては、参照は、第2の態様に関して提案された記述が参照される。
【0242】
図35に示されるように、マルチレイヤビデオ信号は、パケット804のシーケンスからなり、その各々は、上記の概説された特定のHEVC拡張実施例においてシンタックスエレメントnuh_layer_id を用いて具現化された、レイヤ識別シンタックスエレメント806を備える。デコーダ800は、更に下で概説されるように、それ自身レイヤ識別シンタックスエレメントを部分的に含むことができるマルチレイヤビデオ信号40におけるレイヤ識別拡張機構のシグナリングに応答するように構成される。レイヤ識別拡張機構のシグナリング808は、シグナリング808に応答して、パケット804の中の予め定められたパケットに対して、矢印819を用いてエンタリングデコーダとして図示されるデコーダ800によって検出される。レイヤ識別拡張機構のシグナリング808を介して制御されるデコーダ800のスイッチ812を用いて図示されるように、デコーダ800は、予め定められたパケット810に対して、814において、マルチレイヤデータストリーム40からレイヤ識別拡張を読み込み、このレイヤ識別拡張を用いて、現在のパケット810のレイヤ識別インデックスを決定816する。シグナリング808がレイヤ識別拡張機構の非活性化をシグナリングする場合、レイヤ識別拡張は814において読み込み、818で図示されるように、現在のパケット810自体によって備えることができるか、または、現在のパケット810によって関連付け可能な方法で、データストリーム40内で他の場所に位置決めすることができる。このように、レイヤ識別拡張機構のシグナリング808がレイヤ識別拡張機構の活性化をシグナリングする場合、デコーダ800は、814および816に従って、現在のパケット810に対してレイヤ識別インデックスを決定する。しかしながら、レイヤ識別拡張機構のシグナリング808がレイヤ識別拡張機構の非活性化をシグナリングする場合、デコーダ800は、単に現在のパケット810のレイヤ識別シンタックスエレメント806から予め定められたパケットのレイヤ識別インデックスを決定820する。そのケースにおいて、レイヤ識別拡張818、すなわち信号40内のその存在は不必要である、すなわちそれは存在しない。
【0243】
実施形態において、レイヤ識別シンタックスエレメント806は、パケット検出においてレイヤ識別拡張機構のシグナリング808に寄与する:現在のパケット810のような各パケットが関係する限り、レイヤ識別拡張機構のシグナリング808がレイヤ識別拡張機構の活性化または非活性化をシグナリングするかどうかは、デコーダ800によって、少なくとも部分的に、それぞれのパケット810のレイヤ識別シンタックスエレメント806がエスケープ値を仮定しているか否かに従って決定される。たとえば、特定のパラメータセット824内で、データストリーム40によって備えられる高水準シンタックスエレメント822は、むしろ肉眼的に、またはより高いスコープに関して、レイヤ識別拡張機構のシグナリング808に、すなわちレイヤ識別拡張機構の活性化または非活性化をシグナリングすることに寄与することができる。特に、デコーダ800は、レイヤ識別拡張機構のシグナリング808が、高水準シンタックスエレメント822に従い、主として予め定められたパケット810に対してレイヤ識別拡張機構の活性化または非活性化をシグナリングするかどうか決定するように構成することができる。高水準シンタックスエレメントが第1の状態をとる場合、レイヤ識別拡張機構は、非活性化するシグナリング808によってシグナリングされる。上記の概説された実施形態を参照すると、これは layer_id_ext_flag = 0、layer_id_mode_idc = 0または layer_id_ext_len = 0 に関する。言い換えれば、上記の特定のシンタックスの実施例において、それぞれ、layer_id_ext_flag 、layer_id_ext_idc および layer_id_ext_len は、高水準シンタックスエレメント822に対する実施例を表している。
【0244】
パケット810のような特定のパケットに関して、これは、高水準シンタックスエレメント822が第1の状態と異なる状態をとり、そのパケット810のレイヤ識別シンタックスエレメント806がエスケープ値をとる場合に、パケット810に対して、レベル識別拡張機構のシグナリング808がレベル識別拡張機構の活性化をシグナリングすることをデコーダ800が決定することを意味する。しかしながら、パケット810に対して有効な高水準シンタックスエレメント822が第1の状態をとるまたはそのパケット810のレイヤ識別エレメント806がエスケープ値と異なる値をとる場合に、デコーダ800はシグナリング808によってシグナリングされるレイヤ識別拡張機構の非活性化を決定する。
【0245】
単に2つの可能な状態だけを有するよりむしろ、上記シンタックス実施例で概説されたように、高水準シンタックスエレメント822は、非活性化状態、すなわち第1の状態を越えて、高水準シンタックスエレメント824がとることができる複数の更なる状態を備える。これらの可能な更なる状態に従い、決定816は、破線824を用いて指示されたように、変化することができる。たとえば、上記シンタックス実施例において、layer_id_mode_idc = 2 のケースは、決定816が、パケット810のレイヤ識別インデックスを得るために、デコーダ800がパケット810のレイヤ識別シンタックスエレメント806を表すデジットとレイヤ識別拡張を表すデジットを連結することにおそらく結果としてなることが示されている。それとは異なり、layer_id_len≠0 の実施例ケースは、決定816が以下を実行しているデコーダ800におそらく結果としてなることが示されている:デコーダ800は、予め定められたパケットのレベル識別インデックスを得るために、高水準シンタックスエレメントを用いて、パケット810によって関連付けられたレイヤ識別拡張818の長さnを決定し、パケット810のレイヤ識別シンタックスエレメント806を表すデジットとパケット810のレベル識別拡張線818を表すnデジットを連結する。更には、決定816は、予め定められtパケット810のレイヤ識別インデックスを得るために、たとえば、レイヤ識別シンタックスエレメント806の最大限表すことができる状態(エスケープ値より小さい)を超える数に対応することができる予め定められた値に対して、パケット810によって関連付けられたレベル識別拡張818を加えることを含むことができる。
【0246】
しかしながら、
図34において808’を用いて指示されたように、シンタックスエレメント806の全部の表すことができる値/状態が残り、それらのいずれもエスケープコードとして確保されないように、パケット810のレイヤ識別シンタックスエレメント806を、レイヤ識別拡張機構のシグナリング808に寄与することから除外することも可能である。そのケースでは、シグナリング808’は、各パケット810に対して、レイヤ識別拡張818が存在するか否か、および、したがってレイヤ識別インデックスの決定が814および816または820に追従するかどうかを、デコーダ800に指示する。
【0247】
図35のデコーダにフィットするエンコーダは、したがって、データストリームを単純に形成する。エンコーダは、たとえば、データストリームに符号化されるレイヤ数に従って、拡張機構を用いるか否かを決定する。
【0248】
本願の第4の態様は、ディメンション従属する直接従属性シグナリングに関する。
【0249】
現在のHEVC拡張([2]、[3]、[4])において、符号化レイヤは、データの予測に対して、0以上の参照符号化レイヤを利用することができる。各符号化レイヤは、固有の nuh_layer_id 値によって識別され、それは layerIdInVps 値に全単射的にマッピングすることができる。layerIdInVps 値は連続的であり、Aに等しい layerIdinVps が、layerIdInVps Bによって参照されるとき、ビットストリーム適合性の必要条件は、AがBより小さいことである。
【0250】
ビットストリーム内の各符号化レイヤに対して、参照符号化レイヤは、ビデオパラメータセットにおいてシグナリングされる。それ故に、バイナリマスクは、各符号化レイヤに対して伝送される。bの layerIdinVps 値による符号化レイヤに対して、マスク( direct_dependency_flag[ b ] として表される)は、b-1ビットから構成される。xに等しい layerIdinVps によるレイヤが、bに等しい layerIdinVps によるレイヤの参照レイヤであるとき、バイナリマスク( direct_dependency_flag[ b ][ x ] として表された)における第x番目のビットは、1に等しい。それ以外に、xに等しいlayerIdinVpsによるレイヤが、Bに等しい layerIdinVps によるレイヤの参照レイヤでないとき、direct_dependency_flag[ b ][ x ] の値は0に等しい。
【0251】
全ての direct_dependency_flags を解析した後に、各符号化レイヤに対して、direct_dependency_flags によって特定されたように、全ての参照レイヤのnuh_layer_id 値を含むリストがクリエイトされる。
【0252】
さらに、各 layerIdinVps 値を、Tディメンションのスケーラビリティ空間における位置にマッピングすることを可能にする情報が、VPSにおいてシグナリングされる。各ディメンションtは、スケーラビリティのタイプを表し、それは例えばビュースケーラビリティ、空間スケーラビリティまたは距離画像の指示とすることができる。
【0253】
各可能な従属性に対して1ビットをシグナリングするによって、現在の設計は最大限のフレキシビリティを提供する。しかしながら、このフレキシビリティはいくつかの欠点を伴う:
【0254】
1.これは、各スケーラビリティディメンションに対して特定の従属構造が利用される一般的用法のケースである。さらに、直接のディメンション間の従属性は、一般的でなく、却下されるであろう。一般的用法のレイヤセットアップに対する実施例は、
図36に表される。ここで、ディメンション0は、一種の階層的予測構造を利用する、ビュースケーラビリティディメンションとされるであろう。ディメンション1は、IP構造を用いた空間スケーラビリティディメンションとされるであろう。セットアップに関係する direct_dependency_flags は、
図37に示される。
現在の解決法の欠点は、これは direct_dependency_flags のアルゴリズム的に複雑な解析を必要とするので、現在のVPS設計からこの種のディメンション従属する従属性を識別することが直接的でないということである。
2.1つのスケーラブルディメンションタイプのみが利用されるときでさえ、レイヤのサブセットに対して同一の構造が一般的に用いられる。例えばビュースケーラビリティのみのケースに対して、ビューは水平および垂直のカメラ位置によってスパンされる空間にマッピングされるであろう。この種のシナリオに対する実施例は、
図36に表され、ここでディメンション0および1は水平および垂直のカメラ位置のディメンションと解釈される。各カメラ位置のディメンションに対して1つの予測構造を用いるのが一般的な慣習であるが、現在のVPS設計はこれから結果として生じる冗長性を利用することができない。さらに、現在のVPS設計において、従属性がディメンション従属であるという直接の指示はない。
3.direct_dependency_flags の数は、ビットストリームにおけるレイヤの数の自乗に比例し、それゆえに、64レイヤによる現在の最悪のケースは、約64*63/2=2016ビットが必要とされる。さらに、ビットストリームにおいて最大数のレイヤが拡張されるとき、これはドラスティックに増加するビットの数に結果としてなる。
【0255】
上述された欠点は、Tディメンションの従属性空間の各ディメンションtに対して、従属性の明確なシグナリングをすることによって解決することができる。
【0256】
ディメンション従属の直接従属性シグナリングは、以下の利益を提供する:
1.各従属性ディメンションに対する従属性は、ビットストリームにおいて直接的に利用可能であり、direct_dependency_flags の複雑な解析は必要でない。
2.従属性のシグナリングに対して必要なビット数は、低減することができる。
【0257】
実施形態において、従属性空間は、現在のMV-およびスケーラブルドラフト[2]において記述されているように、例えばスケーラビリティ空間と同じとすることができる。他の実施形態において、従属性空間は、明確にシグナリングすることができ、例えばカメラ位置によってスパンされる空間とすることもできる。
【0258】
ディメンション従属の従属性シグナリングに対する実施例は、
図38に与えられる。ディメンション間の従属性は、2値マスクから直接的に導き出すことができ、必要なビットの量は低減されることが分かる。
【0259】
以下において、各 layerIdInVps 値は、ディメンション 0,1,2,….,(T-1) によるT次元の従属性空間に、全単射的にマッピングされると仮定される。それゆえに、各レイヤは、対応するディメンション 0,1,2,…,(T-1) において位置を特定する、d0,d1,d2,…,dT-1 による関連ベクトル (d0,d1,d2,…,dT-1 )' を有する。
【0260】
基本的なアイデアは、レイヤ従属性のディメンション従属シグナリングである。それゆえに、ディメンションtにおける各ディメンション t ∈ [ 0,1 ,2 … (T-1) ] および各位置 dt に対して、ディメンションtにおける参照位置セット Ref( dt ) がシグナリングされる。以下に記述されるように、参照位置セットは、異なるレイヤ間の直接従属性を決定するために利用される:
【0261】
ディメンションtにおける位置 dt およびディメンションxにおける位置 dx を有する x ∈[ 0,1,2 … (T-1)] / [ t ] によるレイヤは、dt,RefがRef( dt ) におけるエレメントであるとき、ディメンションtにおける位置 dt,Ref およびディメンションxにおける位置 dx を有する x ∈[ 0,1,2 … (T-1)] / [ t ] によるレイヤに従属する。
【0262】
他の特定の実施形態において、全ての従属性は逆にされ、それゆえに Ref( dt ) における位置は、ディメンションtにおける位置 dt におけるレイヤに従属するディメンションtにおけるレイヤの位置を指示する。
【0263】
従属性空間のシグナリングおよび導出に関する限り、以下に記述されるシグナリングは、例えばSEIメッセージにおけるVPS、SPSにおいてまたはビットストリームにおける他の場所において、なすことができる。
【0264】
ディメンションの数およびディメンションにおける位置の数に関しては、以下が注目される。従属性空間は、特定の数のディメンションおよび各ディメンションにおける特定の数の位置によって定められる。
【0265】
特定の実施形態において、ディメンションの数 num_dims およびディメンションtにおける位置の数 num_pos_minus1[ t ] は、例えば
図39に示されるように、明確にシグナリングすることができる。
【0266】
他の実施形態において、num_dims の値または num_pos_minus1 の値は、固定化することができ、ビットストリームにおいてシグナリングされない。他の実施形態において、num_dims の値または num_pos_minus1 の値は、ビットストリームにおいて存在する他のシンタックスエレメントから導き出すことができる。より詳しくは、現在のHEVC拡張設計において、ディメンションの数およびディメンションにおける位置の数は、それぞれスケーラビリティディメンションの数およびスケーラビリティディメンションの長さに等しくすることができる。
【0267】
それゆえに、[2]において定義された NumScalabilityTypes および dimension_id_len_minus1[ t ] によって:
num_dims = NumScalabilityTypes
num_pos_minus1[ t ] = dimension_id_len_minus1[ t ]
【0268】
他の実施形態において、num_dims の値または num_pos_minus1 の値が明確にシグナリングされるかまたはビットストリームに存在する他のシンタックスエレメントから導き出されるかどうかは、ビットストリームにおいてシグナリングすることができる。
【0269】
他の実施形態において、num_dims の値は、ビットストリームに存在する他のシンタックスエレメントから導き出すことができ、1つ以上のディメンションの分割の付加的なシグナリングによってまたは付加的なディメンションをシグナリングすることによって増やされる。
【0270】
従属性空間における位置に対する layerIdInVps のマッピングに関して、レイヤが従属性空間にマッピングされることが注目される。
【0271】
特定の実施形態において、ディメンションtにおける layerIdinVps 値iによってレイヤの位置を特定するシンタックスエレメント pos_in_dim[ i ][ t ] は、例えば、明確に伝送することができる。これは、
図40に図示される。
【0272】
他の実施形態において、pos_in_dim[ i ][ t ] の値は、ビットストリームにおいてシグナリングされないが、例えば次のように、layerIdInVps 値iから直接的に導き出すことができる。
【0273】
idx = i
dimDiv[ 0 ] = 1
for ( t = 0; t < T 1 ; t++ )
dimDiv[ t + 1 ] = dimDiv[ t ] * ( num_pos_minus1[ t ] + 1 )
for ( t = T 1 ; t >= 0; t-- ) [
pos_in_dim[ i ][ t ] = idx / dimDiv[ t ] // integer devision
idx = idx pos_in_dim[ i ][ t ] * dimDiv[ t ]
}
【0274】
特に、現在のHEVC拡張設計に対して、上述の記載は、dimension_id[ i ][ t ] 値の現在の明確なシグナリングを置換するかもしれない。
【0275】
他の実施形態において、pos_in_dim[ i ][ t ] の値は、ビットストリームにおける他のシンタックスエレメントから導き出される。より詳しくは、現在のHEVC拡張設計において、pos_in_dim[ i ][ t ] の値は、例えば、dimension_id[ i ][ t ] 値から導き出すことができる。
【0276】
pos_in_dim[ i ][ t ] = dimension_id[ i ][ t ]
【0277】
他の実施形態において、pos_in_dim[ i ][ t ] が明確にシグナリングされるかまたは他のシンタックスエレメントから導き出されるかをシグナリングすることができる。
【0278】
他の実施形態において、ビットストリームに存在する他のシンタックスエレメントから導き出されるpos_in_dim[ i ][ t ] に加えて、pos_in_dim[ i ][ t ] 値が明確にシグナリングされるどうかを、シグナリングすることができる。
【0279】
従属性のシグナリングおよび導出に関しては、以下が用いられる。
【0280】
直接位置従属性フラグの使用が以下の実施形態の主題である。この実施形態において、参照位置が、例えば
図41に特定されるように、ディメンションtにおける位置nがディメンションtにおける位置mの参照位置セットに含まれるかどうかを指示する、例えばフラグpos_dependency_flag[ t ][ m ][ n ] によってシグナリングされる。
【0281】
参照位置セットを用いる実施形態において、ディメンションtにおける位置mに対してディメンションtにおける参照位置の数を特定する変数 num_ref_pos[ t ][ m ] およびディメンションtにおける位置mに対してディメンションtにおけるj番目の参照位置を特定する変数 ref_pos_set[ t ][ m ][ j ] は、次のように導き出すことができる:
for( t = 0; t <= num_dims; t++ )
for( m = 1; m <= num_pos_minus1[ t ]; m++ )
num_ref_pos[ t ][ m ] = 0
for( n = 0; n < m; n++ ) [
if ( pos_dependency_flag[ t ][ m ][ n ] = = true ) [
ref_pos_set[ t ][ m ][ num_ref_pos[ t ][ m ] ] = n
num_ref_pos[ t ][ m ] ++
}
}
【0282】
他の実施形態において、参照位置のセットのエレメントは、例えば
図42に特定されるように、直接的にシグナリングすることができる。
【0283】
直接従属性フラグを用いた実施形態において、iに等しい layerIdInVps によるレイヤがjに等しい layerIdInVps によるレイヤに従属することを特定する直接従属性フラグ directDependencyFlag[ i ][ j ] は、参照位置セットから導き出されるであろう。例えば以下において特定されるように、なされるであろう:
【0284】
入力としてのベクトル posVector による関数 posVecToPosIdx( posVector ) は、以下において特定されるように、従属性空間における位置 posVector に関係するインデックス posIdx を導き出す:
【0285】
for ( t = 0, posIdx = 0, offset = 1; t < num_dims; t++) [
posIdx = posIdx + offset * posVector[ t ]
offset = offset * ( num_pos_minus1[ t ] + 1 );
}
【0286】
pos_in_dim[ i ] から導き出されるインデックス idx に従属する layerIdinVps 値iを特定する変数 posIdxToLayerIdInVps[ idx ] は、例えば以下において特定されるように導き出すことができる:
【0287】
for (i = 0; i < vps_max_layers_minus1; i++)
posIdxToLayerIdInVps[ posVecToPosIdx( pos_in_dim[ i ] )] = i
【0288】
変数 directDependencyFlag[ i ][ j ] は、以下に特定されるように導き出される:
【0289】
for (i = 0; i <= vps_max_layers_minus1; i++) [
for (k = 0; k < i; k++)
directDependencyFlag[ i ][ k ] = 0
curPosVec = pos_in_dim[ i ]
for (t = 0; t < num_dims; t++) [
for (j = 0; j < num_ref_pos[ t ][ curPosVec[ t ] ]; j++) [
refPosVec = curPosVec
refPosVec[ t ] = ref_pos_set[ t ][ curPosVec[ t ] ][ j ]
directDependencyFlag[ i ][ posIdxToLayerIdInVps[ posVecToPosIdx( refPosVec ) ] ] = 1
]
]
]
【0290】
実施形態において、iに等しい layerIdInVps によるレイヤがjに等しい layerIdInVps によるレイヤに従属することを特定する直接従属性フラグ directDependencyFlag[ i ][ j ] は、pos_dependency_flag[ t ][ m ][ n ] フラグから直接的に導き出されるであろう。例えば、以下に特定されるように:
【0291】
for (i = 1; i <= vps_max_layers_minus1; i++) [
curPosVec = pos_in_dim[ i ];
for (j = 0; j < i; j++) [
refPosVec = pos_in_dim[ j ]
for (t = 0, nD = 0; t < num_dims; t++)
if ( curPosVec[ t ] ! = refPosVec[ j ][ t ] ) [
nD ++
tD = t
]
if ( nD = = 1 )
directDependencyFlag[ i ][ j ] = pos_dependency_flag[ tD ][ curPosVec[ tD ] ][ refPosVec[ tD ] ]
else
directDependencyFlag[ i ][ j ] = 0
]
]
【0292】
参照レイヤセットを用いる実施形態において、iに等しい layerIdInVps によるレイヤに対する参照レイヤの数を特定する変数 NumDirectRefLayers[ i ] および k番目の参照レイヤの layerIdInVps の値を特定する変数 RefLayerId[ i ][ k ] は、例えば以下に特定されるように導き出されるであろう:
【0293】
for( i = 1; i <= vps_max_layers_minus1; i++ )
for( j = 0, NumDirectRefLayers[ i ] = 0; j < i; j++ )
if( directDependencyFlag[ i ][ j ] = = 1 )
RefLayerId[ i ][ NumDirectRefLayers[ i ]++ ] = layer_id_in_nuh[ j ]
【0294】
他の実施形態において、例えば以下に特定されるように、参照レイヤは、directDependencyFlag 値を導き出すことなく、参照位置セットから直接的に導き出すことができる:
【0295】
for (i = 0; i <= vps_max_layers_minus1; i++) [
NumDirectRefLayers[ i ] = 0
curPosVec = pos_in_dim[ i ]
for (t = 0; t < num_dims; t++) [
for (j = 0; j < num_ref_pos[ t ][ curPosVec[ t ] ]; j++) [
refPosVec = curPosVec
refPosVec[ t ] = ref_pos_set[ t ][ curPosVec[ t ] ][ j ]
m = posIdxToLayerIdInVps[ posVecToPosIdx( refPosVec ) ]
RefLayerId[ i ][ NumDirectRefLayers[ i ]++ ] = layer_id_in_nuh[ m ]
]
]
【0296】
他の実施形態において、参照レイヤは、ref_pos_set 変数を導き出すことなく、pos_dependency_flag 変数から直接的に導き出されるであろう。
【0297】
このように、上記議論された図は、第4の態様によるデータストリームを図示し、レイヤ間予測を用いて、ビデオ材料が情報量の異なるレベル、すなわち数において LayerIdInVps で符号化されるマルチレイヤビデオデータストリームを明らかにする。レベルは、それらの間で定められるシーケンシャル順序を有する。たとえば、それらは、シーケンス 1…vps_max_layers_minus1 に従う。たとえば、
図40を参照されたい。ここで、マルチレイヤビデオデータストリーム内のレイヤの数は、vps_max_layers_minus1 によって900で与えられる。
【0298】
レイヤ間予測を介して、レイヤがシーケンシャル順序に従って引き続くいかなるレイヤからも従属しないように、ビデオ材料がマルチレイヤビデオデータストリームに符号化される。すなわち、1~ vps_max_layers_minus1 までのナンバリングを用いて、レイヤiは単にレイヤj< iに従属することができる。
【0299】
レイヤ間予測を介して、他のレイヤの1つ以上から従属する各レイヤは、ビデオ材料が1つ以上の他のレイヤに符号化される情報量を増大させる。たとえば、増大は、空間分解能、ビューの数、SNR精度等、または他のディメンションタイプに関係する。
【0300】
マルチレイヤビデオデータストリームは、たとえば、VPSレベルにおいて、第1のシンタックス構造を備える。上記実施例において、num_dims は、
図39において902で示されるように、第1のシンタックス構造によって備えることができる。したがって、第1のシンタックス構造は、従属性ディメンション904および906の数Mを定める。
図36において、それは、例示的に2つであり、1つは水平に、他は垂直に導く。この点に関して、上記アイテム2が参照される:レベルが情報量の増加させる観点から、ディメンションの数は、異なるディメンションタイプの数に必ずしも等しいわけではない:ディメンションの数は、たとえば、垂直および水平のビューシフトの間を区別することにより、より高くすることができる。従属性空間908にスパンするM個の従属性ディメンション904および906が、
図36に例示的に示される。
【0301】
【0302】
マルチレイヤビデオデータストリームは、従属性ディメンションi当り、たとえばVPSレベルにおいて、第2のシンタックス構造914を備える。上記実施例において、それは、pos_dependency_flag[ t ][ m ][ n ] 、または、num_ref_pos[ t ][ m ] + ref_pos_set[ t ][ m ][ j ] を包含する。第2のシンタックス構造914は、従属性ディメンションi当りの従属ディメンションiのNiランクレベルの中の従属性を記述する。従属性は、矩形910の間の全ての水平矢印または全ての垂直矢印によって、
図36に図示される。
【0303】
全般的に見て、この手段によって、各従属性ディメンションに対して、それぞれのディメンション以外の従属性ディメンションの各々に沿ったサイクリックシフトに対して不変であるそれぞれの従属性ディメンションと平行な従属性によって従属性軸のそれぞれの1つと平行に走り、高いランクレベルから低いランクレベルまでポイントするように制限された方法で、従属性空間における利用可能ポイントの間の従属性が定められる。
図36を参照:矩形の上側線の矩形の間の全ての水平矢印は、矩形の下側行において複製され、同じことが、利用可能ポイントに対応する矩形およびそれらの従属性に対応する矢印によって、矩形の4つの垂直列に関して垂直矢印に対して適用される。この手段によって、全単射マッピングを介して、第2のシンタックス構造は、同時に、レイヤ間の従属性を定める。
【0304】
デコーダのようなネットワークエンティティまたはMMEのようなmaneは、データストリームの第1および第2のシンタックス構造を読み込み、第1および第2のシンタックス構造に基づいて、レイヤ間の従属性を決定することができる。
【0305】
【0306】
その際、ネットワークエンティティは、レベルの1つ選択することができる;そして、選択されたレベルがレイヤ間の従属性として独立するレイヤに、例えば、nuh_layer_id を介して帰属するマルチレイヤビデオデータストリームのパケット、例えばNALユニットを破棄する。
【0307】
いくつかの態様が装置の文脈で記載されてきたが、これらの態様は対応する方法の記載をも示すことは明らかであり、ここでブロックまたはデバイスが方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈において記載された態様は、対応する装置の対応するブロックまたはアイテムまたは特徴の記載をも示す。いくつかのまたは全ての方法ステップは、たとえば、マイクロプロセッサ、プログラム可能なコンピュータまたは電子回路のように、ハードウェア装置によって(または用いて)実行することができる。いくつかの実施形態では、最も重要な方法ステップの1つ以上は、この種の装置によって実行することができる。
【0308】
特定の実施要求に従って、本発明の実施形態は、ハードウェアにおいてまたはソフトウェアにおいて実施することができる。実施は、その上に格納される電子的に読取可能な制御信号を有し、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することができる)、デジタル記憶媒体、たとえばフロッピー(登録商標)ディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを用いて実行することができる。それ故に、デジタル記憶媒体は、コンピュータ読取可能とすることができる。
【0309】
本発明によるいくつかの実施形態は、電子的に読取可能な制御信号有し、本願明細書に記載された方法の1つが実行されるプログラム可能なコンピュータシステムと協働することができるデータキャリアを備える。
【0310】
一般に、本発明の実施形態は、コンピュータプログラム製品がコンピュータ上で動作するとき、方法の1つを実行するように動作可能であるプログラムコードを有するコンピュータプログラム製品として実施することができる。プログラムコードは、たとえば機械読取可能キャリアに格納することができる。
【0311】
他の実施形態は、機械読取可能キャリアに格納され、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを備える。
【0312】
言い換えれば、発明の方法の実施形態は、それ故に、コンピュータプログラムがコンピュータ上で動作するとき、本願明細書に記載された方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。
【0313】
発明の方法の更なる実施形態は、それ故に、その上に記録され、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを備え、その上に記録されたデータキャリア(またはデジタル記憶媒体またはコンピュータ読取可能媒体)である。データキャリア、デジタル記憶媒体または記録媒体は、通常は有形および/または固定である。
【0314】
発明の方法の更なる実施形態は、それ故に、本願明細書に記載された方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、たとえば、データ通信接続を介して、たとえばインターネットを介して転送されるように構成することができる。
【0315】
更なる実施形態は、本願明細書に記載された方法の1つを実行するように構成されたまたは適合された処理手段、たとえばコンピュータまたはプログラマブルロジックデバイスを備える。
【0316】
更なる実施形態は、本願明細書に記載された方法の1つを実行するコンピュータプログラムがインストールされているコンピュータを備える。
【0317】
本発明による更なる実施形態は、本願明細書に記載された方法の1つを実行するコンピュータプログラムをレシーバに転送する(たとえば、電子的にまたは光学的に)ように構成された装置またはシステムを備える。レシーバは、たとえば、コンピュータ、モバイルデバイス、メモリデバイス等とすることができる。装置またはシステムは、たとえば、コンピュータプログラムをレシーバへ転送するファイルサーバを備えることができる。
【0318】
いくつかの実施形態では、プログラマブルロジックデバイス(たとえばフィールドプログラマブルゲートアレイ)を、本願明細書に記載された方法の機能のいくつかまたは全てを実行するために用いることができる。いくつかの実施形態において、フィールドプログラマブルゲートアレイは、本願明細書に記載された方法の1つを実行するためにマイクロプロセッサと協働することができる。一般に、方法は、いかなるハードウェア装置によっても好ましくは実行される。
【0319】
本願明細書に記載された装置は、ハードウェア装置を用いて、またはコンピュータを用いて、またはハードウェア装置とコンピュータの組合せを用いて実施することができる。
【0320】
本願明細書に記載された方法は、ハードウェア装置を用いて、またはコンピュータを用いて、またはハードウェア装置とコンピュータの組合せを用いて実行することができる。
【0321】
上述した実施形態は、単に本発明の原理に対して示したものである。本願明細書に記載された構成および詳細の修正および変更は他の当業者にとって明らかであると理解される。それ故に、本発明は、特許請求の範囲のスコープによってのみ制限され、本願明細書の実施形態の記載および説明によって提供された特定の詳細によっては制限されないことを意図する。
【0322】
[参考文献]
[1]B. Bross et al., "High Efficiency Video Coding (HEVC) text specification draft 10", JCTVC-L1003, Geneva, CH, 14-23 Jan. 2013
[2]G. Tech et al., "MV-HEVC Draft Text 3", JCT3V-C1004, Geneva, CH , 17-23 Jan. 2013
[3]G. Tech et al., "3D-HEVC Test Model 3", JCT3V-C1005, Geneva, CH , 17-23 Jan. 2013
[4]J. Chen et al., "SHVC Draft Text 1", JCT-VCL1008, Geneva, CH , 17-23 Jan. 2013
[5]WILBURN, Bennett, et al. High performance imaging using large camera arrays. ACM Transactions on Graphics, 2005, 24. Jg., Nr. 3, S. 765-776.
[6]WILBURN, Bennett S., et al. Light field video camera. In: Electronic Imaging 2002. International Society for Optics and Photonics, 2001. S. 29-36.
[7]HORIMAI, Hideyoshi, et al. Full-color 3D display system with 360 degree horizontal viewing angle. In: Proc. Int. Symposium of 3D and Contents. 2010. S. 7-10.