【文献】
Xin Zhao et al.,3D-CE1.a: Generalized view synthesis prediction (GVSP) mode,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,2012年10月13日,[JCT3V-B0054]
(58)【調査した分野】(Int.Cl.,DB名)
前記現在のブロックを復号するためにビュー合成参照ピクチャの参照インデックスの指示を含まないスライスヘッダを復号することをさらに備える、請求項1に記載の方法。
前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、請求項10に記載の方法。
前記ビュー間参照ピクチャが参照ピクチャリストゼロ中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成することをさらに備える、請求項10に記載の方法。
【発明を実施するための形態】
【0015】
[0021]概して、本開示は、マルチビュービデオデータ、例えば、3次元(3D)効果を生成するために使用されるビデオデータをコード化し処理するための技法について説明する。従って、本開示の態様は、深度マップを用いたピクチャの2つ以上のビューのコード化を含む、アドバンストコーデックに基づく3Dビデオコード化に関連し得る。特に、本開示の態様は、3Dビデオコード化プロセスにおけるビュー合成予測サポート信号伝達(view synthesis prediction support signaling)に関連し得る。
【0016】
[0022]本開示の技法は、多種多様なビデオコード化規格に適用され得る。例えば、ビデオコード化規格は、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又はH.264/AVCとしても知られている)ITU−T H.264を含む。MVCの最近のジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ITU−T勧告H.264、2010年3月に記載されている。
【0017】
[0023]更に、ITU−Tビデオコード化エキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコード化(JCT−VC:Joint Collaboration Team on Video Coding)によって開発されている新しいビデオコード化規格、即ちHEVCがある。以下でHEVC WD4と呼ぶ、HEVCの最近のワーキングドラフト(WD)は、http://phenix.int−evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC−F803−v8.zipから入手可能である。これ以降HEVC WD9と呼ばれる、HEVCの別のWDが、http://phenix.int−evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC−K1003−v10.zipから入手可能である。
【0018】
[0024]最近のMPEGにおける標準化活動は、3Dビデオ技術に対する提案の呼びかけ(CfP:Call for Proposal)を含めた。応答の中から、現在の3D参照ソフトウェアに含まれるべき技法が選択された。1つの可能性のある規格は、各ビューに対してテクスチャと深度の両方をコード化し得る、H.264/AVCベースの3Dビデオコード化である。AVCベースの3Dビデオコード化(3D−AVC)(本明細書では3DV WD4と呼ばれる)に対する主たるコード化ツールは、文書JCT3V−B1002(「3D−AVC Draft Text4」、ITU−T SG 16 WP 3の3Dビデオコード化拡張開発とISO/IEC JTC 1/SC 29/WG 11とについてのジョイントコラボレーションチーム、第2回会合:上海、CN、2012年10月13日〜19日、http://phenix.it−sudparis.eu/jct2/doc_end_user/current_document.php?id=456から公に入手可能)に記載されている。最新の参照ソフトウェアの説明は、Miska M.Hannuksela、「Test Model for AVC based 3D video coding」、ISO/IEC JTC1/SC29/WG11 MPEG2011/N12558、サンノゼ、米国、2012年2月である。最新の参照ソフトウェアは、本明細書ではATM又は3D−ATMと呼ばれてよく、http://mpeg3dv.research.nokia.com/svn/mpeg3dv/trunk/において公に入手可能である。
【0019】
[0025]幾つかの例では、本開示の技法は、H.264/AVCに基づく3Dビデオ(3DV)コード化規格に適用され得る。従って、例示のために、本開示の技法は、主に、ITU−T H.264/AVCの3DV拡張に関して説明される。しかしながら、技法は、HEVC規格又は他のコード化規格の3Dビデオ(3DV)拡張などの3次元効果を生成するために使用されるコード化ビデオデータに対する他の規格に適用され得ることは理解されよう。
【0020】
[0026]いずれの場合も、特定のビデオコード化システムによれば、データ圧縮を実現するように、ビデオシーケンスにおける時間的冗長性を低減するために、動き推定及び動き補償が使用され得る。この場合、ビデオデータの予測ブロック、例えば、コード化されている現在ビデオブロックの値を予測するために使用され得る別のビデオのピクチャ又はスライスからのブロックを識別する、動きベクトルが生成され得る。予測ビデオブロックの値が現在ビデオブロックの値から減算されて、残差データのブロックを生成する。動き情報(例えば、動きベクトル、動きベクトルインデックス、予測方向、又は他の情報)が、残差データとともにビデオエンコーダからビデオデコーダに通信される。デコーダは、(動きベクトルに基づいて)同じ予測ブロックの位置を特定し、残差データを予測ブロックのデータと合成することにより、符号化されたビデオブロックを復元することができる。
【0021】
[0027]3Dビデオコード化に関して、ビデオ中で3次元効果を生成するために、シーンの2つのビュー、例えば、左眼ビューと右眼ビューとが同時に又はほぼ同時に示され得る。シーンの左眼ビューと右眼ビューとに対応する、同じシーンの2つのピクチャは、閲覧者の左眼と右眼との間の水平視差を表すわずかに異なる水平位置から撮影され得る(又は、例えば、コンピュータ生成グラフィックとして生成され得る)。左眼ビューのピクチャが閲覧者の左眼によって知覚され、右眼ビューのピクチャが閲覧者の右眼によって知覚されるようにこれらの2つのピクチャを同時又はほぼ同時に表示することによって、閲覧者は3次元ビデオ効果を経験し得る。
【0022】
[0028]マルチビューコード化(又はステレオビューコード化)に関係するビデオコード化技法は、概して、ビュー間予測及び/又はコード化深度情報を含み得る。ビュー間予測は、概して、標準のイントラ予測又はインター予測を使用してベースビューのピクチャをコード化し、次いで、ベースビュー又は他のビューに対して他のビューのピクチャを予測することを含む。このようにして、非ベースビューの幾つかのピクチャは、ベースビュー又は別の非ベースビューのピクチャに対して予測され得る。
【0023】
[0029]一般に、ピクチャが参照ピクチャに対してコード化されるとき、ビデオコード化機器は、参照ピクチャリストのメンバーとして参照ピクチャを信号伝達する。従って、ビュー間コード化では、参照ピクチャリストに追加される参照ピクチャは、例えば、時間的予測のための現在ビューの他のピクチャに加えて、他のビューのピクチャを含み得る。参照ピクチャリスト構築プロセスは、時間的及びビュー予測参照をフレキシブルに構成することができる。参照ピクチャ選択及び冗長ピクチャ機構がビュー次元に拡張され得るので、これは、潜在的なコード化効率向上だけでなく誤り耐性も与え得る。
【0024】
[0030]3DVの現在のコンテキストでは、ビデオコーダは、マルチビュービットストリームの各ビューについてのテクスチャ情報(例えば、ルミナンス/輝度及びクロミナンス/色)と深度情報の両方をコード化し得る。従って、3DVビデオコーダは、深度マップをコード化するように構成され得る。深度マップは、画素値(pixel values)が、対応するテクスチャピクチャ中に示されるオブジェクトの3次元深度を表すピクチャである。深度マップは、アクセス単位の別のビューとしてコード化され得る。即ち、様々なビュー用のテクスチャピクチャに加えて、アクセス単位中で表される1つ又は複数のビューは、それぞれの深度マップを含むことができる。ビューのための深度マップは、アクセス単位の「深度ビューコンポーネント」と呼ばれることもある。「ビューコンポーネント」という用語は、アクセス単位の特定のビューのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を指すために使用され得る。
【0025】
[0031]従って、3DVビットストリームは、複数のビューのコード化された表現を含み得、複数のビューの各々が、テクスチャ情報(テクスチャビューコンポーネント)と深度情報(深度ビューコンポーネント)の両方を含み得る。3DVはまた複数のビューのテクスチャを含んでいるが、場合によっては、3DVビットストリームはマルチビュービットストリームに適合し得る。
【0026】
[0032]深度情報を与えることによって、機器は、ビットストリーム中に与えられるビュー以外の様々なビューのためのピクチャをレンダリングし得る。例えば、深度情報をもつ2つのビューがビットストリーム中に与えられている場合、クライアント機器は、例えば、ビットストリームの2つのコード化されたビューとの間に第3のビューのためのピクチャを生成するために深度情報を使用し得る。そのようなピクチャの生成は、深度画像ベースレンダリング(DIBR:depth image based rendering)と呼ばれる。DIBRは、利用可能なテクスチャ及び深度画像に基づいてビューを生成するために使用され得る。そのような生成プロセスはビュー合成と呼ばれる。
【0027】
[0033]ビュー合成は、ビューの復号に続く後処理のために使用され得る(「ループ後」ビュー合成とも呼ばれる」)。追加又は代替として、ビュー合成は、ビュー間予測のために使用される参照ピクチャを生成するために使用され得る(「ループ内」ビュー合成とも呼ばれる)。DIBRがテクスチャピクチャ、(一般に深度マップと呼ばれる)深度ピクチャ、又はその両方をレンダリングするために使用され得ることを理解されたい。概して、深度マップは、クロミナンス情報を含むことなしに、深度マップの画素値が輝度情報ではなく、対応するテクスチャ情報のための深度を表すことを除いて、テクスチャピクチャのルミナンス(ルーマ)データと同様に表される。
【0028】
[0034]ループ内ビュー合成に関して、ビュー合成参照ピクチャ(VSRP:view synthesis reference picture)(又は、代替として、ビュー合成予測ピクチャ)と呼ばれることがある、ビュー合成を使用して生成される参照ピクチャは、時間的インター予測参照ピクチャ又はビュー間参照ピクチャと同様の参照ピクチャとして使用され得る。VSRPは参照ピクチャリスト中に含まれ得る。従来のコード化技法の幾つかの特定の設計では、DIBRを介してただ1つのVSRPを生成するために(深度をもつ)複数のビューが使用され得る。従って、現在コード化されているピクチャについて、ただ1つのVSRPがこれらの従来のコード化技法において利用可能であり得る。
【0029】
[0035]ループ内ビュー合成予測(VSP)は、強化されたテクスチャコード化(上記のWD4)に対する現在のH.264/AVCベースの3Dビデオコード化規格中でサポートされる。現在ビューのコード化のためにVSPを使用可能にするために、同じアクセス単位の以前にコード化されたテクスチャ及び深度のビューコンポーネントがビュー合成のために使用され得る。VSPから生じる合成ピクチャは、時間的参照フレーム及びビュー間参照フレームに続く初期参照ピクチャリスト(例えば、RefPicList0及び/又はRefPicList1)中に含まれる。
【0030】
[0036]文書「3D−CE1.a:Generalized View Synthesis Prediction(GVSP)mode」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発についてのジョイントコラボレーションチーム、第2回会合:上海、CN、2012年10月13日〜19日、JCT3V−B0054が、一般化されたビュー合成予測(GVSP)と呼ばれるビュー合成プロセスを提案した。GVSPにおいて、ブロックがスキップモードとしてコード化され、ビュー合成されたピクチャから予測されるかどうかを示すために、フラグがマクロブロック又はそれ以下の複数のレベルにおいて導入される。
【0031】
[0037]ビュー合成予測の信号伝達は、MBレベルの信号伝達に関してH.264/AVC設計に対して透明である伝統的な参照インデックスに基づくことができる。例えば、各MBに対して、ビデオコーダは、参照ピクチャリスト中のビュー合成ピクチャを識別する参照インデックスに基づいて、ビュー合成を使用するかどうかを決定し、ビュー合成参照インデックスは、スライスヘッダ内で明示的に信号伝達され得る。この設計は、一方向がビュー合成ピクチャを用いて予測され、他方向が通常の時間的ピクチャ又はビュー間参照ピクチャから予測される、双方向予測をサポートし得る。この設計はまた、スライスレベルにおいてならびにマクロブロックレベルにおいて適応されるべき複数のビュー合成ピクチャをサポートする。
【0032】
[0038]しかしながら、(上記のように3D−ATMと呼ばれる現在の3D−AVC参照ソフトウェアに記載されている)現在の設計において、ブロックベースのビュー合成予測がオンザフライで行われる。ブロックベースのビュー合成予測を「オンザフライで」実行することは、ビュー合成参照ブロックが、ビュー合成ブロックが必要になるまで生成されないことを意味する。従って、(参照ピクチャとしての)ビュー合成予測ピクチャは存在せず、例えば、予め生成されることも参照ピクチャリスト中に含まれることもない。
【0033】
[0039]しかしながら、動き補償を実行するための特定のハードウェアは、入力として1つの参照フレームと1つの動きベクトルとを使用するレガシー(例えば、成熟した)動き補償モジュールを有し得る。従って、現在流通している少なくとも幾つかのH.264/AVC動き補償モジュールは、初期入力として予め生成されたビュー合成ピクチャがないので、オンザフライのビュー合成予測用に使用され得ない。
【0034】
[0040]レガシーハードウェアを補償するために、上記で説明されたようにビュー合成をオンザフライで実行するのではなく、ビデオコーダが、常にビュー合成ピクチャを生成し得る。即ち、ビデオコーダは、一連のピクチャに対するビュー合成ピクチャを生成し、参照ピクチャリスト中の参照ピクチャインデックス値をビュー合成ピクチャに割り当てることができる。しかしながら、ビュー合成予測ピクチャが常に生成される場合、ブロックベース(「オンザフライ」)のビュー合成予測を活用することはできず、そのことが、計算効率及びメモリ効率に影響を与えることがある。典型的な場合、そのような信号伝達プロセスは、コード化効率の低下をもたらすことがある。加えて、参照インデックス信号伝達ベースの機構は、ビュー合成ピクチャを参照ピクチャリストの所望の位置に置くために、明確な参照ピクチャリスト修正コマンドを必要とすることがあり、このことが、計算効率に更に影響を与えることがある。
【0035】
[0041]本開示は、例えば、H.264/AVCの3DV拡張の従来のコード化技法に関して生じ得る幾つかの問題を認識する。例えば、ビュー合成予測に対して上記で説明された参照インデックスベースの信号伝達機構を切ることはできない。例えば、3D−ATM拡張の下位互換性の目標を途絶することなく、3D−ATMの現在の参照インデックスベースの信号伝達機構を切ることはできない。
【0036】
[0042]従って、ブロックベースのビュー合成予測をサポートする新しいハードウェアモジュールが、ビデオコーダ用に必要となり得る。加えて、一連のピクチャが、関連するビュー合成ピクチャを有する(seq_view_synthesis_flagが1に等しい)とき、ビュー合成ピクチャが生成され、予測のために使用される場合に割り当てられるために参照インデックス値が利用可能であるように、ビデオコーダは、ビュー合成ピクチャ用に追加の参照インデックス値を生成しなければならない。従って、ビデオコーダは、ビュー合成ピクチャがコード化の間に実際には生成されないときでさえ、追加の参照インデックス値を生成し、計算効率及び/又はコード化効率に影響を与える。
【0037】
[0043]本開示の態様によれば、VSPピクチャの参照インデックスは、スライスヘッダ内に明確に示されず、又は参照ピクチャリスト構築中に追加されない。代わりに、1つ又は複数のシンタックス要素(例えば、フラグ)が、ビュー間参照ピクチャに対応する各参照インデックスに対するMB又はMB区分のレベルにおいて信号伝達され得る。このフラグは、VSPが、その参照インデックスに対するMB又はMB区分に対して適用されるかどうかを示し得る。言い換えれば、例えば、フラグは、予測のためにビュー間参照ピクチャを使用するかどうか、又は予測のために(例えば、ビュー間参照ピクチャから生成された)VSPピクチャを使用するかどうかを示し得る。
【0038】
[0044]上記で説明されたフラグは、3D−ATMの伝統的なvsp_flagとは異なる。例えば、上記で説明されたフラグは、3D−ATMのvsp_flagを置き換え得る。本開示の態様によれば、上記で説明された方法で参照インデックスを信号伝達することによって、様々な参照インデックスがVSP用に使用され得る。即ち、スライスヘッダ内で信号伝達される特定のVSP参照インデックスにVSPが縛られるのではなく、例えば、任意のビュー間参照インデックスが、VSP用に使用され得る。
【0039】
[0045]一例では、本開示の態様によれば、現在コード化されているブロックに対する参照インデックスがビュー間参照ピクチャに対応するときだけ、VSPフラグが存在する。別の例では、VSPフラグは、任意のインター予測されるモードに対して存在し得る。別の例では、追加又は代替として、フラグは、RefPlicList0に対応する参照インデックスに対してのみ存在し得る。別の例では、追加又は代替として、VSPフラグは、RefPlicList0とRefPicList1(存在する場合)の両方に対応する参照インデックスに対して存在し得る。
【0040】
[0046]
図1は、ビュー合成に対する本開示の技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。
図1に示すように、システム10は、宛先機器14によって後で復号されるべき符号化されたビデオデータを与える発信源機器12を含む。特に、発信源機器12は、コンピュータ可読媒体16を介してビデオデータを宛先機器14に与える。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレス通信のために装備され得る。
【0041】
[0047]宛先機器14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体16は、符号化されたビデオデータを発信源機器12から宛先機器14に移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体16は、発信源機器12が、符号化されたビデオデータをリアルタイムで宛先機器14に直接送信することを可能にするための通信媒体を備え得る。
【0042】
[0048]符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器14に送信され得る。通信媒体は、高周波(RF)スペクトル若しくは1つ又は複数の物理伝送線路など、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を支援するために有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【0043】
[0049]幾つかの例では、符号化されたデータは、出力インターフェース22から記憶装置に出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶装置からアクセスされ得る。記憶装置は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は不揮発性のメモリ、あるいは符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、様々な分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置は、発信源機器12によって生成された符号化されたビデオを記憶し得る、ファイルサーバ又は別の中間記憶装置に対応し得る。
【0044】
[0050]宛先機器14は、ストリーミング又はダウンロードを介して、記憶装置から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先機器14に送信することができる任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(例えば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)機器、又はローカルディスクドライブがある。宛先機器14は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。記憶装置からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
【0045】
[0051]本開示の技法は、必ずしもワイヤレスの用途又は設定に限定されるとは限らない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の用途のような、種々のマルチメディア用途のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話などの用途をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【0046】
[0052]
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先機器14は、入力インターフェース28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、発信源機器12のビデオエンコーダ20は、マルチビューコード化における動きベクトル予測のための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は、他のコンポーネント又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、一体型表示装置を含むのではなく、外部表示装置とインターフェースをとり得る。
【0047】
[0053]
図1の図示のシステム10は一例にすぎない。ビュー合成のための技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実施され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が、宛先機器14に送信するためのコード化されたビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器12、14の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、機器12、14は、実質的に対称的な方式で動作することができる。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、又はビデオ電話のために、ビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。
【0048】
[0054]発信源機器12のビデオ発信源18は、ビデオカメラなどのビデオ撮影機器、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源18は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラフォン又はビデオフォンを形成し得る。しかしながら、上で言及されたように、本開示で説明される技法は、一般にビデオコード化に適用可能であり、ワイヤレス及び/又は有線の用途に適用され得る。各々の場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16に出力され得る。
【0049】
[0055]コンピュータ可読媒体16は、ワイヤレスブロードキャスト又はワイヤードネットワーク送信などの一時媒体、若しくは、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、又は他のコンピュータ可読媒体などの記憶媒体(即ち、非一時的記憶媒体)を含み得る。幾つかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、発信源機器12から符号化されたビデオデータを受信し、宛先機器14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピュータ機器は、発信源機器12から符号化されたビデオデータを受信し、その符号化されたビデオデータを含んでいるディスクを生成し得る。従って、コンピュータ可読媒体16は、様々な例において、様々な形態の1つ又は複数のコンピュータ可読媒体を含むことが理解されよう。
【0050】
[0056]宛先機器14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロック及び他のコード化された単位、例えば、GOPの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置のような、様々な表示装置のいずれかを備え得る。
【0051】
[0057]ビデオエンコーダ20及びビデオデコーダ30は各々、適用可能なとき、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理回路、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せなどの、様々な好適なエンコーダ又はデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダに含まれてよく、そのいずれもが複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合されてよい。ビデオエンコーダ20及び/又はビデオデコーダ30を含む機器は、集積回路、マイクロプロセッサ、及び/又は携帯電話のようなワイヤレス通信機器を備え得る。
【0052】
[0058]
図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
【0053】
[0059]本開示では全般に、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別の機器に「信号伝達(signaling)」することに言及することがある。しかしながら、ビデオエンコーダ20はあるシンタックス要素をビデオデータの様々な符号化された部分と関連付けることによって情報を信号伝達し得ることを理解されたい。即ち、ビデオエンコーダ20は、ビデオデータの様々な符号化された部分のヘッダに、あるシンタックス要素を格納することによって、データを「信号伝達」することができる。幾つかの場合には、そのようなシンタックス要素は、ビデオデコーダ30によって受信及び復号される前に、符号化及び記憶され(例えば、記憶装置24に記憶され)得る。従って、「信号伝達(signaling)」という用語は、通信がリアルタイム又はほぼリアルタイムで行われるか、若しくは、符号化時にシンタックス要素を媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号機器によって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかどうかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックス又は他のデータの通信を指し得る。
【0054】
[0060]ビデオエンコーダ20及びビデオデコーダ30は、様々なビデオコード化規格に従って動作し得る。例えば、ビデオエンコーダ20及びビデオデコーダ30は、Joint Video Team(JVT)として知られる共同パートナーシップの成果としてISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された、ITU−T H.264/MPEG−4(AVC)規格に従って動作し得る。幾つかの態様では、本開示で説明する技法は、H.264規格に概して準拠する機器に適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格又はH.264仕様、若しくはH.264/AVC規格又は仕様と呼ぶ。
【0055】
[0061]Joint Video Team(JVT)は、H.264/MPEG−4 AVCに対する拡張に取り組み続けている。詳細には、1つの可能性のある規格は、ビデオデータの各ビューに対してテクスチャと深度の両方をコード化することを提供するH.264/AVCベースの3Dビデオコード化規格である。3DV WD4に対する主たるコード化ツールは、上記の文書JCT3V−B1002に記載されている。加えて、最新の参照ソフトウェアは、本明細書では、上記のATM又は3D−ATMと呼ばれることがある。
【0056】
[0062]但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオコード化規格の他の例には、MPEG−2、ITU−T H.263、及び高効率ビデオコード化(HEVC)規格がある。例えば、場合によっては、ビデオエンコーダ20及びビデオデコーダ30は、マルチビュービデオコード化(MVC)を実行し、HEVCのマルチビュー拡張、所謂MV−HEVC、又は深度を強化されたHEVCベースのフル3DVコーデック、3D−HEVCを実装することができる。
【0057】
[0063]H.264/AVCでは、インター予測されたマクロブロック(MB)の各々は、1つの16×16MB区分と、2つの16×8MB区分と、2つの8×16MB区分と、4つの8×8MB区分とを含む、4つの異なる可能な方法のうちの1つに区分され得る。1つのMB中の異なるMB区分は、方向(RefPicList0又はRefPicList1)ごとに異なる参照インデックス値を有し得る。MBが4つの8×8MB区分に区分されないとき、MBはMB区分全体について各方向に1つの動きベクトルしか有し得ない。MBが、4つの8×8MB区分に区分されるとき、各8×8MB区分はサブブロックに更に区分され得、その各々が各方向に異なる動きベクトルを有し得る。8×8MB区分を、1つの8×8サブブロックと、2つの8×4サブブロックと、2つの4×8サブブロックと、4つの4×4サブブロックとを含むサブブロックに区分する4つの方法が存在し得る。各サブブロックは、各方向に異なる動きベクトルを有し得る。
【0058】
[0064]一般に、H.264/AVC及びHEVCの動き補償ループは同じである。例えば、
【数1】
【0059】
上の式では、Pは、Pフレームのための単予測的インター予測又はBフレームのための双予測的インター予測を示す。
【0060】
[0065]しかしながら、HEVCにおける動き補償の単位は、以前のビデオコード化規格における単位とは異なる。例えば、以前のビデオコード化規格におけるマクロブロックの概念は、HEVCでは存在しない。むしろ、マクロブロックは、一般的な4分木方式に基づく柔軟な階層構造によって置き換えられる。この方式の中で、3つのタイプのブロック、即ちコード化単位(CU)、予測単位(PU)、及び変換単位(TU)が定義される。CUは領域分割の基本単位である。CUの概念はマクロブロックの概念に類似するが、CUは最大サイズに制限されず、コンテンツを適応的に向上させるために4つの等しいサイズのCUへの再帰的分割を可能にする。PUはインター/イントラ予測の基本単位である。幾つかの例では、PUは、不規則な画像パターンを効果的にコード化するために、単一のPUの中に複数の任意の形状の区分を含み得る。TUは変換の基本単位である。CUのTUは、CUのPUとは独立に定義され得る。しかしながら、TUのサイズは、TUが属するCUに限定される。3つの異なる概念へのブロック構造のこの分離は、各々がその役割に従って最適化されることを可能にでき、このことはコード化効率の改善をもたらし得る。
【0061】
[0066]いずれの場合にも、ビデオコード化仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、S
L、S
Cb、及びS
Crと示される3つのサンプルアレイを含み得る。S
Lは、ルーマサンプルの2次元アレイ(即ち、ブロック)である。S
Cbは、Cbクロミナンスサンプルの2次元アレイである。S
Crは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルとも呼ばれることもある。他の例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【0062】
[0067]場合によっては、ピクチャは、各スライスが幾つかのマクロブロック又はコード化ツリー単位(HEVCに関するCTU)を含む幾つかのスライスに分割され得る。スライスは、ラスター走査順序で連続的に順序付けられた整数個のマクロブロック又はCTUを含み得る。コード化されたスライスは、スライスヘッダとスライスデータとを備え得る。スライスのスライスヘッダは、スライスについての情報を提供するシンタックス要素を含むシンタックス構造であり得る。
【0063】
[0068]本開示は、サンプルの1つ又は複数のブロックのサンプルをコード化するために使用される1つ又は複数のサンプルブロックとシンタックス構造とを指すために、「ビデオ単位」又は「ビデオブロック」又は「ブロック」という用語を使用し得る。例示的なタイプのビデオ単位又はブロックは、マクロブロック、マクロブロック区分、CTU、CU、PU、変換ユニット(TU)、などを含み得る。ビデオデータのブロックは、一般に、スライスレベル、ピクチャレベル、又はシーケンスレベルなどのより高いレベルに対して、「ブロックレベル」にあると言われることがある。
【0064】
[0069]ビデオエンコーダ20は、予測ブロックを生成するためにイントラ予測又はインター予測を使用し得る。ビデオエンコーダ20が予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、コード化されるブロックと関連付けられたピクチャのサンプルに基づいて予測ブロックを生成し得る。本開示では、「に基づいて」という句は、「に少なくとも部分的に基づいて」を示し得る。
【0065】
[0070]ビデオエンコーダ20が予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、現在コード化されているピクチャ以外の1つ又は複数のピクチャの復号されたサンプルに基づいて、予測ブロックを生成し得る。ブロックの予測ブロックを生成するためにインター予測が使用されるとき、本開示は、ブロックを「インターコード化される」又は「インター予測される」ものとして呼ぶことがある。インター予測は、単予測的(即ち、単予測)又は双予測的(即ち、双予測)であり得る。単予測又は双予測を実行するために、ビデオエンコーダ20は、現在のピクチャに対して、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを生成し得る。参照ピクチャリストの各々は、1つ又は複数の参照ピクチャを含み得る。参照ピクチャリストが構築された後(即ち、利用可能であれば、RefPicList0及びRefPicList1)、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
【0066】
[0071]単予測を使用するとき、ビデオエンコーダ20は、参照ピクチャ内の参照位置を決定するために、RefPicList0とRefPicList1のいずれか又は両方の中の参照ピクチャを探索することができる。更に、単予測を使用するとき、ビデオエンコーダ20は、参照位置に対応するサンプルに少なくとも部分的に基づいて、予測ブロックを生成することができる。その上、単予測を使用するとき、ビデオエンコーダ20は、予測ブロックと参照位置との間の空間的変位を示す単一の動きベクトルを生成することができる。この動きベクトルは、予測ブロックと参照位置との間の水平方向の変位を規定する水平成分を含んでよく、予測ブロックと参照位置との間の垂直方向の変位を規定する垂直成分を含んでよい。
【0067】
[0072]双予測を使用してブロックを符号化するとき、ビデオエンコーダ20は、RefPicList0中の参照ピクチャ中の第1の参照位置と、RefPicList1中の参照ピクチャ中の第2の参照位置とを決定することができる。ビデオエンコーダ20は、第1の参照位置及び第2の参照位置に対応するサンプルに少なくとも部分的に基づいて、予測ブロックを生成することができる。その上、双予測を使用するとき、ビデオエンコーダ20は、予測ブロックと第1の参照位置との間の空間的変位を示す第1の動きベクトルと、予測ブロックと第2の参照位置との間の空間的変位を示す第2の動きベクトルとを生成することができる。
【0068】
[0073]イントラ予測コード化又はインター予測コード化に続いて、ビデオエンコーダ20は、現在コード化されているブロックに対する残差データを計算し得る。残差データは、符号化されていないピクチャの画素と予測ブロックの画素との間の画素差分に対応し得る。ビデオエンコーダ20は、次いで、残差データを変換し得る。例えば、ビデオエンコーダ20は、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似の変換を適用することによって、ビデオデータを空間領域から変換領域に変換し得る。
【0069】
[0074]変換係数を生成するための任意の変換の後、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられてよく、但し、nはmよりも大きい。
【0070】
[0075]量子化の後に、ビデオエンコーダ20は、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(従ってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(従ってより高い周波数)の係数をアレイの後方に配置するように設計され得る。幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応走査を実施し得る。
【0071】
[0076]量子化された変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、例えば、コンテキスト適応可変長コード化(CAVLC)、コンテキスト適応バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化、又は別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化されたビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【0072】
[0077]ビデオエンコーダ20は、ブロックベースのシンタックスデータ、ピクチャベースのシンタックスデータ、及びGOPベースのシンタックスデータなどのシンタックスデータを、例えば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダ中でビデオデコーダ30に更に送り得る。GOPシンタックスデータは、それぞれのGOP中の幾つかのピクチャを記述することができ、ピクチャシンタックスデータは、対応するピクチャを符号化するために使用される符号化/予測モードを示すことができる。
【0073】
[0078]ビデオエンコーダ20は、ビデオデータの表現(即ち、コード化されたピクチャ及び関連付けられたデータ)を形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、一連のネットワーク抽象化レイヤ(NAL)ユニットを備え得る。NAL単位は、NAL単位中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造である。NAL単位の各々は、NAL単位ヘッダを含み、RBSPをカプセル化する。NAL単位ヘッダは、NAL単位タイプコードを示すシンタックス要素を含み得る。NAL単位のNAL単位ヘッダによって規定されるNAL単位タイプコードは、NAL単位のタイプを示す。RBSPは、NAL単位内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。幾つかの例では、RBSPは0ビットを含む。
【0074】
[0079]異なるタイプのNAL単位は、異なるタイプのRBSPをカプセル化し得る。例えば、異なるタイプのNAL単位は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、コード化されたスライス、補足拡張情報(supplemental enhancement information)(SEI)メッセージなどのための様々なRBSPをカプセル化し得る。(パラメータセット及びSEIメッセージのためのRBSPではなく)ビデオコード化データのためのRBSPをカプセル化するNAL単位は、ビデオコード化レイヤ(VCL)NAL単位と呼ばれ得る。
【0075】
[0080]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するための処理は、全般に、ビデオエンコーダ20によって実行される処理の逆であり得る。
【0076】
[0081]例えば、ビデオデコーダ30は、現在復号されているブロック(現在のブロック)に対する予測ブロックを決定するために動きベクトルを使用し得る。加えて、ビデオデコーダ30は、現在のブロックの変換係数を逆量子化することができる。ビデオデコーダ30は、逆変換を係数に適用し、現在のブロックに対する残差データを決定することができる。ビデオデコーダ30は、予測ブロックのサンプルを対応する残差サンプルに追加することによって現在のブロックを再構築し得る。ピクチャに対するブロックの各々を再構築することによって、ビデオデコーダ30はピクチャを再構築し得る。
【0077】
[0082]概して、ビュー合成予測を実行するために、ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、合成ビューコンポーネントを生成するために1つ又は複数のビューのテクスチャ及び深度情報を使用し得る。例えば、VSPは、ビデオデータを予測するために、追加の合成された参照フレームを生成することを指すことができる。フレームの仮想バージョンが、以前に符号化された他のカメラのフレームから符号化されるように合成され、仮想フレームを予測参照として使用することができる。
【0078】
[0083]このプロセスは、表示のためにテクスチャ及び深度情報を使用して合成ビューコンポーネントを生成するためのプロセスと実質的に同様である。しかしながら、ビュー合成予測では、合成ビューコンポーネント(即ち、ピクチャ)は、異なるビューをコード化するときに参照ピクチャとして使用するために参照ピクチャリストに追加され得る。ビュー合成予測は、テクスチャ情報又は深度情報をコード化するために参照ピクチャを生成するために使用され得る。もちろん、生成されたビュー合成ピクチャはまた、再生の一部としてクライアント機器によって表示され得る。追加又は代替として、ビデオデコーダ30、又は後処理ユニット(図示せず)など、宛先機器14の別のユニットは、再生のための合成ピクチャを生成するためにビュー合成を実行し得る。予測のために使用されるビュー合成ピクチャが表示され得るが、幾つかの例では、別個のピクチャは、表示のためにDIBRを使用して生成され得ることを理解されたい。予測のためのビュー合成画像は、コード化又は「ループ内」中に生成され得、一方、表示のためのビュー合成画像は、「ループ内」又は「ループ後」で、即ちコード化に続いて生成され得る。
【0079】
[0084]追加の参照画像を生成するために、3Dワーピングプロセス又はビュー補間プロセスが使用され得る。例えば、3Dワーピングプロセスは、深度情報とカメラパラメータとを使用して投影を実行することを含み得る。ビュー補間プロセスは、隣接するビューポイント画像間の視差情報を利用することを含み得る。一般に、VSPに対して、2つのタイプの画像ワーピング技法、即ち、現在ビューの深度マップの利用可能性に応じて前方ワーピングと後方ワーピングとが存在する。前方ワーピングは、参照ビューポイントからの深度マップが利用可能であるときに合成ビューを生成する。この例では、参照ビューポイントからの深度マップは、現在ビューのテクスチャ成分を符号化/復号する前に符号化/復号される。同様の派生物が、合成されるべきビューの深度を使用して後方ワーピングに対して取得され得る。
【0080】
[0085]ループ内VSPは、強化されたテクスチャコード化(上記のWD4)に対する現在のH.264/AVCベースの3Dビデオコード化規格中でサポートされる。現在ビューのコード化のためにVSPを使用可能にするために、同じアクセス単位の以前にコード化されたテクスチャ及び深度のビューコンポーネントがビュー合成のために使用され得る。VSPから生じる合成ピクチャは、時間的参照フレーム及びビュー間参照フレームに続く初期参照ピクチャリスト(例えば、RefPicList 0及び/又はRefPicList 1)中に含まれる。
【0081】
[0086]上記のように、文書「3D−CE1.a:Generalized View Synthesis Prediction(GVSP)mode」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11との3Dビデオコード化拡張開発についてのジョイントコラボレーションチーム、第2回会合:上海、CN、2012年10月13日〜19日、JCT3V−B0054は、ブロックがスキップモードとしてコード化され、ビュー合成されたピクチャから予測されるかどうかを示すために、マクロブロック又はそれ以下の複数のレベルにおけるフラグを導入することを提案した。
【0082】
[0087]シンタックス要素セットの一例は、以下の表1〜表3の中で説明される。編集の便宜上、フラグはvsp_flagと名付けられる。マクロブロックレイヤシンタックスの一例が、以下の表1に示されている。
【表1A】
【表1B】
【0083】
[0088]上記の表1の例では、1に等しいvsp_mb_flagは、MB全体がVSPピクチャから予測されることを示す。0に等しいこのフラグは、MB全体が他のモードによって予測され得ることを示す。このフラグが1に等しいとき、mb_typeは信号伝達されない。存在しないとき、それは、0に等しいものと推測される。
【0084】
[0089]マクロブロック予測シンタックスの一例が、以下の表2に示されている。
【表2A】
【表2B】
【0085】
[0090]上記の表2の例では、1に等しいmb_part_vsp_flag[mbPartIdx]は、現在のMB区分がVSPピクチャから予測されることを示す。0に等しいこのフラグは、MB区分全体がVSPピクチャから予測されないことを示す。このフラグが存在しないとき、このフラグは、0に等しいものと推測される。
【0086】
[0091]幾つかの例では、MB区分の数が4未満の場合、noSubMbPartSizeLessThan8×8Flagは、(H.264/AVCにおけるものと同じく)真である。MB区分の数が4に等しい場合、noSubMbPartSizeLessThan8×8Flagシンタックス要素が、次のように、0に等しいmb_part_vsp_flagを用いて8×8MB区分を検査することによって導出され得る。
【0087】
1.いずれかのMB区分が、8×8よりも小さいサブSub−mb区分を有する場合、noSubMbPartSizeLessThan8×8Flagは偽である。リターン。
【0088】
2.noSubMbPartSizeLessThan8×8Flagは真である。
【0089】
[0092]サブマクロブロック予測シンタックスの一例が、以下の表3に示されている。
【表3A】
【表3B】
【0090】
[0093]上記の表3の例では、1に等しいsub_mb_vsp_flag[mbPartIdx]は、現在のMB区分(8×8)がVSPピクチャから予測されることを示す。0に等しいこのフラグは、MB区分全体がVSPピクチャから予測されないことを示す。存在しないとき、このフラグは0に等しいものと推測される。
【0091】
[0094]ビュー合成を簡単にするために、幾つかの例では、ビュー合成予測は、動きベクトル予測と一元化され得る。そのような例では、ビュー合成予測は、後方ワーピングのみを実行するように簡素化され、ホールフィリングなど、任意の追加のビュー合成技法を実行しないことがある。加えて、視差値又は深度値が、4×4ブロック全体に適用される。従って、動きベクトルが、深度又は視差から導出され、MBの4×4ブロック、MB区分、又はsub−MB区分の各々と関連付けられるように、ビュー合成予測を簡素化して伝統的動き補償技法を使用することが可能である。この簡素化されたビュー合成プロセスは、一元化VSPモードと呼ばれることがある。
【0092】
[0095]上記のように、ビュー合成予測の信号伝達は、MBレベルの信号伝達に関してH.264/AVC設計に対して透明である伝統的な参照インデックスに基づくことができる。例えば、各MBに対して、ビデオコーダは、参照ピクチャリスト中のビュー合成ピクチャを識別する参照インデックスに基づいて、ビュー合成を使用するかどうかを決定し、ビュー合成参照インデックスは、スライスヘッダ内で明示的に信号伝達され得る。この設計は、一方向がビュー合成ピクチャを用いて予測され、他方向が通常の時間的ピクチャ又はビュー間参照ピクチャから予測される、双方向予測をサポートし得る。この設計はまた、スライスレベルにおいて及びマクロブロックレベルにおいて適応されるべき複数のビュー合成ピクチャをサポートする。
【0093】
[0096]3D−ATMの現在の参照インデックスベースの信号伝達機構を切ることはできない。例えば、3D−ATM拡張の下位互換性の目標を途絶することなく、3D−ATMの現在の参照インデックスベースの信号伝達機構を切ることはできない。従って、ブロックベースのビュー合成予測をサポートする新しいハードウェアモジュールが、ビデオコーダ用に必要となり得る。加えて、一連のピクチャが、関連するビュー合成ピクチャを有する(seq_view_synthesis_flagが1に等しい)とき、ビュー合成ピクチャが生成され、予測のために使用される場合に割り当てられるために参照インデックス値が利用可能であるように、ビデオコーダは、ビュー合成ピクチャ用に追加の参照インデックス値を生成しなければならない。従って、ビデオコーダは、ビュー合成ピクチャがコード化の間に実際には生成されないときでさえ、追加の参照インデックス値を生成し、計算効率及び/又はコード化効率に影響を与える。
【0094】
[0097]本開示の態様は、ビデオデータのブロックをコード化するときにビュー合成予測を適用するかどうかを示すための技法を含む。一例では、ビデオエンコーダ20及び/又はビデオデコーダ30などのビデオコーダは、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するときに、現在のブロックのVSPモードを示すデータを決定することとを行い得、ここで、参照インデックスに対するVSPモードは、現在のブロックがビュー間ピクチャから(例えば、ビュー間ピクチャから合成されたピクチャの少なくとも一部から)ビュー合成予測を使用して予測されるかどうかを示す。ビデオコーダがビデオデコーダ30として構成される例では、ビデオデコーダ30は、符号化されたビットストリームからデータを取得することによってVSPモードを示すデータを決定し得る。
【0095】
[0098]従って、上記の例では、VSPピクチャの参照インデックスは、スライスヘッダ内に明確に示されず、又は参照ピクチャリスト構築中に追加されない。代わりに、インター予測された参照ピクチャに対応する各参照インデックスに対してMBレベル又はMB区分レベルにおいて1つ又は複数のシンタックス要素を、ビデオエンコーダ20が符号化し得る(及び、そのような1つ又は複数のシンタックス要素を、ビデオデコーダ30が符号化されたビットストリームから取得し復号し得る)。本明細書で説明されるように、インター予測参照ピクチャは、一般に、インター予測モードと関連付けられる。即ち、インター予測ピクチャは、ビュー内参照ピクチャ又はビュー間参照ピクチャを含み得る。
【0096】
[0099]幾つかの例では、1つ又は複数のシンタックス要素は、VSPフラグであり得る。例えば、このフラグは、VSPが、特定の参照インデックスに対するMB又はMB区分に対して適用されるかどうかを示し得る。言い換えれば、例えば、フラグは、予測のためにビュー間参照ピクチャを使用するかどうか、又は予測のためにVSPピクチャを使用するかどうかを示し得る。
【0097】
[0100]一例では、本開示の態様によれば、ブロックを予測的にコード化するための参照インデックスが、ビュー間参照ピクチャに対応するときだけ、ビデオエンコーダ20はVSPフラグを符号化し得る。別の例では、ビデオエンコーダ20は、任意のインター予測されるモードに対してVSPフラグを符号化し得る。別の例では、追加又は代替として、ビデオエンコーダ20は、RefPlicList0に対応する参照インデックスに対してのみ、フラグを符号化し得る。更に別の例では、ビデオエンコーダ20は、RefPlicList0とRefPicList1(存在する場合)の両方に対応する参照インデックスに対して、フラグを符号化し得る。
【0098】
[0101]本開示の他の態様によれば、ビュー合成予測が使用可能であるとき、参照ベースの信号伝達がVSPに対して使用される(例えば、参照ピクチャインデックスがビュー合成参照ピクチャに対して生成され、VSPが参照インデックスに基づいて実行される)、例えば第1のVSPモードかどうか、又はGVSPがVSPに対して使用される(例えば、上記の表1〜表3に関して、上記で説明されたマクロブロック信号伝達に基づいてVSPが実行される)、例えば第2のVSPモードかどうかを示すSPS又はSPS拡張など、パラメータセット中の1つ又は複数のシンタックス要素を、ビデオエンコーダ20が符号化し得る(及びそのような1つ又は複数のシンタックス要素を、ビデオデコーダ30が符号化されたビットストリームから取得し得る)。幾つかの例では、1つ又は複数のシンタックス要素は、SPS拡張中のフラグを含み得る。
【0099】
[0102]本開示の他の態様によれば、参照インデックスベースの信号伝達が使用されないとき、参照ピクチャリスト修正(RPLM)プロセスは、VSPピクチャに対応するRPLMコマンドを含まない。例えば、参照ピクチャリスト構築は、下記のステップを含み得る:(1)AVCにおいて規定された時間的(ビュー間)参照ピクチャに対する参照ピクチャリスト初期化プロセスが適用される、(2)ビュー間及び/又は合成された参照ピクチャがリストの最後に添付される、及び(3)参照ピクチャリスト中の参照ピクチャを並べ替えるためにRPLMプロセスが適用される。ビデオエンコーダ20は、RPLMプロセスを適用するために、ビデオデコーダ30に命令する1つ又は複数のRPLMコマンドを出力し得る。ビデオデコーダ30は、RPLMコマンドに応答してRPLMプロセスを適用し得る。
【0100】
[0103]本開示の態様によれば、参照インデックスベースの信号伝達が使用されないとき、ビデオエンコーダ20及びビデオデコーダ30は、VSPピクチャに対応するRPLMコマンドを発行しない。即ち、VSPピクチャは生成されていないので、ビデオエンコーダ20及びビデオデコーダ30は、VSPピクチャの位置を変えるためにRPLMを使用するのを控えることがある。
【0101】
[0104]本開示の他の態様によれば、GVSPが使用されるとき、ビデオエンコーダ20及びビデオデコーダ30は、RefPicList0に対する第1のビュー間参照ピクチャのみから、ビュー合成予測ピクチャを合成し得る。この例では、ビュー合成予測ピクチャの信号伝達は不要であり、GVSPモードが、第1のビュー間参照ピクチャ、例えばRefPicList0を指す視差動きベクトルを出力することが、自動的に決定(例えば、推測)される。代替として、別の例では、ビデオエンコーダ20及びビデオデコーダ30は、RefPicList1中のビュー間ピクチャに基づいてビュー合成予測を実行し得る。代替として、別の例では、ビデオエンコーダ20及びビデオデコーダ30は、RefPicList0とRefPicList1の両方の中に存在する場合、ビュー間ピクチャに基づいてビュー合成予測を実行し得る。
【0102】
[0105]
図2は、ビュー合成に対して本開示で説明される技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行することができる。イントラコード化は、所与のピクチャ内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接ピクチャ又はピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【0103】
[0106]上で述べられたように、ビデオエンコーダ20は、マルチビュービデオコード化を実行するように適合され得る。各ビューに対するテクスチャマップ(即ち、ルーマ値及びクロマ値)を符号化することに加えて、ビデオエンコーダ20は更に、各ビューに対する深度マップを符号化することができる。
【0104】
[0107]
図2に示されたように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。
図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーエンコード化ユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分化ユニット48とを含む。ビデオブロックの復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。
【0105】
[0108]再構築されたビデオからブロック歪み(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(
図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは通常、加算器62の出力をフィルタリングする。追加のフィルタ(ループ内又はループ後)もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔にするために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタリングし得る。
【0106】
[0109]符号化プロセス中に、ビデオエンコーダ20はコード化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間予測を行うために、1つ又は複数の参照フレーム中の1つ又は複数のブロックに対して、受信されたビデオブロックのインター予測コード化を実行する。イントラ予測ユニット46は、代替的に、空間予測を行うために、コード化されるべきブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コード化を実行し得る。ビデオエンコーダ20は、例えば、ビデオデータのブロックごとに適切なコード化モードを選択するために、複数のコード化パスを実行することができる。
【0107】
[0110]その上、区分化ユニット48は、以前のコード化パスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。例えば、区分化ユニット48は、初めにフレーム又はスライスをブロック(例えば、マクロブロック又はLCU)に区分し、レート歪み(rate-distortion)分析(例えば、レート歪み最適化)に基づいてブロックの各々をサブブロックに区分し得る。
【0108】
[0111]モード選択ユニット40は、例えば、誤差結果に基づいて、イントラ予測、時間的インター予測、又はビュー間予測などのコード化モードのうちの1つを選択し得、残差ブロックデータを生成するために、予測ブロックを加算器50に与え、参照フレームとして使用するための符号化されたブロックを再構築するために、予測ブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、及び他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット56に与える。
【0109】
[0112]幾つかの例では、モード選択ユニット40は、ビュー合成予測のために、例えば、前にコード化されたビュー又は合成ビューに対してビュー間予測を選択するように構成され得る。以下でより詳細に説明するように、ビュー合成ユニット66は、ビュー合成予測のためにビューを合成する(即ち、テクスチャ及び/又は深度画素値を含むピクチャを合成する)ように構成され得る。例えば、ビュー合成ユニット66は、深度画像ベースレンダリング(DIBR:depth-image based rendering)と実質的に同様の技法を実行するように構成され得る。
【0110】
[0113]ビュー合成予測が使用可能である場合、モード選択ユニット40は、依然として、前にコード化されたピクチャに対して他の利用可能なコード化モード、例えば、イントラ予測、時間的インター予測、又はビュー間予測の中から選択し得ることを理解されたい。従って、ビデオエンコーダ20は、ビュー合成予測が使用可能であるかどうかを示す情報とは別個に、ビデオデータのブロックのためにどのコード化モードが選択されるかの指示を与え得る。
【0111】
[0114]動き推定ユニット42及び動き補償ユニット44(及び、ビデオエンコーダ20の1つ又は複数の他のユニット)は、高度に一体化され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在フレーム(又は他のコード化された単位)内でコード化されている現在のブロックに対する参照フレーム(又は他のコード化された単位)内の予測ブロックに対する現在ビデオフレーム又は現在ピクチャ内のビデオブロックの変位を示し得る。
【0112】
[0115]予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきブロックにぴったり一致することがわかるブロックである。動きベクトルは、時間的に別個のピクチャ中の同じビューの前にコード化されたブロックに対してブロックの動きについて説明する時間的動きベクトルと、(異なる水平カメラパースペクティブを有する)が同じ時間的位置を有し得る異なるビュー中の同様のブロック間の視差について説明する視差動きベクトルとを含み得る。場合によっては、動きベクトルは、異なるビュー中にも存在する時間的に別個のピクチャに関する動きについて説明し得る。
【0113】
[0116]幾つかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の小数画素位置の値を補間し得る。従って、動き推定ユニット42は、フル画素位置と小数画素位置とに対する動き探索を実行し、小数画素精度で動きベクトルを出力することができる。
【0114】
[0117]ビュー間予測を実行するとき、動き推定ユニット42は、ビュー合成予測のために、異なるビューの前にコード化されたピクチャ又は合成ピクチャに対して視差動きベクトルを計算し得る。従って、動き推定ユニット42は、動き/視差推定ユニットと呼ばれることもある。
【0115】
[0118]概して、合成ピクチャは、ビュー合成ユニット66によって参照ピクチャメモリ64に記憶され得、従って、動き推定ユニット42及び動き補償ユニット44は、参照ピクチャが、異なるビューの前にコード化されたピクチャであるのか、ビュー合成プロセスからの合成ピクチャであるのかを決定するように構成される必要はない。シーンのピクチャが、異種水平カメラの観点から撮影又は生成されるために、同じ時間的位置における異なるビューのピクチャは、一般に、水平差異のみを含み、垂直差異を含まないので、視差動きベクトルを探索するためのプロセスは、水平方向と垂直方向の両方に探索するのではなく、水平方向に探索することに制限され得る。
【0116】
[0119]動き推定ユニット42は、ブロックの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化されたスライスにおけるビデオブロックのための動きベクトル(例えば、時間的動きベクトル又は視差動きベクトル)を計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【0117】
[0120]動き補償ユニット44によって実行される動き補償は、同じく、時間的動きベクトル又は視差動きベクトルであり得る、動き推定ユニット42によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することに関与し得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在ビデオブロックの動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。
【0118】
[0121]概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。動き推定ユニット42及び動き補償ユニット44は、深度マップをコード化するためにルーマ成分から動きベクトルを再使用するか、又は深度マップのための動きベクトルを独立して計算するように構成され得る。従って、場合によっては、動き推定42及び動き補償ユニット44は、ルーマ成分と同様の方法で、又はクロマ成分と同様の方法で深度マップを予測するように構成され得る。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【0119】
[0122]イントラ予測ユニット46は、上記で説明されたように、動き推定ユニット42及び動き補償ユニット44によって実行されるインター予測(例えば、時間的インター予測及び/又はビュー間予測)の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するようにイントラ予測モードを決定することができる。幾つかの例では、イントラ予測ユニット46は、例えば、別個の符号化パスの間に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、使用するのに適したイントラ予測モードをテストされたモードから選択することができる。
【0120】
[0123]例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対するレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化されたブロックを生成するために使用されるビットレート(即ち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックに対して最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックの歪み及びレートから比率を計算することができる。
【0121】
[0124]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に与え得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々に対して使用する、最確イントラ予測モード(most probable intra-prediction mode)、イントラ予測モードインデックステーブル、及び修正されたイントラ予測モードインデックステーブルの指示とを含み得る、構成データを含め得る。
【0122】
[0125]更に、上記のように、モード選択ユニット40は、非ベースビューの特定のブロックをコード化するためにビュー合成予測を利用すべきかどうかを決定し得る。モード選択ユニット40は、ビュー合成予測がビットストリームのために、又はマルチビュービットストリームの特定の動作点のために使用可能であるかどうかを示す構成データを受信し得る。例えば、ユーザは、ビットストリームがビュー合成予測を実行する能力がない機器に適合すべきであることを示す構成データを与えられていることがあり、その場合、モード選択ユニット40は、全ビットストリームのためにビュー合成予測を使用不能にし得る。代替的に、構成データは、ビュー合成予測が使用不能である、動作点を形成するビューのサブセットを示し得、その場合、モード選択ユニット40は、サブセット中のビューの各々のためにビュー合成予測を使用不能にするが、サブセット中に含まれないビットストリームの他のビューのためにビュー合成予測をテストし得る。
【0123】
[0126]概して、特定の非ベースビューに対してビュー合成予測が許可されると仮定すると、モード選択ユニット40は、ビュー合成予測が、前にコード化された(非合成)ビューに対して他のコード化モード、例えば、時間的インター予測、イントラ予測、及び/又はビュー間予測よりも良い性能(performance)をもたらすかどうかを決定するために非ベースビューのピクチャのブロックのためのビュー合成予測をテストし得る。モード選択ユニット40は、レート歪み最適化(RDO:rate-distortion optimization)を使用して、及び/又はBjontegaardデルタレート(BDレート)を使用して様々なコード化モードの性能をテストし得る。概して、レート歪み最適化は、モード又はモードの組合せによってもたらされる歪みの量に対して、特定のモード又はモードの組合せを使用してビデオデータのセットをコード化するために必要なビット数の測度である。モード選択ユニット40は、これらの測度によって示される最良の性能をもたらすモード又はモードの組合せを選択し得る。
【0124】
[0127]更に、モード選択ユニット40は、ビュー合成予測が最良の性能をもたらすスライス、ピクチャ、シーケンス、又は他のコード化された単位(例えば、タイル又は波面)中のブロックの数を決定し、ブロックのこの数がビュー合成予測を使用することの処理時間を正当化するのに十分に高いかどうかを決定し得る。例えば、ビデオデコーダによってビューを合成することは、かなり大量の処理リ発信源を必要とし得、従って、ビュー合成予測が使用されるべきコード化された単位に十分に多くの数のブロックがない場合、モード選択ユニット40は、ビュー合成予測の他に特定のブロックのための異なるコード化モードを選択し得る。
【0125】
[0128]ビュー合成ユニット66は、ビュー間予測のためのビューを合成するユニットを表す。ビュー合成予測が使用可能であるとき、ビュー合成ユニット66は、参照ピクチャメモリ64に記憶されたテクスチャ及び深度情報を使用して合成ビューのためのピクチャを合成し得る。ビュー合成ユニット66は、別のビューを合成するために1つ又は複数の参照ビューを使用し得る。
【0126】
[0129]概して、ピクチャを合成するために、ビュー合成ユニット66は、1つ又は複数の前にコード化されたビューのテクスチャ及び深度情報を使用し得る。ビュー合成ユニット66は、テクスチャピクチャの対応する(例えば、実質的に同一位置に配置される(co-located))深度情報と対応する深度マップとに基づいてテクスチャ情報のための水平視差を計算し得る。概して、表示器の深度に(例えば、収束の平面に)出現すべき物体は、0の視差を有し得る。即ち、この物体を表す画素は、参照ビューの場合のように合成ビュー中で実質的に同じ水平位置を有し得る。物体をスクリーンの前に表示すべき場合、「左眼」ピクチャ中で、物体のための画素が「右眼」ピクチャ中の対応する画素の右側に配置されるように正の視差が割り当てられ得る。代替として、物体をスクリーンの背後に表示すべき場合、「左眼」ピクチャ中で、物体のための画素が「右眼」ピクチャ中の対応する画素の左側に配置されるように負の視差が割り当てられ得る。相対的水平シフトは、達成されるべき深度の量、相対的水平オフセット、収束平面までの距離、現実世界距離、カメラパラメータなどの関数として決定され得る。
【0127】
[0130]このようにして、ビュー合成ユニット66は、参照ピクチャとして使用されるべきビューのピクチャを合成し得る。ビュー合成ユニット66は、テクスチャ画像及び/又は深度マップのいずれか又は両方を合成するために同様のプロセスを使用し得る。従って、ビデオエンコーダ20は、合成ビューコンポーネントに対してテクスチャ画像及び/又は深度マップ、例えば、合成テクスチャ画像又は合成深度マップをコード化し得る。ビュー合成ユニット66は、参照ピクチャメモリ64中に合成ビューコンポーネントについてのデータを記憶し得る。このようにして、モード選択ユニット40と、動き推定ユニット42と、動き補償ユニット44とは、合成ビューコンポーネントが従来の参照ピクチャであるかのように合成ビューコンポーネントを扱い得る。
【0128】
[0131]本開示の態様によれば、モード選択ユニット40は、特定のブロックをコード化するためにVSPを適用するかどうかを示す1つ又は複数のシンタックス要素を生成し得る。幾つかの例では、モード選択ユニット40は、ビュー間予測されるなど、インター予測されるブロックに対するシンタックス要素だけを生成し得る。従って、この例では、現在のブロックに対する参照ピクチャインデックスがビュー間参照ピクチャに対応するとき、モード選択ユニット40は、現在のブロックをコード化するためにVSPが使用されるかどうかを示すために、エントロピー符号化ユニット56にフラグを送ることができる。
【0129】
[0132]上記の例では、VSPピクチャの参照インデックスは、スライスヘッダ内に明確に示されず、又は参照ピクチャリスト構築中に追加されない。代わりに、ビデオエンコーダ20は、ビュー間参照ピクチャに対応する各参照インデックスに対するMB又はMB区分レベルにおいてフラグを符号化し得る。そのような信号伝達は、合成されたピクチャが特定の参照ピクチャインデックスに縛られないという点で、与え得る、又はVSP信号伝達に対するより柔軟な手法。
【0130】
[0133]別の例では、モード選択ユニット40は、任意のインター予測されるモードに対してVSPフラグを生成し得る。別の例では、追加又は代替として、モード選択ユニット40は、RefPlicList0に対応する参照インデックスに対してのみ、フラグを生成し得る。更に別の例では、モード選択ユニット40は、RefPlicList0とRefPicList1(存在する場合)の両方に対応する参照インデックスに対して、フラグを生成し得る。
【0131】
[0134]本開示の他の態様によれば、ビュー合成予測が使用可能であるとき、参照ベースの信号伝達がVSPに対して使用される(例えば、参照ピクチャインデックスがビュー合成参照ピクチャに対して生成され、VSPが参照インデックスに基づいて実行される)かどうか、又はGVSPがVSPに対して使用される(例えば、上記の表1〜表3に関して、上記で説明されたマクロブロック信号伝達に基づいてVSPが実行される)かどうかを示すSPS又はSPS拡張などのパラメータセットに対する1つ又は複数のシンタックス要素を、モード選択ユニット40が生成し得る。幾つかの例では、1つ又は複数のシンタックス要素は、SPS拡張中のフラグを含み得る。
【0132】
[0135]本開示の他の態様によれば、参照インデックスベースの信号伝達が使用されないとき、ビデオエンコーダ20は、VSPピクチャに対応するRPLMコマンドを発行しない。
【0133】
[0136]本開示の他の態様によれば、GVSPが使用されるとき、ビュー合成ユニット66は、RefPicList0に対する第1のビュー間参照ピクチャのみから、ビュー合成予測ピクチャを合成し得る。この例では、ビュー合成予測ピクチャの信号伝達は不要であり、GVSPモードが、第1のビュー間参照ピクチャ、例えばRefPicList0を指す視差動きベクトルを出力することが、自動的に決定(例えば、推測)される。代替として、別の例では、ビュー合成ユニット66は、RefPicList1中のビュー間ピクチャに基づいてビュー合成予測を実行し得る。代替として、別の例では、ビュー合成ユニット66は、RefPicList0とRefPicList1の両方の中に存在する場合、ビュー間ピクチャに基づいてビュー合成予測を実行し得る。
【0134】
[0137]ビデオエンコーダ20は、コード化されている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ又は複数のコンポーネントを表す。変換処理ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。
【0135】
[0138]いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。幾つかの例では、量子化ユニット54は、次いで、量子化された変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット56が走査を実行してよい。
【0136】
[0139]量子化の後、エントロピー符号化ユニット56は、量子化された変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化又は別のエントロピーコード化技法を実行し得る。コンテキストベースエントロピーコード化の場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコード化の後に、符号化されたビットストリームは、別の機器(例えば、ビデオデコーダ30)に送信されるか、又は後で送信するか又は取り出すためにアーカイブされ得る。
【0137】
[0140]逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域中で残差ブロックを再構築する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構築された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。
【0138】
[0141]加算器62は、再構築された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構築されたビデオブロックを生成する。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコード化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
【0139】
[0142]本開示の態様によれば、ビデオエンコーダ20は、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することを含む方法を実行し得、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するときに、現在のブロックのビュー合成予測(VSP)モードを示すデータを生成し得、ここにおいて、参照インデックスに対するVSPモードは、現在のブロックがビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す。ビデオエンコーダ20はまた、ビットストリーム中のVSPモードを示すデータを符号化するように構成される。
【0140】
[0143]
図3は、ビュー合成予測に関係する情報をコード化するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。
図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(
図2)に関して説明された符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【0141】
[0144]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。エントロピー復号ユニット70は、量子化係数、動きベクトル又はイントラ予測モードインジケータ、及び他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他のシンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信し得る。
【0142】
[0145]幾つかの例では、ビデオデコーダ30は、ビュー合成予測が一連のピクチャ、個別のピクチャ、スライス、タイル、又は波面のいずれか又は全てのために使用可能であるかどうかを示すシンタックス情報を受信し得る。エントロピー復号ユニット70は、シンタックス情報を復号し、ビュー合成予測が使用可能であるかどうかを示す情報をビュー合成ユニット84に送ることができる。
【0143】
[0146]ビュー合成ユニット84は、ビュー合成ユニット66(
図2)の方法と実質的に同様の方法で動作するように構成され得る。例えば、ビュー合成予測が使用可能であるとき、ビュー合成ユニット84は、ビュー合成を使用して参照ピクチャ(即ち、ビュー合成参照ピクチャ)を生成するために、参照ピクチャメモリ82に記憶された、前に復号されたピクチャのテクスチャ及び深度情報を使用し得る。ビュー合成ユニット84は、参照ピクチャメモリ82中に合成ピクチャを記憶し得る。ビュー合成予測が使用可能でないとき、ビュー合成ユニット84は、ピクチャを生成する必要はなく、それにより、処理リ発信源及び/又はバッテリー電力を節約し得る。
【0144】
[0147]本開示の態様によれば、エントロピー復号ユニット70は、特定のブロックをコード化するためにVSPを適用するかどうかを示す1つ又は複数のシンタックス要素を受信及び復号することができる。幾つかの例では、シンタックス要素は、ビュー間予測されるなど、インター予測されるブロックに対してのみ、生成され得る。従って、この例では、現在のブロックに対する参照ピクチャインデックスがビュー間参照ピクチャに対応するとき、ビュー合成ユニット84は、現在のブロックをコード化するためにVSPが使用されるかどうかを示すフラグを受信し得る。
【0145】
[0148]上記の例では、VSPピクチャの参照インデックスは、スライスヘッダ内に明確に示されず、又は参照ピクチャリスト構築中に追加されない。代わりに、ビデオデコーダ30は、ビュー間参照ピクチャに対応する各参照インデックスに対するMB又はMB区分レベルにおいてフラグを復号する。そのような信号伝達は、合成されたピクチャが特定の参照ピクチャインデックスに縛られないという点で、与え得る、又はVSP信号伝達に対するより柔軟な手法。
【0146】
[0149]別の例では、エントロピー復号ユニット70は、任意のインター予測されるモードに対してVSPフラグを受信及び復号することができる。別の例では、追加又は代替として、エントロピー復号ユニット70は、RefPlicList0に対応する参照インデックスに対してのみ、フラグを受信及び復号することができる。更に別の例では、エントロピー復号ユニット70は、RefPlicList0とRefPicList1(存在する場合)の両方に対応する参照インデックスに対して、フラグを受信及び復号することができる。
【0147】
[0150]本開示の他の態様によれば、ビュー合成予測が使用可能であるとき、参照ベースの信号伝達がVSPに対して使用される(例えば、参照ピクチャインデックスがビュー合成参照ピクチャに対して生成され、VSPが参照インデックスに基づいて実行される)かどうか、又はGVSPがVSPに対して使用される(例えば、上記の表1〜表3に関して、上記で説明されたマクロブロック信号伝達に基づいてVSPが実行される)かどうかを示すSPS又はSPS拡張などのパラメータセットの中の1つ又は複数のシンタックス要素を、ビデオデコーダ30が受信及び復号することができる。幾つかの例では、1つ又は複数のシンタックス要素は、SPS拡張中のフラグを含み得る。
【0148】
[0151]本開示の他の態様によれば、参照インデックスベースの信号伝達が使用されないとき、ビデオデコーダ30は、VSPピクチャに対応するRPLMコマンドを実行しない。
【0149】
[0152]本開示の他の態様によれば、GVSPが使用されるとき、ビュー合成ユニット84は、RefPicList0に対する第1のビュー間参照ピクチャのみから、ビュー合成予測ピクチャを合成し得る。この例では、ビュー合成予測ピクチャの信号伝達は不要であり、GVSPモードが、第1のビュー間参照ピクチャ、例えばRefPicList0を指す視差動きベクトルを出力することが、自動的に決定(例えば、推測)される。代替として、別の例では、ビュー合成ユニット84は、RefPicList1中のビュー間ピクチャに基づいてビュー合成予測を実行し得る。代替として、別の例では、ビュー合成ユニット84は、RefPicList0とRefPicList1の両方の中に存在する場合、ビュー間ピクチャに基づいてビュー合成予測を実行し得る。
【0150】
[0153]ビデオスライスがイントラコード化された(I)スライスとしてコード化されるとき、イントラ予測ユニット74は、信号伝達されたイントラ予測モードと、現在フレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化された(例えば、B、P、又はGPB)スライスとしてコード化されるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうち1つ内の参照ピクチャのうち1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、即ち、リスト0及びリスト1を構成し得る。
【0151】
[0154]動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット72は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ予測、時間的インター予測、又はビュー間予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、スライスの参照ピクチャリストのうちの1つ又は複数についての構築情報と、スライスの各インター符号化されたビデオブロックのための動きベクトル(例えば、視差動きベクトル及び/又は時間的動きベクトル)と、スライスの各インターコード化されたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【0152】
[0155]動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【0153】
[0156]幾つかの例では、動き補償ユニット72は、視差動きベクトルを使用してビュー間予測を実行し得る。ビュー合成予測が使用可能であると仮定すると、そのようなビュー間予測は、別のビューの前に復号されたピクチャに対するものであるか、又はビュー合成を使用して生成される参照ピクチャに対するものであり得る。従って、動き補償ユニット72は、動き/視差補正ユニット72と呼ばれることがある。
【0154】
[0157]逆量子化ユニット76は、ビットストリーム中に与えられ、エントロピー復号ユニット70によって復号された、量子化変換係数を逆量子化する(inverse quantize)、即ち、逆量子化する(de-quantize)。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオデコーダ30によって計算される量子化パラメータQP
Yの使用を含み得る。
【0155】
[0158]逆変換ユニット78は、画素領域において残差ブロックを生成するために、逆変換、例えば逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
【0156】
[0159]動き補償ユニット72又はイントラ予測ユニット74が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器80は、この加算演算を実行する1つ又は複数のコンポーネントを表す。
【0157】
[0160]所望される場合、ブロック歪みを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は場合によってはビデオ品質を改善するために、他のループフィルタも(コード化ループ中又はコード化ループ後のいずれかで)使用され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、
図1の表示装置32などの表示装置上での後の提示のために、復号されたビデオを記憶する。
【0158】
[0161]このようにして、
図3のビデオデコーダ30は、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するときに、現在のブロックのビュー合成予測(VSP)モードを示すデータを、符号化されたビットストリームから取得することとを行うように構成されたビデオデコーダの一例を表し、ここで、参照インデックスに対するVSPモードは、現在のブロックがビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す。
【0159】
[0162]
図4は、典型的なMVC復号順序(即ち、ビットストリーム順序)を示す。復号順序の構成はタイムファーストコード化と呼ばれる。各アクセス単位は、1つの出力時間インスタンスのための全てのビューのコード化されたピクチャを含むように定義される。アクセス単位の復号順序は、出力又は表示の順序と同一ではないことがある。
【0160】
[0163]
図5は、例示的なMVC予測パターンを示す概念図である。マルチビュービデオコード化(MVC)は、ITU−T H.264/AVCの拡張である。同様の技法が、HEVCに適用され得る。
図4の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間的位置(temporal location)(「T0」〜「T11」)がビューごとに示されている。即ち、
図4中の各行はビューに対応し、各列は時間的位置を示す。
【0161】
[0164]MVCはH.264/AVCデコーダによって復号可能である所謂基本ビューを有し、ステレオビューペアはMVCによってサポートされ得るが、MVCの1つの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し複数のビューによって表されるこの3Dビデオを復号する例を、サポートできることである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想し得る。
【0162】
[0165]
図5のピクチャは、対応するピクチャがイントラコード化される(即ち、Iフレームである)か、又は一方向に(即ち、Pフレームとして)インターコード化されるか、又は複数の方向に(即ち、Bフレームとして)インターコード化されるかを指定する、文字を含む影付きブロックを使用して示される。一般に、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のオブジェクトを使用する。例えば、時間的位置T0にあるビューS2のPフレームは、時間的位置T0にあるビューS0のIフレームから予測される。
【0163】
[0166]シングルビュービデオの符号化の場合と同様に、マルチビュービデオシーケンスのピクチャは、異なる時間的位置におけるピクチャに関して予測的に符号化され得る。例えば、時間的位置T1におけるビューS0のbフレームは、時間的位置T0におけるビューS0のIフレームからそのbフレームに向けられた矢印を有し、bフレームがIフレームから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化の状況において、ピクチャはビュー間予測され得る。即ち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。MVCでは、例えば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。可能性のあるビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張において信号伝達されてよく、インター予測又はビュー間予測の参照の柔軟な順序付けを可能にする参照ピクチャリストの構築処理によって修正され得る。
【0164】
[0167]
図5は、ビュー間予測の様々な例を提供する。
図5の例では、ビューS1のピクチャは、ビューS1の様々な時間的位置にあるピクチャから予測されるものとして、ならびに同じ時間的位置にあるビューS0及びビューS2のピクチャのうちのピクチャからビュー間予測されるものとして示されている。例えば、時間的位置T1にあるビューS1のbフレームは、時間的位置T0及びT2にあるビューS1のBフレームの各々、ならびに時間的位置T1にあるビューS0及びビューS2のbフレームから予測される。
【0165】
[0168]
図5の例では、大文字「B」及び小文字「b」は、異なる符号化方法ではなく、ピクチャ間の異なる階層関係を示すことが意図される。一般に、大文字の「B」フレームは、小文字の「b」フレームよりも予測階層が比較的高い。
図5はまた、異なるレベルの陰影を使用して予測階層の差異を示し、より陰影の量が大きい(即ち、比較的暗い)ピクチャは、より陰影が少ない(即ち、比較的明るい)ピクチャよりも予測階層が高い。例えば、
図5の全てのIフレームは完全な陰影によって示されるが、Pフレームは幾分明るい陰影を有し、Bフレーム(及び小文字のbフレーム)は、互いに対して様々なレベルの陰影を有するが、Pフレーム及びIフレームの陰影よりも常に明るい。
【0166】
[0169]一般に、階層の比較的高いピクチャが、階層の比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層の比較的高いピクチャは、階層の比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセス単位中のビュー成分の復号順序を示すインデックスである。ビュー順序インデックスは、SPSなどのパラメータセット中で示唆され得る。
【0167】
[0170]このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号され得る。ビュー順序インデックスは、アクセス単位中のビュー成分の復号順序を示すインデックスである。ビュー順序インデックスiごとに、対応するview_idが信号伝達される。ビュー成分の復号は、ビュー順序インデックスの昇順に従う。全てのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数まで連続的に順序付けされたセットを備える。
【0168】
[0171]MVCでは、全ビットストリームのサブセットが抽出されて、依然としてMVCに準拠するサブビットストリームが形成され得る。例えば、サーバによって提供されるサービス、1つ又は複数のクライアントのデコーダの容量、サポート、及び能力、及び/又は、1つ以上のクライアントの選好に基づいて、特定の適用例が必要とし得る多くの可能なサブビットストリームが存在する。例えば、あるクライアントが3つのビューのみを必要とすることがあり、2つの状況があり得る。一例では、あるクライアントは滑らかな観察エクスペリエンスを必要とし、view_id値S0、S1、及びS2のビューを選好することができ、別の他のクライアントはビュースケーラビリティを必要とし、view_id値S0、S2、及びS4のビューを選好することができる。これらのサブビットストリームの両方が、独立したMVCビットストリームとして復号され、同時にサポートされ得ることに留意されたい。
【0169】
[0172]
図5に、マルチビュービデオコード化用の典型的なMVC予測(各ビュー内のピクチャ間予測とビュー間予測の両方を含む)構造が示され、ここでは矢印によって予測が示され、矢印の終点のオブジェクトは、予測参照のために矢印の始点のオブジェクトを使用する。MVCでは、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。
【0170】
[0173]2つのビューのコード化は、MVCによってもサポートされる可能性があり、MVCの潜在的な利点の1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、MVCデコーダがそのようなマルチビュー表現を復号することができることである。従って、MVCデコーダをもつ任意のレンダラは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
【0171】
[0174]ビュー間予測に関して、MVCにおいて、同じアクセス単位中の(即ち、同じ時間インスタンスをもつ)ピクチャ間でビュー間予測が可能にされる。非ベースビューの1つの中のピクチャをコード化するとき、ピクチャが異なるビュー中にあるが同じ時間インスタンスをもつ場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【0172】
[0175]
図4のビューS0〜S7は、コード化されたビュー、即ち、コード化された情報がビットストリーム中に与えられるビューの例を表すものである。幾つかの例では、追加のビューが、ビューS0〜S7の間で合成され得る。例えば、ビューS0とS1との間にビューが合成され得る。そのようなビューのピクチャを合成するために、ビューS0及びS2中のピクチャのテクスチャ及び/又は深度情報が使用され得る。例えば、時間T1における参照ピクチャを合成するために、ビューS0及び/又はS2からの時間T1におけるピクチャからのテクスチャ及び深度情報が使用され得る。ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、別のピクチャ、例えば、時間T1におけるビューS1のピクチャをコード化するための参照として使用されるべき合成ビューのそのようなピクチャについての画素データを補間し得る。
【0173】
[0176]本開示の態様は、ビデオデータのブロックをコード化するときにビュー合成予測を適用するかどうかを示すための技法を含む。一例では、ビデオエンコーダ20及び/又はビデオデコーダ30などのビデオコーダは、現在のブロックに対する参照インデックスがインター予測参照ピクチャに対応するかどうかを決定することと、現在のブロックに対する参照インデックスがインター予測参照ピクチャに対応するときに、現在のブロックのVSPモードを示すデータを決定することとを行い得、ここで、参照インデックスに対するVSPモードは、現在のブロックが、例えばビュー間参照ピクチャからビュー合成予測を使用して予測されるかどうかを示す。ビデオコーダがビデオデコーダ30として構成される例では、ビデオデコーダ30は、符号化されたビットストリームからデータを取得することによってVSPモードを示すデータを決定し得る。
【0174】
[0177]幾つかの例では、インター予測参照ピクチャは、一般に、インター予測モードと関連付けられる。そのような例では、VSPモードを示すデータは、任意のインターモードに対して、例えばビュー内参照ピクチャ及びビュー間参照ピクチャに対して決定され得る。他の例では、VSPモードを示すデータは、ビュー間参照ピクチャに対してのみ、決定され得る。即ち、例えば、ビデオデコーダ30は、参照ピクチャインデックスがビュー間参照ピクチャに対応するときにVSPモードを示すデータだけを復号し得る。
【0175】
[0178]上記の例では、VSPピクチャの参照インデックスは、スライスヘッダ内に明確に示されず、又は参照ピクチャリスト構築中に追加されない。代わりに、ビデオコーダは、インター予測参照ピクチャに対応する各参照インデックスに対するMB又はMB区分レベルにおいて1つ又は複数のシンタックス要素をコード化し得る。幾つかの例では、1つ又は複数のシンタックス要素は、VSPフラグであり得る。例えば、このフラグは、VSPが、特定の参照インデックスに対するMB又はMB区分に対して適用されるかどうかを示し得る。
【0176】
[0179]マクロブロックレイヤセマンティックスに関して、1に等しいvsp_flagは、現在のMB又はMB区分が、anchor_pic_flagが0のときにnon_anchor_ref_10[VOIdx][0]によって、又はanchor_pic_flagが1のときにanchor_ref_10[VOIdx][0]によって識別されるビュー間参照ピクチャから単方向に予測されることを規定し得、ここで、VOIdxは現在ビューコンポーネントのビュー順序インデックスである。MB又はMB区分の動きベクトルは、サブクローズJ.8.3.1.3(例えば、WD4)において規定されているように導出され得る。加えて、0に等しいvsp_flagは、ビュー合成予測が現在のMB又はMB区分に対して使用されないことを規定し得る。代替として、0に等しいvsp_flagは、GVSPの下でのビュー合成予測は使用不可能であることを規定するが、参照インデックス信号伝達ベースの機構を使用するビュー合成予測は依然として許容され得る。
【0177】
[0180]別の例では、vsp_flagが1に等しいとき、MB又はMB区分は、RefPicList0中の第1のビュー間参照から予測され得る。別の例では、vsp_flagが1に等しいとき、MB又はMB区分は、vsp_pic_flagがmodification_of_pic_nums_idcの現在を制約するために使用されないとき、6に等しいmodification_of_pic_nums_idcを有するRPLM中の第1のエントリから予測され得る。この場合、RPLM中の6に等しいmodification_of_pic_nums_idcを有するコマンドは、参照ピクチャリスト中の新しいエントリを示さない。
【0178】
[0181]レベルの制約に関して、MB又はMB区分がVSPフラグを用いてコード化され、MB又はMB区分の内部で少なくとも1つの8×8ブロック中に異なる動きベクトルを有するとき、ビデオエンコーダ20又はビデオデコーダ30などのビデオコーダは、MB又はMB区分に基づいて8×8より小さいサブブロックの数を数えることができる。サブブロックの数は、MaxSubMbRectSizeを超えない。この例では、ビデオコーダは、VSPによって予測されたMBは、8×8より小さい1つ又は複数のサブブロックを有することを決定することができる。
【0179】
[0182]代替として、別の例では、(vsp_flagを有する)VSPを使用してMBを予測した後、ビデオコーダは、MBが8×8より小さいサブブロックを有することを決定することができる。代替として、更に別の例では、vspフラグがMB又はMB区分に対して存在するとき、各MB区分に対して、MB又はMB区分が8×8より小さいブロック区分を持たないように、唯一のビュー間動きベクトルが導出される。代替として、更に別の例では、vspフラグがMB又はMB区分に対して存在するとき、各MB区分に対して、MB又はMB区分が8×8より小さいブロック区分を持たないように、唯一のビュー間動きベクトルが、4つの8×8ブロックの各々に対して導出される。
【0180】
[0183]本開示の他の態様によれば、ビュー合成予測が使用可能であるとき、参照ベースの信号伝達がVSPに対して使用される(例えば、参照ピクチャインデックスがビュー合成参照ピクチャに対して生成され、VSPが参照インデックスに基づいて実行される)かどうか、又はGVSPがVSPに対して使用される(例えば、上記の表1〜表3に関して、上記で説明されたマクロブロック信号伝達に基づいてVSPが実行される)かどうかを示すSPS又はSPS拡張などのパラメータセットの中の1つ又は複数のシンタックス要素を、ビデオコーダがコード化することができる。幾つかの例では、1つ又は複数のシンタックス要素は、SPS拡張中のフラグを含み得る。
【0181】
[0184]例えば、本開示の態様によれば、ビデオエンコーダ20及び/又はビデオデコーダ30は、下の表4
【表4A】
【表4B】
【0182】
に示されるように、WD4(上述されている)に対するシーケンスパラメータセット拡張シンタックスを使用ことができる。
【0183】
[0185]上記の表4の例では、1に等しいvsp_pic_flagは、ビュー合成予測ピクチャが生成され、参照ピクチャリスト中の参照インデックスによって参照され得ることを示す。加えて、0に等しいvsp_pic_flagは、ビュー合成予測ピクチャが生成されず、ビュー合成予測は常にビュー間参照ピクチャを指すことを示す。存在しないとき、vsp_pic_flagは0に等しいものと推測され得る。
【0184】
[0186]本開示の他の態様によれば、参照インデックスベースの信号伝達が使用されないとき、RPLMは、VSPピクチャに対応するRPLMコマンドを含まない。例えば、参照インデックスベースの信号伝達が使用されないとき、ビデオコーダ(ビデオエンコーダ20及び/又はビデオデコーダ30など)は、VSPピクチャに対応するRPLMコマンドを発行しない。即ち、VSPピクチャは生成されていないので、ビデオコーダは、VSPピクチャの位置を変えるためにRPLMを使用するのを控えることがある。
【0185】
[0187]一例では、参照ピクチャリスト3DVC修正に関して、サブクローズI.7.4.3.1.1中で(例えば、上述されたWD4中で)規定されたセマンティックスが、下記の追加物
【表5】
【0187】
ここでseq_view_synthesis_flag又はvsp_pic_flagが0に等しい場合、modification_of_pic_nums_idcは6に等しくならない。
【0188】
[0188]本開示の他の態様によれば、GVSPが使用されるとき、ビデオコーダは、RefPicList0に対する第1のビュー間参照ピクチャのみから、ビュー合成予測ピクチャを合成し得る。この例では、ビュー合成予測ピクチャの信号伝達は不要であり、GVSPモードが、第1のビュー間参照ピクチャ、例えばRefPicList0を指す視差動きベクトルを出力することが、自動的に決定(例えば、推測)される。代替として、別の例では、ビデオコーダは、RefPicList1中のビュー間ピクチャに基づいてビュー合成予測を実行し得る。代替として、別の例では、ビデオコーダは、RefPicList0とRefPicList1の両方の中に存在する場合、ビュー間ピクチャに基づいてビュー合成予測を実行し得る。
【0189】
[0189]
図6は、ビュー合成予測に関係する情報をコード化するための例示的な方法を示すフローチャートである。
図6の方法についてビデオエンコーダ20(
図1及び
図2)に関して説明する。しかしながら、他のビデオコード化機器が、同様の方法を実行するように構成され得ることを理解されたい。更に、本方法における幾つかのステップは、異なる順序で、又は並行して実行され得る。同様に、様々な例では、幾つかのステップが省略され得、他のステップが追加され得る。
【0190】
[0190]この例では、ビデオエンコーダ20は、最初に、現在のブロックと予測ブロックの参照インデックスとを予測する(120)。この例では、ビデオエンコーダ20が現在のブロックをインター予測すると仮定される。例えば、動き推定ユニット42は、前にコード化されたピクチャ、例えば、ビュー間ピクチャ及び時間的ピクチャの動き探索を実行することによって、現在のブロックの動きベクトルを計算し得る。従って、動き推定ユニット42は、現在のブロックを予測するために、時間的動きベクトル又は視差動きベクトルを生成し得る。
【0191】
[0191]幾つかの例では、上記のように、ビデオエンコーダ20は、合成されたブロックから現在のブロックを予測し得る。例えば、ビデオエンコーダ20は、参照ピクチャリストに追加され得、参照ピクチャインデックスを有し得る、合成されたピクチャを生成するために、ビュー合成プロセスを実行し得る。ビデオエンコーダ20は、合成されたピクチャのブロックに対する現在のブロックを予測するためにVSPを実行し得る。
【0192】
[0192]
図6の例では、ビデオエンコーダ20は、予測ブロックを含む参照ピクチャの参照インデックスがビュー間参照ピクチャであるかどうかを決定し得る(122)。幾つかの例では、ビデオエンコーダ20は、参照ピクチャが、ビュー識別子(view_id)に基づいて符号化されるブロックと異なるビュー中に含まれるかどうかを決定し得る。
【0193】
[0193]本開示の態様によれば、参照インデックスがビュー間参照ピクチャに対応する(ステップ122のYES分岐)場合、ビデオエンコーダ20は、参照インデックスに対するVSPを適用するかどうかを示すデータを符号化し得る。例えば、ビデオエンコーダ20が予想ブロックを決定するためにVSPを実行した例では、ビデオエンコーダ20は、VSPが使用されている(例えば、vsp_flagを1にセットしている)ことを示すデータを符号化し得る。ビデオエンコーダ20が予想ブロックを決定するために単に(VSPなしに)ビュー間予測を実行した例では、ビデオエンコーダ20は、VSPが使用されていない(例えば、vsp_flagを0にセットしている)ことを示すデータを符号化し得る。
【0194】
[0194]ビデオエンコーダ20は次いで、現在のブロックに対する残差ブロックを計算することができる(126)。残差ブロックを計算するために、ビデオエンコーダ20は、元のコード化されていないブロックと、コード化されるブロックと同じビュー中のブロックであり得る予想ブロックか、コード化されるブロックと異なるビュー中のブロックか、又は合成されたブロックとの間の差分を計算し得る。ビデオエンコーダ20は次いで、残差ブロックの係数を変換し、量子化することができる(128)。次に、ビデオエンコーダ20は、残差ブロックの量子化された変換係数を走査することができる(130)。走査中又は走査後に、ビデオエンコーダ20は、係数をエントロピー符号化することができる(132)。例えば、ビデオエンコーダ20は、CAVLC又はCABACを使用して係数を符号化することができる。次いで、ビデオエンコーダ20は、ブロックのエントロピーコード化されたデータならびにVSP指示を出力することができる(134)。
【0195】
[0195]このようにして、
図6の方法は、ビデオデータを符号化するための方法の一例を表し、方法は、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するときに、現在のブロックのビュー合成予測(VSP)モードを示すデータを生成することと、ここで、参照インデックスに対するVSPモードは、現在のブロックがビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、ビットストリーム中のVSPモードを示すデータを符号化することとを含む。
【0196】
[0196]
図7は、ビュー合成予測に関係する情報をコード化するための例示的な方法を示すフローチャートである。
図7の方法が、ビデオデコーダ30(
図1及び
図3)に関して説明される。しかしながら、他のビデオコード化機器が、同様の方法を実行するように構成され得ることを理解されたい。更に、本方法における幾つかのステップは、異なる順序で、又は並行して実行され得る。同様に、様々な例では、幾つかのステップが省略され得、他のステップが追加され得る。
【0197】
[0197]エントロピー復号ユニット70は、現在復号されているブロックの係数に対するデータと、少なくとも1つの動きベクトル又は視差ベクトルと、少なくとも1つの対応する参照インデックスとをエントロピー復号する(160)。
図7の例は、現在のブロックが単予測されることを仮定するが、他の例では、現在のブロックは、本明細書で説明されたように双予測されてもよいことを理解されたい。
【0198】
[0198]動きベクトル又は視差ベクトルは、復号された参照ピクチャインデックスと関連付けられた参照ピクチャ中の予測ブロックを識別し得る。例えば、現在のブロックは、現在のブロックと同じビュー中のブロックからインター予測され得るか、現在のブロックと異なるビュー中のブロックからビュー間予測され得るか、又はVSPを使用して合成されたブロックからビュー間予測され得る。特定の予測プロセスにかかわらず、復号された参照インデックスは、参照ピクチャメモリに記憶されたピクチャを識別する。
【0199】
[0199]
図7の例では、ビデオデコーダ30は、予測ブロックを含む参照ピクチャの参照インデックスがビュー間参照ピクチャであるかどうかを決定し得る(162)。幾つかの例では、ビデオデコーダ30は、参照ピクチャが、ビュー識別子(view_id)に基づいて符号化されるブロックと異なるビュー中に含まれるかどうかを決定し得る。
【0200】
[0200]本開示の態様によれば、参照インデックスがビュー間参照ピクチャに対応する(ステップ162のYES分岐)場合、ビデオデコーダ30は、参照インデックスに対するVSPを適用するかどうかを示すデータを復号し得る。例えば、予想ブロックを決定するためにVSPが使用されるべき例では、ビデオデコーダ30は、VSPが使用されるべきである(例えば、ビデオデコーダ30が1に等しいvsp_flagを符号化されたビットストリームから取得し得る)ことを示すデータを復号することができる。予想ブロックを決定するためにビデオデコーダ30がVSPなしにビュー間予測を実行すべき例では、ビデオデコーダ30は、VSPが使用されるべきでない(例えば、ビデオデコーダ30が0に等しいvsp_flagを符号化されたビットストリームから取得し得る)ことを示すデータを復号することができる。幾つかの例では、参照インデックスがビュー間参照ピクチャに対応するがビットストリーム中にVSP指示が含まれていない(例えば、vsp_flagが存在しない)場合、ビデオデコーダ30は、現在のブロックがVSPなしにビュー間予測されることを自動的に決定(推測)することができる。
【0201】
[0201]ビデオデコーダ30は、復号された動きベクトル又は視差ベクトルと参照ピクチャインデックスとを使用して現在のブロックを予測し得る(166)。VSPが使用される例では、ビデオデコーダ30は、予測ブロックを決定するために合成されたピクチャを生成し得る。ビデオデコーダ30は、次いで、量子化された変換係数のブロックを作成するために、再生成された係数を逆走査することができる(168)。ビデオデコーダ30は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換することができる(170)。ビデオデコーダ30は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号することができる(172)。
【0202】
[0202]このようにして、
図7の方法は、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するときに、現在のブロックのビュー合成予測(VSP)モードを示すデータを、符号化されたビットストリームから取得することとを含み、ここで、参照インデックスに対するVSPモードは、現在のブロックがビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す。
【0203】
[0203]ビュー合成に関して上で説明された技法は、ビデオエンコーダ20(
図1及び
図2)及び/又はビデオデコーダ30(
図1及び
図3)によって実行されてよく、ビデオエンコーダ20とビデオデコーダ30の両方が全般にビデオコーダと呼ばれ得る。同様に、「コード化」及び「ビデオコード化」は、適用可能な場合、ビデオ符号化(例えば、ビデオエンコーダによる)又はビデオ復号(例えば、ビデオデコーダによる)のいずれかを指すことがある。
【0204】
[0204]例に応じて、本明細書で説明された方法のうちのいずれかの幾つかの動作又はイベントは、異なる順序で実行されてよく、互いに追加、統合、又は完全に除外され得る(例えば、全ての説明された動作又はイベントが、本方法の実施のために必要であるとは限らない)ことを理解されたい。その上、幾つかの例では、動作又はイベントは、連続的にではなく、同時に、例えば、マルチスレッド処理、割込み処理、又は複数のプロセッサを通じて実行され得る。更に、本開示の幾つかの態様は、明快にするために単一のモジュール又はユニットによって実行されるものとして説明されているが、本開示の技法はビデオコーダと関連付けられるユニット又はモジュールの組合せによって実行され得ることを理解されたい。
【0205】
[0205]技法の様々な態様の特定の組合せが上で説明されたが、これらの組合せは、本開示で説明される技法の例を単に示すために与えられる。従って、本開示の技法は、これらの例示的な組合せに限定されるべきではなく、本開示で説明される技法の様々な態様の任意の想起可能な組合せを包含し得る。
【0206】
[0206]1つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、あるいは、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む通信媒体を含み得る。
【0207】
[0207]このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード及び/又はデータ構造を取り出すために、1つ又は複数のコンピュータ、又は1つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【0208】
[0208]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、あるいは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【0209】
[0209]但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【0210】
[0210]命令は、1つ又は複数のデジタル信号プロセッサ(DSP)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書において説明された機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に設けられる場合があるか、又は複合コーデックに組み込まれる場合がある。また、本技法は、1つ又は複数の回路又は論理要素において完全に実施され得る。
【0211】
[0211]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記のように、適切なソフトウェア及び/又はファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わせられ得るか、又は上記のような1つ又は複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体よって設けられ得る。
【0212】
[0212]本開示の様々な態様が説明されてきた。これら及び他の態様は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータを復号する方法であって、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータを、符号化されたビットストリームから取得することとを備え、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、方法。
[2] 前記VSPモードを示す前記データを取得することが、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、ブロックレベルにおけるVSPフラグを取得することを備える、[1]に記載の方法。
[3] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[2]に記載の方法。
[4] 前記現在のブロックを復号するためにビュー合成参照ピクチャの参照インデックスの指示を含まないスライスヘッダを復号することを更に備える、[1]に記載の方法。
[5] 前記現在のブロックに対する前記参照インデックスが、参照ピクチャリストゼロ中のピクチャに対応するときだけ、前記現在のブロックに対する前記VSPモードを示す前記データが取得される、[1]に記載の方法。
[6] 前記現在のブロックに対する前記参照インデックスが、第1の参照ピクチャリスト及び第2の参照ピクチャリストのうちの1つの中のピクチャに対応するときに、前記現在のブロックに対する前記VSPモードを示す前記データが取得される、[1]に記載の方法。
[7] 前記VSPモード及び第2のVSPモードのうちの1つを実行するかどうかを示すデータを、符号化されたビットストリームから取得することを更に備え、ここにおいて、前記第2のVSPモードを実行することが、ビュー合成参照ピクチャの参照ピクチャインデックスに基づいて前記ビュー合成参照ピクチャを決定することを備える、[1]に記載の方法。
[8] 前記ビュー間参照ピクチャからビュー合成参照ピクチャを決定することと、ビュー合成予測ピクチャを参照ピクチャリストに追加することと、ここにおいて、参照ピクチャリスト修正プロセスは、前記ビュー合成予測ピクチャを並べ替えるために使用されない、前記ビュー合成参照ピクチャに対して前記現在のブロックを復号することとを更に備える、[1]に記載の方法。
[9] 前記ビュー間参照ピクチャが参照ピクチャリストゼロ中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成することを更に備える、[1]に記載の方法。
[10] 前記ビュー間参照ピクチャが参照ピクチャリスト1中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成することを更に備える、[1]に記載の方法。
[11] ビデオデータを復号するための装置であって、現在のブロックを含むビデオデータを記憶するメモリと、 前記現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定すること、及び 前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータを、符号化されたビットストリームから取得することを行うように構成された1つ以上のプロセッサとを備え、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、装置。
[12] 前記VSPモードを示す前記データを取得するために、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、前記1つ以上のプロセッサが、ブロックレベルにおけるVSPフラグを取得するように構成される、[11]に記載の装置。
[13] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[12]に記載の装置。
[14] 前記1つ以上のプロセッサが、前記現在のブロックを復号するためにビュー合成参照ピクチャの参照インデックスの指示を含まないスライスヘッダを復号するように更に構成される、[11]に記載の装置。
[15] 前記現在のブロックに対する前記参照インデックスが、参照ピクチャリストゼロ中のピクチャに対応するときだけ、前記1つ以上のプロセッサが、前記現在のブロックに対する前記VSPモードを示す前記データを取得するように構成される、[11]に記載の装置。
[16] 前記現在のブロックに対する前記参照インデックスが、第1の参照ピクチャリスト及び第2の参照ピクチャリストのうちの1つの中のピクチャに対応するときに、前記1つ以上のプロセッサが、前記現在のブロックに対する前記VSPモードを示す前記データを取得するように構成される、[11]に記載の装置。
[17] 前記1つ以上のプロセッサが、前記VSPモード及び第2のVSPモードのうちの1つを実行するかどうかを示すデータを、符号化されたビットストリームから取得するように更に構成され、前記第2のVSPモードを実行するために、前記1つ以上のプロセッサが、前記ビュー合成参照ピクチャの参照ピクチャインデックスに基づいてビュー合成参照ピクチャを決定するように構成される、[11]に記載の装置。
[18] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャからビュー合成参照ピクチャを決定することと、前記ビュー合成予測ピクチャを参照ピクチャリストに追加することと、ここにおいて、参照ピクチャリスト修正プロセスは、前記ビュー合成予測ピクチャを並べ替えるために使用されない、前記ビュー合成参照ピクチャに対して前記現在のブロックを復号することとを行うように更に構成される、[11]に記載の装置。
[19] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャが参照ピクチャリストゼロ中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成するように更に構成される、[11]に記載の装置。
[20] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャが参照ピクチャリスト1中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成するように更に構成される、[11]に記載の装置。
[21] ビデオデータを符号化する方法であって、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータを生成することと、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、ビットストリーム中の前記VSPモードを示す前記データを符号化することとを備える、方法。
[22] 前記VSPモードを示す前記データを生成することが、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、ブロックレベルにおけるVSPフラグを生成することを備える、[21]に記載の方法。
[23] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[22]に記載の方法。
[24] 前記現在のブロックを符号化するためにビュー合成参照ピクチャの参照インデックスの指示を含まないスライスヘッダを符号化することを更に備える、[21]に記載の方法。
[25] 前記現在のブロックに対する前記VSPモードを示す前記データを生成することが、前記現在のブロックに対する前記参照インデックスが、参照ピクチャリストゼロ中のピクチャに対応するときだけ、前記データを生成することを備える、[21]に記載の方法。
[26] 前記現在のブロックに対する前記VSPモードを示す前記データを生成することが、前記現在のブロックに対する前記参照インデックスが、第1の参照ピクチャリスト及び第2の参照ピクチャリストのうちの1つの中のピクチャに対応するときに、前記データを生成することを備える、[21]に記載の方法。
[27] 前記VSPモード及び第2のVSPモードのうちの1つを実行するかどうかを示すデータを符号化することを更に備え、ここにおいて、前記第2のVSPモードを実行することが、ビュー合成参照ピクチャの参照ピクチャインデックスに基づいて前記ビュー合成参照ピクチャを決定することを備える、[21]に記載の方法。
[28] 前記ビュー間参照ピクチャからビュー合成参照ピクチャを決定することと、ビュー合成予測ピクチャを参照ピクチャリストに追加することと、ここにおいて、参照ピクチャリスト修正プロセスは、前記ビュー合成予測ピクチャを並べ替えるために使用されない、前記ビュー合成参照ピクチャに対して前記現在のブロックを符号化することとを更に備える、[21]に記載の方法。
[29] 前記ビュー間参照ピクチャが参照ピクチャリストゼロ中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成することを更に備える、[21]に記載の方法。
[30] 前記ビュー間参照ピクチャが参照ピクチャリスト1中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成することを更に備える、[21]に記載の方法。
[31] ビデオデータを符号化するための装置であって、現在のブロックを含むビデオデータを記憶するメモリと、 現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定すること、 前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータを生成すること、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、及び ビットストリーム中の前記VSPモードを示す前記データを符号化することを行うように構成された1つ以上のプロセッサとを備える、装置。
[32] 前記VSPモードを示す前記データを生成するために、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、前記1つ以上のプロセッサが、ブロックレベルにおけるVSPフラグを生成するように構成される、[31]に記載の装置。
[33] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[32]に記載の装置。
[34] 前記1つ以上のプロセッサが、前記現在のブロックを符号化するためにビュー合成参照ピクチャの参照インデックスの指示を含まないスライスヘッダを符号化するように更に構成される、[31]に記載の装置。
[35] 前記現在のブロックに対する前記参照インデックスが、参照ピクチャリストゼロ中のピクチャに対応するときだけ、前記1つ以上のプロセッサが、前記現在のブロックに対する前記VSPモードを示す前記データを生成するように構成される、[31]に記載の装置。
[36] 前記現在のブロックに対する前記参照インデックスが、第1の参照ピクチャリスト及び第2の参照ピクチャリストのうちの1つの中のピクチャに対応するときに、前記1つ以上のプロセッサが、前記現在のブロックに対する前記VSPモードを示す前記データを生成するように構成される、[31]に記載の装置。
[37] 前記1つ以上のプロセッサが、前記VSPモード及び第2のVSPモードのうちの1つを実行するかどうかを示すデータを符号化するように更に構成され、前記第2のVSPモードを実行するために、前記1つ以上のプロセッサが、ビュー合成参照ピクチャの参照ピクチャインデックスに基づいて前記ビュー合成参照ピクチャを決定するように構成される、[31]に記載の装置。
[38] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャからビュー合成参照ピクチャを決定することと、ビュー合成予測ピクチャを参照ピクチャリストに追加することと、ここにおいて、参照ピクチャリスト修正プロセスは、前記ビュー合成予測ピクチャを並べ替えるために使用されない、前記ビュー合成参照ピクチャに対して前記現在のブロックを符号化することとを行うように更に構成される、[31]に記載の装置。
[39] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャが参照ピクチャリストゼロ中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成するように更に構成される、[31]に記載の装置。
[40] 前記1つ以上のプロセッサが、前記ビュー間参照ピクチャが参照ピクチャリスト1中に含まれるときだけ、前記ビュー間参照ピクチャからビュー合成参照ピクチャを合成するように更に構成される、[31]に記載の装置。
[41] 命令が記憶された非一時的コンピュータ可読媒体であって、前記命令が、実行されると、1つ以上のプロセッサに、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定することと、前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータをコード化することとを行わせ、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、非一時的コンピュータ可読媒体。
[42] 前記VSPモードを示す前記データをコード化することが、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、ブロックレベルにおけるVSPフラグをコード化することを備える、[41]に記載の非一時的コンピュータ可読媒体。
[43] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[42]に記載の非一時的コンピュータ可読媒体。
[44] ビデオデータをコード化するための装置であって、現在のブロックに対する参照インデックスがビュー間参照ピクチャに対応するかどうかを決定するための手段と、前記現在のブロックに対する前記参照インデックスが、前記ビュー間参照ピクチャに対応するときに、前記現在のブロックのビュー合成予測(VSP)モードを示すデータをコード化するための手段とを備え、ここにおいて、前記参照インデックスに対する前記VSPモードは、前記現在のブロックが前記ビュー間参照ピクチャからビュー合成予測を用いて予測されるかどうかを示す、装置。
[45] 前記VSPモードを示す前記データをコード化するための前記手段が、前記現在のブロックに対する前記参照インデックスがビュー間参照ピクチャに対応するときだけ、ブロックレベルにおけるVSPフラグをコード化するための手段を備える、[44]に記載の装置。
[46] 前記ブロックレベルが、前記現在のブロックがマクロブロックであるときにマクロブロックレベルであるか、又は前記現在のブロックがマクロブロック区分であるときにマクロブロック区分レベルである、[45]に記載の装置。