(57)【要約】  ３Ｄ−ＡＶＣビデオコーディングプロセスにおける隣接ブロックの視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出するための技法が説明される。視差ベクトル導出は、従属ビューの深度ビュー成分が、従属ビューの対応するテクスチャビュー成分のコーディングに続いてコーディングされる、テクスチャ優先のコーディングを可能にする。
2016512000.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを復号する方法であって、
従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信することと、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて前記従属ビューのうちの１つの従属ビューのテクスチャビュー成分を復号することと、ここにおいて、前記テクスチャビュー成分を復号することは、
第１の時間的ピクチャを選択すること、ここにおいて、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択すること、ここにおいて、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、前記１つまたは複数の隣接ブロックは、空間的隣接ブロックと、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャのうちの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、および
前記導出され視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を復号することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を復号することとを備える、方法。
【請求項２】
前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、請求項１に記載の方法。
【請求項３】
動き情報を評価することが、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、請求項１に記載の方法。
【請求項４】
動き情報を評価することが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、請求項１に記載の方法。
【請求項５】
動き情報を評価することが、
最大４つまでの空間的隣接ブロックの動き情報を評価することを備える、請求項１に記載の方法。
【請求項６】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項５に記載の方法。
【請求項７】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項５に記載の方法。
【請求項８】
視差ベクトルを導出することが、
前記視差ベクトルの水平成分を、前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、請求項１に記載の方法。
【請求項９】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを符号化する方法であって、
３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのテクスチャビュー成分を符号化することと、ここにおいて、前記テクスチャビュー成分を符号化することは、
第１の時間的ピクチャを選択すること、ここにおいて、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択すること、ここにおいて、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、前記１つまたは複数の隣接ブロックは、空間的隣接ブロックと、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、および
前記導出された視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を符号化することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を符号化することと、
前記符号化されたテクスチャビュー成分と前記符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成することと備える、方法。
【請求項１０】
前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、請求項９に記載の方法。
【請求項１１】
動き情報を評価することが、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、請求項９に記載の方法。
【請求項１２】
動き情報を評価することが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、請求項９に記載の方法。
【請求項１３】
動き情報を評価することが、
最大４つまでの空間的隣接ブロックの動き情報を評価することを備える、請求項９に記載の方法。
【請求項１４】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項１３に記載の方法。
【請求項１５】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項１３に記載の方法。
【請求項１６】
視差ベクトルを導出することが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、請求項９に記載の方法。
【請求項１７】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
ビデオコーダとを備え、前記ビデオコーダが、１つまたは複数のプロセッサを備え、および
３ＤＡＶＣ準拠ビデオコーディングプロセスにおいて、前記ビデオデータの従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、
前記導出された視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを行うように構成される、
前記テクスチャビュー成分をコーディングすることに続いて、前記テクスチャビュー成分に対応する、前記ビデオデータの深度ビュー成分をコーディングすることとを行うように構成される、デバイス。
【請求項１８】
前記ビデオコーダがビデオデコーダを備え、従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを、前記ビデオデコーダが受信するように構成され、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、請求項１７に記載のデバイス。
【請求項１９】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダが、前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューの、テクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成するように構成される、請求項１７に記載のデバイス。
【請求項２０】
前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行うように構成され、
動き情報を評価するために、前記ビデオコーダが、少なくとも１つのブロックに対する動きベクトルが前記第１の参照ピクチャリストを指す場合、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価するように構成される、請求項１７に記載のデバイス。
【請求項２１】
動き情報を評価するために、前記ビデオコーダが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価するように構成され、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中に位置するブロックを備える、請求項２０に記載のデバイス。
【請求項２２】
動き情報を評価するために、前記ビデオコーダが、
最大４つまでの空間的隣接ブロックの動き情報を評価するように構成される、請求項１７に記載のデバイス。
【請求項２３】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項２２に記載のデバイス。
【請求項２４】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項２２に記載のデバイス。
【請求項２５】
視差ベクトルを導出するために、前記ビデオコーダが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを行うように構成される、請求項１７に記載のデバイス。
【請求項２６】
ワイヤレス通信デバイスを備える、請求項１７に記載のデバイス。
【請求項２７】
その上に記憶された命令を有するコンピュータ可読記憶媒体であって、前記命令が、実行されると、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスのビデオコーダの１つまたは複数のプロセッサに、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのうちの１つの前記従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記１つまたは複数のプロセッサに前記テクスチャビュー成分をコーディングさせる前記命令は、前記１つまたは複数のプロセッサに、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、
前記導出され視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを行わせる命令を備える、
前記テクスチャビュー成分をコーディングすることに続いて前記テクスチャビュー成分に対応する深度ビュー成分をコーディングすることとを行わせる、コンピュータ可読記憶媒体。
【請求項２８】
前記１つまたは複数のプロセッサに、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行わせる命令をさらに備え、
前記１つまたは複数のプロセッサに動き情報を評価させる前記命令が、前記１つまたは複数のプロセッサに、少なくとも１つのブロックに対する動きベクトルが前記第１の参照ピクチャリストを指す場合、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価させる命令を備える、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記ビデオコーダがビデオデコーダを備え、前記記憶媒体が、前記ビデオデコーダの前記１つまたは複数のプロセッサに、
従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信させる命令をさらに備え、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記ビデオコーダがビデオエンコーダを備え、前記記憶媒体が、前記ビデオエンコーダの前記１つまたは複数のプロセッサに、
前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成させる命令をさらに備える、請求項２７に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の内容全体が本明細書に組み込まれる、
２０１３年２月２６日に出願された米国仮出願第６１／７６９，７１６号、
２０１３年２月２７日に出願された米国仮出願第６１／７７０，２６３号、
２０１３年３月４日に出願された米国仮出願第６１／７７２，３２１号、
２０１３年３月１９日に出願された米国仮出願第６１／８０３，３８４号、および
２０１３年４月２４日に出願された米国仮出願第６１／８１５，６５６号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関し、より詳細には、視差ベクトルを導出するための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を含む。ブロックベースのビデオコーディングでは、ビデオフレームまたはスライスがブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測、あるいは他の参照フレーム中の参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測によって、コーディングされるべきブロックについての予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
[0005]インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされたブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初は２次元アレイに構成される量子化変換係数は、エントロピーコーディングのための変換係数の１次元ベクトルを生成するために、特定の順序で走査され得る。
【発明の概要】
【０００６】
[0006]一般に、本開示は、対応する深度ビュー成分を必要とすることなく、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ：3D-Advanced Video Coding）準拠ビデオコーディングプロセスに対するテクスチャビュー成分のブロックに対する視差ベクトル導出を説明する。視差ベクトル導出技法は、視差動きベクトルを用いてビュー間予測される隣接ブロックを識別して、視差ベクトルを導出するために視差動きベクトルを利用するために、隣接ブロックの動き情報を評価する。視差ベクトル導出に対して対応する深度ビュー成分に依存しないことによって、技法は、３Ｄ−ＡＶＣにおいてテクスチャ優先のコーディングを可能にし、他のビデオコーディング技法、帯域幅効率、およびコーディングの複雑さの低減との互換性をもたらす。
【０００７】
[0007]一例では、本開示は、従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信することと；３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのうちの１つの従属ビューのテクスチャビュー成分を復号することと、ここにおいて、テクスチャビュー成分を復号することは第１の時間的ピクチャを選択すること、ここにおいて、第１の時間的ピクチャは第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、第２の時間的ピクチャを選択すること、ここにおいて、第２の時間的ピクチャは第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、少なくとも１つの隣接ブロックが従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するためにテクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、１つまたは複数の隣接ブロックは空間的隣接ブロックと、第１の選択された時間的ピクチャまたは第２の選択された時間的ピクチャのうちの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、評価された隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出すること、および導出された視差ベクトルをマクロブロック内の各ブロックに割り当てることを備える；テクスチャビュー成分を復号することに続いてテクスチャビュー成分に対応する深度ビュー成分を復号することとを備える、３Ｄ−ＡＶＣに対するビデオデータを復号する方法を説明する。
【０００８】
[0008]一例では、本開示は、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）準拠ビデオコーディングプロセスにおいて従属ビューのテクスチャビュー成分を符号化することと、ここにおいて、テクスチャビュー成分を符号化することは、第１の時間的ピクチャを選択すること、ここにおいて、第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、第２の時間的ピクチャを選択すること、ここにおいて、第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、少なくとも１つの隣接ブロックが従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するためにテクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、１つまたは複数の隣接ブロックは空間的隣接ブロックと、第１の選択された時間的ピクチャまたは第２の選択された時間的ピクチャのうちの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、評価された隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出すること、および導出された視差ベクトルをマクロブロック内の各ブロックに割り当てることを備える；テクスチャビュー成分を符号化することに続いてテクスチャビュー成分に対応する深度ビュー成分を符号化することと；符号化されたテクスチャビュー成分と符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成することと備える、３Ｄ−ＡＶＣに対するビデオデータを符号化する方法を説明する。
【０００９】
[0009]一例では、本開示は、ビデオデータを記憶するように構成されたメモリと；ビデオコーダとを備え；ビデオコーダが、１つまたは複数のプロセッサを備え、および３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）準拠ビデオコーディングプロセスにおいて、ビデオデータの従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、テクスチャビュー成分をコーディングするために、ビデオコーダが、少なくとも１つの隣接ブロックが従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有するテクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避することと、および評価された隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出することと、導出された視差ベクトルをマクロブロック内の各ブロックに割り当てることとを行うように構成される；テクスチャビュー成分をコーディングすることに続いて、テクスチャビュー成分に対応する、ビデオデータの深度ビュー成分をコーディングすることとを行うように構成される、３Ｄ−ＡＶＣに対するビデオデータをコーディングするためのデバイスを説明する。
【００１０】
[0010]一例では、本開示は、その上に記憶された命令を有するコンピュータ可読記憶媒体であって、この命令が、実行されると、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスのビデオコーダの１つまたは複数のプロセッサに、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのうちの１つの従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、１つまたは複数のプロセッサにテクスチャビュー成分をコーディングさせる命令は、１つまたは複数のプロセッサに、少なくとも１つの隣接ブロックが従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有するテクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避すること、および評価された隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出すること、導出され視差ベクトルをマクロブロック内の各ブロックに割り当てることを行わせる命令を備える；テクスチャビュー成分をコーディングすることに続いてテクスチャビュー成分に対応する深度ビュー成分をコーディングすることとを行わせる、コンピュータ可読記憶媒体を説明する。
【００１１】
[0011]１つまたは複数の例の詳細が、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図３】[0014]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図４Ａ】[0015]視差ベクトル導出のために検査される時間的にコロケートされた（co-located）マクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｂ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｃ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｄ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｅ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｆ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｇ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図４Ｈ】視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す図。
【図５Ａ】[0016]視差ベクトル導出のために検査される空間的に隣接するマクロブロックに対する例示的なブロック位置を示す図。
【図５Ｂ】視差ベクトル導出のために検査される空間的に隣接するマクロブロックに対する例示的なブロック位置を示す図。
【図５Ｃ】視差ベクトル導出のために検査される空間的に隣接するマクロブロックに対する例示的なブロック位置を示す図。
【図５Ｄ】視差ベクトル導出のために検査される空間的に隣接するマクロブロックに対する例示的なブロック位置を示す図。
【図６Ａ】[0017]視差ベクトル導出のために検査されるマクロブロックパーティションに対する隣接ブロックの例示的なブロック位置を示す図。
【図６Ｂ】視差ベクトル導出のために検査されるマクロブロックパーティションに対する隣接ブロックの例示的なブロック位置を示す図。
【図７】[0018]本開示で説明する技法による符号化の例示的な動作を示すフローチャート。
【図８】[0019]本開示で説明する技法による復号の例示的な動作を示すフローチャート。
【図９】[0020]本開示で説明する技法による視差ベクトル導出およびインター予測コーディングの例示的な動作を示すフローチャート。
【図１０】[0021]本開示で説明する技法による視差ベクトル導出およびインター予測コーディングの別の例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0022]本開示は、３Ｄアドバンストビデオコーディング（ＡＶＣ）コーデックを用いた２つ以上のビューのコーディングを含む、アドバンストコーデックに基づくマルチビュービデオコーディングに関する。より具体的には、視差ベクトル生成に関する技法が提案される。３Ｄ−ＡＶＣにおいて、ビュー成分は、テクスチャビュー成分と深度ビュー成分とを含み、ここで、テクスチャビュー成分はビデオデータ（すなわち、ピクチャ）を含み、対応する深度ビュー成分はテクスチャビュー成分内のオブジェクトの相対的な深さを示す。視差ベクトルは、別のビューのテクスチャビュー成分内の対応するブロックのロケーションを示す、テクスチャビュー成分内のブロックのベクトルである。
【００１４】
[0023]３Ｄ−ＡＶＣにおける視差ベクトル生成のためのいくつかの技法は、テクスチャビュー成分内のブロックに対する視差ベクトルを生成するために、深度ビュー成分（深さマップとも呼ばれる）に依存する。視差ベクトルを生成するために深度ビュー成分に依存する必要性に対して、いくつかの問題が存在することがある。深度ビュー成分は視差ベクトル生成を必要とするので、非ベースビューに対して、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、対応するテクスチャビュー成分をコーディング（たとえば、符号化または復号）する前に、最初に深度ビュー成分をコーディングする（たとえば、符号化または復号をする）（深度優先のコーディングと呼ばれる）必要がある。しかしながら、３Ｄ−ＡＶＣベースのビデオサービスのクライアントは、テクスチャビュー成分（すなわち、テクスチャビューの復号）だけを要求し得るが、メディアゲートウェイが深度ビュー成分（たとえば、深度パケット）を転送することをスキップすること、またはビデオデコーダが深度ビュー成分を不必要に復号することを回避することは不可能であることがある。したがって、これらの他の技法は、帯域幅と復号の複雑さの両方を著しく増加する。
【００１５】
[0024]その上、いくつかの他のビデオコーディング規格は、テクスチャビュー成分が、マルチビュービデオコーディング（ＭＶＣ）プラス深度（Ｄ）、すなわちＭＶＣ＋Ｄビデオコーディング規格、および開発中の３Ｄ高効率ビデオコーディング（３Ｄ−ＨＥＶＣ：3D-High Efficiency Video Coding）ビデオコーディング規格におけるように、深度ビュー成分の前にコーディングされる、テクスチャ優先のコーディングを可能にする。Ｈ．２６４／ＡＶＣのＭＶＣ拡張など、いくつかの他のビデオコーディング規格は、さらに、深度に依存しない。深度優先のコーディング順序に対して、マルチビュー互換性は、テクスチャだけの抽出の機能はないので不可能である。同じく、テクスチャ優先のコーディング順序は、ＭＶＣコーディング規格に一般に使用され、設計における共通性が、実施の容易さをもたらし得る。しかしながら、深度優先のコーディングに対して、そのような設計における共通性は不可能である。言い換えれば、深度優先のコーディングは、一貫性のない設計要素と見なされ得る。
【００１６】
[0025]さらに、深度ビュー成分は、対応するテクスチャビュー成分の前に復号されるので、深度優先のコーディングにおいて、テクスチャビュー成分が復号される時点の遅延が存在する。この遅延は、概して望ましくないが、テクスチャビュー成分がビューのランダムアクセスポイントであり、ビューのランダムアクセスポイントにおいて復号待ち時間が存在する場合は特に望ましくない。
【００１７】
[0026]いくつかの技法は、テクスチャ優先のコーディングが３Ｄ−ＡＶＣに対して実施される場合に使用されてきた。これらの他の技法において、視差ベクトル導出は排除される（すなわち、視差ベクトル導出は存在しない）。これらの他の技法は、深度優先のコーディングおよび視差ベクトル導出を伴いＭＶＣ＋Ｄコーデックに近い３Ｄ−ＡＶＣコーデックと比較して、３Ｄ−ＡＶＣコーデックに対する劣ったコーディング性能をもたらしていた。言い換えれば、視差ベクトル導出方法の不在は、テクスチャコーディングツールに対して極めて非効率的なコーディングコストを招く。
【００１８】
[0027]本開示で説明する技法はテクスチャ優先のコーディングを可能にし、視差ベクトルを導出しながら、他のビデオコーディング技法を伴う実施の容易さをもたらす。特に、本開示で説明する技法は、対応する深度ビュー成分（たとえば、深度マップ）に依存することなく、マクロブロックに対する視差ベクトルを導出する。たとえば、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、現在のマクロブロックに隣接するマクロブロックの動きベクトル情報を評価（すなわち、検査）する。隣接ブロックの動きベクトルは、現在のマクロブロックを含む他のビューのビュー内のピクチャを指し、ビデオコーダは、評価された隣接ブロックのそのような動きベクトルを現在のマクロブロックに対する視差ベクトルに変換する（すなわち、隣接ブロックの動きベクトルを現在のマクロブロックに対する視差ベクトルとして利用する）。このようにして、ビデオコーダは、テクスチャビュー成分内のマクロブロックに対する視差ベクトルを決定するために、深度ビュー成分に依存する必要はない。
【００１９】
[0028]本開示では、現在のマクロブロックを含むビュー以外のビュー内のピクチャを指す動きベクトルは、視差動きベクトルと呼ばれる。言い換えれば、視差動きベクトルは、ビュー間参照ピクチャ（すなわち、現在のマクロブロックを含むビュー以外のビュー内のピクチャ）内のブロックを指すベクトルである。本開示で説明する技法では、評価された隣接ブロックが視差動きベクトルを用いてインター予測されるとビデオコーダが決定する場合、ビデオコーダは、隣接するマクロブロックの視差動きベクトルを現在のブロックに対する視差ベクトルに変換する。
【００２０】
[0029]視差動きベクトルおよび視差ベクトルは、混同されるべきではない。視差動きベクトルは、補償のために使用されるビュー間参照ピクチャ内のマクロブロックを指す（すなわち、現在のブロックと、視差動きベクトルによって指されるマクロブロックとの間の残差が決定され、動き補償または視差補償の一部として現在のブロックを復元するために使用される）。視差ベクトルは、現在のブロックと、視差ベクトルが指す対応するブロックとの間の視差を示すベクトルである。次に、視差ベクトルは、ビュー合成、動きベクトル予測、および様々な他のコーディングツールなど、様々な目的に使用される。いくつかの場合には、視差ベクトルによって指されるブロックは、補償のために使用されることが可能である。そのような場合では、視差ベクトルは、視差動きベクトルでもあると見なされる。言い換えれば、視差ベクトルおよび視差動きベクトルは、視差ベクトルによって指されるマクロブロックが補償のためにも使用されることが生じ、その場合に視差ベクトルおよび視差動きベクトルが同じになる場合を除いて、異なるベクトルである。
【００２１】
[0030]視差動きベクトルおよび時間的動きベクトルは、混同されるべきではない。非マルチビュービデオコーディングでは、動きベクトルは異なるピクチャ内のブロックを指すが、１つのビューしかないので、異なるピクチャ内のこのブロックは、インター予測される現在のマクロブロックと同じビュー内にある。そのような動きベクトルは、本開示では混乱を避けるために、時間的動きベクトルまたは通常の動きベクトルと呼ばれる。一方で、視差動きベクトルは、３Ｄ−ＡＶＣなど、マルチビュービデオコーディング技法において使用され、ここで、動きベクトルは、別のビュー内の参照ピクチャを指す。
【００２２】
[0031]たとえば、マルチビュービデオコーディングのコンテキストでは、２種類の動きベクトルが存在する。一方は、時間的参照ピクチャを指す通常の動きベクトルであり、対応するインター予測は、動き補償予測（ＭＣＰ）である。他方は、異なるビュー内のピクチャを指す視差動きベクトルであり、対応するインター予測は、視差補償予測（ＤＣＰ）である。視差動きベクトルではない通常の動きベクトルは、本開示では時間的動きベクトルとも呼ばれる。
【００２３】
[0032]同じく、参照ピクチャが別のビューである場合のインター予測は、ビュー間予測と呼ばれる。現在のマクロブロックを含むビュー以外のビュー内の参照ピクチャは、ビュー間参照ピクチャと呼ばれ、同じビュー内の参照ピクチャは、時間的参照ピクチャと呼ばれる。その上、１つのアクセスユニットは、実質的に同時に表示されるべき異なるビューからのピクチャを復号するためのビデオデータを含み、視差動きベクトルは、現在のマクロブロックに対するビデオデータを含むアクセスユニットと同じアクセスユニット内のビュー間参照ピクチャだけを指すことができる。しかしながら、時間的動きベクトルは、別のアクセスユニット内にあるが、同じビューに対する時間的参照ピクチャを指す。
【００２４】
[0033]言い換えると、マルチビュービデオコーディングにおいて、ビュー間予測は、ビューの間の相関を取り除くために、同じアクセスユニットの（すなわち、同じ時間インスタンスを有する）異なるビュー中でキャプチャされたピクチャの間で実行される。ビュー間予測を用いてコーディングされたピクチャが、他の非ベースビューのビュー間予測用の参照ピクチャリスト中に追加され得る。ビュー間予測参照ピクチャは、インター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【００２５】
[0034]より詳細に説明するように、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、隣接ブロックが、ビュー間参照ピクチャを指す視差動きベクトルを用いてインター予測されるかどうかを決定するために、現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価し得る。いくつかの例では、ビデオデコーダは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）内のピクチャを指す隣接ブロックの動きベクトルの動き情報だけを評価し、第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）内のピクチャを指す隣接ブロックの動きベクトルの動き情報を評価することを回避し得る。たとえば、第１の隣接ブロックは、（たとえば、視差動きベクトルを用いてインター予測された）視差動きベクトルを有し得るが、この視差動きベクトルは、ＲｅｆＰｉｃＬｉｓｔ１内のビュー間参照ピクチャを指し得る。この例では、ビデオコーダは、この第１の隣接ブロックに対する視差動きベクトルを評価（たとえば、検査）することを回避し（すなわち、この第１の隣接ブロックに対する視差動きベクトルが、現在のブロックに対する視差ベクトルになることはなく）、別の隣接ブロックを続行することができる。このようにして、技法は、アクセスされたに必要な動き情報の量を低減し、それによって、現在のマクロブロックをコーディングするためにかかる時間の量を低減することができる。
【００２６】
[0035]現在のマクロブロックに隣接するブロックは、空間的隣接ブロック（たとえば、現在のマクロブロックと同じピクチャ内のブロック）と、時間的隣接ブロック（たとえば、現在のマクロブロックを含むピクチャと異なるピクチャ内のブロック）とを含む。時間的隣接ブロックを含むピクチャは、時間的ピクチャと呼ばれる。
【００２７】
[0036]多数の候補時間的ピクチャ（たとえば、復号されたピクチャバッファ内に記憶されている任意の以前にコーディングされたピクチャ）が存在することがある。しかしながら、本開示で説明する技法は、いくつかの例において、候補時間的ピクチャの数を制限し得る。たとえば、技法は、時間的隣接ブロックを含む候補時間的ピクチャの数を、２つの時間的ピクチャに制限し得る。
【００２８】
[0037]一例として、ビデオコーダは、第１の時間的ピクチャを選択し得、ここで、第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリ（たとえば、ＲｅｆＰｉｃＬｉｓｔ０のエントリ０）において識別されるピクチャであり、また、第２の時間的ピクチャを選択し得、ここで、第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリ（たとえば、ＲｅｆＰｉｃＬｉｓｔ１のエントリ０）において識別されるピクチャである。２つの参照ピクチャリストの第１のエントリ内で識別されるピクチャを選択することは、視差動きベクトル（および、いくつかの例では、ＲｅｆＰｉｃＬｉｓｔ０を指す視差動きベクトル）を用いてインター予測される時間的隣接ブロックを得ることができそうな時間的ピクチャを利用するように、参照ピクチャリストが構築されるメカニズムを利用し得る。
【００２９】
[0038]いくつかの例では、ビデオコーダは、現在のマクロブロックを複数のブロック（たとえば、パーティションまたはサブブロック）に区分し得る。上記で説明したように、ビデオコーダは、評価された隣接ブロックのうちの１つに対する視差動きベクトルに基づいて、現在のマクロブロックに対する視差ベクトルを導出し得る。いくつかの例では、ビデオコーダは、この導出された視差ベクトルを現在のマクロブロック内のブロックの各々に割り当て得る。このようにして、ビデオコーダは、それが導出する必要のある視差ベクトルの量を最小化し、マクロブロックに対する視差ベクトルを導出し、その同じ視差ベクトルをマクロブロックのすべてのブロックに割り当てる（すなわち、マクロブロックのブロックは、マクロブロックに対して導出された視差ベクトルを、それら自体のそれぞれの視差ベクトルとして採用する）ことができる。
【００３０】
[0039]図１は、本開示で説明する１つまたは複数の例による、例示的なビデオ符号化システムとビデオ復号システムとを示すブロック図である。たとえば、システム１０はソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２および宛先デバイス１４が、異なるビューのピクチャを各々コーディングするマルチビューコーディングを実装するように、ソースデバイス１２および宛先デバイス１４が構成される。異なるビューのピクチャが実質的に同時に見られるとき、ビューアは、ディスプレイの２Ｄエリアに制約される画像の代わりに、３Ｄの体積を包含する画像を知覚する。
【００３１】
[0040]システム１０は、異なるビデオコーディング規格、プロプライエタリ規格、またはマルチビューコーディングの任意の他の方法に従って動作し得る。下記は、ビデオコーディング規格の数例を説明しており、限定と見なされるべきではない。ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。ＭＶＣの最新のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されており、その内容全体は参照により本明細書に組み込まれる。ＭＶＣの別のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１１年６月に記載されており、その内容全体は参照により本明細書に組み込まれる。いくつかの追加のビデオコーディング規格は、ＭＶＣ＋Ｄと３Ｄ−ＡＶＣとを含む。
【００３２】
[0041]単に例示のために、本開示で説明する技法が、３Ｄ−ＡＶＣなどのＨ．２６４規格による例とともに説明される。しかしながら、本開示で説明する技法は、これらの例示的な規格に限定されると見なされるべきではなく、マルチビューコーディングもしくは３Ｄビデオコーディング（たとえば、３Ｄ−ＨＥＶＣ）に対する他のビデオコーディング規格、または必ずしも特定のビデオコーディング規格に基づくとは限らないマルチビューコーディングもしくは３Ｄビデオコーディングに関連する技法に拡張可能であり得る。たとえば、本開示で説明する技法は、マルチビューコーディングに対するビデオエンコーダ／デコーダ（コーデック）によって実装され、ここでマルチビューコーディングは、２つ以上のビューのコーディングを含む。
【００３３】
[0042]図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化されたビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどのワイヤレスハンドセット、またはワイヤレス通信用に装備される他のそのようなワイヤレスデバイスを含む、広範なデバイスのうちのいずれかを備える。ソースデバイス１２および宛先デバイス１４のさらなる例としては、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム内のデバイス、ワイヤレスブロードキャストシステム内のデバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー無線電話、衛星無線電話、ビデオ遠隔会議デバイス、およびビデオストリーミングデバイスなどがあるが、それらに限定されない。
【００３４】
[0043]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化されたビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備える。一例では、リンク１６は、ソースデバイス１２が、符号化されたビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための、通信媒体を備える。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００３５】
[0044]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイス３４に出力される。同様に、符号化データは、入力インターフェース２８によってストレージデバイス３４からアクセスされる。ストレージデバイス３４の例としては、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかがある。さらなる一例では、ストレージデバイス３４は、ソースデバイス１２によって生成された符号化ビデオを保持するファイルサーバまたは別の中間ストレージデバイスに対応する。これらの例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイス３４から、記憶されたビデオデータにアクセスする。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバである。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準データ接続を介して、符号化ビデオデータにアクセスする。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含むことができる。ストレージデバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００３６】
[0045]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、（たとえばインターネットを介した）ストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される。
【００３７】
[0046]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含む。ソースデバイス１２において、ビデオソース１８は、（たとえばビデオカメラなどの）ビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、そのようなソースの組合せ、あるいは任意の他のソースのうちの１つまたは複数を含む。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ電話を形成することができる。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００３８】
[0047]ビデオエンコーダ２０は、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオを符号化する。ソースデバイス１２の出力インターフェース２２は、符号化されたビデオデータを宛先デバイス１４に送信するように構成される。符号化ビデオデータは、さらに（または代替として）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３４上に記憶され得る。
【００３９】
[0048]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの場合、入力インターフェース２８は、受信機および／またはモデムを含む。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して、またはストレージデバイス３４から符号化ビデオデータを受信する。リンク１６を介して通信され、またはストレージデバイス３４上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含む。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶される符号化されたビデオデータとともに含まれ得、またはファイルサーバを記憶した。
【００４０】
[0049]ディスプレイデバイス３２は、宛先デバイス１４と一体化されること、またはその外部に存在することがある。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成される。他の例では、宛先デバイス１４はディスプレイデバイスである。概して、ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備える。
【００４１】
[0050]ビデオエンコーダ２０およびビデオデコーダ３０は、上記に記載した例など、様々なビデオコーディング規格に従って動作し得る。しかしながら、本開示で説明する技法は、そのように限定さるものと見なされるべきではない。説明の目的で、ビデオエンコーダ２０およびビデオデコーダ３０は、３Ｄ−ＡＶＣ規格など、Ｈ．２６４規格のコンテキストにおいて説明される。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３があり、３Ｄ−ＨＥＶＣがある。Ｏｎ２  ＶＰ６／ＶＰ７／ＶＰ８と呼ばれるものなど、プロプライエタリなコーディング技法もまた、本明細書で説明する技法のうちの１つまたは複数を実施し得る。
【００４２】
[0051]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々オーディオエンコーダおよびデコーダと統合され、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理する。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠する。
【００４３】
[0052]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。たとえば、本開示で説明する技法は、装置またはデバイスの観点から説明され得る。一例として、装置またはデバイスは、ビデオデコーダ３０（たとえば、ワイヤレス通信デバイスの一部としての宛先デバイス１４）を含み得、ビデオデコーダ３０は、本開示で説明する技法を実施する（たとえば、本開示で説明する技法に従ってビデオデータを復号する）ように構成された１つまたは複数のプロセッサを含むことができる。別の例として、装置またはデバイスは、ビデオデコーダ３０を含むマイクロプロセッサまたは集積回路（ＩＣ）を含み得、マイクロプロセッサまたはＩＣは、宛先デバイス１４または別のタイプのデバイスの一部であり得る。同じ装置またはデバイスが、ビデオエンコーダ２０に適用することができる（すなわち、ソースデバイス１２および／またはマイクロコントローラもしくはＩＣのような装置またはデバイスが、ビデオエンコーダ２０を含み、ここで、ビデオエンコーダ２０は、本開示で説明する技法に従ってビデオデータを符号化するように構成される）。
【００４４】
[0053]本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。
【００４５】
[0054]ビデオシーケンスは、一般にビューからの一連のビデオピクチャを含む。ピクチャのグループ（ＧＯＰ）は、概して、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。ビデオブロックは、Ｈ．２６４規格において規定されるように、マクロブロック、マクロブロックのパーティション、または場合によりパーティションのサブブロックに対応する場合がある。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定されたコーディング規格に従ってサイズが異なり得る。各ビデオピクチャは複数のスライスを含み得る。各スライスは複数のブロックを含み得る。
【００４６】
[0055]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法（たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセル）を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００４７】
[0056]ブロックがイントラモード符号化される（たとえば、イントラ予測される）とき、ブロックは、ブロック用のイントラ予測モードを記述するデータを含む場合がある。別の例として、ブロックがインターモード符号化される（たとえば、インター予測される）とき、ブロックは、ブロックについての動きベクトルを定義する情報を含む場合がある。この動きベクトルは、同じビュー内の参照ピクチャ（たとえば、時間的動きベクトル）を指すか、または別のビュー内の参照ピクチャ（たとえば、視差動きベクトル）を指す。ブロックについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）とを記述する。加えて、インター予測されるとき、ブロックは、動きベクトルが指す参照ピクチャなどの参照インデックス情報、および／または動きベクトル用の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０もしくはＲｅｆＰｉｃＬｉｓｔ１）を含む場合がある。
【００４８】
[0057]Ｈ．２６４規格では、イントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、マクロブロックに対する残差データを計算する。残差データは、符号化されていないピクチャのピクセルと、Ｈ．２６４におけるマクロブロックに対する予測値との間のピクセル差分に対応し得る。
【００４９】
[0058]いくつかの例では、変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行する。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減する。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ、ただし、ｎはｍよりも大きい。
【００５０】
[0059]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用する。他の例では、ビデオエンコーダ２０は適応走査を実行する。量子化変換係数を走査して１次元ベクトルを形成した後に、いくつかの例では、ビデオエンコーダ２０は、数例をあげると、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化する。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化する。
【００５１】
[0060]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が０ではないかどうかに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
【００５２】
[0061]ビデオデコーダ３０は、ビデオエンコーダ２０の技法の逆を実施する。たとえば、ビデオデコーダ３０は、符号化されたビデオビットストリームを復号し、逆量子化および逆変換によって残差ブロックを決定する。ビデオデコーダ３０は、ピクチャ内のブロックに対するピクセル値を決定するために、残差ブロックと以前に復号されたピクチャのブロックとを合計する。
【００５３】
[0062]上記で説明したように、本開示で説明する技法は、３Ｄ−ＡＶＣを対象とする。本技法をより深く理解するように、以下は、いくつかのベーシックなＨ．２６４／ＡＶＣコーディング技法と、Ｈ．２６４／ＭＶＣ拡張および高効率ビデオコーディング（ＨＥＶＣ）規格の観点からのマルチビュービデオコーディングと、３Ｄ−ＡＶＣ技法とを説明する。そのような説明の後、本開示は、視差ベクトルを導出するための技法、特に、深度ビュー成分（たとえば、深度マップ）に依存する必要なしに３Ｄ−ＡＶＣに対する視差ベクトルを導出するための技法を説明する。
【００５４】
[0063]Ｈ．２６４／アドバンスビデオコーディング（ＡＶＣ）に対して、ビデオ符号化または復号（たとえば、コーディング）は、マクロブロックについて実施され、ここで、マクロブロックは、インター予測またはイントラ予測された（すなわち、インター予測符号化もしくは復号された、またはイントラ予測符号化もしくは復号された）フレームの一部を表す。たとえば、Ｈ．２６４／ＡＶＣにおいて、各インターマクロブロック（ＭＢ）（たとえば、インター予測されたマクロブロック）は、１つの１６×１６ＭＢパーティション、２つの１６×８ＭＢパーティション、２つの８×１６ＭＢパーティション、または４つの８×８ＭＢパーティションの４つの異なる方法に区分され得る。１つのＭＢ中の異なるＭＢパーティションは、各方向（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）に対して異なる参照インデックス値を有し得る。ＭＢが４つの８×８ＭＢパーティションに区分されないとき、ＭＢはＭＢパーティション全体について各方向に１つの動きベクトルしか有しない。
【００５５】
[0064]ビデオコーディング（符号化または復号）の一部として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１と呼ばれる１つまたは２つの参照ピクチャリストを構築するように構成される。参照ピクチャリストは、フレームまたはスライスのマクロブロックをインター予測するために使用され得る参照ピクチャを識別する。たとえば、ビデオエンコーダ２０は、参照インデックスおよび参照ピクチャリスト識別子を通知し得る。ビデオデコーダ３０は、参照インデックスと参照ピクチャリスト識別子とを受信し、参照インデックスおよび参照ピクチャリスト識別子から現在のマクロブロックをインター予測復号するために使用されるべき参照ピクチャを決定することができる。
【００５６】
[0065]ＭＢが４つの８×８のＭＢパーティションに区分されるとき、各８×８のＭＢパーティションはサブブロックにさらに区分され得る。８×８ＭＢパーティションからサブブロック、すなわち、１つの８×８サブブロック、２つの８×４サブブロック、２つの４×８サブブロック、および４つの４×４サブブロックのサブブロックを得るために、４つの異なる方法がある。各サブブロックは、各方向に異なる動きベクトルを有し得る。８×８ＭＢパーティションがサブブロックに区分される方法は、サブブロックパーティションと名付けられる。
【００５７】
[0066]マルチビュービデオコーディングに対して、複数の異なるビデオコーディング規格がある。混乱を避けるために、本開示がマルチビュービデオコーディングを概略的に説明するとき、本開示は、「マルチビュービデオコーディング」という句を使用する。概して、マルチビュービデオコーディングには、ベースビューと、１つまたは複数のエンハンスメントビューまたは従属ビューとが存在する。ベースビューは、従属ビューのいずれかを参照することなく、完全に復号可能である（すなわち、ベースビューは、時間的動きベクトルを用いてインター予測されるだけである）。これは、マルチビュービデオコーディング用に構成されないコーデックが、完全に復号可能な少なくとも１つのビューを依然として受信することを可能にする（すなわち、ベースビューが抽出され、他のビューが廃棄され、マルチビュービデオコーディング用に構成されていないデコーダが、３Ｄエクスペリエンスがなくともビデオコンテンツをさらに復号することを可能にする）。１つまたは複数のエンハンスメントビューまたは従属ビューは、ベースビューに関して、他のエンハンスメントビューもしくは従属ビューに関して、または同じビュー内の他のピクチャに関してインター予測（すなわち、視差補償予測または動き補償予測）され得る。
【００５８】
[0067]一方で、「マルチビュービデオコーディング」は、一般的に使用され、頭字語ＭＶＣは、Ｈ．２６４／ＡＶＣの拡張と関連付けられる。したがって、本開示が頭字語ＭＶＣを使用するとき、本開示は具体的にＨ．２６４／ＡＶＣビデオコーディング規格の拡張を指している。Ｈ．２６４／ＡＶＣのＭＶＣ拡張は、時間的動きベクトルに加えて別のタイプの動きベクトルとして視差動きベクトルに依存する。ＭＶＣ＋Ｄと呼ばれる別のビデオコーディング規格もまた、ＪＣＴ−３ＶおよびＭＰＥＧによって開発された。ＭＶＣ＋Ｄは、テクスチャと深度の両方に対してＭＶＣのコーディングツールと同じ低レベルのコーディングツールを適用し、深度の復号は、テクスチャの復号とは独立しており、その逆も成り立つ。たとえば、ＭＶＣにおいて、フレームは、テクスチャビュー成分または単にテクスチャと呼ばれる１つのビュー成分によってのみ表される。ＭＶＣ＋Ｄにおいて、テクスチャビュー成分および深度ビュー成分、または単にテクスチャおよび深度の２つのビュー成分がある。たとえば、ＭＶＣ＋Ｄにおいて、各ビューは、テクスチャビューと深度ビューとを含み、ここで、ビューは複数のビュー成分を含み、テクスチャビューは複数のテクスチャビュー成分を含み、深度ビューは複数の深度ビュー成分を含む。
【００５９】
[0068]各テクスチャビュー成分は、ビューのビュー成分を形成するために深度ビュー成分と関連付けられる。深度ビュー成分は、テクスチャビュー成分内のオブジェクトの相対深度を表す。ＭＶＣ＋Ｄにおいて、深度ビュー成分およびテクスチャビュー成分は、個別に復号可能である。たとえば、ビデオデコーダ３０は、第１のコーデックはテクスチャビュー成分を復号し、第２のコーディングされたは深度ビュー成分を復号する、ＭＶＣコーデックの２つのインスタンスを実施し得る。テクスチャビュー成分および深度ビュー成分は個別に符号化されるので、これらの２つのコーデックは、互いに独立に実行し得る。
【００６０】
[0069]ＭＶＣ＋Ｄにおいて、深度ビュー成分は、常に、関連付けられた（たとえば、対応する）テクスチャビュー成分の直後にくる。このようにして、ＭＶＣ＋Ｄはテクスチャ優先のコーディングをサポートし、ここで、テクスチャビュー成分は、深度ビュー成分の前に復号される。
【００６１】
[0070]テクスチャビュー成分およびそれの関連付けられた（たとえば、対応する）深度ビュー成分は、同じピクチャ順序カウント（ＰＯＣ）値およびｖｉｅｗ＿ｉｄを含み得る（すなわち、テクスチャビュー成分およびそれの関連付けられた深度ビュー成分のＰＯＣ値およびｖｉｅｗ＿ｉｄは同じである）。ＰＯＣ値は、テクスチャビュー成分の表示順序を示し、ｖｉｅｗ＿ｉｄは、テクスチャビュー成分および深度ビュー成分が属するビューを示す。
【００６２】
[0071]３Ｄアドバンスビデオコーディング（ＡＶＣ）に対する以下の追加の説明。ＭＰＥＧにおける最近の規格化活動は、３Ｄビデオ技術に対する提案募集（ＣｆＰ：Call for Proposal）を含み、現在の参照ソフトウェアにおける応答の中から選択されたいくつかの技法が存在する。ＡＶＣベースの３Ｄビデオ（３Ｄ−ＡＶＣ）コーディング規格は、ＪＣＴ−３Ｖによって現在開発中であり、３Ｄ−ＡＶＣの最新バージョンは、現在、公に利用可能であり、参照によりその全体、Ｍ．Ｍ．Ｈａｎｎｕｋｓｅｌａ、Ｙ．Ｃｈｅｎ、Ｔ．Ｓｕｚｕｋｉ、Ｊ．−Ｒ．Ｏｈｍ、Ｇ．Ｊ．Ｓｕｌｌｉｖａｎの「３Ｄ−ＡＶＣドラフトテキスト５」、ＪＣＴ３Ｖ−Ｃ１００２、ジュネーブ、ＣＨ、２０１３年１月、が本明細書に組み込まれる。それは、２０１４年２月２５日現在、以下のリンク、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｃ１００２−ｖ３．ｚｉｐから入手可能である。
【００６３】
[0072]ベースビューのテクスチャ部はＨ．２６４／ＡＶＣデコーダに対して完全に復号可能であるという意味で、３Ｄ−ＡＶＣはＨ．２６４／ＡＶＣに準拠している。たとえば、ベースビューのビュー成分内のテクスチャビュー成分は、同じベースビュー内の他のテクスチャビュー成分を用いてのみインター予測され得る。ベースビュー内のテクスチャビュー成分は、ビュー間予測されないことがある。同じく、ベースビュー内のテクスチャビュー成分は、復号の目的に対して、対応する深度ビュー成分を必要としないことがある。
【００６４】
[0073]３Ｄ−ＡＶＣ内の強化された（enhanced）ビュー成分に対して、いくつかの他の例示的な技法では、深度はテクスチャの前にコーディングされ得、テクスチャビュー成分は、深度ビュー成分からの情報に基づいてコーディングされ得、それは深度優先のコーディングとしても知られている。しかしながら、各テクスチャビュー成分は、上記で説明したＭＶＣ＋Ｄにおけるように、テクスチャ優先のコーディング順序で、それぞれの深度ビュー成分の前にコーディングされる。言い換えれば、いくつかの他の例示的な技法では、３Ｄ−ＡＶＣにおいて、ベースビューのテクスチャビュー成分が最初にコーディングされ、ベースビューの関連する深度ビュー成分がそれに追随し、第１のエンハンスメントビューまたは従属ビューの深度ビュー成分がそれに追随し、第１のエンハンスメントビューまたは従属ビューの関連するテクスチャビュー成分がそれに追随し、第２のエンハンスメントビューまたは従属ビューの深度ビュー成分がそれに追随し、第２のエンハンスメントビューまたは従属ビューの関連するテクスチャビュー成分がそれに追随し、以下同様である。
【００６５】
[0074]たとえば、３Ｄ−ＡＶＣにおけるテクスチャビュー成分および深度ビュー成分のコーディング順序は、以下のように例示されており、そこにおいて、Ｔ０およびＤ０はそれぞれ、ベースビューのテクスチャビュー成分と深度ビュー成分とを指し、Ｔ１およびＤ１はそれぞれ、従属ビューのテクスチャビュー成分と深度ビュー成分とを指す。Ｔ０、Ｄ０、Ｄ１、Ｔ１．．．、ベースビューは、テクスチャ優先のコーディング順序でコーディングされる一方で、従属ビューは、深度優先のコーディング順序でコーディングされる。いくつかの他の例示的な技法において、ハイブリッドコーディング順序が、３Ｄ−ＡＶＣに対して使用される。ベースビューは、テクスチャ優先のコーディング順序によってＡＶＣ互換性を有し得る一方で、従属ビューは、Ｄｉの復号された情報はＴｉ（ｉは０に等しくない）によって使用されるので、そのような種類の互換性を持たない。
【００６６】
[0075]いくつかの例では、３Ｄ−ＡＶＣに対してさえ、ベースビューおよび従属ビューのテクスチャ優先のコーディングは可能であり、以下のコーディング順序、Ｔ０、Ｄ０、Ｔ１、Ｄ１．．において例示される。この例では、すべてのビュー成分は、ＡＶＣ／マルチビュー互換性を提供し得るテクスチャ優先のコーディング順序でコーディングされる。
【００６７】
[0076]上記で説明したように、互換性問題に加えて、テクスチャ優先のコーディングと比較して、深度優先のコーディングに伴ういくつかの欠点が存在することがある。たとえば、ビューのランダムアクセスポイントにおける復号待ち時間、ここで、テクスチャビュー成分の復号は対応する深度ビュー成分の復号によって遅延される。しかしながら、ビューのランダムアクセスポイントのピクチャはチャネルスイッチオーバーを可能にするピクチャであるので、ビューのランダムアクセスポイントに対する復号待ち時間を最小化することが好ましい。
【００６８】
[0077]さらに、深度優先のコーディングに対して、ビデオデコーダが深度を必要とせず、テクスチャビューを復号することだけを必要とする場合、深度ビューはテクスチャビューを復号するために必要とされるので、深度パケットをスキップするため、またはビデオデコーダが深度ビューの復号をスキップすることを可能にするための実際的な方法は存在しないことがある。たとえば、深度ビューは、深度優先のコーディングにおいてテクスチャビューを復号するのに必要であるので、メディアゲートウェイは、コーディングされたビットストリームから深度ビューを廃棄することはできない。これは、増加された帯域幅をもたらし、復号の複雑さを増加する。
【００６９】
[0078]同じく、一貫性のない設計要素が存在することがある。たとえば、テクスチャ優先のコーディング順序は、一般に、以下で説明したＭＶＣ＋ＤおよびＨＥＶＣビデオコーディング規格を含む、マルチビュービデオコーディングに対して使用される。設計における共通性は、深度優先のコーディングが必要とされる場合に利用不可能な実装形態の各々を提供し得る。
【００７０】
[0079]いくつかの技法が、３Ｄ−ＡＶＣとともにテクスチャ優先のコーディングを使用ために提案されている。一例として、３Ｄ−ＡＶＣは、深度ビュー成分を、対応するテクスチャビュー成分内のマクロブロックに対する視差ベクトルを導出するために使用し、深度ビュー成分が最初に復号されることを必要にする。いくつかの技法は、視差ベクトルの導出を回避することを提案しており、それは、テクスチャ優先のコーディングを支援する。しかしながら、視差ベクトル導出が存在しない例における３Ｄ−ＡＶＣコーデックの性能は悪く、ＭＶＣ＋Ｄに従ったものである。
【００７１】
[0080]上記のように、３Ｄ−ＡＶＣに対するいくつかの例示的な技法は、関連するテクスチャビュー成分内のマクロブロックに対する視差ベクトルを導出するために、深度マップ（たとえば、深度ビュー成分）を使用する。視差ベクトルをどのように導出するかは、各低レベルコーディングツールによって変化することがある。しかしながら、一般的に、従属ビューの深度データは、深度優先のコーディング順序によって、テクスチャビュー成分コーディングのために使用される。３Ｄ−ＡＶＣにおけるインループブロックベースのビュー合成ビュー間予測および深度ベースの動きベクトル予測（Ｄ−ＭＶＰ）は、深度マップからサポートされる視差ベクトルを使用する低レベルコーディングツールである。３Ｄ−ＡＶＣソフトウェアにおいて、実際の深度マップ値から特定のビューに対する視差への変換プロセスの結果が、カメラパラメータとともにルックアップテーブルに記憶される。
【００７２】
[0081]一般に、視差ベクトルは、１つまたは複数のコーディングツールを実施するために使用され得る（たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、視差ベクトルを導出するために深度ビュー成分を使用することなく１つまたは複数のコーディングツールを実施するために、導出された視差ベクトルを利用し得る）。たとえば、上記で説明したように、視差ベクトルは、一部として、ビュー間予測および動きベクトル予測（ＭＶＰ）として使用され得る。ＭＶＰは、概して、コーディングされたビットストリームが、マクロブロックの実際の動きベクトルに対する情報を含まないが、代わりに動きベクトルが導出され得る情報を含む技法を指す。たとえば、動きベクトル予測では、マクロブロックに対する動きベクトルは、隣接ブロックの動きベクトルまたは隣接ブロックの動きベクトルによって指されるブロックの動きベクトルなどの動きベクトル予測子、ならびに実際の動きベクトルと動きベクトル予測子との間の差分である動きベクトル差分から予測される。動きベクトル予測子は、それ自体候補予測子のセットから予測されることにより得る。
【００７３】
[0082]以下は、通常のインター予測モードに対する深度ベースの動きベクトル予測を説明する。Ｄ−ＭＶＰは、深度優先のコーディング順序によって利用可能な現在ビュー内の関連する深度マップデータを組み込む動きベクトル予測方法を指す。Ｄ−ＭＶＰは、従属ビュー内のテクスチャビュー成分を用いて適用される。
【００７４】
[0083]３Ｄ−ＡＶＣにおいて、Ｄ−ＭＶＰ方法は、Ｈ．２６４／ＡＶＣにおいて従来のメディアン関数ベースの動きベクトル予測に組み込まれる。具体的には、予測されるべき動きベクトルのタイプ（すなわち、時間的動きベクトルかまたは視差動きベクトルか）が、最初に識別される。たとえば、Ｄ−ＭＶＰ方法では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、隣接ブロックをインター予測するために使用される参照ピクチャが、現在のマクロブロックと同じビュー内の参照ピクチャであるかまたは異なるビュー内の参照ピクチャであるかを決定するために、隣接ブロック内の動きベクトルの参照インデックスを検査し得る。参照ピクチャが同じビュー内にある場合、隣接ブロックは時間的動きベクトルを用いてインター予測され、参照ピクチャが異なるビュー内にある場合、隣接ブロックは視差動きベクトルを用いてインター予測される（すなわち、ビュー間予測される）。
【００７５】
[0084]隣接ブロックは、現在のブロックの左ブロック、上ブロック、右上ブロック、および左上ブロックの順に含む。左上ブロック内の動きベクトルは、その他の３つの隣接ブロックのうちの１つが動きベクトルを含まないときだけ使用される。一例として、左ブロック、上ブロック、または右上ブロックがイントラ予測される場合、イントラ予測されたブロックに対する動きベクトルは、利用不可能であると見なされる。この例では、ビデオコーダは、左上ブロックの動きベクトルを評価し得る。これらの隣接ブロックは、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測に対して使用されるのと同じ隣接ブロックである。
【００７６】
[0085]３つの隣接ブロックが利用可能である場合、３つの隣接ブロック内の動きベクトルは、現在のブロックの動きベクトル予測のために使用される。時間的予測では、隣接ブロックの動きベクトルが同じタイプ（すなわち、すべてが時間的動きベクトルまたはすべてが視差動きベクトル）であり、同じ参照インデックスを有する（すなわち、同じ参照ピクチャを指す）場合、ビデオデコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、動きベクトル予測子を決定するために、Ｈ．２６４／ＡＶＣにおけるようなメディアンフィルタを直接使用する。ビデオコーダは、現在のブロックについての動きベクトルを決定するために、動きベクトル予測子を使用する。
【００７７】
[0086]場合によっては、隣接ブロックの動きベクトルが異なるタイプであり、および／または異なる参照インデックスを有する場合、動きベクトルは、動きベクトル予測子を決定するために使用されるためにさらに導出される。現在の参照ピクチャがビュー間参照ピクチャであるとき、ビデオコーダは、隣接ブロック位置において動きベクトルタイプおよびそれらの参照インデックスを検査（たとえば、評価）する。それらがすべて、同じ動きベクトルタイプと同じ参照インデックスとを有するとビデオデコーダが決定する場合、ビデオデコーダは、動きベクトル予測子を決定するためにメディアンフィルタを適用する。
【００７８】
[0087]両方の場合（たとえば、同じタイプの動きベクトルおよび同じ参照インデックス、または異なるタイプの動きベクトルもしくは異なる参照インデックス）、３つ未満の隣接ブロックが利用可能である場合、ビデオデコーダは、３つの隣接ブロックが利用可能になるように、利用不可能なブロックに対して動きベクトルを導出する。隣接ブロックに対して導出された動きベクトルは、導出された動きベクトルと呼ばれ、以下で説明するように生成される。
【００７９】
[0088]ビデオコーダは、現在の動きベクトルが視差動きベクトルであるかどうかを決定し得る。そうするために、ビデオコーダは、現在のブロックに対する動きベクトルの参照ピクチャリストへの参照インデックスを決定し得る（すなわち、ビデオデコーダ３０は、現在のブロックに対する動きベクトルの参照ピクチャリストへの参照インデックスを、通知されたコーディングされたビットストリームから決定し得る）。参照インデックスがビュー間参照ピクチャ（すなわち、ＰＯＣ値および／またはｖｉｅｗ＿ｉｄから決定される、別のビュー内の参照ピクチャ）を識別した場合、ビデオコーダは、現在のブロックに対する動きベクトルは視差動きベクトルであることを決定し得る。
【００８０】
[0089]現在の動きベクトルが視差動きベクトルであり、ここで、その動きベクトルが現在の動きベクトルのタイプと異なるタイプを有するかまたはその動きベクトルが利用不可能である場合、このブロックの導出された動きベクトルは、対応する深度ビュー成分から変換される視差動きベクトルになるように設定される。言い換えれば、３Ｄ−ＡＶＣに対するこの例示的な技法では、現在のブロックに対する動きベクトルが視差動きベクトルであり、隣接ブロックに対する動きベクトルが、視差動きベクトルでないかまたは場合によっては隣接ブロックに対する視差動きベクトルを導出するために利用不可能である場合、ビデオコーダは、深度ビュー成分内の対応するブロックを識別し、隣接ブロックに対する視差ベクトルを決定するために深度ビュー成分内の対応するブロックを使用し、隣接ブロックに対する視差ベクトルを隣接ブロックの視差動きベクトルとして使用する。この視差動きベクトルは、隣接ブロックに対する導出された動きベクトルであると見なされる。
【００８１】
[0090]ビデオコーダは、同じビュー内の深度ビュー成分の対応するブロックを使用し、この対応するブロックの４つの隅の深度値の最大値を視差値に変換する。この視差値は、導出された動きベクトルの水平成分になる。ビデオコーダは、導出された動きベクトルの垂直成分をゼロになるように設定する。
【００８２】
[0091]上記の例では、現在のブロックに対する動きベクトルは、視差動きベクトルであった。いくつかの場合、ビデオコーダは、現在のブロックに対する動きベクトルは時間的動きベクトルであることを決定し得る。たとえば、ビデオコーダは、現在のマクロブロックに対する動きベクトルの参照ピクチャリストへの参照インデックスを決定し、参照インデックスから参照ピクチャを識別することができる。参照ピクチャが現在のマクロブロックと同じビューに属する（ＰＯＣ値および／またはｖｉｅｗ＿ｉｄから決定される）場合、ビデオコーダは、現在のマクロブロックに対する動きベクトルは時間的動きベクトルである（すなわち、参照ピクチャは時間的参照ピクチャである）ことを決定する。
【００８３】
[0092]現在の動きベクトルが時間的動きベクトルである場合、ビデオコーダは、参照ビュー（ベースビュー）内の参照ブロックの時間的動きベクトルを得るために、視差値（上記と同様に導出される）を使用する。この例では、ビデオコーダは、導出された動きベクトルを時間的動きベクトルになるように設定する。時間的動きベクトルが利用不可能である（イントラブロック、または現在の参照ピクチャと整列された参照ビュー内の参照ピクチャを指さない）と見なされる場合、導出された動きベクトルは、ゼロに設定される。
【００８４】
[0093]たとえば、現在のブロックに対する動きベクトルが時間的動きベクトルである場合、隣接ブロックに対する動きベクトルが時間的動きベクトルでないか、または場合によっては、利用不可能である隣接ブロックに対する時間的動きベクトルを導出するために、ビデオコーダは、上記で説明した技法を使用して隣接ブロックに対する視差ベクトルを決定し得る。次に、ビデオコーダは、視差ベクトルが指すベースビュー内のブロックを決定する。ビデオコーダは、ベースビュー内のブロックに対する動きベクトルが存在するかどうかを決定する。ベースビュー内のブロックに対する動きベクトルが存在する場合、動きベクトルは、ベースビュー内のブロックはビュー間予測され得ないので、時間的動きベクトルである必要がある。ビデオコーダは、ベースビュー内のブロックの時間的動きベクトルを、隣接ブロックに対する導出された動きベクトルとして設定する。ベースビュー内のブロックに対する動きベクトルが存在しない場合（すなわち、イントラコーディングされるか、またはベースビュー内のブロックに対する動きベクトルが、現在ピクチャに対する参照ピクチャとして識別されない参照ピクチャを指す場合）、ビデオコーダは、隣接ブロックに対する導出された動きベクトルをゼロに等しく設定する。
【００８５】
[0094]上記で説明した例は、通常モードに対する動きベクトル予測に対するものである。以下は、スキップモードおよび直接モードに対する動きベクトル予測、特に、３Ｄ−ＡＶＣのいくつかの例示的な技法におけるスキップモードおよび直接モードに対するビュー間動き予測に対する例を説明する。
【００８６】
[0095]３Ｄ−ＡＶＣにおけるビュー間動き予測は、Ｐスキップ、Ｂスキップ、Ｂ−１６×１６直接モード、およびＢ−８×８直接モードにおいて実行される。ビデオコーダは、隣接ブロックからの視差ベクトル、ならびに同じビューの深度ビュー成分の深度値から変換された視差ベクトルを、最初に導出し得る。１つの利用可能な空間的隣接ブロックが視差動きベクトルを含む場合、この視差動きベクトルは、視差ベクトルになる。場合によっては、視差動きベクトルを含まない隣接ブロックに対して、ブロックの視差動きベクトルが、（Ｄ−ＭＶＰにおける変換と同様に）深度値から変換され、その後、メディアンフィルタが、視差ベクトルを得るために、３つの隣接ブロックに適用される。
【００８７】
[0096]ビデオコーダは、参照ビューの参照ブロック内の時間的動きベクトルを識別するために、参照（ベース）ビュー内の参照ブロックの時間的動きベクトルを得るために導出されたベクトルを使用する。時間的動きベクトルが利用不可能である場合、ビデオコーダは、参照インデックスを最初に導出し、ビデオコーダは、動きベクトル予測子を作成するために、上記で説明したＤ−ＭＶＰ技法を適用する。上記で説明したＤ−ＭＶＰ技法は、通常のインター予測モードに対する深度ベースの動きベクトルを指す。
【００８８】
[0097]上記の説明に基づいて、視差ベクトルは、３Ｄ−ＡＶＣにおける有用なコーディングツールであることがわかる。たとえば、視差ベクトルは、動きベクトル予測に対するような１つまたは複数のコーディングツールを実施するために使用されるが、視差ベクトルに対する他の使用も同様に存在し得る。上記で説明したように、いくつかの３Ｄ−ＡＶＣ技法は、視差ベクトル導出に対して（すなわち、従属ビューまたはエンハンスメントビューに対する深度優先のコーディングに対して）テクスチャビュー成分の深度ビュー成分を使用し、そのことが、復号待ち時間、実施の複雑さ、他のビデオコーディング規格に対する拡張可能性の欠如、深度ビュー成分が必要でない場合の帯域幅の非効率性、および他の潜在的な欠点などの問題をもたらす。
【００８９】
[0098]本開示で説明する技法は、対応する深度ビュー成分の使用を必要としない視差ベクトル導出を可能にする。このようにして、技法は、視差ベクトル導出を伴う従属ビューに対する３Ｄ−ＡＶＣにおけるテクスチャ優先のコーディングを可能にする。視差ベクトル導出を達成するために、本開示で説明する技法は、隣接ブロックの動きベクトル情報に依存する。一例では、隣接ブロックに対する動きベクトルが視差動きベクトルである場合、本開示で説明する技法は、隣接ブロックの視差動きベクトルを現在のブロックに対する視差ベクトルとして利用する。このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、対応する深度ビュー成分に依存する必要なしに、テクスチャビュー成分の現在のマクロブロックに対する視差ベクトルを決定し得る。同じく、このようにして、ビデオエンコーダ２０およびビデオデコーダ３０は、視差ベクトルを導出するために深度ビュー成分を使用することなく、導出された視差ベクトル利用して１つまたは複数のコーディングツールを実施し得る。
【００９０】
[0099]３Ｄ−ＨＥＶＣビデオコーディング規格は、隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出と呼ばれる方式を利用する。本開示で説明する技法は、３Ｄ−ＡＶＣにおけるＮＢＤＶ導出技法を利用し得る。さらに、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出技法は、予測ユニット（ＰＵ）を含むコーディングユニット（ＣＵ）の概念に依存する。コーディングユニットおよび予測ユニットは、３Ｄ−ＡＶＣ内に存在せず、マクロブロックが代わりに使用され、３Ｄ−ＡＶＣにおいてＮＢＤＶ技法を活用することにおける複雑さを生じる。本開示で説明する技法は、３Ｄ−ＡＶＣに対して、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出など、コーディングツール活用のそのような複雑さを克服する。
【００９１】
[0100]この意味で、本開示で説明する技法は、３Ｄ−ＡＶＣにおける隣接ブロックベースの視差ベクトル導出プロセスと見なされ得る。ＮＢＤＶ導出を活用する３Ｄ−ＡＶＣに対する視差ベクトル導出を説明する前に、以下は、ＮＢＤＶ導出に対する追加のコンテキストを提供する。
【００９２】
[0101]ＮＢＤＶ導出プロセスは、すべてのビューに対してテクスチャ優先のコーディング順序を使用する３Ｄ−ＨＥＶＣビデオコーディング規格における視差ベクトル導出方法に使用される。現在の３Ｄ−ＨＥＶＣ設計では、ビデオコーダは、参照ビューの深度マップから深度データを取り出すために、ＮＢＤＶを使用する。
【００９３】
[0102]最新の参照ソフトウェア記述ならびに３Ｄ−ＨＥＶＣの作業ドラフトが、２０１４年２月２５日現在時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝４６０から、以下の、Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｎｇｅｒ、Ｙｉｎｇ  Ｃｈｅｎ、Ｓｅｈｏｏｎ  Ｙｅａ、「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｄｒａｆｔ  ２」、ＪＣＴ３Ｖ−Ｂ１００５、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのジョイントコラボレーティブチームオン３Ｄビデオコーディング拡張開発、第２回会議、上海、中国、２０１２年１０月として利用可能となり、その内容全体は参照により本明細書に組み込まれる。
【００９４】
[0103]以下は、ＮＢＤＶ導出プロセスの概観を提供する。上記で説明したように、視差ベクトル（ＤＶ）は、２つのビュー間の視差の推定の表示であり得る。多くの場合、隣接ブロックは、ビデオコーディングにおいてほぼ同じ動き／視差情報を共有する。したがって、現在のブロックは、隣接ブロック内の動きベクトル情報を良好な視差予測子として使用し得る。隣接ブロックの動き情報は良好な視差予測を形成するので、ＮＢＤＶ導出は、異なるビュー内の視差ベクトルを推定するために隣接する視差情報を使用する。
【００９５】
[0104]ＮＢＤＶ導出において、いくつかの可能な空間的および時間的隣接ブロックが存在し、あらかじめ規定された空間的ブロックおよび隣接ブロックが、ＮＢＤＶ導出技法の一部として評価される。ビデオコーダは、現在のブロックと候補ブロック（すなわち、検査される隣接ブロック）との間の相関の優先度によって決定された、あらかじめ規定された順序で、隣接ブロックの各々を検査（たとえば、評価）する。候補（すなわち、隣接ブロックのうちの１つにおける）が視差動きベクトルを用いてインター予測される（すなわち、ビュー間予測される）ことをビデオコーダが決定すると、ビデオコーダは、隣接ブロックの視差動きベクトルを現在のブロックに対する視差ベクトルに変換する。
【００９６】
[0105]以下でより詳細に説明するように、どの隣接ブロックが評価されるかに対して、いくつかの制限が存在することがある。一例として、ビデオエンコーダ２０およびビデオデコーダ３０は、第１の参照ピクチャリストを指す動きベクトル（たとえば、第１の参照ピクチャリスト内で識別されるビュー間参照ピクチャを指す視差動きベクトル）を用いて隣接ブロックを評価（たとえば、検査）し得、第２の参照ピクチャリストを指す動きベクトル（たとえば、第２の参照ピクチャリスト内で識別されるビュー間参照ピクチャを指す視差動きベクトル）を用いて隣接ブロックを評価することを回避し得る（たとえば、評価しないまたは検査しない）。
【００９７】
[0106]たとえば、隣接ブロックに対する参照ピクチャリストインデックスが０に等しい（ＲｅｆＰｉｃＬｉｓｔ０を識別する）場合、ビデオエンコーダ２０およびビデオデコーダ３０は、隣接ブロックに対する動きベクトルが、現在のマクロブロックに対する視差ベクトルを導出するために使用され得る視差動きベクトルであるかどうかを決定する目的で、動き情報を評価し得る。隣接ブロックに対する参照ピクチャリストインデックスが１に等しい（ＲｅｆＰｉｃＬｉｓｔ１を識別する）場合、ビデオエンコーダ２０およびビデオデコーダ３０は、隣接ブロックに対する動きベクトルが、現在のマクロブロックに対する視差ベクトルを導出するために使用され得る視差動きベクトルであるかどうかを決定する目的で、動き情報を評価することを回避し得る（たとえば、評価しない）。
【００９８】
[0107]言い換えれば、隣接ブロックが視差動きベクトルを有するが、その視差動きベクトルがＲｅｆＰｉｃＬｉｓｔ１内のビュー間参照ピクチャを指す場合、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のブロックに対する視差ベクトルを導出するためにこの視差動きベクトルを利用し得、ビュー間参照ピクチャを指す視差動きベクトルを有する隣接ブロックがＲｅｆＰｉｃＬｉｓｔ０であるまで追加の隣接ブロックを評価し続けてよく、発見される。次に、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のブロックに対する視差ベクトルを導出するために、この視差動きベクトルを利用し得る。このようにして、技法は、現在のブロックに対する視差ベクトルを導出するために使用され得る視差動きベクトルを発見するために評価される必要のある隣接ブロックの数を最小化し得る。
【００９９】
[0108]いくつかの例では、ビデオコーダは、一方のセットが空間的隣接ブロックからであり、他方のセットが時間的隣接ブロックからである、隣接ブロックの２つのセットを利用する。空間的隣接ブロックは、現在のマクロブロックと同じフレーム内のブロックであり、時間的隣接ブロックは、異なるフレーム内のブロックである。いくつかの例では、時間的隣接ブロックは、現在のマクロブロックと同じビュー内によって必要とされる（すなわち、時間的隣接ブロックを含むフレームおよび現在のマクロブロックを含むフレームが同じビュー内にある）。
【０１００】
[0109]より詳細に説明するように、時間的隣接ブロックを含むピクチャは、時間的ピクチャと呼ばれる。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０が時間的隣接ブロックを識別するために選択する時間的ピクチャの数に対する制限が存在することがある。一例では、２つの時間的ピクチャが存在し得、ビデオエンコーダ２０およびビデオデコーダ３０は、時間的ピクチャの一方として第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）の第１のエントリ（エントリ０）内に位置するピクチャを選択し、他方の時間的ピクチャとして第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）の第１のエントリ（エントリ０）内に位置するピクチャを選択することができる。ビデオエンコーダ２０およびビデオデコーダ３０は、これらの選択された時間的ピクチャ内のブロックを評価し得る。一例では、ビデオエンコーダ２０およびビデオデコーダ３０は、右下ブロックを評価し得、ここで、右下ブロックは、選択された時間的ピクチャ内の現在のマクロブロックの下部の右側の位置に位置するブロックである。
【０１０１】
[0110]空間的隣接ブロックに関して、いくつかの制限が存在し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、最大４つまでの空間的隣接ブロックの動き情報を評価し得る。これらの４つの空間的隣接ブロックは、現在のマクロブロックの左に位置するブロックと、現在のマクロブロックの上に位置するブロックと、現在のマクロブロックの左上に位置するブロックと、現在のマクロブロックの右上に位置するブロックとを含む。
【０１０２】
[0111]本開示で説明するように、動き予測に対して、ビデオエンコーダ２０およびビデオデコーダ３０は、現在のブロックの左ブロック、上ブロック、右上ブロックおよび左上ブロックを評価し得、ここで、左上ブロック内の動きベクトルは、その他の３つの隣接ブロックのうちの１つが動きベクトルを含まないときだけ使用される。したがって、いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０が視差ベクトルを導出する目的で評価する４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格において動き予測のために使用されるのと同じ隣接ブロックであり得る。
【０１０３】
[0112]以下は、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出に関する追加の詳細を提供する。３Ｄ−ＨＥＶＣは、参照によりその全コンテンツが本明細書に組み込まれる、ＪＣＴ３Ｖ−Ａ００９７において提案されたＮＢＤＶ方法を最初に採用した。暗黙的視差ベクトルが、参照によりその全コンテンツが本明細書に組み込まれる、ＪＣＴＶＣ−Ａ０１２６における簡略化されたＮＢＤＶとともに含まれた。加えて、参照によりその全コンテンツが本明細書に組み込まれるＪＣＴ３Ｖ−Ｂ００４７において、ＮＢＤＶは、復号されたピクチャバッファ内に記憶された暗黙的視差ベクトルを除去することによってさらに簡略化されるが、同じく、ランダムアクセスポイント（ＲＡＰ）ピクチャ選択によってコーディング利得を改善される。
【０１０４】
[0113]ＪＣＴ３Ｖ−Ａ００９７：３Ｄ−ＣＥ５．ｈ：視差ベクトル生成結果、Ｌ．Ｚｈａｎｇ、Ｙ．Ｃｈｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚが、２０１４年２月２５日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝８９から発見され得る。ＪＣＴ３Ｖ−Ａ０１２６：３Ｄ−ＣＥ５．ｈ：ＨＥＶＣベースの３Ｄビデオコーディングに対する視差ベクトル導出の簡略化、Ｊａｅｗｏｎ  Ｓｕｎｇ、Ｍｏｏｎｍｏ  Ｋｏｏ、Ｓｅｈｏｏｎ  Ｙｅａ（ＬＧ）が、２０１４年２月２５日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１４２から発見され得る。ＪＣＴ３Ｖ−Ｂ００４７：３Ｄ−ＣＥ５．ｈ関連：視差ベクトル導出のため改善、Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ、Ｍ．Ｋａｒｃｚｅｗｉｃｚが、２０１４年２月２５日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝２３６から発見され得る。
【０１０５】
[0114]３Ｄ−ＨＥＶＣに対するＮＢＤＶ導出プロセスのため１つの提案書において、現在の予測ユニット（ＰＵ）のＡ０、Ａ１、Ｂ０、Ｂ１またはＢ２で示される左下、左、右上、上、および左上の５つの空間的隣接ブロックが、視差ベクトル導出のために使用される。これらのブロックは、ＨＥＶＣにおけるＭＥＲＧＥモードにおいて使用されるブロックと同じであり、したがって、追加のメモリアクセスは不要であることに留意されたい。
【０１０６】
[0115]時間的隣接ブロックを検査するために、ビデオコーダは、最初に、候補ピクチャリストの構築プロセスを実行し得る。この例では、現在のビューからのすべての参照ピクチャが、候補ピクチャとして扱われ得る。ビデオコーダは、最初に、コロケートされた参照ピクチャを候補ピクチャリストに挿入し、続いて、候補ピクチャの残りを、参照インデックスの昇順で挿入する。両参照ピクチャリスト内の同じ参照インデックスを有する参照ピクチャが利用可能であるとき、コロケートされたピクチャの同じ参照ピクチャリスト内の一方が、他方に先行する。いくつかの例では、候補ピクチャリスト内の各候補ピクチャに対して、３つの候補領域が、時間的隣接ブロックを導出するために決定される。
【０１０７】
[0116]ブロックがビュー間動き予測を用いてコーディングされるとき、視差ベクトルは、異なるビュー内の対応するブロックを選択するために導出される必要があることがある。暗黙的視差ベクトル（ＩＤＶまたは導出された視差ベクトル）は、隣接ブロックのビュー間動き予測において導出された視差ベクトルを指す。隣接ブロックが動き予測を用いてコーディングされるとしても、導出された視差ベクトルは、後続のブロックをコーディングする目的で廃棄されることはない。たとえば、隣接ブロックの導出された視差ベクトル（すなわち、暗黙的視差ベクトル）は、現在のブロックに対する視差ベクトルとして使用され得る。
【０１０８】
[0117]一般的に、ＮＢＤＶ導出プロセスは、時間的隣接ブロック内の視差動きベクトル、空間的隣接ブロック内の視差動きベクトル、次に暗黙的視差ベクトルを、順番に検査するが、他の順番が可能である。視差動きベクトルまたは暗黙的視差ベクトルが発見されると、ビデオコーダはプロセスを終了し、視差動きベクトルまたは暗黙的視差ベクトルを現在のブロックに対する視差ベクトルとして使用する。
【０１０９】
[0118]加えて、深度指向の隣接ブロック視差ベクトル（ＤｏＮＢＤＶ：depth oriented neighboring block disparity vector）の概念も存在する。ＤｏＮＢＤＶを導出するために、ＮＢＤＶ導出プロセスが、参照ビューの深度データを取り出すために使用され、それによって、対応する深度データが、視差ベクトルを導出するために使用される。ここでの深度データは、参照ビューの深度ビュー成分からであり、現在のブロックを含むテクスチャビュー成分の深度データではないことに留意されたい。したがって、テクスチャ優先のコーディングは、依然として、ＤｏＮＢＤＶ導出を用いて可能である。ＮＢＤＶと深度データとの同時最適化が、ＮＢＤＶ導出プロセスから単独で導出された視差ベクトルと比較して、視差ベクトルの精度を高め得る。加えて、ＮＢＤＶまたはＤｏＮＢＤＶ導出の結果は、ビュー間動き予測およびビュー間残差予測などの他のコーディングツールに対して使用され得る。ＤｏＮＢＤＶ導出は、ＪＣＴ３Ｖ−Ｃ０１３１：３Ｄ−ＣＥ１．ｈ：仮想深度取出し（virtual depth retrieval）を有する深度指向の隣接ブロック視差ベクトル、Ｙ．Ｌ．Ｃｈａｎｇら、ＭｅｄｉａＴｅｋに記載されており、本書は、２０１４年２月２５日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５７２から入手可能であり、その全コンテンツは参照により本明細書に組み込まれる。
【０１１０】
[0119]ビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明する技法を実装するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、テクスチャが第１に各ビュー成分に対してコーディングされることを可能にすることによって、３Ｄ−ＡＶＣの効率的なコーディングを可能にする技法を実装するように構成され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、対応する深度データが、テクスチャ優先のコーディング順序によって３Ｄ−ＡＶＣにおいて利用可能でない（またはまだ利用可能でない）とき、現在のブロックの空間的／時間的隣接ブロックから２つ以上の利用可能な視差動きベクトルを考慮する、本開示の例示的なＮＢＤＶ導出技法を使用して視差ベクトルを導出し得る。
【０１１１】
[0120]一例として、ビデオデコーダ３０は、従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信し得る。この例では、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスは、３Ｄ−ＡＶＣビデオコーディング規格において規定されたビデオコーディングツールを使用するビデオコーディングプロセスを指す。従属ビューのテクスチャ優先のコーディングは、テクスチャビュー成分が、対応する深度ビュー成分の前にコーディングされる場合を指す（すなわち、Ｔ０、Ｄ０、Ｔ１、Ｄ１、以下同様）。
【０１１２】
[0121]ビデオデコーダ３０は、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおける従属ビューのうちの１つの従属ビューのテクスチャビュー成分を復号し得る。この例では、テクスチャビュー成分を復号するために、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビュー成分内の現在のブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。同じく、テクスチャビュー成分を復号するために、ビデオデコーダ３０は、隣接ブロックのうちの１つに対する視差動きベクトルに基づいて、現在のブロックに対する視差ベクトルを導出するように構成され得る。ビデオデコーダ３０は、テクスチャビュー成分を復号することに続いて、テクスチャビュー成分に対応する深度ビュー成分を復号し得る。
【０１１３】
[0122]別の例として、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおける従属ビューのテクスチャビュー成分を符号化し得る。この例では、テクスチャビュー成分を符号化するために、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビュー成分内の現在のブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。同じく、テクスチャビュー成分を符号化するために、ビデオエンコーダ２０は、隣接ブロックのうちの１つに対する視差動きベクトルに基づいて、現在のブロックに対する視差ベクトルを導出するように構成され得る。
【０１１４】
[0123]ビデオエンコーダ２０は、テクスチャビュー成分を符号化することに続いて、テクスチャビュー成分に対応する深度ビュー成分を符号化し得る。ビデオエンコーダ２０はまた、符号化されたテクスチャビュー成分と符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成し得る。
【０１１５】
[0124]以下でさらに詳細に説明するように、ＮＢＤＶ導出プロセスを３Ｄ−ＡＶＣに適用する技法は、３Ｄ−ＡＶＣにおけるＮＢＤＶ導出および／またはＮＢＤＶ導出を有する動きベクトル予測に関する特徴を含み得る。以下は、３Ｄ−ＡＶＣに対するＮＢＤＶ導出の例を説明し、続いて、視差ベクトルが、ビュー間動き予測などにおいて使用され得る、例示的な方法を説明する。
【０１１６】
[0125]説明を容易にするために、本技法は、ビデオコーダに関して説明される。ビデオコーダの例としては、ビデオエンコーダ２０およびビデオデコーダ３０がある。以下の説明では、「コーディングする（code）」という用語は、場合に応じて、符号化する（encode）または復号する（decode）を記述するために使用され得る。たとえば、コーディングする（code）という用語は、ビデオエンコーダ２０によって実行されるときに符号化する（encode）を指し、ビデオデコーダ３０によって実行されるときに復号する（decode）を指す。同様に、コーディング（coding）という用語は、ビデオエンコーダ２０によって実行されるときに符号化（encoding）を指し、ビデオデコーダ３０によって実行されるときに復号（decoding）を指すことができる。
【０１１７】
[0126]たとえば、本開示で説明する技法では、３Ｄ−ＡＶＣに対するビデオデータをコーディングするためのデバイスはビデオコーダを含み、ビデオコーダは１つまたは複数のプロセッサを備え、本開示で説明する技法を実装するように構成され得る。たとえば、ビデオコーダは、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおける従属ビューのテクスチャビュー成分をコーディングし得る。テクスチャビュー成分をコーディングするために、ビデオコーダは、少なくとも１つの隣接ブロックが、従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビュー成分内の現在のブロックの１つまたは複数の隣接ブロックの動き情報を評価し、隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のブロックに対する視差ベクトルを導出するように構成され得る。ビデオコーダはまた、テクスチャビュー成分をコーディングすることに続いて、テクスチャビュー成分に対応する深度ビュー成分をコーディングするように構成される。
【０１１８】
[0127]概して、ビデオコーダは、テクスチャビュー成分に対する視差動きベクトルを決定するために、隣接ブロックの位置について以前にコーディングされた動き情報を検査し、現在のブロックに対して、視差ベクトルとして使用した。加えて、いくつかの例では、ビデオコーダは、現在のブロックがビュー合成関連モードなどの他のモードに関連する場合、動きベクトルを視差動きベクトルとして見なすことができる。上記で説明したように、ビデオコーダは、あらかじめ規定された時間的および空間的隣接ブロックを順番に検査する。いくつかの例では、ビデオコーダが視差動きベクトルを識別すると、ビデオコーダは、隣接ブロックに対する視差動きベクトルに基づいて、現在のブロックに対する視差ベクトルを導出する（すなわち、視差動きベクトルが視差ベクトルになる）。視差動きベクトルを識別することおよび視差動きベクトルを使用することが視差ベクトルを導出した後、ビデオコーダは、ＮＢＤＶ導出プロセスを終了する。
【０１１９】
[0128]３Ｄ−ＡＶＣ準拠コーダによって使用されるＮＢＤＶ導出プロセスは、３Ｄ−ＡＶＣのコーディング状況に対して適応的に設計されたいくつかの特徴のうちの１つまたは複数を含み得る。たとえば、上記で説明したように、マクロブロック（ＭＢ）はサブブロックに区分され得、サブブロックは４×４ブロックレベルにさらに分割され得る。いくつかの例では、ビデオコーダは、マクロブロックに対して一度、視差ベクトルを導出し（たとえば、ＮＢＤＶプロセスが一度実行され）、この導出された視差ベクトルをマクロブロック内のブロック（すなわち、サブブロックまたは４×４ブロック）のすべてに割り当てることができる。いくつかの例では、ビデオコーダは、各個々のＭＢパーティションレベル、サブＭＢパーティションレベルに対して、またはさらに４×４ブロックレベルにおいて、視差ベクトルを導出し得る（すなわち、ＮＢＤＶプロセスは、個々のＭＢパーティションレベル、サブＭＢパーティションレベル、またはさらに４×４ブロックレベルにおいて起動され得る）。
【０１２０】
[0129]言い換えれば、ビデオコーダは、現在のブロックに対する視差ベクトルを導出し得る。いくつかの例では、現在のブロックは、テクスチャビュー成分のマクロブロックであり得る。これらの例では、ビデオコーダは、導出された視差ベクトルをマクロブロック内の各ブロックに割り当て得る。いくつかの例では、現在のブロックは、複数のブロックを含むマクロブロック内のブロックであり得る。これらの例では、ビデオコーダは、マクロブロック内の複数のブロックの各々に対する視差ベクトルを導出し得る。
【０１２１】
[0130]いくつかの例では、視差動きベクトルを識別するために各隣接ブロックに対する動き情報を検査するとき、ビデオコーダは、参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応する動きベクトルだけを検査し得る。これらの例では、ビデオコーダは、その他の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）に対応する動きベクトルを検査しない。
【０１２２】
[0131]たとえば、ビデオコーディングの一部として、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１と呼ばれる１つまたは２つの参照ピクチャリストを構築する。ビデオエンコーダ２０およびビデオデコーダ３０は、各々、１つまたは複数の参照ピクチャリストを構築するために同じプロセスを利用する。参照ピクチャリストは、インター予測のために使用され得る参照ピクチャを識別する。参照ピクチャリストへの参照インデックスは、インター予測のために使用されるべき参照ピクチャを識別する。双予測されるフレームまたはスライス（すなわち、ＢフレームまたはＢスライス）に対して、ビデオコーダは、両参照ピクチャリストを構築し、単方向予測されるフレームまたはスライス（すなわち、ＰフレームまたはＰスライス）に対して、ビデオコーダは、１つの参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）だけを構築する。
【０１２３】
[0132]隣接ブロックは、２つの動きベクトルを含み得、各々が、参照ピクチャリストのうちの１つを指す。これらの例では、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔ０を指す動きベクトルが視差動きベクトルであるかどうかだけを決定し、ＲｅｆＰｉｃＬｉｓｔ１を指す動きベクトルが視差動きベクトルであるかどうかを決定せず、またはその逆も成り立つ。言い換えれば、動き情報を評価（たとえば、検査）するために、ビデオコーダは、少なくとも１つの隣接ブロックが視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する１つまたは複数の隣接ブロックだけの動き情報を評価し、少なくとも１つの隣接ブロックが視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する１つまたは複数の隣接ブロックの動き情報の評価を回避することができる。
【０１２４】
[0133]上記で説明したように、ビデオコーダは、隣接ブロックの動き情報を評価し得、ここで、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックとを含む。空間的隣接ブロックは、コーディングされているブロックと同じフレームまたはピクチャ内のブロックであり、時間的隣接ブロックは、時間的ピクチャ内にあり、ここで、時間的ピクチャは、コーディングされているブロックを含むピクチャと同じビュー内のピクチャである。
【０１２５】
[0134]そのブロックが潜在的に時間的隣接ブロックであり得る時間的ピクチャの可能性は非常に高い。しかしながら、視差ベクトルを導出するために評価される必要のある時間的ピクチャの数を最小化するために、ビデオコーダは、視差ベクトルを導出することを導出するために使用される時間的ピクチャを決定するための、以下の例示的な技法のうちの１つまたは複数を実施し得る。
【０１２６】
[0135]一般的に、ビデオコーダは、時間的隣接ブロック内の視差動きベクトルを検査するために、２つまでの時間的ピクチャを選択し得る。時間的隣接ブロックは、コロケートされた（たとえば、配列された（collocated））ブロックであり得る。コロケートされたブロックは、現在のブロックが現在ピクチャ内で包含するのと同じ面積を、時間的ピクチャ内で包含する（すなわち、コロケートされたブロックは、現在のブロックが現在ピクチャ内に配置される、時間的ピクチャ内の同じ位置に配置される）。たとえば、ビデオコーダは、第１の時間的ピクチャ内の１つまたは複数の時間的隣接ブロックの動き情報を評価し得、時間的隣接ブロックがいずれも、視差動きベクトルを用いてビュー間予測されない場合、ビデオコーダは、第２の時間的ピクチャ内の１つまたは複数の時間的隣接ブロックの動き情報を評価し得る。
【０１２７】
[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]ビデオコーダは、参照ピクチャリストへの参照インデックスに対応する参照ピクチャに基づいて、現在のブロックが、時間的参照ピクチャを用いて予測されるかどうかを決定し得る。いくつかの例では、動きベクトル予測のために使用される隣接ブロックが、時間的動きベクトルを用いてインター予測されないことがあり得る。
【０１６１】
[0170]この場合、ビデオコーダは、参照ビュー内の配置された参照ブロック（すなわち、視差ベクトルによって指される配置されたブロック）に対する現在のブロックに対して、ＮＢＤＶ導出技法を使用して導出された視差ベクトルを利用し得る。視差ベクトルによって指されるブロックが、利用可能な時間的動きベクトルを有する場合、ビデオコーダは、この時間的動きベクトルを、時間的動きベクトルを用いてインター予測されない動きベクトル予測のために使用される隣接ブロックに対する動きベクトルとして割り当て得る。言い換えれば、ビデオコーダは、視差ベクトルによって指されるブロックに対する時間的動きベクトルを、動きベクトル予測のために、隣接ブロックに対する時間的動きベクトルとして代用する。次に、ビデオコーダは、上記と同様に、動きベクトル予測子を決定するためにメディアンフィルタリングを使用する。
【０１６２】
[0171]一般に、動きベクトル予測に対して、動きベクトル予測子を決定するために使用される候補動きベクトルは、現在のブロックに対して使用されることになる動きベクトルと同じタイプの動きベクトルである必要があり得る。たとえば、現在のブロックが参照インデックスから決定されたようにインター予測される場合、現在のブロックに対する動きベクトルは視差動きベクトルである。いくつかの例では、現在のブロックに対する動きベクトル予測子を決定するために使用される候補動きベクトルもまた、視差動きベクトルである。この場合、視差ベクトルは、ビュー間予測されないかまたは動きベクトル予測子として直接使用される隣接ブロックに対して、視差動きベクトルとして代用される。現在のブロックが、参照インデックスから決定されたのと同じビュー内の参照ピクチャを用いてインター予測される場合、現在のブロックに対する動きベクトルは、時間的動きベクトルである。いくつかの例では、現在のブロックに対する動きベクトル予測子を決定するために使用される候補動きベクトルもまた、時間的動きベクトルである。この場合、視差ベクトルはブロックを識別するために使用され、この識別されたブロックに対する時間的動きベクトルは、ビュー間予測されない隣接ブロックに対する時間的動きベクトルとして代用される。
【０１６３】
[0172]上記は、通常のインター予測モードに関する動きベクトル予測に関する例を説明した。以下は、ＮＢＤＶを使用するスキップモードおよび直接モードに関する動きベクトル予測のための例示的な技法を説明する。
【０１６４】
[0173]スキップモードおよび直接モードは、現在のブロックを復号するためのコーディングされたビットストリーム内に、残差ベクトルまたは動きベクトルが含まれないインター予測モードを指す。対照的に、通常のインター予測モードにおいて、ビデオエンコーダ２０は、動きベクトルが導出される情報を通知するか、または動きベクトルを識別する情報を通知する。加えて、通常のインター予測モードにおいて、ビデオエンコーダ２０は、動きベクトルによって識別されたブロックと実際の現在のブロックとの間の残差を通知する。スキップモードは、一般に、単方向予測されたピクチャまたはスライス（たとえば、ＰフレームまたはＰスライス）と関連付けられ、直接モードは、一般に、双予測されたピクチャまたはスライス（たとえば、ＢフレームまたはＢスライス）と関連付けられる。簡潔にするため、ＮＢＤＶ導出プロセスを使用するスキップモードおよび直接モードに対するビュー間動きベクトル予測は、一緒に説明される。
【０１６５】
[0174]一例では、ビデオコーダは、スキップモードおよび直接モードに対するビュー間動き予測のために使用される視差ベクトルを決定するために、現在のブロックに対するＮＢＤＶ導出技法から導出された視差ベクトルを、隣接ブロックの視差動きベクトルと一緒に利用し得る。ＮＢＤＶ導出技法から導出された視差ベクトル、ならびにスキップモードおよび直接モードに対するビュー間動き予測のために使用される視差ベクトルは、異なってもよくまたは同じでもよい。ビデオコーダは、参照ビュー内のブロックを識別するためにビュー間動き予測のために使用される視差ベクトルを利用し、識別されたブロックに対する動きベクトルを決定する。ビデオコーダは、識別されたブロックに対する動きベクトルを、現在の３Ｄ−ＡＶＣにおけるように現在のブロックに対する動きベクトルに変換する。
【０１６６】
[0175]いくつかの例では、隣接ブロックに対する視差動きベクトルがない場合、ビデオコーダは、ＮＢＤＶ導出技法から現在のブロックに対して導出された視差ベクトルを、隣接ブロックの視差ベクトルの代わりに、隣接ブロックに対する視差動きベクトルとして代用し得る。このようにして、現在のブロックの隣接ブロックは、特に、ビュー間動き予測のために使用される最後の視差ベクトルの予測のために使用されるとき、現在のブロックと同じ視差ベクトルを有することができる。
【０１６７】
[0176]上記の例は、ＮＢＤＶ導出技法を使用してスキップモードまたは直接モードに対するビュー間動き予測に対して視差ベクトルを利用する１つの方法を説明した。ただし、本開示の態様はそのように限定されない。一例として、ビデオコーダは、スキップモードまたは直接モードに対するビュー間動き予測に対して、ＮＢＤＶ導出技法から導出された視差ベクトルを直接使用し得る。別の例として、導出された視差ベクトルが利用可能である場合、それは、ビュー間動き予測のために直接使用され、さもなければ、メディアンフィルタリングが上記で説明されたように使用される。
【０１６８】
[0177]図２は、本開示で説明する技法を実装し得るビデオエンコーダの一例を示すブロック図である。たとえば、図２は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行できるビデオエンコーダ２０を示す。たとえば、ビデオエンコーダ２０は、インター予測符号化またはイントラ予測符号化を実行できる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオ内の空間的冗長性を低減または除去するために、空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレームもしくはピクチャ内の時間的冗長性、または異なるビュー内のピクチャ間の冗長性を低減または除去するために、時間的予測またはビュー間予測に依存する。イントラモード（Ｉモード）（登録商標）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【０１６９】
[0178]図２の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、予測処理ユニット４２と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化処理ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４２は、動き推定ユニット４４と、動き補償ユニット４６と、イントラ予測ユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化処理ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタリングすることになる。デブロッキングフィルタに加えて追加のループフィルタ（ループ内またはループ後）も使用され得る。
【０１７０】
[0179]ビデオデータメモリ４０は、ビデオエンコーダ２０の（たとえば、ビデオデータを記憶するように構成された）構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４０に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。参照ピクチャメモリ６４は、ビデオエンコーダ２０によってビデオデータを（たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる）符号化するのに使用するための参照ビデオデータを記憶する復号ピクチャバッファ（ＤＰＢの一例である。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスを含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、多様なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同じメモリデバイスまたは個別のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とのオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０１７１】
[0180]ビデオエンコーダ２０はビデオデータを受信し、区分ユニット（図示せず）はデータをビデオブロックに区分する。この区分はまた、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分（たとえば、マクロブロックパーティションおよびパーティションのサブブロック）を含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示している。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４２は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在のビデオブロックのために、複数のイントラコーディングモード（イントラ予測コーディングモード）のうちの１つ、あるいは複数のインターコーディングモード（インター予測コーディングモード）のうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４２は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構成するために加算器６２に与え得る。
【０１７２】
[0181]予測処理ユニット４２内のイントラ予測ユニット４８は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４２内の動き推定ユニット４４および動き補償ユニット４６は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
【０１７３】
[0182]動き推定ユニット４４は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライスまたはＢスライスに指定し得る。動き推定ユニット４４および動き補償ユニット４６は、高度に統合される場合があるが、概念的な目的のために別々に示してある。動き推定ユニット４４によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックの変位を示し得る。
【０１７４】
[0183]予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４４は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０１７５】
[0184]動き推定ユニット４４は、ビデオブロックの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされた（インター予測コーディングされた）スライスにおけるビデオブロックについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）または第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４４は、計算された動きベクトルを、エントロピー符号化ユニット５６と動き補償ユニット４６とに送る。
【０１７６】
[0185]動き補償ユニット４６によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在のビデオブロックの動きベクトルを受信すると、動き補償ユニット４６は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４６はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１７７】
[0186]イントラ予測ユニット４８は、上記で説明したように、動き推定ユニット４４と動き補償ユニット４６とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット４８は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４８は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４８（または、いくつかの例では、モード選択ユニット）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット４８は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４８は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
【０１７８】
[0187]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット４８は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々のために使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０１７９】
[0188]予測処理ユニット４２が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１８０】
[0189]変換処理ユニット５２は、得られた変換係数を量子化処理ユニット５４に送り得る。量子化処理ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１８１】
[0190]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０１８２】
[0191]逆量子化処理ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４６は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４６はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４６によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４４および動き補償ユニット４６によって参照ブロックとして使用され得る。
【０１８３】
[0192]このようにして、ビデオエンコーダ２０は、本開示で説明する１つまたは複数の例示的な技法を実装するように構成されたビデオエンコーダの一例である。たとえば、ビデオデータメモリ４０は、ビデオデータを記憶する。ビデオデータは、従属ビューのテクスチャビデオ成分と、テクスチャビュー成分に対応する深度ビュー成分とを含み得、それらの各々を、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて符号化することになる。
【０１８４】
[0193]本開示で説明する技法では、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて、ビデオデータの従属ビューのテクスチャビュー成分を符号化するように構成された１つまたは複数のプロセッサを含み得る。上記で説明したように、３Ｄ−ＡＶＣにおける各ビューは、テクスチャビュー成分と深度ビュー成分とを含む。３Ｄ−ＡＶＣにおいて１つのベースビューと１つまたは複数のエンハンスメントビューまたは従属ビューとが存在し、ここで、１つまたは複数のエンハンスメントビューまたは従属ビューのテクスチャビュー成分は、ビュー間予測され得る。
【０１８５】
[0194]テクスチャビュー成分を符号化するために、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。いくつかの例では、ビデオエンコーダ２０は、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）を指す動きベクトルを用いて隣接ブロックの動き情報を評価し、第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）を指す動きベクトルを用いて隣接ブロックの動き情報を評価することを回避することができる。
【０１８６】
[0195]隣接ブロックは、空間的隣接ブロックおよび時間的隣接ブロックである。時間的隣接ブロックは、第１の選択されたピクチャおよび第２の選択されたピクチャのうちの少なくとも一方の中にあり得る。第１の選択されたピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）のエントリ０（インデックス０）内で識別されるピクチャである。第２の選択されたピクチャは、第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）のエントリ０（インデックス０）内で識別されるピクチャである。ビデオエンコーダ２０が評価する最大４つまでの空間的隣接ブロックが存在し得、ここで、４つの空間的隣接ブロックのうちの３つは、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測において使用されるのと同じ隣接ブロックである。
【０１８７】
[0196]ビデオエンコーダ２０は、隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のマクロブロックに対する視差ベクトルを導出し得る。ビデオエンコーダ２０は、現在のマクロブロックに対する導出された視差ベクトルを現在のマクロブロック内のブロックに割り当てる。テクスチャ優先のコーディングに対して、ビデオエンコーダ２０は、テクスチャビュー成分を符号化することに続いて、テクスチャビュー成分に対応する、ビデオデータの深度ビュー成分を符号化し得る。
【０１８８】
[0197]一例として、ビデオエンコーダ２０は、候補時間的ピクチャを選択し得、これらの候補時間的ピクチャのうちの１つの中の時間的ブロックを評価し得る。たとえば、ビデオエンコーダ２０は、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）の第１のエントリ（たとえば、エントリ０）内で識別されるピクチャである第１の時間的ピクチャを選択し得、第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）の第１のエントリ（たとえば、エントリ０）内で識別されるピクチャである第２の時間的ピクチャを選択し得る。１つまたは複数の隣接ブロックは、第１の選択された時間的ピクチャまたは第２の選択された時間的ピクチャのうちの少なくとも一方の中の、少なくとも１つの時間的隣接ブロックを含む。いくつかの例では、１つの時間的隣接ブロック（たとえば、右下ブロック）だけが存在し得る。
【０１８９】
[0198]別の（上記の例との組合せで、または単独で使用され得る）例として、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）を指す動きベクトルを有する１つまたは複数の隣接ブロックだけの動き情報を評価し得る。これらの例では、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）を指す動きベクトルを有する１つまたは複数の隣接ブロックの動き情報の評価を回避し得る。
【０１９０】
[0199]いくつかの例では、ビデオエンコーダ２０の予測処理ユニット４２は、本開示で説明する例を実装するように構成されたプロセッサの一例であり得る。いくつかの例では、予測処理ユニット４２以外のユニット（たとえば、１つまたは複数のプロセッサ）が、上記で説明した例を実装し得る。いくつかの例では、予測処理ユニット４２は、ビデオエンコーダ２０の１つまたは複数の他のユニットとともに、上記で説明した例を実装し得る。いくつかの例では、ビデオエンコーダ２０のプロセッサ（図２に示さず）は、単独で、またはビデオエンコーダ２０の他のプロセッサとともに、上記で説明した例を実装し得る。
【０１９１】
[0200]図３は、本開示で説明する技法を実装し得るビデオデコーダの一例を示すブロック図である。たとえば、ビデオデコーダ３０は、インター予測復号またはイントラ予測復号を実行することができる。図３は、ビデオデコーダ３０を示す。図３の例では、ビデオデコーダ３０は、ビデオデータメモリ６９と、エントロピー復号ユニット７０と、予測処理ユニット７１と、逆量子化処理ユニット７６と、逆変換処理ユニット７８と、加算器８０と、参照ピクチャメモリ８２とを含む。予測処理ユニット７１は、動き補償ユニット７２と、イントラ予測ユニット７４とを含む。ビデオデコーダ３０は、いくつかの例では、図２からのビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１９２】
[0201]ビデオデータメモリ６９は、ビデオデコーダ３０の構成要素によって復号されるために、符号化されたビデオビットストリームなど、（たとえば、ビデオデータを記憶するように構成された）ビデオデータを記憶し得る。ビデオデータメモリ６９内に記憶されたビデオデータは、たとえば、ストレージデバイス３４から、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介してまたは物理的データ記憶媒体にアクセスすることによってカメラなどのローカルビデオソースから、取得され得る。ビデオデータメモリ６９は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ（ＣＰＢ）を形成し得る。
【０１９３】
[0202]参照ピクチャメモリ８２は、ビデオデコーダ３０によってビデオデータを（たとえば、イントラコーディングモードまたはインターコーディングモードにおいて）復号するのに使用するための参照ビデオデータを記憶する復号されたピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ６９および参照ピクチャメモリ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスを含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）など、多様なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ６９および参照ピクチャメモリ８２は、同じメモリデバイスまたは個別のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ６９は、ビデオデコーダ３０の他の構成要素とのオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０１９４】
[0203]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを予測処理ユニット７１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１９５】
[0204]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット７１のイントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測処理ユニット７１の動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。
【０１９６】
[0205]動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、受信されたシンタックス要素のうちのいくつかを使用して、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化されたビデオブロックについての動きベクトルと、スライスの各インターコーディングされたビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを判断する。
【０１９７】
[0206]動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１９８】
[0207]逆量子化処理ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、（すなわち、逆量子化（de-quantize））する。逆量子化プロセスは、量子化の程度を決定するために、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用することを含み得る。逆変換処理ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセス）を変換係数に適用する。
【０１９９】
[0208]動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ３０は、逆変換処理ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。次いで、所与のピクチャ中の復号されたビデオブロックは、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために、復号されたビデオを記憶する。
【０２００】
[0209]このようにして、ビデオデコーダ３０は、本開示で説明する１つまたは複数の例示的な技法を実装するように構成されたビデオデコーダの一例である。たとえば、ビデオデータメモリ６９は、ビデオデータを記憶する。ビデオデータは、ビデオデコーダ３０が従属ビューのテクスチャビデオ成分とテクスチャビュー成分に対応する深度ビュー成分とを復号し得る情報を含み得、それらの各々を、ビデオエンコーダ２０は３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて符号化される。
【０２０１】
[0210]本開示で説明する技法では、ビデオデコーダ３０は、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて、ビデオデータの従属ビューのテクスチャビュー成分を復号するように構成された１つまたは複数のプロセッサを含み得る。テクスチャビュー成分を復号するために、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。いくつかの例では、ビデオデコーダ３０は、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）を指す動きベクトルを用いて隣接ブロックの動き情報を評価し、第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）を指す動きベクトルを用いて隣接ブロックの動き情報を評価することを回避することができる。
【０２０２】
[0211]隣接ブロックは、空間的隣接ブロックおよび時間的隣接ブロックである。時間的隣接ブロックは、第１の選択されたピクチャおよび第２の選択されたピクチャのうちの少なくとも一方の中にあり得る。第１の選択されたピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）のエントリ０（インデックス０）内で識別されるピクチャである。第２の選択されたピクチャは、第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）のエントリ０（インデックス０）内で識別されるピクチャである。ビデオデコーダ３０が評価する最大４つまでの空間的隣接ブロックが存在し得、ここで、４つの空間的隣接ブロックのうちの３つは、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測において使用されるのと同じ隣接ブロックである。
【０２０３】
[0212]ビデオデコーダ３０は、隣接ブロックのうちの１つに対する視差動きベクトルに基づいて現在のマクロブロックに対する視差ベクトルを導出し得る。ビデオデコーダ３０は、現在のマクロブロックに対する導出された視差ベクトルを現在のマクロブロック内のブロックに割り当て得る。テクスチャ優先のコーディングに対して、ビデオデコーダ３０は、テクスチャビュー成分を復号することに続いて、テクスチャビュー成分に対応する、ビデオデータの深度ビュー成分を復号し得る。
【０２０４】
[0213]一例として、ビデオデコーダ３０は、候補時間的ピクチャを選択し得、これらの候補時間的ピクチャのうちの１つの中の時間的ブロックを評価し得る。たとえば、ビデオデコーダ３０は、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）の第１のエントリ（たとえば、エントリ０）内で識別されるピクチャである第１の時間的ピクチャを選択し得、第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）の第１のエントリ（たとえば、エントリ０）内で識別されるピクチャである第２の時間的ピクチャを選択し得る。１つまたは複数の隣接ブロックは、第１の選択された時間的ピクチャまたは第２の選択された時間的ピクチャのうちの少なくとも一方の中の、少なくとも１つの時間的隣接ブロックを含む。いくつかの例では、１つの時間的隣接ブロック（たとえば、右下ブロック）だけが存在し得る。
【０２０５】
[0214]別の（上記の例との組合せで、または単独で使用され得る）例として、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）を指す動きベクトルを有する１つまたは複数の隣接ブロックだけの動き情報を評価し得る。これらの例では、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ１）を指す動きベクトルを有する１つまたは複数の隣接ブロックの動き情報の評価を回避し得る。
【０２０６】
[0215]いくつかの例では、ビデオデコーダ３０の予測処理ユニット７１は、本開示で説明する例を実装するように構成されたプロセッサの一例であり得る。いくつかの例では、予測処理ユニット７１以外のユニット（たとえば、１つまたは複数のプロセッサ）が、上記で説明した例を実装し得る。いくつかの例では、予測処理ユニット７１は、ビデオデコーダ３０の１つまたは複数の他のユニットとともに、上記で説明した例を実装することができる。さらにいくつかの他の例では、ビデオデコーダ３０のプロセッサ（図３に示さず）は、単独で、またはビデオデコーダ３０の他のユニットとともに、上記で説明した例を実装することができる。
【０２０７】
[0216]以下は、ビデオエンコーダ２０およびビデオデコーダ３０が、上記で説明され、簡潔のためにビデオコーダで説明された技法を実装し得る例示的な方式を説明し、ここで、ビデオコーダは、コンテキストに基づいてビデオエンコーダ２０またはビデオデコーダ３０であり得る。本開示で説明する技法は、特定の例示的な実装形態のいずれかに限定されると見なされるべきではない。技法のうちのいずれかは、視差ベクトル導出のための他の技法のうちの１つまたは複数と組み合わされ得る。技法の各態様は、１つの完全な技法に組み合わされ得る。
【０２０８】
[0217]最初に、ビデオコーダは、１つまたは複数の時間的ピクチャを決定し得る。各時間的ピクチャに対して、ビデオコーダは、ブロック位置によってあらかじめ規定されている、１つまたは複数の決定された時間的隣接ブロックを検査（たとえば、評価）し得る。たとえば、ビデオコーダは、参照ピクチャリスト内の１つまたは複数のピクチャとなるべき時間的ピクチャを決定し得る。各時間的ピクチャは、現在ピクチャと同じビューに属することを必要とされ得る。
【０２０９】
[0218]一例では、ビデオコーダは、暗黙的導出技法を使用して時間的ピクチャを決定し得る。以下では、ビデオコーダは、２つまでの時間的ピクチャ、ｔｅｍｐＰｉｃ［０］とｔｅｍｐＰｉｃ［１］とを決定する。
【０２１０】
[0219]時間的ピクチャを暗黙的に決定する一例として、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１における第１のエントリが使用され、２つまでの時間的ピクチャが使用される。一例では、現在のスライスがＰスライスであるとき、ＲｅｆＰｉｃＬｉｓｔ０［０］が唯一の時間的ピクチャであり、現在のスライスがＢスライスであるとき、ＲｅｆＰｉｃＬｉｓｔ０［０］が第１の時間的ピクチャであり、ＲｅｆＰｉｃＬｉｓｔ１［０］が第２の時間的ピクチャである。別の例として、ＲｅｆＰｉｃＬｉｓｔ１［０］は第１の時間的ピクチャであり、ＲｅｆＰｉｃＬｉｓｔ０［０］は第２の時間的ピクチャである。さらに別の例として、参照ピクチャリスト内またはＤＰＢ（復号されたピクチャバッファ）内の任意の２つの時間的参照ピクチャが、時間的ピクチャとして選択され得る。
【０２１１】
[0220]時間的ピクチャを暗黙的に決定する別の例として、ビデオコーダは、Ｈ．２６４／ＡＶＣ時間的直接モードにおいて使用されるように、コロケートされたピクチャ（すなわち、ＲｅｆＰｉｃＬｉｓｔ１［０］）を第１の時間的ピクチャとして選択し得る。ビデオコーダは、第２の時間的ピクチャを、第２の時間的ピクチャがより多くの視差動きベクトルを含む可能性が高い方法で選択する。
【０２１２】
[0221]以下は、時間的ピクチャを暗黙的に決定する例を説明する。
【０２１３】
ｉ＝０；
現在のスライスタイプがＢである場合、ｔｅｍｐＰｉｃ［ｉ］＝ＲｅｆＰｉｃＬｉｓｔ１［０］、ｉ＋＋；
ｔｅｍｐＰｉｃ［ｉ］は以下のように導出される：
ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１における各ピクチャＰｉｃに対して、Ｐｉｃがアンカピクチャである場合、ｔｅｍｐＰｉｃ［ｉ］＝Ｐｉｃ、リターン；
利用可能な場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１におけるピクチャに対して、ｔｅｍｐＰｉｃ［ｉ］は、最低のｔｅｍｐｏｒａｌ＿ｉｄを有するピクチャに設定される。同じｔｅｍｐｏｒａｌ＿ｉｄを有する複数のピクチャが存在する場合、ｔｅｍｐＰｉｃ［ｉ］は、現在ピクチャに対してより小さいＰＯＣ差分を有するピクチャとなるように設定される。代替として、ＲｅｆＰｉｃＬｉｓｔ１が利用可能であるときでも、ＲｅｆＰｉｃＬｉｓｔ１内のピクチャはこのステップにおいて考慮されない。
【０２１４】
[0222]別の例として、ｔｅｍｐｏｒａｌ＿ｉｄは、以下のように、導出プロセスの途中では考慮されない：
ｉ＝０；
現在のスライスタイプがＢである場合、ｔｅｍｐＰｉｃ［ｉ］＝ＲｅｆＰｉｃＬｉｓｔ１［０］、ｉ＋＋；
ｔｅｍｐＰｉｃ［ｉ］は以下のように導出される：
ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１内の各ピクチャＰｉｃに対して、Ｐｉｃがアンカピクチャである場合、ｔｅｍｐＰｉｃ［ｉ］＝Ｐｉｃ、リターン；
現在のスライスがＰスライスである場合、ＲｅｆＰｉｃＬｉｓｔ０内のピクチャに対して、ｔｅｍｐＰｉｃ［ｉ］は、現在ピクチャに対して最小のＰＯＣ差分を有するピクチャを有するピクチャに設定される。
【０２１５】
現在のスライスがＢスライスである場合、ｔｅｍｐＰｉｃ［ｉ］が、現在ピクチャに対して最小のＰＯＣ差分を有するピクチャを有するピクチャとなるように設定される方法で、ＲｅｆＰｉｃＬｉｓｔ０内のピクチャを検査し、続いて、ＲｅｆＰｉｃＬｉｓｔ１内のピクチャを検査する。
【０２１６】
[0223]いくつかの例では、時間的ピクチャの暗黙的導出の代わりに、明示的導出が可能である。たとえば、時間的ピクチャの数および時間的ピクチャが、ビデオデコーダ３０が受信する、ビデオエンコーダ２０によって設定されるスライスヘッダまたはピクチャパラメータの中で明示的に通知され得る。一例では、１つの時間的ピクチャだけが明示的に通知される。
【０２１７】
[0224]一例では、ビデオコーダは、第１の時間的ピクチャは、常に、Ｂスライスに対してＲｅｆＰｉｃＬｉｓｔ１［０］およびＰスライスに対してＲｅｆＰｉｃＬｉｓｔ０［０］となるべきであることを決定し得る。この例では、第２の時間的ピクチャは、ビデオエンコーダ２０によって通知され、スライスヘッダ内でｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃとしてビデオデコーダ３０によって受信され、第２の時間的ピクチャは、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ］となるように導出される。別の例では、第２の時間的ピクチャは利用可能ではなく、したがってＰスライスに対して通知されない。別の例では、両参照インデックス値は、インデックスｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０およびｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１として通知され、時間的ピクチャは、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０］およびＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１］として識別される。別の例では、両参照インデックス値は、インデックスｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０およびｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１として通知され、時間的ピクチャは、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０］およびＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１］として識別される。
【０２１８】
[0225]追加の例として、両参照インデックス値は、インデックスｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０およびｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１として通知される。しかしながら、Ｂスライスに対して、現在のスライスがＢスライスである場合、１つの追加のフラグｌｉｓｔ０＿ｆｌａｇ０およびｌｉｓｔ０＿ｆｌａｇ１（Ｐスライスに対して０であると推察される）が通知され、時間的ピクチャは、ＲｅｆＰｉｃＬｉｓｔＸ０［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ０］およびＲｅｆＰｉｃＬｉｓｔＸ１［ｒｅｆ＿ｉｄｘ＿ｔｅｍｐ＿ｐｉｃ１］、Ｘ０およびＸ１は、それぞれｌｉｓｔ０＿ｆｌａｇ０およびｌｉｓｔ０＿ｆｌａｇ１に等しい、として識別される。
【０２１９】
[0226]決定された時間的ピクチャによって、ビデオコーダは、隣接ブロックが視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、時間的にコロケートされたブロック位置の動き情報を評価し得る。基本的には、時間的にコロケートされたマクロブロックのあらかじめ規定された４×４ブロックは、視差動きベクトルを探索するために検査される。
【０２２０】
[0227]図４Ａ〜図４Ｈは、視差ベクトル導出のために検査される時間的にコロケートされたマクロブロック（ＭＢ）に対する例示的なブロック位置を示す。図４Ａに示すように、ブロック位置は、４隅のブロックおよび中心ブロックなどのマクロブロックの内部、またはさらに右下ブロックなどのマクロブロックの外部であり得る。代替として、しかしながら、位置は、配列されたＭＢ内の任意の４×４ブロックおよびＭＢの外部の任意の隣接ブロックであり得る。代替として、しかしながら、すべての可能な位置の中のいくつかの選択的な位置が、複雑さを低減するために使用され得る。
【０２２１】
[0228]図４Ｂにおいて、中心位置およびＭＢの外部の右下の位置だけが考慮され得る。図４Ｃにおいて、中心位置およびＭＢの内部の右下隅の位置だけが考慮され得る。図４Ｄにおいて、中心位置およびＭＢの内部の左下隅の位置だけが考慮され得る。図４Ｅにおいて、ＭＢの内部の右下隅の位置および左下隅の位置が考慮され得る。図４Ｆにおいて、中心位置および下の行の２つの隅の位置が考慮され得る。図４Ｇにおいて、中心、内部の左下隅ブロック、およびＭＢの外部の右下ブロックが考慮され得る。
【０２２２】
[0229]いくつかの例では、ブロック候補のうちの１つが利用可能でない場合（たとえば、ピクチャの境界の外）、位置は、別の位置で置き換えられる。たとえば、図４Ｈにおいて、ＭＢの外部の右下ブロックの位置が利用可能でない場合、右下隅の位置が検査される。
【０２２３】
[0230]いくつかの例では、位置は、一定の条件によって変化することがある。たとえば、現在のＭＢとコロケートされたＭＢとの間で著しい動きの変化がある場合、位置は、動きにつれて相応に変更され得る。検査の順序は、検査されるべきブロック位置の任意の並べ替えられた順序であってよい。
【０２２４】
[0231]上記は、時間的ブロックを評価するための例を説明した、以下は、空間的ブロックを評価するための実装形態を説明する。例は、これらのブロックのいずれかが、視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、ビデオコーダが検査する空間的ブロックを示す。
【０２２５】
[0232]図５Ａ〜図５Ｄは、視差ベクトル導出のために検査される空間的に隣接するマクロブロックに対する例示的なブロック位置を示す。時間的にコロケートされたブロックと同様にして、現在コーディングされたＭＢに対するあらかじめ規定された４×４空間的隣接ブロックが、同じく存在する。図５Ａ〜図５Ｄに示すように、ブロック位置Ａ、Ｂ、ＣおよびＤが、視差動きベクトルを見つけ出すために検査されるが、他の組合せおよび並べ替えが可能である。
【０２２６】
[0233]図５Ａにおいて、ブロック位置Ａ、Ｂ、およびＣが、視差動きベクトルを見つけ出すために検査される。位置Ｃが利用可能でない（たとえば、ピクチャの境界の外）場合、位置Ｄが考慮される。いくつかの例では、現在のＭＢのすべての行および列の中の任意の隣接位置が、位置Ａ、Ｂ、Ｃ、およびＤの上部で考慮され得る。いくつかの例では、行および列の中の任意の選択的な位置が考慮され得る。
【０２２７】
[0234]図５Ｂにおいて、ブロック位置ＡおよびＢが考慮され得る。図５Ｃにおいて、ブロック位置ＡおよびＣが考慮され得、いくつかの例では、位置Ｃにおけるブロックが利用可能でない場合、ブロック位置ＣがＤで置き換えられ得る。図５Ｄにおいて、ＭＢの上の行におけるブロック位置が考慮され得る。加えて、選択されたブロック位置における任意の並べ替えられた順序が、探索プロセスにおいて適用され得る。
【０２２８】
[0235]上記は、これらの隣接ブロックのいずれかが、ＮＢＤＶ（隣接ブロックベースの視差ベクトル）導出技法において視差ベクトル導出のためにビュー間予測されるかどうかを決定するために、その動き情報が評価する空間的および空間的隣接体の例を説明した。以下は、ＮＢＤＶ導出技法が終了される時点（すなわち、ビデオコーダが、視差ベクトルを導出するために隣接ブロックの動き情報を評価することを停止する時点）の例を説明する。
【０２２９】
[0236]一般に、ビデオコーダが視差動きベクトルを識別すると、ビデオコーダは、動き情報を評価することを停止する。しかしながら、いくつかの例では、その水平成分が０に等しくない視差動きベクトルは、終了条件と見なされない。言い換えれば、隣接ブロックが視差動きベクトルを用いてビュー間予測されるとしても、視差動きベクトルの水平成分が０に等しくない場合、ビデオコーダは、隣接ブロックの動き情報を評価し続けることができる。
【０２３０】
[0237]いくつかの例では、終了条件は、ビデオがゼロの視差動きベクトルを識別した時点であり得る。いくつかの例では、ビデオは、複数の視差動きベクトル候補を識別することがあり、その場合は、１つが視差ベクトルになるようにフィルタリングを適用する。いくつかの例では、視差動きベクトルが発見されない場合、ビデオコーダは、動きベクトル予測に対してゼロの視差ベクトルを使用するか、または視差ベクトルに応じて他のコーディングツールを使用する。
【０２３１】
[0238]以下は、動きベクトル予測の実装例を説明する。たとえば、以下は、通常のインターモードならびにスキップモードおよび直接モードに対するＮＢＤＶベースの動きベクトル予測についての詳細な実施態様を提供する。この例では、Ｄ−ＭＶＰプロセスと、スキップモードおよび直接モードに対するビュー間動き予測の両方の間に、視差動きベクトルが隣接ブロックに対して利用不可能であるときに、視差動きベクトルはＮＢＤＶ導出結果から変換される。時間的予測に対するＤ−ＭＶＰプロセスの間に、参照ブロックを識別するために使用される視差ベクトルは、ＮＢＤＶ結果となるように設定される。以下は、３Ｄ−ＡＶＣの以前のバージョンから削除された文言を識別するために下線とイタリック体とを使用し、変更を示す方法として、追加された文言を識別するために下線と太字体とを使用する。
【０２３２】
[0239]以下は、ビュー間予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶ導出に対する擬似コードである。
【０２３３】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
．．．
関数Ｄｉｓｐａｒｉｔｙ（ｄｅｐｔｈＳａｍｐｌｅ，ｓｒｃＩｎｄｅｘ，ｒｅｆＩｎｄｅｘ）が、次のように規定されるｄｉｓｐａｒｉｔｙＶａｌｕｅを返すように規定される。
【数１】
2016512000.tif 000003
【０２３４】
．．．
Ｊ８．３．１．８  メディアンルーマ動きベクトル予測に対する深度ベースの導出プロセス
．．．
パーティションｍｂＡｄｄｒＮ＼ｍｂＰａｒｔＩｄｘＮ＼ｓｕｂＭｂＰａｒｔＩｄｘＮが利用可能でないかまたはｒｅｆＩｄｘＬＸＮがｒｅｆＩｄｘＬＸに等しくないかのいずれかであるとき、ｍｖＬＸＮが、以下の順序付けられたステップによって規定されるように導出される：
１．サブクローズ６．４．１に規定される逆マクロブロック走査プロセスは、ＣｕｒｒＭｂＡｄｄｒを入力として起動され、出力は（ｘ１、ｙ１）に割り当てられる。
【０２３５】
２．サブクローズ６．４．２．１に規定される逆マクロブロックパーティション走査プロセスは、ｍｂＰａｒｔＩｄｘを入力として起動され、出力は（ｄｘ１、ｄｙ１）に割り当てられる。
【０２３６】
３．サブクローズ６．４．２．２に規定される逆サブマクロブロックパーティション走査プロセスは、ｍｂＰａｒｔＩｄｘおよびｓｕｂＭｂＰａｒｔＩｄｘを入力として起動され、出力は（ｄｘ２、ｄｙ２）に割り当てられる。
【０２３７】
４．サブクローズＪ．８．３．１．８．１に規定されるメディアンルーマ動きベクトル予測におけるビュー間動きベクトルの修正プロセスは、ＤｅｐｔｈＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］に等しいｄｅｐｔｈＰｉｃ、ｘ１＋ｄｘ１＋ｄｘ２に等しいｄｂｘ１、ｙ１＋ｄｙ１＋ｄｙ２に等しいｄｂｙ１、およびｍｖＬ０に等しいｍｖを入力として起動され、出力が動きベクトルｍｖＬＸＮに割り当てられる。
【０２３８】
動きベクトル予測ｍｖｐＬＸの各成分が、動きベクトルｍｖＬＸＡ、ｍｖＬＸＢ、およびｍｖＬＸＣの対応するベクトル成分のメディアンによって与えられる：
【数２】
2016512000.tif 000004
【数３】
2016512000.tif 000005
【０２３９】
Ｊ８．３．１．８．１  メディアンルーマ動きベクトル予測におけるビュー間動きベクトルに対する修正プロセス
ｒｅｆＶｉｅｗＩｄをｄｅｐｔｈＰｉｃのｖｉｅｗ＿ｉｄ値にする。
【０２４０】
以下の順序のステップが適用される：
１．変数ｍａｘＤｅｐｔｈは次のように規定される。
【数４】
2016512000.tif 000006
【０２４１】
２．変数ｍｖは次のように規定される。
【数５】
2016512000.tif 000007
【０２４２】
実施形態＃１に規定されるようにＮＢＤＶプロセスを起動して、出力された視差ベクトルｔｅｍｐＤＶが次のように設定される。
【数６】
2016512000.tif 000008
【数７】
2016512000.tif 000009
【０２４３】
[0240]以下は、時間的予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶに対する擬似コードである。
【０２４４】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
．．．
関数Ｄｉｓｐａｒｉｔｙ（ｄｅｐｔｈＳａｍｐｌｅ，ｓｒｃＩｎｄｅｘ，ｒｅｆＩｎｄｅｘ）が、次のように規定されるｄｉｓｐａｒｉｔｙＶａｌｕｅを返すように規定される。
【数８】
2016512000.tif 000010
【０２４５】
．．．
Ｊ８．３．１．９  メディアンルーマ時間的動きベクトル予測に対する深度ベースの導出プロセス
．．．
パーティションｍｂＡｄｄｒＮ＼ｍｂＰａｒｔＩｄｘＮ＼ｓｕｂＭｂＰａｒｔＩｄｘＮが利用可能でないかまたはｒｅｆＩｄｘＬＸＮがｒｅｆＩｄｘＬＸに等しくないかのいずれかであるとき、ｍｖＬＸＮが、以下の順序付けられたステップによって規定されるように導出される：
１．サブクローズ６．４．１に規定される逆マクロブロック走査プロセスが、ＣｕｒｒＭｂＡｄｄｒを入力として起動され、出力が（ｘ１、ｙ１）に割り当てられる。
【０２４６】
２．サブクローズ６．４．２．１に規定される逆マクロブロックパーティション走査プロセスが、ｍｂＰａｒｔＩｄｘを入力として起動され、出力が（ｄｘ１、ｄｙ１）に割り当てられる。
【０２４７】
３．サブクローズ６．４．２．２に規定される逆サブマクロブロックパーティション走査プロセスが、ｍｂＰａｒｔＩｄｘおよびｓｕｂＭｂＰａｒｔＩｄｘを入力として起動され、出力が（ｄｘ２、ｄｙ２）に割り当てられる。
【０２４８】
４．サブクローズＪ．８．３．１．９．１に規定されるプロセスは、ＤｅｐｔｈＣｕｒｒＰｉｃに設定されたｄｅｐｔｈＰｉｃ、ｘ１＋ｄｘ１＋ｄｘ２に設定されたｄｂｘ１、ｙ１＋ｄｙ１＋ｄｙ２に設定されたｄｂｙ１、およびｌｉｓｔＳｕｆｆｉｘＦｌａｇを入力として、ならびにＩｎｔｅｒＶｉｅｗＰｉｃ、オフセットベクトルｄｖ、および変数ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅを出力として起動される。
【０２４９】
５．ｒｅｆＩｄｘＣｏｒｒｅｓｐｏｎｄおよびｍｖＣｏｒｒｅｓｐｏｎｄは、次のように設定される。
【０２５０】
．．．
Ｊ．８．３．１．９．１  視差ベクトルおよびビュー間参照に対する導出プロセス
このプロセスに対する入力は、深度参照ビュー成分ｄｅｐｔｈＰｉｃと、パーティションの左上のサンプルのロケーション（ｄｂｘ１、ｄｂｙ１）と、ｌｉｓｔＳｕｆｆｉｘＦｌａｇとである。
【０２５１】
このプロセスの出力は、ピクチャＩｎｔｅｒＶｉｅｗＰｉｃと、オフセットベクトルｄｖと、変数ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅとである。
【０２５２】
変数ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅは、０に等しく設定される。
【０２５３】
以下は、ビュー間参照ピクチャまたはビュー間オンリー参照ピクチャ、ＩｎｔｅｒＶｉｅｗＰｉｃを導出するために適用され、Ｘは、ｌｉｓｔＦｕｆｆｉｘＦｌａｇが１のときに１に設定され、そうでないときに０に設定される。
【数９】
2016512000.tif 000011
【０２５４】
ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅが１に等しいとき、以下のステップが順番に適用される。
【０２５５】
１．変数ｍａｘＤｅｐｔｈは次のように規定される。
【数１０】
2016512000.tif 000012
【０２５６】
２．変数ｄｖは次のように規定される。
【数１１】
2016512000.tif 000013
【０２５７】
実施形態＃１に規定されるようにＮＢＤＶプロセスを起動して、出力された視差ベクトルｔｅｍｐＤＶが次のように設定される。
【数１２】
2016512000.tif 000014
【数１３】
2016512000.tif 000015
【０２５８】
[0241]以下は、ビュー間動き予測を用いるＮＢＤＶに対する擬似コードである。
【０２５９】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
．．．
関数Ｄｉｓｐａｒｉｔｙ（ｄｅｐｔｈＳａｍｐｌｅ，ｓｒｃＩｎｄｅｘ，ｒｅｆＩｎｄｅｘ）が、次のように規定されるｄｉｓｐａｒｉｔｙＶａｌｕｅを返すように規定される。
【数１４】
2016512000.tif 000016
【０２６０】
．．．
Ｊ．８．３．１．４  視差ベクトルおよびビュー間参照に対する導出プロセス
．．．
ＤｖＡｖａｉｌａｂｌｅ［０］＋ＤｖＡｖａｉｌａｂｌｅ［１］＋ＤｖＡｖａｉｌａｂｌｅ［２］が１に等しい場合、以下が適用される。
【数１５】
2016512000.tif 000017
【数１６】
2016512000.tif 000018
【０２６１】
−  そうでない場合には、以下のステップが順番に適用される。
【０２６２】
−  変数ｍａｘＤｅｐｔｈは次のように規定される。
【数１７】
2016512000.tif 000019
【０２６３】
−  変数ｄｉｓｐＶｅｃｔｏｒは次のように規定される。
【数１８】
2016512000.tif 000020
【０２６４】
−  実施形態＃１に規定されるようにＮＢＤＶプロセスを起動して、出力された視差ベクトルｔｅｍｐＤＶが次のように設定される。
【数１９】
2016512000.tif 000021
【数２０】
2016512000.tif 000022
【０２６５】
[0242]以下は、ＮＢＤＶから導出された視差ベクトルが、ビュー間予測ならびに／または直接モードおよびスキップモードに直接使用されるときの、ＮＢＤＶベースの動きベクトル予測の詳細な実装形態の別の例を提供する。この実装形態では、視差ベクトルは、ＮＢＤＶからの視差ベクトルから変換され、メディアンフィルタリングはスキップされる。代わりに、視差動きベクトルが、動きベクトル予測になる。
【０２６６】
[0243]以下は、ビュー間予測におけるＤ−ＭＶＰに対するＮＢＤＶの直接使用に対する擬似コードを提供する。
【０２６７】
Ｊ８．３．１．８  メディアンルーマ動きベクトル予測に対する深度ベースの導出プロセス
．．．
パーティションｍｂＡｄｄｒＮ＼ｍｂＰａｒｔＩｄｘＮ＼ｓｕｂＭｂＰａｒｔＩｄｘＮが利用可能でないかまたはｒｅｆＩｄｘＬＸＮがｒｅｆＩｄｘＬＸに等しくないかのいずれかであるとき、ｍｖＬＸＮが、以下の順序付けられたステップによって規定されるように導出される。
【０２６８】
１．サブクローズ６．４．１に規定される逆マクロブロック走査プロセスが、ＣｕｒｒＭｂＡｄｄｒを入力として起動され、出力が（ｘ１、ｙ１）に割り当てられる。
【０２６９】
２．サブクローズ６．４．２．１に規定される逆マクロブロックパーティション走査プロセスが、ｍｂＰａｒｔＩｄｘを入力として起動され、出力が（ｄｘ１、ｄｙ１）に割り当てられる。
【０２７０】
３．サブクローズ６．４．２．２に規定される逆サブマクロブロックパーティション走査プロセスが、ｍｂＰａｒｔＩｄｘおよびｓｕｂＭｂＰａｒｔＩｄｘを入力として起動され、出力が（ｄｘ２、ｄｙ２）に割り当てられる。
【０２７１】
４．サブクローズＪ．８．３．１．８．１に規定されるメディアンルーマ動きベクトル予測におけるビュー間動きベクトルの修正プロセスは、ＤｅｐｔｈＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］に等しいｄｅｐｔｈＰｉｃ、ｘ１＋ｄｘ１＋ｄｘ２に等しいｄｂｘ１、ｙ１＋ｄｙ１＋ｄｙ２に等しいｄｂｙ１、およびｍｖＬ０に等しいｍｖを入力として起動され、出力が動きベクトルｍｖＬＸＮに割り当てられる。
【０２７２】
動きベクトル予測ｍｖｐＬＸの各成分が、動きベクトルｍｖＬＸＡ、ｍｖＬＸＢ、およびｍｖＬＸＣの対応するベクトル成分のメディアンによって与えられる。
【数２１】
2016512000.tif 000023
【数２２】
2016512000.tif 000024
【０２７３】
−  実施形態＃１に規定されるようにＮＢＤＶプロセスを起動して、視差ベクトルをｔｅｍｐＤＶに記憶する。
【数２３】
2016512000.tif 000025
【数２４】
2016512000.tif 000026
【０２７４】
[0244]以下は、スキップ／直接モードにおけるビュー間動きベクトル予測に対するＮＢＤＶの直接使用のための擬似コードを提供する。
【０２７５】
Ｊ．８．３．１．４  視差ベクトルおよびビュー間参照に対する導出プロセス
ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅを０に等しく設定する。
【０２７６】
以下は、ビュー間参照ピクチャまたはビュー間オンリー参照ピクチャ、ＩｎｔｅｒＶｉｅｗＰｉｃを導出するために適用される。
【数２５】
2016512000.tif 000027
【０２７７】
ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅが１に等しいとき、以下のステップが順番に適用される。
【０２７８】
−  サブクローズ８．４．１．３．２に規定されるプロセスが、０に等しく設定されたｍｂＰａｒｔＩｄｘ、０に等しく設定されたｓｕｂＭｂＰａｒｔＩｄｘ、「ｎａ」に等しく設定されたｃｕｒｒＳｕｂＭｂＴｙｐｅ、および０に等しく設定されたｌｉｓｔＳｕｆｆｉｘＦｌａｇを入力とし、ならびに参照インデックスｒｅｆＩｄｘＣａｎｄＬ０［ｉ］および動きベクトルｍｖＣａｎｄＬ０［ｉ］を出力とし、隣接するパーティションＡ、ＢおよびＣに対応してｉがそれぞれ、０、１および２に等しい状態で起動される。
【０２７９】
−  サブクローズ８．４．１．３．２に規定されるプロセスが、０に等しく設定されたｍｂＰａｒｔＩｄｘ、０に等しく設定されたｓｕｂＭｂＰａｒｔＩｄｘ、「ｎａ」に等しく設定されたｃｕｒｒＳｕｂＭｂＴｙｐｅ、および１に等しく設定されたｌｉｓｔＳｕｆｆｉｘＦｌａｇを入力とし、ならびに参照インデックスｒｅｆＩｄｘＣａｎｄＬ１［ｉ］および動きベクトルｍｖＣａｎｄＬ１［ｉ］を出力とし、隣接するパーティションＡ、ＢおよびＣに対応してｉが、それぞれ０、１および２に等しい状態で起動される。
【０２８０】
−  変数ｄｖは、以下の順序付けられたステップによって規定されるように導出される。
【０２８１】
−  隣接するパーティションＡ、ＢおよびＣのそれぞれに対応して０、１および２に等しいｉを用いてＤｖＡｖａｉｌａｂｌｅ［ｉ］およびｍｖＣａｎｄ［ｉ］を、次のように設定する。
【数２６】
2016512000.tif 000028
【０２８２】
−  ＤｖＡｖａｉｌａｂｌｅ［０］＋ＤｖＡｖａｉｌａｂｌｅ［１］＋ＤｖＡｖａｉｌａｂｌｅ［２］が１に等しい場合、以下が適用される。
【数２７】
2016512000.tif 000029
【数２８】
2016512000.tif 000030
【０２８３】
−  そうでない場合には、以下のステップが順番に適用される。
【０２８４】
−  変数ｍａｘＤｅｐｔｈは次のように規定される。
【数２９】
2016512000.tif 000031
【０２８５】
−  変数ｄｉｓｐＶｅｃｔｏｒは次のように規定される。
【数３０】
2016512000.tif 000032
【数３１】
2016512000.tif 000033
【数３２】
2016512000.tif 000034
【数３３】
2016512000.tif 000035
【０２８６】
−  ０、１および２に等しいｉの各値に対して、ＤｖＡｖａｉｌａｂｌｅ［ｉ］が０に等しいとき、ｍｖＣａｎｄ［ｉ］は、ｄｉｓｐＶｅｃｔｏｒに設定される。
【０２８７】
−  変数ｄｖの各成分は、次のように導出される。
【数３４】
2016512000.tif 000036
【数３５】
2016512000.tif 000037
【０２８８】
実施形態＃１に規定されるようにＮＢＤＶプロセスを起動して、視差ベクトルをｔｅｍｐＤＶに記憶する。
【数３６】
2016512000.tif 000038
【数３７】
2016512000.tif 000039
【０２８９】
[0245]上記で説明したように、いくつかの例では、ビデオコーダは、マクロブロックに対して一度ＮＢＤＶプロセスを起動し得、すべてのパーティションは、同じ結果を共有する。いくつかの例では、ビデオコーダは、ＭＢパーティションレベルにおいてＮＢＤＶプロセスを起動し得る。
【０２９０】
[0246]図６Ａおよび図６Ｂは、パーティションが８×１６のときの、視差ベクトル導出のために検査されるマクロブロックパーティションに対する隣接ブロックの例示的なブロック位置を示す。特に、図６Ａは、ＭＢパーティションベースのＮＢＤＶ導出における空間的隣接ブロックを示し、図６Ｂは、ＭＢパーティションベースのＮＢＤＶ導出における時間的隣接ブロックを示す。
【０２９１】
[0247]いくつかの例では、時間的ブロックは、ＭＢベースのＮＢＤＶ導出の位置を追従する。いくつかの例では、空間的ブロックは、ＭＢベースのＮＢＤＶ導出の位置を追従する。いくつかの例では、ＮＢＤＶ導出プロセスは、サブＭＢパーティションにおいてまたはさらに４×４ブロックレベルにおいて起動され得、ブロック位置は適宜に変更され得る。
【０２９２】
[0248]Ｄ−ＭＶＰにおいて（すなわち、動きベクトル予測において）、ビデオコーダは、サブＭＢパーティションレベルまたはＭＢパーティションレベルにおいて動きベクトル予測を起動し得る。一例として、ビデオコーダは、ＭＢパーティションまたはサブＭＢパーティションにおけるあらゆるＤ−ＭＶＰプロセスにおいて、ＭＢパーティションベースのＮＢＤＶ導出を起動し得る。別の例として、ビデオコーダは、ＭＢパーティションまたはサブＭＢパーティションにおけるあらゆるＤ−ＭＶＰプロセスにおいて起動し得る。
【０２９３】
[0249]上記は、時間的ピクチャの導出の例と、ＮＢＤＶおよび動き予測の一例と、ビュー間予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶ導出の一例と、時間的予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶ導出の一例と、ビュー間動き予測を用いるＮＢＤＶ導出とを説明した。以下は、そのような技法のいくつかの追加の例を提供する。これらの例は、上記で説明した時間的ピクチャを導出するための技法の追加、または代わりである。言い換えれば、以下の技法は、個々に、または上記で説明した例のいずれかとともに使用され得る。
【０２９４】
[0250]以下は、時間的ピクチャの導出に対する第１の追加の例である。いくつかの例では、時間的ピクチャは、現在ピクチャと同じアクセスユニットに属さないピクチャである。現在ピクチャがＰスライスである場合、１つの時間的ピクチャだけが、ＲｅｆＰｉｃＬｉｓｔ０［０］となるように導出される。現在ピクチャがＢスライスである場合、２つの時間的ピクチャが、順番に、ＲｅｆＰｉｃＬｉｓｔ１［０］およびＲｅｆＰｉｃＬｉｓｔ０［０］として導出される。
【０２９５】
[0251]いくつかの例では、以下の代替の導出プロセスが適用され得る。現在ピクチャが、０に等しいｔｅｍｐｏｒａｌ＿ｉｄを有する場合、１つの時間的ピクチャだけが、ＲｅｆＰｉｃＬｉｓｔ０［０］となるように導出される。代替として、この場合の時間的ピクチャは、利用可能である場合はＲｅｆＰｉｃＬｉｓｔ１［０］であり得、ＲｅｆＰｉｃＬｉｓｔ１［０］が利用不可能である場合はＲｅｆＰｉｃＬｉｓｔ０［０］であり得る。現在ピクチャが０より大きいｔｅｍｐｏｒａｌ＿ｉｄを有する場合、２つの時間的ピクチャが、順番に、利用可能である場合にＲｅｆＰｉｃＬｉｓｔ１［０］および利用可能である場合にＲｅｆＰｉｃＬｉｓｔ０［０］として導出される。
【０２９６】
[0252]いくつかの例では、以下の代替の導出プロセスが適用され得る。現在ピクチャがアンカピクチャを有する場合、１つの時間的ピクチャだけが、ＲｅｆＰｉｃＬｉｓｔ０［０］となるように導出される。代替として、この場合の時間的ピクチャは、利用可能である場合はＲｅｆＰｉｃＬｉｓｔ１［０］であり得、ＲｅｆＰｉｃＬｉｓｔ１［０］が利用不可能である場合はＲｅｆＰｉｃＬｉｓｔ０［０］であり得る。現在ピクチャが非アンカピクチャを有する場合、２つの時間的ピクチャが、順番に、利用可能である場合にＲｅｆＰｉｃＬｉｓｔ１［０］および利用可能である場合にＲｅｆＰｉｃＬｉｓｔ０［０］として導出される。
【０２９７】
[0253]以下は、時間的ピクチャの導出に対する第２の追加の例である。時間的ピクチャの導出に対する第２の追加の例の技法は、時間的ピクチャの導出に対する第１の例と同様であり得る。しかしながら、現在ピクチャがアンカピクチャに属する場合、時間的ピクチャは導出されず、ＮＢＤＶ導出プロセスは、時間的隣接ブロックを検査しない（たとえば、ＮＢＤＶプロセスは、常に、時間的隣接ブロックを検査しない）。
【０２９８】
[0254]以下は、ＮＢＤＶ導出および動き予測に対する追加の例を説明する。この例示的な技法は、３Ｄ−ＡＶＣにおけるＮＢＤＶ導出に対して上記で説明した例と同様であり得る。しかしながら、２つの代替のうちの１つは、ＮＢＤＶプロセスの出力はブロックの視差動きベクトル（ＤＭＶ）によって設定される視差ベクトル（ＤＶ）であると仮定して、適用される。
【０２９９】
ＤＶ［１］は０に設定される、
ＤＶ［１］はＤＭＶ［１］に設定される。
【０３００】
[0255]ここで、ＮＢＤＶ導出プロセスは、全ＭＢに対して起動されていることが仮定されている。同じく、ＮＢＤＶに基づく動きベクトル予測に対して上記で説明したものと同様に、ＤＶは、深度から変換された視差ベクトルを置き換えるために使用され、ＤＶは、様々なインター予測モードの同じ方法においてさらに使用される。
【０３０１】
[0256]以下は、ビュー間予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶ導出の別の例に対する擬似コードである。
【０３０２】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
ビュー間予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶの第１の例に関して上記で説明したものと同じ。
【０３０３】
Ｊ８．３．１．８．１  メディアンルーマ動きベクトル予測におけるビュー間動きベクトルに対する修正プロセス
ｒｅｆＶｉｅｗＩｄをｄｅｐｔｈＰｉｃのｖｉｅｗ＿ｉｄ値にする。
【０３０４】
以下の順序のステップが適用される：
３．変数ｍａｘＤｅｐｔｈは次のように規定される。
【数３８】
2016512000.tif 000040
【０３０５】
４．変数ｍｖは次のように規定される。
【数３９】
2016512000.tif 000041
【数４０】
2016512000.tif 000042
【数４１】
2016512000.tif 000043
【数４２】
2016512000.tif 000044
【数４３】
2016512000.tif 000045
【数４４】
2016512000.tif 000046
【０３０６】
[0257]以下は、時間的予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶの別の例に対する擬似コードである。
【０３０７】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
時間的予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶの第１の例において説明したものと同じ。
【０３０８】
Ｊ８．３．１．９  メディアンルーマ時間的動きベクトル予測に対する深度ベースの導出プロセス
時間的予測におけるＤ−ＭＶＰプロセスを用いるＮＢＤＶの第１の例において説明したものと同じ。
【０３０９】
Ｊ．８．３．１．９．１  視差ベクトルおよびビュー間参照に対する導出プロセス
このプロセスに対する入力は、深度参照ビュー成分ｄｅｐｔｈＰｉｃと、パーティションの左上のサンプルのロケーション（ｄｂｘ１、ｄｂｙ１）と、ｌｉｓｔＳｕｆｆｉｘＦｌａｇとである。
【０３１０】
このプロセスの出力は、ピクチャＩｎｔｅｒＶｉｅｗＰｉｃと、オフセットベクトルｄｖと、変数ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅとである。
【０３１１】
変数ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅは、０に等しく設定される。
【０３１２】
以下は、ビュー間参照ピクチャまたはビュー間オンリー参照ピクチャ、ＩｎｔｅｒＶｉｅｗＰｉｃを導出するために適用され、Ｘは、ｌｉｓｔＦｕｆｆｉｘＦｌａｇが１のときに１に設定され、そうでないときに０に設定される。
【数４５】
2016512000.tif 000047
【０３１３】
ＩｎｔｅｒＶｉｅｗＡｖａｉｌａｂｌｅが１に等しいとき、以下のステップが順番に適用される。
【０３１４】
１．変数ｍａｘＤｅｐｔｈは次のように規定される。
【数４６】
2016512000.tif 000048
【０３１５】
２．変数ｄｖは次のように規定される。
【数４７】
2016512000.tif 000049
【数４８】
2016512000.tif 000050
【数４９】
2016512000.tif 000051
【数５０】
2016512000.tif 000052
【数５１】
2016512000.tif 000053
【数５２】
2016512000.tif 000054
【０３１６】
[0258]以下は、ビュー間動き予測を用いるＮＢＤＶに対する追加の例に対する擬似コードである。
【０３１７】
Ｊ８．３  ３ＤＶＣインター予測、ビュー間予測、ビュー合成予測、および適応型ルミナンス補償
上記で説明したビュー間動き予測を用いるＮＢＤＶの第１の例において説明したものと同じ。
【０３１８】
Ｊ．８．３．１．４  視差ベクトルおよびビュー間参照に対する導出プロセス
．．．
ＤｖＡｖａｉｌａｂｌｅ［０］＋ＤｖＡｖａｉｌａｂｌｅ［１］＋ＤｖＡｖａｉｌａｂｌｅ［２］が１に等しい場合、以下が適用される。
【数５３】
2016512000.tif 000055
【数５４】
2016512000.tif 000056
【０３１９】
−  そうでない場合には、以下のステップが順番に適用される。
【０３２０】
−  変数ｍａｘＤｅｐｔｈは次のように規定される。
【数５５】
2016512000.tif 000057
【０３２１】
−  変数ｄｉｓｐＶｅｃｔｏｒは次のように規定される。
【数５６】
2016512000.tif 000058
【数５７】
2016512000.tif 000059
【数５８】
2016512000.tif 000060
【数５９】
2016512000.tif 000061
【０３２２】
ｄｉｓｐＶｅｃｔｏｒを以下のように設定する。
【数６０】
2016512000.tif 000062
【数６１】
2016512000.tif 000063
【０３２３】
[0259]図７は、本開示で説明する技法による符号化の例示的な動作を示すフローチャートである。ビデオデータメモリ４０は、ベースビューと従属ビューとを記憶し得る。ビデオエンコーダ２０の１つまたは複数のプロセッサは、３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて、従属ビューのテクスチャビュー成分を符号化し得る（１００）。ビデオエンコーダ２０の１つまたは複数のプロセッサは、テクスチャビュー成分を符号化することに続いて、テクスチャビュー成分に対応する深度ビュー成分を符号化し得る（１０２）。テクスチャビュー成分内のブロックに対する視差ベクトル導出は深度ビュー成分を必要としないので、技法は、テクスチャビュー成分が深度ビュー成分の前に符号化されることを可能にする。ビデオエンコーダ２０の１つまたは複数のプロセッサは、符号化されたテクスチャビュー成分と符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成し得る。
【０３２４】
[0260]図８は、本開示で説明する技法による復号の例示的な動作を示すフローチャートである。ビデオデコーダ３０の１つまたは複数のプロセッサは、従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信し得る（１０６）。たとえば、ビデオデータメモリ６９は、ビデオデコーダ３０の１つまたは複数のプロセッサが、テクスチャビュー成分と深度ビュー成分とを含むベースビューと従属ビューとを含む３Ｄ−ＡＶＣ準拠ビデオを復号するために使用する情報を記憶し得る。
【０３２５】
[0261]ビデオデコーダ３０の１つまたは複数のプロセッサは、従属ビューのテクスチャビュー成分を復号し得る（１０８）。ビデオデコーダ３０の１つまたは複数のプロセッサは、テクスチャビュー成分を復号することに続いて、テクスチャビュー成分に対応する深度ビュー成分を復号し得る（１１０）。
【０３２６】
[0262]図９は、本開示で説明する技法による視差ベクトル導出およびインター予測コーディングの例示的な動作を示すフローチャートである。例示のために、図９に示す例が、ビデオコーダに関して説明される。ビデオコーダの一例はビデオエンコーダ２０であり、ビデオコーダの別の例はビデオデコーダ３０である。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、図９で説明する例示的な技法を実装するように構成され得る。
【０３２７】
[0263]例示のように、ビデオコーダは、隣接ブロックが、ビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、隣接ブロックの動き情報を評価し得る（１１２）。ビデオコーダは、ビュー間予測された隣接ブロックの視差動きベクトルに基づいて視差ベクトルを導出し得る（１１４）。
【０３２８】
[0264]たとえば、１つまたは複数の隣接ブロックは、時間的隣接ブロックを含む。この時間的隣接ブロックは、２つの時間的ピクチャ候補の時間的ピクチャ内にあり得る。２つの時間的ピクチャ候補を決定するために、ビデオコーダは、第１の時間的ピクチャと第２の時間的ピクチャとを選択し得、第１の時間的ピクチャおよび第２の時間的ピクチャは、それぞれの参照ピクチャリストの第１のエントリ内で識別されるピクチャであり得る。
【０３２９】
[0265]いくつかの例では、ビデオコーダは、２つの参照ピクチャリストのうちの１つを指す（たとえば、ＲｅｆＰｉｃＬｉｓｔ０を指す）動きベクトルを有する隣接ブロックだけの動き情報を評価し得る。隣接ブロックに対する動きベクトルが他の参照ピクチャリストを指す場合、ビデオコーダは、動き情報を評価しない。言い換えれば、ビデオコーダは、他方の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）を指す動きベクトルを有する隣接ブロックの動き情報の評価を回避し得る。このようにして、視差動きベクトルが存在するとしても、視差動きベクトルがＲｅｆＰｉｃＬｉｓｔ１（すなわち、ＲｅｆＰｉｃＬｉｓｔ１内のビュー間参照ピクチャ）を指す場合、この視差動きベクトルは、現在のマクロブロックに対する視差ベクトルを導出するために使用されない。
【０３３０】
[0266]通常のインター予測モードに対するビュー間動きベクトル予測に対して本開示で説明する技法では、参照インデックスがビュー間参照ピクチャに対応し、動きベクトル予測のために使用される隣接ブロックが視差動きベクトルを用いてインター予測されない場合、ビデオコーダは、導出された視差ベクトルを、ビュー間予測されない隣接ブロックに割り当て得る（１１６）。ビデオコーダは、参照ピクチャリストへの参照インデックスがビュー間参照ピクチャを識別する場合、現在のブロックがビュー間予測されるべきかどうかを決定することができる。
【０３３１】
[0267]図９に示す例では、ビデオコーダは、メディアンフィルタリングを利用して動きベクトル予測子を決定し得、ここで、メディアンフィルタリングは、視差動きベクトルとして、ビュー間予測されない隣接ブロックに割り当てられた視差ベクトルを利用する（１１８）。ビデオコーダは、動きベクトル予測子に基づいて現在のブロックをインター予測コーディングし得る（１２０）。たとえば、ビデオコーダは、動きベクトル予測子、および動きベクトル予測子と現在のブロックに対する実際の動きベクトルとの間の差に基づいて、現在のブロックに対する動きベクトルを決定し得る。次に、ビデオコーダは、インター予測コーディングのために使用される現在のブロックに対する動きベクトルから、予測子ブロックを識別し得る。
【０３３２】
[0268]図１０は、本開示で説明する技法による視差ベクトル導出およびインター予測コーディングの別の例示的な動作を示すフローチャートである。例示のために、図１０に示す例が、ビデオコーダに関して説明される。ビデオコーダの一例はビデオエンコーダ２０であり、ビデオコーダの別の例はビデオデコーダ３０である。したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、図１０で説明する例示的な技法を実装するように構成され得る。
【０３３３】
[0269]図１０に示すように、ビデオコーダは、図９に関する上記の説明と同様に、隣接ブロックがビュー間予測されるかどうかを決定するために隣接ブロックの動き情報を評価し（１２２）、ビュー間予測された隣接ブロックの視差動きベクトルに基づいて視差ベクトルを導出する（１２４）ことができる。図１０の例では、参照インデックスがビュー間参照ピクチャに対応する場合、ビデオコーダは、導出された視差ベクトルを動きベクトル予測子として利用する（１２６）。この例では、ビデオコーダは、動きベクトル予測子を決定するためにメディアンフィルタリングを使用する必要はない。ビデオコーダは、図９に関して上記で説明したインター予測コーディングと同様に、動きベクトル予測子に基づいて現在のブロックをインター予測コーディングする（１２８）ことができる。
【０３３４】
[0270]例によっては、本明細書で説明した方法のうちいずれかの、いくつかの作用またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る（たとえば、すべての説明した作用またはイベントが、本方法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、作用またはイベントは、順次にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して実行され得る。
【０３３５】
[0271]本明細書に開示する方法、システムおよび装置と関連して説明する様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は認識するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【０３３６】
[0272]さらに、本明細書で開示した例は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはその他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェア構成要素などの電子デバイスまたは回路、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実現され得る。
【０３３７】
[0273]本明細書で開示する例に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。プロセッサおよび記憶媒体はＡＳＩＣ内に存在することができ得る。ＡＳＩＣはユーザ端末中に常駐し得る。代替形態では、プロセッサおよび記憶媒体は、ユーザ端末内の個別構成要素として存在することができる。
【０３３８】
[0274]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、もしくはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェアおよび／またはファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わされ得るか、または前述のような１つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体によって設けられ得る。
【図１】
2016512000.tif 000064
【図２】
2016512000.tif 000065
【図３】
2016512000.tif 000066
【図４Ａ】
2016512000.tif 000067
【図４Ｂ】
2016512000.tif 000068
【図４Ｃ】
2016512000.tif 000069
【図４Ｄ】
2016512000.tif 000070
【図４Ｅ】
2016512000.tif 000071
【図４Ｆ】
2016512000.tif 000072
【図４Ｇ】
2016512000.tif 000073
【図４Ｈ】
2016512000.tif 000074
【図５Ａ】
2016512000.tif 000075
【図５Ｂ】
2016512000.tif 000076
【図５Ｃ】
2016512000.tif 000077
【図５Ｄ】
2016512000.tif 000078
【図６Ａ】
2016512000.tif 000079
【図６Ｂ】
2016512000.tif 000080
【図７】
2016512000.tif 000081
【図８】
2016512000.tif 000082
【図９】
2016512000.tif 000083
【図１０】
2016512000.tif 000084
【手続補正書】
【提出日】平成27年10月27日(2015.10.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを復号する方法であって、
従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信することと、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて前記従属ビューのうちの１つの従属ビューのテクスチャビュー成分を復号することと、ここにおいて、前記テクスチャビュー成分を復号することは、
現在のマクロブロックのうちの少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の前記現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、
ここにおいて、前記現在のマクロブロックの前記１つまたは複数の隣接ブロックの前記動き情報を評価することは、
前記現在のマクロブロックの１つまたは複数の空間的隣接ブロックを評価する前に、前記現在のマクロブロックの少なくとも１つの時間的隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つまでだけの時間的ピクチャにおける前記現在のマクロブロックの１つまたは複数の時間的隣接ブロックを評価することを備え、ここにおいて、前記少なくとも１つの時間的隣接ブロックは、前記２つの時間的ピクチャのうちの１つにおいて存在し、前記２つの時間的ピクチャは、第１の時間的ピクチャと第２の時間的ピクチャを備え、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備え、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のマクロブロックに対する視差ベクトルを導出すること、および
前記導出され視差ベクトルを前記現在のマクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を復号することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を復号することとを備える、方法。
【請求項２】
前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、請求項１に記載の方法。
【請求項３】
動き情報を評価することが、
前記現在のマクロブロックの前記少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する、前記現在のマクロブロックの、前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
前記現在のマクロブロックの少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する、前記現在のマクロブロックの、前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、請求項１に記載の方法。
【請求項４】
１つまたは複数の時間的隣接ブロックを評価することが、
前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、請求項１に記載の方法。
【請求項５】
動き情報を評価することが、
１つまたは複数の時間的隣接ブロックを評価した後、最大４つまでの空間的隣接ブロックの動き情報を評価することをさらに備える、請求項１に記載の方法。
【請求項６】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項５に記載の方法。
【請求項７】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項５に記載の方法。
【請求項８】
視差ベクトルを導出することが、
前記視差ベクトルの水平成分を、前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、請求項１に記載の方法。
【請求項９】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを符号化する方法であって、
３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのテクスチャビュー成分を符号化することと、ここにおいて、前記テクスチャビュー成分を符号化することは、
現在のマクロブロックの少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の前記現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、
ここにおいて、前記現在のマクロブロックの前記１つまたは複数の隣接ブロックの前記動き情報を評価することは、
前記現在のマクロブロックの１つまたは複数の空間的隣接ブロックを評価する前に、前記現在のマクロブロックの少なくとも１つの時間的隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つまでだけの時間的ピクチャにおける前記現在のマクロブロックの１つまたは複数の時間的隣接ブロックを評価することを備え、ここにおいて、前記少なくとも１つの時間的隣接ブロックは、前記２つの時間的ピクチャのうちの１つにおいて存在し、前記２つの時間的ピクチャは、第１の時間的ピクチャと第２の時間的ピクチャを備え、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備え、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のマクロブロックに対する視差ベクトルを導出すること、および
前記導出された視差ベクトルを前記現在のマクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を符号化することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を符号化することと、
前記符号化されたテクスチャビュー成分と前記符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成することと備える、方法。
【請求項１０】
前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、請求項９に記載の方法。
【請求項１１】
動き情報を評価することが、
前記現在のマクロブロックの少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する前記現在のマクロブロックの前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
前記現在のマクロブロックの少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する前記現在のマクロブロックの前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、請求項９に記載の方法。
【請求項１２】
１つまたは複数の時間的隣接ブロックを評価することが、
前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、請求項９に記載の方法。
【請求項１３】
動き情報を評価することが、
１つまたは複数の時間的隣接ブロックを評価した後、最大４つまでの空間的隣接ブロックの動き情報を評価することを備える、請求項９に記載の方法。
【請求項１４】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項１３に記載の方法。
【請求項１５】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項１３に記載の方法。
【請求項１６】
視差ベクトルを導出することが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、請求項９に記載の方法。
【請求項１７】
３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
ビデオコーダとを備え、前記ビデオコーダが、１つまたは複数のプロセッサを備え、および
３ＤＡＶＣ準拠ビデオコーディングプロセスにおいて、前記ビデオデータの従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する前記現在のマクロブロックの隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のマクロブロックに対する視差ベクトルを導出すること、
前記導出された視差ベクトルを前記現在のマクロブロック内の各ブロックに割り当てることを行うように構成される、
前記テクスチャビュー成分をコーディングすることに続いて、前記テクスチャビュー成分に対応する、前記ビデオデータの深度ビュー成分をコーディングすることとを行うように構成される、デバイス。
【請求項１８】
前記ビデオコーダがビデオデコーダを備え、従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを、前記ビデオデコーダが受信するように構成され、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、請求項１７に記載のデバイス。
【請求項１９】
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダが、前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューの、テクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成するように構成される、請求項１７に記載のデバイス。
【請求項２０】
前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行うように構成され、
動き情報を評価するために、前記ビデオコーダが、前記第１の参照ピクチャリストを指す少なくとも１つのブロックに対する動きベクトルに基づいて、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価するように構成される、請求項１７に記載のデバイス。
【請求項２１】
動き情報を評価するために、前記ビデオコーダが、
第１の選択された時間的ピクチャまたは第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価するように構成され、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、請求項２０に記載のデバイス。
【請求項２２】
動き情報を評価するために、前記ビデオコーダが、
最大４つまでの空間的隣接ブロックの動き情報を評価するように構成される、請求項１７に記載のデバイス。
【請求項２３】
前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、請求項２２に記載のデバイス。
【請求項２４】
前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、請求項２２に記載のデバイス。
【請求項２５】
視差ベクトルを導出するために、前記ビデオコーダが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを行うように構成される、請求項１７に記載のデバイス。
【請求項２６】
ワイヤレス通信デバイスを備える、請求項１７に記載のデバイス。
【請求項２７】
その上に記憶された命令を有するコンピュータ可読記憶媒体であって、前記命令が、実行されると、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスのビデオコーダの１つまたは複数のプロセッサに、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのうちの１つの前記従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記１つまたは複数のプロセッサに前記テクスチャビュー成分をコーディングさせる前記命令は、前記１つまたは複数のプロセッサに、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する前記現在のマクロブロックの隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のマクロブロックに対する視差ベクトルを導出すること、
前記導出され視差ベクトルを前記現在のマクロブロック内の各ブロックに割り当てることを行わせる命令を備える、
前記テクスチャビュー成分をコーディングすることに続いて前記テクスチャビュー成分に対応する深度ビュー成分をコーディングすることとを行わせる、コンピュータ可読記憶媒体。
【請求項２８】
前記１つまたは複数のプロセッサに、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行わせる命令をさらに備え、
前記１つまたは複数のプロセッサに動き情報を評価させる前記命令が、前記１つまたは複数のプロセッサに、前記第１の参照ピクチャリストを指す少なくとも１つのブロックに対する動きベクトルに基づいて、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価させる命令を備える、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項２９】
前記ビデオコーダがビデオデコーダを備え、前記記憶媒体が、前記ビデオデコーダの前記１つまたは複数のプロセッサに、
従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信させる命令をさらに備え、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、請求項２７に記載のコンピュータ可読記憶媒体。
【請求項３０】
前記ビデオコーダがビデオエンコーダを備え、前記記憶媒体が、前記ビデオエンコーダの前記１つまたは複数のプロセッサに、
前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成させる命令をさらに備える、請求項２７に記載のコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３３８
【補正方法】変更
【補正の内容】
【０３３８】
[0274]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、もしくはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、前述のように、適切なソフトウェアおよび／またはファームウェアとともに、様々なユニットがコーデックハードウェアユニットにおいて組み合わされ得るか、または前述のような１つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体によって設けられ得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを復号する方法であって、
従属ビューのテクスチャ優先のコーディングを用いて生成された３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信することと、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて前記従属ビューのうちの１つの従属ビューのテクスチャビュー成分を復号することと、ここにおいて、前記テクスチャビュー成分を復号することは、
第１の時間的ピクチャを選択すること、ここにおいて、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択すること、ここにおいて、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、前記１つまたは複数の隣接ブロックは、空間的隣接ブロックと、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャのうちの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、および
前記導出され視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を復号することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を復号することとを備える、方法。
［Ｃ２］  前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］  動き情報を評価することが、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、Ｃ１に記載の方法。
［Ｃ４］  動き情報を評価することが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、Ｃ１に記載の方法。
［Ｃ５］  動き情報を評価することが、
最大４つまでの空間的隣接ブロックの動き情報を評価することを備える、Ｃ１に記載の方法。
［Ｃ６］  前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、Ｃ５に記載の方法。
［Ｃ７］  前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、Ｃ５に記載の方法。
［Ｃ８］  視差ベクトルを導出することが、
前記視差ベクトルの水平成分を、前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、Ｃ１に記載の方法。
［Ｃ９］  ３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータを符号化する方法であって、
３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのテクスチャビュー成分を符号化することと、ここにおいて、前記テクスチャビュー成分を符号化することは、
第１の時間的ピクチャを選択すること、ここにおいて、前記第１の時間的ピクチャは、第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択すること、ここにおいて、前記第２の時間的ピクチャは、第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために前記テクスチャビュー成分内の現在のマクロブロックの１つまたは複数の隣接ブロックの動き情報を評価すること、ここにおいて、前記１つまたは複数の隣接ブロックは、空間的隣接ブロックと、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方における少なくとも１つの時間的隣接ブロックとを備える、
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、および
前記導出された視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを備える、
前記テクスチャビュー成分を符号化することに続いて前記テクスチャビュー成分に対応する深度ビュー成分を符号化することと、
前記符号化されたテクスチャビュー成分と前記符号化された深度ビュー成分とを含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成することと備える、方法。
［Ｃ１０］  前記視差ベクトルを導出するために前記深度ビュー成分を使用することなく、前記導出された視差ベクトルを利用して１つまたは複数のコーディングツールを実装することをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］  動き情報を評価することが、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの前記第１の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックだけの動き情報を評価することと、
少なくとも１つの隣接ブロックが前記視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、前記２つの参照ピクチャリストのうちの前記第２の参照ピクチャリストを指す動きベクトルを有する前記１つまたは複数の隣接ブロックの動き情報の前記評価を回避することとを備える、Ｃ９に記載の方法。
［Ｃ１２］  動き情報を評価することが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価することを備え、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの前記少なくとも一方の中に位置するブロックを備える、Ｃ９に記載の方法。
［Ｃ１３］  動き情報を評価することが、
最大４つまでの空間的隣接ブロックの動き情報を評価することを備える、Ｃ９に記載の方法。
［Ｃ１４］  前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、Ｃ１３に記載の方法。
［Ｃ１５］  前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、Ｃ１３に記載の方法。
［Ｃ１６］  視差ベクトルを導出することが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを備える、Ｃ９に記載の方法。
［Ｃ１７］  ３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
ビデオコーダとを備え、前記ビデオコーダが、１つまたは複数のプロセッサを備え、および
３ＤＡＶＣ準拠ビデオコーディングプロセスにおいて、前記ビデオデータの従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、
前記導出された視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを行うように構成される、
前記テクスチャビュー成分をコーディングすることに続いて、前記テクスチャビュー成分に対応する、前記ビデオデータの深度ビュー成分をコーディングすることとを行うように構成される、デバイス。
［Ｃ１８］  前記ビデオコーダがビデオデコーダを備え、従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを、前記ビデオデコーダが受信するように構成され、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、Ｃ１７に記載のデバイス。
［Ｃ１９］  前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダが、前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューの、テクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成するように構成される、Ｃ１７に記載のデバイス。
［Ｃ２０］  前記テクスチャビュー成分をコーディングするために、前記ビデオコーダが、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行うように構成され、
動き情報を評価するために、前記ビデオコーダが、少なくとも１つのブロックに対する動きベクトルが前記第１の参照ピクチャリストを指す場合、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価するように構成される、Ｃ１７に記載のデバイス。
［Ｃ２１］  動き情報を評価するために、前記ビデオコーダが、
前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中の１つの右下ブロックだけに対する動き情報を評価するように構成され、前記右下ブロックが、前記現在のマクロブロックの下部の右側の位置で、前記第１の選択された時間的ピクチャまたは前記第２の選択された時間的ピクチャの少なくとも一方の中に位置するブロックを備える、Ｃ２０に記載のデバイス。
［Ｃ２２］  動き情報を評価するために、前記ビデオコーダが、
最大４つまでの空間的隣接ブロックの動き情報を評価するように構成される、Ｃ１７に記載のデバイス。
［Ｃ２３］  前記４つの空間的隣接ブロックのうちの３つが、Ｈ．２６４／ＡＶＣビデオコーディング規格における動き予測のために使用されるのと同じ隣接ブロックを備える、Ｃ２２に記載のデバイス。
［Ｃ２４］  前記４つの空間的隣接ブロックが、
前記現在のマクロブロックの左に位置するブロックと、前記現在のマクロブロックの上に位置するブロックと、前記現在のマクロブロックの左上に位置するブロックと、前記現在のマクロブロックの右上に位置するブロックとを備える、Ｃ２２に記載のデバイス。
［Ｃ２５］  視差ベクトルを導出するために、前記ビデオコーダが、
前記視差ベクトルの水平成分を前記視差動きベクトルの水平成分に等しく設定することと、
前記視差ベクトルの垂直成分をゼロに等しく設定することとを行うように構成される、Ｃ１７に記載のデバイス。
［Ｃ２６］  ワイヤレス通信デバイスを備える、Ｃ１７に記載のデバイス。
［Ｃ２７］  その上に記憶された命令を有するコンピュータ可読記憶媒体であって、前記命令が、実行されると、３Ｄアドバンストビデオコーディング（３Ｄ−ＡＶＣ）に対するビデオデータをコーディングするためのデバイスのビデオコーダの１つまたは複数のプロセッサに、
前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいて従属ビューのうちの１つの前記従属ビューのテクスチャビュー成分をコーディングすることと、ここにおいて、前記１つまたは複数のプロセッサに前記テクスチャビュー成分をコーディングさせる前記命令は、前記１つまたは複数のプロセッサに、
少なくとも１つの隣接ブロックが、前記従属ビュー以外のビュー内でビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されるかどうかを決定するために、２つの参照ピクチャリストのうちの第１の参照ピクチャリストを指す動きベクトルを有する前記テクスチャビュー成分内の現在のマクロブロックのブロックの１つまたは複数の隣接ブロックだけの動き情報を評価し、前記２つの参照ピクチャリストのうちの第２の参照ピクチャリストを指す動きベクトルを有する隣接ブロックの動き情報を評価することを回避すること、および
前記評価された隣接ブロックのうちの１つに対する前記視差動きベクトルに基づいて前記現在のブロックに対する視差ベクトルを導出すること、
前記導出され視差ベクトルを前記マクロブロック内の各ブロックに割り当てることを行わせる命令を備える、
前記テクスチャビュー成分をコーディングすることに続いて前記テクスチャビュー成分に対応する深度ビュー成分をコーディングすることとを行わせる、コンピュータ可読記憶媒体。
［Ｃ２８］  前記１つまたは複数のプロセッサに、
第１の時間的ピクチャを選択することと、ここにおいて、前記第１の時間的ピクチャは、前記第１の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、
第２の時間的ピクチャを選択することと、ここにおいて、前記第２の時間的ピクチャは、前記第２の参照ピクチャリストの第１のエントリにおいて識別されたピクチャを備える、を行わせる命令をさらに備え、
前記１つまたは複数のプロセッサに動き情報を評価させる前記命令が、前記１つまたは複数のプロセッサに、少なくとも１つのブロックに対する動きベクトルが前記第１の参照ピクチャリストを指す場合、前記第１の時間的ピクチャまたは前記第２の時間的ピクチャの少なくとも一方の中の前記少なくとも１つのブロックの動き情報を評価させる命令を備える、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ２９］  前記ビデオコーダがビデオデコーダを備え、前記記憶媒体が、前記ビデオデコーダの前記１つまたは複数のプロセッサに、
従属ビューのテクスチャ優先のコーディングを用いて生成された前記３Ｄ−ＡＶＣ準拠ビデオコーディングプロセスにおいてコーディングされたビットストリームを受信させる命令をさらに備え、前記従属ビューから前記ビデオデコーダが前記テクスチャビュー成分を復号し、前記テクスチャビュー成分に対応する前記深度ビュー成分を復号する、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ３０］  前記ビデオコーダがビデオエンコーダを備え、前記記憶媒体が、前記ビデオエンコーダの前記１つまたは複数のプロセッサに、
前記ビデオエンコーダによって符号化された前記テクスチャビュー成分を含み、前記ビデオエンコーダによって符号化された前記深度ビュー成分を含む従属ビューのテクスチャ優先のコーディングを用いてコーディングされたビットストリームを出力のために生成させる命令をさらに備える、Ｃ２７に記載のコンピュータ可読記憶媒体。
【国際調査報告】
2016512000.tif 000085
2016512000.tif 000086