(57)【要約】  ビデオデコーダが、視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施する。ビデオデコーダは、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、現在のブロックについての視差ベクトルとして使い、ここで現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされている。さらに、ビデオコーダは、現在のブロックについてのピクセル値を判断する。
2016517228.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することと、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、前記ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、
前記現在のブロックについてのピクセル値を判断することとを備える方法。
【請求項２】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項３】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、請求項１に記載の方法。
【請求項４】
前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、請求項１に記載の方法。
【請求項５】
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項６】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項７】
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１に記載の方法。
【請求項８】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項７に記載の方法。
【請求項９】
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、請求項７に記載の方法。
【請求項１０】
ビデオデータを符号化する方法であって、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することと、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、前記ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、
前記現在のブロックを含む現在のスライスについてのシンタックス要素をエントロピー符号化することとを備える方法。
【請求項１１】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、請求項１０に記載の方法。
【請求項１３】
前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは１つの複数の時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、請求項１０に記載の方法。
【請求項１４】
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１５】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１６】
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１０に記載の方法。
【請求項１７】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項１６に記載の方法。
【請求項１８】
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、請求項１６に記載の方法。
【請求項１９】
復号ビデオブロックを記憶するメモリと、
１つまたは複数のプロセッサとを備えるデバイスであって、前記１つまたは複数のプロセッサは、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施し、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使う、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、ように構成される、デバイス。
【請求項２０】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、請求項１９に記載のデバイス。
【請求項２１】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することの一部として、前記１つまたは複数のプロセッサは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査する、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記現在のブロックについての前記空間的または時間的隣接ブロックの視差動きベクトルを戻す、請求項１９に記載のデバイス。
【請求項２２】
前記ＮＢＤＶ−Ｒプロセスを実施することの一部として、前記１つまたは複数のプロセッサは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻し、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練する、請求項１９に記載のデバイス。
【請求項２３】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定するように構成される、請求項１９に記載のデバイス。
【請求項２４】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、請求項１９に記載のデバイス。
【請求項２５】
前記１つまたは複数のプロセッサは、
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査するように構成され、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１９に記載のデバイス。
【請求項２６】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項２５に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサは、
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出し、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うように構成される、請求項２５に記載のデバイス。
【請求項２８】
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施するための手段と、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うための手段と、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、を備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、２０１３年３月１９日に出願された米国仮特許出願第６１／８０３，４２９号の利益を主張する。
【０００２】
[0002]本開示は、ビデオ符号化およびビデオ復号（video encoding and video decoding）に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）によって定義された規格、高効率ビデオコーディング（High Efficiency Video Codin）（ＨＥＶＣ）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測（spatial prediction）および／または時間的予測（temporal prediction）を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され（partitioned）得る。各ブロックはさらに区分され得る。イントラコード化（intra−coded）（Ｉ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプル（reference samples）に対する空間的予測を使用して符号化される。インターコード化（inter−coded）（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測、あるいは他の参照フレーム（reference samples）中の参照サンプルに対する時間的予測を使用し得る。空間的予測または時間的予測によって、コーディングされるべきブロックについての予測ブロックが生じる。残差データ（residual data）は、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
[0005]インターコード化ブロック（inter−coded block）は、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモード（an intra−coding mode）と残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数（residual transform coefficients）をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初は２次元アレイに構成される量子化変換係数（quantized transform coefficients）は、エントロピーコーディングのための変換係数の１次元ベクトルを生成するために、特定の順序で走査され得る。
【発明の概要】
【０００６】
[0006]本開示は、３次元（３Ｄ）アドバンストビデオコーディング（3D−advanced video coding）（ＡＶＣ）コーデックを用いた２つ以上のビューのコーディングを含む、アドバンストコーデックに基づくマルチビュービデオコーディングおよび３Ｄビデオコーディングに関連する。より詳細には、技法は、スキップおよびダイレクトモード用の視差ベクトル導出（disparity vector derivation）に関連する。本明細書に記載するように、ビデオデコーダが、視差ベクトル（a disparity vector）を判断するために隣接ブロックベースの視差ベクトル（a neighboring−block based disparity vector）（ＮＢＤＶ）導出プロセスを実施し、または視差ベクトルを判断するためにＮＢＤＶ洗練（a NBDV refinement）（ＮＢＤＶ−Ｒ）プロセスを実施することができる。現在のブロックがスキップモードまたはダイレクトモードにおいてコーディングされるとき、ビデオデコーダは、複数の視差動きベクトル（disparity motion vectors）に対する中央値フィルタリングプロセス（a median filtering process）を使わずに、視差ベクトルを、現在のブロックについての視差ベクトルとして使う。さらに、ビデオデコーダは、現在のブロックについてのピクセル値を判断する。
【０００７】
[0007]一例では、本開示は、ビデオデータを復号する方法について記載し、この方法は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施することと、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、および、現在のブロックについてのピクセル値を判断することとを備える。
【０００８】
[0008]別の例では、本開示は、ビデオデータを符号化する方法について記載し、この方法は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施することと、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、および、現在のブロックを含む現在のスライスについてのシンタックス要素をエントロピー符号化することとを備える。
【０００９】
[0009]別の例では、本開示は、復号ビデオブロック（decoded video blocks）を記憶するメモリと、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施し、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使う、ここにおいて、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、ように構成された１つまたは複数のプロセッサとを備えるデバイスについて記載する。
【００１０】
[0010]別の例では、本開示は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施するための手段と、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うための手段と、ここにおいて、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、を備えるデバイスについて記載する。
【００１１】
[0011]別の例では、本開示は、実行されると、ビデオコーディングデバイスに、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施させるか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施させ、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使わせる、ここにおいて、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、命令を記憶した非一時的コンピュータ可読データ記憶媒体について記載する。
【００１２】
[0012]本開示の１つまたは複数の例の詳細が、添付の図面および下記の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0014]例示的なマルチビュービデオコーディングの時間的予測およびビュー間予測の構造（multi−view video coding temporal and inter−view prediction structure）を示す概念図。
【図３】[0015]現在のマクロブロックに対する空間的ネイバー（spatial neighbors）の例を示す概念図。
【図４】[0016]後方ワーピング（backward warping）に基づくブロックベースのビュー合成予測（block−based view synthesis prediction）の例を示す概念図。
【図５】[0017]３Ｄ−ＨＥＶＣにおける、現在の予測ユニットに対する空間的動きベクトルネイバー（spatial motion vector neighbors）の例を示す概念図。
【図６】[0018]ブロックベースのビュー合成予測のための、参照ビューからの深度ブロック導出（depth block derivation）を示す概念図。
【図７】[0019]本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図８】[0020]本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図９Ａ】[0021]本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図９Ｂ】[0022]本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【詳細な説明】
【００１４】
[0023]Ｈ．２６４／ＡＶＣはビデオコーディング規格である。Ｈ．２６４／ＡＶＣにおいて、ビデオエンコーダは、スキップモードまたはダイレクトモード（すなわち、スキップ／ダイレクトモード）を使って、特定のピクチャの少なくともいくつかのビデオブロックを符号化することができる。ビデオエンコーダが、スキップモードを使ってビデオブロックを符号化するとき、ビデオエンコーダは、ビデオブロックについての動き情報も残差データもシグナリングしない。ビデオエンコーダが、ダイレクトモードを使ってビデオブロックを符号化するとき、ビデオエンコーダは、ビデオブロックについての動き情報はシグナリングしないが、ビデオブロックについての残差データはシグナリングし得る。
【００１５】
[0024]３Ｄ−ＡＶＣは、３次元（３Ｄ）ビデオコーディングのための、Ｈ．２６４／ＡＶＣ規格に対する拡張である。３Ｄ−ＡＶＣにおいて、ピクチャは複数のビューに関連付けられ得る。各ビューのピクチャは、異なるカメラ位置からの同じシーンに対応し得る。同じ時間インスタンス中にあるが、異なるビュー中にあるピクチャの間には、かなりの冗長性があり得る。たとえば、現在のピクチャ中のブロックの動きベクトルは、ビュー間参照ピクチャ（an inter−view reference picture）（すなわち、現在のピクチャと同じ時間インスタンス中にあるが、異なるビュー中にある、あらかじめコーディングされたピクチャ）中の対応するブロックの動きベクトルと同様であり得る。
【００１６】
[0025]３Ｄ−ＡＶＣにおいて、ビデオコーダは、現在のピクチャ中の現在のブロックについての視差ベクトルを判断することができ、次いで、現在のブロックについての視差ベクトルを、ビュー間参照ピクチャ中の対応するブロックを判断するのに使うことができる。３Ｄ−ＡＶＣのいくつかのバージョンでは、ビデオコーダは、現在のブロックについての視差ベクトルを判断するのに、隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを使う。ビデオコーダがＮＢＤＶ導出プロセスを実施するとき、ビデオコーダは、特定の隣接ブロックが視差動きベクトルを有するかどうか判断すればよい。隣接ブロックのうちの１つが視差動きベクトルを有する場合、ビデオコーダは、隣接ブロックの視差動きベクトルを、現在のブロックについての視差ベクトルにコンバートしてよい。
【００１７】
[0026]ただし、現在のブロックが、スキップモードまたはダイレクトモードを使って符号化され、隣接ブロックのうちの１つが視差動きベクトルを有する場合、ビデオコーダは、追加視差動きベクトルを求めて追加隣接ブロックを探索する。隣接ブロックのうちの２つ以上が視差動きベクトルを有する場合、ビデオコーダは、視差動きベクトルに中央値関数（a median function）（たとえば、中央値フィルタリングプロセス）を適用する。ビデオコーダは、得られた視差動きベクトルを、現在のブロックについての視差ベクトルとして使うことができる。
【００１８】
[0027]３Ｄ−ＡＶＣのいくつかのバージョンでは、ビデオコーダは、スキップモードまたはダイレクトモードを使って符号化されているのではないブロックについての視差ベクトルを洗練する（refine）のに、対応する深度ブロックを使うこともでき、ブロックベースのビュー合成予測（block−based view synthesis prediction）（ＢＶＳＰ）を使うこともできる。ただし、現在のブロックがスキップモードまたはダイレクトモードを使って符号化されている場合、ビデオコーダは、現在のブロックについての視差ベクトルを洗練するのに、対応する深度ブロックもＢＶＳＰも使わない。ＮＢＤＶ導出プロセスを使って判断された視差ベクトルの洗練は、本明細書では、ＮＢＤＶ洗練プロセス（an NBDV refinement process）またはＮＢＤＶ−Ｒプロセスと呼ばれ得る。
【００１９】
[0028]視差ベクトルを判断するための上述したプロセスには、いくつかの問題があり得る。たとえば、上述したプロセスは、ブロックが符号化される際のモードによっては、同じブロックについて、矛盾する視差ベクトルを生じる場合がある。別の例では、上述したプロセスは、空間的隣接ブロック（spatial neighboring blocks）の不必要な検査につながり得る。別の例では、複数の視差動きベクトルの中央値関数を算出すると、限界コーディング効率利益（marginal coding efficiency benefits）のみがもたらされ得るが、複雑さも増し得る。
【００２０】
[0029]本開示の技法は、これらおよび／または他の問題に対処することができる。一例では、ビデオコーダは、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施してもよく、視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施してもよい。さらに、ビデオコーダは、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、判断された視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことができ、ここにおいて現在のブロックは、スキップモードまたはダイレクトモードのいずれかでコーディングされている。そのような技法を実装すると、ビデオエンコーダおよび／またはビデオデコーダの複雑さを低下させることができる。
【００２１】
[0030]図１は、本開示で説明する１つまたは複数の例による、例示的なビデオ符号化システムおよび復号システム１０を示すブロック図である。図１に示されているように、ビデオ符号化および復号システム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は符号化ビデオデータ（encoded video data）を生成する。したがって、ソースデバイス１２はビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス１４はソースデバイス１２によって生成された符号化ビデオデータを復号することができる。したがって、宛先デバイス１４はビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指すことがある。したがって、ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２２】
[0031]ソースデバイス１２および宛先デバイス１４は、マルチビューコーディング（multi−view coding）（ＭＶＣ）を実装するように構成される。ＭＶＣにおいて、ソースデバイス１２および宛先デバイス１４は各々、異なるビューのピクチャをコーディングする。異なるビューのピクチャが一緒に見られるとき、ビューアは、ディスプレイの２Ｄエリアに制約される画像の代わりに、３Ｄのボリュームを包含する画像を知覚する。
【００２３】
[0032]図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどのワイヤレスハンドセット、またはワイヤレス通信用に装備される他のそのようなワイヤレスデバイスを含む、広範なデバイスのうちのいずれかを備える。ソースデバイス１２および宛先デバイス１４のさらなる例には、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム内のデバイス、ワイヤレスブロードキャストシステム内のデバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー無線電話、衛星無線電話、ビデオ遠隔会議デバイス、およびビデオストリーミングデバイスなどが含まれるが、それらに限定されない。
【００２４】
[0033]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えることができる。一例では、リンク１６は、ソースデバイス１２が、符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備える。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を支援するために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２５】
[0034]いくつかの例では、出力インターフェース２２は、記憶デバイス３４に符号化データを出力する。同様に、入力インターフェース２８は、記憶デバイス３４にある符号化データにアクセスする。記憶デバイス３４の例は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含む。さらなる一例では、記憶デバイス３４は、ソースデバイス１２によって生成された符号化ビデオを記憶するファイルサーバまたは別の中間記憶デバイスを備える。これらの例では、宛先デバイス１４は、たとえばストリーミングまたはダウンロードを介して、記憶デバイス３４にある、記憶されたビデオデータにアクセスする。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイトをサービスするための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、またはファイルを提供するための他のデバイスもしくはシステムがある。宛先デバイス１４は、インターネット接続を含む、任意の標準的なデータ接続を介して符号化ビデオデータにアクセスすることができる。標準的なデータ接続は、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００２６】
[0035]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、無線を通じたテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、（たとえばインターネットを介した）ストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される。
【００２７】
[0036]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含む。ビデオソース１８は、（たとえばビデオカメラなどの）ビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、あるいはビデオデータの任意の他のソースのうちの１つまたは複数を含む。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンである。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００２８】
[0037]ビデオエンコーダ２０は、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオを符号化する。ソースデバイス１２の出力インターフェース２２は、符号化ビデオデータを宛先デバイス１４に送信するように構成される。符号化ビデオデータは、さらに（または代替的に）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのために記憶デバイス３４上に記憶され得る。
【００２９】
[0038]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの場合、入力インターフェース２８は、受信機および／またはモデムを含む。宛先デバイス１４の入力インターフェース２８は、リンク１６を通じて、または記憶デバイス３４から、符号化ビデオデータを受信する。リンク１６を介して通信され、または記憶デバイス３４上で与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０など、ビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含む。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体上に記憶されるか、またはファイルサーバ上に記憶される、符号化ビデオデータに含まれ得る。
【００３０】
[0039]ディスプレイデバイス３２は、宛先デバイス１４と一体化され得るかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成される。他の例では、宛先デバイス１４はディスプレイデバイスである。概して、ディスプレイデバイス３２は、復号ビデオデータ（decoded video data）をユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備える。
【００３１】
[0040]図１には示されていないが、いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、それぞれオーディオエンコーダおよびデコーダと統合され、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含む。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠する。
【００３２】
[0041]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、本開示の技法を実施するために、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶することができ、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合されてよい。本開示で説明する技法によって、ビデオエンコーダ２０はビデオデータを符号化するように構成され、ビデオデコーダ３０はビデオデータを復号するように構成される。
【００３３】
[0042]ビデオエンコーダ２０およびビデオデコーダ３０は、様々なビデオコーディング規格に従って動作し得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびにそのスケーラブルビデオコーディング（Scalable Video Coding）（ＳＶＣ）拡張と、マルチビュービデオコーディング（ＭＶＣ）拡張と、マルチビュープラスデプス（multi−view plus depth）（ＭＶＣ＋Ｄ）とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られている）ＩＴＵ−Ｔ  Ｈ．２６４などのビデオコーディング規格に従って動作し得る。Ｈ．２６４／ＡＶＣは、「Advanced video coding for generic audiovisual services」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１１年６月（以下では、「Ｈ．２６４／ＡＶＣ規格」）に記載されている。ＭＶＣのジョイントドラフトは、「Advanced video coding for generic audiovisual services」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。
【００３４】
[0043]現在、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディングについての共同研究部会（a Joint Collaboration Team on 3D Video Coding）（ＪＣＴ−３Ｖ）が、Ｈ．２６４／ＡＶＣに基づく３Ｄビデオ（３ＤＶ）規格、すなわち、３Ｄ−ＡＶＣを開発中である。３Ｄ−ＡＶＣは、ＭＶＣによってサポートされるビュー間予測（inter−view prediction）に加え、新規のコーディングツールを含み、サポートする。３Ｄ−ＡＶＣ用のソフトウェア（すなわち、３Ｄ−ＡＴＭ）は、ｈｔｔｐ：／／ｍｐｅｇ３ｄｖ．ｒｅｓｅａｒｃｈ．ｎｏｋｉａ．ｃｏｍ／ｓｖｎ／ｍｐｅｇ３ｄｖ／ｔａｇｓ／３ＤＶ−ＡＴＭｖ６．２／からダウンロードすることができる。Ｈａｎｎｕｋｓｅｌａら、「３Ｄ−ＡＶＣ  ｄｒａｆｔ  ｔｅｘｔ  ５」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第３回会合、ジュネーブ、スイス、２０１３年１月１７〜２３日、文書ＪＣＴ３Ｖ−Ｃ１００２、以下では、「ＪＣＴ３Ｖ−Ｃ１００２」は、３Ｄ−ＡＶＣの草案文面である。２０１４年２月２８日時点で、ＪＣＴ３Ｖ−Ｃ１００２は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｃ１００２−ｖ３．ｚｉｐから入手可能である。
【００３５】
[0044]他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパーツグループ（ＭＰＥＧ）とのビデオコーディングについての共同研究部会（ＪＣＴ−ＶＣ）によって開発された高効率ビデオコーディング（ＨＥＶＣ）規格、およびその拡張に従って動作し得る。現時点で、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディングについての共同研究部会（ＪＣＴ−３Ｃ）は、ＨＥＶＣに基づく３ＤＶ規格を開発中であり、規格化作業の一部は、ＨＥＶＣ（ＭＶ−ＨＥＶＣ）に基づくマルチビュービデオコーデックの規格化を含み、および、別の部分は、ＨＥＶＣ（３Ｄ−ＨＥＶＣ）に基づく３Ｄビデオコーディングの規格化を含む。
【００３６】
[0045]説明の目的で、ビデオエンコーダ２０およびビデオデコーダ３０は、Ｈ．２６４／ＡＶＣ規格、および３Ｄ−ＡＶＣ規格など、その拡張のコンテキストで記述される。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。たとえば、本開示に記載する技法は、マルチビューコーディング（すなわち、２つ以上のビューのコーディング）のためのビデオエンコーダ／デコーダ（コーデック）によって実装され得る。ビデオ圧縮規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３があり、３Ｄ−ＨＥＶＣがある。Ｏｎ２  ＶＰ６／ＶＰ７／ＶＰ８と呼ばれるものなど、専有コーディング技法（Proprietary coding techniques）もまた、本明細書で説明する技法のうちの１つまたは複数を実装し得る。
【００３７】
[0046]ビデオエンコーダ２０は、ビットストリームを生成および出力することができる。Ｈ．２６４／ＡＶＣ規格で定義されているように、ビットストリームは、１つまたは複数のコード化ビデオシーケンスを形成する、コード化ピクチャ（coded pictures）および関連するデータの表現を形成するビットのシーケンスを備え得る。コード化ピクチャは、ピクチャのコード化表現である。Ｈ．２６４／ＡＶＣにおいて、ビデオシーケンスは、一般にビューにある一連のビデオピクチャを含む。ピクチャのグループ（group of pictures）（ＧＯＰ）は、概して、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。各コード化ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。
【００３８】
[0047]Ｈ．２６４／ＡＶＣでは、ビデオブロックは、Ｈ．２６４／ＡＶＣ規格で定義されているように、マクロブロック、マクロブロックの区分（a partition）、または場合により区分のサブブロックに対応する場合がある。ビデオブロックは、固定サイズまたは可変サイズを有してよく、指定されたコーディング規格に従ってサイズが異なり得る。いくつかの事例において、本開示は、ビデオブロックを単に「ブロック」と呼ぶ場合がある。各ビデオピクチャは複数のスライス（すなわち、「ビデオスライス」）を含み得る。各スライスは複数のブロックを含み得る。
【００３９】
[0048]Ｈ．２６４／ＡＶＣは、ビデオブロック用のイントラ予測（intra prediction）とインター予測（inter prediction）とをサポートする。ビデオコーダが、ビデオブロックをコーディングするのにイントラ予測またはインター予測を使うとき、ビデオコーダは、ビデオブロックについての予測ブロック（a predictive block）を生成することができる。予測ブロックは、ピクセル値（すなわち、サンプル）からなるブロックを備える。ビデオブロックがイントラモード符号化される（すなわち、イントラ予測される）とき、ビデオエンコーダは、そのビデオブロックと同じピクチャ中の他のブロックのピクセル値に基づいて、ビデオブロックについての予測ブロックを生成し得る。本開示の少なくともいくつかの例では、「に基づいて」という句は、「に少なくとも部分的に基づいて」と解釈され得る。さらに、ビデオブロックがイントラ予測されるとき、ビデオコーダは、ビデオブロック向けのイントラ予測モードを記述するデータを生成することができる。
【００４０】
[0049]ビデオブロックがインターモード符号化される（すなわち、インター予測される）とき、ビデオコーダは、そのビデオブロックを含むピクチャ以外の１つまたは複数のピクチャ中のブロックのピクセル値に基づいて、ビデオブロックについての予測ブロックを生成することができる。さらに、ビデオブロックがインター予測されるとき、ビデオコーダは、ビデオブロックについての１つまたは複数の動きベクトルを判断することができる。たとえば、ビデオブロックは、ビデオブロックについての動きベクトルを定義する情報を含み得る。ビデオブロックについての動きベクトルは、そのビデオブロックと同じビュー中の参照ピクチャ中の場所を指すこともでき、別のビュー中の参照ピクチャ中の場所を指すこともできる。いくつかの例では、ブロックについての動きベクトルを定義するデータは、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（a resolution）（たとえば、１／４ピクセル精度（pixel precision）または１／８ピクセル精度）とを記述する。加えて、ビデオブロックがインター予測されるとき、ビデオブロックは、動きベクトルがポイントする参照ピクチャを識別するデータなどの参照インデックス情報、および／または動きベクトルが適用される参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０もしくはＲｅｆＰｉｃＬｉｓｔ１）を含む場合がある。
【００４１】
[0050]Ｈ．２６４／ＡＶＣは、ルーマ成分（luma components）に対しては１６×１６、８×８、または４×４の、およびクロマ成分（chroma components）に対しては８×８の、ブロックサイズ向けのイントラ予測をサポートする。Ｈ．２６４／ＡＶＣは、ルーマ成分に対しては１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４など、様々なブロックサイズ、およびクロマ成分に対しては、対応するスケーリングされたサイズ、におけるインター予測をサポートする。本開示では、「Ｎ×（x）Ｎ」と「Ｎ×（by）Ｎ」は、垂直寸法および水平寸法に関するブロックのピクセル寸法（pixel dimensions）（たとえば、１６×（x）１６ピクセルまたは１６×（by）１６ピクセル）を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６個のピクセルを有し（ｙ＝１６）、水平方向に１６個のピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のピクセルを有し、水平方向にＮ個のピクセルを有し、ここでＮは非負整数値を表す。ブロック中のピクセルは行および列で配列され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００４２】
[0051]インターマクロブロック（inter macroblock）（ＭＢ）とは、インター予測を使ってコーディングされたマクロブロックである。Ｈ．２６４／ＡＶＣにおいて、各インターＭＢは、４つの異なる方式に区分され得る。  
・１つの１６×１６ＭＢ区分（One 16x16 MB partition）、  
・２つの１６×８ＭＢ区分、  
・２つの８×１６ＭＢ区分、および  
・４つの８×８ＭＢ区分。
【００４３】
[0052]１つのＭＢ中の異なるＭＢ区分は、方向（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）ごとに異なる参照インデックス値（reference index values）を有し得る。概して、参照インデックス値は、参照ピクチャリスト中の参照ピクチャを指す。したがって、ビデオコーダは、異なる参照ピクチャに基づいて、１つのインターＭＢの異なるＭＢ区分についての予測ブロックを生成することができる。ＭＢが４つの８×８ＭＢ区分に区分されないとき、そのＭＢはＭＢ区分全体について各方向に１つの動きベクトルしか有し得ない。
【００４４】
[0053]ＭＢが、４つの８×８ＭＢ区分に区分されるとき、各８×８ＭＢ区分はサブブロックにさらに区分され得る。８×８のＭＢ区分をサブブロックに区分する４つの異なる方法がある。  
・１つの８×８サブブロック、  
・２つの８×４サブブロック、  
・２つの４×８サブブロック、および  
・４つの４×４サブブロック。
【００４５】
[0054]各サブブロックは、各方向に異なる動きベクトルを有し得る。Ｂスライスとは、ビデオブロックが双方向インター予測を使って符号化されることをその中で許可されるスライスである。双方向インター予測を使って符号化されたビデオブロックは、２つの異なる参照ピクチャリスト中の参照ピクチャを指す２つの動きベクトルを有する。言い換えると、Ｂスライス中の各サブブロックは、ＲｅｆＰｉｃＬｉｓｔ０動きベクトルとＲｅｆＰｉｃＬｉｓｔ１動きベクトルとを有し得る。「サブブロック区分（sub−block partition）」とは、８×８ＭＢ区分がどのようにサブブロックに区分されるかを指すのに使われる用語である。言い換えると、８×８ＭＢ区分は、サブブロック区分と名付けられたサブブロックに区分される。
【００４６】
[0055]Ｈ．２６４／ＡＶＣにおいて、ピクチャのマクロブロックのイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ２０は、マクロブロックについての残差データを算出することができる。残差データは、符号化されていないピクチャのピクセルと、マクロブロックについての対応する予測値との間のピクセル差分に対応し得る。変換係数を生成するための任意の変換の適用に続いて、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度（bit depth）を低減させることができる。たとえば、ビデオエンコーダ２０は、量子化中にｎビット値をｍビット値に切り捨て（round down）てよく、ここで、ｎはｍよりも大きい。
【００４７】
[0056]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトル（a serialized vector）を生成するために、量子化された変換係数（quantized transform coefficients）を走査するためにあらかじめ定義された走査順序を利用する。他の例では、ビデオエンコーダ２０は適応走査（an adaptive scan）を実施する。いくつかの例では、ビデオエンコーダ２０が、量子化された変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、コンテキスト適応可変長コーディング（context adaptive variable length coding）（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術コーディング（context adaptive binary arithmetic coding）（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応バイナリ算術コーディング（syntax−based context−adaptive binary arithmetic coding）（ＳＢＡＣ）、確率インターバル区分エントロピー（Probability Interval Partitioning Entropy）（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化する。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化することができる。ビデオエンコーダ２０は、エントロピー符号化されたシンタックス要素と、他のシンタックス要素とをビットストリーム中に含み得る。
【００４８】
[0057]ビデオデコーダ３０は、ビデオエンコーダ２０の技法の逆を実装し得る。たとえば、ビデオデコーダ３０は、符号化ビデオビットストリームを復号することができ、逆量子化および逆変換によって残差ブロックを判断することができる。ビデオデコーダ３０は、ピクチャ内のブロックについてのピクセル値を判断するために、残差ブロックを、あらかじめ復号されたピクチャのブロックと合計すればよい。
【００４９】
[0058]ビデオエンコーダ２０およびビデオデコーダ３０は、本開示で説明する技法を実装するように構成され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、本開示に記載する技法を使用して視差ベクトルを導出するように構成され得る。「ビデオコーダ」という用語は、ビデオエンコーダ２０またはビデオデコーダ３０を指すことができ、「コーディング」という用語は、符号化または復号を指すことができる。いくつかの例では、ビデオデコーダ３０は、本開示で説明する技法を実装するように構成され得るが、ビデオエンコーダ２０はそうではなくてよく、または逆も成り立つ。
【００５０】
[0059]上記で指摘したように、ＭＶＣは、Ｈ．２６４／ＡＶＣの拡張である。ＭＶＣでは、異なる視点からの同じシーンの複数のビューがあり得る。マルチビューコーディングのコンテキストでは、「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指し得る。したがって、ビデオデータは、時間とともに生じる一連のアクセスユニットとして概念化され得る。
【００５１】
[0060]マルチビューコーディングでは、ビットストリームは複数のレイヤを有し得る。これらのレイヤの各々は、異なるビューに対応し得る。マルチビューコーディングでは、ビデオデコーダ（たとえば、ビデオデコーダ３０）が、あるビュー中のピクチャを他のビュー中のピクチャと無関係に復号することができる場合、そのビューは「ベースビュー」と呼ばれることがある。ビューは、そのビュー中のピクチャの復号が１つまたは複数の他のビュー中のピクチャの復号に依存する場合、「非ベースビュー（non−base view）」または「依存ビュー（dependent view）」と呼ばれ得る。
【００５２】
[0061]ＭＶＣは、ビュー間予測ならびに時間的インター予測をサポートする。ビュー間予測において、ビデオコーダは、ビュー間参照ピクチャのサンプルに基づいて、現在のビデオブロックについての予測ブロックを判断する。ビュー間参照ピクチャは、ビデオコーダが現在コーディングしているピクチャ（すなわち、現在のピクチャ）と同じ時間インスタンス中にあるが、現在のピクチャとは異なるビュー中にある参照ピクチャである。したがって、ＭＶＣにおいて、ビュー間予測は、ビューの間の相関を取り除くために、同じアクセスユニット内の（すなわち、同じ時間インスタンスをもつ）異なるビュー中でキャプチャされたピクチャの間で実施される。時間的インター予測において、ビデオコーダは、時間的参照ピクチャのサンプルに基づいて、現在のビデオブロックについての予測ブロックを判断する。時間的参照ピクチャは、ビデオコーダが現在コーディングしているブロック（すなわち、現在のピクチャ）と同じビュー中にあるが、現在のピクチャとは異なる時間インスタンス中にある参照ピクチャである。
【００５３】
[0062]マルチビュービデオコーディングのコンテキストでは、２種類の動きベクトルが存在する。１つの種類の動きベクトルは、時間的参照ピクチャをポイントする通常の（すなわち、時間的）動きベクトルであり、対応する時間的インター予測は動き補償予測（motion−compensated prediction）（ＭＣＰ）である。もう１つの種類の動きベクトルは、異なるビュー中のピクチャ（すなわち、ビュー間参照ピクチャ）をポイントする視差動きベクトル（a disparity motion vector）であり、対応するインター予測は視差補償予測（disparity−compensated prediction）（ＤＣＰ）である。ビュー間予測を用いてコーディングされたピクチャが、他の非ベースビューのビュー間予測用の参照ピクチャリスト中に追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャと同じように、参照ピクチャリストの任意の位置に置かれ得る。
【００５４】
[0063]図２は、例示的なマルチビュービデオコーディングの時間的予測およびビュー間予測の構造を示す概念図である。言い換えると、マルチビュービデオコーディングに対する典型的なＭＶＣ予測（各ビュー内のピクチャ間予測（inter−picture prediction）とビュー間予測の両方を含む）構造を、図２に示す。図２の例では、予測は矢印によって示され、矢印の終点のオブジェクト（pointed−to object）は、予測の基準のために矢印の始点のオブジェクト（pointed−from object）を使用する。
【００５５】
[0064]図２の例では、各正方形がビューコンポーネントに対応する。図２の例では、アクセスユニットがＴ０〜Ｔ１１と標示され、ビューがＳ０〜Ｓ７と標示される。「Ｉ」と標示される正方形は、イントラ予測されたビューコンポーネントである。「Ｐ」と標示される正方形は、単方向にインター予測されたビューコンポーネントである。「Ｂ」および「ｂ」と標示される正方形は、双方向にインター予測されたビューコンポーネントである。「ｂ」と標示される正方形は、「Ｂ」と標示される正方形を参照ピクチャとして使用し得る。第１の正方形から第２の正方形を指す矢印は、第１の正方形が、インター予測において、第２の正方形のための参照ピクチャとして利用可能であることを示す。図２の垂直矢印で示すように、同じアクセスユニットの異なるビュー中のビューコンポーネントは、参照ピクチャとして利用可能であり得る。アクセスユニットの１つのビューコンポーネントを同じアクセスユニットの別のビューコンポーネントのための参照ピクチャとして使用することは、ビュー間予測と呼ばれることがある。
【００５６】
[0065]マルチビューおよび３Ｄビデオコーディングのコンテキストでは、「ビューコンポーネント」は、単一のアクセスユニット中のビューのコード化表現であり得る。ビューがコード化テクスチャ（texture）表現とコード化深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネント（a texture view component）および深度ビューコンポーネント（a depth view component）から構成される。ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントとを備え得る。したがって、各テクスチャビューコンポーネントは対応する深度ビューコンポーネントを有し得る。概して、テクスチャビューコンポーネントはビデオコンテンツ（たとえば、ピクセル値のルーマ成分およびクロマ成分）を含み、深度ビューコンポーネントはテクスチャビューコンポーネント内のピクセルの相対深度を示し得る。各ビューのための複数のビデオピクチャはテクスチャビューコンポーネントと呼ばれることがある。本開示では、「ビュー」は、同じビュー識別子に関連付けられたビューコンポーネントのシーケンスを指すことがある。
【００５７】
[0066]より具体的には、テクスチャビューコンポーネント（すなわち、テクスチャピクチャ）は、単一のアクセスユニット中のビューのテクスチャのコード化表現であり得る。テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分と、クロマ（ＣｂおよびＣｒ）成分とを含み得る。テクスチャビューは、ビュー順序インデックスの同一の値と関連付けられるテクスチャビューコンポーネントのシーケンスであり得る。ビューのビュー順序インデックスは、他のビューに対するそのビューのカメラ位置を示し得る。
【００５８】
[0067]本開示の技法は、テクスチャデータと深度データとをコーディングすることによって３Ｄビデオデータをコーディングすることに関する。概して、「テクスチャ（texture）」という用語は、画像のルミナンス（すなわち、輝度または「ルーマ」）値と画像のクロミナンス（すなわち、色または「クロマ」）値とを説明するために使用される。いくつかの例では、テクスチャ画像は、１セットのルミナンスデータと、青色相（blue hues）（Ｃｂ）および赤色相（Ｃｒ）のための２セットのクロミナンスデータとを含み得る。４：２：２または４：２：０などの特定のクロマサンプリングフォーマットでは、クロマデータは、ルーマデータに関してダウンサンプリングされる。すなわち、クロミナンスピクセルの空間解像度は、対応するルミナンスピクセルの空間解像度よりも低く、たとえば、ルミナンス解像度の１／２または１／４であり得る。
【００５９】
[0068]深度ビューコンポーネント（すなわち、深度ピクチャ）は、単一のアクセスユニット中のビューの深度のコード化表現であり得る。深度ビューは、ビュー順序インデックスの同一の値と関連付けられる深度ビューコンポーネントのシーケンスであり得る。深度ビューコンポーネントは、それの対応するテクスチャビューコンポーネント内のピクセルの相対深度を示すことができる。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビューコンポーネントは、任意の画像コンテンツを伝達するのではなく、テクスチャビューコンポーネント中のピクセルの相対深度の測定値を提供し得る。
【００６０】
[0069]いくつかの例において、深度ビューコンポーネント中の純白のピクセルは、対応するテクスチャビューコンポーネント中の、それの対応する１つまたは複数のピクセルがビューアの視点から見てより近いことを示し、深度ビューコンポーネント中の純黒のピクセルは、対応するテクスチャビューコンポーネント中のそれの対応する１つまたは複数のピクセルがビューアの視点から見てより遠いことを示す。黒と白との間にあるグレーの様々な色合い（shades）は、様々な深度レベルを示す。たとえば、深度ビューコンポーネント中の濃いグレーのピクセルは、テクスチャビューコンポーネント中の、それの対応する１つのピクセルまたは複数のピクセルが、深度ビューコンポーネント中の薄いグレーのピクセルよりも遠いことを示し得る。ピクセルの深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネントの色値がいかなる目的も果たし（serve）得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。深度を識別するためにルーマ値（たとえば、強度値（intensity values））のみを使用する深度ビューコンポーネントは、例示のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント中のピクセルの相対深度を示すために他の技法が利用され得る。
【００６１】
[0070]深度データは、概して、対応するテクスチャデータの深度値を記述する。たとえば、深度画像は、各々が対応するテクスチャデータの深度を表す深度ピクセルのセットを含み得る。ビデオコーダは、対応するテクスチャデータの水平視差を判断するために深度データを使い得る。したがって、テクスチャデータと深度データとを受信するデバイスは、一方のビュー（たとえば、左眼ビュー）のための第１のテクスチャ画像を表示することができ、深度値に基づいて判断された水平視差値だけ第１の画像のピクセル値をオフセットすることによって、他方のビュー（たとえば、右眼ビュー）のための第２のテクスチャ画像を生成するように第１のテクスチャ画像を変更するために深度データを使用することができる。概して、水平視差（または単に「視差」）は、第２のビュー中の対応するピクセルに対する第１のビュー中のピクセルの水平空間オフセットについて記述するものであり、ここで２つのピクセルは２つのビュー中で表される同じオブジェクトの同じ部分に対応する。
【００６２】
[0071]さらに他の例では、画像プレーン（image plane）に対して垂直であるｚ次元におけるピクセルについて深度データが定義され得、その結果として、画像について定義されたゼロ視差プレーン（a zero disparity plane）に対する、所与のピクセルに関連する深度が定義される。そのような深度は、所与のピクセルを表示するための水平視差を作成するために使用されてよく、その結果として、所与のピクセルは、ゼロ視差プレーンに対する所与のピクセルのｚ次元深度値に応じて、左眼と右眼とで異なるように表示される。ゼロ視差プレーンはビデオシーケンスの異なる部分に対して変化し得、ゼロ視差プレーンに対する深度の量も変化し得る。ゼロ視差プレーン上に配置されたピクセルは左眼および右眼に対して同様に定義され得る。ゼロ視差プレーンの前に配置されたピクセルは、そのピクセルが画像プレーンに対して垂直であるｚ方向の画像から出てくるように見える知覚を作成するように、（たとえば、水平視差を用いて）左眼および右眼に対して異なるロケーションで表示され得る。ゼロ視差プレーンの後に配置されたピクセルは、深度のわずかな知覚を提示するために、わずかなぼかし（a slight blur）とともに表示され得るか、または（たとえば、ゼロ視差プレーンの前に配置されたピクセルの水平視差とは反対の水平視差を用いて）左眼および右眼に対して異なるロケーションで表示され得る。他の多くの技法も、画像の深度データを伝達または定義するために使用され得る。
【００６３】
[0072]深度ビューコンポーネント内のピクセルごとに、１つまたは複数の対応するピクセルがテクスチャビューコンポーネント内に存在する可能性がある。たとえば、深度ビューコンポーネントの空間解像度とテクスチャビューコンポーネントの空間解像度が同じである場合、深度ビューコンポーネント中の各ピクセルはテクスチャビューコンポーネント中の１つのピクセルに対応する。深度ビューコンポーネントの空間解像度がテクスチャビューコンポーネントの空間解像度よりも小さい場合、深度ビューコンポーネント中の各ピクセルは、テクスチャビューコンポーネント中の複数のピクセルに対応する。深度ビューコンポーネント中のピクセルの値は、テクスチャビュー中の対応する１つまたは複数のピクセルの相対深度を示し得る。
【００６４】
[0073]いくつかの例では、ビデオエンコーダ２０は、ビューの各々についてのテクスチャビューコンポーネントと、対応する深度ビューコンポーネントと、のビデオデータをシグナリングする。ビデオデコーダ３０は、テクスチャビューコンポーネントと深度ビューコンポーネントとの両方のビデオデータを利用して、表示のためにビューのビデオコンテンツを復号することができる。ディスプレイ（たとえば、ディスプレイデバイス３２）は次いで、３Ｄビデオを生じるためにマルチビュービデオを表示する。
【００６５】
[0074]３Ｄ−ＡＶＣは、ベースビューのテクスチャ部がＨ．２６４／ＡＶＣデコーダ用に十分に復号可能であるように、Ｈ．２６４／ＡＶＣと互換性がある。３Ｄ−ＡＶＣにおける拡張型ビューコンポーネントに対して、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、深度ビューコンポーネントを、対応するテクスチャビューコンポーネントに先立ってコーディングする（たとえば、符号化または復号する）ことができる。さらに、ビデオコーダは、深度ビューコンポーネントからの情報に基づいてテクスチャビューコンポーネントをコーディングすることができる。したがって、３Ｄ−ＡＶＣは、深度優先コーディング（a depth−first coding）として知られるコーディング順序を使い得る。対照的に、ビデオコーダは、テクスチャ優先コーディング順序（texture−first coding order）で、各テクスチャビューコンポーネントを、それぞれの深度ビューコンポーネントの前にコーディングすることができる。
【００６６】
[0075]一例では、３Ｄ−ＡＶＣにおけるテクスチャおよび深度ビューコンポーネントのコーディング順序は、次のように例示され得る。この例では、Ｔ０およびＤ０は、それぞれ、ベースビューのテクスチャおよび深度ビューコンポーネントを指す。さらに、この例では、ＴｉおよびＤｉは、それぞれ、第ｉの依存ビューのテクスチャおよび深度ビューコンポーネントを指す。この例では、ビデオコーダは以下の３つのビューを使う。  
・Ｔ０、Ｄ０、Ｄ１、Ｄ２、Ｔ１、Ｔ２：ベースビュー（Ｔ０およびＤ０）は、テクスチャ優先コーディング順序を用いてコーディングされ、依存ビューは、深度優先コーディング順序を用いてコーディングされる。ハイブリッドコーディング順序が現在、３Ｄ−ＡＶＣの共通テスト条件において使われている。  
・Ｔ０、Ｄ０、Ｔ１、Ｄ１、Ｔ２、Ｄ２：ビューコンポーネントはすべて、テクスチャ優先コーディング順序を用いてコーディングされる。
【００６７】
[0076]ビュー間予測がＴｉについて可能にされている場合、参照テクスチャビューは、ビュー間参照ピクチャを含むビューとして定義され、対応する深度ビューは、参照テクスチャビューのものと同じビュー順序インデックスを有する参照深度ビューとして定義される。
【００６８】
[0077]３Ｄ−ＡＶＣにおいて、ビデオコーダは、通常のインター予測モード向けの深度ベースの動きベクトル予測（depth−based motion vector prediction）（Ｄ−ＭＶＰ）を実施することができる。動きベクトル予測は、ビデオブロックについての動きベクトルの予測を備え得る。本開示において、「通常の（normal）」インター予測モードという用語は、スキップモードまたはダイレクトモード以外のインター予測モードを指し得る。Ｄ−ＭＶＰは、現在のビューの関連付けられた深度マップデータ（depth map data）を使う動きベクトル予測方法を指す。現在のビューについての関連付けられた深度マップデータは、３Ｄ−ＡＶＣにおいて使われる深度優先コーディング順序により、３Ｄ−ＡＶＣにおいて利用可能である。ビデオコーダは、依存ビュー中のテクスチャビューコンポーネントを用いてＤ−ＭＶＰを適用することができる。
【００６９】
[0078]３Ｄ−ＡＶＣにおいて、動きベクトル予測は隣接ブロックを使う。隣接ブロックは、現在のブロックの左ブロックと、上ブロックと、右上ブロックと、左上ブロックとを、この順序で含む。ビデオコーダは、左上ブロック中の動きベクトルのみを、他の３つの隣接ブロック（すなわち、左ブロック、上ブロック、および右上ブロック）のうちの１つが動きベクトルを含まず、したがって利用不可能であると見なされるときのみ、使うことができる。
【００７０】
[0079]隣接ブロックからの動きベクトルは、動きベクトルが、予測されるべき現在の動きベクトルとは異なるタイプを有する場合、利用不可能と見なされる。たとえば、隣接ブロックからの動きベクトルは、隣接ブロックからの動きベクトルが視差動きベクトルであり、予測されるべき動きベクトルが時間的動きベクトルである場合、利用不可能であると見なされ、または逆も同様である。動きベクトルのタイプは、対応する参照インデックスに依存する。つまり、参照インデックスがビュー間参照ピクチャに対応する場合、動きベクトルは視差動きベクトルであるとともにタイプは「視差」であり、参照インデックスが時間的参照ピクチャ（すなわち、現在のピクチャと同じビュー中の参照ピクチャ）に対応する場合、動きベクトルは時間的動きベクトルであるとともにタイプは「時間」である。
【００７１】
[0080]３Ｄ−ＡＶＣにおいて、隣接ブロックのうちの３つが利用可能である場合、ビデオコーダは、３つの隣接ブロック中の動きベクトルを、現在のブロックの動きベクトル予測に利用することができる。時間的インター予測において、３つの隣接ブロックの動きベクトルがすべて、同じタイプを有し、すべてが同じ参照インデックスを有する場合、ビデオコーダは、Ｈ．２６４／ＡＶＣのセクション８．４．１．３．１に記載されているように、中央値フィルタ（median filter）を直接使うことができる。Ｈ．２６４／ＡＶＣのセクション８．４．１．３．１を、以下に再現する。  
８．４．１．３．１  中央値ルーマ動きベクトル予測のための導出プロセス  
このプロセスへの入力は以下の通りである：  
−隣接区分ｍｂＡｄｄｒＮ＼ｍｂＰａｒｔＩｄｘＮ＼ｓｕｂＭｂＰａｒｔＩｄｘＮ（Ｎは、Ａ、Ｂ、またはＣで置き換えられる）、  
−隣接区分（neighbouring partitions）の動きベクトルｍｖＬＸＮ（Ｎは、Ａ、Ｂ、またはＣで置き換えられる）、  
−隣接区分の参照インデックスｒｅｆＩｄｘＬＸＮ（Ｎは、Ａ、Ｂ、またはＣで置き換えられる）、  
−現在の区分（current partition）の参照インデックスｒｅｆＩｄｘＬＸ。  
このプロセスの出力は、動きベクトル予測ｍｖｐＬＸである。  
変数ｍｖｐＬＸは、以下の順序付きステップによって指定されるように導出される：  
１．両方の区分ｍｂＡｄｄｒＢ＼ｍｂＰａｒｔＩｄｘＢ＼ｓｕｂＭｂＰａｒｔＩｄｘＢおよびｍｂＡｄｄｒＣ＼ｍｂＰａｒｔＩｄｘＣ＼ｓｕｂＭｂＰａｒｔＩｄｘＣが利用可能でなく、ｍｂＡｄｄｒＡ＼ｍｂＰａｒｔＩｄｘＡ＼ｓｕｂＭｂＰａｒｔＩｄｘＡが利用可能であるとき、  
mvLXB = mvLXA                                 (8−207)  
mvLXC = mvLXA                                 (8−208)  
refIdxLXB = refIdxLXA                          (8−209)  
refIdxLXC = refIdxLXA                          (8−210)  
２．参照インデックスｒｅｆＩｄｘＬＸＡ、ｒｅｆＩｄｘＬＸＢ、またはｒｅｆＩｄｘＬＸＣに依存して、以下が適用される：  
−参照インデックスｒｅｆＩｄｘＬＸＡ、ｒｅｆＩｄｘＬＸＢ、またはｒｅｆＩｄｘＬＸＣのうちのただ１つが、現在の区分の参照インデックスｒｅｆＩｄｘＬＸに等しい場合、以下が適用される。ｒｅｆＩｄｘＬＸＮを、ｒｅｆＩｄｘＬＸに等しい参照インデックスとし、動きベクトルｍｖＬＸＮは、動きベクトル予測ｍｖｐＬＸに割り当てられる：  
mvpLX = mvLXN                                  (8−211)  
−それ以外の場合、動きベクトル予測の各成分ｍｖｐＬＸは、動きベクトルの対応するベクトル成分ｍｖＬＸＡ、ｍｖＬＸＢ、およびｍｖＬＸＣの中央値（median）によって与えられる：  
mvpLX[ 0 ] = Median( mvLXA[ 0 ], mvLXB[ 0 ], mvLXC[ 0 ] )    (8−212)  
mvpLX[ 1 ] = Median( mvLXA[ 1 ], mvLXB[ 1 ], mvLXC[ 1 ] )    (8−213)
【００７２】
[0081]それ以外の場合（３つの隣接ブロックの動きベクトルが、異なるタイプに属し、異なる参照インデックスを有する場合）、ビデオコーダは、動きベクトルをさらに導出すればよい。動きベクトルは、動きベクトル予測子を判断するために使われ得る。現在の参照ピクチャがビュー間参照ピクチャであるとき、ビデオコーダは、隣接ブロック位置にある、動きベクトルタイプと、それらの参照インデックスとを検査する。動きベクトルがすべて、同じタイプと同じ参照インデックスとを有する場合、ビデオコーダは中央値フィルタを適用する。３未満の隣接ブロックが利用可能である場合、ビデオコーダは、３つの隣接ブロックが利用可能になるように（すなわち、ビデオコーダが、利用可能な視差動きベクトルを有する３つの隣接ブロックを識別するように）利用不可能なブロックについての動きベクトルをさらに導出する。
【００７３】
[0082]たとえば、空間的隣接ブロックが、利用可能な時間的動きベクトルを含まない場合、ビデオコーダは、現在のブロックについての時間的動きベクトルを予測すればよい。ビデオコーダは、３Ｄ−ＡＶＣにおけるブロックベースのビュー合成予測に関連した本開示の部分で説明したように導出された視差ベクトルによって、参照ビューピクチャ中の現在のブロックの参照ブロックを識別することができる。参照ブロックの中心位置を含むブロックの動きベクトルが時間的動きベクトルである場合、ビデオコーダは、現在の空間的隣接ブロック用の参照ブロックの中心位置を含むブロックの動きベクトルを導出する。時間的動きベクトルが利用不可能であると見なされる（たとえば、参照ブロックがイントラブロックであるか、または時間的動きベクトルが、現在の参照ピクチャと整列された、参照ビュー中の参照ピクチャをポイントしない）場合、ビデオコーダは、導出された動きベクトルをゼロに設定する。
【００７４】
[0083]空間的隣接ブロックが、利用可能な視差動きベクトルを含まず、現在のブロックについて視差動きベクトルが予測されるべきである場合、ビデオコーダは、３Ｄ−ＡＶＣにおけるブロックベースのビュー合成予測に関連した本開示の部分で説明したように、現在のブロック用に導出された視差ベクトルを、視差動きベクトルにコンバートすればよい。
【００７５】
[0084]３Ｄ−ＡＶＣにおいて、Ｄ−ＭＶＰ方法は、Ｈ．２６４／ＡＶＣにおける従来の中央値関数ベースの動きベクトル予測に組み込まれる。したがって、空間的隣接ブロック中の動きベクトルが利用可能である（または元々利用可能でないが、上記で言及した方法で利用可能にされる）とき、ビデオコーダは、依然として３つの動きベクトルに中央値関数を適用することができる。ただし、３つの動きベクトルはすべて、同じタイプに属すべきである。
【００７６】
[0085]多くの事例において、ビデオコーダが現在コーディングしているブロック（すなわち、現在のブロック）の動きベクトルは、ビュー間参照ピクチャ中の対応するブロックの動きベクトルと同様である。したがって、いくつかの例では、ビデオコーダは、対応するブロックの動きベクトルを、現在のブロックの動きベクトルの予測子として使うことができる。「ビュー間動き予測（inter−view motion prediction）」という用語は、ビデオコーダが現在コーディングしているブロックの動き情報の予測子としての、ビュー間参照ピクチャ中の対応するブロックの動き情報（たとえば、動きベクトル）の使用を指し得る。
【００７７】
[0086]同様に、ビデオコーダが現在コーディングしているブロックの残差データは、ビュー間参照ピクチャ中の対応するブロックの残差データと同様であり得る。したがって、いくつかの例では、ビデオコーダは、対応するブロックの残差データを、現在のブロックの残差データの予測子（a predictor）として使うことができる。「ビュー間残差予測（inter−view residual prediction）」という用語は、ビデオコーダが現在コーディングしているブロックの残差データの予測子としての、ビュー間参照ピクチャ中の対応するブロックの残差データの使用を指し得る。
【００７８】
[0087]３Ｄ−ＡＶＣにおいて、ビデオコーダは、スキップおよびダイレクトモードを使ってコーディングされたブロックについてのビュー間動き予測を実施することができる。ＭＢやＭＢ区分などのビデオブロックがスキップモードでコーディングされるとき、ビデオブロックについてはどの動きデータも残差データもシグナリングされない。たとえば、Ｈ．２６４／ＡＶＣにおいて、スキップされるＭＢとは、ＭＢが「スキップされる」として復号されるべきであるという指示以外のどのデータもコーディングされないＭＢである。ビデオブロックがダイレクトモードを使ってコーディングされるとき、ビデオブロックについてはどの動きベクトルもコーディングされない。たとえば、Ｈ．２６４／ＡＶＣにおいて、ダイレクト予測は、どの動きベクトルもそれについて復号されないブロック（すなわち、サンプルのＭ×Ｎアレイ）についてのインター予測である。ビデオブロックがダイレクトモードを使ってコーディングされるとき、残差データがビデオブロックについてシグナリングされ得る。言い換えると、ビデオブロックがダイレクトモードを使ってコーディングされるとき、ビデオエンコーダは、ビットストリーム中に、ビデオデコーダがブロックについての残差データをそこから判断し得るためのデータ（たとえば、シンタックス要素）を含み得るが、ビデオデコーダがブロックについての動き情報をそこから判断し得るためのデータ（たとえば、シンタックス要素）は含まない。同様に、ビデオブロックがダイレクトモードを使ってコーディングされるとき、ビデオデコーダは、ビットストリームから、ビデオデコーダがブロックについての残差データをそこから判断し得るためのデータ（たとえば、シンタックス要素）を取得することができるが、ビットストリームから、ビデオデコーダがブロックについての動き情報をそこから判断するためのデータは取得しない。
【００７９】
[0088]Ｈ．２６４／ＡＶＣ規格のセクション７．３．５および７．４．５に記載されているように、マクロブロック用のｍａｃｒｏｂｌｏｃｋ＿ｌａｙｅｒシンタックス構造は、マクロブロックについてのマクロブロックタイプを指定するｍｂ＿ｔｙｐｅシンタックス要素を含み得る。ｍｂ＿ｔｙｐｅシンタックス要素のセマンティクスは、マクロブロックを含むスライスのスライスタイプに依存する。スライスがＰスライスである場合、マクロブロックタイプはＰ＿Ｓｋｉｐタイプを含む。マクロブロックのマクロブロックタイプがＰ＿Ｓｋｉｐである場合、ビットストリーム中のマクロブロックについて、さらなるデータは存在しない。スライスがＢスライスである場合、マクロブロックタイプは、Ｂ＿Ｓｋｉｐモードと、Ｂ＿Ｄｉｒｅｃｔ＿１６×１６モード（すなわち、Ｂ−１６×１６ダイレクトモード）とを含む。マクロブロックのマクロブロックタイプがＢ＿Ｓｋｉｐである場合、ビットストリーム中のマクロブロックについて、さらなるデータは存在しない。マクロブロックのマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿１６×１６である場合、ビットストリーム中のマクロブロックについては、動きベクトル差分も参照インデックスも存在しない。さらに、マクロブロックのマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿１６×１６であるとき、関数ＭｂＰａｒｔＷｉｄｔｈ（Ｂ＿Ｄｉｒｅｃｔ＿１６×１６）およびＭｂＰａｒｔＨｅｉｇｈｔ（Ｂ＿Ｄｉｒｅｃｔ＿１６×１６）が、ダイレクトモード予測のためのＨ．２６４／ＡＶＣ仕様のサブクローズ８．４．１における動きベクトルおよび参照フレームインデックスのための導出プロセスにおいて使われる。
【００８０】
[0089]さらに、ｍａｃｒｏｂｌｏｃｋ＿ｌａｙｅｒシンタックス構造は、１つまたは複数のｓｕｂ＿ｍｂ＿ｐｒｅｄシンタックス構造を含み得る。ｓｕｂ＿ｍｂ＿ｐｒｅｄシンタックス構造は、サブマクロブロックタイプを指定する４つのｓｕｂ＿ｍｂ＿ｔｙｐｅシンタックス要素を含み得る。サブマクロブロックタイプは、Ｂ＿Ｄｉｒｅｃｔ＿８×８モード（すなわち、Ｂ−８×８ダイレクトモード）を含む。サブマクロブロックのサブマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿８×８であるとき、ビットストリーム中のサブマクロブロックについては、動きベクトル差分も参照インデックスも存在しない。関数ＳｕｂＭｂＰａｒｔＷｉｄｔｈ（Ｂ＿Ｄｉｒｅｃｔ＿８×８）およびＳｕｂＭｂＰａｒｔＨｅｉｇｈｔ（Ｂ＿Ｄｉｒｅｃｔ＿８×８）は、ダイレクトモード予測のためのＨ．２６４／ＡＶＣ規格のサブクローズ８．４．１における、動きベクトルおよび参照フレームインデックス用の導出プロセスにおいて使われる。
【００８１】
[0090]特に、３Ｄ−ＡＶＣにおいて、ビデオコーダは、Ｐ＿ｓｋｉｐ、Ｂ＿ｓｋｉｐ、Ｂ＿Ｄｉｒｅｃｔ＿１６×１６、およびＢ＿８×８＿Ｄｉｒｅｃｔモードにおいてビュー間動き予測を実施することができる。これらのモードにおいて、ビデオコーダは、隣接ブロックから、または現在のＭＢに関連付けられた対応する深度ブロックからの導出視差ベクトルから、のいずれかで参照ブロックを識別するのに、視差ベクトルを使うことができる。深度マップによる視差ベクトル導出については、本開示において他の箇所で詳述する。
【００８２】
[0091]図３は、現在のマクロブロックに対する空間的ネイバーの例を示す概念図である。ビデオコーダは、３つの空間的隣接ブロックを、それの利用可能性（すなわち、空間的隣接ブロックが視差動きベクトルを有するかどうか）について検査する。３つの空間的隣接ブロックは、左の４×４ブロック（Ａ）、上の４×４ブロック（Ｂ）、右上の４×４ブロック（Ｃ）と定義される。いくつかの例では、Ｃが利用不可能であるとき、Ｃは、左上の４×４ブロック（Ｄ）で置き換えられ、これらのブロックを図３に示す。ただ１つの空間的隣接ブロックが利用可能である（すなわち、空間的隣接ブロックが視差動きベクトルを含む）場合、この視差動きベクトルが視差ベクトルになる。そうでない場合、（すなわち、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないか、または空間的隣接ブロックのうちの少なくとも２つが視差動きベクトルを含む）、ビデオコーダは、現在のＭＢに関連付けられた深度ブロックから導出された視差ベクトルを、視差動きベクトルを含まないブロックについての視差動きベクトルとして使う。３Ｄ−ＡＶＣにおけるブロックベースのビュー合成については、本開示において他の箇所で詳述する。その後、ビデオコーダは、視差ベクトルを得るために中央値フィルタを適用する。
【００８３】
[0092]ビデオコーダは、参照ビューピクチャ中の参照ブロックを判断するのに、上記プロセスから判断された視差ベクトルを使うことができる。参照ブロック内で、動きベクトル（すなわちビュー間動きベクトル）は、利用可能な場合、現在のブロックの動きベクトルに等しく設定され、現在のブロックの参照インデックスはそれに応じて導出される。
【００８４】
[0093]ビュー間動きベクトルが利用可能でない（すなわち、視差ベクトルによってポイントされるベースビュー中の参照ブロックがイントラコーディングされている）場合、ビデオコーダは、従来の中央値ベースの動きベクトル予測方式を使う。この場合、ビデオコーダは最初に、参照インデックスを導出し、ビデオコーダは、現在のＭＢについての動きベクトル予測を導出するために、通常のインターモードのための３Ｄ−ＡＶＣにおける深度ベースの動きベクトル予測（Ｄ−ＭＶＰ）に関連した本開示の部分で記載したＤ−ＭＶＰ方式を使う。
【００８５】
[0094]３Ｄ−ＡＶＣにおいて、ビデオコーダは、深度マップにより視差ベクトル導出を実施することができる。つまり、ビデオコーダが視差ベクトルをどのように導出するかは、各低レベルコーディングツールで変わり得るが、一般に、ビデオコーダは、深度優先コーディング順序により、テクスチャビューコンポーネントコーディングのために依存ビューの深度データを利用する。３Ｄ−ＡＶＣにおけるループ内ブロックベースビュー合成ビュー間予測（in−loop block−based view synthesis inter−view prediction）（ＢＶＳＰ）および深度ベースの動きベクトル予測（Ｄ−ＭＶＰ）は、主に、依存フレーム中の深度マップの深度値からコンバートされた視差ベクトルを使う低レベルコーディングツールである。３Ｄ−ＡＶＣにおいて、ビデオコーダは、実際の深度マップ値から、特定のビューに対する視差へのコンバージョンプロセスの結果を、カメラパラメータとともにルックアップテーブル中に記憶する。
【００８６】
[0095]３Ｄ−ＡＶＣの少なくともいくつかのバージョンにおいて、ビデオコーダは、対応する深度ブロックの４つのコーナーからの最大深度を使って視差ベクトル導出を実施することができる。たとえば、深度値を導出するために、ビデオコーダは最初に、深度ビューコンポーネントの参照深度ブロックを識別する。参照深度ブロックは、コロケートされる／現在のＭＢ／区分／サブブロックに対応する。ビデオコーダは、識別された参照深度ブロックの４つのコーナーにアクセスする。コーナーサンプルは、左上、右上、左下および右下の深度サンプルに対応する。ビデオコーダは次いで、４つのコーナー深度サンプルの最大をとることによって、深度値を算出する。最終的に、ビデオコーダは、算出された深度値を使って、ルックアップテーブルから視差ベクトルの水平成分を推論することができ、視差ベクトルの垂直成分は０に設定される。
【００８７】
[0096]この方法において、ＭＢが区分またはサブブロックに分けられると、アクセスされる深度サンプルの数が増す。たとえば、１６×１６ＭＢが４つの８×８区分に区分されると、アクセスされるべき深度サンプルの数は１６になる。１６×１６ＭＢが１６個の４×４区分に区分されると、アクセスされるべき深度サンプルの数は６４になる。
【００８８】
[0097]３Ｄ−ＡＶＣのいくつかのバージョンでは、ビデオコーダは、隣接ブロックベースの視差ベクトル導出（a neighboring block based disparity vector derivation）（ＮＢＤＶ）導出プロセスを使って視差ベクトルを導出することができる。ビデオコーダがＮＢＤＶ導出プロセスを使う少なくともいくつかの例では、ビデオコーダはテクスチャ優先コーディングを実施し得る。たとえば、ビデオコーダは、３Ｄ−ＡＶＣにおいて、ビューコンポーネントのテクスチャ成分を最初にコーディングすることができる。コーディングの一部として、ビデオコーダは、ビューコンポーネントの深度成分をコーディングすることなく、テクスチャ成分中のブロックについての視差ベクトルを判断することができる。
【００８９】
[0098]本開示の他の例において説明するように、ビデオコーダは、視差ベクトルを、２つのビューの間の視差の推定量として使うことができる。隣接ブロックは、ビデオコーディングにおいてほぼ同じ動き／視差情報を共有するので、ビデオコーダは、現在のブロックに隣接するブロック（すなわち、隣接ブロック）中の動きベクトル情報を、現在のブロックの動きベクトル情報の優れた予測子として使うことができる。この考えに従って、ビデオコーダは、異なるビューにおける視差ベクトルを推定するために隣接する視差情報を使用するＮＢＤＶ導出処理を実施することができる。
【００９０】
[0099]いくつかの空間的および時間的隣接ブロックが、３Ｄ−ＡＶＣのためのＮＢＤＶ導出プロセスに関して定義される。言い換えると、隣接ブロックの２つのセットが使用される。一方のセットは空間的隣接ブロックからのものであり、他方のセットは時間的隣接ブロック（temporal neighboring blocks）からのものである。ビデオコーダは、空間的および時間的隣接ブロック（すなわち、候補ブロック）の各々を、現在のブロックと候補ブロックとの間の相関の優先度で決定された、あらかじめ定義された順序で検査すればよい。ビデオコーダが候補ブロック中の視差動きベクトル（すなわち、ビュー間参照ピクチャをポイントする動きベクトル）を見つけると、ビデオコーダは、視差動きベクトルを視差ベクトルにコンバートする。
【００９１】
[0100]各々の内容が参照によって本明細書に組み込まれている、２０１３年２月２６日に出願した米国仮出願第６１／７６９，７１６号（以下では、「‘７１６号出願」）、２０１３年２月２７日に出願した第６１／７７０，２６３号（以下では、「‘２６３号出願」）、２０１３年３月４日に出願した第６１／７７２，３２１号（以下では、「‘３２１号出願」）、２０１３年３月１９日に出願した第６１／８０３，３８４号（以下では、「‘３８４号出願」）、および２０１３年４月２４日に出願した第６１／８１５，６５６号（以下では、「‘６５６号出願」）に記載されているように、ビデオコーダは、現在のＭＢについての視差ベクトルを導出するのに、ＭＢレベルのＮＢＤＶ導出プロセスを使うことができ、視差ベクトルを動きベクトル予測にさらに使うことができる。ビデオコーダが視差動きベクトルを識別すると（すなわち、ビデオコーダが、ビュー間参照ピクチャを使う、時間的または空間的隣接ブロックのうちの１つを識別すると）、視差動きベクトルは、現在のＭＢについての視差ベクトルとして戻される。
【００９２】
[0101]参照によりその内容全体が本明細書に組み込まれている、２０１３年２月２７日に出願した米国仮出願第６１／７７０，２６８号（以下では、「‘２６８号出願」）において、ビデオコーダは、対応する深度ブロックにアクセスすることによって、ＮＢＤＶ導出プロセスから導出された視差ベクトルをさらに洗練することができる。たとえば、ビデオコーダは、（視差ベクトルによって識別された）参照ビューの深度ブロックの４つのコーナーの深度値にアクセスし、深度ブロックの４つのコーナーの深度値の中から最大深度値を選び、最大深度値を視差ベクトルにコンバートすることができる。
【００９３】
[0102]‘２６８号出願では、ＢＶＳＰが、特定のやり方で各４×４または８×８ブロック用に使用され、対応する深度ブロックは、視差動きベクトルを生じるのに使われる。たとえば、各ＭＢ区分に対して、ＢＶＳＰモード（すなわち、合成参照成分から予測される）を用いてＭＢ区分がコーディングされる場合、１つの洗練された視差ベクトルが、現在のＭＢ区分の各サブ領域について導出される。サブ領域のサイズは、Ｋ×Ｋ（Ｋは８であり得る）で示すことができ、現在のピクチャに対する現在のＭＢ区分内の１つのサブ領域の左上位置は（ｘ，ｙ）で示すことができ、現在のＭＢについての、ＮＢＤＶ導出プロセスからの導出された視差ベクトルまたはＮＢＤＶ導出プロセスを実施した後の更新された視差ベクトルは（ＤＶ［０］，ＤＶ［１］）で示すことができ、ここにおいてＤＶ［０］およびＤＶ［１］は、視差ベクトルの水平および垂直成分を示す。参照深度ビュー中の４つのコーナーピクセルから、１つの深度値（Ｄ）が選択される：  
D = max (D0, D1, D2, D3)  
上式で、関数ｍａｘ（・）は、Ｄｉ（ｉは０〜３である）の最大値を戻し、Ｄｉは、次に配置されている第ｉのピクセル値を示す：  
i=0: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )  
i=1: ((x + (DV[0] >> P) + K−1) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )  
i=2: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P) + K−1) >> reduced_resolution_flag )  
i=1: ((x + (DV[0] >> P) + K−1) >> reduced_resolution_flag, (y + (DV[1] >> P) + K−1) >> reduced_resolution_flag )
【００９４】
[0103]上の式において、１に等しいｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、ビューコンポーネントペアの深度ビューコンポーネントが、同じビューコンポーネントペアのテクスチャビューコンポーネントのルーマ成分よりも低い空間的解像度を有し、深度ビューコンポーネントの幅および高さが両方とも、テクスチャビューコンポーネントすべての幅および高さの半分であることを指定する。０に等しいｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、深度ビューコンポーネントとテクスチャビューコンポーネントの両方が存在するとき、それらは同じ空間的解像度を有することを指定する。Ｐは、視差ベクトルが１／４ピクセル精度であるときは２に、１／２ピクセル精度に対しては１に、および整数ピクセル精度に対しては０に等しい、視差ベクトルの精度を示す。
【００９５】
[0104]代替として、ｍａｘ（Ｄ０，Ｄ３）が、深度値を選択するのに使われ得る。別の代替法では、参照深度ビュー中のコロケートされたＭＢ内の他のピクセルが使われ得る。洗練された視差ベクトルの水平成分は次いで、現在のＭＢ領域内のサブ領域についての選択された深度値からコンバートされ得る。洗練された視差ベクトルの垂直成分は、常に０に設定される。別の代替法では、洗練された視差ベクトルの垂直成分は、ＮＢＤＶからの導出された視差ベクトルの垂直成分に設定され得る。いくつかの例において、Ｋは４、２または１に等しくなり得る。
【００９６】
[0105]‘２６８号出願にさらに記載されているように、視差ベクトル導出プロセスと同様、ビデオコーダは、（洗練された視差ベクトルによって識別された）深度ブロックの４つのコーナーを使うことができ、ビデオコーダは、視差動きベクトルにコンバートされるべき最大深度値を選ぶことができる。たとえば、‘２６８号出願に記載されているように、サブ領域のサイズは、Ｋ×Ｋ（Ｋは８であり得る）で示すことができ、現在のピクチャに対する現在のＭＢ区分内の１つのサブ領域の左上位置は（ｘ，ｙ）で示すことができ、現在のＭＢについての深度情報を使用しないＮＢＤＶからの導出された視差ベクトルは、（ＤＶ［０］，ＤＶ［１］）で示すことができ、ここでＤＶ［０］およびＤＶ［１］は、視差ベクトルの水平および垂直成分を示す。参照深度ビュー中の４つのコーナーピクセルから、１つの深度値（Ｄ）が選択される：  
D = max (D0, D1, D2, D3)  
上式で、関数ｍａｘ（・）は、Ｄｉ（ｉは０〜３である）の最大値を戻し、Ｄｉは、次に配置されている第ｉのピクセル値を示す：  
i=0: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )  
i=1: ((x + (DV[0] >> P) + K−1) >> reduced_resolution_flag, (y + (DV[1] >> P)) >> reduced_resolution_flag )  
i=2: ((x + (DV[0] >> P)) >> reduced_resolution_flag, (y + (DV[1] >> P) + K−1) >> reduced_resolution_flag )  
i=1: ((x + (DV[0] >> P) + K−1) >> reduced_resolution_flag, (y + (DV[1] >> P) + K−1) >> reduced_resolution_flag )
【００９７】
[0106]ここで、１に等しいｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、ビューコンポーネントペアの深度ビューコンポーネントが、同じビューコンポーネントペアのテクスチャビューコンポーネントのルーマ成分よりも低い空間的解像度を有し、深度ビューコンポーネントの幅および高さが両方とも、テクスチャビューコンポーネントすべての幅および高さの半分であることを指定する。０に等しいｒｅｄｕｃｅｄ＿ｒｅｓｏｌｕｔｉｏｎ＿ｆｌａｇは、深度ビューコンポーネントとテクスチャビューコンポーネントの両方が存在するとき、それらは同じ空間的解像度を有することを指定する。Ｐは、視差ベクトルが１／４ピクセル精度であるときは２に、１／２ピクセル精度に対しては１に、および整数ピクセル精度に対しては０に等しい、視差ベクトルの精度を示す。代替例では、ｍａｘ（Ｄ０，Ｄ３）が、深度値を選択するのに使われ得る。別の例では、参照深度ビュー中のコロケートされたＭＢ内の他のピクセルが使われ得る。更新された視差ベクトルの水平成分は次いで、現在のＭＢ領域内のサブ領域についての選択された深度値からコンバートされ得る。この例では、更新された視差ベクトルの垂直成分は常に０に設定され得る。別の例では、更新された視差ベクトルの垂直成分は、ＮＢＤＶからの導出された視差ベクトルの垂直成分に設定され得る。代替的に、Ｋは８、４または２に等しくなり得る。更新された視差ベクトルは、現在のＭＢ内のすべての区分について使われ得る。
【００９８】
[0107]簡単のために、‘７１６号出願、「２６３号出願、および‘３２１号出願における視差ベクトル導出プロセスは、ＮＢＤＶ導出プロセスと示され得る。‘２６８号出願に記載されているような、洗練を用いる視差ベクトル導出プロセスは、ＮＢＤＶ−Ｒと示され得る。したがって、ビデオコーダがＮＢＤＶ−Ｒプロセスを実施するとき、および空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、ビデオコーダは、空間的隣接ブロックまたは時間的隣接ブロックの視差動きベクトルを視差ベクトルとして戻せばよい。さらに、ビデオコーダがＮＢＤＶ−Ｒプロセスを実施するとき、ビデオコーダは、対応する深度ブロックにアクセスすることによって、視差ベクトルを洗練することができる。たとえば、空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャをインター予測に使うとき、ビデオコーダは、空間的隣接ブロックまたは時間的隣接ブロックの視差動きベクトルを、現在のブロックについての視差ベクトルとして戻せばよい。さらに、ビデオコーダがＮＢＤＶ−Ｒプロセスを実施するとき、ビデオコーダは、対応する深度ブロックにアクセスすることによって、現在のブロックについての視差ベクトルを洗練することができる。
【００９９】
[0108]Ｓｕら、「３ＤＶ−ＣＥ１．ａ：Ｂｌｏｃｋ−ｂａｓｅｄ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ３ＤＶ−ＡＴＭ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第１回会合、ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書ＪＣＴ３Ｖ−Ａ０１０７、以下では「ＪＣＴ３Ｖ−Ａ０１０７」において、ブロックベースのビュー合成予測（ＢＶＳＰ）が提案された。ＪＣＴ３Ｖ−Ａ０１０７は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴ３Ｖ−Ａ０１０７−ｖ１．ｚｉｐから入手可能である。
【０１００】
[0109]ＢＶＳＰでは、（Ｔ０，Ｄ０，Ｄ１，Ｔ１）というコーディング順序が使用され得る。テクスチャ成分Ｔ０はベースビュー中にあり、Ｔ１は、ビュー合成ピクチャ（ＶＳＰ）を用いてコーディングされた依存ビュー中にある。深度マップ成分Ｄ０およびＤ１は、Ｔ０およびＴ１に関連付けられたそれぞれの深度マップである。
【０１０１】
[0110]図４は、後方ワーピングに基づくブロックベースのビュー合成予測の例を示す概念図である。図４に示すように、依存ビューＴ１において、現在コーディング中のブロックＣｂのサンプル値が、ベースビューＴ０のサンプル値からなる参照エリアＲ（Ｃｂ）から予測される。コード化サンプルと参照サンプルとの間の置換ベクトル（displacement vector）４０が、現在コーディング中のテクスチャサンプルに関連付けられた深度マップ値からのＴ１とＴ０との間の導出された視差ベクトルとして示されている。いくつかの例では、深度値から視差ベクトルへのコンバージョンのプロセスは、以下の式を用いて実施される：  
【数１】
2016517228.tif 000003
【０１０２】
[0111]上の式（１）および（２）において、Ｃｂは、現在コーディング中のブロックであり、ｊおよびｉは、Ｃｂ内のローカル空間座標であり、ｄ（Ｃｂ（ｊ，ｉ））は、ビュー１の深度マップ画像中の深度マップ値であり、Ｚはオブジェクトの実際の深度値であり、Ｄは、特定のビュー０に対する導出された視差ベクトルの水平成分である。パラメータｆ、ｂ、ＺｎｅａｒおよびＺｆａｒは、カメラセットアップを指定するパラメータである。具体的には、使われる焦点長さ（ｆ）、ビュー１とビュー０との間のカメラ分離（ｂ）、および深度範囲（Ｚｎｅａｒ、Ｚｆａｒ）は、深度マップコンバージョンのパラメータを表す。この例では、導出視差ベクトルの垂直成分は、常に０に等しく設定される。３Ｄ−ＡＶＣのいくつかの実装形態（たとえば、３ＤＶ−ＡＴＭ実装形態）では、式（１）および（２）はすでに、すべての深度マップ値（０〜２５５）についてあらかじめ計算され、ルックアップテーブルとして記憶されている。
【０１０３】
[0112]ＢＶＳＰに関しては、いくつかの実装上の問題がある。たとえば、１つの実装上の問題は、ＢＶＳＰブロックの指示に関する。この例では、ＭＢレベルの１つのフラグが、現在のＭＢが従来のスキップ／ダイレクトモードを用いてコーディングされているかどうか、または現在のＭＢがスキップ／ダイレクトモードを用いてコーディングされているが、合成参照成分から予測されるかどうか、をシグナリングするのに使われる。さらに、この例では、各ＭＢ区分（１６×１６〜８×８）に対して、各参照ピクチャリスト中の参照インデックスが、参照ピクチャをシグナリングするのに使われる。区分がＢＶＳＰモードを使ってコーディングされているとき、ＢＶＳＰコード化ブロックについての動きベクトルがないので、動きベクトル差分はシグナリングされない。フラグまたは参照インデックスのいずれかが合成参照成分を指すとき、ビデオコーダは、ＢＶＳＰについて記述する以下の段落に記載されるように、１つの区分の予測を呼び起こせばよい。
【０１０４】
[0113]ＢＶＳＰに関連した別の例示的な実装上の問題は、予測導出プロセスに関する。この例では、サイズがＮ×Ｍ（ＮまたはＭは８または１６とする）で示される各ＭＢ区分について、ＭＢ区分がＢＶＳＰモードを用いてコーディングされている場合、ビデオコーダは、ＭＢ区分を、Ｋ×Ｋ（Ｋは、４×４、２×２または１×１であり得る）に等しいサイズをもついくつかのサブ領域にさらに区分する。各サブ領域に対して、ビデオコーダは、別個の導出される視差ベクトルを導出することができ、ビュー間参照ピクチャ中の導出視差ベクトルによって配置された１つのブロック、たとえば、図４のＲ（ｃｂ）から、各サブ領域を予測することができる。いくつかの共通テスト条件では、Ｋは４であると定義される。この例では、導出された視差ベクトルは、ＢＶＳＰコード化ブロック用に記憶されないが、それは、そのようなベクトルを使うコーディングツールがないからである。
【０１０５】
[0114]ＢＶＳＰに関連した別の例示的な実装上の問題は、視差ベクトル導出プロセスに関する。この例では、深度優先コーディング順序が適用されるとき、ビデオコーダが、図４に示すように、対応する非ベース深度ビュー中の対応する深度ブロックからの深度値をコンバートすることによって、視差ベクトルを導出する。ビデオコーダは、最初に、コロケートされた／Ｋ×Ｋサブ領域に対応する、深度ブロックからの４つのコーナー深度サンプルにアクセスすることによって、次いで、４つのアクセスされた深度サンプルの最大値をとることによって、単一の深度値を算出する。ビデオコーダは後で、算出された深度値を、式（１）および（２）を使って視差ベクトルにコンバートする。ビデオコーダがテクスチャ優先コーディング順序を適用するとき、ＢＶＳＰモードはディセーブルにされ、というのは、非ベーステクスチャビューを復号するとき、対応する非ベース深度ビューは利用不可能だからである。
【０１０６】
[0115]Ｂａｎｇら、「３Ｄ−ＣＥ２．ａ  ｒｅｓｕｌｔｓ  ｏｎ  ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  ｏｎ  ｔｈｅ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第３回会合、ジュネーブ、スイス、２０１３年１月１７〜２３日、文書ＪＣＴ３Ｖ−Ｃ０１２２、以下では「ＪＣＴ３Ｖ−Ｃ０１２２」において、簡略化された視差ベクトル導出方法が提案されている。ＪＣＴ３Ｖ−Ｃ０１２２において提案されている方法では、現在のＭＢが、スキップでもダイレクトでもないインター予測モードを用いてコーディングされるとき、現在のＭＢをもつＭＢ区分／サブブロックはすべて、現在のＭＢの関連深度ブロックの右下深度サンプルから算出される導出された視差ベクトルを共有する。ただし、現在のＭＢがスキップまたはダイレクトモードを用いてコーディングされるとき、ビデオコーダは、異なる視差ベクトル導出プロセス（すなわち、参照深度ブロックの４つのコーナーサンプルにアクセスする）を使うことができる。さらに、ＢＶＳＰモードにおいて、ビデオコーダは依然として、ＭＢ区分の各Ｋ×Ｋサブ領域の参照深度ブロックの４つのコーナーサンプルにアクセスすることを要求される。
【０１０７】
[0116]Ｃｈｅｎら、「３Ｄ−ＣＥ２．ａ  ｒｅｌａｔｅｄ：ＭＢ−ｌｅｖｅｌ  ｄｅｐｔｈ−ｔｏ−ＤＶ  ｃｏｎｖｅｒｓｉｏｎ  ｉｎ  ＡＴＭ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発における共同研究部会、第３回会合、ジュネーブ、スイス、２０１３年１月１７〜２３日、文書ＪＣＴ３Ｖ−Ｃ０１３４、以下では「ＪＣＴ３Ｖ−Ｃ０１３４」は、インターモードを用いてコーディングされるとき、同じＭＢ内のすべての区分ブロックが、コロケートされる／現在のＭＢに対応する、同じ参照深度ブロックにある４つのコーナーサンプルの最大深度値から導出される単一の視差ベクトルを共有することを提案している。ただし、ＢＶＳＰモードのために、ビデオコーダは依然として、ＭＢ区分の各Ｋ×Ｋサブ領域の参照深度ブロックの４つのコーナーサンプルにアクセスすることを要求される。
【０１０８】
[0117]Ｈ．２６４／ＡＶＣにおけるマクロブロックの概念は、ＨＥＶＣには存在しない。そうではなく、マクロブロックは、一般的な４分木方式に基づく極めて柔軟な階層構造によって置き換えられる。この方式の中で、４タイプのブロック、すなわちコーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、および変換ユニット（ＴＵ）が定義される。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれることもある。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャ（monochrome pictures）では、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。
【０１０９】
[0118]ＨＥＶＣにおいて、ＣＵは領域分割の基本ユニットである。ＣＵの概念はマクロブロックの概念に類似するが、ＣＵは最大サイズに制限されず、コンテンツ適応性を向上させるために４つの等しいサイズのＣＵへの再帰的分割（recursive splitting）を可能にする。ＰＵはインター／イントラ予測の基本ユニットである。いくつかの例では、ＰＵは、不規則な画像パターンを効果的にコーディングするために、単一のＰＵの中に複数の任意の形状の区分を含み得る。ＴＵは変換の基本ユニットである。ＣＵのＴＵは、ＣＵのＰＵとは独立に定義され得る。しかしながら、ＴＵのサイズは、ＴＵが属するＣＵに限定される。ＣＵ、ＰＵ、およびＴＵへのブロック構造の分離は、各々がそれの役割に従って最適化されることを可能にでき、このことはコーディング効率の改善をもたらし得る。
【０１１０】
[0119]ＨＥＶＣでは、ビデオエンコーダ２０は、マージモードを使用してＰＵの動き情報をシグナリングし得る。ＰＵの動き情報は、ＰＵの動きベクトルと、ＰＵの参照インデックスとを含み得る。ビデオエンコーダ２０がＨＥＶＣにおけるマージモードを使用して現在のＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、マージ候補リストを生成し得る。マージ候補リストは、現在のＰＵに空間的または時間的に隣接するＰＵの動き情報を示すマージ候補のセットを含む。さらに、マージモードでは、ビデオエンコーダ２０は、マージ候補リストからマージ候補を選択することができ、選択されたマージ候補によって示される動き情報を、現在のＰＵの動き情報として使うことができる。ビデオエンコーダ２０は、選択されたマージ候補のマージ候補リスト中の位置をシグナリングし得る。ビデオデコーダ３０は、ビットストリームから、候補リストの中へのインデックス（すなわち、候補リストインデックス）を取得することができる。さらに、ビデオデコーダ３０は、同じマージ候補リストを生成することができ、選択されたマージ候補の位置の指示に基づいて、選択されたマージ候補を判断することができる。ビデオデコーダ３０は、次いで、選択されたマージ候補の動き情報を、現在のＰＵのための予測ブロックを生成するのに使い得る。
【０１１１】
[0120]ＨＥＶＣの３Ｄビデオコーディング拡張（すなわち、３Ｄ−ＨＥＶＣ）が現在、開発中である。Ｔｅｃｈら、「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｄｒａｆｔ２」、ＪＣＴ３Ｖ−Ｂ１００５、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ３Ｄビデオコーディング拡張開発共同研究部会、第２回会合、上海、中国、２０１２年１０月、以下では「ＪＣＴ３Ｖ−Ｂ１００５」は、３Ｄ−ＨＥＶＣの参照ソフトウェア記述、ならびに作業草案を提供している。
【０１１２】
[0121]３Ｄ−ＡＶＣのように、３Ｄ−ＨＥＶＣも、視差ベクトルの概念を使う。さらに、３Ｄ−ＡＶＣのいくつかのバージョンのように、３Ｄ−ＨＥＶＣを実装するビデオコーダが、視差ベクトルを導出するためのＮＢＤＶ導出プロセスを実施することができる。３Ｄ−ＨＥＶＣは最初に、Ｚｈａｎｇら、「３Ｄ−ＣＥ５．ｈ：Ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｇｅｎｅｒａｔｉｏｎ  ｒｅｓｕｌｔｓ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書番号第ＪＣＴ３Ｖ−Ａ００９７号（以下では「ＪＣＴ３Ｖ−Ａ００９７」）において提案されたＮＢＤＶ導出プロセスを採用した。暗黙的視差ベクトル（Implicit disparity vectors）が、簡略化ＮＢＤＶとともに、Ｓｕｎｇら、「３Ｄ−ＣＥ５．ｈ：Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  ｏｆ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ  ｆｏｒ  ＨＥＶＣ−ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書番号第ＪＣＴＶＣ−Ａ０１２６号（以下では、「ＪＣＴＶＣ−Ａ０１２６」）に含められた。さらに、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出プロセスは、復号されたピクチャバッファに記憶される暗黙的視差ベクトルを削除することによってさらに簡略化されているとともに、Ｋａｎｇら、「３Ｄ−ＣＥ５．ｈ  ｒｅｌａｔｅｄ：Ｉｍｐｒｏｖｅｍｅｎｔｓ  ｆｏｒ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第２回会合：上海、中国、２０１２年１０月１３〜１９日、文書番号第ＪＣＴ３Ｖ−Ｂ００４７号（以下では、「ＪＣＴ３Ｖ−Ｂ００４７」）に記載されているように、ランダムアクセスポイント（ＲＡＰ）ピクチャ選択による改良されたコーディング利益も提供する。
【０１１３】
[0122]３Ｄ−ＡＶＣのＮＢＤＶ導出プロセスのように、ビデオコーダが、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出プロセスを実施するとき、空間的隣接ブロックと時間的隣接ブロックとを検査すればよい。３Ｄ−ＨＥＶＣのいくつかのバージョンでは、ビデオコーダが、５つの空間的隣接ブロック、ＮＢＤＶ導出プロセスを使う。図５は、３Ｄ−ＨＥＶＣにおける、現在のＰＵ５０に対する空間的動きベクトルネイバーの例を示す概念図である。空間的隣接ブロックは、図５に示すように、Ａ0、Ａ1、Ｂ0、Ｂ1またはＢ2によって示される、現在のＰＵ５０の左下、左、右上、上および左上のブロックである。３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出プロセスにおいて使われる５つの空間的隣接ブロックは、ＨＥＶＣにおける動きベクトル予測のためのマージモードにおいて使われるものと同じである。したがって、３Ｄ−ＨＥＶＣでは、ビデオコーダが、ＮＢＤＶ導出プロセス中に空間的隣接ブロックに関する情報を取り出すための追加メモリアクセスを実施することは必要なくてよい。
【０１１４】
[0123]ビデオコーダが、３Ｄ−ＨＥＶＣにおけるＮＢＤＶ導出プロセス中に時間的隣接ブロックを検査するとき、ビデオコーダは最初に、候補ピクチャリストを生成するための構築プロセスを実施すればよい。候補ピクチャリストは、１つまたは複数の候補ピクチャを含み得る。候補ピクチャリストを生成するとき、ビデオコーダは、現在のビュー（すなわち、現在のピクチャを含むビュー）からの最大で２つの参照ピクチャを候補ピクチャとして扱うことができる。たとえば、候補ピクチャリストを生成するとき、ビデオコーダは最初に、いわゆる「コロケートされた参照ピクチャ」を候補ピクチャリストに挿入すればよい。ビデオコーダは、コロケートされた参照ピクチャを、スライスヘッダ中のシンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇシンタックス要素およびｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘシンタックス要素）の値に基づいて識別することができる。ビデオコーダは次いで、追加候補ピクチャを、参照インデックスの昇順で候補ピクチャリストに挿入すればよい。両方の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）における同じ参照インデックスをもつ参照ピクチャが利用可能であるとき、コロケートされたピクチャと同じ参照ピクチャリスト中の参照ピクチャが、他の参照ピクチャに先行する。候補ピクチャリスト中の各候補ピクチャに対して、ビデオコーダは、時間的隣接ブロックを導出するための３つの候補領域を判断することができる。
【０１１５】
[0124]ビュー間動き予測を用いてブロックがコーディングされるとき、異なるビュー中の対応するブロックを選択するために視差ベクトルが導出される必要がある。「暗黙的視差ベクトル」（すなわち、「ＩＤＶ」または「導出された視差ベクトル」）という用語は、ブロックについて導出された視差ベクトルを指し得るが、ブロックのビュー間動き予測には使われない。したがって、ブロックが、時間的動き予測を用いてコーディングされる（すなわち、現在のピクチャとは異なる時間インスタンス中の参照ピクチャ中の場所を指す動きベクトルを使ってコーディングされる）としても、後続ブロックをコーディングする目的のために、導出された視差ベクトルは破棄されない。
【０１１６】
[0125]３Ｄ−ＨＥＶＣのためのＮＢＤＶ導出プロセスのいくつかの設計（たとえば、３Ｄ−ＨＴＭ６．０）において、ビデオコーダは、時間的隣接ブロック中の視差動きベクトルと、空間的隣接ブロック中の視差動きベクトルと、次いで、ＩＤＶとを順番に検査する。ビデオコーダが視差動きベクトルまたはＩＤＶを見つけると、ビデオコーダは、ＮＢＤＶ導出プロセスを終了してよい。
【０１１７】
[0126]さらに、３Ｄ−ＨＥＶＣのいくつかのバージョンでは、ビデオコーダがＮＢＤＶ導出プロセスから視差ベクトルを導出すると、ビデオコーダは、参照ビューの深度マップから深度データを取り出すことによって、視差ベクトルをさらに洗練することができる。いくつかの例では、洗練プロセスは２つのステップを含み得る。第１のステップにおいて、ビデオコーダは、ベースビューなど、あらかじめコーディングされた参照深度ビュー中の導出された視差ベクトルによって、対応する深度ブロックを配置すればよい。対応する深度ブロックのサイズは、現在のＰＵのものと同じである。第２のステップにおいて、ビデオコーダは、対応する深度ブロックの４つのコーナーピクセルの中から、１つの深度値を選択すればよく、選択された深度値を、視差ベクトルの水平成分にコンバートすればよい。ビデオコーダは、視差ベクトルの垂直成分を０に設定すればよい。
【０１１８】
[0127]３Ｄ−ＨＥＶＣのいくつかのバージョンでは、ビデオコーダは、洗練された視差ベクトルをビュー間動き予測に使い、ビデオコーダは、洗練されていない視差ベクトルをビュー間残差予測に使う。さらに、ビデオコーダは、洗練された視差ベクトルが後方ＶＳＰモードを用いてコーディングされている場合、洗練された視差ベクトルを、１つのＰＵの動きベクトルとして記憶すればよい。
【０１１９】
[0128]Ｔｉａｎら、「ＣＥ１．ｈ：Ｂａｃｋｗａｒｄ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｕｓｉｎｇ  Ｎｅｉｇｈｂｏｒｉｎｇ  Ｂｌｏｃｋｓ」、ＩＴＵ−Ｔ  ＳＧ１６ＷＰ３およびＩＳＯ／ＩＥＣＪＣＴ１／ＳＣ２９／ＷＧ１１の３Ｄビデオコーディング拡張開発についての共同研究部会、第３回会合、ジュネーブ、スイス、２０１３年１月１６〜２３日、（以下では「ＪＣＴ３Ｖ−Ｃ０１５２」）は、後方ワーピングＶＳＰ手法について記載している。第３回ＪＣＴ−３Ｖ会合中、ＪＣＴ３Ｖ−Ｃ０１５２において提案された後方ワーピングＶＳＰ手法（a backward−warping VSP approach）が、３Ｄ−ＨＥＶＣに採り入れられた。ＪＣＴ３Ｖ−Ｃ０１５２の後方ワーピングＶＳＰの基本的考え方は、３Ｄ−ＡＶＣにおけるブロックベースのＶＳＰと同じである。これらの２つの技法の両方が、動きベクトル差分を送信するのを避けるために、後方ワーピングとブロックベースのＶＳＰとを使い、より精密な動きベクトルを使う。実装の詳細は、異なるプラットフォームによって異なる。以下の段落では、「ＢＶＳＰ」という用語は、３Ｄ−ＨＥＶＣにおける後方ワーピングＶＳＰ手法を指すのにも使われる。
【０１２０】
[0129]３Ｄ−ＨＥＶＣのいくつかのバージョンでは、テクスチャ優先コーディングが、共通テスト条件において適用される。したがって、対応する非ベース深度ビューは、非ベーステクスチャビューを復号するとき、利用不可能である。したがって、ビデオコーダは、深度情報を推定すればよく、推定された深度情報を、ＢＶＳＰを実施するのに使えばよい。３Ｄ−ＨＥＶＣにおけるブロックについての深度情報を推定するために、ビデオコーダは最初に、隣接ブロックから視差ベクトルを導出し、次いで、導出された視差ベクトルを、参照ビューから深度ブロックを取得するのに使うべきであると提案されている。
【０１２１】
[0130]上述したように、３Ｄ−ＨＥＶＣのいくつかのバージョン（たとえば、ＨＴＭ５．１テストモデル）が、ＮＢＤＶ導出プロセスを含む。（ｄｖx，ｄｖy）は、ＮＢＤＶ導出プロセスから識別された視差ベクトルを示すものとし、現在のブロック位置を（ｂｌｏｃｋx，ｂｌｏｃｋy）とする。いくつかの提案において、ビデオコーダは、参照ビューの深度画像中の（ｂｌｏｃｋx＋ｄｖx，ｂｌｏｃｋy＋ｄｖy）にある深度ブロックをフェッチする。そのような提案において、フェッチされた深度ブロックは、現在のＰＵの同じサイズを有する。ビデオコーダは、フェッチされた深度ブロックを、現在のＰＵ向けの後方ワーピングを実施するのに使う。
【０１２２】
[0131]図６は、ＢＶＳＰ予測を実施するための、参照ビューからの深度ブロック導出を示す概念図である。図６の例では、ビデオコーダは、現在のテクスチャピクチャ６０をコーディング中である。現在のテクスチャピクチャ６０は、合成参照テクスチャピクチャ６２に依存するので、現在のテクスチャピクチャ６０は、「依存テクスチャピクチャ（dependent texture picture）」と標示される。言い換えると、ビデオコーダは、現在のテクスチャピクチャ６０を復号するために、参照テクスチャピクチャ６２を合成する必要があり得る。参照テクスチャピクチャ６２および現在のテクスチャピクチャ６０は、同じアクセスユニット中にあるが、異なるビュー中にある。
【０１２３】
[0132]参照テクスチャピクチャ６２を合成するために、ビデオコーダは、現在のテクスチャピクチャ６０のブロック（すなわち、ビデオユニット）を処理すればよい。図６の例では、ビデオコーダは、現在のブロック６４を処理中である。ビデオコーダが現在のブロック６４を処理するとき、ビデオコーダは、現在のブロック６４についての視差ベクトルを導出するためのＮＢＤＶプロセスを実施すればよい。たとえば、図６の例において、ビデオコーダは、現在のブロック６４に隣接するブロック６８の視差ベクトル６６を識別する。視差ベクトル６６の識別は、図６のステップ１として示されている。さらに、図６の例において、ビデオコーダは、視差ベクトル６６に基づいて、現在のブロック６４の視差ベクトル６９を判断する。たとえば、視差ベクトル６９は、視差ベクトル６６のコピーであってよい。視差ベクトル６６のコピーは、図６のステップ２として示されている。
【０１２４】
[0133]ビデオコーダは、現在のブロック６４の視差ベクトル６９に基づいて、参照深度ピクチャ７２中の参照ブロック７０を識別することができる。参照深度ピクチャ７２、現在のテクスチャピクチャ６０、および参照テクスチャピクチャ６２は各々、同じアクセスユニット中にあってよい。参照深度ピクチャ７２および参照テクスチャピクチャ６２は同じビュー中にあってよい。ビデオコーダは、現在のブロック６４のテクスチャサンプル値および参照ブロック７０の深度サンプル値に基づいて、参照テクスチャピクチャ６２のテクスチャサンプル値を判断することができる。テクスチャサンプル値を判断するプロセスは、後方ワーピングと呼ばれ得る。３Ｄ−ＨＥＶＣテストモデル３のセクションＨ．８．５．２．２．７は、後方ワーピングのプロセスについて記載している。後方ワーピングは、図６のステップ３として示されている。このように、図６は、参照ビューにある深度ブロックがどのように配置され、次いで、ＢＶＳＰ予測に使われるかについての３つのステップを示している。
【０１２５】
[0134]３Ｄ−ＨＥＶＣでは、ＢＶＳＰがシーケンス中でイネーブルにされている場合、ビュー間動き予測のためのＮＢＤＶ導出プロセスは変更され、違いを太字斜体で示す：  
−時間的隣接ブロックの各々について、時間的隣接ブロックが視差動きベクトルを使う場合、視差動きベクトルは視差ベクトルとして戻され、視差ベクトルは、本開示において他の箇所で記載する例示的な方法のうちの１つまたは複数を用いてさらに洗練される。  
−空間的隣接ブロックの各々について、以下のことが適用される：  
○参照ピクチャリスト０または参照ピクチャリスト１の各々について、以下のことが適用される：  
・空間的隣接ブロックが視差動きベクトルを使う場合、視差動きベクトルは視差ベクトルとして戻され、視差ベクトルは、本開示において他の箇所で記載する１つまたは複数の例示的な方法を用いてさらに洗練される。  
・そうではなく、空間的隣接ブロックがＢＶＳＰモードを使う場合、関連動きベクトルは視差ベクトルとして戻される。視差ベクトルは、本開示において他の箇所で記載する１つまたは複数の例示的な方法に記載されているのと同様にしてさらに洗練される。ただし、最大深度値は、４つのコーナーピクセルではなく、対応する深度ブロックのすべてのピクセルから選択される。  
−空間的隣接ブロックの各々について、空間的隣接ブロックがＩＤＶを使う場合、ＩＤＶは視差ベクトルとして戻され、視差ベクトルは、本開示において他の箇所で記載する１つまたは複数の例示的な方法において記載する方法を用いてさらに洗練される。
【０１２６】
[0135]３Ｄ−ＨＥＶＣでは、導入されたＢＶＳＰモードは、特別なインターコード化（すなわち、インター予測）モードとして扱われ、ビデオコーダは、各ＰＵ向けのＢＶＳＰモードの使用を指すためのフラグを維持するべきである。ただし、ビットストリーム中でフラグをシグナリングするのではなく、ビデオコーダは、マージ候補リストに新たなマージ候補（すなわち、ＢＶＳＰマージ候補）を追加してよく、フラグは、復号されたマージ候補インデックスがＢＶＳＰマージ候補に対応するかどうかに依存する。いくつかの提案において、ＢＶＳＰマージ候補は次のように定義される:  
・各参照ピクチャリストについての参照ピクチャインデックス：−１  
・各参照ピクチャリストについての動きベクトル：洗練された視差ベクトル
【０１２７】
[0136]ＢＶＳＰマージ候補の挿入位置は、空間的隣接ブロックに依存し得る。たとえば、５つの空間的隣接ブロック（Ａ0、Ａ1、Ｂ0、Ｂ1またはＢ2）のうちのいずれかがＢＶＳＰモードを用いてコーディングされる（すなわち、隣接ブロックの維持されるフラグが１に等しい）場合、ビデオコーダは、ＢＶＳＰマージ候補を、対応する空間的マージ候補として扱えばよく、ＢＶＳＰマージ候補をマージ候補リストに挿入してよい。ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに一度挿入するだけでよい。そうでない（すなわち、５つの空間的隣接ブロックのうちのどれも、ＢＶＳＰモードを用いてコーディングされるのではない）場合、ビデオコーダは、時間的マージ候補のすぐ前にＢＶＳＰマージ候補をマージ候補リストに挿入すればよい。複合双予測マージ候補導出プロセス（a combined bi−predictive merging candidate derivation process）中、ビデオコーダは、ＢＶＳＰマージ候補を含めるのを避けるために、追加条件を検査すればよい。
【０１２８】
[0137]さらに、３Ｄ−ＨＥＶＣの少なくともいくつかのバージョンでは、ビデオコーダは予測導出プロセスを実施することができる。たとえば、（Ｎ×Ｍで示されるＢＶＳＰコード化ＰＵのサイズをもつ）各ＢＶＳＰコード化ＰＵについて、ビデオコーダは、ＢＶＳＰコード化ＰＵを、Ｋ×Ｋ（Ｋは４または２であり得る）に等しいサイズをもついくつかのサブ領域にさらに区分することができる。各サブ領域について、ビデオコーダは、別個の視差動きベクトルを導出することができ、ビデオコーダは、ビュー間参照ピクチャ中の導出された視差動きベクトルによって配置された１つのブロックから各サブ領域を予測することができる。言い換えると、ビデオコーダは、ＢＶＳＰコード化ＰＵ用の動き補償ユニットのサイズをＫ×Ｋに設定すればよい。いくつかの共通テスト条件では、Ｋは４に設定される。
【０１２９】
[0138]ＢＶＳＰモードを用いてコーディングされた１つのＰＵ内の各サブ領域（すなわち、４×４ブロック）について、ビデオコーダは最初に、対応する４×４深度ブロックを、上記で言及した洗練された視差ベクトルをもつ参照深度ビュー中に配置すればよい。第２に、ビデオコーダは、対応する深度ブロック中の１６個の深度ピクセルの最大値を選択すればよい。第３に、ビデオコーダは、最大値を、視差動きベクトルの水平成分にコンバートすればよい。ビデオコーダは、視差動きベクトルの垂直成分を０に設定すればよい。
【０１３０】
[0139]３Ｄ−ＨＥＶＣでは、テクスチャ優先コーディング順序が適用されるとき、各ＰＵについて、参照深度ビュー中の深度値を考慮して／せずに、ＮＢＤＶから視差ベクトルが導出され得る。視差ベクトルが取得された後、ビデオコーダは、ＰＵがＢＶＳＰモードを用いてコーディングされる場合、１つのＰＵの各４×４サブ領域についての視差ベクトルをさらに洗練してよい。いくつかの例では、洗練プロセスは２つのステップを含む。第１のステップにおいて、ビデオコーダは、導出された視差ベクトルによって配置された参照深度ビュー中の４×４深度ブロックから１つの最大深度値を選択すればよい。第２のステップにおいて、ビデオコーダは、洗練された視差ベクトルの垂直成分を０であるように保ったまま、深度値を、洗練された視差ベクトルの水平成分にコンバートすればよい。ビデオコーダが、１つのＰＵの１つの４×４サブ領域についての視差ベクトルを洗練した後、ビデオコーダは、洗練された視差ベクトルを、動き補償のために参照テクスチャビュー中にブロックを配置するのに使うことができる。
【０１３１】
[0140]いくつかのケースでは、米国仮出願第６１／７６９，７１６号、第６１／７７０，２６３号、第６１／７７２，３２１号、および第６１／７７０，２６８号に記載されているＮＢＤＶ導出プロセスは、３Ｄ−ＡＶＣのスキップ／ダイレクトモードに適用されるとき、可能性としてはいくつかの問題を呈し得る。たとえば、スキップ／ダイレクトモードを用いてコーディングされたブロックは、洗練を用いても、深度、および空間的隣接ブロックにアクセスしなくても、ＮＢＤＶ結果の関数である視差ベクトル（すなわち、ＮＢＤＶ導出プロセスから生じる視差ベクトル）を使う。言い換えると、ＮＢＤＶは最初に、視差動きベクトルを導出するために呼び起こされ、この視差動きベクトルは、空間的ネイバー中で利用可能である視差動きベクトルと一緒に、参照ビューにアクセスするための最終視差ベクトルを得るためにさらに検討される。したがって、矛盾する視差ベクトルが、最終的に異なるモードに対して使われ得る。別の例では、ＮＢＤＶプロセスそれ自体と、スキップ／ダイレクトモードでのプロセスの両方が、空間的隣接ブロックを視差動きベクトルについて検査する必要がある。このことは、複数回の、空間的隣接ブロックの不必要な検査につながり得る。別の例では、スキップ／ダイレクトモードを使うブロックについての最終視差ベクトルは、複数の視差（動き）ベクトルの中央値フィルタリングプロセスに基づいて算出されるが、これは、限界コーディング利益をもたらし得るが、複雑さがある程度増し得る。
【０１３２】
[0141]本開示に記載する技法によると、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、提案された技法を実装するように構成されてよく、それにより、ＮＢＤＶ、ならびに／あるいは３Ｄ−ＡＶＣにおけるスキップおよびダイレクトモードによって要求されるプロセス、を簡略化することができる。言い換えると、上記で言及した起こり得る問題に対処するために、ＮＢＤＶ導出プロセス、ならびに／あるいは３Ｄ−ＡＶＣにおけるスキップおよびダイレクトモードによって要求されるプロセス、を簡略化するために本方法が提案される。
【０１３３】
[0142]たとえば、ビデオコーダがＮＢＤＶ導出プロセスを実施するとき、ビデオコーダは、時間的隣接ブロックを最初に検査するのではなく、空間的隣接ブロックを最初に検査すればよい。さらに、スキップおよびダイレクトモードにおいて、ＮＢＤＶの結果としての視差ベクトルが、空間的隣接ブロックをさらに検査することなく、現在のブロック用に直接使われる。この場合、ビデオコーダは中央値フィルタリングを使わない。したがって、この例では、ＮＢＤＶ導出プロセスを実施することの一部として、ビデオコーダは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査すればよく、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査すればよい。空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、ビデオコーダは、空間的または時間的隣接ブロックの視差動きベクトルを戻せばよい。
【０１３４】
[0143]さらに、いくつかの例では、深度マップにアクセスすることが不許可であるとき、ビデオコーダは、スキップ／ダイレクトモード用の視差ベクトルを、常にＮＢＤＶ結果に等しく設定すればよい。深度マップにアクセスすることが許可されるとき、ビデオコーダは、スキップ／ダイレクトモード用の視差ベクトルを、以下の例のうちの１つとして設定すればよい。第１の例において、ビデオコーダは、視差ベクトルを、ＮＢＤＶ−Ｒプロセスの視差ベクトルに常に設定する。したがって、この例では、深度マップにアクセスすることが許可されるとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された視差ベクトルに設定すればよい。深度マップにアクセスすることが許可されないとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶプロセスによって判断された視差ベクトルに設定すればよい。
【０１３５】
[0144]深度マップにアクセスすることが許可される第２の例では、ＮＢＤＶ導出プロセスの視差ベクトルが空間的隣接ブロックからのものである場合、ビデオコーダは、視差ベクトルを、ＮＢＤＶプロセスの視差ベクトルに設定する。そうでない場合、この第２の例において、ビデオコーダは、視差ベクトルを、ＮＢＤＶ−Ｒプロセスの視差ベクトルに設定する。したがって、この例では、深度マップにアクセスすることが許可されないとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ導出プロセスによって判断された視差ベクトルに設定すればよい。さらに、この例では、深度マップにアクセスすることが許可され、ＮＢＤＶ導出プロセスによって判断された視差ベクトルが空間的隣接ブロックからのものであるとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ導出プロセスによって判断された視差ベクトルに設定すればよい。深度マップにアクセスすることが許可され、ＮＢＤＶプロセスによって判断された視差ベクトルが空間的隣接ブロックからのものでないとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ―Ｒ導出プロセスによって判断された視差ベクトルに設定すればよい。
【０１３６】
[0145]深度マップにアクセスすることが許可される第３の例において、ビデオコーダは、視差ベクトルをＮＢＤＶプロセスの視差ベクトルに常に設定する。したがって、この例では、深度マップにアクセスすることが許可されないとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ導出プロセスによって判断された視差ベクトルに設定すればよい。深度マップにアクセスすることが許可されるとき、ビデオコーダは、現在のブロックについての視差ベクトルを、ＮＢＤＶ導出プロセスによって判断された視差ベクトルに設定すればよい。
【０１３７】
[0146]本開示の一例では、「２６８号出願に記載されているＮＢＤＶ導出プロセスは、必ずしも変更されるとは限らない。ただし、スキップ／ダイレクトモードでコーディングされるビデオブロックについて、ＮＢＤＶ導出プロセスの視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるときのみ、空間的隣接ブロックが一定の順序で検査される。言い換えると、この例では、ビデオコーダが検査している空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、ビデオコーダは、利用可能な視差動きベクトルを、現在のブロックの視差ベクトルに設定する。そうでない（すなわち、それらすべてについて視差動きベクトルが見つからない）場合、ビデオコーダは、ＮＢＤＶまたはＮＢＤＶ−Ｒ結果を現在のブロック用に使う。この場合、ビデオコーダは中央値フィルタリングを使わない。
【０１３８】
[0147]たとえば、空間的隣接ブロックの検査順序は、Ａ、Ｂ、ＣおよびＤ（ＮＢＤＶでのように、および図３に示すように、Ａ、Ｂ、Ｃ、およびＤ）と定義される。ビデオコーダが視差動きベクトルを識別すると、ビデオコーダは視差動きベクトルを選択する。別の例では、２つ以上の空間的隣接ブロックが視差動きベクトルを含むとき、ビデオコーダは、利用可能な空間的隣接ブロックから、数学関数を用いて視差動きベクトルを導出することができ、導出された視差動きベクトルを、現在のブロックについての視差ベクトルとして使うことができる。
【０１３９】
[0148]このようにして、ＮＢＤＶ導出プロセスによって判断された視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、ビデオコーダは、空間的隣接ブロックを特定の順序で検査すればよい。空間的隣接ブロックのうちの１つを検査するとき、空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、ビデオコーダは、利用可能な視差動きベクトルを、現在のブロックについての視差ベクトルに設定すればよい。さらに、空間的隣接ブロックのうちのどれも視差動きベクトルを含まない場合、ビデオコーダは、ＮＢＤＶ導出プロセスによって判断された視差ベクトルまたはＮＢＤＶ−Ｒプロセスによって判断された視差ベクトルを、現在のブロックについての視差ベクトルとして使えばよい。いくつかの事例において、特定の順序は、左の空間的隣接ブロック（Ａ）、上の空間的隣接ブロック（Ｂ）、右上の空間的隣接ブロック（Ｃ）、および左上の空間的隣接ブロック（Ｄ）である。別の例では、空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、ビデオコーダは、空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することができ、導出された視差動きベクトルを、現在のブロックについての視差ベクトルとして使うことができる。
【０１４０】
[0149]さらに、本開示のいくつかの例では、現在のブロックがスキップ／ダイレクトモードを用いてコーディングされるとき、空間的ブロックをさらに検査して中央値フィルタリングを潜在的に使用するのではなく、ビデオコーダは、ＮＢＤＶまたはＮＢＤＶ−Ｒから導出された視差ベクトルを、現在のブロック用に直接使う。この場合、ビデオコーダは中央値フィルタリングを使わない。
【０１４１】
[0150]したがって、本開示の１つまたは複数の例示的技法によると、ビデオエンコーダ２０は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施しても、視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施してもよい。そのような例において、ビデオエンコーダ２０は、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことができ、ここで現在のブロックは、スキップモードまたはダイレクトモードのいずれかでコーディングされている。利用可能な視差動きベクトルをもつ、潜在的に他の隣接ブロックがあるとしても、ビデオコーダは、中央値フィルタリングプロセスを使わない。さらに、ビデオエンコーダ２０は、現在のブロックを含む現在のスライスについての少なくともいくつかのシンタックス要素をエントロピー符号化することができる。
【０１４２】
[0151]同様に、本開示の１つまたは複数の例示的技法によると、ビデオデコーダ３０は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施しても、視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施してもよい。そのような例において、ビデオデコーダ３０は、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことができ、ここで現在のブロックは、スキップモードまたはダイレクトモードのいずれかでコーディングされている。さらに、ビデオデコーダ３０は、現在のブロックについてのピクセル値を判断することができる。
【０１４３】
[0152]図７は、本開示で説明する技法を実装することができるビデオエンコーダの一例を示すブロック図である。図７の例において、ビデオエンコーダ２０は、スライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。たとえば、ビデオエンコーダ２０は、インター予測符号化またはイントラ予測符号化を実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接するフレームもしくはピクチャ内の時間的冗長性または異なるビュー中のピクチャの間の冗長性を低減または除去するために、時間的予測またはビュー間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０１４４】
[0153]図７の例では、ビデオエンコーダ２０は、区分ユニット１４０と、予測処理ユニット１４２と、参照ピクチャメモリ１６４と、加算器１５０と、変換処理ユニット１５２と、量子化処理ユニット１５４と、エントロピー符号化ユニット１５６とを含む。予測処理ユニット１４２は、動き推定ユニット１４４と、動き補償ユニット１４６と、イントラ予測ユニット１４８とを含む。ビデオブロック再構築のために、ビデオエンコーダ２０はまた、逆量子化処理ユニット１５８と、逆変換処理ユニット１６０と、加算器１６２とを含む。ビデオエンコーダ２０は、再構築されたビデオからブロッキネスアーティファクト（blockiness artifacts）を除去するためにブロック境界をフィルタリングするデブロッキングフィルタ（a deblocking filter）（図７に図示せず）も含み得る。所望される場合、デブロッキングフィルタは、一般に、加算器１６２の出力をフィルタリングすることになる。デブロッキングフィルタに加えて追加のループフィルタ（ループ内またはループ後）も使用され得る。参照ピクチャメモリ１６４は、復号ピクチャバッファ（a decoding picture buffer）（ＤＰＢ）の一例である。
【０１４５】
[0154]図７に示されるように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット１４０はデータをビデオブロックに区分する。この区分は、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分（たとえば、マクロブロック区分および区分のサブブロック）も含み得る。ビデオエンコーダ２０は、概して、符号化されるべきスライス内のビデオブロックを符号化する構成要素を示している。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット１４２は、誤差結果（たとえばコーディングレートおよびひずみのレベル）に基づいて現在のビデオブロックについて、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択することができる。予測処理ユニット１４２は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器１５０に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器１６２に与え得る。
【０１４６】
[0155]予測処理ユニット１４２内に見られるイントラ予測処理ユニット１４８は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット１４２内の動き推定ユニット１４４および動き補償ユニット１４６は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実施する。
【０１４７】
[0156]動き推定ユニット１４４は、ビデオシーケンスの所定のパターンに従ってスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のスライスをＰスライスまたはＢスライスとして指定し得る。動き推定ユニット１４４と動き補償ユニット１４６とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット１４４によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックの変位（displacement）を示し得る。
【０１４８】
[0157]予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきビデオブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ１６４に記憶された参照ピクチャのサブ整数ピクセル位置（sub−integer pixel positions）の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置（fractional pixel positions）の値を補間し得る。したがって、動き推定ユニット１４４は、フルピクセル位置（full pixel positions）と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０１４９】
[0158]動き推定ユニット１４４は、ビデオブロックの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）または第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ１６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット１４４は、計算された動きベクトルをエントロピー符号化ユニット１５６および動き補償ユニット１４６に送る。
【０１５０】
[0159]動き補償ユニット１４６によって実施される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックの動きベクトルを受信すると、動き補償ユニット１４６は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器１５０は、予測ブロック中のサンプルと、現在のビデオブロック中の対応するピクセル値との間の差分をピクセル値がその中で指す残差ブロックを形成し得る。いくつかの例において、加算器１５０は、予測ブロックのピクセル値を、コーディングされている現在のビデオブロックの対応するピクセル値から減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマおよびクロマの両方の差分成分を含み得る。加算器１５０は、この減算演算を実施する１つまたは複数の構成要素を表し得る。動き補償ユニット１４６はまた、スライスのビデオブロックを復号する際にビデオデコーダ３０により使用するための、ビデオブロックおよびスライスと関連付けられたシンタックス要素を生成することができる。
【０１５１】
[0160]イントラ予測ユニット１４８は、上述されたように、動き推定ユニット１４４および動き補償ユニット１４６によって実施されるインター予測の代替として、現在ブロックをイントラ予測することができる。特に、イントラ予測ユニット１４８は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット１４８は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット１４８（または、いくつかの例では、モード選択ユニット）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット１４８は、様々なテストされたイントラ予測モードのためのレートひずみ分析（a rate−distortion analysis）を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測ユニット１４８は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
【０１５２】
[0161]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット１４８は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット１５６に提供し得る。エントロピー符号化ユニット１５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリームに、（コードワードマッピングテーブルとも呼ばれる）複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、コンテキストの各々に対して使用する、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含む場合がある、構成データを含めることができる。
【０１５３】
[0162]本開示のいくつかの技法にしたがって、予測処理ユニット１４２は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施する。さらに、予測処理ユニット１４２は、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことができ、ここで現在のブロックは、スキップモードまたはダイレクトモードのいずれかでコーディングされている。たとえば、予測処理ユニット１４２は、現在のブロックに関してビュー間動き予測および／またはビュー間残差予測を実施するのに、現在のブロックについての視差ベクトルを使うことができる。
【０１５４】
[0163]予測処理ユニット１４２が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後に、ビデオエンコーダ２０は、残差ビデオブロックを形成する。いくつかの例において、加算器１５０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。変換処理ユニット１５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ブロックを残差変換係数に変換し得る。変換処理ユニット１５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１５５】
[0164]変換処理ユニット１５２は、得られた変換係数を量子化処理ユニット１５４に送り得る。量子化処理ユニット１５４は、ビットレートをさらに低減するために変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減させることができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット１５４は、次いで、量子化変換係数（quantized transform coefficients）を含む行列の走査を実施し得る。代替として、エントロピー符号化ユニット１５６が走査を実施し得る。
【０１５６】
[0165]量子化の後、エントロピー符号化ユニット１５６は、量子化変換係数をエントロピー符号化することができる。言い換えると、エントロピー符号化ユニット１５６は、量子化変換係数に対応するシンタックス要素をエントロピー符号化することができる。異なる例において、エントロピー符号化ユニット１５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率インターバル区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット１５６によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット１５６はまた、現在コーディングされているスライスについての動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。たとえば、エントロピー符号化ユニット１５６は、動きベクトルに対応するシンタックス要素をエントロピー符号化することができる。
【０１５７】
[0166]ＣＡＢＡＣを実施するために、エントロピー符号化ユニット１５６は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。たとえば、コンテキストは、シンボルの隣接値が非ゼロであるかどうかに関係し得る。ＣＡＶＬＣを実施するために、エントロピー符号化ユニット１５６は、送信されるべきシンボルの可変長コードを選択し得る。可変長コーディング（ＶＬＣ）におけるコードワードは、比較的短いコードがより確かなシンボルに対応し、より長いコードが確かさの劣るシンボルに対応するように構成することができる。このようにして、ＶＬＣを使用すると、たとえば、送信されるべき各シンボルのために等長コードワード（equal−length codewords）を使用するよりも、ビット節約を実現し得る。確率判断は、シンボルに割り当てられるコンテキストに基づき得る。
【０１５８】
[0167]逆量子化処理ユニット１５８および逆変換処理ユニット１６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築する。動き補償ユニット１４６は、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを加算することによって参照ブロックを計算し得る。動き補償ユニット１４６はまた、再構築された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器１６２は、参照ピクチャメモリ１６４に記憶するための参照ブロックを生成するために、再構築された残差ブロックを、動き補償ユニット１４６によって生成された動き補償予測ブロック（motion compensated prediction block）に加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット１４４と動き補償ユニット１４６とによって参照ブロックとして使用され得る。このように、参照ピクチャメモリ１６４は、ビデオデータを記憶するメモリである。
【０１５９】
[0168]このようにして、ビデオエンコーダ２０は、本開示で説明する１つまたは複数の例示的な技法を実装するように構成されたビデオエンコーダの一例である。たとえば、予測処理ユニット１４２は、例示的技法を実装するように構成され得る。いくつかの例では、予測処理ユニット１４２以外のユニットが、上記で説明した例を実装することができる。いくつかの例では、予測処理ユニット１４２は、ビデオエンコーダ２０の１つまたは複数の他のユニットとともに、上記で説明した例を実装することができる。いくつかの他の例では、ビデオエンコーダ２０のプロセッサまたはユニット（図７には図示せず）は、単独で、またはビデオエンコーダ２０の他のユニットとともに、上記で説明した例を実装することができる。
【０１６０】
[0169]図８は、本開示で説明する技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図８の例において、ビデオデコーダ３０は、インター予測復号またはイントラ予測復号を実施することができる。図８の例では、ビデオデコーダ３０は、エントロピー復号ユニット１７０と、予測処理ユニット１７１と、逆量子化処理ユニット１７６と、逆変換処理ユニット１７８と、加算器１８０と、参照ピクチャメモリ１８２とを含む。予測処理ユニット１７１は、動き補償ユニット１７２と、イントラ予測ユニット１７４とを含む。いくつかの例において、ビデオデコーダ３０は、図７からのビデオエンコーダ２０に関して説明された符号化パスとは概して逆の復号パスを実施する。参照ピクチャメモリ１８２は、復号化ピクチャバッファ（a decoded picture buffer）（ＤＰＢ）の一例である。
【０１６１】
[0170]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化スライスのビデオブロックと、関連付けられたシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット１７０は、量子化された係数と、動きベクトルと、他のシンタックス要素とを取得するために、ビットストリームの特定のシンタックス要素をエントロピー復号することができる。エントロピー復号ユニット１７０は、予測処理ユニット１７１に動きベクトルと他のシンタックス要素とを転送し得る。ビデオデコーダ３０は、スライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１６２】
[0171]スライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット１７１のイントラ予測ユニット１７４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、スライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測処理ユニット１７１の動き補償ユニット１７２は、エントロピー復号ユニット１７０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のスライスのビデオブロックのための予測ブロックを生成する。動き補償ユニット１７２は、参照ピクチャリストの１つの中の参照ピクチャのうち１つから予測ブロックを生じることができる。ビデオデコーダ３０は、参照ピクチャメモリ１８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。
【０１６３】
[0172]動き補償ユニット１７２は、動きベクトルと他のシンタックス要素とを処理することによって現在のスライスのビデオブロックについての予測情報を判断することができ、予測情報を使用して、現在復号されている現在のビデオブロックのための予測ブロックを生成することができる。たとえば、動き補償ユニット１７２は、受信されたシンタックス要素のうちのいくつかを使用して、スライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、スライス中のビデオブロックを復号するための他の情報とを判断する。
【０１６４】
[0173]動き補償ユニット１７２はまた、補間フィルタに基づいて補間を実施することができる。動き補償ユニット１７２は、参照ブロックのサブ整数ピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット１７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１６５】
[0174]本開示のいくつかの例によると、予測処理ユニット１７１は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施し、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施する。さらに、予測処理ユニット１７１は、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うことができ、ここで現在のブロックは、スキップモードまたはダイレクトモードのいずれかでコーディングされている。たとえば、予測処理ユニット１７１は、現在のブロックに関してビュー間動き予測および／またはビュー間残差予測を実施するのに、現在のブロックについての視差ベクトルを使うことができる。
【０１６６】
[0175]逆量子化処理ユニット１７６は、ビットストリームから取得されたシンタックス要素によって与えられ、エントロピー復号ユニット１７０によって復号された、量子化変換係数を逆量子化（すなわち、量子化解除（de−quantize））する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を決定するための、スライス中のビデオブロックごとにビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット１７８は、ピクセル領域において残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセス）を変換係数に適用する。
【０１６７】
[0176]動き補償ユニット１７２が、動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオブロックについての予測ブロックを生成した後、加算器１８０は、復号化ビデオブロック（a decoded video block）を形成することができる。いくつかの例において、加算器１８０は、逆変換処理ユニット１７８から得た残差ブロックに、動き補償ユニット１７２によって生成された対応する予測ブロックを加算することによって、復号化ビデオブロックを形成し得る。加算器１８０は、この加算演算を実施する１つまたは複数の構成要素を代表する。所望される場合、ブロッキネスアーティファクトを除去するために、復号化ブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。ビデオデコーダ３０は、ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使うことができる。参照ピクチャメモリ１８２は次いで、所与のピクチャ中の復号化ビデオブロックを、後続の動き補償のために記憶する。参照ピクチャメモリ１８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために、復号化ビデオを記憶することができる。このように、参照ピクチャメモリ１８２は、ビデオデータを記憶するメモリである。
【０１６８】
[0177]このように、ビデオデコーダ３０は、本開示で説明する１つまたは複数の技法を実装するように構成されたビデオデコーダの一例である。たとえば、予測処理ユニット１７１は、例示的技法を実装するように構成され得る。いくつかの例では、予測処理ユニット１７１以外のユニットが、上記で説明した例を実装することができる。いくつかの例では、予測処理ユニット１７１は、ビデオデコーダ３０の１つまたは複数の他のユニットとともに、上記で説明した例を実装することができる。さらに他の例では、ビデオデコーダ３０のプロセッサまたはユニット（図８には図示せず）は、単独で、またはビデオデコーダ３０の他のユニットとともに、上記で説明した例を実装することができる。
【０１６９】
[0178]図９Ａは、本開示の１つまたは複数の技法による、ビデオエンコーダ２０の例示的な動作を示すフローチャートである。図９Ａの例において、ビデオエンコーダ２０は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施する（２５０）。ビデオエンコーダ２０は、複数の視差動きベクトルに対する中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使う（たとえば、設定する）ことができる（２５２）。図９Ａの例において、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる（たとえば、ビデオエンコーダ２０は、現在のブロックを、スキップモードまたはダイレクトモードのいずれかにおいて符号化する）。さらに、ビデオエンコーダ２０（たとえば、ビデオエンコーダ２０のエントロピー符号化ユニット１５６）は、現在のブロックを含む現在のスライスについての少なくともいくつかのシンタックス要素をエントロピー符号化することができる（２５４）。
【０１７０】
[0179]図９Ｂは、本開示の１つまたは複数の技法による、ビデオデコーダ３０の例示的な動作を示すフローチャートである。図９Ｂの例において、ビデオデコーダ３０は、視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施するか、または視差ベクトルを判断するためにＮＢＤＶ−Ｒプロセスを実施する（２８０）。ビデオデコーダ３０は、複数の視差動きベクトルに対する中央値フィルタリングプロセスを使わずに、視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使う（たとえば、設定する）ことができる（２８２）。図９Ｂの例において、現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる。さらに、ビデオデコーダ３０（たとえば、ビデオデコーダ３０の加算器１８０）は、現在のブロックについてのピクセル値を判断することができる（２８４）。
【０１７１】
[0180]以下の段落は、本開示の１つまたは複数の技法による追加実施例を挙げる。
【０１７２】
[0181]実施例１．本明細書で開示した実施形態のうちのいずれかによる、ビデオデータを符号化する方法。
【０１７３】
[0182]実施例２．本明細書で開示した実施形態のうちのいずれかによる、ビデオデータを復号する方法。
【０１７４】
[0183]実施例３．実行されると、実施例１〜２の方法のいずれかを実施する命令を記憶したコンピュータ可読媒体。
【０１７５】
[0184]実施例４．３Ｄ−ＡＶＣのためのビデオデータをコーディングする方法であって、隣接ブロックベースの視差ベクトル導出（ＮＢＤＶ）のために、時間的隣接ブロックではなく、１つまたは複数の空間的隣接ブロックを最初に検査することによって、現在のブロックについての視差ベクトルを判断することを備える方法。
【０１７６】
[0185]実施例６．スキップモードおよびダイレクトモードの一方または両方において、空間的隣接ブロックをさらに検査せずに、現在のブロックについての視差ベクトルを、ＮＢＤＶの結果として直接使うことをさらに備える、実施例５の方法。
【０１７７】
[0186]実施例７．視差ベクトルを直接使うことは、中央値フィルタリングを使わないことを備える、実施例６の方法。
【０１７８】
[0187]実施例８．深度マップにアクセスすることが不許可であるとき、スキップ／ダイレクトモード用の視差ベクトルを、ＮＢＤＶ結果に等しく設定することをさらに備える、実施例５の方法。
【０１７９】
[0188]実施例９．
深度マップにアクセスすることが許可されるとき、スキップ／ダイレクトモード用の視差ベクトルを、ＮＢＤＶ−Ｒプロセスの視差ベクトル：、ＮＢＤＶプロセスの視差ベクトルは、空間的隣接ブロックからのものである場合、ＮＢＤＶプロセスの視差ベクトルに設定され、そうでない場合、ＮＢＤＶ−Ｒプロセスの視差ベクトルに設定される：、およびＮＢＤＶプロセスの視差ベクトル：、のうちの少なくとも１つに設定することをさらに備える、実施例５の方法。
【０１８０】
[0189]実施例１０．３Ｄ−ＡＶＣのためのビデオデータをコーディングする方法であって、スキップ／ダイレクトモード中に、ＮＢＤＶプロセスの視差ベクトルが、現在のブロックの時間的隣接ブロックの視差動きベクトルからのものであるときのみ、空間的隣接ブロックを一定の順序で検査することを備える方法。
【０１８１】
[0190]実施例１１．検査される空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、利用可能な視差動きベクトルを現在のブロックの視差ベクトルに設定し、空間的隣接ブロックから視差動きベクトルが見つからない場合、現在のブロック向けのＮＢＤＶまたはＮＢＤＶ−Ｒの結果を使うことをさらに備える、実施例１０の方法。
【０１８２】
[0191]実施例１２．視差動きベクトルを含む２つ以上の空間的隣接ブロックがある場合、視差動きベクトル／視差ベクトルを、現在のブロック用に利用可能なものから、および使われるものから、数学的関数を用いて導出することをさらに備える、実施例１０の方法。
【０１８３】
[0192]実施例１３．３Ｄ−ＡＶＣのためのビデオデータをコーディングする方法であって、現在のブロックが、スキップ／ダイレクトモードを使ってコーディングされるとき、空間的ブロックをさらに検査するのではなく、ＮＢＤＶまたはＮＢＤＶ−Ｒからの視差ベクトルを直接使うことを備える方法。
【０１８４】
[0193]実施例１４．実施例５〜１３のいずれかの組合せまたは置換による方法。
【０１８５】
[0194]実施例１５．方法はビデオデコーダによって実施される、実施例５〜１３のいずれかの組合せまたは置換による方法。
【０１８６】
[0195]実施例１６．方法はビデオエンコーダによって実施される、実施例５〜１３のいずれかの組合せまたは置換による方法。
【０１８７】
[0196]実施例１７．実施例５〜１４のいずれかの組合せまたは置換による方法を実装するように構成されたビデオコーダを備えるビデオコーディングデバイス。
【０１８８】
[0197]実施例１８．ビデオコーダはビデオデコーダを備える、実施例１７のビデオコーディングデバイス。
【０１８９】
[0198]実施例１９．ビデオコーダはビデオエンコーダを備える、実施例１７のビデオコーディングデバイス。
【０１９０】
[0199]実施例２０．ビデオコーディングデバイスは、集積回路、マイクロプロセッサ、およびビデオコーダを含むワイヤレス通信デバイスのうちの少なくとも１つを備える、実施例１７〜１９のいずれかのビデオコーディングデバイス。
【０１９１】
[0200]実施例２１．実施例５〜１４のいずれかの方法を実装するための手段を備える装置。
【０１９２】
[0201]実施例２２．ビデオデータをコーディングするためのデバイスのプロセッサによって実行されると、デバイスに、実施例５〜１４のいずれかの方法を実施させる命令を記憶したコンピュータ可読記憶媒体。
【０１９３】
[0202]実施例２３．ビデオコーディングのための装置であって、隣接ブロックベースの視差ベクトル導出（ＮＢＤＶ）のために、時間的隣接ブロックではなく、空間的隣接ブロックを最初に検査することによって、現在のブロックについての視差ベクトルを判断するための手段を備える装置。
【０１９４】
[0203]実施例２４．ビデオコーディングのための装置であって、ＮＢＤＶプロセスの視差ベクトルが現在のブロックの時間的隣接ブロックの視差動きベクトルからのものであるときのみ、スキップ／ダイレクトモード中に空間的隣接ブロックを一定の順序で検査するための手段を備える装置。
【０１９５】
[0204]実施例２５．ビデオコーディングのための装置であって、現在のブロックがスキップ／ダイレクトを用いてコーディングされるとき、空間的ブロックをさらに検査し、中央値フィルタリングを潜在的に使用するのではなく、ＮＢＤＶまたはＮＢＤＶ−Ｒからの視差ベクトルを直接使うための手段を備える装置。
【０１９６】
[0205]実施例２６．命令を記憶するメモリと、命令が実行されると、実施例１〜１３のいずれかの組合せまたは置換による方法を実施するように構成される１つまたは複数のプロセッサとを備える装置。
【０１９７】
[0206]実施例２７．装置はビデオデコーダを備える、実施例２６の装置。
【０１９８】
[0207]実施例２８．装置はビデオエンコーダを備える、実施例２６の装置。
【０１９９】
[0208]実施形態によっては、本明細書で説明された方法のうちいずれかの、いくつかの動作またはイベントは、異なる順序で実施されてよく、追加され、統合され、または完全に除外されてよい（たとえば、すべての説明した動作またはイベントが、本方法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの実施形態では、作用またはイベントは、連続してではなくむしろ、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して実施することができる。
【０２００】
[0209]本明細書に開示する方法、システムおよび装置と関連して説明する様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は認識するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、それらの機能性の点から上記で一般的に説明された。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【０２０１】
[0210]さらに、本明細書で開示した実施形態は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはその他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェア構成要素などの電子デバイスまたは回路、あるいは本明細書で説明した機能を実施するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。
【０２０２】
[0211]本明細書に開示の実施形態に関連して説明した方法またはアルゴリズムのステップは、直接にハードウェアの形態、プロセッサによって実行されるソフトウェアモジュールの形態、またはこの２つの組合せの形態で実施され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、かつ記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であり得る。プロセッサおよび記憶媒体はＡＳＩＣ中に存在し得る。ＡＳＩＣはユーザ端末内に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内の個別構成要素として存在することができる。
【０２０３】
[0212]様々な例について説明がされてきた。これらおよび他の例は、以下の特許請求の範囲内である。
【図１】
2016517228.tif 000004
【図２】
2016517228.tif 000005
【図３】
2016517228.tif 000006
【図４】
2016517228.tif 000007
【図５】
2016517228.tif 000008
【図６】
2016517228.tif 000009
【図７】
2016517228.tif 000010
【図８】
2016517228.tif 000011
【図９Ａ】
2016517228.tif 000012
【図９Ｂ】
2016517228.tif 000013
【手続補正書】
【提出日】平成27年11月18日(2015.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記ビデオデータの現在のブロックについての視差ベクトルを判断することと、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施すること、または前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することを備え、
前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルであり、
前記ＮＢＤＶ−Ｒプロセスは、前記ＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、対応する深度ブロックにアクセスすることによって洗練することとを備える、
ブロックベースのビュー合成予測（ＶＳＰ）を実施するために前記現在のブロックについての前記視差ベクトルを使うことと、ここにおいて、ブロックベースのＶＳＰを実施することは、
前記現在のブロックを複数のサブ領域に区分することと、
前記複数のサブ領域の各それぞれのサブ領域について、前記視差ベクトルによって配置されているとともにビュー間参照ピクチャ中にあるブロックから、前記それぞれのサブ領域を予測することとを備える、
前記現在のブロックについてのピクセル値を判断することと
を備える方法。
【請求項２】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項３】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、請求項１に記載の方法。
【請求項４】
前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
前記対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、請求項１に記載の方法。
【請求項５】
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項６】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１に記載の方法。
【請求項７】
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定し、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１に記載の方法。
【請求項８】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項７に記載の方法。
【請求項９】
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、請求項７に記載の方法。
【請求項１０】
ビデオデータを符号化する方法であって、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、ビデオデータの現在のブロックについての視差ベクトルを判断することと、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施すること、または前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することを備え、
前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルであり、
前記ＮＢＤＶ−Ｒプロセスは、前記ＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、対応する深度ブロックにアクセスすることによって洗練することとを備える、
ブロックベースのビュー合成予測（ＶＳＰ）を実施するために前記ビデオデータの前記現在のブロックについての前記視差ベクトルを使うことと、ここにおいて、ブロックベースのＶＳＰを実施することは、
前記現在のブロックを複数のサブ領域に区分することと、
前記複数のサブ領域の各それぞれのサブ領域について、前記視差ベクトルによって配置されているとともにビュー間参照ピクチャ中にあるブロックから、前記それぞれのサブ領域を予測することとを備える、
前記現在のブロックを含む現在のスライスについてのシンタックス要素をエントロピー符号化することと
を備える方法。
【請求項１１】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、請求項１０に記載の方法。
【請求項１３】
前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは１つの複数の時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、請求項１０に記載の方法。
【請求項１４】
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１５】
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、請求項１０に記載の方法。
【請求項１６】
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１０に記載の方法。
【請求項１７】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項１６に記載の方法。
【請求項１８】
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、請求項１６に記載の方法。
【請求項１９】
復号化ビデオブロックを記憶するように構成されたメモリと、
１つまたは複数のプロセッサとを備えるデバイスであって、前記１つまたは複数のプロセッサは、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、ビデオデータの現在のブロックについての視差ベクトルを判断し、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、ここにおいて、前記現在のブロックについての前記視差ベクトルを判断するために、前記１つまたは複数のプロセッサは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施し、
前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルであり、
前記ＮＢＤＶ−Ｒプロセスは、前記ＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、対応する深度ブロックにアクセスすることによって洗練することとを備える、
ブロックベースのビュー合成予測（ＶＳＰ）を実施するために前記現在のブロックについての前記視差ベクトルを使う、ここにおいて、ブロックベースのＶＳＰを実施することは、
前記現在のブロックを複数のサブ領域に区分することと、
前記複数のサブ領域の各それぞれのサブ領域について、前記視差ベクトルによって配置されているとともにビュー間参照ピクチャ中にあるブロックから、前記それぞれのサブ領域を予測することとを備える、ように構成される、
デバイス。
【請求項２０】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、請求項１９に記載のデバイス。
【請求項２１】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することの一部として、前記１つまたは複数のプロセッサは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査する、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記現在のブロックについての前記空間的または時間的隣接ブロックの視差動きベクトルを戻す、請求項１９に記載のデバイス。
【請求項２２】
前記ＮＢＤＶ−Ｒプロセスを実施することの一部として、前記１つまたは複数のプロセッサは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻し、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練する、請求項１９に記載のデバイス。
【請求項２３】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定するように構成される、請求項１９に記載のデバイス。
【請求項２４】
前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、請求項１９に記載のデバイス。
【請求項２５】
前記１つまたは複数のプロセッサは、
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査するように構成され、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、請求項１９に記載のデバイス。
【請求項２６】
前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、請求項２５に記載のデバイス。
【請求項２７】
前記１つまたは複数のプロセッサは、
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出し、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うように構成される、請求項２５に記載のデバイス。
【請求項２８】
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、ビデオデータの現在のブロックについての視差ベクトルを判断するための手段と、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施すること、または前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することを備え、
前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルであり、
前記ＮＢＤＶ−Ｒプロセスは、前記ＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、対応する深度ブロックにアクセスすることによって洗練することとを備える、
ブロックベースのビュー合成予測（ＶＳＰ）を実施するためにビデオデータの前記現在のブロックについての前記視差ベクトルを使うための手段と、ここにおいて、ブロックベースのＶＳＰを実施することは、
前記現在のブロックを複数のサブ領域に区分することと、
前記複数のサブ領域の各それぞれのサブ領域について、前記視差ベクトルによって配置されているとともにビュー間参照ピクチャ中にあるブロックから、前記それぞれのサブ領域を予測することとを備える、
を備えるデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２０３
【補正方法】変更
【補正の内容】
【０２０３】
[0212]様々な例について説明がされてきた。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］ ビデオデータを復号する方法であって、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することと、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、前記ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、
前記現在のブロックについてのピクセル値を判断することとを備える方法。
［Ｃ２］ 深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１に記載の方法。
［Ｃ３］ 前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、Ｃ１に記載の方法。
［Ｃ４］ 前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、Ｃ１に記載の方法。
［Ｃ５］ 深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１に記載の方法。
［Ｃ６］ 深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１に記載の方法。
［Ｃ７］ 前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、Ｃ１に記載の方法。
［Ｃ８］ 前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、Ｃ７に記載の方法。
［Ｃ９］ 前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、Ｃ７に記載の方法。
［Ｃ１０］ ビデオデータを符号化する方法であって、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施することと、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、前記ビデオデータの現在のブロックについての視差ベクトルとして使うことと、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、
前記現在のブロックを含む現在のスライスについてのシンタックス要素をエントロピー符号化することとを備える方法。
［Ｃ１１］ 深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１０に記載の方法。
［Ｃ１２］ 前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備え、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記空間的または時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻す、Ｃ１０に記載の方法。
［Ｃ１３］ 前記ＮＢＤＶ−Ｒプロセスを実施することは、
空間的隣接ブロックまたは１つの複数の時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻すことと、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練することとを備える、Ｃ１０に記載の方法。
［Ｃ１４］ 深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１０に記載の方法。
［Ｃ１５］ 深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定することと、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定することとをさらに備える、Ｃ１０に記載の方法。
［Ｃ１６］ 前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査することをさらに備え、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、Ｃ１０に記載の方法。
［Ｃ１７］ 前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、Ｃ１６に記載の方法。
［Ｃ１８］ 前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出することと、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うこととをさらに備える、Ｃ１６に記載の方法。
［Ｃ１９］ 復号ビデオブロックを記憶するメモリと、
１つまたは複数のプロセッサとを備えるデバイスであって、前記１つまたは複数のプロセッサは、
視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施し、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使う、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、ように構成される、デバイス。
［Ｃ２０］ 前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶ−Ｒ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、Ｃ１９に記載のデバイス。
［Ｃ２１］ 前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することの一部として、前記１つまたは複数のプロセッサは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査する、ここにおいて、前記空間的または時間的隣接ブロックのうちの１つがビュー間参照ピクチャを使うとき、前記現在のブロックについての前記空間的または時間的隣接ブロックの視差動きベクトルを戻す、Ｃ１９に記載のデバイス。
［Ｃ２２］ 前記ＮＢＤＶ−Ｒプロセスを実施することの一部として、前記１つまたは複数のプロセッサは、
空間的隣接ブロックまたは時間的隣接ブロックがビュー間参照ピクチャを使うとき、前記空間的隣接ブロックまたは前記時間的隣接ブロックの視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして戻し、
対応する深度ブロックにアクセスすることによって、前記現在のブロックについての前記視差ベクトルを洗練する、Ｃ１９に記載のデバイス。
［Ｃ２３］ 前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものであるとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可され、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが空間的隣接ブロックからのものでないとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルに設定するように構成される、Ｃ１９に記載のデバイス。
［Ｃ２４］ 前記１つまたは複数のプロセッサは、
深度マップにアクセスすることが許可されているとき、前記現在のブロックについての前記視差ベクトルを、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルに設定し、
前記深度マップにアクセスすることが許可されていないとき、前記現在のブロックについての前記視差ベクトルを、ＮＢＤＶプロセスによって判断された前記視差ベクトルに設定するようにさらに構成される、Ｃ１９に記載のデバイス。
［Ｃ２５］ 前記１つまたは複数のプロセッサは、
前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルが時間的隣接ブロックの視差動きベクトルからのものであるとき、空間的隣接ブロックを特定の順序で検査するように構成され、
ここにおいて、前記空間的隣接ブロックのうちの１つを検査するとき、前記空間的隣接ブロックが、利用可能な視差動きベクトルを含む場合、前記利用可能な視差動きベクトルを、前記現在のブロックについての前記視差ベクトルに設定する、
ここにおいて、空間的隣接ブロックのうちのどれも視差動きベクトルを含まないとき、前記ＮＢＤＶ導出プロセスによって判断された前記視差ベクトルまたは前記ＮＢＤＶ−Ｒプロセスによって判断された前記視差ベクトルを、前記現在のブロックについての前記視差ベクトルとして使う、Ｃ１９に記載のデバイス。
［Ｃ２６］ 前記特定の順序は、左の空間的隣接ブロック、上の空間的隣接ブロック、右上の空間的隣接ブロック、および左上の空間的隣接ブロックである、Ｃ２５に記載のデバイス。
［Ｃ２７］ 前記１つまたは複数のプロセッサは、
前記空間的隣接ブロックのうちの２つ以上が視差動きベクトルを含むとき、前記空間的隣接ブロックの視差動きベクトルから、数学関数を用いて視差動きベクトルを導出し、
前記導出された視差動きベクトルを、前記現在のブロックについての前記視差ベクトルとして使うように構成される、Ｃ２５に記載のデバイス。
［Ｃ２８］ 視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出プロセスを実施するか、または前記視差ベクトルを判断するためにＮＢＤＶ洗練（ＮＢＤＶ−Ｒ）プロセスを実施するための手段と、
複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記視差ベクトルを、ビデオデータの現在のブロックについての視差ベクトルとして使うための手段と、ここにおいて、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかにおいてコーディングされる、を備えるデバイス。
【手続補正書】
【提出日】平成27年11月19日(2015.11.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
深度マップへのアクセスが許可されることに基づいて、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記ビデオデータの現在のブロックについての視差ベクトルを判断することと、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）洗練（ＮＢＤＶ−Ｒ）プロセスを実施することを備え、
前記ＮＢＤＶ−Ｒプロセスは、前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、前記深度マップ中の対応する深度ブロックにアクセスすることによって洗練することとを備え、前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルである、
参照ビュー中の参照ブロックを判断するのに、前記現在のブロックについての前記視差ベクトルを使うことと、
前記参照ブロックに基づいて、前記現在のブロックについてのピクセル値を判断することと
を備える方法。
【請求項２】
前記現在のブロックは第１のブロックであり、前記方法は、
前記深度マップへのアクセスが許可されないことに基づいて、第２のブロックについての視差ベクトルを、ＮＢＤＶプロセスによって判断された視差ベクトルに設定することさらに備える、請求項１に記載の方法。
【請求項３】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備える、請求項１に記載の方法。
【請求項４】
ビデオデータを符号化する方法であって、
深度マップへのアクセスが許可されることに基づいて、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記ビデオデータの現在のブロックについての視差ベクトルを判断することと、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）洗練（ＮＢＤＶ−Ｒ）プロセスを実施することを備え、
前記ＮＢＤＶ−Ｒプロセスは、前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、前記深度マップ中の対応する深度ブロックにアクセスすることによって洗練することとを備え、前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルである、
参照ビュー中の参照ブロックを判断するために前記現在のブロックについての前記視差ベクトルを使うことと、
前記現在のブロックの符号化バージョンを生成するために、前記参照ブロックを使うことと
を備える方法。
【請求項５】
前記現在のブロックは第１のブロックであり、前記方法は、
前記深度マップへのアクセスが許可されないことに基づいて、第２のブロックについての視差ベクトルを、ＮＢＤＶプロセスによって判断された視差ベクトルに設定することさらに備える、請求項４に記載の方法。
【請求項６】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査することを備える、請求項４に記載の方法。
【請求項７】
ビデオデータをコーディングするためのデバイスであって、
前記ビデオデータを記憶するように構成されたデータ記憶媒体と、
１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、
深度マップへのアクセスが許可されることに基づいて、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記ビデオデータの現在のブロックについての視差ベクトルを判断し、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、ここにおいて、前記現在のブロックについての前記視差ベクトルを判断するために、前記１つまたは複数のプロセッサは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）洗練（ＮＢＤＶ−Ｒ）プロセスを実施し、
前記ＮＢＤＶ−Ｒプロセスは、前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、前記深度マップ中の対応する深度ブロックにアクセスすることによって洗練することとを備え、前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルである、
参照ビュー中の参照ブロックを判断するために、前記現在のブロックについての前記視差ベクトルを使う、ように構成される、
デバイス。
【請求項８】
前記現在のブロックは第１のブロックであり、前記１つまたは複数のプロセッサは、
前記深度マップへのアクセスが許可されないことに基づいて、第２のブロックについての視差ベクトルを、ＮＢＤＶプロセスによって判断された視差ベクトルに設定するように構成される、請求項７に記載のデバイス。
【請求項９】
前記現在のブロックはマクロブロックであり、
前記ＮＢＤＶ導出プロセスを実施することの一部として、前記１つまたは複数のプロセッサは、視差動きベクトルについての１つまたは複数の空間的隣接ブロックを検査し、次いで、視差動きベクトルについての１つまたは複数の時間的隣接ブロックを検査する、請求項７に記載のデバイス。
【請求項１０】
ビデオデータをコーディングするためのデバイスであって、
深度マップへのアクセスが許可されることに基づいて、複数の視差動きベクトルに対して中央値フィルタリングプロセスを使わずに、前記ビデオデータの現在のブロックについての視差ベクトルを判断するための手段と、前記現在のブロックは、スキップモードまたはダイレクトモードのいずれかを使ってコーディングされ、前記視差ベクトルを判断することは、前記現在のブロックについての前記視差ベクトルを判断するために隣接ブロックベースの視差ベクトル（ＮＢＤＶ）洗練プロセスを実施することを備え、
ＮＢＤＶ−Ｒプロセスは、前記現在のブロックについての前記視差ベクトルを判断するためにＮＢＤＶ導出プロセスを実施することと、前記現在のブロックについての前記視差ベクトルを、前記深度マップ中の対応する深度ブロックにアクセスすることによって洗練することとを備え、前記ＮＢＤＶ導出プロセスは、視差動きベクトルについての隣接ブロックを検査することと、前記視差動きベクトルを、前記現在のブロックについての前記視差ベクトルにコンバートすることとを備え、前記視差動きベクトルは、ビュー間参照ピクチャをポイントする動きベクトルである、
参照ビュー中の参照ブロックを判断するために前記現在のブロックについての前記視差ベクトルを使うための手段と
を備えるデバイス。
【請求項１１】
前記デバイスは、
集積回路、
マイクロプロセッサ、または、
ワイヤレス通信デバイスのうちの少なくとも１つを備える、請求項７に記載のデバイス。
【請求項１２】
前記現在のブロックを含む復号化ピクチャを表示するように構成されたディスプレイをさらに備える、請求項７に記載のデバイス。
【請求項１３】
前記現在のブロックを含むピクチャをキャプチャするように構成されたカメラをさらに備える、請求項７に記載のデバイス。
【国際調査報告】
2016517228.tif 000014
2016517228.tif 000015