(57)【特許請求の範囲】
【請求項１】
ビデオデータのブロックをコード化する方法であって、
前記ビデオデータのブロックのための視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行すること
を備え、
前記ビデオデータのブロックの下位領域が、ブロックベースビュー合成予測（ＢＶＳＰ）モードを使用してコード化されると決定されることに基づいて、前記方法は、
精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを、ＢＶＳＰモードを使用して、精緻化することと、
前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された前記精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを記憶することと、
ＢＶＳＰモード及び前記精緻化された視差ベクトルを使用して、前記ビデオデータのブロックの前記下位領域をコード化することと、
を更に備え、
前記下位領域の前記視差ベクトルを精緻化することが、
前記ビデオデータのブロックの前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルによって識別された参照ブロックの１つ以上の深度画素から深度値を選択すること、前記１つ以上の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素でない、
を備える、方法。
【請求項２】
前記ＮＢＤＶ導出プロセスを実行することが、
１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ＢＶＳＰモードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルから、前記視差ベクトルを導出することと、ここにおいて、前記複数の隣接ブロックのうちの少なくとも１つは、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、
を備える、請求項１に記載の方法。
【請求項３】
前記下位領域が、８×８下位領域である、請求項１に記載の方法。
【請求項４】
前記下位領域が、１６×１６、および４×４下位領域のうちの１つである、請求項１に記載の方法。
【請求項５】
前記ビデオデータのブロックの前記下位領域のための前記精緻化された視差ベクトルを記憶すること、ここにおいて、記憶された前記精緻化された視差ベクトルは、別のブロックに対する前記ＮＢＤＶ導出プロセスのために使用される、
を更に備える、請求項１に記載の方法。
【請求項６】
前記ビデオデータのブロックが、マクロブロックである、請求項１に記載の方法。
【請求項７】
前記ビデオデータのブロックの前記下位領域が、マクロブロックのサブ区分又は区分である、請求項１に記載の方法。
【請求項８】
前記ビデオデータのブロックが、コード化単位又は予測単位である、請求項１に記載の方法。
【請求項９】
ビデオデータをコード化するように構成された装置であって、
ビデオデータのブロックを記憶するように構成されたメモリと、
ビデオコーダと
を備え、前記ビデオコーダは、
前記ビデオデータのブロックのための視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行すること
を行うように構成され、
前記ビデオデータのブロックの下位領域が、ブロックベースビュー合成予測（ＢＶＳＰ）モードを使用してコード化されると決定されることに基づいて、前記ビデオコーダは、
精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを、ＢＶＳＰモードを使用して、精緻化することと、
前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された前記精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを、前記メモリに記憶することと、
ＢＶＳＰモード及び前記精緻化された視差ベクトルを使用して、前記ビデオデータのブロックの前記下位領域をコード化することと、
を行うように更に構成され、
前記精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを精緻化するために、前記ビデオコーダは、
前記ビデオデータのブロックの前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルによって識別された参照ブロックの１つ以上の深度画素から深度値を選択すること、前記１つ以上の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素でない、
を行うように構成される、装置。
【請求項１０】
前記ＮＢＤＶ導出プロセスを実行するために、前記ビデオコーダは、
１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ＢＶＳＰモードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルから、前記視差ベクトルを導出することと、ここにおいて、前記複数の隣接ブロックのうちの少なくとも１つは、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、
を行うように構成される、請求項９に記載の装置。
【請求項１１】
前記下位領域が、８×８下位領域である、請求項９に記載の装置。
【請求項１２】
前記下位領域が、１６×１６、および４×４下位領域のうちの１つである、請求項９に記載の装置。
【請求項１３】
前記ビデオコーダは、
前記ビデオデータのブロックの前記下位領域のための前記精緻化された視差ベクトルを、前記メモリに記憶すること、ここにおいて、記憶された前記精緻化された視差ベクトルは、別のブロックに対する前記ＮＢＤＶ導出プロセスのために使用される、
を行うように更に構成される、請求項９に記載の装置。
【請求項１４】
前記ビデオデータのブロックが、マクロブロックである、請求項９に記載の装置。
【請求項１５】
前記ビデオデータのブロックの前記下位領域が、マクロブロックのサブ区分又は区分である、請求項９に記載の装置。
【請求項１６】
前記ビデオデータのブロックが、コード化単位又は予測単位である、請求項９に記載の装置。
【請求項１７】
ビデオデータのブロックをコード化するように構成されたシステムであって、
前記ビデオデータのブロックのための視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行するための手段
を備え、
前記ビデオデータのブロックの下位領域が、ブロックベースビュー合成予測（ＢＶＳＰ）モードを使用してコード化されると決定されることに基づいて、前記システムは、
精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを、ＢＶＳＰモードを使用して、精緻化するための手段と、
前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された前記精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを記憶するための手段と、
ＢＶＳＰモード及び前記精緻化された視差ベクトルを使用して、前記ビデオデータのブロックの前記下位領域をコード化するための手段と、
を更に備え、
前記視差ベクトルを精緻化するための前記手段が、
前記ビデオデータのブロックの前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルによって識別された参照ブロックの１つ以上の深度画素から深度値を選択するための手段、前記１つ以上の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素でない、
を備える、システム。
【請求項１８】
前記ＮＢＤＶ導出プロセスを実行するための前記手段が、
１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ＢＶＳＰモードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段と、
前記１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段と、
前記１つ以上の利用可能な視差動きベクトルから、前記視差ベクトルを導出するための手段と、ここにおいて、前記複数の隣接ブロックのうちの少なくとも１つは、現在のピクチャ内の空間隣接ブロック又は異なるピクチャ中の時間隣接ブロックである、
を備える、請求項１７に記載のシステム。
【請求項１９】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータのブロックをコード化するように構成された１つ以上のプロセッサに、
前記ビデオデータのブロックのための視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行すること
を行わせ、
前記ビデオデータのブロックの下位領域が、ブロックベースビュー合成予測（ＢＶＳＰ）モードを使用してコード化されると決定されることに基づいて、前記命令は、
精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを、ＢＶＳＰモードを使用して、精緻化することと、
前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された前記精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを記憶することと、
ＢＶＳＰモード及び前記精緻化された視差ベクトルを使用して、前記ビデオデータのブロックの前記下位領域をコード化することと、
を前記１つ以上のプロセッサに更に行わせ、
前記精緻化された視差ベクトルを作成するために、前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルを精緻化するために、前記命令は、
前記ビデオデータのブロックの前記下位領域のために前記ＮＢＤＶ導出プロセスによって生成された前記視差ベクトルによって識別された参照ブロックの１つ以上の深度画素から深度値を選択すること、前記１つ以上の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素でない、
を実行することを前記１つ以上のプロセッサに更に行わせる、コンピュータ可読記憶媒体。
【請求項２０】
前記ＮＢＤＶ導出プロセスを実行するために、前記命令は、
１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ＢＶＳＰモードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、
前記１つ以上の利用可能な視差動きベクトルから、前記視差ベクトルを導出することと、ここにおいて、前記複数の隣接ブロックのうちの少なくとも１つは、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、
を前記１つ以上のプロセッサに更に行わせる、請求項１９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容がその全体として本明細書に組み込まれる、
２０１３年２月２６日に出願された米国仮出願第６１／７６９，７１６号、
２０１３年２月２７日に出願された米国仮出願第６１／７７０，２６３号、
２０１３年２月２７日に出願された米国仮出願第６１／７７０，２６８号、
２０１３年３月４日に出願された米国仮出願第６１／７７２，３２１号、
２０１３年３月１９日に出願された米国仮出願第６１／８０３，３８４号、及び
２０１３年４月２４日に出願された米国仮出願第６１／８１５，６５６号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化及び復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録機器、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、携帯電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信、受信及び記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコード化（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]Ｈ．２６４／ＡＶＣを含む前述の規格のうちの幾つかの拡張は、ステレオ又は３次元（「３Ｄ」）ビデオを生成するためにマルチビュービデオコード化用の技法を提供する。具体的には、マルチビューコード化用の技法は、（Ｈ．２６４／ＡＶＣに対するスケーラブル拡張である）スケーラブルビデオコード化（ＳＶＣ）規格、及び（Ｈ．２６４／ＡＶＣに対するマルチビュー拡張になった）マルチビュービデオコード化（ＭＶＣ）規格とともに、ＡＶＣにおいて使用するために提案されている。
【０００５】
[0005]一般に、ステレオビデオは、２つのビュー、例えば、左ビューと右ビューとを使用して実現される。左ビューのピクチャは右ビューのピクチャと実質的に同時に表示されて、３次元ビデオ効果が実現され得る。例えば、ユーザは、左ビューを右ビューからフィルタ処理する偏光パッシブ眼鏡を着用し得る。代替的に、２つのビューのピクチャは高速で連続して示され得、ユーザは、同じ頻度で、但し位相が９０度シフトして左眼と右眼とを迅速に閉じるアクティブ眼鏡を着用し得る。
【発明の概要】
【０００６】
[0006]概して、本開示では、３Ｄビデオコード化用の技法について説明する。詳細には、本開示は、３Ｄビデオコード化における、隣接ブロック視差ベクトル（ＮＢＤＶ：neighboring block disparity vector）導出とブロックベースビュー合成予測（ＢＶＳＰ：block-based view synthesis prediction）とに関する。
【０００７】
[0007]本開示の一例では、ビデオデータをコード化する方法は、テクスチャ優先（texture-first）コード化を使用して、ビデオデータをコード化することと、複数の隣接ブロックを使用して、ビデオデータのブロックに対して、ＮＢＤＶ導出プロセスを実行することと、ここにおいて、ＮＢＤＶ導出プロセスは視差ベクトルを導出する、を備え、ここにおいて、ＮＢＤＶプロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することとを備える。
【０００８】
[0008]本開示の別の例では、ビデオデータをコード化するように構成された装置は、ビデオデータのブロックを記憶するように構成されたメモリと、テクスチャ優先コード化を使用して、ビデオデータをコード化することと、複数の隣接ブロックを使用して、ビデオデータのブロックに対して、隣接ブロックベース視差ベクトル（ＮＢＤＶ：neighboring block-based disparity vector）導出プロセスを実行することと、ここにおいて、ＮＢＤＶ導出プロセスは視差ベクトルを導出する、を行うように構成されたビデオコーダとを備え、ここにおいて、ＮＢＤＶプロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することとを備える。
【０００９】
[0009]本開示の別の例では、ビデオデータをコード化するように構成された装置は、テクスチャ優先コード化を使用して、ビデオデータをコード化するための手段と、複数の隣接ブロックを使用して、ビデオデータのブロックに対して、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行すること、ここにおいて、ＮＢＤＶ導出プロセスは視差ベクトルを導出する、を行うための手段とを備え、ここにおいて、ＮＢＤＶプロセスを実行するための手段は、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段と、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段とを備える。
【００１０】
[0010]別の例では、本開示は、実行されたとき、ビデオデータをコード化するように構成された１つ又は複数のプロセッサに、テクスチャ優先コード化を使用して、ビデオデータをコード化することと、複数の隣接ブロックを使用して、ビデオデータのブロックに対して、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することと、ここにおいて、ＮＢＤＶ導出プロセスは視差ベクトルを導出する、を行わせる命令を記憶する、コンピュータ可読記憶媒体について説明し、ここにおいて、ＮＢＤＶプロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することとを備える。
【００１１】
[0011]本開示の別の例では、ビデオデータをコード化する方法は、ビデオデータのブロック上でブロックベースビュー合成予測（ＢＶＳＰ）プロセスを実行することを備え、ＢＶＳＰプロセスは、視差ベクトルを導出するために、ＮＢＤＶ導出プロセスを実行することと、ビデオデータのブロックの下位領域（sub-region）について、導出視差ベクトルを精密化する（refining）ことと、ＢＶＳＰを使用して、ビデオデータのブロックをコード化することとを備え、ここにおいて、ＮＢＤＶ導出プロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、１つ又は複数の利用可能な視差動きベクトルから、視差ベクトルを導出することとを備える。
【００１２】
[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]撮影されたビデオ、プリ撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオデータは、発信源機器１２の出力インターフェース２２を介して宛先機器１４に直接送信され得る。符号化されたビデオデータは、更に（又は代替的に）、復号及び／又は再生のための宛先機器１４又は他の機器による後のアクセスのために記憶装置３４上に記憶され得る。
【００２８】
[0037]宛先機器１４は、入力インターフェース２８と、ビデオデコーダ３０と、表示装置３２とを含む。場合によっては、入力インターフェース２８は、受信機及び／又はモデムを含み得る。宛先機器１４の入力インターフェース２８は、リンク１６を介して、符号化されたビデオデータを受信する。リンク１６を介して通信され、又は記憶装置３４上に提供された符号化されたビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化されたビデオデータとともに含まれ得、又はファイルサーバを記憶した。
【００２９】
[0038]表示装置３２は、宛先機器１４と一体であってよく、又はその外部にあり得る。幾つかの例では、宛先機器１４は、集積表示装置を含むことができ、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。一般に、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、種々の表示装置のいずれかを備え得る。
【００３０】
[0039]図１には示されないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合されてよく、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェアとソフトウェアとを含み得る。適用可能な場合、幾つかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３１】
[0040]ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。例えば、本開示で説明される技法は、装置又は機器の観点から説明され得る。一例として、装置又は機器は、ビデオデコーダ３０（例えば、ワイヤレス通信機器の一部としての宛先機器１４）を含んでよく、ビデオデコーダ３０は、本開示で説明される技法を実装する（例えば、本開示で説明される技法に従って、ビデオデータを復号する）ように構成された１つ又は複数のプロセッサを含んでよい。別の例として、装置又は機器は、ビデオデコーダ３０を含むマイクロプロセッサ又は集積回路（ＩＣ）を含んでよく、マイクロプロセッサ又はＩＣは、宛先機器１４又は別のタイプの機器の一部であり得る。同じことは、ビデオエンコーダ２０にも当てはまり得る（即ち、発信源機器１２のような装置又は機器、及び／又はマイクロコントローラ若しくはＩＣは、ビデオエンコーダ２０を含み、その場合、ビデオエンコーダ２０は、本開示で説明される技法に従ってビデオデータを符号化するように構成される）。
【００３２】
[0041]本技法が部分的にソフトウェアで実装されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために１つ又は複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ又は複数のエンコーダ又はデコーダ中に含まれてよく、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。
【００３３】
[0042]ビデオシーケンスは、一般に、ビューからの一連のビデオピクチャを含む。ピクチャオブグループ（ＧＯＰ）は、概して、一連の１つ又は複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つ又は複数のピクチャのヘッダ中、又は他の場所に含み得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。ビデオブロックは、Ｈ．２６４規格において定義されるようなマクロブロック、マクロブロックの区分、及び場合によっては区分（partition）のサブブロック、又は、ＨＥＶＣ規格において定義されるようなコード化単位（ＣＵ）、予測単位（ＰＵ）、又は変換単位（ＴＵ）に対応し得るが、本開示で説明される技法は、これらのブロックの例に限定されない。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定されたコード化規格に従ってサイズが異なり得る。各ビデオピクチャは複数のスライスを含み得る。各スライスは複数のブロックを含み得る。
【００３４】
[0043]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、又は４×４、及びクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、並びにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４、並びにクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法及び水平寸法に関するブロックの画素寸法（例えば、１６×（x）１６画素又は１６×（by）１６画素）を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、但し、Ｎは非負整数値（nonnegative integer value）を表す。ブロック中の画素は行と列とに構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００３５】
[0044]ブロックがイントラモード符号化される（例えば、イントラ予測される）とき、ブロックは、ブロック用のイントラ予測モードを記述するデータを含む場合がある。別の例として、ブロックがインターモード符号化される（例えば、インター予測される）とき、ブロックは、ブロックについての動きベクトルを定義する情報を含む場合がある。この動きベクトルは、同じビュー中の参照ピクチャを指す（例えば、時間動きベクトル）か、又は別のビュー中の参照ピクチャを指す（例えば、視差動きベクトル）。ブロックのための動きベクトルを定義するデータは、例えば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（例えば、１／４画素精度又は１／８画素精度）とを記述する。加えて、インター予測されるとき、ブロックは、動きベクトルが指す参照ピクチャなどの参照インデックス情報、及び／又は動きベクトル用の参照ピクチャリスト（例えば、ＲｅｆＰｉｃＬｉｓｔ０若しくはＲｅｆＰｉｃＬｉｓｔ１）を含む場合がある。
【００３６】
[0045]Ｈ．２６４規格では、イントラ予測又はインター予測コード化の後、ビデオエンコーダ２０は、マクロブロックのための残差データを計算する。残差データは、符号化されていないピクチャの画素と、Ｈ．２６４におけるマクロブロックのための予測値との間の画素差分に対応し得る。
【００３７】
[0046]幾つかの例では、変換係数を生成するための任意の変換の後、ビデオエンコーダ２０は、変換係数の量子化を実行する。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、更なる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減する。例えば、量子化中にｎビット値がｍビット値に切り捨てられ、但し、ｎはｍよりも大きい。
【００３８】
[0047]幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するために予め定義された走査順序を利用する。他の例では、ビデオエンコーダ２０は適応走査を実行する。１次元ベクトルを形成するために、量子化変換係数を走査した後、幾つかの例では、ビデオエンコーダ２０は、幾つかの例として、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化、又は別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化する。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用するための符号化されたビデオデータに関連するシンタックス要素をエントロピー符号化する。
【００３９】
[0048]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、例えば、シンボルの隣接値が０ではないかどうかに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボル（more probable symbols）に対応し、一方より長いコードが劣勢シンボル（less probable symbols）に対応するように構成され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワード（equal-length codewords）を使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００４０】
[0049]ビデオデコーダ３０は、ビデオエンコーダ２０の技法の逆を実施する。例えば、ビデオデコーダ３０は、符号化されたビデオビットストリームを復号し、逆量子化及び逆変換によって残差ブロックを決定する。ビデオデコーダ３０は、ピクチャ内のブロックのための画素値を決定するために、前に復号されたピクチャのブロックと残差ブロックとを合計する。
【００４１】
[0050]上記で説明されたように、本開示で説明される技法は、３Ｄ−ＡＶＣを対象とする。本技法をよりよく理解するために、下記は、幾つかのＨ．２６４／ＡＶＣコード化技法、Ｈ．２６４／ＭＶＣ拡張及び高効率ビデオコード化（ＨＥＶＣ）規格の観点からのマルチビュービデオコード化、ならびに、３Ｄ−ＡＶＣ技法について説明する。
【００４２】
[0051]Ｈ．２６４／アドバンストビデオコード化（ＡＶＣ）では、ビデオ符号化又は復号（例えば、コード化）がマクロブロック上で実施され、但し、マクロブロックは、フレームの一部分を表し、インター予測又はイントラ予測される（即ち、インター予測符号化若しくは復号され、又はイントラ予測符号化若しくは復号される）。例えば、Ｈ．２６４／ＡＶＣでは、各インターマクロブロック（ＭＢ）（例えば、インター予測されたマクロブロック）は、１つの１６×１６ＭＢ区分、２つの１６×８ＭＢ区分、２つの８×１６ＭＢ区分、又は４つの８×８ＭＢ区分の４つの異なる方法に区分され得る。１つのＭＢ中の異なるＭＢ区分は、方向ごとに異なる参照インデックス値（即ち、ＲｅｆＰｉｃＬｉｓｔ０又はＲｅｆＰｉｃＬｉｓｔ１）を有し得る。ＭＢが複数の（１よりも多い）ＭＢ区分に区分されないとき、ＭＢは、各方向に、ＭＢ区分全体のための１つの動きベクトルのみを有する。
【００４３】
[0052]ビデオコード化（符号化又は復号）の一部として、ビデオエンコーダ２０及びビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１と呼ばれる、１つ又は２つの参照ピクチャリストを構成するように構成される。参照ピクチャリスト（複数可）は、フレーム又はスライスのマクロブロックをインター予測するために使用され得る参照ピクチャを識別する。例えば、ビデオエンコーダ２０は、参照インデックスと参照ピクチャリスト識別子とを信号伝達（signal）し得る。ビデオデコーダ３０は、参照インデックスと参照ピクチャリスト識別子とを受信し、参照インデックスと参照ピクチャリスト識別子とから、現在のマクロブロックをインター予測復号するために使用されるべきである参照ピクチャを決定し得る。
【００４４】
[0053]ＭＢが４つの８×８ＭＢ区分に区分されるとき、各８×８ＭＢ区分は、サブブロックに更に区分され得る。８×８ＭＢ区分から、サブブロック、即ち、１つの８×８サブブロック、２つの８×４サブブロック、２つの４×８サブブロック、又は４つの４×４サブブロックを得るための、４つの異なる方法がある。各サブブロックは、各方向において異なる動きベクトルを有し得るが、各方向のためのエス同じ参照ピクチャインデックスを共有することができる。８×８ＭＢ区分がサブブロックに区分される方法は、サブブロック区分と称される。
【００４５】
[0054]マルチビュービデオコード化では、複数の異なるビデオコード化規格がある。混乱を避けるために、本開示が一般的にマルチビュービデオコード化について説明するとき、本開示は「マルチビュービデオコード化」というフレーズを使用する。概して、マルチビュービデオコード化では、ベースビュー、及び、１つ又は複数の拡張ビュー又は依存ビューがある。ベースビューは、依存ビューのいずれにも関係なく、完全に復号可能である（即ち、ベースビューは、時間動きベクトルを用いてのみインター予測される）。これは、マルチビュービデオコード化のために構成されないコーデックが、完全に復号可能である少なくとも１つのビューをなお受信することを可能にする（即ち、ベースビューが抽出され、他のビューが破棄されて、マルチビュービデオコード化のために構成されないデコーダが、３Ｄ経験（3D experience）がないにもかかわらず、ビデオコンテンツをなお復号することが可能にされ得る）。１つ又は複数の拡張ビュー又は依存ビューは、ベースビューに関して、又は他の拡張ビュー（enhancement view）若しくは依存ビュー（dependent view）に関してインター予測され（即ち、視差補償予測され）、又は、同じビュー中の他のピクチャに関してインター予測され（即ち、動き補償予測され）得る。
【００４６】
[0055]「マルチビュービデオコード化」が総称的に使用されるのに対して、頭文字ＭＶＣは、Ｈ．２６４／ＡＶＣの拡張に関連付けられる。従って、本開示が頭文字ＭＶＣを使用するとき、本開示は、特にＨ．２６４／ＡＶＣビデオコード化規格の拡張を指している。Ｈ．２６４／ＡＶＣのＭＶＣ拡張は、時間動きベクトルに加えて、別のタイプの動きベクトルとしての視差動きベクトルに依拠している。ＭＶＣプラス深度（ＭＶＣ＋Ｄ）と呼ばれる別のビデオコード化規格もまた、ＪＣＴ−３Ｖ及びＭＰＥＧによって開発されている。ＭＶＣ＋Ｄは、テクスチャと深度の両方に対して、ＭＶＣのものと同じ低レベルコード化ツールを適用し、深度の復号は、テクスチャの復号とは無関係であり、その逆も同様である。例えば、ＭＶＣでは、フレームは、テクスチャビューコンポーネント又は単にテクスチャと呼ばれる、１つのビューコンポーネントのみによって表される。ＭＶＣ＋Ｄでは、テクスチャビューコンポーネント及び深度ビューコンポーネント、又は単にテクスチャ及び深度という、２つのビューコンポーネントがある。例えば、ＭＶＣ＋Ｄでは、各ビューは、テクスチャビューと深度ビューとを含み、但し、ビューは複数のビューコンポーネントを含み、テクスチャビューは複数のテクスチャビューコンポーネントを含み、深度ビューは複数の深度ビューコンポーネントを含む。
【００４７】
[0056]各テクスチャビューコンポーネントは、ビューのビューコンポーネントを形成するために、深度ビューコンポーネントに関連付けられる。深度ビューコンポーネントは、テクスチャビューコンポーネント中のオブジェクトの相対深度を表す。ＭＶＣ＋Ｄでは、深度ビューコンポーネント及びテクスチャビューコンポーネントは、別個に復号可能である。例えば、ビデオデコーダ３０は、第１のコーデックがテクスチャビューコンポーネントを復号し、第２のコード化されたものが深度ビューコンポーネントを復号する、ＭＶＣコーデックの２つのインスタンスを実装し得る。これらの２つのコーデックは、テクスチャビューコンポーネント及び深度ビューコンポーネントが別個に符号化されるので、互いに無関係に実行することができる。
【００４８】
[0057]ＭＶＣ＋Ｄでは、深度ビューコンポーネントは常に、関連付けられた（例えば、対応する）テクスチャビューコンポーネントの直後にくる。このようにして、ＭＶＣ＋Ｄは、テクスチャビューコンポーネントが深度ビューコンポーネントより前に復号される、テクスチャ優先コード化をサポートする。
【００４９】
[0058]テクスチャビューコンポーネント及びその関連付けられた（例えば、対応する）深度ビューコンポーネントは、同じピクチャ順序カウント（ＰＯＣ：picture order count）値とｖｉｅｗ＿ｉｄとを含み得る（即ち、テクスチャビューコンポーネント及びその関連付けられた深度ビューコンポーネントのＰＯＣ値及びｖｉｅｗ＿ｉｄは同じである）。ＰＯＣ値は、テクスチャビューコンポーネントの表示順序を示し、ｖｉｅｗ＿ｉｄは、テクスチャビューコンポーネント及び深度ビューコンポーネントが属する先のビューを示す。
【００５０】
[0059]典型的なＭＶＣ復号順序（即ち、ビットストリーム順序）が図２に示される。復号順序構成は時間優先（time-first）コード化と呼ばれる。アクセス単位の復号順序は、出力又は表示の順序と同一ではない場合があることに留意されたい。図２では、Ｓ０〜Ｓ７は、それぞれマルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ８は、それぞれ１つの出力時間インスタンスを表す。アクセス単位は、１つの出力時間インスタンスについての全てのビューのコード化されたピクチャを含み得る。例えば、第１のアクセス単位は時間インスタンスＴ０についてのビューＳ０〜Ｓ７の全てを含み得、第２のアクセス単位は時間インスタンスＴ１についてのビューＳ０〜Ｓ７の全てを含み得、以下同様である。
【００５１】
[0060]簡潔にするために、本開示は以下の定義を使用し得る。
【００５２】
ビューコンポーネント：単一のアクセス単位中のビューのコード化された表現。ビューが、コード化されたテクスチャ表現とコード化された深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントとを含み得る。
【００５３】
テクスチャビューコンポーネント：単一のアクセス単位中のビューのテクスチャのコード化された表現。
【００５４】
深度ビューコンポーネント：単一のアクセス単位中のビューの深度のコード化された表現。
【００５５】
[0061]上記で説明されたように、本開示のコンテキストでは、ビューコンポーネント、テクスチャビューコンポーネント、及び深度ビューコンポーネントは、一般にレイヤと呼ばれることがある。図２では、ビューの各々はピクチャのセットを含む。例えば、ビューＳ０はピクチャ０、８、１６、２４、３２、４０、４８、５６、及び６４のセットを含み、ビューＳ１はピクチャ１、９、１７、２５、３３、４１、４９、５７、及び６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネント及び深度ビューコンポーネントは、互いに対応すると見なされ得る。例えば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応すると見なされ、その逆も同様である（即ち、深度ビューコンポーネントはセット中のそれのテクスチャビューコンポーネントに対応し、その逆も同様である）。本開示で使用する、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセス単位の同じビューの一部であるテクスチャビューコンポーネント及び深度ビューコンポーネントと見なされ得る。
【００５６】
[0062]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。例えば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分と、クロマ（Ｃｂ及びＣｒ）成分とを含み得る。深度ビューコンポーネントは、それの対応するテクスチャビューコンポーネント中の画素の相対深度を示し得る。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビューコンポーネントは、画像コンテンツを搬送するのではなく、テクスチャビューコンポーネント中の画素の相対深度の測度を与え得る。
【００５７】
[0063]例えば、深度ビューコンポーネント中の純白の画素は、対応するテクスチャビューコンポーネント中のそれの対応する１つ又は複数の画素が閲覧者から見てより近いことを示し、深度ビューコンポーネント中の純黒の画素は、対応するテクスチャビューコンポーネント中のそれの対応する１つ又は複数の画素が閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。例えば、深度ビューコンポーネント中の濃いグレーの画素は、テクスチャビューコンポーネント中のそれの対応する画素が、深度ビューコンポーネント中のより薄いグレーの画素よりも遠いことを示す。画素の深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネントの色値がいかなる目的も果たし得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。
【００５８】
[0064]深度を識別するためにルーマ値（例えば、強度値）のみを使用する深度ビューコンポーネントが説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント中の画素の相対深度を示すために任意の技法が利用され得る。
【００５９】
[0065]マルチビュービデオコード化用の（各ビュー内のピクチャ間予測と、ビュー間のビュー間予測の両方を含む）典型的なＭＶＣ予測構造が図３に示されている。予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。ＭＶＣでは、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。
【００６０】
[0066]図３の例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、１２個の時間位置（「Ｔ０」〜「Ｔ１１」）がビューごとに示されている。即ち、図３中の各行はビューに対応し、一方各列は時間位置（temporal location）を示す。
【００６１】
[0067]ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能である、所謂ベースビューを有し、また、ステレオビューペアがＭＶＣによってもサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートできることである。ＭＶＣデコーダを有するクライアントのレンダリング装置（renderer）は、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【００６２】
[0068]図３中のピクチャは、各行と各列の交点に示されている。Ｈ．２６４／ＡＶＣ規格は、ビデオの一部分を表すためにフレームという用語を使用し得る。本開示では、ピクチャという用語とフレームという用語とを互換的に使用し得る。
【００６３】
[0069]図３中のピクチャは、対応するピクチャがイントラコード化される（即ち、Ｉピクチャである）か、又は一方向に（即ち、Ｐピクチャとして）又は複数の方向に（即ち、Ｂピクチャとして）インターコード化されるかを指定する、文字を含むブロックを使用して示されている。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。例えば、時間位置Ｔ０にあるビューＳ２のＰピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャから予測される。
【００６４】
[0070]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコード化ビデオシーケンスのピクチャは、異なる時間位置にあるピクチャに関して予測符号化され得る。例えば、時間位置Ｔ１にあるビューＳ０のｂピクチャは、時間位置Ｔ０にあるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、更に、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。即ち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、例えば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張において信号伝達され、インター予測又はビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ビュー間予測は、３Ｄ−ＨＥＶＣ（マルチビュープラス深度）を含むＨＥＶＣの提案されたマルチビュー拡張の機能でもある。
【００６５】
[0071]図３は、ビュー間予測の様々な例を提供する。図３の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間位置にあるピクチャから予測されるものとして、及び同じ時間位置にあるビューＳ０及びＳ２のピクチャからビュー間予測されるものとして示されている。例えば、時間位置Ｔ１にあるビューＳ１のｂピクチャは、時間位置Ｔ０及びＴ２にあるビューＳ１のＢピクチャの各々、ならびに時間位置Ｔ１にあるビューＳ０及びＳ２のｂピクチャから予測される。
【００６６】
[0072]幾つかの例では、図３はテクスチャビューコンポーネントを示すものとして見なされ得る。例えば、図２に示されたＩピクチャ、Ｐピクチャ、Ｂピクチャ、及びｂピクチャは、ビューの各々のためのテクスチャビューコンポーネントと見なされ得る。本開示で説明される技法によれば、図３に示されたテクスチャビューコンポーネントの各々について、対応する深度ビューコンポーネントがある。幾つかの例では、深度ビューコンポーネントは、対応するテクスチャビューコンポーネントについて図３に示された方法と同様の方法で予測され得る。
【００６７】
[0073]２つのビューのコード化もＭＶＣによってサポートされ得る。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとり得、ＭＶＣデコーダがそのようなマルチビュー表現を復号し得ることである。従って、ＭＶＣデコーダをもついかなるレンダラも、３つ以上のビューをもつ３Ｄビデオコンテンツを復号し得る。
【００６８】
[0074]上記で説明されたように、ＭＶＣでは、（幾つかの事例では、同じ時間インスタンスをもつことを意味する）同じアクセス単位中のピクチャ間で、ビュー間予測が可能にされる。非ベースビューのうちの１つの中のピクチャをコード化するとき、ピクチャが異なるビュー内にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。図３に示されたように、ビューコンポーネントは、参照用に他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
【００６９】
[0075]ＭＶＣでは、同じアクセス単位中の（即ち、同じ時間インスタンスをもつ）ピクチャ間でビュー間予測が可能にされる。非ベースビューのうちの１つ中のピクチャをコード化するとき、ピクチャが異なるビュー中にあるが同じ時間インスタンスをもつ場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【００７０】
[0076]図３に示されたように、ビューコンポーネントは、参照用に他のビュー中のビューコンポーネントを使用することができる。これはビュー間予測と呼ばれる。ＭＶＣでは、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
【００７１】
[0077]マルチビュービデオコード化のコンテキストでは、２種類の動きベクトルが存在する。１つは、時間参照ピクチャを指す通常の動きベクトルである。対応する時間インター予測は、動き補償予測（ＭＣＰ：motion-compensated prediction）である。他方のタイプの動きベクトルは、異なるビュー中のピクチャ（即ち、ビュー間参照ピクチャ）を指す視差動きベクトルである。対応するインター予測は、視差補償予測（ＤＣＰ：disparity-compensated prediction）である。
【００７２】
[0078]現在、ＶＣＥＧ及びＭＰＥＧのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−３Ｖ）は、Ｈ．２６４／ＡＶＣに基づく３ＤＶ規格、即ち、３Ｄ−ＡＶＣを開発中である。３Ｄ−ＡＶＣでは、ＭＶＣにおけるビュー間予測の他に、新しいコード化ツールが含まれ、サポートされている。３Ｄ−ＡＶＣのための最新のソフトウェア３Ｄ−ＡＴＭは、以下のリンクからダウンロード可能であり、即ち、［３Ｄ−ＡＴＭバージョン６．２］：ｈｔｔｐ：／／ｍｐｅｇ３ｄｖ．ｒｅｓｅａｒｃｈ．ｎｏｋｉａ．ｃｏｍ／ｓｖｎ／ｍｐｅｇ３ｄｖ／ｔａｇｓ／３ＤＶ−ＡＴＭｖ６．２／である。
【００７３】
[0079]ＡＶＣベース３Ｄビデオ（３Ｄ−ＡＶＣ）コード化規格は、ＪＣＴ−３Ｖによって現在開発中であり、３Ｄ−ＡＶＣの最新のバージョンは、現在公に入手可能であり、即ち、Ｍ．  Ｍ．  Ｈａｎｎｕｋｓｅｌａ、Ｙ．  Ｃｈｅｎ、Ｔ．  Ｓｕｚｕｋｉ、Ｊ．−Ｒ．  Ｏｈｍ、Ｇ．  Ｊ．  Ｓｕｌｌｉｖａｎ、「３Ｄ−ＡＶＣ  ｄｒａｆｔ  ｔｅｘｔ  ５」、ＪＣＴ３Ｖ−Ｃ１００２、ジュネーブ、スイス、２０１３年１月である。それは、以下のリンクから入手可能であり、参照により本明細書に組み込まれ、即ち、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｃ１００２−ｖ３．ｚｉｐである。
【００７４】
[0080]３Ｄ−ＡＶＣは、ベースビューのテクスチャ部分がＨ．２６４／ＡＶＣデコーダにとって完全に復号可能である形で、Ｈ．２６４／ＡＶＣと互換性がある。例えば、ベースビューのビューコンポーネント中のテクスチャビューコンポーネントは、同じベースビュー中の他のテクスチャビューコンポーネントのみを用いてインター予測され得る。ベースビュー中のテクスチャビューコンポーネントは、ビュー間予測されなくてよい。また、ベースビュー中のテクスチャビューコンポーネントは、復号の目的のために対応する深度ビューコンポーネントを必要としなくてよい。
【００７５】
[0081]３Ｄ−ＡＶＣにおける拡張ビューコンポーネントでは、幾つかの他の例示的な技法において、深度がテクスチャより前にコード化され得、テクスチャビューコンポーネントが、深度ビューコンポーネントからの情報に基づいてコード化され得、これは深度優先（depth-first）コード化としても知られる。但し、各テクスチャビューコンポーネントは、上記で説明されたＭＶＣ＋Ｄにおけるような、テクスチャ優先コード化順序において、それぞれの深度ビューコンポーネントの前でコード化される。言い換えれば、幾つかの他の例示的な技法では、３Ｄ−ＡＶＣでは、ベースビューのテクスチャビューコンポーネントが最初にコード化され、ベースビューの関連付けられた深度ビューコンポーネントによって後続され、第１の拡張ビュー又は依存ビューの深度ビューコンポーネントによって後続され、第１の拡張ビュー又は依存ビューの関連付けられたテクスチャビューコンポーネントによって後続され、第２の拡張ビュー又は依存ビューの深度ビューコンポーネントによって後続され、第２の拡張ビュー又は依存ビューの関連付けられたテクスチャビューコンポーネントによって後続され、以下同様である。
【００７６】
[0082]例えば、３Ｄ−ＡＶＣにおけるテクスチャビューコンポーネント及び深度ビューコンポーネントのコード化順序は、次のように例示される。以下の例では、Ｔ０及びＤ０は、それぞれ、ベースビューのテクスチャビューコンポーネントと深度ビューコンポーネントとを指し、Ｔｉ及びＤｉは、それぞれ、ｉ番目の依存ビューのテクスチャビューコンポーネントと深度ビューコンポーネントとを指す。以下の例では、３つのビューが考慮される。
【００７７】
[0083]第１の例では、考慮されるビューは、Ｔ０、Ｄ０、Ｄ１、Ｄ２、Ｔ１、及びＴ２である。この例では、ベースビュー（Ｔ０及びＤ０）は、テクスチャ優先コード化順序でコード化されるが、一方依存ビューは、深度優先コード化順序でコード化される。ハイブリッドコード化順序が、３Ｄ−ＡＶＣの共通試験条件において現在使用されている。別の例では、コード化の順序は、Ｔ０、Ｄ０、Ｔ１、Ｄ１、Ｔ２、及びＤ２である。即ち、全てのビューコンポーネントが、テクスチャ優先コード化順序でコード化される。ビュー間予測がＴｉに対して可能にされる場合、参照テクスチャビューは、ビュー間参照ピクチャを含むビューとして定義され、対応する深度ビューは、参照テクスチャビューのものと同じビュー順序インデックスを有する参照深度ビューとして定義される。
【００７８】
[0084]テクスチャビューコンポーネントのブロックのための視差ベクトルを導出することは、対応する深度ビューコンポーネントを必要としたので、幾つかの他の３Ｄ−ＡＶＣ技法は、深度優先コード化を必要とした。下記は、深度マップを介したそのような視差ベクトル導出について説明する。視差ベクトルを導出するための技法は、各低レベルコード化ツールとともに変化し得るが、一般に、依存ビューの深度データは、テクスチャビューコンポーネントコード化のための視差ベクトル導出のために使用される。これは、深度優先コード化順序のために、依存ビューの深度ビューが利用可能であるからである。使用される低レベルコード化ツールは、３Ｄ−ＡＶＣにおける、インループブロックベースビュー合成ビュー間予測（ＢＶＳＰ）及び深度ベース動きベクトル予測（Ｄ−ＭＶＰ：depth-based motion vector prediction）である。ビデオコーダ、例えば、ビデオデコーダ３０は、（依存フレームと呼ばれることがある）依存ビュー中の（深度マップと呼ばれることがある）深度ビューの深度値から変換された視差ベクトルを使用し得る。３Ｄ−ＡＶＣ参照ソフトウェアでは、典型的には、実際の深度マップ値から特定のビューに対する視差への変換プロセスの結果が、カメラパラメータとともにルックアップテーブルに記憶される。
【００７９】
[0085]図４は、後方ワーピングに基づくＢＶＳＰの概念図である。ＢＶＳＰは、Ｗ．  Ｓｕ他による「３ＤＶ−ＣＥ１．ａ：Ｂｌｏｃｋ−Ｂａｓｅｄ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ３ＤＶ−ＡＴＭ」（ＪＣＴ３Ｖ−Ａ０１０７）において最初に提案されており、それは、以下のリンクからダウンロード可能であり、参照により本明細書に組み込まれ、即ち、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴ３Ｖ−Ａ０１０７−ｖ１．ｚｉｐである。図４を参照すると、以下のコード化順序、即ち、（Ｔ０、Ｄ０、Ｄ１、Ｔ１）が利用されると仮定する。テクスチャコンポーネントＴ０は、ベースビューであり、Ｔ１は、ＶＳＰ（ビュー合成予測）でコード化された依存ビューである。深度マップコンポーネントＤ０及びＤ１は、Ｔ０及びＴ１に関連付けられたそれぞれの深度マップである。
【００８０】
[0086]依存ビューＴ１では、現在コード化されているブロックＣｂのサンプル値が、ベースビューＴ０のサンプル値からなる参照エリアＲ（Ｃｂ）から予測される（ＶＳＰ予測）。コード化されるべき現在のサンプルと参照サンプルとの間の変位ベクトル（Ｄｉｓｐ＿ｖｅｃ）は、現在コード化されているテクスチャサンプルに関連付けられた深度マップ値からのＴ１とＴ０との間の導出された視差ベクトルとして示される。
【００８１】
[0087]深度値から視差ベクトルへの変換のプロセスは、例えば以下の式を用いて実行され得る。
【数１】
0006382233.tif 000002
【数２】
0006382233.tif 000003
【００８２】
[0088]但し、ｊ及びｉは、Ｃｂ内のローカル空間座標であり、ｄＣb（j，i）は、ビュー１の深度マップ画像における深度マップ値であり、Ｚは、実際の対応する深度値であり、Ｄは、特定のビュー０への導出された視差ベクトルの水平成分である。パラメータｆ、ｂ、Ｚｎｅａｒ及びＺｆａｒは、カメラセットアップを指定するパラメータであり、即ち、使用される焦点距離（ｆ）、ビュー＃１とビュー＃０との間のカメラ分離（ｂ）、及び、深度マップ変換のパラメータを表す深度範囲（Ｚｎｅａｒ、Ｚｆａｒ）である。
【００８３】
[0089]幾つかの例では、導出された視差ベクトルの垂直成分が０に設定されることに留意されたい。また、幾つかの３ＤＶ−ＡＴＭ実装形態では、式（１）及び（２）は、あらゆる深度マップ値（０．．．２５５）についてすでに事前計算され、ルックアップテーブルとして記憶されている。
【００８４】
[0090]次のセクションは、ＢＶＳＰの幾つかの実装問題について説明する。１つの問題は、ＢＶＳＰブロックの指示を含む。ＢＶＳＰブロックは、次のように示される。
【００８５】
−  ＭＢレベルにおける１つのフラグが、現在のＭＢが従来のスキップ／直接モードでコード化されるか、スキップ／直接モードでコード化されるが、合成参照コンポーネントから予測されるかを、信号伝達するために使用される。
【００８６】
−  ＭＢ区分（１６×１６から８×８まで）ごとに、各参照ピクチャリスト中の参照インデックス（又は、３Ｄ−ＡＶＣのための幾つかの提案と同様に、フラグ）が、参照ピクチャを信号伝達するために使用される。区分がＢＶＳＰモードでコード化されるとき、ＢＶＳＰコード化されたブロックのための動きベクトルがないので、動きベクトル差分は信号伝達されない。
【００８７】
[0091]フラグ又は参照インデックスのいずれかが合成参照コンポーネントを示すとき、以下の項目において説明されるような１つの区分の予測が呼び出される。そのサイズがＮ×Ｍによって示される（但し、Ｎ又はＭは、８又は１６とする）、ＭＢ区分ごとに、そのＭＢ区分がＢＶＳＰモードでコード化される場合、現在のＭＢ区分は、Ｋ×Ｋ（但し、Ｋは、３Ｄ−ＡＶＣのための幾つかの提案と同様に８×８であるか、４×４、２×２、又は１×１であり得る）に等しいサイズをもつ幾つかの下位領域に更に区分される。下位領域ごとに、別個の視差ベクトルが導出され、各下位領域が、ビュー間参照ピクチャ中の導出された視差ベクトルによって位置を特定された１つのブロックから予測され、即ち、図４におけるＲ（ｃｂ）である。幾つかの例示的な共通試験条件では、Ｋは４になるように定義される。導出された視差ベクトルは、ＢＶＳＰコード化されたブロックについては記憶されず、その理由は、そのようなベクトルを使用するコード化ツールがないからであることに留意されたい。
【００８８】
[0092]別の実装問題は、視差ベクトル導出プロセスを含む。深度優先コード化順序が適用されるとき、導出された視差ベクトルは、図４に示されるように、対応する非ベース深度ビュー中の対応する深度ブロックの深度値を変換することによって、取得され得る。幾つかの技法が、深度ブロックの中心位置の深度値、１つの深度ブロック内の全ての深度値の最大値、１つの深度ブロック内の４隅の画素の最大値、及び深度ブロック／深度ＭＢの右下画素の深度値など、１つの深度ブロックの深度値を選択するために適用され得る。テクスチャ優先コード化順序が適用されるとき、非ベーステクスチャビューを復号するときに対応する非ベース深度ビューが利用不可能であるので、ＢＶＳＰモードが無効化されることになる。
【００８９】
[0093]通常のインターモードのための３Ｄ−ＡＶＣにおける深度ベース動きベクトル予測（Ｄ−ＭＶＰ）について、次に説明する。Ｄ−ＭＶＰは、深度優先コード化順序のために利用可能である、現在のビュー中の関連付けられた深度マップデータを組み込む、動きベクトル予測方法を指す。その方法は、依存ビュー中のテクスチャビューコンポーネントとともに適用される。
【００９０】
[0094]３Ｄ−ＡＶＣでは、Ｄ−ＭＶＰ方法が、Ｈ．２６４／ＡＶＣの従来の中央値関数ベース動きベクトル予測に組み込まれる。具体的には、予測されるべき動きベクトルのタイプ（即ち、時間動きベクトルか視差動きベクトルか）が、隣接ブロック中の動きベクトルの参照インデックスから最初に識別され、従って、動き予測のタイプが決定される。図８に示されるように、現在の区分のための隣接ブロックは、現在のブロックに対して、順に、（「Ａ」と示される）左ブロックと、（「Ｂ」と示される）上ブロックと、（「Ｃ」と示される）右上ブロックと、（「Ｄ」と示される）左上ブロックとを含み得る。左上ブロック中の動きベクトルは、他の３つの隣接ブロックのうちの１つが動きベクトルを含んでおらず、従って利用不可能であると見なされるとき、使用され得る。
【００９１】
[0095]３つの隣接ブロックの動きベクトルが利用可能であると仮定すると、３つの隣接ブロック中の動きベクトルが、現在のブロックの動きベクトル予測のために採用される。時間的予測では、それらの動きベクトルが全て同じタイプを有し、同じ参照インデックスを有する場合、Ｈ．２６４／ＡＶＣと同様に、メディアンフィルタが直接使用される。他の場合、動きベクトルが異なるタイプに属しており、異なる参照インデックスを有する場合、現在のブロックのための動きベクトルが更に導出される。現在の参照ピクチャがビュー間参照ピクチャであるとき、隣接ブロック位置における動きベクトルタイプ及びそれらの参照インデックスがチェックされる。隣接ブロックが全て同じタイプと同じ参照インデックスとを有する場合、メディアンフィルタが適用される。どちらの場合も、３つよりも少ない隣接ブロックが利用可能である場合、３つの隣接ブロックが利用可能になるように、利用不可能なブロックのための動きベクトルが更に導出される。
【００９２】
[0096]隣接ブロックのために導出された動きベクトルは、導出された動きベクトルと呼ばれ、次のように生成される。現在の動きベクトルが視差動きベクトルであり、隣接ブロックの動きベクトルが現在の動きベクトルのものとは異なるタイプを有する（又は、利用不可能である）場合、隣接ブロックの導出された動きベクトルは、対応する深度ビューコンポーネントから変換される、視差動きベクトルになるように設定される。同じビューの深度ビューコンポーネントの対応するブロックが使用され、この対応するブロックの４隅の深度値の最大値が視差値に変換され、その視差値が、導出された動きベクトルの水平成分になる。導出された動きベクトルの垂直成分は、ゼロになるように設定される。
【００９３】
[0097]現在の動きベクトルが時間動きベクトルである場合、（上記で説明されたように導出された）視差値は、参照（ベース）ビュー中の参照ブロックの時間動きベクトルを決定するために使用され、導出された動きベクトルは、時間動きベクトルになるように設定される。時間動きベクトルが利用不可能であると見なされる場合（例えば、イントラブロックの場合、又は、動きベクトルが、現在の参照ピクチャとともに整合された参照ビュー中の参照ピクチャを指さない場合）、導出された動きベクトルは、ゼロに設定される。
【００９４】
[0098]スキップモード及び直接モードのための３Ｄ−ＡＶＣにおけるビュー間動き予測について、次に説明する。３Ｄ−ＡＶＣにおけるビュー間動き予測は、Ｐスキップ、Ｂスキップ、Ｂ−１６×１６直接モード、及びＢ−８×８直接モードで実行される。視差ベクトルは、隣接ブロック、ならびに、同じビューの深度ビューコンポーネントの深度値から変換された視差ベクトルを導出することから、最初に導出され得る。
【００９５】
[0099]１つの利用可能な空間隣接ブロックが、視差動きベクトルを含んでいる場合、この視差動きベクトルが、現在のブロックのための視差ベクトルになる。他の場合、視差動きベクトルを含んでいない隣接ブロックでは、現在のブロックのために使用されるべき視差動きベクトルが、（Ｄ−ＭＶＰにおける変換と同様に）同じビューに対応する深度値から変換される。幾つかの例では、視差ベクトルを取得するために、メディアンフィルタが３つの隣接ブロックに適用される。
【００９６】
[0100]導出されたベクトルは、参照（ベース）ビュー中の参照ブロックに対する時間動きベクトルを取得するために使用され得る。時間動きベクトルが利用不可能である場合、参照インデックスが最初に導出され得、上記で説明されたＤ−ＭＶＰプロセスが、動きベクトル予測子を生成するために適用される。
【００９７】
[0101]隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出について、次に説明する。ＮＢＤＶは、テクスチャ優先コード化順序が全てのビューに対して使用されるとき、３Ｄ−ＨＥＶＣにおいて視差ベクトル導出方法として使用される。現在の３Ｄ−ＨＥＶＣ設計では、ＮＢＤＶ導出はまた、参照ビューの深度マップから深度データを取り出すためにも使用される。
【００９８】
[0102]参照ソフトウェア記述の１つのバージョン、及び３Ｄ−ＨＥＶＣのワーキングドラフトは、次のように入手可能となり、参照により本明細書に組み込まれ、即ち、Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｇｎｅｒ、Ｙｉｎｇ  Ｃｈｅｎ、Ｓｅｈｏｏｎ  Ｙｅａ、「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｄｒａｆｔ  ２」、ＪＣＴ３Ｖ−Ｂ１００５、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｔｅｎｓｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ、第２回会合：上海、中国、２０１２年１０月である。
【００９９】
[0100]視差ベクトル（ＤＶ）は、２つのビューの間の視差を推定するものとして使用される。即ち、視差ベクトルは、現在のピクチャ中のブロックに関する、同じ時間インスタンス中のすでにコード化されたピクチャ中の対応するブロックへの、ポインタである。隣接ブロックは、ビデオコード化においてほぼ同じ動き／視差情報を共有するので、現在のブロックは、良い予測子として、隣接ブロック中の動きベクトル情報を使用することができる。この考えに従って、ＮＢＤＶ導出プロセスは、異なるビュー中の視差ベクトルを推定するために、隣接ブロックの視差情報を使用する。
【０１００】
[0101]ＮＤＢＤ導出を実行するために、候補隣接ブロックが最初に定義される。２つのセットの隣接候補ブロックが利用される。一方のセットは、空間隣接ブロックからのものであり、他方のセットは、時間隣接ブロックからのものである。空間及び時間隣接候補ブロックの各々が、次いで、現在のブロックと候補ブロックとの間の相関の優先度によって決定された、予め定義された順序でチェックされる。視差動きベクトル（即ち、動きベクトルがビュー間参照ピクチャを指す）が候補中で発見されると、視差動きベクトルが視差ベクトルに変換される。
【０１０１】
[0102]３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出の具体例について、次に説明する。３Ｄ−ＨＥＶＣは、ＪＣＴ３Ｖ−Ａ００９７において提案された隣接ブロック（ベース）視差ベクトル（ＮＢＤＶ）方法を、最初に採用した。暗黙的視差ベクトル（implicit disparity vector）が、ＪＣＴＶＣ−Ａ０１２６において簡略化されたＮＢＤＶ導出プロセスとともに含まれた。それに加えて、ＪＣＴ３Ｖ−Ｂ００４７では、ＮＢＤＶ導出は、復号されたピクチャバッファに記憶された暗黙的視差ベクトルを除去することによって、更に簡略化されるが、また、ランダムアクセスポイント（ＲＡＰ）ピクチャ選択を用いてコード化利得も改善した。
【０１０２】
[0103]ＪＣＴ３Ｖ−Ａ００９７：３Ｄ−ＣＥ５．ｈ：Ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｇｅｎｅｒａｔｉｏｎ  ｒｅｓｕｌｔｓ、Ｌ．  Ｚｈａｎｇ、Ｙ．  Ｃｈｅｎ、Ｍ．  Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ）は、参照により本明細書に組み込まれる。
【０１０３】
[0104]ＪＣＴ３Ｖ−Ａ０１２６：３Ｄ−ＣＥ５．ｈ：Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  ｏｆ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ  ｆｏｒ  ＨＥＶＣ−ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、Ｊ．  Ｓｕｎｇ、Ｍ．  Ｋｏｏ、Ｓ．  Ｙｅａ（ＬＧ）は、参照により本明細書に組み込まれる。
【０１０４】
[0105]ＪＣＴ３Ｖ−Ｂ００４７：３Ｄ−ＣＥ５．ｈ  ｒｅｌａｔｅｄ：Ｉｍｐｒｏｖｅｍｅｎｔｓ  ｆｏｒ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ、Ｊ．  Ｋａｎｇ、Ｙ．  Ｃｈｅｎ、Ｌ．  Ｚｈａｎｇ、Ｍ．  Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ）は、参照により本明細書に組み込まれる。
【０１０５】
[0106]ＮＢＤＶ導出のための幾つかの提案では、５つの空間隣接ブロックが、視差ベクトル導出のために使用される。図５に示されるように、５つの空間隣接ブロックは、Ａ０、Ａ１、Ｂ０、Ｂ１又はＢ２によって示されるような、現在のＰＵ５００の左下ブロック、左ブロック、右上ブロック、上ブロック、及び左上ブロックである。それらは、ＨＥＶＣにおけるマージモードにおいて使用されたものと同じであることに留意されたい。従って、追加のメモリアクセスが必要とされない。
【０１０６】
[0107]時間隣接ブロックをチェックする前に、候補ピクチャリストの構成プロセスが最初に実行される。現在のビューからの全ての参照ピクチャが、候補ピクチャとして扱われ得る。同一位置配置された参照ピクチャが最初に候補ピクチャリストに挿入され、参照インデックスの昇順に候補ピクチャの残りによって後続される。両方の参照ピクチャリスト中で同じ参照インデックスをもつ参照ピクチャが利用可能であるとき、同一位置配置ピクチャ（co-located picture）と同じ参照ピクチャリスト中にある参照ピクチャが、一致する参照インデックスを有する他の参照ピクチャに先行する。候補ピクチャリスト中の候補ピクチャごとに、時間隣接ブロックを導出するために３つの候補領域が決定される。
【０１０７】
[0108]ブロックがビュー間動き予測でコード化されるとき、異なるビュー中の対応するブロックを選択するために、視差ベクトルが導出される。ビュー間動き予測において導出された視差ベクトルは、暗黙的視差ベクトル（ＩＤＶ）と呼ばれることがある。ブロックが動き予測でコード化されるとしても、ＩＤＶは、後続のブロックをコード化する目的のために破棄されない。
【０１０８】
[0109]典型的には、ＮＢＤＶ導出プロセスは、時間隣接ブロック中の視差動きベクトルと、空間隣接ブロック中の視差動きベクトルと、次いでＩＤＶとを、その順序でチェックすることを伴う。視差ベクトルが発見されると、プロセスは終了させられる。
【０１０９】
[0110]３Ｄ−ＨＥＶＣにおける後方ＶＳＰについて、次に説明する。３Ｄ−ＨＥＶＣでは、テクスチャ優先コード化順序が適用されるとき、予測単位（ＰＵ）ごとに、参照深度ビュー中の深度値を考慮するかしないかにかかわらず、視差ベクトルがＮＢＤＶ導出プロセスから導出され得る。視差ベクトルが取得された後、視差ベクトルは、１つのＰＵがＢＶＳＰモードでコード化される場合、そのＰＵのＭ×Ｎ（但し、Ｍ／Ｎは、例えば、８又は４に等しくなり得る）下位領域ごとに更に精密化されることになる。
【０１１０】
[0111]精密化プロセスは、２つのステップを含み、即ち、１）導出された視差ベクトルによって位置を特定される参照深度ビュー中のＭ×Ｎ深度ブロックから１つの最大深度値を選択し、２）正確な視差ベクトルの垂直成分を０になるように保ちながら、深度値を正確な視差ベクトルの水平成分に変換する。視差ベクトルが１つのＰＵの１つのＭ×Ｎ下位領域について精密化された後、正確な視差ベクトルが、動き補償のために参照テクスチャビュー中で１つのブロックの位置を特定するために使用される。
【０１１１】
[0112]３Ｄ−ＡＶＣにおけるＮＢＤＶ導出プロセスについて、次に説明する。参照により本明細書に組み込まれる、２０１４年２月２５日に出願された、同時係属米国特許出願第１４／１８９，１７７号に記載されているように、ＭＢレベルＮＢＤＶ導出は、現在のＭＢのための視差ベクトルを導出するために使用され得る。導出された視差ベクトルは、動きベクトル予測のために更に使用され得る。視差動きベクトルが識別されると、即ち、時間又は空間隣接ブロックのうちの１つがビュー間参照ピクチャを使用すると、それが現在のＭＢのための視差ベクトルとして返される。
【０１１２】
[0113]下記は、米国特許出願第１４／１８９，１７７号の技法について、より詳細に説明する。幾つかの以前の３Ｄ−ＡＶＣ技法は、テクスチャビューコンポーネントの深度ビューコンポーネントが視差ベクトル導出のために利用可能であることを必要としており（即ち、依存ビュー又は拡張ビューのための深度優先コード化を必要とする）、そのことが、復号待ち時間、実装の複雑さ、他のビデオコード化規格へのスケーラビリティの欠如、深度ビューコンポーネントが必要とされない場合の帯域幅の非効率性、及び他の潜在的な欠点などの問題につながる。
【０１１３】
[0114]米国特許出願第１４／１８９，１７７号に記載された技法は、対応する深度ビューコンポーネントに依拠することを必要としない視差ベクトル導出を可能にする。このようにして、それらの技法は、視差ベクトル導出を用いた依存ビューのための３Ｄ−ＡＶＣにおけるテクスチャ優先コード化を可能にする。視差ベクトル導出を実現するために、米国特許出願第１４／１８９，１７７号に記載された技法は、隣接ブロックの動きベクトル情報に依拠する。一例として、隣接ブロックのための動きベクトルが視差動きベクトルである場合、それらの技法は、現在のブロックのための視差ベクトルとして、隣接ブロックの視差動きベクトルを利用する。このようにして、ビデオエンコーダ２０及びビデオデコーダ３０は、対応する深度ビューコンポーネントに依拠する必要なしに、テクスチャビューコンポーネントの現在のマクロブロックのための視差ベクトルを決定し得る。
【０１１４】
[0115]ビデオエンコーダ２０及びビデオデコーダ３０は、米国特許出願第１４／１８９，１７７号に記載された技法を実装するように構成され得る。例えば、ビデオエンコーダ２０及びビデオデコーダ３０は、テクスチャビューがビューコンポーネントごとに最初にコード化されることを可能にすることによって、３Ｄ−ＡＶＣの効率的なコード化を可能にする技法を実装するように構成され得る。ビデオエンコーダ２０及びビデオデコーダ３０は、テクスチャ優先コード化順序のために、対応する深度データが３Ｄ−ＡＶＣにおいて利用可能ではない（又は、まだ利用可能ではない）とき、現在のブロックの空間／時間隣接ブロックからの２つ以上の利用可能な視差動きベクトルを考慮するＮＢＤＶの概念を使用して、視差ベクトルを導出し得る。
【０１１５】
[0116]一例として、ビデオデコーダ３０は、依存ビューのテクスチャ優先コード化を用いて生成された、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおけるコード化されたビットストリームを受信し得る。この例では、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスは、３Ｄ−ＡＶＣビデオコード化規格において定義されたビデオコード化ツールを使用するビデオコード化プロセスを指す。依存ビューのテクスチャ優先コード化は、テクスチャビューコンポーネントが対応する深度ビューコンポーネントより前にコード化される（即ち、Ｔ０、Ｄ０、Ｔ１、Ｄ１など）場合を指す。
【０１１６】
[0117]ビデオデコーダ３０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて、依存ビューのうちの依存ビューのテクスチャビューコンポーネントを復号し得る。この例では、テクスチャビューコンポーネントを復号するために、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビュー中のビュー間参照ピクチャを参照する視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビューコンポーネント中の現在のブロックの１つ又は複数の隣接ブロックの動き情報を評価するように構成され得る。また、テクスチャビューコンポーネントを復号するために、ビデオデコーダ３０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在のブロックのための視差ベクトルを導出するように構成され得る。ビデオデコーダ３０は、テクスチャビューコンポーネントを復号することに続いて、テクスチャビューコンポーネントに対応する深度ビューコンポーネントを復号し得る。
【０１１７】
[0118]別の例として、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて、依存ビューのテクスチャビューコンポーネントを符号化し得る。この例では、テクスチャビューコンポーネントを符号化するために、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビュー中のビュー間参照ピクチャを参照する視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビューコンポーネント中の現在のブロックの１つ又は複数の隣接ブロックの動き情報を評価するように構成され得る。また、テクスチャビューコンポーネントを符号化するために、ビデオエンコーダ２０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在のブロックのための視差ベクトルを導出するように構成され得る。
【０１１８】
[0119]ビデオエンコーダ２０は、テクスチャビューコンポーネントを符号化することに続いて、テクスチャビューコンポーネントに対応する深度ビューコンポーネントを符号化し得る。ビデオエンコーダ２０はまた、符号化されたテクスチャビューコンポーネントと符号化された深度ビューコンポーネントとを含む、依存ビューのテクスチャ優先コード化を用いてコード化されたビットストリームを、出力のために生成し得る。
【０１１９】
[0120]３Ｄ−ＡＶＣのための現在の提案は、以下の問題を呈している。米国特許出願第１４／１８９，１７７号に記載されたＮＢＤＶ方法を利用するとき、ＢＶＳＰは、主に、視差ベクトルが常に十分に正確であるとは限らないという理由のために、より効率的でなくなる。また、ＢＶＳＰブロックのための（例えば、ＮＢＤＶからの）導出された視差ベクトルは、コード化されるべきブロックのためにより正確な視差ベクトルを提供し得る。但し、ＢＶＳＰにおけるそのような導出された視差ベクトルの使用は、ＮＢＤＶ導出とともに以前に採用されていなかった。
【０１２０】
[0121]これらの欠点に鑑みて、本開示は、非ベーステクスチャビューコンポーネントが、対応する非ベース深度ビューコンポーネントの前にコード化されるとき、３Ｄ−ＡＶＣ準拠ビデオエンコーダ及びビデオデコーダのためのＢＶＳＰを可能にするための解決策を提供する。加えて、他のインターコード化モードのコード化利得もまた、本開示の技法によって提供されるような、精密な視差ベクトルの導出により、改善される。
【０１２１】
[0122]最初に、改善されたＮＢＤＶ導出プロセスが、本開示で提案される。本開示のＮＢＤＶ導出プロセスは、ＢＶＳＰを組み込むように変更されるが、本開示の幾つかの態様は、必ずしもＢＶＳＰを必要とするとは限らない。以下の説明は、ビデオデコーダ３０に関して説明されるが、以下の技法の各々がビデオエンコーダ２０によっても同様に実装され得ることを理解されたい。ビデオデコーダ３０とビデオエンコーダ２０の両方は、本開示の技法を実行するように構成された１つ又は複数のプロセッサとともに実装され得る。幾つかの例では、ビデオデコーダ３０及びビデオエンコーダ２０の１つ又は複数のプロセッサは、１つ又は複数の非一時的コンピュータ可読記憶媒体上に記憶されたソフトウェアを実行するように構成され得る。また、本開示のコンテキストでは、「ビデオコーダ」は、ビデオエンコーダとビデオデコーダの両方に適用される総称語であることも理解されたい。同様に、「ビデオコード化」という用語は、ビデオ符号化又はビデオ復号のいずれかを指すことがある。
【０１２２】
[0123]本開示の第１の例示的なＮＢＤＶ導出プロセスとして、ビデオデコーダ３０は、空間又は時間隣接ブロックがＢＶＳＰモードでコード化されるかどうかを決定するように構成される。このチェックは、ＮＢＤＶ導出プロセスのために定義された各空間又は時間隣接ブロックに対して実行される。隣接ブロックがＢＶＳＰモードでコード化される場合、ビデオデコーダ３０は、隣接ブロックが現在のピクチャ中に位置するか、異なるピクチャ中に位置するかにかかわらず、視差動きベクトルとして、ＢＶＳＰモードでコード化された隣接ブロックに属する動きベクトルを指定する。言い換えれば、ビデオデコーダ３０は、ＮＢＤＶ導出プロセス中に、利用可能な視差動きベクトルとして、ＢＶＳＰでコード化された隣接ブロック中の動きベクトルと、ビュー間予測でコード化された隣接ブロック中の動きベクトルの両方を指定する。
【０１２３】
[0124]本開示の第２の例示的なＮＢＤＶ導出プロセスでは、米国特許出願第１４／１８９，１７７号の技法を使用する、１つのＭＢ区分のためのＭＢレベルＮＢＤＶ導出プロセスは、隣接ブロック中のＢＶＳＰモードの使用をチェックすることによって改善され得る。
【０１２４】
[0125]第２の例の第１の態様では、ビデオデコーダ３０は、以下の２つの下記の条件のいずれかが真であるとき、各時間及び／又は空間隣接ブロックを使用して、ＮＢＤＶ導出を使用して、視差ベクトルを導出するように構成され得、それらの条件は即ち、（１）隣接ブロックがビュー間予測を使用してコード化される場合、又は（２）隣接ブロックがＢＶＳＰモードを使用してコード化される場合である。隣接ブロックがビュー間予測を使用してコード化される場合、ビデオデコーダ３０は、現在のブロックのための視差ベクトルとして、隣接ブロックに関連付けられた視差動きベクトルを指定する。隣接ブロックがＢＶＳＰモードを使用してコード化された場合、ビデオデコーダ３０は、現在のブロックのための視差ベクトルとして、隣接ブロックの復号中に生成された視差ベクトルを指定する。
【０１２５】
[0126]本開示の第２の例の第２の態様では、ビデオデコーダ３０は、２段チェック手順を採用することになり得る。最初に、ビデオデコーダ３０は、空間及び／又は時間隣接ブロックのうちの少なくとも１つが、ビュー間予測を使用してコード化されるかどうかをチェックするように構成される。そうでない場合、ビデオデコーダ３０は、次いで、空間及び／又は時間隣接ブロックのうちの少なくとも１つが、ＢＶＳＰモードを使用してコード化されるかどうかをチェックする。
【０１２６】
[0127]本開示の第２の例の第３の態様では、上記で説明された２段チェックプロセスが入れ替えられる。即ち、ビデオデコーダ３０は、隣接ブロックのうちの少なくとも１つが、ＢＶＳＰモードを使用してコード化されるかどうかを、最初にチェックするように構成される。そうでない場合、ビデオデコーダ３０は、次いで、全ての空間（及び／又は）時間隣接ブロックのうちの少なくとも１つが、ビュー間予測を使用してコード化されるかどうかをチェックするように構成される。
【０１２７】
[0128]上記で説明された第２の例の態様の各々は、区分レベルＮＢＤＶ導出アルゴリズム、ならびにＭＢレベルＮＢＤＶ導出アルゴリズムに適用され得る。
【０１２８】
[0129]本開示の第３の例示的なＮＢＤＶ導出プロセスでは、ＭＢレベルＮＢＤＶ導出プロセスが、参照深度ビューにアクセスすることを含む追加のステップを、プロセスの最後に追加することによって、更に精密化され得る。幾つかの例では、ビデオデコーダ３０は、ＢＶＳＰモードを使用してコード化されたブロックに、ＢＶＳＰモードを使用してコード化されていない、インター予測されたブロックに、又は、全てのインター予測されたブロックに、この追加のステップを採用するように構成され得る。
【０１２９】
[0130]第３の例の第１の態様では、ビデオデコーダ３０は、深度参照ビュー中の１つの深度ブロックから１つの深度値を選択し、その深度値を、更新された視差ベクトルに変換するように構成され得る。この更新された視差ベクトルは、次いで、現在のＭＢ内の全てのＭＢ区分に適用される。幾つかの例では、ビデオデコーダ３０は、現在のＭＢ又はＭＢ区分の最終的な視差動きベクトルとして、この更新／正確な視差ベクトルを記憶するように更に構成され得る。
【０１３０】
[0131]本開示の第４の例示的なＮＢＤＶ導出プロセスでは、ビデオデコーダ３０は、現在のＭＢが復号された後、現在のＭＢのための動きベクトルとして、ＭＢの導出された視差ベクトル（即ち、ＮＢＤＶ導出を使用して導出された）を記憶するように構成され得る。
【０１３１】
[0132]本開示の第５の例示的なＮＢＤＶ導出プロセスでは、ビデオデコーダ３０は、ＢＶＳＰモードを使用してコード化された少なくとも１つのＭＢ区分を含む、ＭＢのための追加のメモリを割り振るように構成され得る。この場合、ＭＢの視差ベクトルが記憶され得、ＭＢ区分のいかなる復号された動きベクトルをも上書きする必要はない。
【０１３２】
[0133]第５の例の第１の態様では、少なくとも１つのＭＢ区分が、ＢＶＳＰモードを使用してコード化される場合に、ＮＢＤＶ導出プロセスから導出されたＭＢの視差ベクトルを記憶するために、ＭＢごとに１つの追加の動きベクトルが割り振られる。
【０１３３】
[0134]第５の例の第２の態様では、ＮＢＤＶ導出プロセスを採用するとき、ビデオデコーダ３０は、更に構成され得、隣接ブロックがＢＶＳＰモードを使用してコード化されるとき、現在のＭＢのための視差ベクトルとして、この隣接ブロックを含んでいるＭＢに関連付けられた視差ベクトルを使用する。
【０１３４】
[0135]第６の例では、本開示のＮＢＤＶ導出プロセス、ビデオデコーダ３０は、通常のインターモードにおけるＤ−ＭＶＰ、ならびにスキップモード及び直接モードにおけるビュー間動きベクトル予測など、視差ベクトルに依存するコード化ツールに、上記の例示的な技法のいずれかの組合せを採用するように構成され得る。この例では、改善されたＮＢＤＶ導出プロセスの結果が、コード化ツールのために使用される。例えば、Ｄ−ＭＶＰプロセス中に、本開示の改善されたＮＢＤＶ導出プロセスから生成された、得られた視差ベクトルは、場合によっては、他のＮＢＤＶ導出プロセスの結果（例えば、米国特許出願第１４／１８９，１７７号中において記載されたＮＢＤＶ導出プロセスからの結果）に取って代わるために使用した。
【０１３５】
[0136]上記の例及び例の態様のいずれもが任意の組合せにおいて一緒に実行され得ることを理解されたい。
【０１３６】
[0137]改善されたＢＶＳＰプロセスもまた、上記で説明されたような改善されたＮＢＤＶ導出プロセスを使用して、本開示で提案される。但し、改善されたＢＶＳＰプロセスがより正確な視差ベクトルを生成するという理由のために、ＮＢＤＶ導出結果もまた同様に改善され得る（即ち、導出された視差ベクトルの精度が改善され得る）。
【０１３７】
[0138]本開示の第１の例示的なＢＶＳＰプロセスでは、ＢＶＳＰプロセス中に、ＭＢレベルＮＢＤＶ導出プロセスと下位領域レベル視差ベクトル精密化プロセスとが組み合わされる。まず、ビデオデコーダ３０は、各ＭＢのための視差ベクトルを導出するように構成され得る。ビデオデコーダ３０は、上記で説明された改善されたＮＢＤＶ導出プロセスを使用して、又は、米国特許出願第１４／１８９，１７７号に記載されたようなＮＢＤＶプロセスを用いて、視差ベクトルを導出するように構成され得る。
【０１３８】
[0139]次に、ビデオデコーダ３０は、現在のＭＢ又はＭＢ区分の８×８下位領域ごとに視差ベクトルを精密化するように構成され得る。ビデオデコーダ３０は、ＢＶＳＰモードでコード化された現在のＭＢ又はＭＢ区分の下位領域ごとの動き補償のために、正確な視差ベクトルを使用し得る。ＭＢ又はＭＢ区分の下位領域ごとの視差ベクトルの精密化は、参照ビューの深度ビューコンポーネントに依存する。一例では、下位領域ごとに、参照ビューの深度コンポーネント中の対応する深度ブロックが、ＮＢＤＶ導出プロセスからの視差ベクトルによって識別される。対応する深度ブロック中の４隅画素の最大値が、正確な視差ベクトルの水平成分に変換される。正確な視差ベクトルの垂直成分は、０に設定される。本明細書では、正確な視差ベクトルは、上記で説明されたように、ＢＶＳＰモードでコード化された下位領域のための導出された視差ベクトルと同じであることに留意されたい。
【０１３９】
[0140]第１のＢＶＳＰ例の第１の態様では、下位領域のサイズはＫ×Ｋであってよく、Ｋは８とは異なり、例えば、１６×１６、４×４、２×２、又は１×１である。第１のＢＶＳＰ例の第２の態様では、ビデオデコーダ３０は、１つのＭＢ区分に対して１回、視差ベクトルを精密化し、又は、Ｋが８よりも小さいときでも、１つのＭＢ区分内の８×８領域ごとに視差ベクトルを精密化するように構成される。
【０１４０】
[0141]第１のＢＶＳＰ例の第３の態様では、ビデオデコーダ３０は、参照ビューの深度ビューコンポーネント中の（ＮＢＤＶ導出プロセスによって生成された）視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択するように構成され得る。幾つかの例では、ビデオデコーダ３０は、（ＮＢＤＶ導出プロセスからの導出された視差ベクトルによって位置を特定される）参照深度ビュー中の識別された深度ブロックの中心内又はその近くのフル深度画素を選択しないように構成され得る。代わりに、一例では、ビデオデコーダ３０は、識別された深度ブロックの隅の位置にある深度画素を選択するように構成され得る。
【０１４１】
[0142]第１のＢＶＳＰ例の第４の態様では、ビデオデコーダ３０は、正確な視差ベクトルの垂直成分のために、ＮＢＤＶ導出プロセスから導出された視差ベクトルの垂直成分を継承するように構成され得る。第１のＢＶＳＰ例の第５の態様では、ビデオデコーダ３０は、正確な視差ベクトルの垂直成分を０に等しくなるように設定するように構成され得る。
【０１４２】
[0143]本開示の第２の例示的なＢＶＳＰプロセスでは、ビデオデコーダ３０は、ＢＶＳＰモードを使用してコード化されたＭＢ区分のために、現在のＭＢがコード化された後、ＭＢ区分のための動きベクトルとして、各下位領域の正確な視差ベクトルを記憶するように構成される。一例では、このプロセスは、ＭＢ下位領域のサイズが４×４以上である場合に実行される。記憶された視差ベクトルは、上記で説明された本開示のＮＢＤＶ導出プロセスにおいて使用され得る。
【０１４３】
[0144]第２のＢＶＳＰ例の第１の態様では、下位領域の定義されたサイズが８×８であるとき（即ち、Ｋが８に等しいとき）、ビデオデコーダ３０は、ＭＢ区分サイズが８×８に等しいときにのみ、ＭＢ区分の動きベクトルとして、正確な視差ベクトルを記憶するように構成され得る。他のＭＢ区分では、ビデオデコーダ３０は、現在のＭＢがコード化された後、視差動きベクトルとして、ＮＢＤＶ導出プロセスからのＭＢの導出された視差ベクトルを記憶するように構成される。
【０１４４】
[0145]第２のＢＶＳＰ例の第２の態様では、ビデオデコーダ３０は、ビュー間参照ピクチャを示すインデックスによって、参照ピクチャインデックスを置き換えるように更に構成され得る。
【０１４５】
[0146]第２のＢＶＳＰ例の第３の態様では、上記で説明されたＢＶＳＰ技法の各々は、ＢＶＳＰモードでコード化されたＭＢ区分がコード化されると、直接適用され得る。即ち、例えば、ビデオデコーダ３０は、ＭＢ全体が完全に復号されるまで待機する必要がない。
【０１４６】
[0147]本開示の第３の例示的なＢＶＳＰプロセスでは、ビデオデコーダ３０は、ＢＶＳＰモードを使用してコード化される少なくとも１つのＭＢ区分を含む、ＭＢのための追加のメモリを割り振るように構成され得る。この場合、ＢＶＳＰ区分の動き補償のために使用された各下位領域の正確な視差ベクトルが記憶され得、上書きされる必要がない。
【０１４７】
[0148]第３のＢＶＳＰ例の第１の態様では、ビデオデコーダ３０は、区分がＢＶＳＰモードを使用してコード化される場合、正確な視差ベクトルを記憶するために、１つのＭＢ区分のために、ＭＢにつき最大（１６／Ｋ）＊（１６／Ｋ）の追加の動きベクトルを割り振るように構成され得る。
【０１４８】
[0149]第３のＢＶＳＰ例の第２の態様では、ＮＢＤＶ導出プロセスにおいて、１つの隣接ブロックがＢＶＳＰモードを使用してコード化されるとき、この隣接ブロックを含んでいる下位領域に関連付けられた正確な視差ベクトルが、現在のＭＢのための視差ベクトルとして使用されることになる。
【０１４９】
[0150]上記の方法の各々はまた、ＭＢがコード化単位（ＣＵ）によって置き換えられ、ＭＢ区分が予測単位（ＰＵ）によって置き換えられて、３Ｄ−ＨＥＶＣにも適用され得る。
【０１５０】
[0151]１  例示的な実装形態
[0152]本開示の次のセクションは、例示的な実装形態について説明する。テクスチャ優先コード化順序が可能にされる方法で、３Ｄ−ＡＶＣを構成するとき、ＢＶＳＰの復号プロセスは、以下のステップを含み得る。代替的に、以下のセクション１．２で説明される方法は、視差ベクトルを必要とする他のコード化ツール、例えば、３Ｄ−ＡＶＣにおけるＤ−ＭＶＰに適用され得る。
【０１５１】
[0153]セクション１．１  ＢＶＳＰモードの例示的な指示
[0154]一例では、深度優先コード化順序を使用する３Ｄ−ＡＶＣのための以前の提案において使用されるような、１つ又は複数のＭＢ区分がＢＶＳＰモードを使用してコード化されるという指示が、再使用され得る。別の例では、ＢＶＳＰ又は従来のインター予測（時間予測若しくはビュー間予測）が使用されるかどうかを示すために、参照インデックスの代わりに、１つのフラグが、各ＭＢ区分中で信号伝達され得る。
【０１５２】
[0155]セクション１．２  例示的な視差ベクトル導出プロセス
[0156]ＮＢＤＶ導出プロセスについて、以下のサブセクション１．２．１及び１．２．２で説明する。ＢＶＳＰコード化された区分中の下位領域ごとの動き補償のために使用される、正確な視差ベクトルの生成プロセスについて、以下のサブセクション１．２．３で説明する。
【０１５３】
[0157]ＮＢＤＶ導出プロセスから視差ベクトルを導出するプロセスは、１つのマクロブロックを復号する前に呼び出され得る。別の例では、更に、視差ベクトルを精密化するプロセスが、ＢＶＳＰモードでコード化されたＭＢ区分に対して呼び出され得る。別の例では、１つのＭＢ区分がＢＶＳＰモード及び／又は他のインターモードでコード化されるとき、ＮＢＤＶから視差ベクトルを導出するプロセスが呼び出され得る。
【０１５４】
[0158]別の例では、以下のサブセクション１．２．１及び１．２．３の技法が順に実行され、次いで、サブセクション１．２．３の技法から生成された下位領域の正確な視差ベクトルが、ＢＶＳＰコード化されたＭＢ区分の動き補償のために使用される。更に、以下のサブセクション１．２．１の技法から生成された視差ベクトルが、Ｄ−ＭＶＰにおいて適用され得る。
【０１５５】
[0159]別の例では、サブセクション１．２．１、１．２．２及び１．２．３の技法が、順に呼び出される。以下のセクション１．２．２の技法から生成された、更新された視差ベクトルが、次いで、ＢＶＳＰモード又は他のインターモードのいずれかでコード化された全てのＭＢ区分に対して使用される。ＢＶＳＰモードでコード化されたＭＢ区分に対して、ＢＶＳＰコード化されたＭＢ区分の動き補償のために使用される下位領域の正確な視差ベクトルを取得するために、更新された視差ベクトルが次いで使用される。
【０１５６】
[0160]サブセクション１．２．１  深度情報なしに、１つのマクロブロックに対するＮＢＤＶ導出プロセスから導出された視差ベクトル
[0161]米国特許出願第１４／１８９，１７７号に記載されているように、ＭＢレベルＮＢＤＶ導出プロセスは、いかなる深度情報を考慮することもなしに適用され得る。最初に、ビデオデコーダ３０は、ある数の時間ピクチャ候補を選択するように構成されてよく、幾つかの予め定義された時間隣接ブロックが、候補ピクチャ中でチェックされ、予め定義された空間隣接ブロックによって後続される。各隣接ブロックについて、各隣接ブロックが異なるビュー、又はＲｅｆＰｉｃＬｉｓｔ０中の合成参照コンポーネント（即ち、ＢＶＳＰモードを使用してコード化された）のいずれかから予測される場合、隣接ブロックの視差動きベクトル又は関連付けられた導出された視差ベクトル／正確な視差ベクトルは、その導出された視差ベクトル／正確な視差ベクトルの水平成分が０に等しくない場合、現在のＭＢの視差ベクトルとして返される。
【０１５７】
[0162]別の例では、ビデオデコーダ３０は、任意の順序で、参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）と参照ピクチャリスト１（ＲｅｆＰｉｃＬｉｓｔ１）の両方をチェックするように構成され得る。
【０１５８】
[0163]別の例では、ビデオデコーダ３０は、全ての空間（及び／又は）時間隣接ブロックがビュー間予測を使用するかどうか、全ての空間（及び／又は）時間隣接ブロックをチェックするように構成され得る。そうでない場合、ビデオデコーダ３０は、隣接ブロックをチェックする異なるラウンドにおいて、隣接ブロックがＢＶＳＰモードを使用してコード化されるかどうかをチェックする。
【０１５９】
[0164]別の例では、ビデオデコーダ３０は、全ての隣接ブロックをチェックする最初のラウンドにおいて、隣接ブロックがＢＶＳＰモードを使用してコード化されるかどうかを最初にチェックするように構成される。どのブロックもＢＶＳＰモードを使用してコード化されない場合、ビデオデコーダ３０は、次いで、全ての空間（及び／又は）時間隣接ブロックが、ビュー間予測を使用してコード化されるかどうかを決定するために、全ての空間（及び／又は）時間隣接ブロックをチェックする。
【０１６０】
[0165]別の例では、１つの隣接ブロックがビュー間予測又はＢＶＳＰモードのいずれかでコード化されないとき、ビデオデコーダ３０は、視差ベクトルとして、利用可能である場合、その隣接ブロックを含んでいるＭＢの視差ベクトルを返す。ＭＢの視差ベクトルは、ＭＢ区分のうちの少なくとも１つがＢＶＳＰモードを使用してコード化されるときのみ、利用可能である。
【０１６１】
[0166]サブセクション１．２．１．１  時間／空間隣接ブロックの選択
[0167]米国特許出願第１４／１８９，１７７号及び上記に記載されているような同様の方法は、どの時間／空間隣接ブロックをＮＢＤＶ導出のために使用するべきかの選択のために使用され得る。時間ピクチャ中の時間隣接ブロックはまた、ＢＶＳＰを用いて予測され得、ＢＶＳＰコード化されたＭＢ又はＭＢ区分の視差ベクトルもまた、利用可能であると見なされることに留意されたい。
【０１６２】
[0168]サブセクション１．２．２  深度情報を用いたＭＢレベル視差ベクトル更新プロセス
[0169]ビデオデコーダ３０は、以下の技法を使用して、上記で説明されたＮＢＤＶ導出プロセスを使用して導出された視差ベクトルを更新するように構成され得る。最初に、ＭＢのサイズを、Ｋ×Ｋ（但し、Ｋは１６であり得る）として示し、現在のピクチャに対する現在のＭＢ区分の左上位置を、（ｘ，ｙ）として示し、現在のＭＢのためのサブセクション１．２．１におけるＮＢＤＶからの導出された視差ベクトルを、（ＤＶ［０］，ＤＶ［１］）として示し、但し、ＤＶ［０］及びＤＶ［１］は、視差ベクトルの水平成分と垂直成分とを示す。１つの深度値（Ｄ）は、参照深度ビュー中の４隅画素から選択される。
【０１６３】
D = max (D0, D1, D2, D3)
関数ｍａｘ（．）は、Ｄｉ（ｉは０から３である）の最大値を返し、Ｄｉは、
i=0: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )
i=1: ((x + (DV[0] >> P) + K-1) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )
i=2: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P) + K-1) >> reduced_resolution_flag )
i=3: ((x + (DV[0] >> P) + K-1) >> reduced_resolution_flag, (y + (DV[1] >> P) + K-1) >> reduced_resolution_flag )
に位置するｉ番目の画素値を示す。
【０１６４】
１に等しいシンタックス要素ｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、あるビューコンポーネントペアの深度ビューコンポーネントが同じビューコンポーネントペアのテクスチャビューコンポーネントのルーマ成分よりも低い空間解像度を有すること、ならびに、深度ビューコンポーネントの幅と高さの両方が、全てのテクスチャビューコンポーネントの幅及び高さの半分であることを指定する。０に等しいシンタックス要素ｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、深度ビューコンポーネントとテクスチャビューコンポーネントの両方が存在するとき、それらが同じ空間解像度を有することを指定する。Ｐは、視差ベクトルが１／４画素精度であるときは２に、１／２画素精度では１に、整数画素精度では０に等しい、視差ベクトルの精度を示す。
【０１６５】
[0170]別の例では、深度値を選択するために、ｍａｘ（Ｄ０，Ｄ３）が使用され得る。
【０１６６】
[0171]別の例では、参照深度ビュー中の同一位置配置されたＭＢ内の他の画素が使用され得る。
【０１６７】
[0172]ビデオデコーダ３０は、次いで、現在のＭＢ領域内の下位領域のための選択された深度値から、更新された視差ベクトルの水平成分を変換するように構成され得る。更新された視差ベクトルの垂直成分は、ゼロに設定される。
【０１６８】
[0173]別の例では、更新された視差ベクトルの垂直成分は、ＮＢＤＶからの導出された視差ベクトルの垂直成分に設定され得る。
【０１６９】
[0174]別の例では、Ｋは、８、４又は２に等しくなり得る。
【０１７０】
[0175]更新された視差ベクトルは、現在のＭＢ内の全ての区分のために使用され得る。
【０１７１】
[0176]セクション１．２．３  ＢＶＳＰモードでコード化された各ＭＢ区分のための視差ベクトル精密化
[0177]ビデオデコーダ３０はまた、ＭＢ区分がＢＶＳＰモードでコード化される（即ち、合成参照コンポーネントから予測される）場合、各ＭＢ区分の下位領域ごとに１つの正確な視差ベクトルを導出するようにも構成され得る。
【０１７２】
[0178]ビデオデコーダ３０は、以下の技法を使用して、上記で説明されたＮＢＤＶ導出プロセスを使用して導出された視差ベクトルを精密化するように構成され得る。最初に、下位領域のサイズを、Ｋ×Ｋ（但し、Ｋは８であり得る）として示し、現在のピクチャに対する現在のＭＢ区分内の１つの下位領域の左上位置を、（ｘ，ｙ）として示し、現在のＭＢのためのＮＢＤＶ導出プロセスからの導出された視差ベクトル（又は、サブセクション１．２．２の技法を実行した後に生成された、更新された視差ベクトル）を、（ＤＶ［０］，ＤＶ［１］）として示し、但し、ＤＶ［０］及びＤＶ［１］は、視差ベクトルの水平成分と垂直成分とを示す。１つの深度値（Ｄ）は、参照深度ビュー中の４隅画素から選択される。
【０１７３】
D = max (D0, D1, D2, D3)
関数ｍａｘ（・）は、Ｄｉ（ｉは０から３である）の最大値を返し、Ｄｉは、
i=0: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )
i=1: ((x + (DV[0] >> P) + K-1) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )
i=2: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P) + K-1) >> reduced_resolution_flag )
i=3: ((x + (DV[0] >> P) + K-1) >> reduced_resolution_flag, (y + (DV[1] >> P) + K-1) >> reduced_resolution_flag )
に位置するｉ番目の画素値を示す。
【０１７４】
[0179]このサブセクションでは、シンタックス要素ｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇ及びＰは、セクション１．２．２と同様に定義される。
【０１７５】
[0180]別の例では、深度値を選択するために、ｍａｘ（Ｄ０，Ｄ３）が使用され得る。
【０１７６】
[0181]別の例では、参照深度ビュー中の同一位置配置されたＭＢ内の他の画素が使用され得る。
【０１７７】
[0182]ビデオデコーダ３０は、現在のＭＢ領域内の下位領域のための選択された深度値から、正確な視差ベクトルの水平成分を変換するように更に構成され得る。正確な視差ベクトルの垂直成分は、０に設定される。別の例では、正確な視差ベクトルの垂直成分は、ＮＢＤＶからの導出された視差ベクトルの垂直成分に設定され得る。
【０１７８】
[0183]別の例では、Ｋは、４、２又は１に等しくなり得る。
【０１７９】
[0184]セクション１．３  ＢＶＳＰモードでコード化された１つのＭＢ区分の予測
[0185]ＢＶＳＰモードでコード化された現在のＭＢ区分内の下位領域ごとに、ビデオデコーダ３０は、参照テクスチャビュー中の予測ブロックを取得するために、正確な視差ベクトルを使用するように構成され得る。別の例では、ＢＶＳＰモードでコード化されたＭＢ区分ごとに、ビデオデコーダ３０は、参照テクスチャビュー中の予測ブロックを取得するために、ＮＢＤＶ導出プロセスからの導出された視差ベクトルを使用するように構成され得る。現在のＭＢ区分の残差ブロックと予測ブロックとが一緒に、ＭＢ区分を再構成するために使用される。
【０１８０】
[0186]１．４  ＢＶＳＰモードでコード化されたＭＢ区分のための動きベクトル割当て
[0187]非ベーステクスチャビュー中の１つのＭＢが完全に復号された後、ビデオデコーダ３０は、サブセクション１．２．３において説明されたように、正確な視差ベクトルを記憶することができ、ＢＶＳＰモードを使用してコード化されるＭＢ区分の下位領域ごとの動きベクトルとして記憶される。
【０１８１】
[0188]別の例では、非ベーステクスチャビュー中の１つのＭＢが完全に復号された後、ビデオデコーダ３０は、ＢＶＳＰモードを使用してコード化される全てのＭＢ区分のための動きベクトルとして、サブセクション１．２．１において説明されたようなＮＢＤＶ導出プロセスから導出された視差ベクトル、又は、サブセクション１．２．２において説明されたように深度情報が考慮に入れられた、更新された視差ベクトルを記憶し得る。
【０１８２】
[0189]別の例では、非ベーステクスチャビュー中のＢＶＳＰモードでコード化された１つのＭＢ区分が復号された後、ビデオデコーダ３０は、このＭＢ区分のための動きベクトルとして、説明されたサブセクション１．２．１のようなＭＢレベルＮＢＤＶ導出プロセスからの導出された視差ベクトル、又は、サブセクション１．２．２において説明されたように深度情報が考慮に入れられた、更新された視差ベクトルを直接記憶し得る。
【０１８３】
[0190]別の例では、非ベーステクスチャビュー中のＢＶＳＰモードでコード化された１つのＭＢ区分が復号された後、ビデオデコーダ３０は、この下位領域のための動きベクトルとして、サブセクション１．２．３において説明されたような、下位領域ごとの正確な視差ベクトルを直接記憶し得る。
【０１８４】
[0191]別の例では、サブセクション１．２．２において説明されたように（可能な精密化とともに）ＮＢＤＶ導出プロセスからの導出された視差ベクトルを記憶するか、又は、ＢＶＳＰコード化された区分のための動きベクトルとして、正確な視差ベクトルを記憶するのではなく、ビデオデコーダ３０は、この情報を記憶するために追加のメモリを割り振り得る。
【０１８５】
[0192]別の例では、ビデオデコーダ３０は、現在のＭＢがＢＶＳＰモードでコード化された少なくとも１つの区分を有する場合、サブセクション１．２．２において説明されたように（可能な精密化とともに）ＮＢＤＶ導出プロセスからの導出された視差ベクトルを記憶するために、ＭＢごとに１つの動きベクトルを割り振る。ＮＢＤＶ導出プロセス中に、１つの隣接ブロックがＢＶＳＰモードを使用するとき、この隣接ブロックを含んでいるＭＢに関連付けられた視差ベクトルが、現在のＭＢのための視差ベクトルとして使用されることになる。
【０１８６】
[0193]別の例では、下位領域のサイズが８×８に等しいとき、下位領域ごとの正確な視差ベクトルを記憶するために、４つの動きベクトルがＭＢごとに割り振られる。ＮＢＤＶ導出プロセス中に、１つの隣接ブロックがＢＶＳＰモードを使用するとき、ビデオデコーダ３０は、現在のＭＢのための視差ベクトルとして、この隣接ブロックを含んでいる下位領域に関連付けられた視差ベクトルを使用する。
【０１８７】
[0194]図６は、本開示で説明される技法を実装し得るビデオエンコーダの一例を示すブロック図である。例えば、図６は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行することができる、ビデオエンコーダ２０を示す。例えば、ビデオエンコーダ２０は、インター予測符号化又はイントラ予測符号化を実行できる。イントラコード化は、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去するために、空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム若しくはピクチャ内の時間的冗長性、又は、異なるビュー中のピクチャ間の冗長性を低減又は除去するために、時間的予測又はビュー間予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）又は双方向予測（Ｂモード）などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指すことがある。
【０１８８】
[0195]図６の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、予測処理ユニット４２と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化処理ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４２は、動き推定ユニット４４と、動き補償ユニット４６と、イントラ予測ユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化処理ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するために、デブロッキングフィルタ（図６に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタに加えて、（ループ内又はループ後の）追加ループフィルタも使用され得る。
【０１８９】
[0196]ビデオデータメモリ４０は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４０に記憶されたビデオデータは、例えば、ビデオ発信源１８から取得され得る。参照ピクチャメモリ６４は、（例えば、イントラ予測コード化モード又はインター予測コード化モードとも呼ばれる、イントラコード化モード又はインターコード化モードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する復号ピクチャバッファ（ＤＰＢの一例である。ビデオデータメモリ４０及び参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、又は他のタイプの記憶装置を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々な記憶装置のいずれかによって形成され得る。ビデオデータメモリ４０及び参照ピクチャメモリ６４は、同じ記憶装置又は別個の記憶装置によって提供され得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【０１９０】
[0197]ビデオエンコーダ２０は、ビデオデータを受信し、区分ユニット（図示せず）は、データをビデオブロックに区分する。この区分は、スライス、タイル、又は他のより大きいユニットへの区分、ならびにビデオブロック区分（例えば、マクロブロック区分、及び区分のサブブロック）をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示している。スライスは、複数のビデオブロックに（及び、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４２は、誤差結果（例えば、コード化レート及びひずみレベル）に基づいて現在のビデオブロックのために、複数のイントラコード化モード（イントラ予測コード化モード）のうちの１つ、又は複数のインターコード化モード（インター予測コード化モード）のうちの１つなど、複数の可能なコード化モードのうちの１つを選択し得る。予測処理ユニット４２は、得られたイントラコード化されたブロック又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構成するために加算器６２に与え得る。
【０１９１】
[0198]予測処理ユニット４２内のイントラ予測ユニット４８は、空間圧縮を行うために、コード化されるべき現在のブロックと同じフレーム又はスライス中の１つ又は複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット４２内の動き推定ユニット４４及び動き補償ユニット４６は、時間圧縮を行うために、１つ又は複数の参照ピクチャ中の１つ又は複数の予測ブロックに対する現在のビデオブロックのインター予測コード化を実行する。
【０１９２】
[0199]動き推定ユニット４４は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライス又はＢスライスに指定し得る。動き推定ユニット４４と動き補償ユニット４６とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４４によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレーム又はピクチャ内のビデオブロックの変位を示し得る。
【０１９３】
[0200]予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を補間し得る。従って、動き推定ユニット４４は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【０１９４】
[0201]動き推定ユニット４４は、ビデオブロックの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化された（インター予測コード化された）スライスにおけるビデオブロックのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）又は第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つ又は複数の参照ピクチャを識別する。動き推定ユニット４４は、エントロピー符号化ユニット５６と動き補償ユニット４６とに計算された動きベクトルを送る。
【０１９５】
[0202]動き補償ユニット４６によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在のビデオブロックの動きベクトルを受信すると、動き補償ユニット４６は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つ又は複数の構成要素を表す。動き補償ユニット４６はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１９６】
[0203]イントラ予測ユニット４８は、上記で説明されたように、動き推定ユニット４４と動き補償ユニット４６とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４８は、現在のブロックを符号化するために使用するべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット４８は、例えば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４８（又は、幾つかの例では、モード選択ユニット）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。例えば、イントラ予測ユニット４８は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（又は誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（即ち、ビット数）を決定する。イントラ予測ユニット４８は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみ及びレートから比率を計算し得る。
【０１９７】
[0204]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４８は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々のために使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０１９８】
[0205]予測処理ユニット４２が、インター予測又はイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
【０１９９】
[0206]変換処理ユニット５２は、得られた変換係数を量子化処理ユニット５４に送り得る。量子化処理ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化処理ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０２００】
[0207]量子化の後、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化又は別のエントロピー符号化方法若しくは技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、又はビデオデコーダ３０が後で送信するか若しくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
【０２０１】
[0208]逆量子化処理ユニット５８及び逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用する目的で画素領域において残差ブロックを再構成するために、それぞれ逆量子化及び逆変換を適用する。動き補償ユニット４６は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４６はまた、動き推定において使用するためのサブ整数画素値を計算するために、再構成された残差ブロックに１つ又は複数の補間フィルタを適用し得る。加算器６２は、参照ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット４６によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット４４と動き補償ユニット４６とによって参照ブロックとして使用され得る。
【０２０２】
[0209]このようにして、ビデオエンコーダ２０は、本開示で説明される１つ又は複数の例示的な技法を実装するように構成されるビデオエンコーダの一例である。例えば、ビデオデータメモリ４０は、ビデオデータを記憶する。ビデオデータは、依存ビューのテクスチャビデオコンポーネントと、そのテクスチャビューコンポーネントに対応する深度ビューコンポーネントとを含んでよく、その各々を、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて符号化することになる。
【０２０３】
[0210]本開示で説明される技法では、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて、ビデオデータの依存ビューのテクスチャビューコンポーネントを符号化するように構成される、１つ又は複数のプロセッサを含み得る。上記で説明されたように、３Ｄ−ＡＶＣにおける各ビューは、テクスチャビューコンポーネントと深度ビューコンポーネントとを含む。３Ｄ−ＡＶＣにおいて、１つのベースビューと、１つ又は複数の拡張ビュー又は依存ビューとがあり、但し、１つ又は複数の拡張ビュー又は依存ビューのテクスチャビューコンポーネントは、ビュー間予測され得る。
【０２０４】
[0211]テクスチャビューコンポーネントを符号化するために、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビュー中のビュー間参照ピクチャを参照する視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビューコンポーネント中の現在のブロックの１つ又は複数の隣接ブロックの動き情報を評価するように構成され得る。ビデオエンコーダ２０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在のブロックのための視差ベクトルを導出し得る。テクスチャ優先コード化のために、ビデオエンコーダ２０は、テクスチャビューコンポーネントを符号化することに続いて、テクスチャビューコンポーネントに対応する、ビデオデータの深度ビューコンポーネントを符号化し得る。
【０２０５】
[0212]幾つかの例では、ビデオエンコーダ２０の予測処理ユニット４２は、ＮＢＤＶ導出及びＢＶＳＰコード化のための本開示で説明される例を実装するように構成されたプロセッサの一例であり得る。幾つかの例では、予測処理ユニット４２以外のユニット（例えば、１つ又は複数のプロセッサ）が、上記で説明された例を実装することができる。幾つかの例では、予測処理ユニット４２は、ビデオエンコーダ２０の１つ又は複数の他のユニットとともに、上記で説明された例を実装することができる。幾つかの例では、ビデオエンコーダ２０のプロセッサ（図６には図示せず）は、単独で、又はビデオエンコーダ２０の他のプロセッサとともに、上記で説明された例を実装することができる。
【０２０６】
[0213]図７は、本開示で説明される技法を実装し得るビデオデコーダの一例を示すブロック図である。例えば、ビデオデコーダ３０は、インター予測復号又はイントラ予測復号を実行することができる。図７は、ビデオデコーダ３０を示す。図７の例では、ビデオデコーダ３０は、ビデオデータメモリ６９と、エントロピー復号ユニット７０と、予測処理ユニット７１と、逆量子化処理ユニット７６と、逆変換処理ユニット７８と、加算器８０と、参照ピクチャメモリ８２とを含む。予測処理ユニット７１は、動き補償ユニット７２と、イントラ予測ユニット７４とを含む。ビデオデコーダ３０は、幾つかの例では、図６のビデオエンコーダ２０に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
【０２０７】
[0214]ビデオデータメモリ６９は、ビデオエンコーダ３０の構成要素によって復号されるべき、符号化されたビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ６９に記憶されたビデオデータは、例えば、記憶装置３４から、カメラなどのローカルビデオ発信源から、ビデオデータのワイヤード若しくはワイヤレスネットワーク通信を介して、又は物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ６９は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶する、コード化されたピクチャバッファ（ＣＰＢ）を形成し得る。
【０２０８】
[0215]参照ピクチャメモリ８２は、（例えば、イントラコード化モード又はインターコード化モードで）ビデオデコーダ３０によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する、復号されたピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ６９及び参照ピクチャメモリ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、又は他のタイプの記憶装置を含む、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、様々な記憶装置のいずれかによって形成され得る。ビデオデータメモリ６９及び参照ピクチャメモリ８２は、同じ記憶装置又は別個の記憶装置によって提供され得る。様々な例では、ビデオデータメモリ６９は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、又はそれらの構成要素に対してオフチップであり得る。
【０２０９】
[0216]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す、符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを予測処理ユニット７１に転送する。ビデオデコーダ３０は、ビデオスライスレベル及び／又はビデオブロックレベルでシンタックス要素を受信し得る。
【０２１０】
[0217]ビデオスライスがイントラコード化された（Ｉ）スライスとしてコード化されるとき、予測処理ユニット７１のイントラ予測ユニット７４は、信号伝達されたイントラ予測モードと、現在のフレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化された（即ち、Ｂ、又はＰ）スライスとしてコード化されるとき、予測処理ユニット７１の動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０及びＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。
【０２１１】
[0218]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために、予測情報を使用する。例えば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラ予測又はインター予測）と、インター予測スライスタイプ（例えば、Ｂスライス又はＰスライス）と、スライスの参照ピクチャリストのうちの１つ又は複数についての構成情報と、スライスの各インター符号化されたビデオブロックのための動きベクトルと、スライスの各インターコード化されたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
【０２１２】
[0219]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数画素の補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために、その補間フィルタを使用し得る。
【０２１３】
[0220]逆量子化処理ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、（即ち、逆量子化（de-quantize））する。逆量子化プロセスは、量子化の程度を決定するために、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用することを含み得る。逆変換処理ユニット７８は、画素領域において残差ブロックを生成するために、逆変換（例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセス）を変換係数に適用する。
【０２１４】
[0221]動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つ又は複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は場合によってはビデオ品質を改善するために、（コード化ループ内又はコード化ループ後のいずれかの）他のループフィルタも使用され得る。次いで、所与のピクチャ中の復号されたビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１の表示装置３２などの表示装置上に後で提示するための、復号されたビデオを記憶する。
【０２１５】
[0222]このようにして、ビデオデコーダ３０は、本開示で説明される１つ又は複数の例示的な技法を実装するように構成されるビデオデコーダの一例である。例えば、ビデオデータメモリ６９は、ビデオデータを記憶する。ビデオデータは、そこからビデオデコーダ３０が依存ビューのテクスチャビデオコンポーネントと、そのテクスチャビューコンポーネントに対応する深度ビューコンポーネントとを復号することができる情報を含んでよく、その各々を、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて符号化される。
【０２１６】
[0223]本開示で説明される技法では、ビデオデコーダ３０は、３Ｄ−ＡＶＣ準拠ビデオコード化プロセスにおいて、ビデオデータの依存ビューのテクスチャビューコンポーネントを復号するように構成される、１つ又は複数のプロセッサを含み得る。テクスチャビューコンポーネントを復号するために、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビュー中のビュー間参照ピクチャを参照する視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビューコンポーネント中の現在のブロックの１つ又は複数の隣接ブロックの動き情報を評価するように構成され得る。ビデオエンコーダ３０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在のブロックのための視差ベクトルを導出し得る。テクスチャ優先コード化のために、ビデオエンコーダ３０は、テクスチャビューコンポーネントを復号することに続いて、テクスチャビューコンポーネントに対応する、ビデオデータの深度ビューコンポーネントを復号し得る。
【０２１７】
[0224]幾つかの例では、ビデオデコーダ３０の予測処理ユニット７１は、ＮＢＤＶ導出及びＢＶＳＰコード化のための本開示で説明される例を実装するように構成されたプロセッサの一例であり得る。幾つかの例では、予測処理ユニット７１以外のユニット（例えば、１つ又は複数のプロセッサ）が、上記で説明された例を実装することができる。幾つかの例では、予測処理ユニット７１は、ビデオデコーダ３０の１つ又は複数の他のユニットとともに、上記で説明された例を実装することができる。更に幾つかの他の例では、ビデオデコーダ３０のプロセッサ（図７には図示せず）は、単独で、又はビデオデコーダ３０の他のプロセッサとともに、上記で説明された例を実装することができる。
【０２１８】
[0225]図９は、本開示の例示的な方法を示すフローチャートである。図９を参照しながら説明される技法は、予測処理ユニット４２と予測処理ユニット７１とを含む、ビデオエンコーダ２０及びビデオデコーダ３０の任意の構造的又は機能的要素によって実行され得る。以下の例については、上記で説明されたように、ビデオデコーダのビデオエンコーダのいずれか（例えば、ビデオエンコーダ２０及びビデオデコーダ３０）のための総称語である、「ビデオコーダ」に関して説明される。
【０２１９】
[0226]一例として、ビデオコーダは、テクスチャ優先コード化を使用して、ビデオデータをコード化するように構成され得る（９００）。加えて、ビデオコーダは、複数の隣接ブロックを使用して、ビデオデータのブロックに対してＮＢＤＶ導出プロセスを実行するように構成されてよく、ここにおいて、ＮＢＤＶ導出プロセスは、視差ベクトルを導出する。ビデオデコーダは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定すること（９１０）と、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定すること（９２０）とによって、ＮＢＤＶ導出プロセスを実行するように構成され得る。ビデオコーダは、１つ又は複数の利用可能な視差動きベクトルから、視差ベクトルを導出することになる（９３０）。
【０２２０】
[0227]本開示の別の例では、ビデオコーダは、ある順序で複数の隣接ブロックをチェックすること、及び、特定の隣接ブロックがＢＶＳＰモードでコード化された場合、又は、特定の隣接ブロックがビュー間予測を使用してコード化された場合、視差ベクトルを導出することによって、ＮＢＤＶ導出プロセスを実行するように構成される。
【０２２１】
[0228]本開示の別の例では、ビデオコーダは、複数の隣接ブロックのいずれかがビュー間予測を使用してコード化されるかどうかを決定するために、複数の隣接ブロックをチェックすることと、チェックすることに基づいて、複数の隣接ブロックのうちの１つがビュー間予測を使用してコード化される場合、ビュー間予測を使用してコード化された隣接ブロックから、視差ベクトルを導出することと、ビュー間予測を使用してコード化された中の複数の隣接ブロックのいずれもない場合、複数の隣接ブロックのいずれかがＢＶＳＰモードを使用してコード化されるかどうかを決定するために、複数の隣接ブロックをチェックすることと、チェックすることに基づいて、複数の隣接ブロックのうちの１つがＢＶＳＰモードを使用してコード化され、複数の隣接ブロックのいずれもビュー間予測を使用してコード化されない場合、ＢＶＳＰモードを使用してコード化された隣接ブロックから、視差ベクトルを導出することとによって、ＮＢＤＶ導出プロセスを実行するように構成される。
【０２２２】
[0229]本開示の別の例では、ビデオコーダは、複数の隣接ブロックのいずれかがＢＶＳＰモードを使用してコード化されるかどうかを決定するために、複数の隣接ブロックをチェックすることと、チェックすることに基づいて、複数の隣接ブロックのうちの１つがＢＶＳＰモードを使用してコード化される場合、ＢＶＳＰモードを使用してコード化された隣接ブロックから、視差ベクトルを導出することと、ＢＶＳＰモードを使用してコード化された中の複数の隣接ブロックのいずれもない場合、複数の隣接ブロックのいずれかがビュー間予測を使用してコード化されるかどうかを決定するために、複数の隣接ブロックをチェックすることと、チェックすることに基づいて、複数の隣接ブロックのうちの１つがビュー間予測を使用してコード化され、複数の隣接ブロックのいずれもＢＶＳＰモードを使用してコード化されない場合、ビュー間予測を使用してコード化された隣接ブロックから、視差ベクトルを導出することとによって、ＮＢＤＶ導出プロセスを実行するように構成される。
【０２２３】
[0230]本開示の別の例では、ビデオコーダは、深度参照ビュー中の深度ブロックから１つの深度値を選択し、深度値を更新された視差ベクトルに変換することと、更新された視差ベクトルをビデオデータのブロックに適用することとによって、ＮＢＤＶ導出プロセスを実行するように構成される。
【０２２４】
[0231]本開示の別の例では、ビデオコーダは、ビデオデータのブロックがコード化された後、ビデオデータのブロックのための動きベクトルとして、更新された視差ベクトルを記憶するように構成される。本開示の別の例では、ビデオコーダは、導出された視差ベクトルを記憶するために、追加のメモリを割り振るように構成される。
【０２２５】
[0232]本開示の別の例では、ビデオデータのブロックは、マクロブロックである。本開示の別の例では、ビデオデータのブロックは、マクロブロックのサブ区分又は区分である。本開示の別の例では、ビデオデータのブロックは、コード化ユニット又は予測ユニットである。
【０２２６】
[0233]本開示の別の例では、ビデオコーダは、ＢＶＳＰモードと導出された視差ベクトルとを使用して、ビデオデータのブロックをコード化するように構成される。本開示の別の例では、ビデオコーダは、深度ベース動きベクトル予測（Ｄ−ＭＶＰ）と導出された視差ベクトルとを使用して、ビデオデータのブロックをコード化するように構成される。
【０２２７】
[0234]図１０は、本開示の別の例示的な方法を示すフローチャートである。図１０を参照しながら説明される技法は、予測処理ユニット４２と予測処理ユニット７１とを含む、ビデオエンコーダ２０及びビデオデコーダ３０の任意の構造的又は機能的要素によって実行され得る。以下の例については、上記で説明されたように、ビデオデコーダのビデオエンコーダのいずれか（例えば、ビデオエンコーダ２０及びビデオデコーダ３０）のための総称語である、「ビデオコーダ」に関して説明される。
【０２２８】
[0235]一例では、ビデオコーダは、ビデオデータのブロック上でＢＶＳＰプロセスを実行するように構成され、ＢＶＳＰプロセスは、視差ベクトルを導出するためにＮＢＤＶ導出プロセスを実行することを備える。この点については、ビデオコーダは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定すること（１０１０）と、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定すること（１０２０）と、１つ又は複数の利用可能な視差動きベクトルから、視差ベクトルを導出すること（１０３０）とによって、ＮＢＤＶ導出プロセスを実行するように構成される。ビデオコーダは、ビデオデータのブロックの下位領域について、導出された視差ベクトルを精密化すること（１０４０）と、正確な視差ベクトルを使用して、ＢＶＳＰを使用してビデオデータのブロックをコード化すること（１０５０）とを行うように更に構成される。
【０２２９】
[0236]本開示の別の例では、複数の隣接ブロックのうちの少なくともは、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである。
【０２３０】
[0237]本開示の別の例では、下位領域は、８×８下位領域である。本開示の別の例では、下位領域は、１６×１６、４×４、２×２、及び１×１下位領域のうちの１つである。
【０２３１】
[0238]本開示の別の例では、ビデオコーダは、ビデオデータのブロックの下位領域のためにＮＢＤＶ導出プロセスによって生成された視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択し、１つ又は複数の深度画素は、参照ブロックの深度ビューコンポーネント中にあるが、視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素をしないように更に構成される。
【０２３２】
[0239]本開示の別の例では、ビデオコーダは、ＮＢＤＶ導出プロセスによって生成された視差ベクトルの垂直成分から、正確な視差ベクトルの垂直成分を継承するように更に構成される。本開示の別の例では、ビデオコーダは、正確な視差ベクトルの垂直成分をゼロになるように設定するように更に構成される。
【０２３３】
[0240]本開示の別の例では、ビデオコーダは、ビデオデータのブロックの下位領域ごとの正確な視差ベクトルを記憶するように更に構成され、ここにおいて、記憶された正確な視差ベクトルは、別のブロックに対するＮＢＤＶ導出プロセスのために使用される。本開示の別の例では、ビデオコーダは、ビデオデータのブロックがある予め決定されたサイズよりも大きく、記憶された正確な視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、ビデオデータのブロックのための動きベクトルとして、正確な視差ベクトルを記憶するように更に構成される。
【０２３４】
[0241]本開示の別の例では、ビデオデータのブロックは、マクロブロックである。本開示の別の例では、ビデオデータのブロックは、マクロブロックのサブ区分又は区分である。本開示の別の例では、ビデオデータのブロックは、コード化ユニット又は予測ユニットである。
【０２３５】
[0242]１つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、又は、（２）信号若しくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法を実装するための命令、コード及び／又はデータ構造を取り出すために、１つ若しくは複数のコンピュータ、又は１つ若しくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２３６】
[0243]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭ又は他の光ディスク記憶装置、磁気ディスクストレージ、又は他の磁気記憶装置、フラッシュメモリ、若しくは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）及びＢｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、一方ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０２３７】
[0244]命令は、１つ又は複数のデジタル信号プロセッサ（ＤＳＰ）のような１つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、又は他の等価な集積回路若しくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明された技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、幾つかの態様では、本明細書に記載された機能は、符号化及び復号のために構成された専用のハードウェアモジュール及び／若しくはソフトウェアモジュール内に設けられる場合があるか、又は複合コーデックに組み込まれる場合がある。また、本技法は、１つ又は複数の回路又は論理要素において完全に実装され得る。
【０２３８】
[0245]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、若しくはＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実装され得る。本開示では、開示される技法を実行するように構成された機器の機能的態様を強調するために様々な構成要素、モジュール、又はユニットが説明されたが、それらの構成要素、モジュール、又はユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェア及び／又はファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わせられ得るか、又は前述のような１つ若しくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体よって設けられ得る。
【０２３９】
[0246]様々な例について説明した。これら及び他の例は、以下の特許請求の範囲内である。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをコード化する方法であって、ビデオデータのブロック上でブロックベースビュー合成予測（ＢＶＳＰ）プロセスを実行することを備え、前記ＢＶＳＰプロセスは、視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することと、前記ビデオデータのブロックの下位領域について、前記導出された視差ベクトルを精緻化することと、ＢＶＳＰを使用して、前記ビデオデータのブロックをコード化することとを備え、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ＢＶＳＰモードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ以上の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ以上の利用可能な視差動きベクトルから、前記視差ベクトルを導出することとを備える、方法。
［２］  前記複数の隣接ブロックのうちの少なくともが、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、［１］に記載の方法。
［３］  前記下位領域が、８×８下位領域である、［１］に記載の方法。
［４］  前記下位領域が、１６×１６、４×４、２×２、及び１×１下位領域のうちの１つである、［１］に記載の方法。
［５］  前記ビデオデータのブロックの下位領域のために前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択し、前記１つ又は複数の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素をしないことを更に備える、［１］に記載の方法。
［６］  前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルの垂直成分から、前記精緻化された視差ベクトルの垂直成分を継承することを更に備える、［１］に記載の方法。
［７］  前記精緻化された視差ベクトルの垂直成分をゼロになるように設定することを更に備える、［１］に記載の方法。
［８］  前記ビデオデータのブロックの下位領域ごとの精緻化された視差ベクトルを記憶すること、ここにおいて、前記記憶された精緻化された視差ベクトルは、別のブロックに対する前記ＮＢＤＶ導出プロセスのために使用される、を更に備える、［１］に記載の方法。
［９］  前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを記憶することを更に備える、［１］に記載の方法。
［１０］  前記ビデオデータのブロックが、マクロブロックである、［１］に記載の方法。
［１１］  前記ビデオデータのブロックが、マクロブロックのサブ区分又は区分である、［１］に記載の方法。
［１２］  前記ビデオデータのブロックが、コード化単位又は予測単位である、［１］に記載の方法。
［１３］  ビデオデータをコード化するように構成された装置であって、前記装置は、ビデオデータのブロックを記憶するように構成されたメモリと、前記ビデオデータのブロック上でブロックベースビュー合成予測（ＢＶＳＰ）プロセスを実行することを行うように構成されたビデオコーダとを備え、前記ＢＶＳＰプロセスは、視差ベクトルを導出するために、ＮＢＤＶ導出プロセスを実行することと、前記ビデオデータのブロックの下位領域について、前記導出された視差ベクトルを精緻化することと、ＢＶＳＰを使用して、前記ビデオデータのブロックをコード化することとを備え、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ又は複数の利用可能な視差動きベクトルから、前記視差ベクトルを導出することとを備える、装置。
［１４］  前記複数の隣接ブロックのうちの少なくともが、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、［１３］に記載の装置。
［１５］  前記下位領域が、８×８下位領域である、［１３］に記載の装置。
［１６］  前記下位領域が、１６×１６、４×４、２×２、及び１×１下位領域のうちの１つである、［１３］に記載の装置。
［１７］  前記ビデオコーダが、前記ビデオデータのブロックの下位領域のために前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択し、前記１つ又は複数の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素をしないことを行うように更に構成される、［１３］に記載の装置。
［１８］  前記ビデオコーダが、前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルの垂直成分から、前記精緻化された視差ベクトルの垂直成分を継承することを行うように更に構成される、［１３］に記載の装置。
［１９］  前記ビデオコーダが、前記精緻化された視差ベクトルの垂直成分をゼロになるように設定することを行うように更に構成される、［１３］に記載の装置。
［２０］  前記ビデオコーダが、前記ビデオデータのブロックの下位領域ごとの精緻化された視差ベクトルを、前記メモリに記憶すること、ここにおいて、前記記憶された精緻化された視差ベクトルは、別のブロックに対する前記ＮＢＤＶ導出プロセスのために使用される、を行うように更に構成される、［１３］に記載の装置。
［２１］  前記ビデオコーダが、前記ビデオデータのブロックが予め決定されたサイズよりも大きく、記憶された精緻化された視差ベクトルがＮＢＤＶ導出プロセスにおいて使用されることになる場合、前記ビデオデータのブロックのための動きベクトルとして、前記精緻化された視差ベクトルを、前記メモリに記憶することを行うように更に構成される、［１３］に記載の装置。
［２２］  前記ビデオデータのブロックが、マクロブロックである、［１３］に記載の装置。
［２３］  前記ビデオデータのブロックが、マクロブロックのサブ区分又は区分である、［１３］に記載の装置。
［２４］  前記ビデオデータのブロックが、コード化単位又は予測単位である、［１３］に記載の装置。
［２５］  ビデオデータをコード化するように構成された装置であって、前記装置は、ビデオデータのブロック上でブロックベースビュー合成予測（ＢＶＳＰ）プロセスを実行するための手段を備え、前記ＢＶＳＰプロセスを実行するための前記手段は、視差ベクトルを導出するために、ＮＢＤＶ導出プロセスを実行するための手段と、前記ビデオデータのブロックの下位領域について、前記導出された視差ベクトルを精緻化するための手段と、ＢＶＳＰを使用して、前記ビデオデータのブロックをコード化するための手段とを備え、ここにおいて、前記ＮＢＤＶ導出プロセスを実行するための前記手段は、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段と、前記１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定するための手段と、前記１つ又は複数の利用可能な視差動きベクトルから、前記視差ベクトルを導出するための手段とを備える、装置。
［２６］  前記複数の隣接ブロックのうちの少なくともが、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、［２５］に記載の装置。
［２７］  前記ビデオデータのブロックの下位領域のために前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択し、前記１つ又は複数の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素をしないための手段
を更に備える、［２５］に記載の装置。
［２８］  実行されたとき、ビデオデータをコード化するように構成された１つ又は複数のプロセッサに、前記ビデオデータのブロック上でブロックベースビュー合成予測（ＢＶＳＰ）プロセスを実行することを行わせる命令を記憶する、コンピュータ可読記憶媒体であって、前記ＢＶＳＰプロセスは、視差ベクトルを導出するために、ＮＢＤＶ導出プロセスを実行することと、前記ビデオデータのブロックの下位領域について、前記導出された視差ベクトルを精緻化することと、ＢＶＳＰを使用して、前記ビデオデータのブロックをコード化することとを備え、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ブロックベースビュー合成予測（ＢＶＳＰ）モードでコード化された複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ又は複数の利用可能な視差動きベクトルのうちの利用可能な視差動きベクトルとして、ビュー間予測モードを使用してコード化された前記複数の隣接ブロックのうちの隣接ブロックに関連付けられた動きベクトルを指定することと、前記１つ又は複数の利用可能な視差動きベクトルから、前記視差ベクトルを導出することとを備える、コンピュータ可読記憶媒体。
［２９］  前記複数の隣接ブロックのうちの少なくともが、現在のピクチャ内の空間隣接ブロック、又は異なるピクチャ中の時間隣接ブロックである、［２８］に記載のコンピュータ可読記憶媒体。
［３０］  前記命令が、前記１つ又は複数のプロセッサに、前記ビデオデータのブロックの下位領域のために前記ＮＢＤＶ導出プロセスによって生成された視差ベクトルによって識別された参照ブロックの１つ又は複数の深度画素から、深度値を選択し、前記１つ又は複数の深度画素は、前記参照ブロックの深度ビューコンポーネント中にあるが、前記視差ベクトルによって位置を特定される参照深度ビュー中の深度ブロックの中心の近接内のフル画素をしないことを更に行わせる、［２８］に記載のコンピュータ可読記憶媒体。
【図１】
0006382233.tif 000004
【図２】
0006382233.tif 000005
【図３】
0006382233.tif 000006
【図４】
0006382233.tif 000007
【図５】
0006382233.tif 000008
【図６】
0006382233.tif 000009
【図７】
0006382233.tif 000010
【図８】
0006382233.tif 000011
【図９】
0006382233.tif 000012
【図１０】
0006382233.tif 000013