(57)【特許請求の範囲】
【請求項１】
ビットストリームに含まれる現在のビデオユニットがビュー合成予測（ＶＳＰ）ピクチャから予測される第１のモードと前記現在のビデオユニットが前記ＶＳＰピクチャから予測されない第２のモードを選択的に使用することによって予測的に符号化された３Ｄビデオデータを復号する方法であって、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかを判断することであって、前記現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションであり、ここにおいて、前記第１のモードは両方向予測モードである、判断することと、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、
ビュー合成予測のための参照ビューピクチャを判断することであって、前記参照ビューピクチャが、ビュー合成のためのビューであるとしてスライスヘッダ中に示されたビュー中にある前記現在のアクセスユニット中にある前記ピクチャである、判断することと、
参照インデックスが前記参照ビューピクチャを示すように前記現在のビデオユニットのための前記参照インデックスを設定することと、
前記現在のビデオユニットのための動きベクトルを導出することであって、前記現在のビデオユニットのための前記動きベクトルが前記参照ビューピクチャを参照し、前記動きベクトルを導出することが、
深度ピクチャのブロックから代表的な深度値を判断することであって、前記深度ピクチャの前記ブロックは、対応するテクスチャピクチャの現在のビデオユニットに対応し、前記代表的な深度値は、前記深度ピクチャの前記ブロック内の所定の深度ピクセルの最大、平均、または中間値に基づいて判断され、前記所定の深度ピクセルは、前記深度ピクチャの前記ブロック内のコーナー深度ピクセルである、判断することと、
視差ベクトルを判断するために前記代表的な深度値を使用することと、
前記動きベクトルが０に等しくならないように前記現在のビデオユニットのための前記動きベクトルを前記視差ベクトルに等しく設定することと、
を備える、導出することと、
前記現在のビデオユニットが前記第２のモードを使用してコーディングされるとき、
前記ビットストリームから、前記現在のビデオユニットのための前記参照インデックスと前記現在のビデオユニットのための動きベクトル差分とを復号することであって、前記動きベクトル差分は動きベクトル予測子と前記現在のビデオユニットのための前記動きベクトルの間の差を示す、復号することと、
前記現在のビデオユニットの動き情報によって示される参照ブロックに基づいて前記現在のビデオユニットのための予測ブロックを生成することであって、前記現在のビデオユニットの前記動き情報は、前記現在のビデオユニットのための前記動きベクトルと前記現在のビデオユニットのための前記参照インデックスを含む、生成することと、
前記現在のビデオユニットのサンプルブロックを構成するために前記予測ブロックを残差ブロックに追加することと、
を備える方法。
【請求項２】
前記第１のモードが、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、およびｖｓｐ＿ｍｂ＿ｆｌａｇの３Ｄ―ＡＶＣまたは３Ｄ−ＨＥＶＣにおけるシンタックス要素のうちの１つによって識別される、請求項１に記載の方法。
【請求項３】
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかを判断することが、前記現在のビデオユニットのためのシグナリングされた参照インデックスが特定の値を有するときに前記現在のビデオユニットが前記第１のモードを使用してコーディングされると判断することを備え、ここにおいて、前記現在のビデオユニットのための前記参照インデックスを設定することが、両端値を含む、０から参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０中のアクティブ参照ピクチャの数までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］がビュー合成予測のための前記参照ビューピクチャに等しい場合、前記参照インデックスをｉに設定することを備える、請求項１に記載の方法。
【請求項４】
前記現在のビデオユニットのための前記参照インデックスを設定することが、両端値を含む、０から参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０中のアクティブ参照ピクチャの数までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］がビュー合成予測のための前記参照ビューピクチャに等しい場合、前記参照インデックスをｉに設定することを備える、請求項１に記載の方法。
【請求項５】
ビットストリームに含まれる現在のビデオユニットがビュー合成予測（ＶＳＰ）ピクチャから予測される第１のモードと前記現在のビデオユニットが前記ＶＳＰピクチャから予測されない第２のモードを選択的に使用することによって予測的に符号化された３Ｄビデオデータを復号するための３Ｄビデオ復号デバイスであって、前記３Ｄビデオ復号デバイスは、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかを判断するための手段であって、前記現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションであり、ここにおいて、前記第１のモードは両方向予測モードである、判断するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、ビュー合成予測のための参照ビューピクチャを判断するための手段であって、前記参照ビューピクチャが、ビュー合成のためのビューであるとしてスライスヘッダ中に示されたビュー中にある前記現在のアクセスユニット中にある前記ピクチャである、判断するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、参照インデックスが前記参照ビューピクチャを示すように、前記現在のビデオユニットのための前記参照インデックスを設定するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、前記現在のビデオユニットのための動きベクトルを導出するための手段であって、前記現在のビデオユニットのための前記動きベクトルが前記参照ビューピクチャを参照し、前記動きベクトルを導出することが、
深度ピクチャのブロックから代表的な深度値を判断することであって、前記深度ピクチャの前記ブロックは、対応するテクスチャピクチャの現在のビデオユニットに対応し、前記代表的な深度値は、前記深度ピクチャの前記ブロック内の所定の深度ピクセルの最大、平均、または中間値に基づいて判断され、前記所定の深度ピクセルは、前記深度ピクチャの前記ブロック内のコーナー深度ピクセルである、判断することと、
視差ベクトルを判断するために前記代表的な深度値を使用することと、
前記動きベクトルが０に等しくならないように前記現在のビデオユニットのための前記動きベクトルを前記視差ベクトルに等しく設定することと
を備える、導出するための手段と、
前記現在のビデオユニットが前記第２のモードを使用してコーディングされるとき、前記ビットストリームから、前記現在のビデオユニットのための前記参照インデックスと前記現在のビデオユニットのための動きベクトル差分とを復号するための手段であって、前記動きベクトル差分は動きベクトル予測子と前記現在のビデオユニットのための前記動きベクトルの間の差を示す、復号するための手段と、
前記現在のビデオユニットの動き情報によって示される参照ブロックに基づいて前記現在のビデオユニットのための予測ブロックを生成するための手段であって、前記現在のビデオユニットの前記動き情報は、前記現在のビデオユニットのための前記動きベクトルと前記現在のビデオユニットのための前記参照インデックスを含む、生成するための手段と、
前記現在のビデオユニットのサンプルブロックを構成するために前記予測ブロックを残差ブロックに追加するための手段と、
を備える３Ｄビデオ復号デバイス。
【請求項６】
ビデオ復号デバイスの１つまたは複数のプロセッサによって実行されたとき、
請求項１から４のうちのいずれかの方法を実行するように前記ビデオ復号デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。
【請求項７】
現在のビデオユニットがビュー合成予測（ＶＳＰ）ピクチャから予測される第１のモードと前記現在のビデオユニットが前記ＶＳＰピクチャから予測されない第２のモードを選択的に使用することによって３Ｄビデオデータを符号化するための方法であって、
複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかをシグナリングすることであって、前記現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションであり、ここにおいて、前記第１のモードは両方向予測モードである、シグナリングすることと、
前記現在のビデオユニットが前記第２のモードを使用してかつ前記第１のモードを使用しないでコーディングされるとき、前記ビットストリーム中で、前記現在のビデオユニットのための参照インデックスと前記現在のビデオユニットのための動きベクトル差分とをシグナリングすることであって、前記動きベクトル差分は動きベクトル予測子と前記現在のビデオユニットのための動きベクトルの間の差を示す、シグナリングすることと、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、
ビュー合成予測のための参照ビューピクチャを判断することであって、前記参照ビューピクチャが、ビュー合成のためのビューであるとしてスライスヘッダ中に示されたビュー中にある前記現在のアクセスユニット中にある前記ピクチャである、判断することと、
前記参照インデックスが前記参照ビューピクチャを示すように、前記現在のビデオユニットのための前記参照インデックスを設定することと、
前記現在のビデオユニットのための前記動きベクトルを導出することであって、前記現在のビデオユニットのための前記動きベクトルが前記参照ビューピクチャを参照し、前記動きベクトルを導出することが、
深度ピクチャのブロックから代表的な深度値を判断することであって、前記深度ピクチャの前記ブロックは、対応するテクスチャピクチャの現在のビデオユニットに対応し、前記代表的な深度値は、前記深度ピクチャの前記ブロック内の所定の深度ピクセルの最大、平均、または中間値に基づいて判断され、前記所定の深度ピクセルは、前記深度ピクチャの前記ブロック内のコーナー深度ピクセルである、判断することと、
視差ベクトルを判断するために前記代表的な深度値を使用することと、
前記動きベクトルが０に等しくならないように前記現在のビデオユニットのための前記動きベクトルを前記視差ベクトルに等しく設定することと、
を備える、導出することと、
前記ビットストリームから、前記現在のビデオユニットのための前記動きベクトルを省略することと、
前記ビットストリームを出力することと、
を備える方法。
【請求項８】
前記第１のモードが、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、およびｖｓｐ＿ｍｂ＿ｆｌａｇの３Ｄ―ＡＶＣまたは３Ｄ−ＨＥＶＣにおけるシンタックス要素のうちの１つによって識別される、請求項７に記載の方法。
【請求項９】
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかをシグナリングすることが、前記ビットストリーム中で、前記現在のビデオユニットのための前記参照インデックスが特定の値を有するとシグナリングすることを備え、ここにおいて、前記現在のビデオユニットのための前記参照インデックスを設定することが、両端値を含む、０から参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０中のアクティブ参照ピクチャの数までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］がビュー合成予測のための前記参照ビューピクチャに等しい場合、前記参照インデックスをｉに設定することを備える、請求項７に記載の方法。
【請求項１０】
前記現在のビデオユニットのための前記参照インデックスを設定することが、両端値を含む、０から参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０中のアクティブ参照ピクチャの数までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］がビュー合成予測のための前記参照ビューピクチャに等しい場合、前記参照インデックスをｉに設定することを備える、請求項７に記載の方法。
【請求項１１】
現在のビデオユニットがビュー合成予測（ＶＳＰ）ピクチャから予測される第１のモードと前記現在のビデオユニットが前記ＶＳＰピクチャから予測されない第２のモードを選択的に使用することによって３Ｄビデオデータを符号化するための３Ｄビデオ符号化デバイスであって、複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、前記現在のビデオユニットが前記第１のモードを使用してコーディングされるかどうかをシグナリングするための手段であって、前記現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションであり、ここにおいて、前記第１のモードは両方向予測モードである、シグナリングするための手段と、
前記現在のビデオユニットが前記第２のモードを使用してかつ前記第１のモードを使用しないでコーディングされるとき、前記ビットストリーム中で、前記現在のビデオユニットのための参照インデックスと前記現在のビデオユニットのための動きベクトル差分とをシグナリングするための手段であって、前記動きベクトル差分は動きベクトル予測子と前記現在のビデオユニットのための動きベクトルの間の差を示す、シグナリングするための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、ビュー合成予測のための参照ビューピクチャを判断するための手段であって、前記参照ビューピクチャが、ビュー合成のためのビューであるとしてスライスヘッダ中に示されたビュー中にある前記現在のアクセスユニット中にある前記ピクチャである、判断するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、前記参照インデックスが前記参照ビューピクチャを示すように前記現在のビデオユニットのための前記参照インデックスを設定するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、前記現在のビデオユニットのための前記動きベクトルを導出するための手段であって、前記現在のビデオユニットのための前記動きベクトルが前記参照ビューピクチャを参照し、前記現在のビデオユニットのための前記動きベクトルを導出することが、
深度ピクチャのブロックから代表的な深度値を判断することであって、前記深度ピクチャの前記ブロックは、対応するテクスチャピクチャの現在のビデオユニットに対応し、前記代表的な深度値は、前記深度ピクチャの前記ブロック内の所定の深度ピクセルの最大、平均、または中間値に基づいて判断され、前記所定の深度ピクセルは、前記深度ピクチャの前記ブロック内のコーナー深度ピクセルである、判断することと、
視差ベクトルを生成するために前記代表的な深度値を使用することと、
前記動きベクトルが０に等しくならないように前記現在のビデオユニットのための前記動きベクトルの値を前記視差ベクトルの値に設定することと
を備える、導出するための手段と、
前記現在のビデオユニットが前記第１のモードを使用してコーディングされるとき、前記ビットストリームから、前記現在のビデオユニットのための前記動きベクトルを省略するための手段と、
前記ビットストリームを出力するための手段と、
を備える、３Ｄビデオ符号化デバイス。
【請求項１２】
ビデオ符号化デバイスの１つまたは複数のプロセッサによって実行されたとき、請求項７から１０のうちのいずれかの方法を実行するように前記ビデオ符号化デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、２０１２年４月１３日に出願された米国仮特許出願第６１／６２４，１５７と、２０１２年４月１９日に出願された米国仮特許出願第６１／６３５，７６１号と、２０１２年４月２６日に出願された米国仮特許出願第６１／６３９，０６４号と、２０１２年４月２７日に出願された米国仮特許出願第６１／６３９，８４５号と、２０１２年５月３日に出願された米国仮特許出願第６１／６４２，３７９号と、２０１２年５月１４日に出願された米国仮特許出願第６１／６４６，８１０号と、２０１２年９月４日に出願された米国仮特許出願第６１／６９６，６６１号との利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディング（すなわち、ビデオデータの符号化および／または復号）に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差係数が得られ得、その残差係数は、次いで量子化され得る。量子化された係数は、最初は２次元アレイで構成され、係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【０００６】
[0006]マルチビュービットストリームは、たとえば多色カメラからの符号化ビューによって生成され得る。マルチビュービデオの柔軟性をさらに発展させるために、３次元（３Ｄ）ビデオ規格が開発されてきた。３Ｄビデオビットストリームは、複数のカメラに対応するビュー、すなわちテクスチャビューだけでなく、少なくとも１つまたは複数のテクスチャビューに関連する深度ビューをも含み得る。たとえば、各ビューは、１つのテクスチャビューと１つの深度ビューからなり得る。
【発明の概要】
【０００７】
[0007]概して、本開示は、ビデオユニットのビュー合成予測（ＶＳＰ：view synthesis prediction）モードをシグナリングすることについて説明する。より詳細には、ビデオエンコーダは、ビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングする。現在のビデオユニットは、マクロブロックまたはマクロブロックパーティションであり得る。さらに、ビデオエンコーダは、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、ビットストリーム中で現在のビデオユニットについての動き情報をシグナリングすべきかどうかを判断し得る。
【０００８】
[0008]ビデオデコーダは、ビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号し得る。現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオデコーダは、ＶＳＰピクチャに少なくとも部分的に基づいて、現在のビデオユニットのサンプルブロックを再構成し得る。現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビデオデコーダは、ビットストリームから、現在のビデオユニットについての動き情報を復号し得る。ビデオデコーダは、現在のビデオユニットのサンプルブロックを再構成するために動き情報を使用し得る。
【０００９】
[0009]一例では、ビデオデータを復号する方法は、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成することを備える。さらに、本方法は、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、復号することを備える。本方法はまた、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビットストリームから、現在のビデオユニットについての動き情報を復号することと、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用することとを行うことを備える。さらに、本方法は、現在のビデオユニットがＶＳＰピクチャから予測されるとき、現在のビデオユニットのサンプルブロックを再構成するためにＶＳＰピクチャを使用することを備える。
【００１０】
[0010]別の例では、ビデオ復号デバイスは、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成するように構成された１つまたは複数のプロセッサを備える。さらに、１つまたは複数の命令は、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、復号することを行うように構成される。１つまたは複数のプロセッサはまた、現在のビデオユニットがＶＳＰピクチャから予測されないとき、１つまたは複数のプロセッサが、ビットストリームから、現在のビデオユニットについての動き情報を復号することと、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用することとを行うように構成される。１つまたは複数のプロセッサはまた、現在のビデオユニットがＶＳＰピクチャから予測されるとき、１つまたは複数のプロセッサが、現在のビデオユニットのサンプルブロックを再構成するためにＶＳＰピクチャを使用することを行うように構成される。
【００１１】
[0011]別の例では、ビデオ復号デバイスは、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成するための手段を備える。さらに、ビデオ復号デバイスは、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号するための手段であって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、復号するための手段を備える。さらに、ビデオ復号デバイスは、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビットストリームから、現在のビデオユニットについての動き情報を復号するための手段を備える。ビデオ復号デバイスはまた、現在のビデオユニットがＶＳＰピクチャから予測されないとき、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用するための手段を備える。さらに、ビデオ復号デバイスは、現在のビデオユニットがＶＳＰピクチャから予測されるとき、現在のビデオユニットのサンプルブロックを再構成するためにＶＳＰピクチャを使用するための手段を備える。
【００１２】
[0012]別の例では、コンピュータ可読記憶媒体は、ビデオ復号デバイスの１つまたは複数のプロセッサによって実行されたとき、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成することを行うようにビデオ復号デバイスを構成する命令を記憶している。命令はまた、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、復号することを行うようにビデオ復号デバイスを構成する。命令はまた、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビデオ復号デバイスが、ビットストリームから、現在のビデオユニットについての動き情報を復号することと、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用することとを行うようにビデオ復号デバイスを構成する。現在のビデオユニットがＶＳＰピクチャから予測されるとき、命令は、現在のビデオユニットのサンプルブロックを再構成するためにＶＳＰピクチャを使用することを行うようにビデオ復号デバイスを構成する。
【００１３】
[0013]別の例では、ビデオデータを符号化するための方法は、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成することを備える。さらに、本方法は、複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、シグナリングすることを備える。さらに、本方法は、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングすることを備える。本方法はまた、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビットストリームから、現在のビデオユニットについての動き情報を省略することを備える。さらに、本方法は、ビットストリームを出力することを備える。
【００１４】
[0014]別の例では、ビデオ符号化デバイスは、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成するように構成された１つまたは複数のプロセッサを備える。さらに、１つまたは複数のプロセッサは、複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、シグナリングすることを行うように構成される。１つまたは複数のプロセッサは、現在のビデオユニットがＶＳＰピクチャから予測されないとき、１つまたは複数のプロセッサが、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングすることを行うように構成される。さらに、１つまたは複数のプロセッサは、現在のビデオユニットがＶＳＰピクチャから予測されるとき、１つまたは複数のプロセッサが、ビットストリームから、現在のビデオユニットについての動き情報を省略することを行うように構成される。１つまたは複数のプロセッサはまた、ビットストリームを出力するように構成される。
【００１５】
[0015]別の例では、ビデオ符号化デバイスは、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成するための手段を備える。さらに、ビデオ符号化デバイスは、複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングするための手段であって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、シグナリングするための手段を備える。ビデオ符号化デバイスはまた、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングするための手段を備える。さらに、ビデオ符号化デバイスは、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビットストリームから、現在のビデオユニットについての動き情報を省略するための手段を備える。さらに、ビデオ符号化デバイスは、ビットストリームを出力するための手段を備える。
【００１６】
[0016]別の例では、コンピュータ可読記憶媒体は、ビデオ符号化デバイスの１つまたは複数のプロセッサによって実行されたとき、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成することを行うようにビデオ符号化デバイスを構成する命令を記憶している。命令はまた、複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、現在のビデオユニットが、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションである、シグナリングすることをビデオ符号化デバイスに行わせる。現在のビデオユニットがＶＳＰピクチャから予測されないとき、命令は、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングすることを行うようにビデオ符号化デバイスを構成する。さらに、現在のビデオユニットがＶＳＰピクチャから予測されるとき、命令は、ビットストリームから、現在のビデオユニットについての動き情報を省略することを行うようにビデオ符号化デバイスを構成する。さらに、命令は、ビットストリームを出力することを行うようにビデオ符号化デバイスを構成する。
【００１７】
[0017]本開示の１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１】[0018]本開示で説明する技法を利用し得る例示的なビデオコーディングシステムを示すブロック図。
【図２】[0019]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0020]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４Ａ】[0021]本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図４Ｂ】[0022]本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図５Ａ】[0023]本開示の技法による、ビデオエンコーダの別の例示的な動作を示すフローチャート。
【図５Ｂ】[0024]本開示の技法による、ビデオデコーダの別の例示的な動作を示すフローチャート。
【図６Ａ】[0025]本開示の技法による、ビデオエンコーダの別の例示的な動作を示すフローチャート。
【図６Ｂ】[0026]本開示の技法による、ビデオデコーダの別の例示的な動作を示すフローチャート。
【図７Ａ】[0027]本開示の技法による、ビデオエンコーダの別の例示的な動作を示すフローチャート。
【図７Ｂ】[0028]本開示の技法による、ビデオデコーダの別の例示的な動作を示すフローチャート。
【図８Ａ】[0029]本開示の技法による、ビデオエンコーダの別の例示的な動作を示すフローチャート。
【図８Ｂ】[0030]本開示の技法による、ビデオデコーダの別の例示的な動作を示すフローチャート。
【図９Ａ】[0031]本開示の技法による、ビデオエンコーダの別の例示的な動作を示すフローチャート。
【図９Ｂ】[0032]本開示の技法による、ビデオデコーダの別の例示的な動作を示すフローチャート。
【図１０】[0033]例示的な３次元ビデオ（３ＤＶ）復号順序を示す概念図。
【図１１】[0034]例示的な時間的予測およびビュー間予測構造を示す概念図。
【発明を実施するための形態】
【００１９】
[0035]３次元ビデオ（３ＤＶ）コーディングでは、同じシーンの画像が異なる視点からキャプチャされる。異なる視点から同じシーンのピクチャを見せると、閲覧者に立体３次元効果を与え得る。異なる視点から同時にキャプチャされた同じシーンのピクチャは非常に類似していることがあるので、ビデオエンコーダは、ビュー間予測を使用して、異なる視点からの他のピクチャ中のブロックに基づいてピクチャのブロックを予測することによって送られるデータの量を低減させ得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用される。「ビューコンポーネント」は、単一のアクセスユニット中のビューのコード化表現であり得る。
【００２０】
[0036]送られるデータの量をさらに低減させるために、ビデオエンコーダは、現在コーディングされているピクチャと同じアクセスユニット中の以前にコーディングされたビューコンポーネントに基づいてビュー合成予測（ＶＳＰ）ピクチャを生成し得る。ビデオエンコーダは、参照ピクチャリスト中にＶＳＰピクチャを含み得る。ビデオエンコーダが現在のビデオユニット（たとえば、マクロブロック（ＭＢ：macroblock）、ＭＢパーティション、サブＭＢパーティション、予測ユニット（ＰＵ：prediction unit）など）を符号化するとき、ビデオエンコーダは、現在のビデオユニットのための予測ブロックを生成する際に参照ピクチャとしてＶＳＰピクチャを使用し得る。さらに、ビデオエンコーダは、参照インデックスおよび動きベクトルをシグナリングし得る。参照インデックスは、参照ピクチャリスト内でのＶＳＰピクチャの位置を示し得る。動きベクトルは、ＶＳＰピクチャ内の参照ブロックと現在のビデオユニットのサンプルブロックとの間の空間変位を示す。
【００２１】
[0037]ビデオエンコーダは、動きベクトル差分（ＭＶＤ：motion vector difference）を使用して動きベクトルをシグナリングし得る。ＭＶＤは、動きベクトル予測子と現在のビデオユニットの動きベクトルとの間の差を示し得る。動きベクトル予測子は、隣接ブロックの動きベクトルであり得る。
【００２２】
[0038]ビデオデコーダは、ビデオエンコーダと同じＶＳＰピクチャを生成し得、ビデオエンコーダと同じ参照ピクチャリストを生成し得る。さらに、ビデオデコーダは、参照インデックスに基づいて、現在のビデオユニットのための予測ブロックがＶＳＰピクチャに基づいて生成されるべきであると判断し得る。さらに、ビデオデコーダは、シグナリングされたＭＶＤに少なくとも部分的に基づいて、現在のビデオユニットの動きベクトルを判断し得る。ビデオデコーダは、次いで、動きベクトルに少なくとも部分的に基づいて、ＶＳＰピクチャ内の参照ブロックを判断し得る。次に、ビデオデコーダは、参照ブロックに少なくとも部分的に基づいて、現在のビデオユニットのための予測ブロックを判断し得る。ビデオデコーダは、現在のビデオユニットのための予測ブロックに少なくとも部分的に基づいて、現在のビデオユニットのサンプルブロックを再構成し得る。
【００２３】
[0039]上述のように、ビデオエンコーダが、現在のビデオユニットのための予測ブロックを生成するためにＶＳＰピクチャを使用するとき、ビデオエンコーダは、ビデオデコーダが現在のビデオユニットの動きベクトルを導出するＭＶＤをシグナリングする。ビデオエンコーダがＶＳＰピクチャを使用して現在のビデオユニットのための予測ブロックを生成するとき、動きベクトルは、ほとんど常に０に極めて近くなる。すなわち、ＶＳＰピクチャ中の参照ブロックは、現在のビデオユニットのサンプルブロックとほとんど常にコロケートされる。
【００２４】
[0040]ＶＳＰピクチャ中の参照ブロックが、現在のビデオユニットのサンプルブロックとほとんど常にコロケートされるので、現在のビデオユニットがＶＳＰピクチャに基づいて符号化された場合、ビデオデコーダは、ビットストリームから現在のビデオユニットのためのＭＶＤを復号することなしに、現在のビデオユニットの動きベクトルが０に等しくなると判断することが可能であり得る。したがって、現在のビデオユニットがＶＳＰピクチャに基づいて符号化されたとき、現在のビデオユニットのためのＭＶＤをシグナリングすることはビットの浪費であり得る。さらに、現在のビデオユニットがＶＳＰピクチャに基づいて符号化されたとき、現在のビデオユニットのためのＭＶＤをシグナリングすることは不要であるので、現在のビデオユニットがＶＳＰピクチャに基づいて符号化されたことを示すシンタックス要素のシグナリングによって、参照ピクチャリスト中にＶＳＰピクチャを含めることが不要になり得る。
【００２５】
[0041]本開示の技法によれば、ビデオエンコーダは、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリーム中で、現在のビデオユニットが現在のテクスチャビューコンポーネントのＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングし得る。いくつかの例では、現在のビデオユニットは、ＭＢ、ＭＢパーティション、またはサブＭＢパーティションであり得る。他の例では、現在のビデオユニットは予測ユニット（ＰＵ）であり得る。いくつかの例では、現在のビデオユニットがＶＳＰピクチャから予測されることをシンタックス要素が示すとき、ビデオエンコーダは、現在のビデオユニットについての動き情報をシグナリングしない。言い換えれば、ビデオエンコーダは、ビットストリームから、現在のビデオユニットについての動き情報を省略する。たとえば、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオエンコーダは、現在のビデオユニットのための参照インデックスまたはＭＶＤをシグナリングしない。逆に、現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビデオエンコーダは、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングし得る。したがって、ビデオエンコーダは、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、ビットストリーム中で現在のビデオユニットについての動き情報をシグナリングすべきかどうかを判断し得る。現在のビデオユニットがＶＳＰピクチャから予測されるときに現在のビデオユニットの動き情報をシグナリングしないことによって、ビデオエンコーダは、ビットストリーム中のビット数を低減させ得る。
【００２６】
[0042]同様に、本開示の技法によれば、ビデオデコーダは、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成し得る。さらに、ビデオデコーダは、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号し得る。現在のビデオユニットがＶＳＰピクチャから予測されないとき、ビデオデコーダは、ビットストリームから、現在のビデオユニットについての動き情報を復号し得、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用し得る。現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオデコーダは、現在のビデオユニットのサンプルブロックを再構成するためにＶＳＰピクチャを使用し得る。
【００２７】
[0043]図１は、本開示の技法を利用し得る例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指すことがある。
【００２８】
[0044]図１に示すように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は、符号化ビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２９】
[0045]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。
【００３０】
[0046]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化ビデオデータを受信し得る。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な１つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする１つまたは複数の通信媒体を備え得る。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス１４に送信し得る。１つまたは複数の通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、ワイヤレスおよび／またはワイヤード通信媒体を含み得る。１つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク（たとえば、インターネット）など、パケットベースネットワークの一部を形成し得る。１つまたは複数の通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
【００３１】
[0047]別の例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス１４は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
【００３２】
[0048]さらなる例では、チャネル１６は、ソースデバイス１２によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間ストレージデバイスを含み得る。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間ストレージデバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス１４に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブが含まれる。
【００３３】
[0049]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続は、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３４】
[0050]本開示の技法は、ワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
【００３５】
[0051]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ビデオソース１８は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／またはビデオデータを生成するためのコンピュータグラフィックスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
【００３６】
[0052]ビデオエンコーダ２０は、ビデオソース１８からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス１２は、出力インターフェース２２を介して宛先デバイス１４に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータはまた、復号および／または再生のための宛先デバイス１４による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
【００３７】
[0053]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は、受信機および／またはモデムを含む。入力インターフェース２８は、チャネル１６を介して符号化ビデオデータを受信し得る。ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。概して、ディスプレイデバイス３２は、復号ビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
【００３８】
[0054]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、それのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）およびマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張を含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＶｉｓｕａｌおよびＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）などのビデオ圧縮規格に従って動作する。ＭＶＣのドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｗｗｗ．ｉｔｕ．ｉｎｔ／ｒｅｃ／Ｔ−ＲＥＣ−Ｈ．２６４−２０１００３−Ｓ／ｅｎからダウンロードで利用可能である、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されており、その内容全体が参照により本明細書に組み込まれる。Ｈ．２６４／ＡＶＣのＭＶＣ拡張の別の最近のドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｗｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｖｔ−ｓｉｔｅ／２００９＿０１＿Ｇｅｎｅｖａ／ＪＶＴ−ＡＤ００７．ｚｉｐにおいてダウンロードで利用可能であり、その内容全体が参照により本明細書に組み込まれる。
【００３９】
[0055]さらに、「ＷＤ  ｏｆ  ＭＶＣ  ｅｘｔｅｎｓｉｏｎ  ｆｏｒ  ｉｎｃｌｕｓｉｏｎ  ｏｆ  ｄｅｐｔｈ  ｍａｐｓ」、ＭＰＥＧ文献ｗ１２３５１に記載されているＭＶＣ規格の拡張、すなわち、「ＭＶＣベースの３ＤＶ」（すなわち、ＭＶＣ互換３ＤＶ）があり、その内容全体が参照により本明細書に組み込まれる。いくつかの事例では、ＭＶＣベースの３ＤＶに準拠する任意の正当なビットストリームは、ＭＶＣプロファイル、たとえば、ステレオハイプロファイルに準拠するサブビットストリームを常に含み得る。
【００４０】
[0056]さらに、Ｈ．２６４／ＡＶＣへの３次元ビデオ（３ＤＶ）コーディング拡張、すなわち、ＡＶＣベースの３ＤＶを生成するための取り組みが進行中である。「３ＤＶ−ＡＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １」と呼ばれるＡＶＣベースの３ＤＶのワーキングドラフト（ＷＤ）は、以下、参照により本明細書に組み込まれる。ＡＶＣベースの３ＤＶの別のドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／２＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴ３Ｖ−Ｂ１００２−ｖ１．ｚｉｐにおいて利用可能である、Ｍａｎｎｕｋｓｅｌａら、「３ＤＶ−ＡＶＣ  Ｄｒａｆｔ  Ｔｅｘｔ  ４」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｔｅｎｓｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ、第２回会合、上海、中国、２０１２年１０月に記載されており、その内容全体が参照により本明細書に組み込まれる。ＡＶＣベースの３ＤＶのための参照ソフトウェアの説明は、Ｍｉｓｋａ  Ｍ．Ｈａｎｎｕｋｓｅｌａ、「Ｔｅｓｔ  Ｍｏｄｅｌ  ｆｏｒ  ＡＶＣ  ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ２０１１／Ｎ１２５５８、サンノゼ、米国、２０１２年２月として利用可能である。参照ソフトウェアは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｍｐｅｇ３ｄｖ．ｒｅｓｅａｒｃｈ．ｎｏｋｉａ．ｃｏｍ／ｓｖｎ／ｍｐｅｇ３ｄｖ／ｔｒｕｎｋ／から利用可能であり、その内容全体が参照により本明細書に組み込まれる。
【００４１】
[0057]他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、およびＩＴＵ−Ｔ  Ｈ．２６４、ＩＳＯ／ＩＥＣ  Ｖｉｓｕａｌに従って動作し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格を含む他のビデオ圧縮規格に従って動作し得る。
【００４２】
[0058]「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ４」と呼ばれる次回のＨＥＶＣ規格のドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／６＿Ｔｏｒｉｎｏ／ｗｇ１１／ＪＣＴＶＣ−Ｆ８０３−ｖ８．ｚｉｐから利用可能である、Ｂｒｏｓｓら、「ＷＤ４：  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ４  ｏｆ  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第６回会合、トリノ、イタリア、２０１１年７月に記載されており、その内容全体が参照により本明細書に組み込まれる。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ６」と呼ばれる次のＨＥＶＣ規格の別のドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／８＿Ｓａｎ％２０Ｊｏｓｅ／ｗｇ１１／ＪＣＴＶＣ−Ｈ１００３−ｖ２２．ｚｉｐから利用可能である、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ６」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第８回会合、サンノゼ、カリフォルニア州、２０１２年２月に記載されており、その内容全体が参照により本明細書に組み込まれる。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ９」と呼ばれる次回のＨＥＶＣ規格の別のドラフトは、２０１３年３月１３日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ８．ｚｉｐからダウンロード可能である、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１１回会合、上海、中国、２０１２年１０月に記載されており、その内容全体が参照により本明細書に組み込まれる。
【００４３】
[0059]さらに、ＨＥＶＣのための３ＤＶ拡張を生成するための取り組みが進行中である。ＨＥＶＣの３ＤＶ拡張は、ＨＥＶＣベースの３ＤＶまたはＨＥＶＣ−３ＤＶと呼ばれることがある。ＭＰＥＧにおけるＨＥＶＣベースの３ＤＶコーデックは、その内容全体が参照により本明細書に組み込まれる、Ｓｃｈｗａｒｚら、「Ｄｅｓｃｒｉｐｔｉｏｎ  ｏｆ  ３Ｄ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ  Ｐｒｏｐｏｓａｌ  ｂｙ  Ｆｒａｕｎｈｏｆｅｒ  ＨＨＩ  （ＨＥＶＣ  ｃｏｍｐａｔｉｂｌｅ；  ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ａ）」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ２０１１／ｍ２２５７０、ジュネーブ、スイス、２０１１年１１月（以下、「文献ｍ２２５７０」）、およびその内容全体が参照により本明細書に組み込まれる、Ｗｅｇｎｅｒら、「Ｐｏｚｎａｎ  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｔｅｃｈｎｏｌｏｇｙ  ｔｏｏｌｓ  ｆｏｒ  ３ＤＶ  ｃｏｄｉｎｇ  ｉｎｔｅｇｒａｔｅｄ  ｉｎｔｏ  ３Ｄ−ＨＴＭ」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ２０１１／ｍ２３７８３、サンノゼ、米国、２０１２年２月（以下、「文献ｍ２３７８３」）に提案された解決策に基づく。参照ソフトウェアの記述は、Ｓｃｈｗａｒｚら、「Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ  ｆｏｒ  ＨＥＶＣ  ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ」、ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ＭＰＥＧ２０１１／Ｎ１２５５９、サンノゼ、米国、２０１２年２月として利用可能であり、その内容全体が参照により本明細書に組み込まれる。参照ソフトウェアは、２０１３年３月１３日現在、ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔｒｕｎｋから利用可能である。本開示の技法についてＨ．２６４／ＡＶＣおよびＨＥＶＣに関して説明したが、そのような技法は、他のコーディング規格に適用され得、いかなる特定のコーディング規格または技法にも限定されない。
【００４４】
[0060]図１は一例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスがデータを符号化してメモリに記憶し得、および／またはビデオ復号デバイスがメモリからデータを取り出して復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、かつ／またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
【００４５】
[0061]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装される場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれも、１つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４６】
[0062]本開示では、概して、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、圧縮ビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
【００４７】
[0063]ビデオシーケンスは、一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと表される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャは、モノクロームであり得、ルーマサンプルのアレイのみを含み得る。
【００４８】
[0064]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、ピクチャのサンプルアレイを等しいサイズのブロックに分割し得る。たとえば、Ｈ．２６４／ＡＶＣでは、ビデオエンコーダ２０は、ピクチャをマクロブロック（ＭＢ）に分割し得る。ＭＢは、３つのサンプルアレイを有するピクチャのルーマサンプルの１６×１６ブロックおよびクロマサンプルの２つの対応するブロック、またはモノクロームピクチャもしくは３つの個別のカラープレーンを使用してコード化されるピクチャのサンプルの１６×１６ブロックである。Ｈ．２６４／ＡＶＣでは、スライスは、特定のスライスグループ内でのラスタ走査において連続的に順序付けられている整数個のＭＢまたはＭＢペアを含み得る。
【００４９】
[0065]ビデオエンコーダ２０は、ＭＢを１つまたは複数のＭＢパーティションのセットに区分し得る。ＭＢパーティションは、３つのサンプルアレイを有するピクチャについてのインター予測のためにＭＢを区分することによって得られたルーマサンプルの１つのブロックおよびクロマサンプルの２つの対応するブロック、またはモノクロームピクチャもしくは３つの個別のカラープレーンを使用してコード化されるピクチャのインター予測のためにＭＢを区分することによって得られたルーマサンプルの１つのブロックである。いくつかの事例では、ビデオエンコーダ２０は、ＭＢをサブＭＢに区分し得る。各サブＭＢは、ＭＢのサンプルの１／４であり、すなわち、１つのコーナーが、３つのサンプルアレイを有するピクチャのためのＭＢのコーナーに位置する８×８ルーマブロックおよび２つの対応するクロマブロック、または１つのコーナーが、モノクロームピクチャまたは３つの個別のカラープレーンを使用して符号化されるピクチャのためのＭＢのコーナーに位置する８×８ルーマブロックである。サブＭＢパーティションは、３つのサンプルアレイを有するピクチャについてのインター予測のためにサブＭＢを区分することによって得られたルーマサンプルの１つのブロックおよびクロマサンプルの２つの対応するブロック、またはモノクロームピクチャもしくは３つの個別のカラープレーンを使用してコード化されるピクチャのインター予測のためにサブＭＢを区分することによって得られたルーマサンプルの１つのブロックである。ＭＢまたはＭＢパーティションのルーマおよびクロマブロックは、一般に、ＭＢまたはＭＢパーティションのサンプルブロックと呼ばれることがある。
【００５０】
[0066]ＨＥＶＣでは、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ：coding tree unit）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの２つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは「最大コーディングユニット」（ＬＣＵ：largest coding unit）と呼ばれることもある。ＨＥＶＣでは、スライスは整数個のＣＴＵを備え得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなど、他の規格のＭＢに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ：coding unit）を含み得る。ＣＵは、ルーマサンプルアレイ、ＣｂサンプルアレイおよびＣｒサンプルアレイ、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を有するピクチャのルーマサンプルの１つのコーディングブロックおよびクロマサンプルの２つの対応するコーディングブロックであり得る。コーディングブロックは、サンプルのＮ×Ｎブロックである。
【００５１】
[0067]さらに、ＨＥＶＣでは、ＣＵは、１つまたは複数の予測ユニット（ＰＵ）を有し得る。ＰＵは、ピクチャのルーマサンプルの１つの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。予測ブロックは、同じ予測が適用されるサンプルの方形（たとえば、Ｍ×Ｎ）ブロックであり得る。ＣＵのＰＵの予測ブロックは、ＣＵのコーディングブロックのパーティションであり得る。ＰＵのルーマおよびクロマブロックは、一般に、ＰＵのサンプルブロックと呼ばれることがある。
【００５２】
[0068]ビデオエンコーダ２０が現在のビデオユニット（ＭＢ、ＭＢパーティション、ＰＵなど）を符号化するとき、ビデオエンコーダ２０は、現在のビデオユニットのための予測ルーマおよびクロマブロックを生成し得る。ビデオエンコーダ２０は、予測ブロックを生成するためにイントラ予測またはインター予測を実行し得る。ビデオエンコーダ２０がイントラ予測を実行するとき、ビデオエンコーダ２０は、現在のビデオユニットと同じピクチャ内のサンプルに少なくとも部分的に基づいて、現在のビデオユニットのための予測ルーマおよびクロマブロックを生成し得る。
【００５３】
[0069]ビデオエンコーダ２０が、現在のビデオユニットのための予測ルーマおよびクロマブロックを生成するためにインター予測を実行するとき、ビデオエンコーダ２０は、１つまたは複数の参照ピクチャ内の参照ブロックに基づいて予測ブロックを生成し得る。参照ピクチャは、現在のビデオユニットを含んでいるピクチャ以外のピクチャであり得る。より詳細には、ビデオエンコーダ２０は、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１は、参照ピクチャのリストである。ビデオエンコーダ２０が、現在のビデオユニットを符号化するために単方向インター予測を使用する場合、ビデオエンコーダ２０は、参照ブロックを含む参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれかの内の位置を示す参照インデックスをシグナリングし得る。ビデオエンコーダ２０はまた、現在のビデオユニットのルーマブロックと参照ブロックとの間の空間変位を示す動きベクトルをシグナリングし得る。ビデオエンコーダ２０が双方向インター予測を使用する場合、ビデオエンコーダ２０は、参照ブロックを含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１内の位置を示す２つの参照インデックスをシグナリングし得る。ビデオエンコーダ２０はまた、現在のビデオユニットのルーマブロックと参照ブロックとの間の空間変位を示す動きベクトルをシグナリングし得る。
【００５４】
[0070]Ｈ．２６４／ＡＶＣでは、各インターＭＢ（すなわち、インター予測を使用して符号化された各ＭＢ）は、１つの１６×１６ＭＢパーティション、２つの１６×８ＭＢパーティション、２つの８×１６ＭＢパーティション、または４つの８×８ＭＢパーティションの４つの異なる方法のうちの１つで区分され得る。１つのブロック中の異なるＭＢパーティションは、方向（ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）ごとに異なる参照インデックスを有し得る。ＭＢが４つの８×８ＭＢパーティションに区分されないとき、ＭＢはＭＢパーティション全体について各方向に１つの動きベクトルしか有しない。この場合、ＭＢパーティションは、１６×１６、８×１６または１６×８のサイズを有することができる。ＭＢが、４つの８×８ＭＢパーティションに区分されるとき、各８×８ＭＢパーティションはサブブロックにさらに区分され得、その各々が各方向に異なる動きベクトルを有することができる。８×８ＭＢパーティションを、１つの８×８サブブロック、２つの８×４サブブロック、２つの４×８サブブロック、および４つの４×４サブブロックのサブブロックに区分する４つの異なる方法がある。サブブロックの各々は、各方向に異なる動きベクトルを有し得る。
【００５５】
[0071]Ｈ．２６４／ＡＶＣでは、ビデオエンコーダ２０は、動きベクトル差分（ＭＶＤ）をシグナリングすることによって、現在のビデオユニット（たとえば、ＭＢまたはＭＢパーティション）の動きベクトルをシグナリングし得る。ＭＶＤは、動きベクトル予測子と現在のビデオユニットの動きベクトルとの間の差を示す。動きベクトル予測子は、隣接ブロックの動きベクトルであり得る。隣接ブロックは、現在のビデオユニットのサンプルブロックの上にまたはそれの左側にあり得る。動きベクトル予測子を生成する際に使用するために隣接ブロックが利用可能でない場合、動きベクトル予測子の水平および垂直成分は０に等しくなり得る。理由の中でも、隣接ブロックと現在のブロックとが異なるスライス中にある、隣接ブロックが現在のピクチャの境界内にないなどの場合、隣接ブロックは利用可能でないことがある。
【００５６】
[0072]さらに、Ｈ．２６４／ＡＶＣでは、ビデオエンコーダ２０は、ＭＢのためのシンタックス要素を含むＭＢレイヤシンタックス構造を生成し得る。ＭＢレイヤシンタックス構造は、ＭＢの区分モードに応じて、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造を含み得る。ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造は、ＭＢについての動き情報またはＭＢのＭＢパーティションについての動き情報を示すシンタックス要素を含み得る。たとえば、ＭＢ予測シンタックス構造およびサブＭＢ予測シンタックス構造は、参照インデックスおよびＭＶＤを指定するシンタックス要素を含み得る。
【００５７】
[0073]さらに、ＨＥＶＣでは、ビデオエンコーダ２０が、現在のＰＵのための予測ブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ２０は、マージモードまたは適応動きベクトル予測（ＡＭＶＰ：Adaptive Motion Vector Prediction）モードを使用して現在のＰＵについての動き情報をシグナリングし得る。マージモードまたはＡＭＶＰモードのいずれのモードでも、ビデオエンコーダ２０は、予測子候補のリスト（すなわち、候補リスト）を生成し得る。予測子候補は、現在のＰＵ以外のＰＵの動き情報を指定し得る。マージモードでは、ビデオエンコーダ２０は、選択された予測子候補の候補リスト内の位置をシグナリングし得る。ＰＵの動き情報は、選択された予測子候補によって指定された動き情報と同じであり得る。ＡＭＶＰモードでは、ビデオエンコーダ２０は、選択された予測子候補、参照インデックス、および現在のＰＵのためのＭＶＤの候補リスト内の位置をシグナリングし得る。現在のＰＵのためのＭＶＤは、選択された予測子候補の動きベクトルと現在のＰＵの動きベクトルとの間の差に基づき得る。
【００５８】
[0074]ビデオエンコーダ２０が、現在のビデオユニット（ＭＢ、ＭＢパーティション、ＰＵなど）に対応する予測ブロックを生成した後、ビデオエンコーダ２０は残差ブロックを生成し得る。残差ブロック中の各サンプルは、現在のビデオユニットのサンプルブロック中の対応するサンプルと予測ブロックとの間の差に基づき得る。ビデオエンコーダ２０は、１つまたは複数の変換係数ブロックを生成するために残差ブロックに変換を適用し得る。ビデオエンコーダ２０は、現在のビデオユニットを表すために使用されるビット数をさらに低減するために変換係数ブロックを量子化し得る。変換係数ブロックを量子化した後、ビデオエンコーダ２０は、変換係数ブロック内の変換係数を表すシンタックス要素と他のシンタックス要素とをエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、指数ゴロムコーディング、またはシンタックス要素に対する別のタイプのエントロピー符号化を実行し得る。ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。
【００５９】
[0075]シンタックス要素にＣＡＢＡＣ符号化を適用するために、ビデオエンコーダ２０は、「ビン」と呼ばれる一連の１つまたは複数のビットを形成するためにシンタックス要素を２値化し得る。さらに、ビデオエンコーダ２０はコーディングコンテキストを識別し得る。コーディングコンテキストは、特定の値を有するビンをコーディングする確率を識別し得る。たとえば、コーディングコンテキストは、０の値のビンをコーディングする０．７の確率と、１の値のビンをコーディングする０．３の確率とを示し得る。コーディングコンテキストを識別した後、ビデオエンコーダ２０は、間隔を下位サブ間隔と上位サブ間隔とに分割し得る。サブ間隔のうちの一方は値０に関連付けられ得、他方のサブ間隔は値１に関連付けられ得る。サブ間隔の幅は、関連する値について識別されたコーディングコンテキストによって示される確率に比例し得る。シンタックス要素のビンが下位サブ間隔に関連する値を有する場合、符号化された値は下位サブ間隔の下位境界に等しくなり得る。シンタックス要素の同じビンが上位サブ間隔に関連する値を有する場合、符号化された値は上位サブ間隔の下位境界に等しくなり得る。シンタックス要素の次のビンを符号化するために、ビデオエンコーダ２０は、符号化されたビットの値に関連するサブ間隔である間隔で、これらのステップを繰り返し得る。ビデオエンコーダ２０が次のビンについてこれらのステップを繰り返すとき、ビデオエンコーダ２０は、識別されたコーディングコンテキストおよび符号化されたビンの実際の値によって示された確率に基づく修正された確率を使用し得る。
【００６０】
[0076]ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。ビットストリームは、コード化ピクチャおよび関連するデータの表現を形成するビットのシーケンスを含み得る。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットを備え得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを含むシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、ＲＢＳＰはゼロビットを含む。
【００６１】
[0077]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）のためのＲＢＳＰをカプセル化し得、第２のタイプのＮＡＬユニットはコード化スライスのためのＲＢＳＰをカプセル化し得、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）のためのＲＢＳＰをカプセル化し得、その他もあり得る。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰではなく）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ：video coding layer）ＮＡＬユニットと呼ばれることがある。
【００６２】
[0078]ビデオデコーダ３０は、ビデオデータの符号化表現を含むビットストリームを受信し得る。ビデオデコーダ３０は、ビットストリームのシンタックス要素を復号するためにビットストリームをパースし得る。ビットストリームのシンタックス要素を復号することの一部として、ビデオデコーダ３０は、ビットストリームのシンタックス要素をエントロピー復号し得る。たとえば、ビデオデコーダ３０は、少なくともいくつかのシンタックス要素に対してＣＡＢＡＣ復号を実行し得る。ビデオデコーダ３０は、現在のビデオユニットのための予測ブロックを生成するために、現在のビデオユニット（ＭＢ、ＭＢパーティション、ＰＵなど）に関連するシンタックス要素に少なくとも部分的に基づいて、インター予測またはイントラ予測を実行し得る。さらに、ビデオデコーダ３０は、現在のビデオユニットに関連する変換係数ブロックの変換係数を逆量子化し得、変換係数ブロックに１つまたは複数の逆変換を適用して残差ブロックを生成し得る。ビデオデコーダ３０は、残差ブロックと予測ブロックとに少なくとも部分的に基づいて現在のビデオユニットブロックのためのサンプルブロックを再構成し得る。このようにして、ピクチャのブロックを再構成することによって、ビデオデコーダ３０はピクチャを再構成し得る。
【００６３】
[0079]ビデオデコーダ３０がシンタックス要素に対してＣＡＢＡＣ復号を実行するとき、ビデオデコーダ３０はコーディングコンテキストを識別し得る。ビデオデコーダ３０は、次いで、間隔を下位サブ間隔と上位サブ間隔とに分割し得る。サブ間隔のうちの一方は値０に関連付けられ得、他方のサブ間隔は値１に関連付けられ得る。サブ間隔の幅は、関連する値について識別されたコーディングコンテキストによって示される確率に比例し得る。符号化された値が下位サブ間隔内にある場合、ビデオデコーダ３０は、下位サブ間隔に関連する値を有するビンを復号し得る。符号化された値が上位サブ間隔内にある場合、ビデオデコーダ３０は、上位サブ間隔に関連する値を有するビンを復号し得る。シンタックス要素の次のビンを復号するために、ビデオデコーダ３０は、符号化された値を含んでいるサブ間隔である間隔で、これらのステップを繰り返し得る。ビデオデコーダ３０が次のビンについてこれらのステップを繰り返すとき、ビデオデコーダ３０は、識別されたコーディングコンテキストおよび復号されたビンによって示された確率に基づく修正された確率を使用し得る。ビデオデコーダ３０は、次いで、ビンを逆２値化してシンタックス要素を復元し得る。
【００６４】
[0080]上述のように、マルチビュービデオコーディング（ＭＶＣ）はＨ．２６４／ＡＶＣ規格の拡張である。Ｈ．２６４／ＡＶＣのＭＶＣ拡張では、異なる視点からの同じシーンの複数のビューがあり得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用される。したがって、ビデオデータは、時間とともに生じる一連のアクセスユニットとして概念化され得る。「ビューコンポーネント」は、単一のアクセスユニット中のビューのコード化表現であり得る。本開示では、「ビュー」は、同じビュー識別子に関連する一連のビューコンポーネントを指すことがある。
【００６５】
[0081]Ｈ．２６４／ＡＶＣのＭＶＣ拡張はビュー間予測をサポートする。ビュー間予測は、Ｈ．２６４／ＡＶＣにおいて使用されるインター予測と同様であり、同じシンタックス要素を使用し得る。ただし、ビデオコーダが現在のビデオユニット（ＭＢまたはＭＢパーティションなど）に対してビュー間予測を実行するとき、ビデオエンコーダ２０は、参照ピクチャとして、現在のビデオユニットと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。
【００６６】
[0082]ＭＶＣでは、ビデオデコーダ（たとえば、ビデオデコーダ３０）が、あるビュー中のピクチャを他のビュー中のピクチャと無関係に復号することができる場合、そのビューは「ベースビュー」と呼ばれることがある。非ベースビューのうちの１つの中のピクチャをコーディングするとき、ピクチャが、異なるビュー中にあるがビデオコーダが現在コーディング中のピクチャと同じ時間インスタンス（すなわち、アクセスユニット）内にある場合、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０など）は、参照ピクチャリストにピクチャを追加し得る。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にビュー間予測参照ピクチャを挿入し得る。
【００６７】
[0083]ＭＶＣでは、ビュー間予測は、視差動き補償によってサポートされ得る。視差動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャを参照ピクチャとして使用することが可能であり得る。２つ以上のビューのコーディングがＭＶＣによってサポートされ得る。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューを使用し得、ＭＶＣデコーダがそのようなマルチビュー表現を復号し得ることである。その結果、ＭＶＣをサポートするビデオデコーダは、３つ以上のビューをもつ３Ｄビデオコンテンツを処理し得る。
【００６８】
[0084]さらに、Ｈ．２６４／ＡＶＣの新生のＭＶＣベースの３ＤＶ拡張がある。ＭＶＣベースの３ＤＶは、ＭＶＣ互換性を維持しながら３Ｄ拡張を可能にするように設計されている。ＭＶＣベースの３ＤＶは、深度マップを提供する。したがって、ＭＶＣベースの３ＤＶは、「ＭＶＣプラス深度」、「ＭＶＣ＋Ｄ」、または「深度を含むＭＶＣ互換拡張」と呼ばれることもある。その内容全体が参照により本明細書に組み込まれる、Ｓｕｚｕｋｉら、「ＷＤ  ｏｆ  ＭＶＣ  ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ｉｎｃｌｕｓｉｏｎ  ｏｆ  ｄｅｐｔｈ  ｍａｐｓ」、ＩＳＯ／ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１／Ｎ１２３５１、２０１１年１２月は、ＭＶＣ互換３ＤＶのドラフトである。その内容全体が参照により本明細書に組み込まれる、Ｓｕｚｕｋｉら、「ＷＤ  ｏｆ  ＭＶＣ  ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  ｉｎｃｌｕｓｉｏｎ  ｏｆ  ｄｅｐｔｈ  ｍａｐｓ」、ＩＳＯ／ＩＥＣ／ＪＴＣ１／ＳＣ２９／ＷＧ１１／Ｎ１２５４４、２０１２年２月は、ＭＶＣ互換３ＤＶの後のドラフトである。
【００６９】
[0085]深度マップは、ピクセル（たとえば、サンプル）値が、対応する「テクスチャ」ピクチャ中に示されるオブジェクトの３次元深度を表すピクチャである。いくつかの例では、深度マップ中のより明るいピクセル値は、カメラにより近いオブジェクトに対応し得、深度マップ中のより暗いピクセル値は、カメラからより遠くのオブジェクトに対応し得る。「テクスチャ」ピクチャは、通常のＨ．２６４／ＡＶＣピクチャであり得る。
【００７０】
[0086]本開示では、ビューのテクスチャ部分は「テクスチャビュー」と呼ばれることがあり、ビューの深度部分は「深度ビュー」と呼ばれることがある。１つのアクセスユニット中のビューのテクスチャ部分、すなわち、１つのアクセスユニット中のテクスチャビューは、「テクスチャビューコンポーネント」と呼ばれることがある。１つのアクセスユニット中のビューの深度部分、すなわち１つのアクセスユニット中の深度ビューは、「深度ビューコンポーネント」と呼ばれることがある。したがって、「ビューコンポーネント」という用語は、１つのアクセスユニット中のビューを指すことがあり、同じアクセスユニットのテクスチャビューコンポーネントと深度ビューコンポーネントの両方を集合的に指すことがある。
【００７１】
[0087]上述のように、Ｈ．２６４／ＡＶＣの３ＤＶ拡張、すなわち、ＡＶＣベースの３ＤＶを生成するための取り組みが進行中である。ＭＶＣベースの３ＤＶと同様に、ＡＶＣベースの３ＤＶは、深度マップを提供する。ＡＶＣベースの３ＤＶでは、ビデオエンコーダ２０は、アクセスユニットの他のビューと同じ方法で深度マップを符号化し得る。ＭＶＣベースの３ＤＶとは対照的に、ＡＶＣベースの３ＤＶでは、テクスチャビューコンポーネントに基づいて深度ビューコンポーネントを符号化することが可能であり得る。これは、コーディング効率を高め得るが、複雑さを増大させ得る。ＡＶＣベースの３ＤＶは、ＭＶＣと互換性がないことがある。
【００７２】
[0088]ＡＶＣベースの３ＤＶでは、ビデオエンコーダ２０は、利用可能なテクスチャおよび深度ビューコンポーネントに基づいて合成テクスチャビューコンポーネントを生成し得る。すなわち、ループ内ビュー合成予測（ＶＳＰ）は、拡張テクスチャコーディングのためにＡＶＣベースの３ＤＶ（および他のビデオコーディング規格）においてサポートされる。合成テクスチャビューコンポーネントは、深度マップと１つまたは複数のテクスチャビューコンポーネントとに基づいて合成されたテクスチャビューコンポーネントであり得る。すなわち、現在のビューのコーディングのためにＶＳＰを使用可能にするために、同じアクセスユニットの以前にコーディングされたテクスチャおよび深度ビューコンポーネントがビュー合成のために使用され得る。
【００７３】
[0089]たとえば、特定のテクスチャビューコンポーネントは、左眼テクスチャビューコンポーネントであり得、ビデオエンコーダ２０は、３ＤＶ再生のための右眼テクスチャビューコンポーネントを生成し得る。いくつかの事例では、合成テクスチャビューコンポーネントは、アクセスユニット間予測またはビュー間予測のための参照ピクチャとして使用され得る。したがって、ＶＳＰから生じる合成ピクチャは、時間的およびビュー間参照フレームに続く初期参照ピクチャリスト（すなわち、ＲｅｆＰｉｃＬｉｓｔ  ０および／またはＲｅｆＰｉｃＬｉｓｔ  １）中に含まれ得る。参照ピクチャとして使用される合成テクスチャビューコンポーネントはビュー合成参照ピクチャ（ＶＳＲＰ：view synthesis reference picture）、ビュー合成予測（ＶＳＰ）参照ピクチャ、または単に、ＶＳＰピクチャと呼ばれることがある。
【００７４】
[0090]ＡＶＣベースの３ＤＶのためのいくつかテストモデルでは、ＶＳＰは、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１などの参照ピクチャリストに合成ピクチャを追加することによって実現される。この手法に関するいくつかの潜在的な問題がある。たとえば、ＶＳＰ参照ピクチャに対する動きベクトルは、一般に、極めて０に近くなる。すなわち、ＶＳＰピクチャ内の参照ブロックに対する動きベクトルはほとんど常に０の大きさを有する。しかしながら、そのようなテストモデルの手法は、動きベクトル差分についてのコンテキストの効率を低減し得る。たとえば、ＶＳＰブロックの動きベクトルは、一般に、０であるが、しかしながら、隣接ブロックが時間的ピクチャを用いて予測される場合、動きベクトル予測は、０に近くならないように導出され得、したがって、不要な動きベクトル差分をシグナリングする必要があり得るか、またはさもなければ、動きベクトル予測子は不十分である。
【００７５】
[0091]本開示のいくつか技法によれば、ビデオエンコーダ２０は、ビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングし得る。いくつかの例では、現在のビデオユニットは、ＭＢ、ＭＢパーティション、または別のタイプのユニットであり得る。Ｈ．２６４／ＡＶＣが使用される例では、ＭＢまたはＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示すために、ＶＳＰモードのシグナリングがＭＢまたはＭＢパーティションレベルで導入される。ビデオユニット（たとえば、ＭＢまたはＭＢパーティション）のＶＳＰモードは、ビデオユニットがＶＳＰピクチャから予測されるかどうかを示す。
【００７６】
[0092]いくつかの例では、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオエンコーダ２０は、現在のビデオユニットについての動き情報をシグナリングしない。Ｈ．２６４／ＡＶＣが使用される例では、現在のビデオユニットについての動き情報は、１つまたは複数の参照インデックスと１つまたは複数のＭＶＤとを含み得る。ＨＥＶＣが使用される例では、現在のビデオユニットについての動き情報は、１つまたは複数の参照インデックスと、１つまたは複数の動きベクトル候補インデックスと、１つまたは複数のＭＶＤと、予測方向インジケータとを含み得る。
【００７７】
[0093]さらに、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオエンコーダ２０は、現在のビデオユニットのサンプルブロックとコロケートされたＶＳＰピクチャのブロックに少なくとも部分的に基づいて、現在のビデオユニットのための予測ブロックを生成し得る。ビデオエンコーダ２０は、現在のビデオユニットのための残差ブロックを生成し得る。残差ブロックは、現在のビデオユニットのサンプルブロックと現在のビデオユニットのための予測ブロックとの間の差を示し得る。ビデオエンコーダ２０は、残差ブロックのサンプルを変換し、量子化し、エントロピー符号化し得る。
【００７８】
[0094]ビデオデコーダ３０は、ビットストリームから、シンタックス要素を復号し、シンタックス要素に少なくとも部分的に基づいて、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを判断し得る。現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオデコーダ３０は、現在のビデオユニットとコロケートされたＶＳＰピクチャのブロックに少なくとも部分的に基づいて、現在のビデオユニットのための予測ブロックを生成し得る。ビデオデコーダ３０は、ビットストリームから、現在のビデオユニットについての動き情報を復号することなしに、現在のビデオユニットのための予測ブロックを生成し得る。
【００７９】
[0095]したがって、本開示の技法によれば、予測ブロックがＶＳＰピクチャ中のコロケートブロックに一致するように、ビデオコーダは、現在のビデオユニット（たとえば、ＭＢまたはＭＢパーティション）のための予測ブロックを生成し得る。言い換えれば、現在のビデオユニットがＶＳＰピクチャから予測されるとき、ビデオコーダは、ＶＳＰピクチャから現在のビデオユニットのコロケートブロックをコピーする。
【００８０】
[0096]ビデオデコーダ３０は、現在のビデオユニットがＶＳＰピクチャから予測されるとき、現在のビデオユニットについての動き情報を復号することなしに現在のビデオユニットのための予測ブロックを生成することが可能であり得るので、参照ピクチャリスト中にＶＳＰピクチャを含めることは不要であり得る。したがって、本開示の技法によれば、参照ピクチャリストにＶＳＰピクチャを追加するのではなく、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０など）は参照ピクチャリストにＶＳＰピクチャを追加しない。
【００８１】
[0097]さらに、本開示の技法によれば、ビデオコーダは、隣接ブロック（たとえば、隣接ＭＢまたはＭＢパーティション）に関連する情報に少なくとも部分的に基づいて、現在のビデオユニット（たとえば、現在のＭＢまたはＭＢパーティション）の動き情報をエントロピーコーディングするためのコーディングコンテキストを選択し得る。隣接ブロック（たとえば、隣接ＭＢまたはＭＢパーティション）がＶＳＰピクチャから予測されるとき、ビデオコーダは、隣接ブロックに関連する情報が、現在のビデオユニットの動き情報をエントロピーコーディングするためのコーディングコンテキストを選択する際に使用するために利用不可能であると判断し得る。たとえば、特定のＭＢまたは特定のＭＢパーティションの動き情報をエントロピーコーディングするためのエントロピーコーディングコンテキストを構成するとき、ＶＳＰピクチャを使用するＭＢまたはＭＢパーティションは、エントロピーコーディングコンテキストの選択において使用するために利用不可能であると見なされる。ビデオコーダは、隣接ブロックに関連する情報がコーディングコンテキストを選択する際に使用するために利用不可能であると判断すると、ビデオコーダは、コーディングコンテキストを選択するために隣接ブロックに関連する情報を使用しない。したがって、ＶＳＰピクチャを使用するブロック（たとえば、ＭＢまたはＭＢパーティション）は、現在のビデオユニットの動きに関係するシンタックス要素についてのエントロピーコーディングコンテキストにまったく影響を及ぼし得ない。
【００８２】
[0098]上記のように、ビデオエンコーダ２０は、ＭＢ、ＭＢパーティション、サブＭＢパーティションなどのビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングし得る。たとえば、ビデオエンコーダ２０は、ＭＢがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を生成し得、ビデオエンコーダ２０は、ＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を生成し得、サブＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を生成し得る。本開示の技法によれば、ビデオコーダは、ＭＢ、ＭＢパーティション、およびサブＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をエントロピーコーディングするとき、同じまたは異なるコーディングコンテキストを使用し得る。たとえば、ＶＳＰモードを示す導入されたＭＢまたはＭＢパーティションレベルシンタックス要素は、エントロピーコーディングするために同じまたは異なるコンテキストを共有し得る。
【００８３】
[0099]ビデオデコーダ３０は、動きベクトル予測子およびＭＶＤに基づいて、現在のビデオユニットの動きベクトルを予測（すなわち、判断）し得る。Ｈ．２６４／ＡＶＣでは、動きベクトル予測子は、隣接ブロックが利用可能であるとき、隣接ブロック（たとえば、隣接ＭＢ、ＭＢパーティション、またはサブＭＢパーティション）の動きベクトルから導出され得る。本開示の技法によれば、ビデオコーダが現在のビデオユニットの動きベクトルを予測するとき、ＶＳＰピクチャから予測されるブロック（たとえば、ＭＢまたはＭＢパーティション）は利用不可能であると見なされ得る。
【００８４】
[0100]Ｈ．２６４／ＡＶＣおよびそれの拡張では、ビデオエンコーダ２０は、スライスのためのスライスヘッダシンタックス構造とスライスのためのスライスデータシンタックス構造とを生成し得る。上記のように、スライスは整数個のＭＢを含み得る。スライスのためのスライスデータシンタックス構造は、スライスのＭＢのためのＭＢレイヤシンタックス構造を含み得る。ＭＢのためのＭＢレイヤシンタックス構造は、ＭＢのためのシンタックス要素を含み得る。ＡＶＣベースの３ＤＶ試験モデル（３Ｄ−ＡＴＭ）のいくつかのバージョンでは、スライスのためのスライスデータシンタックス構造は、スライスのＭＢのためのｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素を含み得る。スライスがＰスライスまたはＳＰスライスであるとき、ＭＢのためのｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素は、ＭＢがＰ＿Ｓｋｉｐモードで符号化されるかどうかを示す。スライスがＢスライスであるとき、ＭＢのためのｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素は、ＭＢがＢ＿Ｓｋｉｐモードで符号化されるかどうかを示す。たとえば、ＭＢのためのｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素が１に等しくなり、スライスがＰまたはＳＰスライスである場合、ビデオデコーダ３０は、ＭＢのためのｍｂ＿ｔｙｐｅがＰ＿Ｓｋｉｐであると推論し得る（ＭＢタイプは、Ｐ  ＭＢタイプと総称される）。ｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素が１に等しくなり、スライスがＢスライスである場合、ビデオデコーダ３０は、ＭＢのためのｍｂ＿ｔｙｐｅがＢ＿Ｓｋｉｐであると推論し得る（ＭＢタイプは、Ｂ  ＭＢタイプと総称される）。この例では、ＭＢのためのｍｂ＿ｓｋｉｐ＿ｆｌａｇが０に等しくなる場合、ＭＢはスキップされない。
【００８５】
[0101]ＭＢがＰ＿Ｓｋｉｐモードで符号化されるとき、ビデオデコーダ３０は、ＭＢの予測ルーマおよびクロマブロックが参照ピクチャ中のコロケートＭＢのルーマおよびクロマブロックに一致するように、ＭＢのための予測ルーマおよびクロマブロックを導出し得る。したがって、ＭＢがＰ＿Ｓｋｉｐモードで符号化されるとき、ＭＢのためのＭＢレイヤシンタックス構造は、参照ピクチャの、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１内でのロケーションを識別する参照インデックスを含み得る。同様に、ＭＢがＢ＿Ｓｋｉｐモードで符号化されるとき、ビデオデコーダ３０は、２つの参照ピクチャのコロケートＭＢからＭＢの予測ルーマおよびクロマブロックを導出し得る。ＭＢがＢ＿Ｓｋｉｐモードで符号化されるとき、ＭＢのためのＭＢレイヤシンタックス構造は、参照ピクチャの、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１内でのロケーションを識別する参照インデックスを含み得る。ＭＢがＰ＿ＳｋｉｐモードまたはＢ＿Ｓｋｉｐモードで符号化されるとき、ＭＢのためのＭＢレイヤシンタックス構造は、動き情報、変換係数レベルなどを指定するシンタックス要素など、他のシンタックス要素を含む必要がない。
【００８６】
[0102]さらに、３Ｄ−ＡＴＭのいくつかバージョンでは、スライスのためのスライスデータシンタックス構造は、現在のＭＢがＶＳＰピクチャからスキップされるかどうかを示すＶＳＰスキップシンタックス要素を含み得る。言い換えれば、ＶＳＰスキップシンタックス要素は、現在のＭＢのための予測ルーマおよびクロマブロックがＶＳＰピクチャのコロケートルーマおよびクロマブロックに一致することを示し得る。現在のＭＢがＶＳＰピクチャからスキップされることをＶＳＰスキップシンタックス要素が示すとき、現在のＭＢは、ＶＳＰピクチャから常に単方向予測される。ＶＳＰスキップシンタックス要素とｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素とは、一緒にシグナリングされ得、現在のＭＢの上および左側のＭＢに基づくコンテキストに基づいてエントロピー符号化され得る。
【００８７】
[0103]ｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素とｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素とは、比較的複雑な方法でシグナリングされ得る。本開示では、この問題を、スキップモードシグナリング複雑さ問題と呼ぶことがある。さらに、上記で説明したいくつかの技法では、ビューコンポーネントまたはスライス全体について１つのＶＳＰピクチャしか利用可能でない。いくつかのそのような技法は、ＶＳＰピクチャからの単方向予測のみをサポートし得、複数のＶＳＰピクチャからの予測はサポートされない。本開示では、この問題を、単方向ＶＳＰスキップモード問題と呼ぶことがある。本開示の追加の技法はこれらの問題に対処し得る。これらの追加の技法は、完全な解決策のために協働することも協働しないこともある。
【００８８】
[0104]スキップモードシグナリング複雑さ問題に対処するための例示的な技法では、１つのＶＳＰピクチャしか利用可能でないとき、ｍｂ＿ｓｋｉｐフラグシンタックス要素とＶＳＰピクチャからスキップすることを示すフラグ（たとえば、ＶＳＰスキップシンタックス要素）とは組み合わされて単一のシンタックス要素になる。この組み合わせられた単一のシンタックス要素は、本明細書ではｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素と呼ばれることがある。さらに、現在のＭＢのためのｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素を予測するために、隣接ブロックのためのｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素の値のコンテキストが使用され得る。
【００８９】
[0105]単方向ＶＳＰスキップモード問題に対処するための第１の例示的な技法は、ＭＢのための少なくとも１つの予測子（すなわち、参照ピクチャ）がＶＳＰピクチャであり、予測方向ごとに１つのＶＳＰピクチャしか利用可能でないときに適用可能である。この例では、ＭＢパーティションの所与の予測方向がＶＳＰから予測されるのかどうかを示すために、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇシンタックス要素とｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇシンタックス要素とが両方の方向に延長される。上記のように、ＭＢ予測シンタックス構造のｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇシンタックス要素は、現在のＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示す。サブＭＢ予測シンタックス構造のｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇシンタックス要素は、現在のＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示す。
【００９０】
[0106]単方向ＶＳＰスキップモード問題に対処するための第２の例示的な技法は、ＭＢのための少なくとも１つの予測子（すなわち、参照ピクチャ）がＶＳＰピクチャであり、予測方向ごとに１つのＶＳＰピクチャしか利用可能でないときに適用可能である。この例では、ＶＳＰピクチャは、参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）の中に残る。ＭＢまたはサブＭＢの参照インデックス（たとえば、ｒｅｆ＿ｉｄｘシンタックス要素）がＶＳＰピクチャに対応するとき、双方向予測は自動的にＶＳＰピクチャからのものである。ただし、本開示の他の技法と同様に、そのようなｒｅｆ＿ｉｄｘ（ｒｅｆ＿ｉｄｘはＲｅｆＰｉｃＬｉｓｔＸに属すると仮定する）に対応する動きベクトルはシグナリングされず、ＭＢパーティションのＲｅｆＰｉｃＬｉｓｔＸに関連する動き情報は利用不可能であると見なされる。これは、単方向予測にも適用され得る。
【００９１】
[0107]単方向ＶＳＰスキップモード問題に対処する別の例示的な技法では、複数のＶＳＰピクチャがサポートされる。この例では、ＶＳＰが使用されることを任意のフラグが示すとき、さらなるインデックスがシグナリングされ得る。代替的に、すべての可能なＶＳＰピクチャと通常のスキップピクチャとを考慮に入れ、１つのシンタックス要素を用いてそれらを一緒にシグナリングする直接指示が与えられる。
【００９２】
[0108]本開示の技法について、ほとんどＨ．２６４／ＡＶＣに関して上記で説明したが、本開示の技法はまた、ＨＥＶＣおよび詳細にはＨＥＶＣの３ＤＶ拡張に適用可能であり得る。文献ｍ２３７８３で提案された、ＨＥＶＣの３ＤＶ拡張では、合成画像（たとえば、ＶＳＰピクチャ）のいくつか領域は、他のビュー（すなわち、ＶＳＰピクチャが合成されたビュー）において遮られていたので、それらの領域は利用可能でない。ＶＳＰピクチャのそのような領域は他のビューでは隠されていた（すなわち、遮られていた）ので、それらの領域は、非遮断領域（disoccluded region）と呼ばれることがある。非遮断領域は、コード化および復号プロセスを制御する２値マップ、すなわち、利用可能性マップ上で識別され、マーキングされる。ビデオコーダとビデオデコーダはどちらも、所与のＣＵがコーディングされたかどうかを判断するために利用可能性マップを使用し得る。しかしながら、観測値は、そのような技法のコーディング性能が最適ではないことを示している。したがって、主に以下の問題により、ＨＥＶＣベースの３ＤＶにおける効率的なＶＳＰ機構が欠如している。第１に、モードとしてのビュー合成は一部領域に対してしか有用でないことがある。第２に、ビュー合成モードは、ＨＥＶＣ設計全体にうまく統合されない。
【００９３】
[0109]本開示の技法は、ＨＥＶＣベースの３ＤＶにおけるＶＰＳサポートのための解決策を与え得る。本開示の１つまたは複数の技法によれば、ビデオエンコーダ２０は、現在のＣＵがＶＳＰを用いてコーディングされる（ＶＳＰピクチャから予測される）かどうかを示すためにＣＵレベルにおいてフラグをシグナリングし得る。現在のＣＵがＶＳＰを用いてコーディングされる（すなわち、現在のＣＵがＶＳＰ  ＣＵである）とき、ＶＳＰ  ＣＵの残差は、他のモードと同じ方法でシグナリングされ得る。
【００９４】
[0110]さらに、いくつかの例では、ビデオエンコーダ２０は、ＰＵごとに、ＰＵがＶＳＰから予測されるかどうかを示すシンタックス要素（たとえば、フラグ）をシグナリングし得る。そのような例では、ビデオコーダは、ＶＳＰを用いてＣＵ中の１つのＰＵを予測（すなわち、そのＰＵのための予測ブロックを生成）し得、一方、ビデオコーダは、通常のインターまたはイントラなどの他のモードを用いてそのＣＵの別のＰＵを予測し得る。さらに、そのような例では、ビデオコーダが、ＰＵの動き情報をエントロピーコーディングするためのコーディングコンテキストを構成しているとき、ビデオコーダは、ＣＵレベルフラグ（すなわち、ＣＵのすべてのＰＵがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素）およびＰＵレベルフラグ（すなわち、単一のＰＵがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素）のために同じまたは異なるコンテキストモデルを使用し得る。
【００９５】
[0111]ビデオコーダが、ＶＳＰピクチャからＣＵまたはＰＵのための予測ブロックを生成するとき、ビデオコーダは、ＶＳＰピクチャからＣＵまたはＰＵのコロケートブロックをコピーし得る。言い換えれば、ＣＵまたはＰＵのための予測ブロックは、ＶＳＰピクチャのコロケートブロックに一致し得る。
【００９６】
[0112]上記で説明したように、ビデオエンコーダ２０は、マージモードまたはＡＭＶＰモードを使用して、現在のＰＵの動き情報をシグナリングし得る。マージモードまたはＡＭＶＰモードのいずれのモードでも、ビデオエンコーダ２０は、予測子候補のリスト（すなわち、候補リスト）を生成し得る。予測子候補は、現在のＰＵ以外のＰＵの動き情報を指定し得る。他のＰＵのうちの１つが利用可能でないとき、ビデオエンコーダ２０は、他のＰＵの動き情報を指定する予測子候補を含まない。本開示の技法によれば、ビデオコーダが、動きベクトル予測中に利用可能性について隣接ＰＵ／ＣＵを検査するとき、ビデオコーダは、ＶＳＰピクチャから予測されたＰＵ／ＣＵ（すなわち、ＶＳＰ  ＰＵ／ＣＵ）を利用不可能であると見なし得る。
【００９７】
[0113]図２は、本開示の技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。図２は、説明のために提供されるものであり、本開示で広く例示し説明する技法を限定するものと見なされるべきではない。説明のために、本開示では、主に、Ｈ．２６４／ＡＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。しかしながら、本開示の技法は、ＨＥＶＣなど、他のコーディング規格または方法にも適用可能であり得る。
【００９８】
[0114]図２の例では、ビデオエンコーダ２０は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１４と、復号ピクチャバッファ１１６と、エントロピー符号化ユニット１１８とを含む。予測処理ユニット１００は、インター予測処理ユニット１２０と、イントラ予測処理ユニット１２６とを含む。インター予測処理ユニット１２０は、動き推定ユニット１２２と、動き補償ユニット１２４とを含む。他の例では、ビデオエンコーダ２０は、より多いか、より少ないか、または異なる機能構成要素を含み得る。
【００９９】
[0115]ビデオエンコーダ２０は、ビデオデータを受信する。ビデオデータを符号化するために、ビデオエンコーダ２０は、ビデオデータの各ピクチャの各ＭＢを符号化し得る。ＭＢを符号化するために、予測処理ユニット１００は、そのＭＢのための区分モードを選択し得る。ビデオエンコーダ２０は、ＭＢのためのＭＢレイヤシンタックス構造中のｍｂ＿ｔｙｐｅシンタックス要素を使用してＭＢのための区分モードをシグナリングし得る。ＭＢのための区分モードは、ＭＢのルーマおよびクロマブロックがＭＢのＭＢパーティションのルーマおよびクロマブロックにどのように区分されるかを示し得る。
【０１００】
[0116]スライスは整数個のＭＢを含み得る。さらに、スライスは、Ｉスライス、Ｐスライス、ＳＰスライス、ＳＩスライス、またはＢスライスであり得る。ＭＢがＩスライスである場合、ＭＢのすべてのＭＢパーティションがイントラ予測される。したがって、ＭＢがＩスライス中にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＭＢに対してインター予測を実行しない。ＳＰスライスは、各ブロックのサンプル値を予測するために多くて１つの動きベクトルと参照インデックスとを使用する予測サンプルの量子化を用いるイントラ予測またはインター予測を使用してコーディングされ得るスライスである。ＳＰスライスは、その復号サンプルが、別のＳＰスライスまたはＳＩスライスと同等に構築され得るようにコーディングされ得る。ＳＩスライスは、イントラ予測のみを使用し、予測サンプルの量子化を使用してコーディングされるスライスである。ＳＩスライスは、その復号サンプルが、ＳＰスライスと同等に構築され得るようにコーディングされ得る。
【０１０１】
[0117]インター予測処理ユニット１２０は、Ｐスライス、ＳＰスライス、またはＢスライスの各々のコーディングの始めに参照ピクチャリスト構築プロセスを実行し得る。インター予測処理ユニット１２０がＰスライスまたはＳＰスライスをコーディングしている場合、インター予測処理ユニット１２０は、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）を生成し得る。インター予測処理ユニット１２０がＢスライスをコーディングしている場合、インター予測処理ユニット１２０は、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）を生成し、第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）をも生成し得る。
【０１０２】
[0118]ビデオエンコーダ２０が、Ｐスライス中の現在のビデオユニット（たとえば、ＭＢまたはＭＢパーティション）をコーディングしている場合、動き推定ユニット１２２は、現在のビデオユニットのための参照ブロックを求めて参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）中の参照ピクチャを探索し得る。ビデオエンコーダ２０がＭＶＣ互換３ＤＶまたはＡＶＣ互換３ＤＶを使用する例では、参照ピクチャリストは、ビュー間参照ピクチャを含み得る。ビデオエンコーダ２０がＡＶＣ互換３ＤＶを使用する例では、参照ピクチャリスト中のビュー間参照ピクチャは、深度マップに基づいて合成された参照ピクチャを含み得る。現在のビデオユニットの参照ブロックは、現在のビデオユニットのルーマブロックおよびクロマブロックに最もぴったり対応する、ルーマサンプルの１つのブロックおよびクロマサンプルの２つの対応するブロックであり得る。
【０１０３】
[0119]動き推定ユニット１２２は、Ｐスライス中に現在のビデオユニットの参照ブロックを含んでいるＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを示す参照インデックスと、現在のビデオユニットのルーマサンプルブロックと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。現在のビデオユニットの動き情報は、現在のビデオユニットの参照インデックスと現在のビデオユニットの動きベクトルとを含み得る。動き補償ユニット１２４は、現在のビデオユニットの動き情報によって示される参照ブロックに基づいて現在のビデオユニットのための予測ブロックを生成し得る。
【０１０４】
[0120]現在のビデオユニットがＢスライス中にある場合、動き推定ユニット１２２は、現在のビデオユニットについて単方向インター予測または双方向インター予測を実行し得る。現在のビデオユニットについて単方向インター予測を実行するために、動き推定ユニット１２２は、現在のビデオユニットのための参照ブロックを求めてＲｅｆＰｉｃＬｉｓｔ０の参照ピクチャまたは第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）を探索し得る。ビデオエンコーダ２０がＭＶＣまたは３ＤＶを使用する例では、ＲｅｆＰｉｃＬｉｓｔ０および／またはＲｅｆＰｉｃＬｉｓｔ１は、ビュー間参照ピクチャを含み得る。  動き推定ユニット１２２は、参照ブロックを含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中の位置を示す参照インデックスと、現在のビデオユニットのサンプルブロックと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２はまた、参照ピクチャがＲｅｆＰｉｃＬｉｓｔ０中にあるのかＲｅｆＰｉｃＬｉｓｔ１中にあるのかを示す予測方向インジケータを生成し得る。
【０１０５】
[0121]現在のビデオユニットについて双方向インター予測を実行するために、動き推定ユニット１２２は、現在のビデオユニットのための参照ブロックを求めてＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャを探索し得、また、現在のビデオユニットのための別の参照ブロックを求めてＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、参照ブロックを含んでいる参照ピクチャのＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の位置を示すピクチャインデックスを生成し得る。さらに、動き推定ユニット１２２は、参照ブロックと現在のビデオユニットのルーマブロックとの間の空間変位を示す動きベクトルを判断し得る。現在のビデオユニットの動き情報は、参照インデックスと現在のビデオユニットの動きベクトルとを含み得る。動き補償ユニット１２４は、現在のビデオユニットの動き情報によって示される参照ブロックに基づいて現在のビデオユニットのための予測ブロックを生成し得る。
【０１０６】
[0122]イントラ予測処理ユニット１２６は、現在のビデオユニットに対してイントラ予測を実行することによって現在のビデオユニットについての予測データを生成し得る。現在のビデオユニットについての予測データは、現在のビデオユニットのための予測ブロックと様々なシンタックス要素とを含み得る。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のビデオユニットに対してイントラ予測を実行し得る。
【０１０７】
[0123]予測処理ユニット１００は、現在のビデオユニットについてインター予測処理ユニット１２０によって生成された予測データ、または現在のビデオユニットについてイントラ予測処理ユニット１２６によって生成された予測データの中から、現在のビデオユニットについての予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、現在のビデオユニットについての予測データを選択する。
【０１０８】
[0124]残差生成ユニット１０２は、現在のビデオユニットのサンプルブロックの対応するサンプルから現在のビデオユニットのための予測ブロック中のサンプルを減算することによって、残差ブロックを生成し得る。変換処理ユニット１０４は、残差ブロックに１つまたは複数の変換を適用することによって残差ブロックごとに変換係数ブロックを生成し得る。変換処理ユニット１０４は、残差ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、残差ブロックに、離散コサイン変換（ＤＣＴ：discrete cosine transform）、方向性変換、整数変換、ウェーブレット変換、または概念的に同様の変換を適用し得る。
【０１０９】
[0125]量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連するビット深度を低減し得る。たとえば、ｎビットの変換係数は、量子化中にｍビットの変換係数に切り捨てられ得、ここで、ｎはｍよりも大きい。量子化ユニット１０６は、量子化パラメータ（ＱＰ：quantization parameter）値に基づいて変換係数ブロックを量子化し得る。ビデオエンコーダ２０は、ＱＰ値を調整することによって、変換係数ブロックに適用される量子化の程度を調整し得る。
【０１１０】
[0126]逆量子化ユニット１０８および逆変換処理ユニット１１０は、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用して、変換係数ブロックから残差ブロックを再構成し得る。再構成ユニット１１２は、再構成された残差ブロック中のサンプルを、予測処理ユニット１００によって生成された１つまたは複数の予測ブロックからの対応するサンプルに加算して、再構成されたブロックを生成し得る。フィルタユニット１１４は、再構成されたブロック中のブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。復号ピクチャバッファ１１６は、フィルタユニット１１４が、再構成されたブロックに対して１つまたは複数のデブロッキング動作を実行した後に、再構成されたブロックを記憶し得る。動き推定ユニット１２２および動き補償ユニット１２４は、再構成されたブロックを含んでいる参照ピクチャを使用して、後続のピクチャのビデオユニットに対してインター予測を実行し得る。さらに、イントラ予測処理ユニット１２６は、復号ピクチャバッファ１１６中の再構成されたブロックを使用してイントラ予測を実行し得る。
【０１１１】
[0127]エントロピー符号化ユニット１１８は、ビデオエンコーダ２０の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット１１８は、量子化ユニット１０６から変換係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１８は、データに対して１つまたは複数のエントロピー符号化演算を実行してエントロピー符号化データを生成し得る。たとえば、ビデオエンコーダ２０は、ＣＡＶＬＣ演算、ＣＡＢＡＣ演算、変数−変数（Ｖ２Ｖ：variable-to-variable）レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング演算、指数ゴロムコーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。
【０１１２】
[0128]図３は、本開示の技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図３は、説明のために提供されるものであり、本開示において広く例示し説明する技法を限定するものではない。説明のために、本開示では、Ｈ．２６４／ＡＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。ただし、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
【０１１３】
[0129]図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、再構成ユニット１５８と、フィルタユニット１６０と、復号ピクチャバッファ１６２とを含む。予測処理ユニット１５２は、動き補償ユニット１６４と、イントラ予測処理ユニット１６６とを含む。他の例では、ビデオデコーダ３０は、より多いか、より少ないか、または異なる機能構成要素を含み得る。
【０１１４】
[0130]ビデオデコーダ３０はビットストリームを受信し得る。エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を復号するためにビットストリームをパースし得る。ビットストリームをパースすることの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、再構成ユニット１５８、およびフィルタユニット１６０は、ビットストリームから復号されたシンタックス要素に基づいて復号ビデオデータを生成し得る（すなわち、ビデオデータを再構成し得る）。ビットストリームから復号されたシンタックス要素は、変換係数ブロックを表すシンタックス要素を含み得る。
【０１１５】
[0131]逆量子化ユニット１５４は、変換係数ブロックを逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、量子化の程度を判断し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を判断するために、ＱＰ値を使用し得る。逆量子化ユニット１５４が変換係数ブロックを逆量子化した後に、逆変換処理ユニット１５６は、残差ブロックを生成するために変換係数ブロックに１つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ）、逆回転変換、逆方向性変換、または別の逆変換を変換係数ブロックに適用し得る。
【０１１６】
[0132]現在のビデオユニットがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット１６６は、現在のビデオユニットのための予測ブロックを生成するためにイントラ予測を実行し得る。たとえば、イントラ予測処理ユニット１６６は、ビットストリーム中のシンタックス要素に基づいて、現在のビデオユニットのためのイントラ予測モードを判断し得る。イントラ予測処理ユニット１６６は、イントラ予測モードを使用して、空間的に隣接するブロックに基づいて現在のビデオユニットのための予測ブロックを生成し得る。
【０１１７】
[0133]動き補償ユニット１６４は、ビットストリームから復号されたシンタックス要素に基づいて、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）および第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。ビットストリームがＭＶＣ互換３ＤＶまたはＡＶＣベースの３ＤＶを使用して符号化される例では、ＲｅｆＰｉｃＬｉｓｔ０および／またはＲｅｆＰｉｃＬｉｓｔ１は、ビュー間参照ピクチャを含み得る。ビットストリームがＡＶＣベースの３ＤＶを使用して符号化される例では、ＲｅｆＰｉｃＬｉｓｔ０および／またはＲｅｆＰｉｃＬｉｓｔ１中のビュー間参照ピクチャは、深度マップに基づいて合成された参照ピクチャを含み得る。さらに、現在のビデオユニットがインター予測を使用して符号化される場合、エントロピー復号ユニット１５０は、現在のビデオユニットについての動き情報を復号し得る。動き補償ユニット１６４は、現在のビデオユニットの動き情報に基づいて、現在のビデオユニットのための１つまたは複数の参照ブロックを判断し得る。動き補償ユニット１６４は、現在のビデオユニットのための１つまたは複数の参照ブロックに基づいて、現在のビデオユニットのための予測ブロックを生成し得る。
【０１１８】
[0134]再構成ユニット１５８は、現在のビデオユニットのための残差ブロックと現在のビデオユニットのための予測ブロックとに基づいて現在のビデオユニットのサンプルブロックを再構成し得る。特に、再構成ユニット１５８は、現在のビデオユニットのサンプルブロックを再構成するために、予測ブロックの対応するサンプルに残差ブロックのサンプル（たとえば、ルーマ成分またはクロマ成分）を加算し得る。
【０１１９】
[0135]フィルタユニット１６０は、現在のビデオユニットのサンプルブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。ビデオエンコーダ２０のフィルタユニット１１４は、フィルタユニット１６０のデブロッキング動作と同様のデブロッキング動作を実行し得、したがって、簡潔のために、本開示では、フィルタユニット１６０に関するデブロッキング動作についてのみ説明する。フィルタユニット１６０がＨ．２６４／ＡＶＣでデブロッキング動作を実行するとき、フィルタユニット１６０は、ブロックエッジのためのフィルタ処理プロセスを実行し得る。フィルタユニット１６０は、４×４ブロック水平または垂直エッジにわたる８つのサンプルのセットにフィルタ処理プロセスを適用し得る。これらのサンプルは、「入力サンプル」と呼ばれることがあり、ｐiおよびｑiとして示されることがあり、ここで、ｉ＝０．．３であり、エッジがｐ0とｑ0との間にある。フィルタユニット１６０がサンプルのセットにフィルタ処理プロセスを適用するとき、フィルタユニット１６０は、境界フィルタ処理強度値（ｂＳ）を判断し得る。さらに、フィルタユニット１６０は、ブロックのための量子化パラメータ（ｑＰp、ｑＰq）を判断し得る。フィルタユニット１６０は、次いで、サンプル値ｂＳ、フィルタオフセットｑＰpおよびｑＰqに少なくとも部分的に基づいてしきい値導出プロセスを実行し得る。しきい値導出プロセスは、入力サンプルがフィルタ処理されるかどうかを示す値を戻し得る。しきい値導出プロセスはまた、値（ｉｎｄｅｘＡ）としきい値変数αおよびβの値を戻し得る。フィルタユニット１６０は、次いで、ｂＳ、α、βおよびインデックスＡに少なくとも部分的に基づいて入力サンプルに対するフィルタ処理の動作を実行し得る。
【０１２０】
[0136]上述のように、フィルタユニット１６０は、境界フィルタ処理強度値（ｂＳ）を判断し得る。フィルタユニット１６０は、様々な異なるタイプの情報に基づいてｂＳを判断し得る。たとえば、フィルタユニット１６０は、ブロックの予測（たとえば、インターまたはイントラ）モード、ブロックの参照インデックス、ブロックが単方向にインター予測されるのかまたは双方向にインター予測されるのか、ブロックの動きベクトルなどに少なくとも部分的に基づいてｂＳを判断し得る。
【０１２１】
[0137]ビデオデコーダ３０は、復号ピクチャバッファ１６２に再構成されたブロックを記憶し得る。復号ピクチャバッファ１６２は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示のために参照ピクチャを与え得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６２中の再構成されたブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実行し得る。
【０１２２】
[0138]上記で説明したように、ビットストリームは、一連のＮＡＬユニットを備え得る。ＮＡＬユニットは、ビデオデータのピクチャのコード化スライスをカプセル化するコード化スライスＮＡＬユニットを含み得る。各コード化スライスは、スライスヘッダシンタックス構造とスライスデータシンタックス構造とを含む。本開示の技法の第１の例示的な実装形態によれば、スライスヘッダシンタックス構造は、以下の表１の例示的なシンタックスに準拠し得る。
【表１】
0006479651.tif 000002
【０１２３】
[0139]上の表１および本開示の他のシンタックス表では、型記述子ｕｅ（ｖ）をもつシンタックス要素は、左ビットが先頭の０次指数ゴロム（Ｅｘｐ−Ｇｏｌｏｍｂ）コーディングを使用して符号化される可変長符号なし整数であり得る。表１および以下の表の例では、形式ｕ（ｎ）の記述子を有するシンタックス要素は、長さｎの符号なし値であり、ただし、ｎは非負整数である。
【０１２４】
[0140]表１のｓｅｑ＿ｖｓｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇ変数は、ＶＳＰがコード化ビデオシーケンスに対して許可されるかどうかを示す。ＶＳＰがスライスを含むコード化ビデオシーケンスに対して許可されることをｓｅｑ＿ｖｓｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇが示す場合、そのスライスのためのスライスヘッダシンタックス構造は、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇシンタックス要素を含み得る。ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇシンタックス要素は、ＶＳＰがスライスに対して許可されるかどうかを示す。ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが存在しないとき、ビデオデコーダ３０は、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが０に等しくなると推論（すなわち、自動的に判断）し得、ＶＳＰがスライスに対して許可されないことを意味する。
【０１２５】
[0141]スライスヘッダシンタックス構造を含むＮＡＬユニットはまた、スライスデータシンタックス構造を含み得る。スライスヘッダシンタックス構造とスライスデータシンタックス構造とが同じＮＡＬユニットによってカプセル化された場合、スライスヘッダシンタックス構造はスライスデータシンタックス構造に対応し、その逆も同様である。スライスデータシンタックス構造は、スライスのＭＢのためのＭＢレイヤシンタックス構造を含み得る。以下の表２は、本開示の技法の第１の例示的な実装形態による、スライスデータシンタックス構造についての例示的なシンタックスである。
【表２】
0006479651.tif 000003
【０１２６】
[0142]表２の例示的なシンタックスでは、スライスデータシンタックス構造は、ｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素を含み得る。ｍｂ＿ｓｋｉｐ＿ｆｌａｇシンタックス要素は、ＭＢがスキップモードを使用して符号化されるかどうかを示す。ＭＢ全体がＶＳＰピクチャから予測され得るか、または通常のスキップモードが使用され得る。言い換えれば、ＭＢのための予測ブロックは、ＶＳＰピクチャまたは別のピクチャから生成され得る。たとえば、１に等しいｍｂ＿ｓｋｉｐ＿ｆｌａｇは、ＭＢを符号化するためにスキップモードが使用されることを示し得る。この例では、０に等しいｍｂ＿ｓｋｉｐ＿ｆｌａｇは、ＭＢを符号化するためにスキップモードが使用されないことを示し得る。
【０１２７】
[0143]さらに、表２の例示的なシンタックスでは、ＶＳＰがスライスに対して許可されることを対応するスライスヘッダシンタックス構造のｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが示し、ＭＢがスキップモードを使用して符号化され、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中にＶＳＰピクチャがあるとき、スライスデータシンタックス構造はＭＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇを含み得る。表２では、変数ＶｓｐＲｅｆＥｘｉｓｔは、ＶＳＰピクチャがＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中にあるかどうかを示す。いくつかの例では、ＶｓｐＲｅｆＥｘｉｓｔ条件は省略される。ＭＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、ＭＢ全体がＶＳＰピクチャから予測されるかどうかを示す。たとえば、１に等しいｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、スキップモードが使用されるとき、ＭＢ全体がＶＳＰピクチャから予測されることを示し得る。この例では、０に等しいｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、通常のスキップモードを示し得る。ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇがスライスデータシンタックス構造中に存在しないとき、ビデオデコーダ３０は、ＭＢが通常のスキップモードを使用して符号化されると推論し得る（たとえば、ビデオデコーダ３０は、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなると推論し得る）。
【０１２８】
[0144]上記の表２に示すように、スライスデータは、１つまたは複数のＭＢレイヤシンタックス構造を含み得る。ＭＢレイヤシンタックス構造は符号化されたＭＢを含み得る。以下の表３は、本開示の技法の第１の例示的な実装形態による、ＭＢレイヤシンタックス構造についての例示的なシンタックスである。
【表３】
0006479651.tif 000004
【０１２９】
[0145]表３の例示的なシンタックスでは、ＶＳＰがＭＢを含んでいるスライス中で可能であり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中にＶＳＰピクチャがあるとき、ＭＢのためのＭＢレイヤシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素を含み得る。言い換えれば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくなるとき、ＭＢレイヤシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇを含み得る。いくつかの例では、ＶｓｐＲｅｆＥｘｉｓｔ条件は省略される。ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素は、ＭＢ全体がＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｍｂ＿ｆｌａｇは、ＭＢ全体がＶＳＰピクチャから予測されることを示し得る。この例では、０に等しいｖｓｐ＿ｍｂ＿ｆｌａｇは、ＭＢ全体が他のモードによって予測され得ることを示す。
【０１３０】
[0146]ＭＢ全体がＶＳＰピクチャから予測されるとき（たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくなるとき）、ｍｂ＿ｔｙｐｅシンタックス要素はＭＢレイヤシンタックス構造中でシグナリングされない。ｍｂ＿ｔｙｐｅシンタックス要素はＭＢのタイプを示す。さらに、ｖｓｐ＿ｍｂ＿ｆｌａｇが存在しないとき、ビデオデコーダ３０は、ｖｓｐ＿ｍｂ＿ｆｌａｇが、ＭＢ全体が他のモードによって予測され得ることを示すと推論し得る（たとえば、ビデオデコーダ３０は、ｖｓｐ＿ｍｂ＿ｆｌａｇが０に等しくなると推論し得る）。
【０１３１】
[0147]さらに、表３の例は、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇ変数を含む。現在のＭＢのＭＢパーティションの数が４よりも小さい場合、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇは、Ｈ．２６４／ＡＶＣの場合のように真である。しかしながら、現在のＭＢのＭＢパーティションの数が４に等しくなる場合（すなわち、ＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）＝４である場合）、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇは、０に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇを用いて８×８ＭＢパーティションのみを検査することによって導出され得る。たとえば、任意のＭＢパーティションが８×８よりも小さいサブＭＢパーティションを有する場合、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇは偽であり得る。そうでない場合、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇは真であり得る（すなわち、ｎｏＳｕｂＭｂＰａｒｔＬｅｓｓＴｈａｎ８ｘ８Ｆｌａｇ＝１）。
【０１３２】
[0148]さらに、表３の例示的なシンタックスに示すように、ビデオエンコーダ２０は、ＭＢ全体がＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、ＭＢレイヤシンタックス構造中にシンタックス要素（ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇ）を含めるべきかどうかを判断し得る。同様に、ビデオデコーダ３０は、ＭＢ全体がＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、ＭＢレイヤシンタックス構造からシンタックス要素を復号すべきかどうかを判断し得る。ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇは、現在のＭＢについて、残差８×８または４×４ブロックに対してデブロッキングフィルタプロセスより前に変換係数復号プロセスおよびピクチャ構成プロセスが、ルーマサンプル、およびいくつかの事例では、ＣｂおよびＣｒサンプルのために呼び出されるかどうかを示し得る。
【０１３３】
[0149]表３の例示的なシンタックスに示すように、ＭＢ全体がＶＳＰピクチャから予測されない場合（たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくない場合）、ＭＢレイヤシンタックス構造は、ＭＢ予測シンタックス構造（ｍｂ＿ｐｒｅｄ（ｍｂ＿ｔｙｐｅ））を含み得る。逆に、ＭＢ全体がＶＳＰピクチャから予測される場合（たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくなる場合）、ＭＢレイヤシンタックス構造はＭＢ予測シンタックス構造を含まない。他の例では、ＭＢレイヤシンタックス構造は、ＭＢがＶＳＰピクチャから予測されるかどうかにかかわらず、ＭＢ予測シンタックス構造を含み得る。
【０１３４】
[0150]上記の表３の例に示すように、ＭＢレイヤシンタックス構造は、ＭＢ予測シンタックス構造を含み得る。ＭＢ予測シンタックス構造は、ＭＢについての動き情報を含み得る。以下の表４は、本開示の技法の第１の例示的な実装形態による、ＭＢ予測シンタックス構造についての例示的なシンタックスである。
【表４】
0006479651.tif 000005
【０１３５】
[0151]表４の例示的なシンタックスでは、ＭＢ予測シンタックス構造は、シンタックス要素のアレイｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［］を含み得る。ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［］中の各エントリは、ＭＢの異なるＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示す。ＶＳＰが、特定のＭＢパーティションを含んでいるスライスのために使用可能であり（たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＝１）、ＭＢのＭＢパーティションの数が１に等しくなく、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中にＶＳＰピクチャがある（たとえば、ＶｓｐＲｅｆＥｘｉｓｔ＝１）場合、ＭＢ予測シンタックス構造は、特定のＭＢパーティションのためのｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇを含み得る。他の例では、ＶＳＰが、特定のＭＢパーティションを含んでいるスライスのために使用可能であり（たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＝１）、ＭＢのＭＢパーティションの数が１に等しくないかどうか、またはＶｓｐＲｅｆＥｘｉｓｔ＝１であるかどうかを評価しない場合、ＭＢ予測シンタックス構造はｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇを含み得る。
【０１３６】
[0152]いくつかの例では、１に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、特定のＭＢパーティションがＶＳＰピクチャから予測されることを示し得、ここで、ｍｂＰａｒｔＩｄｘは、特定のＭＢパーティションのインデックスである。この例では、０に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、ＭＢパーティション全体がＶＳＰピクチャから予測されないことを示し得、ここで、ｍｂＰａｒｔＩｄｘは、ＭＢパーティションのインデックスである。いくつかの例では、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が存在しないとき、ビデオデコーダ３０は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が、ＭＢパーティション全体がＶＳＰピクチャから予測されないことを示すと推論し得る（たとえば、ビデオデコーダ３０は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が０に等しくなると推論し得る）。
【０１３７】
[0153]表４に示すように、ｍｂＰａｒｔＩｄｘが、特定のＭＢパーティションのインデックスである場合、特定のＭＢパーティションがＶＳＰピクチャから予測されることをｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が示すとき、ＭＢ予測シンタックス構造は、特定のＭＢパーティションのための参照インデックス（ｒｅｆ＿ｉｄｘ＿ｌ０およびｒｅｆ＿ｉｄｘ＿ｌ１）または動きベクトル差分（ｍｖｄ＿ｌ０およびｍｖｄ＿ｌ１）を含まない。他の例では、ＭＢ予測シンタックス構造は、特定のＭＢパーティションがＶＳＰピクチャから予測されるかどうかにかかわらず、ｒｅｆ＿ｉｄｘ＿ｌ０またはｒｅｆ＿ｉｄｘ＿ｌ１を含み得る。
【０１３８】
[0154]さらに、ＭＢがＶＳＰピクチャから完全に予測されない場合（たとえば、ＭＢのｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくない場合）、ＭＢのためのＭＢレイヤシンタックス構造はサブＭＢ予測シンタックス構造を含み得る。サブＭＢ予測シンタックス構造は、ＭＢパーティションについての動き情報（たとえば、動きベクトル、参照インデックスなど）を含み得る。以下の表５に、本開示の技法の第１の例示的な実装形態による、サブＭＢ予測シンタックス構造についての例示的なシンタックスを示す。
【表５】
0006479651.tif 000006
【０１３９】
[0155]表５の例示的なシンタックスでは、サブＭＢ予測シンタックス構造は、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［］シンタックス要素を含み得る。各ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［］は、異なるＭＢパーティション（たとえば、８×８）がＶＳＰピクチャから予測されるかどうかを示す。ＶＳＰが、特定のＭＢパーティションを含んでいるスライスのために使用可能であり（たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＝１）、ＶＳＰピクチャがＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１中にある（たとえば、ＶｓｐＲｅｆＥｘｉｓｔ＝１である）とき、サブＭＢ予測シンタックス構造は、特定のＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇを含み得る。他の例では、ＶｓｐＲｅｆＥｘｉｓｔ＝１の条件は判断されない。
【０１４０】
[0156]一例では、１に等しいｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、特定のＭＢパーティションがＶＳＰピクチャから予測されることを示し得、ここで、ｍｂＰａｒｔＩｄｘは、特定のＭＢパーティションのインデックスである。この例では、０に等しいｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、特定のＭＢパーティションの全体がＶＳＰピクチャから予測されないことを示し得る。ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が存在しないとき、特定のＭＢパーティションの全体はＶＳＰピクチャから予測されない（たとえば、ビデオデコーダ３０は、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が０に等しくなると推論し得る）。
【０１４１】
[0157]さらに、表５の例示的なシンタックスに示すように、ｍｂＰａｒｔＩｄｘが、特定のＭＢパーティションのインデックスであり、特定のＭＢパーティションがＶＳＰピクチャから予測されることをｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が示すとき、サブＭＢ予測シンタックス構造は、特定のＭＢパーティションのサブＭＢタイプを指定するシンタックス要素（ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］）を含まない。さらに、特定のＭＢパーティションがＶＳＰピクチャから予測されることをｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が示すとき、サブＭＢ予測構造は、特定のＭＢパーティションのための参照インデックス（ｒｅｆ＿ｉｄｘ＿ｌ０［ｍｂＰａｒｔＩｄｘ］およびｒｅｆ＿ｉｄｘ＿ｌ１［ｍｂＰａｒｔＩｄｘ］）を含まない。さらに、特定のＭＢパーティションがＶＳＰピクチャから予測されることをｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が示すとき、サブＭＢ予測シンタックス構造は、特定のＭＢパーティションのための動きベクトル差分（ｍｖｄ＿ｌ０［ｍｂＰａｒｔＩｄｘ］およびｍｖｄ＿ｌ１［ｍｂＰａｒｔＩｄｘ］）を含まない。
【０１４２】
[0158]上記の表１〜表５は、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素と、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇシンタックス要素と、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇシンタックス要素と、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素とを含む。ビデオデコーダ３０は、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素と、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇシンタックス要素と、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇシンタックス要素と、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素とを使用して、任意のサイズのＭＢパーティションのためのフラグ、すなわち、ＶＳＰＦｌａｇを導出し得る。ＶＳＰＦｌａｇは、本開示の他の場所で説明したように、ＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、ＭＢパーティションのためのＶＳＰＦｌａｇが１に等しくなるとき、ＭＢパーティションはＶＳＰピクチャから予測され得る。
【０１４３】
[0159]本開示の技法の第１の実装形態によれば、ＭＢパーティションがＶＳＰピクチャから予測されることをＶＳＰＦｌａｇが示すとき（たとえば、ＶＳＰＦｌａｇが１に等しくなるとき）、動き補償ユニット１６４は、ＭＢパーティションの予測ブロックのサンプルをＶＳＰピクチャのサンプルに設定し得る。たとえば、現在のＭＢパーティションが、ルーマ成分の座標が（ｘ，ｙ）、クロマ成分の座標が（ｘ’，ｙ’）の左上ピクセルを有すると仮定する。さらに、現在のＭＢパーティションのサイズがＮ×Ｍであると仮定し、ここで、Ｎ、Ｍは、８または１６に等しくなる。この例では、動き補償ユニット１６４は、Ｎ×Ｍの同じサイズで座標（ｘ，ｙ）から開始して、ＶＳＰピクチャのルーマ成分のピクセルの値を現在のＭＢパーティションのピクセルに設定し得る。たとえば、動き補償ユニット１６４は、予測ルーマブロック中の各ルーマサンプルがＶＳＰピクチャ中の対応するロケーションにあるルーマサンプルに一致するように、現在のＭＢパーティションのための予測ルーマブロックを生成し得る。
【０１４４】
[0160]さらに、４：２：０ビデオフォーマットの場合はＮ／２×Ｍ／２のサイズ、４：４：４ビデオフォーマットの場合はＮ×Ｍのサイズ、または４：２：２ビデオフォーマットの場合はＮ×Ｍ／２のサイズで座標（ｘ’，ｙ’）から開始して、動き補償ユニット１６４は、クロマ成分の同じ座標（ｘ’，ｙ’）から開始して、ＶＳＰピクチャのクロマ成分の各ブロック中のピクセルの値を現在のＭＢパーティションのピクセルに設定し得る。たとえば、動き補償ユニット１６４は、各ＣｂまたはＣｂサンプルがＶＳＰピクチャ中の対応するロケーションにあるＣｂまたはＣｒサンプルに一致するように、現在のＭＢパーティションのための予測ＣｂまたはＣｒブロックを生成し得る。この例では、動き補償ユニット１６４は、ＶＳＰピクチャのＣｂまたはＣｒブロックの座標（ｘ’，ｙ’）から予測ＣｂまたはＣｒブロックを生成し始め得る。さらに、この例では、ＶＳＰピクチャのクロマブロックが、４：２：０ビデオフォーマット、４：４：４ビデオフォーマット、または４：２：２ビデオフォーマットに従ってダウンサンプリングされる場合、予測ＣｂまたはＣｒブロックは、それぞれ、Ｎ／２×Ｍ／２、Ｎ×Ｍ、またはｎ×Ｍ／２のサイズであり得る。
【０１４５】
[0161]ｖｓｐ＿ｍｂ＿ｆｌａｇまたはｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなるとき、ＭＢの各ブロックは、１に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇとｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇとを有すると推論される。ＭＢ全体がＶＳＰピクチャから予測されないとき（たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇが０に等しくなるとき）、ＭＢのＭＢパーティションは、異なる値のｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇを有し得る。
【０１４６】
[0162]１つの例示的な代替解決策では、ｖｓｐ＿ｍｂ＿ｆｌａｇが０に等しくなる場合、すべてのＭＢパーティションが１に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇを有し得るとは限らないように制約される。言い換えれば、ＭＢ全体がＶＳＰピクチャから予測されないことをビデオエンコーダ２０がシグナリングした場合、ビデオエンコーダ２０は、ＭＢの各ＭＢパーティションがＶＳＰピクチャから予測されることをシグナリングしない。ＭＢのすべてのＭＢパーティションがＶＳＰピクチャから予測されることをシグナリングすることは、ＭＢ全体がＶＳＰピクチャから予測されることをシグナリングするのと同じ結果をもたらすことになる。したがって、ＭＢのすべてのＭＢパーティションがＶＳＰピクチャから予測される場合、ＭＢパーティションを生成することはビットの浪費となり得る。
【０１４７】
[0163]上記で簡単に説明したように、エントロピー復号ユニット１５０は、シンタックス要素をエントロピー復号するためにエントロピー復号演算を実行し得る。さらに、ビデオエンコーダ２０のエントロピー符号化ユニット１１８は、シンタックス要素をエントロピー符号化するためにエントロピー符号化演算を実行し得る。エントロピーコーダ（エントロピー符号化ユニット１１８およびエントロピー復号ユニット１５０など）がシンタックス要素に対してエントロピー符号化またはエントロピー復号（すなわち、エントロピーコーディング）を実行するとき、エントロピーコーダは、コーディングモデルを判断し得る。エントロピーコーダは、コンテキスト情報（すなわち、コンテキスト）に基づいてコンテキストモデルを判断し得る。コンテキストモデルは、ビンが特定の値を有する確率を示し得る。
【０１４８】
[0164]本開示の技法の第１の例示的な実装形態によれば、エントロピーコーダは、ＶＳＰＦｌａｇについてのコンテキストを維持し得る。上記のように、ＶＳＰＦｌａｇは、ＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示し得る。エントロピーコーダは、ｖｓｐ＿ｍｂ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、およびｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇのエントロピーコーディングのためにコンテキストを使用し得る。エントロピー復号ユニット１５０は、各ｖｓｐ＿ｍｂ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、およびｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇに基づいてＶＳＰＦｌａｇについてのコンテキストを更新し得る。
【０１４９】
[0165]スライスの第１のシンタックス要素をエントロピーコーディングする前に、エントロピーコーダは、スライスのシンタックス要素をエントロピーコーディングする際に使用されるコンテキスト変数を初期化するためにコンテキスト初期化プロセスを実行する。本開示の技法によれば、ＶＳＰモードはＰスライスとＢスライスの両方に適用されるが、ＰスライスのＶＳＰＦｌａｇのコンテキストのための初期確率は、ＢスライスのＶＳＰＦｌａｇのコンテキストのための初期確率とは異なり得る。
【０１５０】
[0166]さらに、エントロピーデコーダがシンタックス要素をエントロピー復号し始めるとき、エントロピーデコーダは、シンタックス要素のすべての可能な２値化のセットを取り出し得、ビンインデックス（ｂｉｎＩｄｘ）を−１に設定し得る。エントロピーデコーダは、次いで、ビットストリームからのビットを連続的に処理し得る。エントロピーデコーダがビットを処理すると、エントロピーデコーダは、ｂｉｎＩｄｘを増分し得、ｂｉｎＩｄｘに少なくとも部分的に基づいてコンテキストインデックス（ｃｔｘＩｄｘ）を判断し得る。エントロピーデコーダは、ｃｔｘＩｄｘに関連するコンテキストモデルを使用して、現在のビンをエントロピー復号し得る。次に、エントロピーデコーダは、シンタックス要素のためのこれまで復号されてきたビンがシンタックス要素の可能な２値化のいずれかに一致するかどうかを判断し得る。一致しない場合、エントロピーデコーダは、この段落で説明した方法で別のビットを処理し得る。復号されたビンがシンタックス要素の可能な２値化に一致するとき、エントロピーデコーダは、シンタックス要素の２値化をシンタックス要素の元の値に変換して戻し得る。
【０１５１】
[0167]エントロピーエンコーダは、同様のプロセスを実行し得る。このプロセスでは、エントロピーエンコーダは、シンタックス要素を２値化し得、ビンインデックス（ｂｉｎＩｄｘ）を−１に設定し得る。エントロピーエンコーダは、次いで、２値化されたシンタックス要素のビンを連続的に処理し得る。エントロピーエンコーダがビンを処理するとき、エントロピーエンコーダは、ビンのためのｂｉｎＩｄｘに少なくとも部分的に基づいて、ビンのためのコンテキストインデックス（ｃｔｘＩｄｘ）を判断し得る。エントロピーエンコーダは、次いで、ビンのためのｃｔｘＩｄｘに関連するコンテキストモデルを使用して、ビンをエントロピー符号化し得る。エントロピーエンコーダが２値化されたシンタックス要素の各ビンを処理すると、エントロピーエンコーダは、シンタックス要素をエントロピー符号化することを完了する。
【０１５２】
[0168]上述のように、エントロピーコーダ（たとえば、エントロピーデコーダまたはエントロピーエンコーダ）がシンタックス要素のビンを処理するとき、エントロピーコーダは、ビンのビンインデックス（ｂｉｎＩｄｘ）に少なくとも部分的に基づいて、ビンのためのコンテキストインデックス（ｃｔｘＩｄｘ）を判断する。ビンのためのｃｔｘＩｄｘを判断するために、エントロピーコーダは、ビンインデックスとコンテキストインデックスオフセット（ｃｔｘＩｄｘＯｆｆｓｅｔ）とを使用して、所定のテーブル中で、ビンのためのコンテキストインデックス増分（ｃｔｘＩｄｘＩｎｃ）をルックアップし得る。エントロピーコーダは、シンタックス要素を２値化することの一部として、ｃｔｘＩｄｘＯｆｆｓｅｔを判断し得る。ビンのためのｃｔｘＩｄｘは、ｃｔｘＩｄｘＯｆｆｓｅｔにビンのためのｃｔｘＩｄｘＩｎｃを加えたものに等しくなり得る。
【０１５３】
[0169]本開示の技法の第１の例示的な実装形態によれば、エントロピーコーダが（復号されるべきシンタックス要素に応じてｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素、ｖｓｐ＿ｍｂ＿ｆｌａｇ＿ｓｙｎｔａｘ要素、またはｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇシンタックス要素であり得る）ＶＳＰＦｌａｇをエントロピーコーディングしているとき、エントロピーコーダは、ＶＳＰＦｌａｇに関連するビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。いくつかの例では、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和であり得る。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとして導出され得る。別の例では、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡに等しくなり得る。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡとして導出され得る。別の例では、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＢに等しくなる。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＢとして導出され得る。
【０１５４】
[0170]上記の例では、エントロピーコーダは、現在のＭＢまたはＭＢパーティションに隣接する特定のブロックに関連するデータが、現在のＭＢまたはＭＢパーティションに関連するシンタックス要素のためのエントロピーコーディングプロセスにおいて使用するために利用可能であるかどうかに少なくとも部分的に基づいてｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとを判断し得る。たとえば、ｍｂＰＡｄｄｒＡは、現在のＭＢまたはＭＢパーティションの左側の隣接８×８ブロックを表し得、ｍｂＰＡｄｄｒＢは、現在のＭＢまたはＭＢパーティションの上側の隣接８×８ブロックを表し得る。ｍｂＰＡｄｄｒＡが利用可能でないか、またはブロックｍｂＰＡｄｄｒＡのためのＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなる。そうではなく、ｍｂＰＡｄｄｒＡが利用可能であり、ブロックｍｂＰＡｄｄｒＡのためのＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなる。同様に、ｍｂＰＡｄｄｒＢが利用可能でないか、またはブロックｍｂＰＡｄｄｒＢのためのＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなる。そうではなく、ｍｂＰＡｄｄｒＢが利用可能であり、ブロックｍｂＰＡｄｄｒＢのためのＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなる。
【０１５５】
[0171]別の例では、ｍｂＰＡｄｄｒＡが利用可能であり、ブロックｍｂＰＡｄｄｒＡのためのＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなる。そうではなく、ｍｂＰＡｄｄｒＡが利用不可能であるか、またはブロックｍｂＰＡｄｄｒＡのためのＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなる。同様に、ｍｂＰＡｄｄｒＢが利用可能であり、ブロックｍｂＰＡｄｄｒＢのためのＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなる。そうではなく、ｍｂＰＡｄｄｒＢが利用不可能であるか、またはブロックｍｂＰＡｄｄｒＢのためのＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなる。
【０１５６】
[0172]上記で手短に説明したように、フィルタユニット１６０は、現在のビデオユニットのサンプルブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。本開示の技法の第１の例示的な実装形態によれば、フィルタユニット１６０は、ＶＳＰモードに関係する特定のデブロッキング動作を実行し得る。第１の例示的なデブロッキングフィルタプロセスでは、１に等しいＶＳＰＦｌａｇをもつＭＢパーティションは、デブロッキングフィルタプロセス中に参照ピクチャリスト０および０に等しい動きベクトルから単方向にインター予測される、−１に等しい参照インデックスをもつインターコーディングであると見なされる。フィルタユニット１６０は、ＭＢパーティションと別のブロックとの間の境界の境界フィルタ処理強度値（ｂＳ）を判断し得る。フィルタユニット１６０は、ｂＳを使用して、境界にある入力サンプルのアレイにフィルタを適用し得る。この第１の例示的なデブロッキングフィルタプロセスではフィルタユニット１６０は、ブロックの予測（たとえば、インターまたはイントラ）モード、ブロックの参照インデックス、ブロックが単方向にインター予測されるのかまたは双方向にインター予測されるのか、およびブロックの動きベクトルに少なくとも部分的に基づいてｂＳを判断し得る。
【０１５７】
[0173]第２の例示的なデブロッキングフィルタプロセスでは、フィルタユニット１６０は、デブロッキングフィルタプロセスの一部としてルーマコンテンツ依存境界フィルタ処理強度のための導出プロセスを実行し得る。この例では、導出プロセスへの入力は、フィルタ処理されるべきエッジにわたるサンプルの単一のセットの入力サンプル値ｐ0およびｑ0である。導出プロセスへの入力はまた、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇを含む。ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇは、エッジが水平であるのか、または垂直であるのかを示し得る。導出プロセスの出力は境界強度変数ｂＳである。
【０１５８】
[0174]第２の例示的なデブロッキングフィルタプロセスでは、ＳＰＳ中のｍｂ＿ａｄａｐｔｉｖｅ＿ｆｒａｍｅ＿ｆｉｅｌｄ＿ｆｌａｇシンタックス要素が１に等しくなり、スライスヘッダ中のｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくないとき、変数ＭｂａｆｆＦｒａｍｅＦｌａｇは１に等しくなり得る。すなわち、ＭｂａｆｆＦｒａｍｅＦｌａｇ＝ｍｂ＿ａｄａｐｔｉｖｅ＿ｆｒａｍｅ＿ｆｉｅｌｄ＿ｆｌａｇ＆＆！ｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇとなる。ｍｂ＿ａｄａｐｔｉｖｅ＿ｆｒａｍｅ＿ｆｉｅｌｄ＿ｆｌａｇシンタックス要素は、フィールドとピクチャ内のフレームＭＢとの間で切り替わることが可能であるかどうかを指定する。フィールドは、フレームの代替行のアセンブリである。０に等しいＭｂ＿ａｄａｐｔｉｖｅ＿ｆｒａｍｅ＿ｆｉｅｌｄは、フレームとピクチャ内のフィールドＭＢとの間での切替えがないことを指定する。１に等しいＭｂ＿ａｄａｐｔｉｖｅ＿ｆｒａｍｅ＿ｆｉｅｌｄは、フレームとフレーム内のフィールドＭＢとの間での切替えの使用が可能であることを指定する。ｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇシンタックス要素は、スライスがコード化フィールドのスライスであるか、またはコード化フレームのスライスであるかを示す。コード化フィールドは、フィールドのコード化表現である。１に等しいｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇは、スライスがコード化フィールドのスライスであることを指定し得る。０に等しいｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇは、スライスがコード化フレームのスライスであることを指定し得る。したがって、１に等しいＭｂａｆｆＦｒａｍｅＦｌａｇは、フレームとフレーム内のフィールドＭＢとの間での切替えの使用が可能であることと、現在のスライスがコード化フレームのスライスであることとを示す。
【０１５９】
[0175]さらに、第２の例示的なデブロッキングフィルタプロセスでは、フィルタユニット１６０は、次のように変数ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを導出し得る。第１に、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなり、サンプルｐ0およびｑ0が異なるＭＢペア中にあり、これらのうちの１つがフィールドＭＢペアであり、他方がフレームＭＢペアである場合、フィルタユニット１６０は、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを１に等しく設定する。そうではなく、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくないか、またはサンプルｐ0およびｑ0が異なるＭＢペア中にない場合、フィルタユニット１６０は、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを０に等しく設定する。
【０１６０】
[0176]次に、第２の例示的なデブロッキングフィルタプロセスでは、フィルタユニット１６０は、フィルタ処理されているブロックエッジのための変数ｂＳを導出する。ブロックエッジがＭＢエッジであり、以下の条件のいずれかが真である場合、４に等しいｂＳの値が出力される。第１の条件によれば、サンプルｐ0およびｑ0がどちらもフレームＭＢ中にあり、サンプルｐ0およびｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第２の条件によれば、サンプルｐ0およびｑ0がどちらもフレームＭＢ中にあり、サンプルｐ０またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第３の条件によれば、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなるかまたはｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが１に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第４の条件によれば、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなるかまたはｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが１に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定し得る。
【０１６１】
[0177]そうではなく、以下の条件のいずれかが真である場合、フィルタユニット１６０はｂＳの値を３に設定する。第１の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第２の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第３の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第４の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。
【０１６２】
[0178]そうではなく、以下の条件のいずれかが真である場合、フィルタユニット１６０はｂＳの値を２に設定する。第１の条件によれば、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが、サンプルｐ0を含んでいるＭＢについて１に等しくなり、サンプルｐ0を含んでいる８×８ルーマブロックに関連する８×８ルーマ変換ブロックが、非ゼロ変換係数レベルを含んでいる場合、フィルタユニット１６０は、ｂＳの値を２に設定する。第２の条件によれば、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが、サンプルｐ0を含んでいるＭＢについて０に等しくなり、サンプルｐ0を含んでいる４×４ルーマブロックに関連する４×４ルーマ変換ブロックが、非ゼロ変換係数レベルを含んでいる場合、フィルタユニット１６０は、ｂＳの値を２に設定する。第３の条件によれば、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが、サンプルｑ0を含んでいるＭＢについて１に等しくなり、サンプルｑ0を含んでいる８×８ルーマブロックに関連する８×８ルーマ変換ブロックが、非ゼロ変換係数レベルを含んでいる場合、フィルタユニット１６０は、ｂＳの値を２に設定する。第４の条件によれば、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが、サンプルｑ0を含んでいるＭＢについて０に等しくなり、サンプルｑ0を含んでいる４×４ルーマブロックに関連する４×４ルーマ変換ブロックが、非ゼロ変換係数レベルを含んでいる場合、フィルタユニット１６０は、ｂＳの値を２に設定する。
【０１６３】
[0179]そうではなく、以下の条件のいずれかが真である場合、フィルタユニット１６０はｂＳの値を１に等しく設定する。第１の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが１に等しくなる場合、フィルタユニット１６０はｂＳの値を１に設定する。第２の条件によれば、本開示の技法によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションのためのＶＳＰＦｌａｇの値が、サンプルｑ0を含んでいるＭＢ／サブＭＢパーティションのためのＶＳＰＦｌａｇとは異なる場合、フィルタユニット１６０は、ｂＳの値を１に設定する。第３の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションの予測において、サンプルｑ0を含んでいるＭＢ／サブＭＢパーティションの予測の場合とは異なる参照ピクチャまたは異なる数の動きベクトルが使用される場合、フィルタユニット１６０は、ｂＳの値を１に設定する。２つのＭＢ／サブＭＢパーティションのために使用される参照ピクチャが同じものであるのか異なるものであるかの判断は、参照ピクチャリスト０へのインデックスまたは参照ピクチャリスト１へのインデックスを使用して予測が形成されるのかどうかを顧慮せずに、参照ピクチャリスト内でインデックス位置が異なるかどうかをも顧慮せずに、どのピクチャが参照されるのかにのみ基づく。第４の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションを予測するために１つの動きベクトルが使用され、サンプルｑ0を含んでいるＭＢ／サブＭＢパーティションを予測するために１つの動きベクトルが使用され、使用される動きベクトルの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプルのユニット内で４以上である場合、フィルタユニット１６０はｂＳの値を１に設定する。第５の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションを予測するために２つの動きベクトルと２つの異なる参照ピクチャとが使用され、サンプルｑ0を含んでいるＭＢ／サブＭＢパーティションを予測するために同じ２つの参照ピクチャのための２つの動きベクトルが使用され、同じ参照ピクチャのための２つのＭＢ／サブＭＢパーティションの予測において使用される２つの動きベクトルの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプルのユニット内で４以上である場合、フィルタユニット１６０はｂＳの値を１に設定する。
【０１６４】
[0180]第６の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションを予測するために同じ参照ピクチャのための２つの動きベクトルが使用され、サンプルｑ0を含んでいるＭＢ／サブＭＢパーティションを予測するために同じ参照ピクチャのための２つの動きベクトルが使用され、以下の条件の両方が真である場合、フィルタユニット１６０はｂＳの値を１に設定する。第１に、２つのＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ０動きベクトルの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプル中で４以上であるか、または２つのＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ１動きベクトルの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプルのユニット中で４以上である。第２に、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ０動きベクトルとサンプルｑ0を含んでいるＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ１動きベクトルとの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプルのユニット中で４以上であるか、サンプルｐ0を含んでいるＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ１動きベクトルとサンプルｑ0を含んでいるＭＢ／サブＭＢパーティションの予測において使用されるＲｅｆＰｉｃＬｉｓｔ０動きベクトルとの水平または垂直成分間の絶対差が、１／４ルーマフレームサンプルのユニット中で４以上である。１／４ルーマフレームサンプルのユニット中で４の垂直差は、１／４ルーマフィールドサンプルのユニット中で２の差となる。そうでない場合、フィルタユニット１６０は、ｂＳの値を０に等しく設定する。
【０１６５】
[0181]第３の例示的なデブロッキングフィルタプロセスでは、フィルタユニット１６０は、デブロッキング動作を実行することの一部としてルーマコンテンツ依存境界フィルタ処理強度のための導出プロセスを実行し得る。この例では、導出プロセスへの入力は、フィルタ処理されるべきエッジにわたるサンプルの単一のセットの入力サンプル値ｐ0およびｑ0である。導出プロセスへの入力はまたｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇを含む。導出プロセスの出力は境界強度変数ｂＳであり得る。この例では、フィルタユニット１６０は、次のように変数ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを導出し得る。第１に、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなり、サンプルｐ0およびｑ0が異なるペア中にあり、これらのうちの１つがフィールドＭＢペアであり、他方がフレームＭＢペアである場合、フィルタユニット１６０は、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを１に等しく設定する。そうではなく、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくないか、またはサンプルｐ0およびｑ0が異なるＭＢペア中にない場合、フィルタユニット１６０は、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇを０に等しく設定する。
【０１６６】
[0182]さらに、第３の例示的なデブロッキングフィルタプロセスでは、フィルタユニット１６０は、ＭＢ間のブロックエッジのための変数ｂＳを導出し得る。ブロックエッジがＭＢエッジであり、以下の条件のいずれかが真である場合、４に等しいｂＳの値が出力される。第１の条件によれば、サンプルｐ0およびｑ0がどちらもフレームＭＢ中にあり、サンプルｐ0およびｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第２の条件によれば、本開示の技法によれば、サンプルｐ0およびｑ0がどちらもフレームＭＢ中にあり、サンプルｐ0またはｑ0のいずれかまたは両方が、１に等しいＶＳＰＦｌａｇを用いてコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第３の条件によれば、サンプルｐ0およびｑ0がどちらもフレームＭＢ中にあり、サンプルｐ０またはｑ０のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第４の条件によれば、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなるかまたはｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが１に等しくなり、サンプルｐ０またはｑ０のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第５の条件によれば、本開示の技法によれば、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなるかまたはｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが１に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、１に等しいＶＳＰＦｌａｇを用いてコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定する。第６の条件によれば、ＭｂａｆｆＦｒａｍｅＦｌａｇが１に等しくなるかまたはｆｉｅｌｄ＿ｐｉｃ＿ｆｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが１に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を４に設定し得る。
【０１６７】
[0183]そうではなく、第３の例示的なデブロッキングフィルタプロセスでは、以下の条件のいずれかが真である場合、フィルタユニット１６０はｂＳの値を３に設定する。第１の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第２の条件によれば、本開示の技法によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、１に等しいＶＳＰＦｌａｇを用いてコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第３の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第４の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、イントラＭＢ予測モードを使用してコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第５の条件によれば、本開示の技法によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが０に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、１に等しいＶＳＰＦｌａｇを用いてコーディングされたＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。第６の条件によれば、ｍｉｘｅｄＭｏｄｅＥｄｇｅＦｌａｇが１に等しくなり、ｖｅｒｔｉｃａｌＥｄｇｅＦｌａｇが０に等しくなり、サンプルｐ0またはｑ0のいずれかまたは両方が、ＳＰまたはＳＩに等しいｓｌｉｃｅ＿ｔｙｐｅをもつスライス中にあるＭＢ中にある場合、フィルタユニット１６０はｂＳの値を３に設定する。
【０１６８】
[0184]そうでない場合、第３の例示的なデブロッキングフィルタプロセスでは、第２の例示的なデブロッキングフィルタプロセスにおける上記で説明した条件のいずれかが満たされる場合、フィルタユニット１６０はｂＳの値を２に設定し得る。そうでない場合、第２の例示的なデブロッキングフィルタプロセスにおける上記で説明した条件のいずれかが、第２の条件を除いて満たされる場合、フィルタユニット１６０はｂＳの値を１に設定し得る。そうでない場合、フィルタユニット１６０は、ｂＳの値を０に設定し得る。
【０１６９】
[0185]本開示の技法の第２の例示的な実装形態は、上記で説明した第１の例とは異なるシンタックスおよびセマンティクスを使用する。第２の例示的な実装形態では、ｍｂ＿ｓｋｉｐ＿ｆｌａｇおよびｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが条件付きでフレキシブルにシグナリングされるように、シンタックスおよびセマンティクスが変更される。この第２の例示的な実装形態では、ＭＢレイヤ、ＭＢ予測、およびサブＭＢ予測についてのシンタックスは、上記で説明した第１の例示的な実装形態の場合と同様であり得る。ただし、第２の例示的な実装形態では、スライスデータのシンタックスおよびセマンティクスならびに対応するセマンティクスは、第１の例示的な実装形態の場合とは異なり得る。
【０１７０】
[0186]以下の表６は、第２の例示的な実装形態による、スライスデータシンタックス構造についての例示的なシンタックスである。
【表６】
0006479651.tif 000007
【０１７１】
[0187]表６の例示的なシンタックスでは、本開示の技法によれば、ＶＳＰがスライスのために使用可能であり、変数ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔ＝１であり、変数ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐ＝１であり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１がＶＳＰピクチャを含むとき、スライスのためのスライスデータシンタックス構造は、現在のＭＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素を含み得る。他の例では、変数ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔ＝１であり、変数ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐ＝１であり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１がＶＳＰピクチャを含むとき、スライスのためのスライスデータシンタックス構造は現在のＭＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素を含み得る。たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＝１であり、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔ＝１であり、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐ＝１であり、ＶｓｐＲｅｆＥｘｉｓｔ＝１であるとき、スライスデータシンタックス構造はｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇを含み得る。いくつかの例では、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔおよびＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐは、それぞれ、左側および上側の利用可能なＭＢのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇの値に設定され得る。代替例では、左側のＭＢ中の利用可能なブロックのいずれかが１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔは１に設定される。この例では、上側のＭＢ中の利用可能なブロックのいずれかが１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐは１に設定される。別の代替例では、両方の左側の８×８ブロックが、利用可能であり、１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＬｅｆｔは１に設定される。この例では、両方の上側の８×８ブロックが、利用可能であり、１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＳｋｉｐＦｒｏｍＶＳＰＦｌａｇＵｐは１に設定される。
【０１７２】
[0188]現在のＭＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、現在のＭＢ全体がＶＳＰピクチャから予測されるかどうか、現在のＭＢが、非ゼロ変換係数レベルを含むルーマおよび／またはクロマ変換係数ブロックに関連付けられるかどうか、および現在のＭＢのためのｍｂ＿ｔｙｐｅシンタックス要素が存在するかどうかを示す。たとえば、１に等しいｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、現在のＭＢ全体がＶＳＰピクチャから予測され、ＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａとＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａとが０に設定され、ｍｂ＿ｔｙｐｅが存在しないことを示す。ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなるとき、現在のＭＢは、ＶＳＰピクチャから予測されないか、またはＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＬｕｍａとＣｏｄｅｄＢｌｏｃｋＰａｔｔｅｒｎＣｈｒｏｍａのうちの少なくとも１つが０に等しくない。代替的に、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなるとき、現在のＭＢは通常のスキップモードを使用して予測される。ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが存在しないとき、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは０に等しくなると推測され得る。いくつか代替例では、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなるとき、ｍｂ＿ｓｋｉｐ＿ｆｌａｇが存在するかどうかにかかわらず、ｍｂ＿ｓｋｉｐ＿ｆｌａｇは１に等しくなると推論され得る。
【０１７３】
[0189]表６の例示的なシンタックスでは、１に等しいｍｂ＿ｓｋｉｐ＿ｆｌａｇは、現在のＭＢについて、ＰまたはＳＰスライスを復号するとき、ｍｂ＿ｔｙｐｅがＰ＿Ｓｋｉｐであると推論され得、そのＭＢタイプはＰ  ＭＢタイプと総称され、または現在のＭＢについて、Ｂスライスを復号するとき、ｍｂ＿ｔｙｐｅがＢ＿Ｓｋｉｐであると推論され得、そのＭＢタイプはＢ  ＭＢタイプと総称されることを指定する。０に等しいｍｂ＿ｓｋｉｐ＿ｆｌａｇは、現在のＭＢがスキップされないことを指定する。
【０１７４】
[0190]さらに、表６の例示的なシンタックスでは、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなり、ｍｂ＿ｓｋｉｐ＿ｆｌａｇが０に等しくなる場合、変数ｍｏｒｅＤａｔａＦｌａｇは１に等しくなる（すなわちｍｏｒｅＤａｔａＦｌａｇ＝！ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ＆＆！ｍｂ＿ｓｋｉｐ＿ｆｌａｇ）。ｍｏｒｅＤａｔａＦｌａｇが１に等しくなる場合、スライスデータシンタックス構造は、現在のＭＢのためのマクロブロックレイヤシンタックス構造を含み得る。他の例では、ｍｂ＿ｓｋｉｐ＿ｆｌａｇが０に等しくなる場合、ｍｏｒｅＤａｔａＦｌａｇは１に等しくなり得る（すなわち、ｍｏｒｅＤａｔａＦｌａｇ＝！ｍｂ＿ｓｋｉｐ＿ｆｌａｇ）。
【０１７５】
[0191]第２の例示的な実装形態では、エントロピー符号化ユニット１１８またはエントロピー復号ユニット１５０などのエントロピーコーダは、第１の例示的な実装形態に関して説明したエントロピーコーディングプロセスと同様のエントロピーコーディングプロセスを実行し得る。代替的に、第２の例示的な実装形態では、エントロピーコーダは、第１の例示的な実装形態に関して上記で説明したものとは異なるコンテキスト初期化および異なるコンテキスト選択動作を実行し得る。
【０１７６】
[0192]たとえば、第２の例示的な実装形態では、エントロピーコーダは、コンテキストの２つのセット、１つはｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇのためのもの、もう一方はｖｓｐ＿ｍｂ＿ｆｌａｇとｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇとｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇとのためのものを使用し得る。コンテキスト開始動作中に、エントロピーコーダは、ＰスライスおよびＢスライスについて異なる値で、ｖｓｐ＿ｍｂ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、またはｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇのコンテキストの初期確率を初期化し得る。ＶＳＰモードは、ＰスライスとＢスライスの両方ために適用され得る。さらに、エントロピーエンコーダは、Ｂスライスのそれとは別様にＰスライスのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇのコンテキストのための初期確率を初期化し得る。
【０１７７】
[0193]第２の例示的な実装形態では、エントロピーコーダが、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｖｓｐ＿ｍｂ＿ｆｌａｇ、またはｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇをエントロピーコーディングしているとき、エントロピーコーダは、これらのシンタックス要素のうちの１つに関連するビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。エントロピーコーダは、ｃｏｎｄＴｅｒｍＦｌａｇＡおよびｃｏｎｄＴｅｒｍＦｌａｇＢに少なくとも部分的に基づいてビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。様々な例では、エントロピーコーダは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとなるように、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡとなるように、またはｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＢとなるようにビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。第２の例示的な実装形態では、エントロピーコーダは、現在のＭＢまたはＭＢパーティションに隣接する特定のブロックに関連するデータが、現在のＭＢまたはＭＢパーティションに関連するシンタックス要素のためのエントロピーコーディングプロセスにおいて使用するために利用可能であるかどうかに少なくとも部分的に基づいてｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとを判断し得る。
【０１７８】
[0194]たとえば、第２の例示的な実装形態では、エントロピーコーダが、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素をコーディングしている場合、ｍｂＰＡｄｄｒＡは、現在のＭＢまたはＭＢパーティションの左側の隣接８×８ブロックを表し得、ｍｂＰＡｄｄｒＢは、現在のＭＢまたはＭＢパーティションの上側の隣接８×８ブロックを表し得る。この例では、ｍｂＰＡｄｄｒＡが利用可能でないか、またはｍｂＰＡｄｄｒＡのためのＮｏｎＳｋｉｐＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなる。この例では、ＮｏｎＳｋｉｐＶＳＰＦｌａｇは、コーディングされるべきシンタックス要素に応じて、ｖｓｐ＿ｍｂ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、またはｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇのいずれかであり得る。そうではなく、ｍｂＰＡｄｄｒＡが利用可能であり、ｍｂＰＡｄｄｒＡのためのＮｏｎＳｋｉｐＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなる。同様に、ｍｂＰＡｄｄｒＢが利用可能でないか、またはｍｂＰＡｄｄｒＢのためのＮｏｎＳｋｉｐＶＳＰＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなる。ｍｂＰＡｄｄｒＢが利用可能であり、ｍｂＰＡｄｄｒＢのためのＮｏｎＳｋｉｐＶＳＰＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなる。
【０１７９】
[0195]さらに、第２の例示的な実装形態では、エントロピーコーダがｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇシンタックス要素をコーディングしている場合、ｍｂＰＡｄｄｒＡは、現在のＭＢまたはＭＢパーティションの左側の隣接８×８ブロックを表し得、ｍｂＰＡｄｄｒＢは、現在のＭＢまたはＭＢパーティションの上側の隣接８×８ブロックを表し得る。この例では、ｍｂＰＡｄｄｒＡが利用可能であり、ｍｂＰＡｄｄｒＡのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＡが利用可能でないか、またはｍｂＰＡｄｄｒＡのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなり得る。同様に、ｍｂＰＡｄｄｒＢが利用可能であり、ｍｂＰＡｄｄｒＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＢが利用可能でないか、またはｍｂＰＡｄｄｒＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなり得る。
【０１８０】
[0196]エントロピーコーダがｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇをコーディングしている別の例では、ｍｂＰＡｄｄｒＡが利用可能であり、ｍｂＰＡｄｄｒＡのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＡが利用可能でないか、またはｍｂＰＡｄｄｒＡのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなり得る。同様に、ｍｂＰＡｄｄｒＢが利用可能であり、ｍｂＰＡｄｄｒＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＢが利用可能でないか、またはｍｂＰＡｄｄｒＢのためのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなり得る。
【０１８１】
[0197]エントロピーコーダがｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇをコーディングしている別の例では、ｍｂＰＡｄｄｒＡが利用可能であり、ｍｂＰＡｄｄｒＡのためのｖｓｐ＿ｍｂ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＡが利用可能でないか、またはｍｂＰＡｄｄｒＡのためのｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡは０に等しくなり得る。同様に、ｍｂＰＡｄｄｒＢが利用可能であり、ｍｂＰＡｄｄｒＢのためのｖｓｐ＿ｍｂ＿ｆｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは１に等しくなり得る。そうではなく、ｍｂＰＡｄｄｒＢが利用可能でないか、またはｍｂＰＡｄｄｒＢのためのｖｓｐ＿ｍｂ＿ｆｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＢは０に等しくなり得る。
【０１８２】
[0198]他の例では、エントロピーコーダは、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇとｖｓｐ＿ｍｂ＿ｆｌａｇの両方からｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとを判断し得る。別の例では、エントロピーコーダは、ｖｓｐ＿ｍｂ＿ｆｌａｇからｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとを判断し得る。
【０１８３】
[0199]本開示の技法の第３の例示的な実装形態では、ＭＢレイヤ、サブＭＢ予測、およびスライスデータについてのシンタックスは、上記で説明した第１の例示的な実装形態の場合と同様であり得る。ただし、第３の例示的な実装形態では、シンタックスは、様々な状況に基づいてさらに最適化され得る。たとえば、ＭＢ予測シンタックス構造のシンタックスおよびセマンティクスならびに対応するセマンティクスは、第１の例示的な実装形態の場合とは異なり得る。以下の表７は、第３の例示的な実装形態による、スライスデータについての例示的なシンタックスである。
【表７】
0006479651.tif 000008
【０１８４】
[0200]表７は、上記の表４と同様である。ただし、表７の例示的なシンタックスは、ｒｅｆ＿ｉｄｘ＿ｌ１シンタックス要素を生成／復号するためのループ中に「ｆｏｒ（ｍｂＰａｒｔＩｄｘ＝０；ｍｂＰａｒｔＩｄｘ＜ＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）＆＆！ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］；ｍｂＰａｒｔＩｄｘ＋＋）」の代わりに「ｆｏｒ（！ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］＆＆（ｍｂＰａｒｔＩｄｘ＝０；ｍｂＰａｒｔＩｄｘ＜ＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）；ｍｂＰａｒｔＩｄｘ＋＋）」を示す。他の例では、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＆＆ＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）！＝１＆＆ＭｂＰａｒｔＰｒｅｄＭｏｄｅ（ｍｂ＿ｔｙｐｅ，ｍｂＰａｒｔＩｄｘ）＝＝Ｐｒｅｄ＿Ｌ０である場合、ＭＢ予測シンタックス構造は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］を含み得る。
【０１８５】
[0201]本開示の技法の第４の例示的な実装形態は、上記で説明した第２の例示的な実装形態と同様であり得る。ただし、第４の例示的な実装形態では、ＭＢレイヤ、ＭＢ予測、およびサブＭＢ予測のシンタックス設計は、第２の例示的な実装形態のそれに対して変更され得る。以下の表８は、第４の例示的な実装形態による、ＭＢレイヤシンタックス構造の例示的なシンタックスである。
【表８】
0006479651.tif 000009
【０１８６】
[0202]表８の例では、ＭＢレイヤシンタックス構造のコンテンツは、変数ＭｂＶＳＰＦｌａｇＬｅｆｔとＭｂＶＳＰＦｌａｇＵｐとに依存する。ＭｂＶＳＰＦｌａｇＬｅｆｔおよびＭｂＶＳＰＦｌａｇＵｐは、それぞれ、現在のＭＢの左側および上側のＭＢのｖｓｐ＿ｍｂ＿ｆｌａｇの値に設定され得る。代替的に、ＭｂＶＳＰＦｌａｇＬｅｆｔおよびＭｂＶＳＰＦｌａｇＵｐは、それぞれ、現在のＭＢの左側および上側のＭＢのｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇおよびｖｓｐ＿ｍｂ＿ｆｌａｇの値より大きい値に設定され得る。すなわち、ＭｂＶＳＰＦｌａｇＬｅｆｔは、左側のＭＢのｍａｘ（ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ，ｖｓｐ＿ｍｂ＿ｆｌａｇ）に設定され得、ＭｂＶＳＰＦｌａｇＵｐは、上側のＭＢのｍａｘ（ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ，ｖｓｐ＿ｍｂ＿ｆｌａｇ）に設定され得る。別の代替例では、現在のＭＢの左側の任意の利用可能なブロックが１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＶＳＰＦｌａｇＬｅｆｔは１に設定される。この例では、現在のＭＢの上側の任意の利用可能なブロックが０に等しいＶＳＰＦｌａｇを有する場合、ＭｂＶＳＰＦｌａｇＵｐは１に設定され得る。また別の例では、現在のＭＢの左側の両方の８×８ブロックが、現在のＭＢをコーディングする際に使用するために利用可能であり、１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＶＳＰＦｌａｇＬｅｆｔは１に設定される。この例では、現在のＭＢの上側の両方の８×８ブロックが、現在のＭＢをコーディングする際に使用するために利用可能であり、１に等しいＶＳＰＦｌａｇを有する場合、ＭｂＶＳＰＦｌａｇＵｐは１に設定される。
【０１８７】
[0203]表８の例では、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが１に等しくなり、ＭｂＶＳＰＦｌａｇＬｅｆｔが１に等しくなり、ｂＭｂＶＳＰＦｌａｇＵｐが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくなる場合、ＭＢレイヤシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇを含み得る。ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが１に等しくなり、ＭｂＶＳＰＦｌａｇＬｅｆｔが１に等しくなり、ｂＭｂＶＳＰＦｌａｇＵｐが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくない場合、ＭＢレイヤシンタックス構造はｍｂ＿ｔｙｐｅを含み得る。他の例では、ＭｂＶＳＰＦｌａｇＬｅｆｔが１に等しくなり、ｂＭｂＶＳＰＦｌａｇＵｐが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくなる場合、ＭＢレイヤシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇを含み得る。ＭｂＶＳＰＦｌａｇＬｅｆｔが１に等しくなり、ｂＭｂＶＳＰＦｌａｇＵｐが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくない場合、ＭＢレイヤシンタックス構造はｍｂ＿ｔｙｐｅを含み得る。
【０１８８】
[0204]さらに、表８の例では、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＆＆ＶｓｐＲｅｆＥｘｉｓｔ＆＆（ｍｂ＿ｔｙｐｅ＝＝Ｂ＿Ｌ０＿１６ｘ１６｜｜ｍｂ＿ｔｙｐｅ＝＝Ｐ＿Ｌ０＿１６ｘ１６）である場合、ＭＢレイヤシンタックス構造は、ｖｓｐ＿ｍｂ＿ｆｌａｇを含み得る。他の例では、ｍｂ＿ｔｙｐｅ＝＝（Ｂ＿Ｌ０＿１６ｘ１６｜｜ｍｂ＿ｔｙｐｅ＝＝Ｐ＿Ｌ０＿１６ｘ１６）である場合、ＭＢレイヤシンタックス構造は、ｖｓｐ＿ｍｂ＿ｆｌａｇを含み得る。
【０１８９】
[0205]さらに、第４の例示的な実装形態では、ＭＢ予測シンタックス構造のシンタックスは、上記の表７に示したシンタックスと同じであり得る。ただし、いくつかの例では、（ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ＆＆ＮｕｍＭｂＰａｒｔ（ｍｂ＿ｔｙｐｅ）！＝１であり、ＭｂＰａｒｔＰｒｅｄＭｏｄｅ（ｍｂ＿ｔｙｐｅ，ｍｂＰａｒｔＩｄｘ）＝＝Ｐｒｅｄ＿Ｌ０である場合、ＭＢ予測シンタックス構造は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］を含み得る。以下の表９に、第４の例示的な実装形態において使用される例示的なサブＭＢ予測シンタックスを示す。
【表９】
0006479651.tif 000010
【０１９０】
[0206]表９の例では、変数ＳｕｂＭｂＶＳＰＦｌａｇＬｅｆｔおよびＳｕｂＭｂＶＳＰＦｌａｇＵｐは、サブＭＢ予測のコンテンツを制御する。ＳｕｂＭｂＶＳＰＦｌａｇＬｅｆｔおよびＳｕｂＭｂＶＳＰＦｌａｇＵｐは、それぞれ、左側の８×８ブロックおよび上側の８×８ブロックのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇの値に設定される。左側の８×８ブロックは、現在のサブＭＢパーティションの左側にある。上側の８×８ブロックは、現在のサブＭＢパーティションの上側にある。特に、表９の例示的なシンタックスでは、ＳｕｂＭＢＶｓｐＦｌａｇＬｅｆｔおよびＳｕｂＭＢＶｓｐＦｌａｇＵｐが１に等しくなり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１がＶＳＰピクチャを含む（たとえば、ＶｓｐＲｅｆＥｘｉｓｔ＝１である）とき、サブＭＢ予測シンタックス構造は、サブＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇを含み得る。サブＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇは、サブＭＢパーティションがＶＳＰから予測されるかどうかを示す。さらに、表９の例示的なシンタックスでは、サブＭＢパーティションがＶＳＰから予測されないことをサブＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇが示すとき、サブＭＢ予測シンタックス構造はサブＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｔｙｐｅを含み得る。
【０１９１】
[0207]さらに、表９の例示的なシンタックスでは、ＳｕｂＭｂＶＳＰＦｌａｇＬｅｆｔまたはＳｕｂＭｂＶＳＰＦｌａｇＵｐのいずれかが１に等しくない場合、ＶＳＰがスライスのために使用可能であり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１がＶＳＰピクチャを含み、サブＭＢパーティションのサブＭＢパーティションの数が１であるかまたはサブＭＢパーティションのサブＭＢタイプがＢ＿ｄｉｒｅｃｔ＿８ｘ８であるとき、サブＭＢ予測シンタックス構造はサブＭＢパーティションのためのｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇを含み得る。サブＭＢパーティションのサブＭＢタイプがＢ＿ｄｉｒｅｃｔ＿８ｘ８である場合、サブＭＢパーティションは、双方向にインター予測され、８×８ブロックに区分される。
【０１９２】
[0208]別の例では、ｓｕｂＭｂＶＳＰＦｌａｇＬｅｆｔおよびＳｕｂＭｂＶＳＰＦｌａｇＵｐは、それぞれ、現在のサブＭＢパーティションをコーディングする際に使用するために利用可能である場合、左側の８×８ブロックおよび上側の８×８ブロックのＶＳＰＦｌａｇの値に設定され得る。
【０１９３】
[0209]さらに、表９の代替バージョンでは、ｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］＝＝Ｐ＿Ｌ０＿８ｘ８またはｓｕｂ＿ｍｂ＿ｔｙｐｅ［ｍｂＰａｒｔＩｄｘ］＝＝Ｂ＿Ｌ０＿８ｘ８である場合、サブＭＢ予測シンタックス構造は、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］を含み得る。
【０１９４】
[0210]本開示の技法の第５の例示的な実装形態は、上記で説明した第１の例示的な実装形態と同様である。この第５の例示的な実装形態では、ｍｂ＿ｓｋｉｐ＿ｆｌａｇとｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇとは組み合わされて１つのシンタックス要素になり得る。上記のように、ｍｂ＿ｓｋｉｐ＿ｆｌａｇは、スキップモードが使用されるかどうかを示す。ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇは、スキップモードが使用されるとき、ＭＢ全体がＶＳＰピクチャから予測されることを示す。したがって、第５の例示的な実装形態では、組み合わされたフラグは、スキップモードが使用されるかどうかを示し、スキップモードが使用される場合は、ＭＢ全体がＶＳＰピクチャから予測されることを示す。
【０１９５】
[0211]本開示の技法の第６の例示的な実装形態は、上記で説明した第２の例示的な実装形態と同様である。ただし、第６の例示的な実装形態では、ＭＢレイヤシンタックス構造とＭＢ予測シンタックス構造とは、以下の表１０および表１１のシンタックスに従って定義され得る。
【表１０】
0006479651.tif 000011
【表１１】
0006479651.tif 000012
【０１９６】
[0212]表１０の例示的なシンタックスでは、ＭＢのタイプがＢ＿Ｄｉｒｅｃｔ＿１６ｘ１６であり、ＶＳＰがスライスのために使用可能であり、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１がＶＳＰピクチャを含む場合、スライスのＭＢのためのＭＢレイヤシンタックス構造はｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇシンタックス要素を含み得る。ＭＢのタイプがＢ＿Ｄｉｒｅｃｔ＿１６ｘ１６である場合、ＭＢは、Ｂスライス中にあり、直接モードでコーディングされ（すなわち、動き情報はシグナリングされないが、残差情報がシグナリングされる）、ＭＢは、より小さいＭＢパーティションに区分されない。ｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇは、ＭＢがＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇは、Ｂ＿ｄｉｒｅｃｔ＿１６ｘ１６モードを用いるＭＢがＶＳＰフレームから予測されることを示し得、０に等しいｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇは、元のＢ＿ｄｉｒｅｃｔ＿１６ｘ１６モードが使用されることを示し得る。さらに、表１０に示すように、ｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇは、ＭＢレイヤシンタックス構造がｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇシンタックス要素を含むかどうかを少なくとも部分的に制御し得る。ｖｓｐ＿ｄｉｒｅｃｔ＿ｆｌａｇのためのＣＡＢＡＣコーディングプロセスは、３Ｄ−ＡＶＣワーキングドラフト１におけるｍｂ＿ｄｉｒｅｃｔ＿ｔｙｐｅ＿ｆｌａｇのためのＣＡＢＡＣコーディングプロセスと同じであり得る。
【０１９７】
[0213]表１１の例では、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが１に等しくなり、ＶｓｐＲｅｆＥｘｉｓｔが１に等しくなる場合、ＭＢ予測シンタックス構造はｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］を含み得る。他の例では、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇが１に等しくなる場合、ＭＢ予測シンタックス構造は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］を含み得る。
【０１９８】
[0214]本開示の技法の第７の例示的な実装形態は、ＭＢがスキップモードで符号化されるかどうかを示し、そのように符号化される場合、ＭＢがＶＳＰピクチャに基づいて復号されるべきであるかどうかを示す組み合わされたシンタックス要素を提供する。第７の例示的な実装形態では、スライスデータシンタックス構造は、以下の表１２のシンタックスに準拠し得る。
【表１２】
0006479651.tif 000013
【０１９９】
[0215]表１２の例示的なシンタックスでは、ＶＳＰがスライスのために使用可能であり、そのスライスのためのＶＳＰ参照ピクチャが存在する場合、スライスのためのスライスデータシンタックス構造は、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素を含み得る。一例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が０に等しくなる場合、現在のＭＢはＶＳＰピクチャからスキップされる。これは、現在のＭＢのために動きも残余もシグナリングされないことを意味する。現在のＭＢは、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が適用されるＭＢである。この例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が１に等しくなる場合、現在のＭＢは、通常のスキップモードを使用して符号化される。言い換えれば、現在のＭＢはＶＳＰピクチャからスキップされない。さらに、この例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が２に等しくなる場合、現在のＭＢは、スキップモードを使用してコーディングされない。
【０２００】
[0216]いくつかの例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は追加の値を有し得る。たとえば、一例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が２に等しくなる場合、現在のＭＢは、ＶＳＰピクチャから完全に予測され、したがって、現在のＭＢについての動き情報はシグナリングされないが、現在のＭＢについての残余情報はシグナリングされ得る。別の例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が３に等しくなる場合、現在のＭＢは通常の直接予測モードから完全に予測されるが、ＭＢの残余がシグナリングされる。直接予測モードは、動きベクトルがシグナリングまたは復号されないインター予測のタイプである。直接予測モードでは、参照ピクチャの参照インデックスがシグナリングされ、ＭＢ（またはＭＢパーティション）の残余が参照ピクチャのコロケートＭＢ（またはＭＢパーティション）に対してシグナリングされる。別の例では、ＭＢに関連するシンタックス要素は、ＭＢ全体がＶＳＰピクチャから予測され、ＭＢのための残余がシグナリングされることを示し得る。すなわち、本開示の他の技法と同様に、ＭＶ全体がＶＳＰから予測されるが、残余が依然として送信されることを示す追加のモードはＭＢ中でシグナリングされ得る。
【０２０１】
[0217]別の例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が１に等しくなる場合、現在のＭＢはＶＳＰピクチャからスキップされる。この例では、現在のＭＢのために動き情報も残余情報もシグナリングされない。さらに、この例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素が０に等しくなる場合、現在のＭＢは、通常のスキップモードでコーディングされる。
【０２０２】
[0218]さらに、ＭＢのためのＭＢレイヤシンタックス構造は、以下の表１３のシンタックスに準拠し得る。
【表１３】
0006479651.tif 000014
【０２０３】
[0219]ＶＳＰがスライスのために使用可能であり、そのスライスのためのＶＳＰ参照ピクチャが存在する場合、表１３の例示的なＭＢレイヤシンタックス構造は、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素を含み得る。ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素は、ＭＢレイヤシンタックス構造に対応するＭＢ全体がＶＳＰピクチャから予測されるかどうかと、ＭＢについての残差データがシグナリングされるかどうかとを示す。たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素が１に等しくなる場合、ＭＢ全体はＶＳＰピクチャから予測され得、ＭＢについての残差データがシグナリングされる。この例では、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素が０に等しくなる場合、ＭＢ全体は、他のコーディングモードによって予測され得る。さらに、この例では、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素が１に等しくなるとき、ｍｂ＿ｔｙｐｅシンタックス要素は、ＭＢレイヤシンタックス構造中でシグナリングされない。ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素がＭＢレイヤシンタックス構造中に存在しない場合、ビデオデコーダ３０は、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素が０に等しくなると推論し得る。
【０２０４】
[0220]表１２および表１３において説明した例示的なシンタックス構造では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素以外のシンタックス要素のためのコンテキストモデリングは、本開示の他の場所で説明するものと同じであり得る。ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のコンテキストのための初期確率は、ＰスライスおよびＢスライスに異なる値で初期化され得る。様々な例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は様々な方法で２値化され得、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のためのコンテキストは様々な方法で選択され得る。
【０２０５】
[0221]一例では、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は、ｍｂＰＡｄｄｒＡを表すＭＢと、ｍｂＰＡｄｄｒＢを表すＭＢとからの情報を使用して２値化され得る。ｍｂＰＡｄｄｒＡは、現在のＭＢまたは現在のＭＢパーティションの左側の隣接ＭＢ（または８×８ブロック）であり得る。ｍｂＰＡｄｄｒＢは、現在のＭＢまたは現在のＭＢパーティションの上側の隣接ＭＢ（または８×８ブロック）であり得る。ｍｂＰＡｄｄｒＡとｍｂＰＡｄｄｒＢの両方が利用可能であり、ｍｂＰＡｄｄｒＡとｍｂＰＡｄｄｒＢの両方がＶＳＰスキップモードを使用してコーディングされる場合、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は、以下の表１４に従って２値化され得る。
【表１４】
0006479651.tif 000015
【０２０６】
代替的に、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は、以下の表１５に従って２値化され得る。
【表１５】
0006479651.tif 000016
【０２０７】
[0222]エントロピーコーダが、表１４または表１５に従って２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素をエントロピーコーディングしているとき、エントロピーコーダは、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素のビンごとにｃｔｘＩｄｘＩｎｃを判断し得る。この例では、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる（すなわち、エントロピーコーダが、ｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素の第１のビンをエントロピーコーディングしている）場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和に等しくなり得る。すなわち、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとなる。この例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなり得る。
【０２０８】
[0223]さらに、この例では、ビンのｂｉｎＩｄｘが１に等しくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡプラスｃｏｎｄＴｅｒｍＦｌａｇＢに等しくなり得る。ビンのｂｉｎＩｄｘが１に等しくなるとき、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなり得る。
【０２０９】
[0224]そうではなく、ｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢのいずれかが利用可能でないか、あるいはｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢがＶＳＰスキップモードで符号化されない場合、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は、以下の表１６に従って２値化され得る。
【表１６】
0006479651.tif 000017
【０２１０】
代替的に、ｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢのいずれかが利用可能でないか、あるいはｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢがＶＳＰスキップモードで符号化されない場合、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素は、以下の表１７に従って２値化され得る。
【表１７】
0006479651.tif 000018
【０２１１】
[0225]ｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢのいずれかが利用可能でないか、あるいはｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢがＶＳＰスキップモードで符号化されないとき、エントロピーコーダは、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素のビンごとにｃｔｘＩｄｘＩｎｃを判断し得る。この例では、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる（すなわち、エントロピーコーダが、ｍｂ＿ｓｋｉｐ＿ｉｄｘシンタックス要素の第１のビンをエントロピーコーディングしている）場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和に等しくなり得る。すなわち、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとなる。この例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなり得る。
【０２１２】
[0226]さらに、この例では、ビンのｂｉｎＩｄｘが１に等しくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡプラスｃｏｎｄＴｅｒｍＦｌａｇＢに等しくなり得る。ビンのｂｉｎＩｄｘが１に等しくなるとき、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなり得る。
【０２１３】
[0227]他の例では、ビンのｃｔｘＩｄｘＩｎｃは、単一の空間ネイバーのみに依存し得る。たとえば、ｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡに等しくなり得る。別の例では、ｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＢに等しくなり得る。この例では、ｃｏｎｄＴｅｒｍＦｌａｇＡおよびｃｏｎｄＴｅｒｍＦｌａｇＢは上記のように定義され得る。
【０２１４】
[0228]本開示の技法の第８の例示的な実装形態は、第７の例示的な実装形態と同様であるが、２値化およびコンテキスト選択方法が異なる。第８の例示的な実装形態では、Ｐスライス中のＰ  ＭＢとＢスライス中のＢ  ＭＢとのための２値化方式は、以下の表１８に従って指定される。
【表１８】
0006479651.tif 000019
【０２１５】
[0229]代替的に、第８の例示的な実装形態では、Ｐスライス中のＰ  ＭＢとＢスライス中のＢ  ＭＢとのための２値化プロセスは、以下の表１９に従って指定される。
【表１９】
0006479651.tif 000020
【０２１６】
[0230]第８の例示的な実装形態では、エントロピーコーダが、ＭＢ＿ｓｋｉｐ＿ｉｄｃシンタックス要素をコーディングしているとき、エントロピーコーダは、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンごとにｃｔｘＩｄｘＩｎｃを判断し得る。たとえば、ｍｂ＿ｓｋｉｐ＿ｉｄｃを復号するとき、ｍｂ＿ｓｋｉｐ＿ｉｄｃのためのｃｔｘＩｄｘＩｎｃは、ｂｉｎＩｄｘに応じて指定され得る。ビンのためのｃｔｘＩｄｘＩｎｃを判断する際、ｍｂＰＡｄｄｒＡは、現在のＭＢの左側の隣接ＭＢ（または８×８ブロック）を表し得、ｍｂＰＡｄｄｒＢは、現在のＭＢまたはＭＢパーティションの上側の隣接ＭＢ（または８×８ブロック）を表し得る。
【０２１７】
[0231]２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる場合、エントロピーエンコーダは、様々な方法でビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。たとえば、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和に等しくなり得る。この例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがスキップモード（通常のスキップモードまたはＶＳＰスキップモードのいずれか）である場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、この例では、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなる。別の例では、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和に等しくなり得る。この例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがスキップモードでない（通常のスキップモードでもＶＳＰスキップモードでもない）場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しくなり得る。そうでない場合、この例では、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなる。別の例では、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０に等しくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃはｃｏｎｄＴｅｒｍＦｌａｇＮに等しくなり得、ここで、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は、本段落の他の例によって記述された方法で定義される。
【０２１８】
[0232]２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０よりも大きくなる場合、エントロピーコーダは、様々な方法でビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。たとえば、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０より大きくなる場合、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＡとｃｏｎｄＴｅｒｍＢとｃｔｘＯｆｆｓｅｔとの和に等しくなり得る。この例では、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかであり得る）とｃｔｘＯｆｆｓｅｔとは、どちらもｍｂＰＡｄｄｒＮのモードに依存し得る。さらに、この例では、ｍｂＰＡｄｄｒＡとｍｂＰＡｄｄｒＢの両方が、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｔｘＯｆｆｓｅｔは０に等しくなり得る。そうでない場合、ｃｔｘＯｆｆｓｅｔは３に等しくなり得る。一代替では、ｃｔｘＯｆｆｓｅｔは０に設定される。別の代替では、ｍｂＰＡｄｄｒＡとｍｂＰＡｄｄｒＢの両方が、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｔｘＯｆｆｓｅｔは、３に等しくなり、そうでない場合、０に等しくなる。この例では、ｍｂＰＡｄｄｒＡとｍｂＰＡｄｄｒＢの両方が、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとは０に等しく設定され得る。代替的に、ｍｂＰＡｄｄｒＮ（ここで、ＮはＡまたはＢのいずれかであり得る）が利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定され、そうでない場合、１に等しく設定される。
【０２１９】
[0233]前の段落の例を続けると、ｍｂＰＡｄｄｒＡまたはｍｂＰＡｄｄｒＢのいずれかが、利用可能でないか、またはＶＳＰスキップモードとしてコーディングされない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかである）は０に等しく設定され得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しく設定され得る。一代替例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定され、そうでない場合、１に等しく設定される。別の代替例では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定され得、そうでない場合、１に等しく設定され得る。別の代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に設定され得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定され得る。別の代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定され得る。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に設定され得る。
【０２２０】
[0234]別の例では、第８の例示的な実装形態によれば、２値化されたｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素のビンのｂｉｎＩｄｘが０よりも大きい場合、エントロピーコーダは、ビンのためのｃｔｘＩｄｘＩｎｃをｃｏｎｄＴｅｒｍＦｌａｇＮとｃｔｘＯｆｆｓｅｔとの和として判断し得る。この例では、ｃｏｎｄＴｅｒｍＦｌａｇＮ（ここで、ＮはＡまたはＢのいずれかであり得る）とｃｔｘＯｆｆｓｅｔとは、どちらもｍｂＰＡｄｄｒＮのモードに依存し得る。さらに、この例では、ｍｂＰＡｄｄｒＡが、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｔｘＯｆｆｓｅｔは０に設定され得る。そうでない場合、ｃｔｘＯｆｆｓｅｔは２に設定され得る。一代替では、ｃｔｘＯｆｆｓｅｔは０に設定される。別の代替では、ｍｂＰＡｄｄｒＮが、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｔｘＯｆｆｓｅｔは２に設定される。そうでない場合、この代替では、ｃｔｘＯｆｆｓｅｔは０に設定される。
【０２２１】
[0235]前の段落の例を続けると、ｍｂＰＡｄｄｒＮが、利用可能であり、ＶＳＰスキップモードとしてコーディングされる場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは、ｍｂＰＡｄｄｒＮが、利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮが０に等しく設定され、そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮが１に設定されると定義され得る。そうではなく、ｍｂＰＡｄｄｒＮが、利用可能でないか、またはＶＳＰスキップモードとしてコーディングされない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは、ｍｂＰＡｄｄｒＮが、利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮが０に等しく設定され、そうでない場合、１に等しく設定されると定義され得る。一代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定される。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しく設定される。別の代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードがＶＳＰスキップモードでない場合、ｃｏｎｄＴｅｒｍＳｋｉｐＦｌａｇＮは０に等しく設定される。そうでない場合、それは１に設定される。別の代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードである場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定される。そうでない場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しく設定される。別の代替では、ｍｂＰＡｄｄｒＮが利用可能でないか、またはｍｂＰＡｄｄｒＮのモードが通常のスキップモードでない場合、ｃｏｎｄＴｅｒｍＳｋｉｐＦｌａｇＮは０に等しく設定される。そうでない場合、それは１に設定される。
【０２２２】
[0236]上述のように、本開示のいくつか技法は、複数のＶＳＰピクチャをサポートする。そのような技法は、本開示で説明した第７または第８の実装形態（または他の実装形態）に追加のものであり得る。そのような技法では、利用可能なＶＳＰピクチャの総数は、ビットストリームの様々な部分でシグナリングされ得る。たとえば、利用可能なＶＳＰピクチャの総数は、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、またはビットストリームの別の部分でシグナリングされ得る。利用可能な複数のＶＳＰピクチャがあるとき、シンタックス要素は、適用可能なＶＳＰピクチャのインデックスを示すためにシグナリングされ得る。ＶＳＰピクチャの数が１よりも大きいとき、以下の説明が適用され得る。以下の表２０に、スライスデータのための例示的なシンタックス構造を示す。表２０のシンタックス構造は、ＭＢに適用可能なＶＳＰピクチャのインデックスを指定するシンタックス要素ｖｓｐ＿ｒｅｆ＿ｉｄｘを含む。
【表２０】
0006479651.tif 000021
【０２２３】
[0237]表２０の例示的なシンタックス構造では、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素は、予測のために使用されるべきＶＳＰピクチャのインデックスを指定し得る。現在のＭＢが、ｍｂ＿ｓｋｉｐ＿ｉｄｃシンタックス要素によって示されるＶＳＰピクチャから導出され得るＶＳＰピクチャからスキップされる場合、スライスデータシンタックス構造はｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。さらに、ｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素が１に等しくなる場合、スライスデータシンタックス構造はｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。さらに、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、スライスデータシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素を含み得る。前に説明したように、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、ｍｂＰａｒｔＩｄｘに識別される現在のＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示す。ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、スライスデータシンタックス構造はｖｓｐ＿ｍｂ＿ｆｌａｇシンタックス要素をも含み得る。前に説明したように、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、ｍｂＰａｒｔＩｄｘに識別される現在のＭＢパーティション（８×８）がＶＳＰピクチャから予測されるかどうかを示す。
【０２２４】
[0238]以下の表２１に、ＭＢレイヤシンタックス構造についての例示的なシンタックスを示す。表２１に示すように、ＭＢレイヤシンタックス構造は、複数の利用可能なＶＳＰピクチャの中からＶＳＰピクチャを識別するｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。
【表２１】
0006479651.tif 000022
【０２２５】
[0239]表２１では、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素のセマンティクスは、表２０に関して上記で説明したセマンティクスと同じであり得、同じ条件が生じるとき、ＭＢレイヤシンタックス構造は、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。
【０２２６】
[0240]さらに、以下の表２２に、ＭＢ予測シンタックス構造についての例示的なシンタックスを示す。表２２に示すように、ＭＢ予測シンタックス構造は、ｍｂＰａｒｔＩｄｘによって識別されるＭＢパーティションについて、複数の利用可能なＶＳＰピクチャの中からＶＳＰピクチャを識別するｖｓｐ＿ｒｅｆ＿ｉｄｘ［ｍｂＰａｒｔＩｄｘ］シンタックス要素を含み得る。
【表２２】
0006479651.tif 000023
【０２２７】
[0241]表２２では、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素のセマンティクスは、表２０に関して上記で説明したセマンティクスと同じであり得、同じ条件が生じるとき、ＭＢ予測シンタックス構造は、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。
【０２２８】
[0242]以下の表２３に、サブＭＢ予測シンタックス構造についての例示的なシンタックスを示す。表２３に示すように、サブＭＢ予測シンタックス構造は、ｍｂＰａｒｔＩｄｘによって識別されるサブＭＢパーティションについて、複数の利用可能なＶＳＰピクチャの中からＶＳＰピクチャを識別するｖｓｐ＿ｒｅｆ＿ｉｄｘ［ｍｂＰａｒｔＩｄｘ］シンタックス要素を含み得る。
【表２３】
0006479651.tif 000024
【０２２９】
[0243]表２３では、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素のセマンティクスは、表２０に関して上記で説明したセマンティクスと同じであり得、同じ条件が生じるとき、ＭＢ予測シンタックス構造は、ｖｓｐ＿ｒｅｆ＿ｉｄｘシンタックス要素を含み得る。
【０２３０】
[0244]ｖｓｐ＿ｒｅｆ＿ｉｄｘのための２値化プロセスは、ｒｅｆ＿ｉｄｘ＿ｌ０およびｒｅｆ＿ｉｄｘ＿ｌ１と同じあり得る。ｖｓｐ＿ｒｅｆ＿ｉｄｘのコンテキスト選択は、ｒｅｆ＿ｉｄｘ＿ｌ０およびｒｅｆ＿ｉｄｘ＿ｌ１と同様の方法で実行され得る。Ｈ．２６４／ＡＶＣ規格は、ｒｅｆ＿ｉｄｘ＿ｌ０およびｒｅｆ＿ｉｄｘ＿ｌ１のための２値化プロセスおよびコンテキスト選択を記載している。ｖｓｐ＿ｒｅｆ＿ｉｄｘのためのコンテキストモデリングは、ｒｅｆ＿ｉｄｘ＿ｌ０またはｒｅｆ＿ｉｄｘ＿ｌ１の値ではなく、隣接ＭＢまたはＭＢパーティションのｖｓｐ＿ｒｅｆ＿ｉｄｘの値に基づき得る。
【０２３１】
[0245]いくつかの例では、ＭＢまたはＭＢパーティションは、２つのＶＳＰピクチャに基づいて予測され得る。いくつかのそのような例では、ＭＢ予測シンタックス構造は、以下の表２４によって記述されるシンタックスを有し得る。
【表２４】
0006479651.tif 000025
【０２３２】
[0246]表２４の例示的なシンタックスでは、ＭＢ予測シンタックス構造は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］シンタックス要素とｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇｌ１［ｍｂＰａｒｔＩｄｘ］シンタックス要素とを含み得る。ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］シンタックス要素は、現在のＭＢパーティションがＲｅｆＰｉｃＬｉｓｔ０中の通常の参照ピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示す。たとえば、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、現在のＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測されず、ＶＳＰピクチャから予測される。この例では、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］が０に等しくなる場合、ＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測される。同様に、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］シンタックス要素は、現在のＭＢパーティションがＲｅｆＰｉｃＬｉｓｔ１中の通常の参照ピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示す。たとえば、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、現在のＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ中の通常のピクチャから予測されず、ＶＳＰピクチャから予測される。この例では、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］フラグが０に等しくなる場合、ＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ１中の通常のピクチャから予測される。
【０２３３】
[0247]さらに、ＭＢまたはＭＢパーティションが２つのＶＳＰピクチャに基づいて予測され得るいくつかの例では、サブＭＢ予測シンタックス構造は、以下の表２５によって記述されるシンタックスを有し得る。
【表２５】
0006479651.tif 000026
【０２３４】
[0248]表２５の例示的なシンタックスでは、サブＭＢ予測シンタックス構造は、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］シンタックス要素とｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］シンタックス要素とｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］シンタックス要素とを含み得る。ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティション（８×８）がＶＳＰピクチャから予測されるかどうかを示す。たとえば、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、現在のＭＢパーティション（８×８）はＶＳＰピクチャから予測される。この例では、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が０に等しくなる場合、現在のＭＢパーティション（８×８）はＶＳＰピクチャから予測されない。ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が存在しないとき、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］は０に等しくなると推測され得る。ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ［ｍｂＰａｒｔＩｄｘ］が１に等しくなるとき、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］とｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］の両方は１に等しくなると導出される。
【０２３５】
[0249]ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティションがＲｅｆＰｉｃＬｉｓｔ０中の通常の参照ピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示す。たとえば、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、現在のＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測されず、ＶＳＰピクチャから予測される。この例では、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ０［ｍｂＰａｒｔＩｄｘ］が０に等しくなる場合、ＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測される。同様に、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］シンタックス要素は、現在のＭＢパーティションがＲｅｆＰｉｃＬｉｓｔ１中の通常の参照ピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示す。たとえば、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］が１に等しくなる場合、現在のＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ１中の通常のピクチャから予測されず、ＶＳＰピクチャから予測される。この例では、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿ｌ１［ｍｂＰａｒｔＩｄｘ］フラグが０に等しくなる場合、ＭＢパーティションは、予測のためのＲｅｆＰｉｃＬｉｓｔ１中の通常のピクチャから予測される。
【０２３６】
[0250]いくつかの例では、ＶＳＰピクチャは参照ピクチャリスト中に含まれ、ｒｅｆ＿ｉｄｘは、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇｌ０、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇｌ１、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ０、およびｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿ｌ１の値を導出するために使用される。１つのそのような例では、ＶＳＰピクチャは、ＲｅｆＰｉｃＬｉｓｔ０のｒｅｆ＿ｉｄｘ＿ｌ０＿ｖｓｐエントリとして含まれ得る。この例では、ｒｅｆ＿ｉｄｘ＿ｌ０＿ｖｓｐは、ＶＳＰピクチャのＲｅｆＰｉｃＬｉｓｔ０中の位置を示す。さらに、この例では、ＶＳＰピクチャは、ＲｅｆＰｉｃＬｉｓｔ１のｒｅｆ＿ｉｄｘ＿ｌ１＿ｖｓｐエントリとして含まれ得る。言い換えれば、ｒｅｆ＿ｉｄｘ＿ｌ１＿ｖｓｐは、ＶＳＰピクチャのＲｅｆＰｉｃＬｉｓｔ１中の位置を示す。ＶＳＰピクチャがＲｅｆＰｉｃＬｉｓｔ０中にない場合、ｒｅｆ＿ｉｄｘ＿ｌ０＿ｖｓｐは−１に等しくなる。ＶＳＰピクチャがＲｅｆＰｉｃＬｉｓｔ１中にない場合、ｒｅｆ＿ｉｄｘ＿ｌ１＿ｖｓｐは−１に等しくなる。これを以下の表２６および表２７に示す。
【表２６】
0006479651.tif 000027
【０２３７】
[0251]表２６に示すように、ｒｅｆ＿ｉｄｘ＿ｌ０［ｍｂＰａｒｔＩｄｘ］がｒｅｆ＿ｉｄｘ＿ｌ０＿ｖｓｐに等しくなる場合、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は１に等しくなり得る。上記のように、１に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティションが、ＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測されず、むしろＶＳＰピクチャから予測されることを示し得る。同様に、ビデオデコーダ３０は、ｒｅｆ＿ｉｄｘ＿ｌ１［ｍｂＰａｒｔＩｄｘ］がｒｅｆ＿ｉｄｘ＿ｌ１＿ｖｓｐに等しくなる場合、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿Ｌ１［ｍｂＰａｒｔＩｄｘ］が１に等しくなると判断し得る。１に等しいｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティションが、ＲｅｆＰｉｃＬｉｓｔ１中の通常のピクチャから予測されず、むしろＶＳＰピクチャから予測されることを示し得る。したがって、表２６の例示的なシンタックスでは、現在のＭＢパーティションが通常のピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示すために別個のシンタックス要素をシグナリングすることが不要であり得る。代わりに、現在のＭＢパーティションが通常のピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを判断する目的で、ｒｅｆ＿ｉｄｘ＿ｌ０シンタックス要素が再使用され得る。
【表２７】
0006479651.tif 000028
【０２３８】
[0252]表２７に示すように、ビデオデコーダ３０は、ｒｅｆ＿ｉｄｘ＿ｌ０［ｍｂＰａｒｔＩｄｘ］がｒｅｆ＿ｉｄｘ＿ｌ０＿ｖｓｐに等しくなる場合、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は１に等しくなると判断し得る。上記のように、１に等しいｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティション（８×８）が、ＲｅｆＰｉｃＬｉｓｔ０中の通常のピクチャから予測されず、むしろＶＳＰピクチャから予測されることを示し得る。同様に、ビデオデコーダ３０は、ｒｅｆ＿ｉｄｘ＿ｌ１［ｍｂＰａｒｔＩｄｘ］がｒｅｆ＿ｉｄｘ＿ｌ１＿ｖｓｐに等しくなる場合、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿Ｌ１［ｍｂＰａｒｔＩｄｘ］が１に等しくなると判断し得る。１に等しいｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ＿Ｌ０［ｍｂＰａｒｔＩｄｘ］は、現在のＭＢパーティション（８×８）が、ＲｅｆＰｉｃＬｉｓｔ１中の通常のピクチャから予測されず、むしろＶＳＰピクチャから予測されることを示し得る。したがって、表２７の例示的なシンタックスでは、現在のＭＢパーティション（８×８）が通常のピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを示すために別個のシンタックス要素をシグナリングすることが不要であり得る。代わりに、現在のＭＢパーティション（８×８）が通常のピクチャから予測されるのか、ＶＳＰピクチャから予測されるのかを判断する目的で、ｒｅｆ＿ｉｄｘ＿ｌ０シンタックス要素が再使用され得る。
【０２３９】
[0253]動きベクトル予測は、ＭＢまたはＭＢパーティションなどの現在のビデオユニットのための動きベクトルを判断するプロセスである。概して、ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダが現在のビデオユニットの動きベクトルを判断するとき、ビデオコーダは、深度ビューコンポーネント中の代表的な深度値を判断し得る。いくつかの例では、代表的な深度値は、現在のビデオユニットのサンプルブロックとコロケートされた深度値のブロック中の深度値の平均深度値であり得る。ビデオデコーダは、次いで、代表的な深度値に少なくとも部分的に基づいて、現在のビデオユニットの視差ベクトルを判断し得る。視差ベクトルの起点は、現在のビデオユニットと同じアクセスユニットの参照テクスチャビューコンポーネント内の、現在のビデオユニットのサンプルブロック内のロケーションとコロケートされたロケーションであり得る。参照テクスチャビューコンポーネントの参照ビデオユニットのサンプルブロックは、視差ベクトルの端末ポイントを含み得る。参照ビデオユニットが別のアクセスユニットのテクスチャビューから予測される場合、現在のビデオユニットの動きベクトルは、参照ビデオユニットの動きベクトルに等しくなり得る。他の例では、現在のビデオユニットの動きベクトルは視差ベクトルに等しくなり得る。
【０２４０】
[0254]深度ベースの動きパラメータ予測（ＤＢＭＰ：depth-based motion parameter prediction）では、符号化ビデオユニット（たとえば、ＭＢ、ＭＢパーティションなど）のピクセルごとの、動きベクトルおよび参照インデックスなどの動き情報は、同じ時間インスタンスにおける隣接ビュー中の符号化ビデオユニット（すなわち、アクセスユニット）からのコード化済みの視差マップを使用して直接推論され得る。言い換えれば、ビデオコーダは、視差マップに基づいてピクセルごとに動きベクトルおよび参照インデックスを判断し得る。このプロシージャは、符号化ビデオユニットのピクセルごとに独立して繰り返され得る。したがって、ＤＢＭＰでは、動きベクトルおよび参照インデックスは、ビットストリーム中で送信されず、むしろビデオデコーダ３０の参照ビューから取得される。
【０２４１】
[0255]いくつかの例では、ＶＳＰは、動きベクトル予測と統合され得る。たとえば、ＶＳＰは、穴埋めなしの逆方向ワーピングに簡略化され得る。逆方向ワーピングはワーピングの逆である。ワーピングは、参照ビューコンポーネント中のサンプルが、視差に基づいて、ターゲットビューコンポーネント中のロケーションにマッピングされるプロセスである。穴埋めは、ターゲットビューコンポーネント中の背景オブジェクトの非遮断部分を表すピクセルを穴埋めするプロセスである。さらに、ＶＳＰが動きベクトル予測と統合されるとき、視差値または深度値は、４×４ブロック全体に適用され得る。このようにして、ビュー合成予測は、動きベクトルが、深度または視差から導出され、ＭＢまたはＭＢパーティションの各４×４ブロックに関連付けられる、従来の動き補償に簡略化され得る可能性がある。この場合、ＶＳＰモードは、いわゆる統合ＶＳＰモードに再設計される。
【０２４２】
[0256]上記の表３、表４および表５において説明したシンタックスは、ＶＳＰと動きベクトル予測の統合をサポートするために再使用され得る。しかしながら、ビュー合成予測と動きベクトル予測の統合をサポートするために表３、表４および表５において説明したシンタックスが再利用されるとき、いくつかの問題が発生し得る。たとえば、上記の表３、表４および表５で説明した通常のＶＳＰでは、各ブロックに対応する動きベクトルは０であるが、ＶＳＰを使用してブロックの動きベクトルを導出するために視差ベクトルが使用され得る。したがって、動きベクトルは、常に０に等しくなるべきではない。別の例では、通常のＶＳＰでは、動きベクトルが０であるので、ＶＳＰモードを用いてコーディングされた隣接ＭＢの導出動きベクトルの予測がない。しかしながら、統合ＶＳＰモードでは、ＶＳＰを使用するブロックの導出動きベクトルは常に０になるとは限らない。
【０２４３】
[0257]本開示の１つまたは複数の技法によれば、ＶＳＰピクチャは参照ピクチャリストに追加されない。したがって、ビデオエンコーダ２０は、ＶＳＰピクチャを使用してコーディングされるブロックについての動き情報（たとえば、参照インデックス、動きベクトルなど）をシグナリングする必要がないことがある。さらに、統合ＶＳＰモードによってビュー合成が実現され得るので、ビデオコーダがＶＳＰピクチャを生成する必要がないことがある。
【０２４４】
[0258]たとえば、ＶＳＰが深度ベースの動きベクトル予測または視差動きベクトルベースの動きベクトル予測に統合されるとき、上記の表３、表４および表５で説明した設計と同じシンタックス設計を使用して、ＭＢまたはＭＢパーティションがＶＳＰピクチャから予測されるかどうかを示すために、ＭＢまたはＭＢパーティションレベルに統合ＶＳＰモードのシグナリングが導入される。さらに、ＶＳＰが深度ベースの動きベクトル予測に統合されるとき、統合ＶＳＰモードに属するブロックの各々は、他の空間／時間隣接ブロックからの深度マップまたは視差動きベクトルによって導出されるそれの動きベクトルを有する。
【０２４５】
[0259]いくつかの例では、統合ＶＳＰモードは、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、またはｖｓｐ＿ｍｂ＿ｆｌａｇのうちの１つが１に等しくなることによって識別される。他の例では、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、またはｖｓｐ＿ｍｂ＿ｆｌａｇのいずれもシグナリングされないとき、統合ＶＳＰモードは、参照インデックスが特定の値にシグナリングされることよって識別され得る。これらの例では、ｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇ、およびｖｓｐ＿ｍｂ＿ｆｌａｇのエントロピーコーディング（たとえば、エントロピー符号化またはエントロピー復号）は、本開示の他の場所で説明するものと同じであり得る。
【０２４６】
[0260]ビデオコーダは、参照ピクチャに基づいてＶＳＰピクチャを生成する。スライスヘッダは、ＶＳＰピクチャを生成すべき参照ピクチャを含んでいるビューを示し得る。３Ｄ−ＡＶＣ仕様は、スライスヘッダ中で、ビュー合成のために使用されるべきビューをすでに示している。本開示は、「ｒｅｆＶｉｅｗＰｉｃＶＳＰ」を使用して、スライスヘッダ中で示される、ＶＳＰのための参照ビューピクチャと同じアクセスユニット中にあるビューの復号ピクチャを示す。ビュー合成のために使用されるビューは、一般に、通常のＭＶＣ方式のビュー間予測のために使用されるビューであるので、ビデオコーダは、参照ピクチャリストにｒｅｆＶｉｅｗＰｉｃＶＳＰをすでに追加していることがある。ビデオコーダは、（ＲｅｆＰｉｃＬｉｓｔ０に対応する）参照インデックスを次のように判断し得る。両端値を含む、０からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔ０［ｉ］がｒｅｆＶｉｅｗＰｉｃＶＳＰに等しくなる場合、ビデオコーダは参照インデックスをｉに設定し得る。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ＲｅｆＰｉｃＬｉｓｔ０中のアクティブ参照ピクチャの数から１を減算した数を示し得る。ｉが、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に１を加算した数に等しくなる場合、ビデオコーダは、参照インデックスがｉに等しくなり、ｒｅｆＶｉｅｗＰｉｃＶＳＰが最後のエントリとしてＲｅｆＰｉｃＬｉｓｔ０に追加されると判断し得る。
【０２４７】
[0261]代替的に、フラグ（たとえば、ｖｓｐ＿ｍｂ＿ｆｌａｇ、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇなど）が統合ＶＳＰモードを示すために使用されず、さらに、参照インデックス（ｒｅｆ＿ｉｄｘ＿ｌｘ）が明示的にシグナリングされるとき、参照インデックス（ｒｅｆ＿ｉｄｘ＿ｌｘ）は次のようにリセットされ得る。両端値を含む、０からｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１までの各ｉについて、ＲｅｆＰｉｃＬｉｓｔＸ［ｉ］がＲｅｆＶｉｅｗＰｉｃＶＳＰに等しくなる場合、ｒｅｆ＿ｉｄｘ＿ｌｘはｉに設定される。
【０２４８】
[0262]参照インデックスのためのこの導出プロセスは、ビデオデコーダ３０の参照ピクチャリストのサイズを低減させるために使用され得る。実際に、参照ピクチャリストに追加される参照インデックスｒｅｆ＿ｉｄｘ＿ｌｘに対応するピクチャはない。代わりに、単に統合ＶＳＰモードをシグナリングするためにｒｅｆ＿ｉｄｘ＿ｌｘが使用され得、統合ＶＳＰモードを用いてコーディングされるブロックは、ｒｅｆ＿ｉｄｘ＿ｌｘがリセットされた後、ＲｅｆＰｉｃＬｉｓｔ［ｒｅｆ＿ｉｄｘ＿ｌｘ］から動き補償される。
【０２４９】
[0263]現在のビデオユニット（たとえば、ＭＢ、ＭＢパーティション、またはサブＭＢパーティション）がビュー合成モードを用いてコーディングされる例では、動きベクトルの導出は、現在のビデオユニットの４×４ブロックごとの、動きベクトルの導出を含み得る。動きベクトルは、すべてｒｅｆＶｉｅｗＰｉｃＶＳＰを参照し得、一般に、ＲｅｆＰｉｃＬｉｓｔ０についてのみ予測され、現在のビデオユニットが単方向予測だけされることを意味する。
【０２５０】
[0264]現在のテクスチャビューコンポーネントの現在のビデオユニットのための動きベクトルを導出する複数の方法があり得る。たとえば、ビデオコーダは、対応する復号深度ビューブロックから動きベクトルを導出し得る。この例では、ビデオコーダは、代表的な深度値を入手し得る。深度ピクチャが現在のテクスチャピクチャの解像度の１／４である（すなわち、現在のテクスチャビューコンポーネント中の１つの４×４ブロックが深度ビューコンポーネント中の１つの２×２領域に対応する）とき、ビデオコーダは、様々な方法で２×２領域中の４つの値を処理し得る。たとえば、４つの値の最大値が代表的な深度値として戻され得る。別の例では、４つの値の平均値が代表的な深度値として戻され得る。別の例では、４つの値の中央値が代表的な深度値として戻される。深度ピクチャが現在のテクスチャピクチャの解像度の１／４でない（すなわち、現在のテクスチャビューコンポーネント中の１つの４×４ブロックが深度ビューコンポーネント中の１つのＮ×Ｍ領域に対応する）とき、ビデオコーダは、様々な方法で代表的な深度値を判断し得る。たとえば、ビデオデコーダは、代表的な深度値が対応するＮ×Ｍ領域のすべての深度ピクセルの平均値であると判断し得る。別の例では、ビデオデコーダは、代表的な深度値が対応するＮ×Ｍ領域の４つの角の深度ピクセルの平均値であると判断し得る。別の例では、ビデオデコーダは、代表的な深度値が対応するＮ×Ｍ領域の４つの角の深度ピクセルの最大値であると判断し得る。別の例では、ビデオデコーダは、代表的な深度値が対応するＮ×Ｍ領域の４つの角の深度値の中央値であると判断し得る。代表的な深度値を判断した後に、ビデオデコーダは、代表的な深度値を視差ベクトルに変換し、動きベクトルを視差ベクトルに設定し得る。視差ベクトル（および動きベクトル）のｙ軸成分は０に等しくなり得る。
【０２５１】
[0265]さらに、対応する深度ビュー（すなわち、サンプルをもつビュー、ｖｉｅｗ＿ｉｄ）が復号されていないとき、参照ビューの深度マップから動きベクトルを導出する複数の方法があり得る。さらに、現在のブロックの空間／時間隣接ブロックから動きベクトルを導出する複数の方法があり得る。代替的に、導出された動きベクトルの垂直成分がさらに０にリセットされ得る。
【０２５２】
[0266]上記で説明したいくつかの例では、ＶＳＰモードを用いてまたはＶＳＰモードを用いずにコーディングされた２つの隣接ブロックは、２つの参照ピクチャからインター予測されると見なされ得る。したがって、２つの隣接ブロック間の境界の境界強度は、２つの隣接ブロックがどちらもインター予測されるが、２つの異なる参照ピクチャからインター予測される場合に等しくなり得る。デブロッキングフィルタのこの設計は、統合ＶＳＰモードが隣接ブロックのうちの１つにおいて使用されるときにデブロッキングフィルタのために使用され得る。
【０２５３】
[0267]たとえば、隣接ブロックの両方がＶＳＰモードによって予測されるとき、フィルタモジュール（フィルタモジュール１１３または１６０など）は、デブロッキングフィルタ中で、両方のブロックが同じ参照ピクチャから予測され、したがって、動きベクトルが比較される場合と同様に、導出動きベクトルを比較し得る。一方、１つのブロックが統合ＶＳＰモードを使用してコーディングされ、他のブロックがビュー間予測を用いてコーディングされ、ｒｅｆＶｉｅｗＰｉｃＶＳＰがビュー間予測参照ピクチャに等しくなるとき、２つのブロックは同じ参照ピクチャを有すると見なされる。さらに、１つのブロックが統合ＶＳＰモードを使用してコーディングされ、他のブロックが時間参照ピクチャを用いてコーディングされるとき、統合ＶＳＰモードを用いてコーディングされたブロックはイントラコード化ブロックと見なされ得る。
【０２５４】
[0268]上記で説明したように、本開示の技法は、ＨＥＶＣベースの３ＤＶに効率的なＶＳＰ機構を与え得る。これらの技法は様々な方法で実装され得る。ＨＥＶＣベースの３ＤＶのための第１の実装形態によれば、シーケンスパラメータセットは、ＨＥＶＣベースの３ＤＶにおいてＶＳＰをサポートするフラグを含み得る。以下の表２８に、ＨＥＶＣベースの３ＤＶにおけるシーケンスパラメータセットについての例示的なシンタックスの一部を示す。
【表２８】
0006479651.tif 000029
【０２５５】
[0269]表２８の例では、ＳＰＳは、ｓｅｑ＿ｖｓｐ＿ｆｌａｇシンタックス要素を含む。ｓｅｑ＿ｖｓｐ＿ｆｌａｇシンタックス要素が特定の値（たとえば、１）を有する場合、ＳＰＳはｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇシンタックス要素を含む。ｓｅｑ＿ｖｓｐ＿ｆｌａｇシンタックス要素は、ＶＳＰモードがＳＰＳを参照するすべてのピクチャのために使用可能であるかどうかを示す。たとえば、１に等しいｓｅｑ＿ｖｓｐ＿ｆｌａｇは、ＶＳＰモードがＳＰＳを参照するすべてのピクチャのために使用可能であること示し得る。この例では、０に等しいｓｅｑ＿ｖｓｐ＿ｆｌａｇは、ＶＳＰモードが使用不能であることを示し得る。さらに、この例では、ｓｅｑ＿ｖｓｐ＿ｆｌａｇが存在しないとき、ビデオデコーダ３０は、ｓｅｑ＿ｖｓｐ＿ｆｌａｇが０に等しくなると推論し得る。
【０２５６】
[0270]ｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇシンタックス要素は、ＶＳＰモードがＣＵレベルにのみ適用されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇは、ＶＳＰモードがＣＵレベルにのみ適用されることを示し得る。したがって、ｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇが１に等しくなる場合、１つのＰＵはＶＳＰピクチャから予測され得るが、別のＰＵは他のモードによって予測され得る。この例では、０に等しいｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇは、ＶＳＰモードがＰＵレベルに適用されることを示し得る。さらに、この例では、ｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇが存在しないとき、ビデオデコーダ３０は、ｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇが０に等しくなると推論し得る。他の例では、ｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇが存在せず、ＶＳＰモードが常にＰＵレベルに適用され得る。
【０２５７】
[0271]ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、スライスヘッダは、ＨＥＶＣベースの３ＤＶにおいてＶＳＰをサポートするフラグを含み得る。以下の表２９に、ＨＥＶＣベースの３ＤＶにおけるスライスヘッダについての例示的なシンタックスを示す。
【表２９】
0006479651.tif 000030
【０２５８】
[0272]表２９の例示的なシンタックスでは、ＶＳＰモードが使用可能であり、スライスがＩスライスでないことを、適用可能なＳＰＳのｓｅｑ＿ｖｓｐ＿ｆｌａｇシンタックス要素が示す場合、スライスのスライスヘッダはｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素を含む。スライスヘッダのｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素は、ＶＳＰがスライスのために使用可能であるかどうかを示し得る。たとえば、１に等しいｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇは、ＶＳＰが現在のスライスのために使用可能であることを示し得る。この例では、０に等しいｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇは、ＶＳＰが現在のスライスのために使用不能であることを示し得る。さらに、この例では、ｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇが存在しないとき、ビデオデコーダ３０は、ｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇが０に等しくなると推論し得る。
【０２５９】
[0273]ＨＥＶＣベースの３ＤＶのための第１の実装形態では、ＣＵは、ＨＥＶＣベースの３ＤＶにおいてＶＳＰをサポートするフラグを含み得る。以下の表３０に、ＨＥＶＣベースの３ＤＶにおけるＣＵについての例示的なシンタックスを示す。
【表３０】
0006479651.tif 000031
【０２６０】
[0274]表３０の例では、ＶＳＰが現在のスライスのために使用可能であることを現在のスライス（すなわち、ＣＵを含むスライス）のスライスヘッダのｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇシンタックス要素が示す場合、ＣＵはｖｓｐ＿ｃｕ＿ｆｌａｇシンタックス要素を含む。ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素は、現在のピクチャの座標（ｘ０，ｙ０）にあるピクセルを含むＣＵがＶＳＰピクチャから予測されることを示し得る。すなわち、アレイインデックスｘ０、ｙ０は、現在のピクチャの左上ルーマサンプルに対する現在のＣＵ（すなわち、当該コーディングブロック）の領域の左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定し得る。たとえば、現在のＣＵがＰまたはＢスライス中にあるとき、１に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵのｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇおよびｐａｒｔ＿ｍｏｄｅシンタックス要素が存在しないことと、現在のＣＵがいかなるＰＵをも含まず、現在のＣＵ全体がＶＳＰピクチャから予測されることとを指定し得る。この例では、０に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵ全体がＶＳＰピクチャから完全に予測されないことを指定し得る。したがって、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］が０に等しくなる場合、現在のＣＵは、１つまたは複数のＰＵを含み得る。さらに、この例では、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］が存在しないとき、ビデオデコーダ３０は、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］が０に等しくなると推論し得る。
【０２６１】
[0275]さらに、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、ＰＵは、ＶＳＰをサポートするフラグを含み得る。以下の表３１に、ＨＥＶＣベースの３ＤＶにおけるＰＵについての例示的なシンタックスを示す。
【表３１】
0006479651.tif 000032
【０２６２】
[0276]表３１のシンタックスでは、ＣＵ全体がＶＳＰから予測されないことをＣＵのためのｖｓｐ＿ｃｕ＿ｆｌａｇが示す場合、ＣＵが２Ｎ×２Ｎ区分モードに従って区分されていない場合、およびＶＳＰモードがＣＵレベルにのみ適用されることを適用可能なＳＰＳのｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇが示さない場合、ＰＵは、ｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素を含み得る。ｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素は、ＰＵがＶＳＰ予測を用いてコーディングされるかどうかを示し得る。言い換えれば、ｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＰＵがＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＰＵがＶＳＰ予測を用いてコーディングされることと、さらなるＰＵ関連要素がＰＵ中に存在しないこととを指定し得る。この例では、０に等しいｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＰＵがＶＳＰ予測を用いてコーディングされないことを指定する。ｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］が存在しないとき、ビデオデコーダ３０は、ｖｓｐ＿ｐｕ＿ｆｌａｇ［ｘ０］［ｙ０］がＰＵを含んでいるＣＵのｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］と同じであると推論し得る。別の例では、ビットストリームは、ｖｓｐ＿ｃｕ＿ｆｌａｇとｖｓｐ＿ｉｎ＿ｃｕ＿ｌｅｖｅｌ＿ｏｎｌｙ＿ｆｌａｇの両方が０に等しくなる場合、１つのＣＵ内のすべてのＰＵが１に等しいｖｓｐ＿ｐｕ＿ｆｌａｇを有するとは限らないように制約される。
【０２６３】
[0277]上記の表３１の例では、ｖｓｐ＿ｃｕ＿ｆｌａｇは、このＰＵを含んでいるＣＵのｖｓｐ＿ｃｕ＿ｆｌａｇの値であり得る。代替的に、表３１では、条件「ｉｆ（ｖｓｐ＿ｃｕ＿ｆｌａｇ）」は、以下のように、座標とＣＵのサイズとに基づいてｖｓｐ＿ｃｕ＿ｆｌａｇを明示的に指定するように変更され得る。
【数１】
0006479651.tif 000033
【０２６４】
[0278]さらに、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、ＣＵまたはＰＵがＶＳＰモードを使用するとき、ビデオコーダは、ＣＵまたはＰＵのための予測ブロックを生成するプロセスを実行する。いくつかの例では、ＰＵに適用可能なｖｓｐ＿ｃｕ＿ｆｌａｇシンタックス要素またはｖｓｐ＿ｐｕ＿ｆｌａｇシンタックス要素が１に等しくなる場合、ＣＵまたはＰＵはＶＳＰモードを使用し得る。このプロセスでは、現在のＣＵまたはＰＵは、ルーマ成分の座標が（ｘ，ｙ）、クロマ成分の座標が（ｘ’，ｙ’）の左上ピクセルを有し得る。さらに、このプロセスでは、現在のＣＵまたはＰＵのサイズはＮ×Ｍであると仮定する。４：２：０ビデオフォーマットの場合はＮ／２×Ｍ／２のサイズ、４：４：４ビデオフォーマットの場合はＮ×Ｍのサイズ、または４：２：２ビデオフォーマットの場合はＮ×Ｍ／２のサイズで座標（ｘ’，ｙ’）から開始して、動き補償ユニット１６４は、クロマ成分の同じ座標（ｘ’，ｙ’）から開始して、ＶＳＰピクチャのクロマ成分の各ブロック中のピクセルの値を現在のＣＵまたはＰＵのピクセルに設定し得る。たとえば、動き補償ユニット１６４は、各ＣｂまたはＣｂサンプルがＶＳＰピクチャ中の対応するロケーションにあるＣｂまたはＣｒサンプルに一致するように、現在のＣＵまたはＰＵのための予測ＣｂまたはＣｒブロックを生成し得る。この例では、動き補償ユニット１６４は、ＶＳＰピクチャのＣｂまたはＣｒブロックの座標（ｘ’，ｙ’）から予測ＣｂまたはＣｒブロックを生成し始め得る。さらに、この例では、ＶＳＰピクチャのクロマブロックが、４：２：０ビデオフォーマット、４：４：４ビデオフォーマット、または４：２：２ビデオフォーマットに従ってダウンサンプリングされる場合、予測ＣｂまたはＣｒブロックは、それぞれ、Ｎ／２×Ｍ／２、Ｎ×Ｍ、またはｎ×Ｍ／２のサイズであり得る。
【０２６５】
[0279]さらに、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、ビデオコーダは、ｖｓｐ＿ｃｕ＿ｆｌａｇについてのコンテキストを維持し得る。ｖｓｐ＿ｃｕ＿ｆｌａｇについてのコンテキストは、ｖｓｐ＿ｐｕ＿ｆｌａｇとｖｓｐ＿ｃｕ＿ｆｌａｇの両方をエントロピー符号化するためのコンテキストを与えるために使用され得る。ビデオコーダがｖｓｐ＿ｐｕ＿ｆｌａｇｓとｖｓｐ＿ｃｕ＿ｆｌａｇｓの両方をエントロピーコーディングするとき、ビデオコーダは、ｖｓｐ＿ｃｕ＿ｆｌａｇについてのコンテキストを更新し得る。ｖｓｐ＿ｃｕ＿ｆｌａｇが１に等しくなるとき、ＣＵの各ＰＵは、１に等しいＶｓｐＦｌａｇを有すると推論される。さらに、ｖｓｐ＿ｃｕ＿ｆｌａｇが１に等しくなるとき、ＣＵ中の各４×４ブロックは１に等しいＶｓｐＦｌａｇを有する。ｖｓｐ＿ｃｕ＿ｆｌａｇが０に等しくなるとき、ＣＵ中のＰＵは、異なる値のｖｓｐ＿ｐｕ＿ｆｌａｇを有し得る。１つのＰＵが１に等しいｖｓｐ＿ｐｕ＿ｆｌａｇを有する場合、ＰＵ中のすべての４×４ブロックのためのＶｓｐＦｌａｇは１に設定される。
【０２６６】
[0280]ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、ビデオエンコーダは、ＶｓｐＦｌａｇについてのコンテキストを初期化し得る。ＰスライスのＶｓｐＦｌａｇのコンテキストのための初期確率は、Ｂスライスの初期確率とは異なり得る。ＶｓｐＦｌａｇは、ＰスライスとＢスライスの両方に適用され得る。さらに、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、エントロピーコーダがＶｓｐＦｌａｇをエントロピーコーディングしているとき、エントロピーコーダは、ＶｓｐＦｌａｇに関連するビンのためのｃｔｘＩｄｘＩｎｃを判断し得る。いくつかの例では、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとの和であり得る。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとして導出され得る。別の例では、ビンのためのｃｔｘＩｄｘＩｎｃは、ｃｏｎｄＴｅｒｍＦｌａｇＡに等しくなり得る。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡとして導出され得る。別の例では、ビンのためのｃｔｘＩｄｘＩｄｃは、ｃｏｎｄＴｅｒｍＦｌａｇＢに等しくなる。すなわち、ｃｔｘＩｄｘＩｎｃは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＢとして導出され得る。別の例では、ｃｔｘＩｄｘＩｎｃは、０に等しくなるように固定される。
【０２６７】
[0281]上記の例では、エントロピーコーダは、現在のＣＵまたはＰＵに隣接する特定のブロックに関連するデータが、現在のＣＵまたはＰＵに関連するシンタックス要素のためのエントロピーコーディングプロセスにおいて使用するために利用可能であるかどうかに少なくとも部分的に基づいてｃｏｎｄＴｅｒｍＦｌａｇＡとｃｏｎｄＴｅｒｍＦｌａｇＢとを判断し得る。たとえば、ｕｉＰＡｄｄｒＡは、現在のＣＵまたはＰＵの左側の隣接４×４ブロックを表し得、ｕｉＰＡｄｄｒＢは、現在のＣＵまたはＰＵの上側の隣接４×４ブロックを表し得る。いくつかの例では、ｕｉＰＡｄｄｒＮ（ここで、ＮはＡまたはＢのいずれかである）が利用可能でないか、またはブロックｕｉＰＡｄｄｒＮのためのＶｓｐＦｌａｇが０に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは０に等しくなる。そうではなく、この例では、ｕｉＰＡｄｄｒＮが利用可能であり、ブロックｕｉＰＡｄｄｒＮのためのＶｓｐＦｌａｇが１に等しくなる場合、ｃｏｎｄＴｅｒｍＦｌａｇＮは１に等しくなる。
【０２６８】
[0282]ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態では、フィルタユニット（ビデオエンコーダ２０のフィルタユニット１１４またはビデオデコーダ３０のフィルタユニット１６０など）は、デブロッキングフィルタプロセスを実行し得る。このプロセスでは、フィルタユニットは、２つの隣接ピクセルｐ０およびｑ０の間の境界のための境界強度（ｂＳ：boundary strength）を計算する。この例では、フィルタユニットは、ＶＳＰ領域に関係する境界強度を判断し得る。ＶＳＰ領域は、それぞれＶＳＰモードを用いてコーディングされる隣接ＰＵまたはＣＵの領域であり得る。
【０２６９】
[0283]ＶＳＰ領域に関係する境界強度を判断するために、フィルタユニットは、ｐ０およびｑ０の境界がＶＳＰ領域の境界を横断するかどうかを判断し得る。ｐ０およびｑ０の境界がＶＳＰ領域の境界を横断しない場合、フィルタユニットは、ｐ０およびｑ０の境界がインター予測領域内にある場合の境界強度と同じ境界強度に境界強度を設定し得る。インター予測領域は、すべて同じ参照ピクチャ／ピクチャペアと同じまたは同様の（すなわち、ある精度に丸められた後に同じになる）動きベクトルとを用いてコーディングされる隣接ＰＵまたはＣＵの領域である。
【０２７０】
[0284]一方、ｐ０およびｑ０の境界がＶＳＰ領域とインター予測された領域との間の境界を横断する場合、フィルタユニットは、境界が２つのインター予測領域を横断する場合の境界強度と同じ境界強度に境界強度を設定し得る。ｐ０またはｑ０のいずれかがイントラコード化ＣＵに属するとき、フィルタユニットは、ｐ０がイントラ予測ＣＵに属し、ｑ０がインター予測領域に属する場合と同じ境界強度に境界強度を設定し得る。ｐ０がイントラコード化ＣＵに属するとき、ｑ０はＶＳＰ領域に属する。同様に、ｑ０がイントラコード化ＣＵに属するとき、ｐ０はＶＳＰ領域に属する。イントラ予測領域は、あるイントラ予測モードを用いてコーディングされたＣＵであり得る。
【０２７１】
[0285]ＨＥＶＣベースの３ＤＶのための第２の例示的な実装形態は、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態と同様であり得る。ただし、ＨＥＶＣベースの３ＤＶのための第２の例示的な実装形態では、ＶＳＰは、ＣＵレベルにのみ適用され、ＰＵレベルには適用されない。ＨＥＶＣベースの３ＤＶのためのこの第２の例示的な実装形態では、ＰＵについてのシンタックスおよびセマンティクスは、ＨＥＶＣワーキングドラフト６に記載されているメインプロファイルに対して変更されない。さらに、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態の場合とは異なり、ＨＥＶＣベースの３ＤＶのためのこの第２の例示的な実装形態では、ｖｓｐ＿ｐｕ＿ｆｌａｇがないので、ｖｓｐ＿ｃｕ＿ｆｌａｇのエントロピーコーディングはｖｓｐ＿ｃｕ＿ｆｌａｇにのみ依拠し得る。ＨＥＶＣベースの３ＤＶのためのこの第２の例示的な実装形態では、ビデオエンコーダ２０は、ｖｓｐ＿ｉｎ＿ｐｕ＿ｌｅｖｅｌ＿ｆｌａｇをシグナリングせず、ビデオデコーダ３０は、ｖｓｐ＿ｉｎ＿ｐｕ＿ｌｅｖｅｌ＿ｆｌａｇが０に等しくなると常に推論（すなわち、自動的に判断）し得る。
【０２７２】
[0286]ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態は、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態と同様であり得る。ただし、ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態は、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態とは異なる、ＣＵのためのシンタックス構造を有し得る。ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態では、ＣＵのためのシンタックス構造について以下の表３２で説明する。
【表３２】
0006479651.tif 000034
【０２７３】
[0287]表３２の例示的なシンタックス構造はｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］を含む。１に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵについて、ＰまたはＢスライスを復号するとき、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］の後、動きベクトル予測子インデックスを除いてそれ以上シンタックス要素が復号され得ないことを指定する。０に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＣＵがスキップされないことを指定する。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定する。ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が存在しないとき、ビデオデコーダ３０は、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が０に等しくなると推論し得る。１に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］をもつＣＵは、ＨＥＶＣにおける従来のスキップＣＵまたはＶＳＰを用いてコーディングされるＣＵのいずれかであり得、シグナリングされる残余を有さず、したがって、ｔｒａｎｓｆｏｒｍ＿ｔｒｅｅシンタックス構造がＣＵ中に存在しない。
【０２７４】
[0288]本開示の１つまたは複数の技法によれば、ｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しくなる場合、ＣＵは、ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素を含み得る。ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素は、現在のＣＵがＶＳＰモードによって予測されるかどうかを示す。たとえば、１に等しいｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵが、スキップモードを使用して符号化され、ＶＳＰピクチャから予測されることを指定する。この例では、０に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵが従来のＨＥＶＣスキップモードを用いて予測されることを指定する。ＣＵがＰまたはＢスライス中にあり、ＣＵが、従来のＨＥＶＣスキップモードで符号化されるとき、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］の後、動きベクトル予測子インデックスを除いてそれ以上シンタックス要素は復号されない。したがって、本開示の１つまたは複数の技法によれば、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が１に等しくなり、ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が１に等しくない場合、ＣＵはＰＵを含み得る。
【０２７５】
[0289]さらに、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が０に等しくないか、またはｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が１に等しくなり、かつ現在のスライスがＩスライスではなく、ｓｌｉｃｅ＿ｖｓｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しくなる場合、ＣＵは、本開示の１つまたは複数の技法に従って、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］シンタックス要素を含み得る。ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＰまたはＢスライスを復号するとき、予測ユニットシンタックステーブル中のｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇまたはｐａｒｔ＿ｍｏｄｅシンタックス要素がＣＵ中に存在するかどうか、およびＣＵ全体がＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵについて、ＰまたはＢスライスを復号するとき、予測ユニットシンタックステーブル中のｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇまたはｐａｒｔ＿ｍｏｄｅシンタックス要素が存在せず、ＣＵ全体がＶＳＰピクチャから予測されることを指定し得る。この例では、０に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＣＵ全体がＶＳＰピクチャから完全に予測されないことを指定する。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定する。存在しないとき、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ｍａｘ（０，ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］）に等しくなると推論される。
【０２７６】
[0290]ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態では、図２のエントロピー符号化ユニット１１８または図３のエントロピー復号ユニット１５０などのエントロピーコーディングユニットは、ｖｓｐ＿ｃｕ＿ｆｌａｇについてのエントロピーコーディングコンテキストを維持し得る。エントロピーコーディングユニットは、ｖｓｐ＿ｐｕ＿ｆｌａｇ、ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇおよびｖｓｐ＿ｃｕ＿ｆｌａｇのコーディングのためにｖｓｐ＿ｃｕ＿ｆｌａｇについてのエントロピーコーディングコンテキストを使用し得る。エントロピーコーディングユニットは、ｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇｓ、ｖｓｐ＿ｃｕ＿ｆｌａｇｓ、およびｖｓｐ＿ｃｕ＿ｆｌａｇｓをコーディングするとき、エントロピーコーディングユニットは、ｖｓｐ＿ｃｕ＿ｆｌａｇについてのエントロピーコーディングコンテキストを更新し得る。ｖｓｐ＿ｃｕ＿ｆｌａｇまたはｖｓｐ＿ｃｕ＿ｓｋｉｐ＿ｆｌａｇが１に等しくなるとき、ＣＵの各ＰＵは、１に等しいＶｓｐＦｌａｇを有すると推論され得る。さらに、ＣＵ中の各４×４ブロックは、１に等しいＶｓｐＦｌａｇを有する。さらに、ｖｓｐ＿ｃｕ＿ｆｌａｇが０であるとき、ＣＵ中のＰＵは、異なる値のｖｓｐ＿ｐｕ＿ｆｌａｇを有し得る。１つのＰＵが１に等しいｖｓｐ＿ｐｕ＿ｆｌａｇを有する場合、ＰＵ中のすべての４×４ブロックのためのＶｓｐＦｌａｇは１に設定される。
【０２７７】
[0291]ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態では、ＶｓｐＦｌａｇのためのコンテキストモデリングはコンテキスト初期化とコンテキスト選択とを含む。コンテキスト初期化では、ＶＳＰモードがＰスライスとＢスライスの両方のために適用される。ＰスライスのＶｓｐＦｌａｇのコンテキストのための初期確率は、Ｂスライスとは異なり得る。
【０２７８】
[0292]コンテキスト選択では、ｕｉＰＡｄｄｒＡは、現在のＣＵまたはＰＵの左側の隣接４×４ブロックを表し、ｕｉＰＡｄｄｒＢは、現在のＣＵまたはＰＵの上側の隣接４×４ブロックを表す。さらに、エントロピーコーディングユニットは、（ＮがＡまたはＢのいずれかである）変数ｃｏｎｄＴｅｒｍＦｌａｇＮを判断し得る。ｕｉＰＡｄｄｒＡが利用可能でないか、またはブロックｕｉＰＡｄｄｒＡのためのＶｓｐＦｌａｇが０に等しくなる場合、エントロピーコーディングユニットは、ｃｏｎｄＴｅｒｍＦｌａｇＮを０に等しく設定し得る。そうではなく、ｕｉＰＡｄｄｒＮが利用可能であり、ブロックｕｉＰＡｄｄｒＮのためのＶｓｐＦｌａｇが１に等しくなる場合、エントロピーコーディングユニットは、ｃｏｎｄＴｅｒｍＦｌａｇＮを１に等しく設定し得る。
【０２７９】
[0293]さらに、ＨＥＶＣベースの３ＤＶのための第３の例示的な実装形態では、エントロピーコーディングユニットは、コンテキストインデックスｃｔｘＩｄｘを使用してＶｓｐＦｌａｇをコーディングし得る。エントロピーコーディングユニットは、ｃｔｘＩｄｘに対する増分（すなわち、ｃｔｘＩｄｘＩｎｃ）をｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡ＋ｃｏｎｄＴｅｒｍＦｌａｇＢとして判断し得る。代替例では、エントロピーコーディングユニットは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＡのようにｃｔｘＩｄｘＩｎｃを導出し得る。別の代替例では、エントロピーコーディングユニットは、ｃｔｘＩｄｘＩｎｃ＝ｃｏｎｄＴｅｒｍＦｌａｇＢのようにｃｔｘＩｄｘＩｎｃを導出し得る。別の代替例では、ｃｔｘＩｄｘＩｎｃは、０に固定され得る。
【０２８０】
[0294]ＨＥＶＣベースの３ＤＶのための第４の例示的な実装形態は、ＨＥＶＣベースの３ＤＶのための第１の例示的な実装形態と同様であり得る。ただし、ＨＥＶＣベースの３ＤＶのための第４の例示的な実装形態では、ＣＵについてのシンタックスは以下の表３３によって定義され得る。
【表３３】
0006479651.tif 000035
【０２８１】
[0295]表３３の例示的なシンタックスでは、ＣＵは、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］を含む。ＣＵのためのｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＰまたはＢスライスを復号するとき、予測ユニットシンタックステーブル中のｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇまたはｐａｒｔ＿ｍｏｄｅシンタックス要素が存在しないかどうか、およびＣＵ全体がＶＳＰピクチャから予測されるかどうかを示し得る。たとえば、１に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵについて、ＰまたはＢスライスを復号するとき、ＰＵシンタックステーブル中のｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇまたはｐａｒｔ＿ｍｏｄｅシンタックス要素が存在せず、ＣＵ全体がＶＳＰピクチャから予測されることを指定し得る。この例では、０に等しいｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＣＵ全体がＶＳＰピクチャから完全に予測されないことを指定する。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定する。ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］が存在しないとき、ｖｓｐ＿ｃｕ＿ｆｌａｇ［ｘ０］［ｙ０］は０に等しくなると推測され得る。
【０２８２】
[0296]さらに、ＣＵは、ＰまたはＢスライスを復号するとき、現在のＣＵが動きベクトル予測子インデックス（たとえば、ｍｅｒｇｅ＿ｉｄｘ、ｍｖｐ＿ｌｃ＿ｆｌａｇ、ｍｖｐ＿ｌ０＿ｆｌａｇ、ｍｖｐ＿ｌ１＿ｆｌａｇなど）以外のシンタックス要素を含むかどうかを示すｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］を含み得る。たとえば、１に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、現在のＣＵについて、ＰまたはＢスライスを復号するとき、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］の後、動きベクトル予測子インデックスを除いてそれ以上シンタックス要素が復号され得ないことを指定する。この例では、０に等しいｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は、ＣＵがスキップされないことを指定する。アレイインデックスｘ０、ｙ０は、ピクチャの左上ルーマサンプルに対する当該コーディングブロックの左上ルーマサンプルのロケーション（ｘ０，ｙ０）を指定する。ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］が存在しないとき、ｓｋｉｐ＿ｆｌａｇ［ｘ０］［ｙ０］は０に等しくなると推測され得る。１に等しいｓｋｉｐ＿ｆｌａｇをもつＣＵは、ＨＥＶＣにおける従来のスキップＣＵまたはＶＳＰを用いてコーディングされるＣＵのいずれかであり得、シグナリングされる残余を有さず、したがって、変換ツリーシンタックス構造は存在しない。変換ツリーシンタックス構造は、ＣＵについての残差情報を含み得る。
【０２８３】
[0297]図４Ａは、本開示の１つまたは複数の技法による、ビデオエンコーダ２０の例示的な動作２００を示すフローチャートである。図４Ａのフローチャートおよび以下の図のフローチャートは例として与えるものである。他の例では、本開示の技法は、図４Ａおよび以下の図の例に示すステップに対して、より多数の、より少数の、または異なるステップを使用して実装され得る。
【０２８４】
[0298]図４Ａの例では、ビデオエンコーダ２０は、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成し得る（２０１）。さらに、ビデオエンコーダ２０は、複数のテクスチャビューと深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングし得る（２０２）。いくつかの例では、現在のビデオユニットは、現在のアクセスユニットの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションであり得る。現在のビデオユニットがＭＢである少なくともいくつかの例では、ビデオエンコーダ２０は、ビットストリーム中で、シンタックス要素を含むＭＢレイヤシンタックス構造をシグナリングし得る。そのような例では、シンタックス要素はｖｓｐ＿ｍｂ＿ｆｌａｇであり得る。現在のビデオユニットがＭＢパーティションである少なくともいくつかの例では、ビデオエンコーダ２０は、ビットストリーム中で、シンタックス要素を含むシンタックス構造をシグナリングし得る。そのような例では、シンタックス構造は、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造であり得、シンタックス要素は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇまたはｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇであり得る。
【０２８５】
[0299]さらに、ビデオエンコーダ２０は、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、ビットストリーム中で現在のビデオユニットについての動き情報をシグナリングすべきかどうかを判断し得る（２０４）。現在のビデオユニットがＶＳＰピクチャから予測されないと判断したことに応答して（２０４の「いいえ」）、ビデオエンコーダ２０は、ビットストリーム中で、現在のビデオユニットについての動き情報をシグナリングし得る（２０６）。そうでない場合（２０４の「はい」）、ビデオエンコーダ２０は、ビットストリームから、現在のビデオユニットについての動き情報を省略し得る（２０８）。いずれの場合も、ビデオエンコーダ２０はビットストリームを出力し得る（２１０）。現在のビデオユニットについての動き情報は、参照インデックスと動きベクトル差分とを含み得る。参照インデックスは、参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）内の位置を示し得、動きベクトル差分は、動きベクトル予測子と現在のビデオユニットの動きベクトルとの間の差を示し得る。
【０２８６】
[0300]図４Ｂは、本開示の１つまたは複数の技法による、ビデオデコーダ３０の例示的な動作２５０を示すフローチャートである。図４Ｂの例では、ビデオデコーダ３０は、現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ＶＳＰピクチャを生成し得る（２５１）。さらに、ビデオデコーダ３０は、複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号し得る（２５２）。いくつかの例では、現在のビデオユニットは、現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのＭＢまたはＭＢパーティションであり得る。現在のビデオユニットがＭＢである少なくともいくつかの例では、ビデオデコーダ３０は、ビットストリームから、シンタックス要素を含むＭＢレイヤシンタックス構造を復号し得る。いくつかのそのような例では、シンタックス要素はｖｓｐ＿ｍｂ＿ｆｌａｇであり得る。現在のビデオユニットがＭＢパーティションである少なくともいくつかの例では、ビデオデコーダは、ビットストリームから、シンタックス要素を含むシンタックス構造を復号し得る。そのような例では、シンタックス構造は、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造であり得、シンタックス要素は、ｍｂ＿ｐａｒｔ＿ｖｓｐ＿ｆｌａｇまたはｓｕｂ＿ｍｂ＿ｖｓｐ＿ｆｌａｇであり得る。
【０２８７】
[0301]さらに、ビデオデコーダ３０は、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを判断し得る（２５４）。現在のビデオユニットがＶＳＰピクチャから予測されないとき（２５４の「いいえ」）、ビデオデコーダ３０は、ビットストリームから、現在のビデオユニットについての動き情報を復号し得る（２５６）。  さらに、ビデオデコーダ３０は、現在のビデオユニットのサンプルブロックを再構成するために現在のビデオユニットについての動き情報を使用し得る（２５８）。現在のビデオユニットがＶＳＰピクチャから予測されるとき（２５６の「はい」）、ビデオデコーダ３０は、ＶＳＰピクチャを使用して現在のビデオユニットのサンプルブロックを再構成し得る（２６０）。
【０２８８】
[0302]図５Ａは、本開示の技法による、ビデオエンコーダ２０の別の例示的な動作３００を示すフローチャートである。図５Ａの例に示すように、ビデオエンコーダ２０は、深度マップと１つまたは複数のテクスチャビューコンポーネントとに少なくとも部分的に基づいてＶＳＰピクチャを合成し得る（３０２）。さらに、ビデオエンコーダ２０は、現在のビデオユニットのＶＳＰモードを示すシンタックス要素を生成し得る（３０４）。ＶＳＰモードは、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示し得る。さらに、ビデオエンコーダ２０は、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを判断し得る（３０６）。
【０２８９】
[0303]現在のビデオユニットがＶＳＰピクチャから予測されないとき、または現在のビデオユニットがＶＳＰピクチャから予測されないとき（３０６の「いいえ」）、ビデオエンコーダ２０は、隣接ビデオユニットがＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択し得る（３０８）。隣接ビデオユニットのサンプルブロックは、現在のビデオユニットのサンプルブロックに隣接する。さらに、ビデオエンコーダ２０は、選択されたコーディングコンテキストを使用して、現在のビデオユニットの少なくともいくつかの動き情報をエントロピー符号化し得る（３１０）。
【０２９０】
[0304]さらに、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかにかかわらず、ビデオエンコーダ２０は、現在のビデオユニットのＶＳＰモードに少なくとも部分的に基づいて、境界強度値を判断し得る（３１２）。さらに、ビデオエンコーダ２０は、境界強度値に少なくとも部分的に基づいて、現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行し得る（３１４）。ビデオエンコーダ２０は、復号ピクチャバッファ１１６中に現在のビデオユニットのサンプルブロックを記憶し得る（３１６）。
【０２９１】
[0305]図５Ｂは、本開示の技法による、ビデオデコーダ３０の別の例示的な動作３５０を示すフローチャートである。図５Ｂの例に示すように、ビデオデコーダ３０は、深度マップと１つまたは複数のテクスチャビューコンポーネントとに少なくとも部分的に基づいてＶＳＰピクチャを合成し得る（３５２）。さらに、ビデオデコーダ３０は、ビットストリームから、現在のビデオユニットのＶＳＰモードを示すシンタックス要素を復号し得る（３５４）。ＶＳＰモードは、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを示し得る。さらに、ビデオデコーダ３０は、シンタックス要素に少なくとも部分的に基づいて、現在のビデオユニットがＶＳＰピクチャから予測されるかどうかを判断し得る（３５６）。
【０２９２】
[0306]現在のビデオユニットがＶＳＰピクチャから予測されないとき（３５６の「いいえ」）、ビデオデコーダ３０は、隣接ビデオユニットがＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択し得る（３５８）。隣接ビデオユニットのサンプルブロックは、現在のビデオユニットのサンプルブロックに隣接する。さらに、ビデオデコーダ３０は、選択されたコーディングコンテキストを使用して、現在のビデオユニットの少なくともいくつかの動き情報をエントロピー復号し得る（３６０）。
【０２９３】
[0307]現在のビデオユニットがＶＳＰピクチャから予測されないとき、または現在のビデオユニットがＶＳＰピクチャから予測されるとき（３５６の「はい」）、ビデオデコーダ３０は、現在のビデオユニットのＶＳＰモードに少なくとも部分的に基づいて、境界強度値を判断し得る（３６２）。さらに、ビデオデコーダ３０は、境界強度値に少なくとも部分的に基づいて、現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行し得る（３６４）。ビデオデコーダ３０は、復号ピクチャバッファ１６２中に現在のビデオユニットのサンプルブロックを記憶し得る（３６６）。
【０２９４】
[0308]図６Ａは、本開示の技法による、ビデオエンコーダ２０の別の例示的な動作４００を示すフローチャートである。図６Ａの例では、ビデオエンコーダ２０は、ビットストリーム中で、現在のＭＢを含むスライスのためのスライスヘッダシンタックス構造をシグナリングし得る（４０２）。スライスヘッダシンタックス構造は、ＶＳＰがスライスに対して許可されるかどうかを示すシンタックス要素（たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ）を含み得る。
【０２９５】
[0309]さらに、ビデオエンコーダ２０は、ＶＳＰがスライスに対して許可されるかどうかと、現在のＭＢがスキップモードを使用して符号化されるかどうかとを判断し得る（４０４）。ＶＳＰがスライスに対して許可され、現在のＭＢがスキップモードを使用して符号化されるとき（４０４の「はい」）、ビデオエンコーダ２０は、スライスのためのスライスデータシンタックス構造中に、現在のＭＢがＶＳＰピクチャから予測されるのか、または現在のＭＢが別の参照ピクチャから予測されるのかを示すシンタックス要素（たとえば、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ）を含め得る（４０６）。そうではなく、ＶＳＰがスライスに対して許可されないか、または現在のＭＢがスキップモードを使用して符号化されないとき（４０４の「いいえ」）、ビデオエンコーダ２０は、スライスデータシンタックス構造からシンタックス要素（たとえば、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ）を省略し得る（４０８）。いずれの場合も、ビデオエンコーダ２０は、ビットストリーム中で、スライスヘッダシンタックス構造とスライスデータシンタックス構造とをシグナリングし得る（４１０）。このようにして、ビデオエンコーダ２０は、ビットストリーム中で、ＭＢを含むスライスのためのスライスデータシンタックス構造シンタックス要素をシグナリングし、スライスデータシンタックス構造は、ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、第２のシンタックス要素は、ＭＢのすべてがＶＳＰピクチャから予測されるのか、またはＭＢが別の参照ピクチャから予測されるのかを示し得る。
【０２９６】
[0310]図６Ｂは、本開示の技法による、ビデオデコーダ３０の別の例示的な動作４５０を示すフローチャートである。図６Ｂの例では、ビデオデコーダ３０は、ビットストリームから、現在のＭＢを含むスライスのためのスライスヘッダシンタックス構造を復号し得る（４５２）。スライスヘッダシンタックス構造は、ＶＳＰがスライスに対して許可されるかどうかを示すシンタックス要素（たとえば、ｓｌｉｃｅ＿ｖｓｐ＿ｆｌａｇ）を含み得る。
【０２９７】
[0311]さらに、ビデオデコーダ３０は、ＶＳＰがスライスに対して許可されるかどうかと、現在のＭＢがスキップモードを使用して符号化されるかどうかとを判断し得る（４５４）。ＶＳＰがスライスに対して許可され、現在のＭＢがスキップモードを使用して符号化されるとき（４５４の「はい」）、ビデオデコーダ３０は、スライスのためのスライスデータシンタックス構造が、現在のＭＢがＶＳＰピクチャから予測されるのか、または現在のＭＢが別の参照ピクチャから予測されるのかを示すシンタックス要素（たとえば、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ）を含むと判断し得る（４５６）。そうではなく、ＶＳＰがスライスに対して許可されないか、または現在のＭＢがスキップモードを使用して符号化されないとき（４５４の「いいえ」）、ビデオデコーダ３０は、シンタックス要素（たとえば、ｓｋｉｐ＿ｆｒｏｍ＿ｖｓｐ＿ｆｌａｇ）がスライスデータシンタックス構造から省略されると判断し得る（４５８）。いずれの場合も、ビデオデコーダ３０は、現在のＭＢのサンプルブロックを再構成し得る（４６０）。このようにして、ビデオデコーダ３０は、ビットストリームから、ＭＢを含むスライスのためのスライスデータシンタックス構造シンタックス要素を復号し得、スライスデータシンタックス構造は、ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、第２のシンタックス要素は、ＭＢのすべてがＶＳＰピクチャから予測されるのか、またはＭＢが別の参照ピクチャから予測されるのかを示す。
【０２９８】
[0312]図７Ａは、本開示の技法による、ビデオエンコーダ２０の別の例示的な動作５００を示すフローチャートである。図７Ａの例では、ビデオエンコーダ２０は、上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するかどうかを判断し得る（５０２）。
【０２９９】
[0313]上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するとき（５０２の「はい」）、ビデオエンコーダ２０は、スライスデータシンタックス構造中に、現在のＭＢがＶＳＰピクチャから予測されることと、現在のＭＢのための残差がシグナリングされないこととを示すシンタックス要素を含め得る（５０４）。そうでない場合（５０２の「いいえ」）、ビデオエンコーダ２０は、スライスデータシンタックス構造からシンタックス要素を省略し得る（５０６）。いずれの場合も、ビデオエンコーダ２０は、ビットストリーム中で、スライスデータシンタックス構造をシグナリングし得る（５０８）。このようにして、ビデオエンコーダ２０は、ビットストリーム中で、スライスデータシンタックス構造をシグナリングし、スライスデータシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するときに第２のシンタックス要素を含み、第２のシンタックス要素は、ＭＢがＶＳＰピクチャから予測されることと、ＭＢのための残差がシグナリングされないこととを示し得る。
【０３００】
[0314]図７Ｂは、本開示の技法による、ビデオデコーダ３０の別の例示的な動作５５０を示すフローチャートである。図７Ｂの例では、ビデオデコーダ３０は、上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するかどうかを判断し得る（５５２）。
【０３０１】
[0315]上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するとき（５５２の「はい」）、ビデオデコーダ３０は、現在のＭＢがＶＳＰピクチャから予測されることと、現在のＭＢのための残差がシグナリングされないこととを示すシンタックス要素をスライスデータシンタックス構造が含むと判断し得る（５５４）。そうでない場合（５５２の「いいえ」）、ビデオデコーダ３０は、シンタックス要素がスライスデータシンタックス構造から省略されると判断し得る（５５６）。いずれの場合も、ビデオデコーダ３０は、現在のＭＢのサンプルブロックを再構成し得る（５５８）。このようにして、ビデオエンコーダ３０は、ビットストリームから、スライスデータシンタックス構造を復号し、スライスデータシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＶＳＰピクチャが存在するときにシンタックス要素を含み、シンタックス要素は、ＭＢがＶＳＰピクチャから予測されることと、ＭＢのための残差がシグナリングされないこととを示し得る。
【０３０２】
[0316]図８Ａは、本開示の技法による、ビデオエンコーダ２０の別の例示的な動作６００を示すフローチャートである。図８Ａの例では、ビデオエンコーダ２０は、上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のＭＢがＶＳＰピクチャから予測されないかどうかを判断し得る（６０２）。上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のＭＢがＶＳＰピクチャから予測されないとき（６０２の「はい」）、ビデオエンコーダ２０は、現在のＭＢのためのＭＢレイヤシンタックス構造中に、現在のＭＢのタイプを示すシンタックス要素を含め得る（６０４）。そうでない場合（６０２の「いいえ」）、ビデオエンコーダ２０は、ＭＢレイヤシンタックス構造からシンタックス要素を省略し得る（６０６）。
【０３０３】
[0317]さらに、ビデオエンコーダ２０は、現在のＭＢがＶＳＰピクチャから予測されるかどうかを判断し得る（６０８）。現在のＭＢがＶＳＰピクチャから予測されないとき（６０８の「いいえ」）、ビデオエンコーダ２０は、ＭＢレイヤシンタックス構造中に、サブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含め得る（６１０）。そうでない場合（６０８の「はい」）、ビデオエンコーダ２０は、ＭＢレイヤシンタックス構造からサブＭＢ予測シンタックス構造とＭＢ予測シンタックス構造とを省略し得る（６１２）。いずれの場合も、ビデオエンコーダ２０は、ビットストリーム中で、ＭＢレイヤシンタックス構造をシグナリングし得る（６１４）。
【０３０４】
[0318]このようにして、ビデオエンコーダ２０は、ビットストリーム中で、ＭＢのためのＭＢレイヤシンタックス構造をシグナリングし得る。ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＭＢがＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、第２のシンタックス要素はＭＢのタイプを示し得る。ＭＢレイヤシンタックス構造は、ＭＢがＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含み得る。
【０３０５】
[0319]図８Ｂは、本開示の技法による、ビデオデコーダ３０の別の例示的な動作６５０を示すフローチャートである。図８Ｂの例では、ビデオデコーダ３０は、上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のＭＢがＶＳＰピクチャから予測されないかどうかを判断し得る（６５２）。上隣接ＭＢと左隣接ＭＢとが現在のＭＢをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のＭＢがＶＳＰピクチャから予測されないとき（６５２の「はい」）、ビデオデコーダ３０は、現在のＭＢのためのＭＢレイヤシンタックス構造が現在のＭＢのタイプを示すシンタックス要素を含むと判断し得る（６５４）。そうでない場合（６５２の「いいえ」）、ビデオデコーダ３０は、シンタックス要素がＭＢレイヤシンタックス構造から省略されると判断し得る（６５６）。
【０３０６】
[0320]さらに、ビデオデコーダ３０は、現在のＭＢがＶＳＰピクチャから予測されるかどうかを判断し得る（６５８）。現在のＭＢがＶＳＰピクチャから予測されないとき（６５８の「いいえ」）、ビデオデコーダ３０は、ＭＢレイヤシンタックス構造がサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含むと判断し得る（６６０）。そうでない場合（６５８の「はい」）、ビデオデコーダ３０は、サブＭＢ予測シンタックス構造とＭＢ予測シンタックス構造とがＭＢレイヤシンタックス構造から省略されると判断し得る（６６２）。いずれの場合も、ビデオデコーダ３０は、ＭＢのサンプルブロックを再構成し得る（６６４）。
【０３０７】
[0321]このようにして、ビデオデコーダ３０は、ビットストリームから、ＭＢのためのＭＢレイヤシンタックス構造を復号し、ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、ＭＢがＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、第２のシンタックス要素はＭＢのタイプを示し、ＭＢレイヤシンタックス構造は、ＭＢがＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含み得る。
【０３０８】
[0322]図９Ａは、本開示の技法による、ビデオエンコーダ２０の別の例示的な動作７００を示すフローチャートである。図９Ａの例では、ビデオエンコーダ２０は、上隣接ＭＢと左隣接ＭＢとが現在のサブＭＢパーティションをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のサブＭＢパーティションがＶＳＰピクチャから予測されないかどうかを判断し得る（７０２）。
【０３０９】
[0323]上隣接ＭＢと左隣接ＭＢとが現在のサブＭＢパーティションをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のサブＭＢパーティションがＶＳＰピクチャから予測されないとき（７０２の「はい」）、ビデオエンコーダ２０は、現在のサブＭＢパーティションのためのサブＭＢ予測シンタックス構造中に、サブＭＢパーティションのタイプを示すシンタックス要素を含め得る（７０４）。そうでない場合（７０２の「いいえ」）、ビデオエンコーダ２０は、サブＭＢ予測シンタックス構造からシンタックス要素を省略し得る（７０６）。いずれの場合も、ビデオエンコーダ２０は、ビットストリーム中で、サブＭＢ予測シンタックス構造をシグナリングし得る（７０８）。このようにして、ビデオエンコーダ２０は、ビットストリーム中で、サブＭＢパーティションのためのサブＭＢ予測シンタックス構造をシグナリングし、サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、サブＭＢパーティションがＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み得る。
【０３１０】
[0324]図９Ｂは、本開示の技法による、ビデオデコーダ３０の別の例示的な動作７５０を示すフローチャートである。図９Ｂの例では、ビデオデコーダ３０は、上隣接ＭＢと左隣接ＭＢとが現在のサブＭＢパーティションをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のサブＭＢパーティションがＶＳＰピクチャから予測されないかどうかを判断し得る（７５２）。
【０３１１】
[0325]上隣接ＭＢと左隣接ＭＢとが現在のサブＭＢパーティションをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、現在のサブＭＢパーティションがＶＳＰピクチャから予測されないとき（７５２の「はい」）、ビデオデコーダ３０は、現在のサブＭＢパーティションのためのサブＭＢ予測シンタックス構造がサブＭＢパーティションのタイプを示すシンタックス要素を含むと判断し得る（７５４）。そうでない場合（７５２の「いいえ」）、ビデオデコーダ３０は、シンタックス要素がサブＭＢ予測シンタックス構造から省略されると判断し得る（７５６）。いずれの場合も、ビデオデコーダ３０は、サブＭＢパーティションのサンプルブロックを再構成し得る（７５８）。このようにして、ビデオデコーダ３０は、ビットストリームから、サブＭＢパーティションのためのサブＭＢ予測シンタックス構造を復号し、サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが現在のビデオユニットをコーディングする際に使用するために利用可能であり、上隣接ＭＢと左隣接ＭＢとがＶＳＰピクチャから予測され、サブＭＢパーティションがＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、第２のシンタックス要素は、サブＭＢパーティションのタイプを示し得る。
【０３１２】
[0326]図１０は、例示的な３ＤＶ復号順序を示す概念図である。ＭＶＣ復号順序はビットストリーム順であり得る。図１０の例では、各正方形がビューコンポーネントに対応する。正方形の列は、アクセスユニットに対応する。各アクセスユニットは、時間インスタンスのすべてのビューのコード化ピクチャを含むように定義され得る。正方形の行は、ビューに対応する。図１０の例では、アクセスユニットがＴ０〜Ｔ７と標示され、ビューがＳ０〜Ｓ７と標示される。アクセスユニットの各ビューコンポーネントは次のアクセスユニットのビューコンポーネントの前に復号されるので、図１０の復号順序は時間優先コーディングと呼ばれることがある。図１０の例に示すように、アクセスユニットの復号順序は、ビューの出力順序または表示順序と同じでないことがある。
【０３１３】
[0327]図１１は、例示的な時間的予測およびビュー間予測構造を示す概念図である。図１１の例では、各正方形がビューコンポーネントに対応する。「Ｉ」と標示される正方形は、イントラ予測されたビューコンポーネントである。「Ｐ」と標示される正方形は、単方向にインター予測されたビューコンポーネントである。「Ｂ」および「ｂ」と標示される正方形は、双方向にインター予測されたビューコンポーネントである。「ｂ」と標示される正方形は、「Ｂ」と標示される正方形を参照ピクチャとして使用し得る。第１の正方形から第２の正方形を指す矢印は、第１の正方形が、インター予測において、第２の正方形のための参照ピクチャとして利用可能であることを示す。図１１の垂直矢印で示すように、同じアクセスユニットの異なるビュー中のビューコンポーネントは、参照ピクチャとして利用可能であり得る。アクセスユニットの１つのビューコンポーネントを同じアクセスユニットの別のビューコンポーネントのための参照ピクチャとして使用することは、ビュー間予測と呼ばれることがある。
【０３１４】
[0328]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０３１５】
[0329]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０３１６】
[0330]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０３１７】
[0331]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０３１８】
[0332]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、復号することと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、
前記ビットストリームから、前記現在のビデオユニットについての動き情報を復号することと、
前記現在のビデオユニットのサンプルブロックを再構成するために前記現在のビデオユニットについての前記動き情報を使用することと
を行うことと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記現在のビデオユニットの前記サンプルブロックを再構成するために前記ＶＳＰピクチャを使用することと
を備える方法。
［Ｃ２］
前記現在のビデオユニットについての前記動き情報が、参照インデックスと動きベクトル差分とを含み、前記参照インデックスが、参照ピクチャリスト内の位置を示し、前記動きベクトル差分が、動きベクトル予測子と前記現在のビデオユニットの動きベクトルとの間の差を示す、Ｃ１に記載の方法。
［Ｃ３］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素を復号することが、前記ビットストリームから、前記シンタックス要素を含むＭＢレイヤシンタックス構造を復号することを備える、Ｃ１に記載の方法。
［Ｃ４］
前記現在のビデオユニットがＭＢパーティションであり、
前記シンタックス要素を復号することが、前記ビットストリームから、前記シンタックス要素を含むシンタックス構造を復号することを備え、前記シンタックス構造が、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造である、Ｃ１に記載の方法。
［Ｃ５］
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリームから、前記現在のビデオユニットを含むスライスのためのスライスヘッダシンタックス構造を復号することをさらに備え、前記スライスヘッダシンタックス構造が第２のシンタックス要素を含み、前記第２のシンタックス要素は、ＶＳＰが前記スライスに対して許可されるかどうかを示す、Ｃ１に記載の方法。
［Ｃ６］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリームから、前記ＭＢを含むスライスのためのスライスデータシンタックス構造を復号することをさらに備え、前記スライスデータシンタックス構造は、前記ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、前記第２のシンタックス要素は、前記ＭＢのすべてが前記ＶＳＰピクチャから予測されるのか、または前記ＭＢが別の参照ピクチャから予測されるのかを示す、Ｃ１に記載の方法。
［Ｃ７］
前記現在のビデオユニットがＭＢであり、
前記方法が、前記ビットストリームから、スライスデータシンタックス構造を復号することをさらに備え、
前記スライスデータシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＶＳＰピクチャが存在するときに第２のシンタックス要素を含み、
前記第２のシンタックス要素は、前記ＭＢが前記ＶＳＰピクチャから予測されることと、前記ＭＢのための残差がシグナリングされないこととを示す、Ｃ１に記載の方法。
［Ｃ８］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記第１のシンタックス要素を復号することが、前記ビットストリームから、前記ＭＢのためのＭＢレイヤシンタックス構造を復号することを備え、
前記ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＭＢが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記ＭＢのタイプを示し、
前記ＭＢレイヤシンタックス構造は、前記ＭＢが前記ＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含む、Ｃ１に記載の方法。
［Ｃ９］
前記現在のビデオユニットがサブＭＢパーティションであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記第１のシンタックス要素を復号することが、前記ビットストリームから、前記サブＭＢパーティションのためのサブＭＢ予測シンタックス構造を復号することを備え、
前記サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記サブＭＢパーティションが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記サブＭＢパーティションのタイプを示す、Ｃ１に記載の方法。
［Ｃ１０］
隣接ビデオユニットのサンプルブロックが、前記現在のビデオユニットのサンプルブロックに隣接し、
前記方法が、
前記隣接ビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択することと、
前記現在のビデオユニットの少なくともいくつかの動き情報をエントロピー符号化するために、前記選択されたコーディングコンテキストを使用することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１１］
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、境界強度値を判断することと、
前記境界強度値に少なくとも部分的に基づいて、前記現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ１２］
前記シンタックス要素はまた、前記現在のビデオユニットがスキップモードを使用して予測されるかどうかを示す、Ｃ１に記載の方法。
［Ｃ１３］
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、復号することと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、
前記ビットストリームから、前記現在のビデオユニットについての動き情報を復号することと、
前記現在のビデオユニットのサンプルブロックを再構成するために前記現在のビデオユニットについての前記動き情報を使用することと
を行うことと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記現在のビデオユニットの前記サンプルブロックを再構成するために前記ＶＳＰピクチャを使用することと
を行うように構成された１つまたは複数のプロセッサを備えるビデオ復号デバイス。
［Ｃ１４］
前記現在のビデオユニットについての前記動き情報が、参照インデックスと動きベクトル差分とを含み、前記参照インデックスが、参照ピクチャリスト内の位置を示し、前記動きベクトル差分が、動きベクトル予測子と前記現在のビデオユニットの動きベクトルとの間の差を示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ１５］
前記現在のビデオユニットがＭＢであり、
前記１つまたは複数のプロセッサが、前記ビットストリームから、前記シンタックス要素を含むＭＢレイヤシンタックス構造を復号することを行うように構成された、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ１６］
前記現在のビデオユニットがＭＢパーティションであり、
１つまたは複数のプロセッサが、前記ビットストリームから、前記シンタックス要素を含むシンタックス構造を復号することを行うように構成され、前記シンタックス構造が、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造である、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ１７］
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリームから、前記現在のビデオユニットを含むスライスのためのスライスヘッダシンタックス構造を復号することを行うように構成され、前記スライスヘッダシンタックス構造が第２のシンタックス要素を含み、前記第２のシンタックス要素は、ＶＳＰが前記スライスに対して許可されるかどうかを示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ１８］
前記現在のビデオユニットがＭＢであり、
前記１つまたは複数のプロセッサが、前記ビットストリームから、前記ＭＢを含むスライスのためのスライスデータシンタックス構造を復号することを行うように構成され、前記スライスデータシンタックス構造は、前記ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、前記第２のシンタックス要素は、前記ＭＢのすべてが前記ＶＳＰピクチャから予測されるのか、または前記ＭＢが別の参照ピクチャから予測されるのかを示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ１９］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＶＳＰピクチャが存在するときに前記ビットストリームから第２のシンタックス要素を含むスライスデータシンタックス構造を復号することを行うように構成され、前記第２のシンタックス要素は、前記ＭＢが前記ＶＳＰピクチャから予測されることと、前記ＭＢのための残差がシグナリングされないこととを示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２０］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリームから、前記ＭＢのためのＭＢレイヤシンタックス構造を復号することを行うように構成され、
前記ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＭＢが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記ＭＢのタイプを示し、
前記ＭＢレイヤシンタックス構造は、前記ＭＢが前記ＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含む、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２１］
前記現在のビデオユニットがサブＭＢパーティションであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリームから、前記サブＭＢパーティションのためのサブＭＢ予測シンタックス構造を復号することを行うように構成され、
前記サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記サブＭＢパーティションが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記サブＭＢパーティションのタイプを示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２２］
隣接ビデオユニットのサンプルブロックが、前記現在のビデオユニットのサンプルブロックに隣接し、
前記１つまたは複数のプロセッサが、
前記隣接ビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択することと、
前記現在のビデオユニットの少なくともいくつかの動き情報をエントロピー符号化するために、前記選択されたコーディングコンテキストを使用することと
を行うように構成された、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２３］
前記１つまたは複数のプロセッサが、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、境界強度値を判断することと、
前記境界強度値に少なくとも部分的に基づいて、前記現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行することと
を行うように構成された、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２４］
前記シンタックス要素はまた、前記現在のビデオユニットがスキップモードを使用して予測されるかどうかを示す、Ｃ１３に記載のビデオ復号デバイス。
［Ｃ２５］
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成するための手段と、
複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号するための手段であって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、復号するための手段と、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記ビットストリームから、前記現在のビデオユニットについての動き情報を復号するための手段と、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記現在のビデオユニットのサンプルブロックを再構成するために前記現在のビデオユニットについての前記動き情報を使用するための手段と、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記現在のビデオユニットの前記サンプルブロックを再構成するために前記ＶＳＰピクチャを使用するための手段と
を備えるビデオ復号デバイス。
［Ｃ２６］
ビデオ復号デバイスの１つまたは複数のプロセッサによって実行されたとき、
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとのコード化表現を含むビットストリームから、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素を復号することであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、復号することと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、
前記ビットストリームから、前記現在のビデオユニットについての動き情報を復号することと、
前記現在のビデオユニットのサンプルブロックを再構成するために前記現在のビデオユニットについての前記動き情報を使用することと
を行うことと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記現在のビデオユニットの前記サンプルブロックを再構成するために前記ＶＳＰピクチャを使用することと
を行うように前記ビデオ復号デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。
［Ｃ２７］
ビデオデータを符号化するための方法であって、
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、シグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記ビットストリーム中で、前記現在のビデオユニットについての動き情報をシグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記ビットストリームから、前記現在のビデオユニットについての前記動き情報を省略することと、
前記ビットストリームを出力することと
を備える、方法。
［Ｃ２８］
前記現在のビデオユニットについての前記動き情報が、参照インデックスと動きベクトル差分とを含み、前記参照インデックスが、参照ピクチャリスト内の位置を示し、前記動きベクトル差分が、動きベクトル予測子と前記現在のビデオユニットの動きベクトルとの間の差を示す、Ｃ２７に記載の方法。
［Ｃ２９］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素をシグナリングすることが、前記ビットストリーム中で、前記シンタックス要素を含むＭＢレイヤシンタックス構造をシグナリングすることを備える、Ｃ２７に記載の方法。
［Ｃ３０］
前記現在のビデオユニットがＭＢパーティションであり、
前記シンタックス要素をシグナリングすることが、前記ビットストリーム中で、前記シンタックス要素を含むシンタックス構造をシグナリングすることを備え、前記シンタックス構造が、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造である、Ｃ２７に記載の方法。
［Ｃ３１］
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリーム中で、前記現在のビデオユニットを含むスライスのためのスライスヘッダシンタックス構造をシグナリングすることをさらに備え、前記スライスヘッダシンタックス構造が第２のシンタックス要素を含み、前記第２のシンタックス要素は、ＶＳＰが前記スライスに対して許可されるかどうかを示す、Ｃ２７に記載の方法。
［Ｃ３２］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリーム中で、前記ＭＢを含むスライスのためのスライスデータシンタックス構造をシグナリングすることをさらに備え、前記スライスデータシンタックス構造は、前記ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、前記第２のシンタックス要素は、前記ＭＢのすべてが前記ＶＳＰピクチャから予測されるのか、または前記ＭＢが別の参照ピクチャから予測されるのかを示す、Ｃ２７に記載の方法。
［Ｃ３３］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリーム中で、スライスデータシンタックス構造をシグナリングすることをさらに備え、
前記スライスデータシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であるとき、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測されるとき、および前記ＶＳＰピクチャが存在するときに第２のシンタックス要素を含み、
前記第２のシンタックス要素は、前記ＭＢが前記ＶＳＰピクチャから予測されることと、前記ＭＢのための残差がシグナリングされないこととを示す、Ｃ２７に記載の方法。
［Ｃ３４］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記方法が、前記ビットストリーム中で、前記ＭＢのためのＭＢレイヤシンタックス構造をシグナリングすることをさらに備え、
前記ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＭＢが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記ＭＢのタイプを示し、
前記ＭＢレイヤシンタックス構造は、前記ＭＢが前記ＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含む、Ｃ２７に記載の方法。
［Ｃ３５］
前記現在のビデオユニットがサブＭＢパーティションであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記第１のシンタックス要素をシグナリングすることが、前記ビットストリーム中で、前記サブＭＢパーティションのためのサブＭＢ予測シンタックス構造をシグナリングすることを備え、
前記サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記サブＭＢパーティションが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記サブＭＢパーティションのタイプを示す、Ｃ２７に記載の方法。
［Ｃ３６］
隣接ビデオユニットのサンプルブロックが、前記現在のビデオユニットのサンプルブロックに隣接し、
前記方法が、
前記隣接ビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択することと、
前記現在のビデオユニットの少なくともいくつかの動き情報をエントロピー符号化するために、前記選択されたコーディングコンテキストを使用することと
をさらに備える、Ｃ２７に記載の方法。
［Ｃ３７］
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、境界強度値を判断することと、
前記境界強度値に少なくとも部分的に基づいて、前記現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行することと
をさらに備える、Ｃ２７に記載の方法。
［Ｃ３８］
前記シンタックス要素はまた、前記現在のビデオユニットがスキップモードを使用して予測されるかどうかを示す、Ｃ２７に記載の方法。
［Ｃ３９］
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、シグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記ビットストリーム中で、前記現在のビデオユニットについての動き情報をシグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記ビットストリームから、前記現在のビデオユニットについての前記動き情報を省略することと、
前記ビットストリームを出力することと
を行うように構成された１つまたは複数のプロセッサを備えるビデオ符号化デバイス。
［Ｃ４０］
前記現在のビデオユニットについての前記動き情報が、参照インデックスと動きベクトル差分とを含み、前記参照インデックスが、参照ピクチャリスト内の位置を示し、前記動きベクトル差分が、動きベクトル予測子と前記現在のビデオユニットの動きベクトルとの間の差を示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４１］
前記現在のビデオユニットがＭＢであり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記シンタックス要素を含むＭＢレイヤシンタックス構造をシグナリングすることを行うように構成された、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４２］
前記現在のビデオユニットがＭＢパーティションであり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記シンタックス要素を含むシンタックス構造をシグナリングすることを行うように構成され、前記シンタックス構造が、ＭＢ予測シンタックス構造またはサブＭＢ予測シンタックス構造である、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４３］
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記現在のビデオユニットを含むスライスのためのスライスヘッダシンタックス構造をシグナリングすることを行うようにさらに構成され、前記スライスヘッダシンタックス構造が第２のシンタックス要素を含み、前記第２のシンタックス要素は、ＶＳＰが前記スライスに対して許可されるかどうかを示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４４］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記ＭＢを含むスライスのためのスライスデータシンタックス構造をシグナリングし、前記スライスデータシンタックス構造は、前記ＭＢがスキップモードを使用して符号化されるときに第２のシンタックス要素を含み、前記第２のシンタックス要素は、前記ＭＢのすべてが前記ＶＳＰピクチャから予測されるのか、または前記ＭＢが別の参照ピクチャから予測されるのかを示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４５］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、スライスデータシンタックス構造をシグナリングし、
前記スライスデータシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＶＳＰピクチャが存在するときに第２のシンタックス要素を含み、
前記第２のシンタックス要素は、前記ＭＢが前記ＶＳＰピクチャから予測されることと、前記ＭＢのための残差がシグナリングされないこととを示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４６］
前記現在のビデオユニットがＭＢであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記ＭＢのためのＭＢレイヤシンタックス構造をシグナリングし、
前記ＭＢレイヤシンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記ＭＢが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記ＭＢのタイプを示し、
前記ＭＢレイヤシンタックス構造は、前記ＭＢが前記ＶＳＰピクチャから予測されないときにサブＭＢ予測シンタックス構造またはＭＢ予測シンタックス構造を含む、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４７］
前記現在のビデオユニットがサブＭＢパーティションであり、
前記シンタックス要素が第１のシンタックス要素であり、
前記１つまたは複数のプロセッサが、前記ビットストリーム中で、前記サブＭＢパーティションのためのサブＭＢ予測シンタックス構造をシグナリングし、
前記サブＭＢ予測シンタックス構造は、上隣接ＭＢと左隣接ＭＢとが前記現在のビデオユニットをコーディングする際に使用するために利用可能であり、前記上隣接ＭＢと前記左隣接ＭＢとが前記ＶＳＰピクチャから予測され、前記サブＭＢパーティションが前記ＶＳＰピクチャから予測されないときに第２のシンタックス要素を含み、
前記第２のシンタックス要素が前記サブＭＢパーティションのタイプを示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４８］
隣接ビデオユニットのサンプルブロックが、前記現在のビデオユニットのサンプルブロックに隣接し、
前記１つまたは複数のプロセッサが、
前記隣接ビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、コーディングコンテキストを選択することと、
前記現在のビデオユニットの少なくともいくつかの動き情報をエントロピー符号化するために、前記選択されたコーディングコンテキストを使用することと
を行うようにさらに構成された、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ４９］
前記１つまたは複数のプロセッサが、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかに少なくとも部分的に基づいて、境界強度値を判断することと、
前記境界強度値に少なくとも部分的に基づいて、前記現在のビデオユニットのサンプルブロックに対してデブロッキング動作を実行することと
を行うように構成された、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ５０］
前記シンタックス要素はまた、前記現在のビデオユニットがスキップモードを使用して予測されるかどうかを示す、Ｃ３９に記載のビデオ符号化デバイス。
［Ｃ５１］
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成するための手段と、
複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングするための手段であって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、シグナリングするための手段と、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記ビットストリーム中で、前記現在のビデオユニットについての動き情報をシグナリングするための手段と、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記ビットストリームから、前記現在のビデオユニットについての前記動き情報を省略するための手段と、
前記ビットストリームを出力するための手段と
を備える、ビデオ符号化デバイス。
［Ｃ５２］
ビデオ符号化デバイスの１つまたは複数のプロセッサによって実行されたとき、
現在のアクセスユニットの以前にコーディングされたテクスチャビューコンポーネントと前記現在のアクセスユニットの深度ビューコンポーネントとに少なくとも部分的に基づいて、ビュー合成予測（ＶＳＰ）ピクチャを生成することと、
複数のテクスチャビューと複数の深度ビューとの符号化表現を含むビットストリーム中で、現在のビデオユニットが前記ＶＳＰピクチャから予測されるかどうかを示すシンタックス要素をシグナリングすることであって、前記現在のビデオユニットが、前記現在のアクセスユニットの現在のビューの現在のテクスチャビューコンポーネントのマクロブロック（ＭＢ）またはＭＢパーティションである、シグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されないとき、前記ビットストリーム中で、前記現在のビデオユニットについての動き情報をシグナリングすることと、
前記現在のビデオユニットが前記ＶＳＰピクチャから予測されるとき、前記ビットストリームから、前記現在のビデオユニットについての前記動き情報を省略することと、
前記ビットストリームを出力することと
を行うように前記ビデオ符号化デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。
【図１】
0006479651.tif 000036
【図２】
0006479651.tif 000037
【図３】
0006479651.tif 000038
【図４Ａ】
0006479651.tif 000039
【図４Ｂ】
0006479651.tif 000040
【図５Ａ】
0006479651.tif 000041
【図５Ｂ】
0006479651.tif 000042
【図６Ａ】
0006479651.tif 000043
【図６Ｂ】
0006479651.tif 000044
【図７Ａ】
0006479651.tif 000045
【図７Ｂ】
0006479651.tif 000046
【図８Ａ】
0006479651.tif 000047
【図８Ｂ】
0006479651.tif 000048
【図９Ａ】
0006479651.tif 000049
【図９Ｂ】
0006479651.tif 000050
【図１０】
0006479651.tif 000051
【図１１】
0006479651.tif 000052