(57)【要約】  ビデオコーダは、ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶する。ビデオコーダは、特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、スライス用のＤＤＶを使用する。さらに、ビデオコーダは、スライス用のＤＤＶとして、特定のブロック用の視差ベクトルを記憶する。
2016513919.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項２】
前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを復号することをさらに備える、請求項１に記載の方法。
【請求項３】
前記特定のブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを復号することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項３に記載の方法。
【請求項５】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項３に記載の方法。
【請求項６】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項３に記載の方法。
【請求項７】
前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用することを備える、請求項１に記載の方法。
【請求項８】
前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定すること
を備える、請求項７に記載の方法。
【請求項９】
前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することと
を備える、請求項８に記載の方法。
【請求項１０】
前記特定のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１に記載の方法。
【請求項１１】
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備え、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１に記載の方法。
【請求項１２】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良することをさらに備え、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備える、
請求項１に記載の方法。
【請求項１３】
前記方法が、前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１に記載の方法。
【請求項１４】
ビデオデータを符号化する方法であって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項１５】
前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを符号化することをさらに備える、請求項１４に記載の方法。
【請求項１６】
前記特定のブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを符号化することと
さらに備える、請求項１４に記載の方法。
【請求項１７】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項１６に記載の方法。
【請求項１８】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項１６に記載の方法。
【請求項１９】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項１６に記載の方法。
【請求項２０】
前記特定のブロックについての前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用することを備える、請求項１４に記載の方法。
【請求項２１】
前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定すること
を備える、請求項２０に記載の方法。
【請求項２２】
前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することと
を備える、請求項２１に記載の方法。
【請求項２３】
前記特定のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１４に記載の方法。
【請求項２４】
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備え、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１４に記載の方法。
【請求項２５】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良することをさらに備え、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備える、
請求項１４に記載の方法。
【請求項２６】
前記方法が、前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１４に記載の方法。
【請求項２７】
ビデオデータを記憶するメモリと、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することと
を行うように構成された、１つまたは複数のプロセッサと
を備える、ビデオコーディングデバイス。
【請求項２８】
前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを符号化するように構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項２９】
前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを復号するように構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項３０】
前記特定のブロックが第１のブロックであり、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、後、前記１つまたは複数のプロセッサが、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックをコーディングと
を行うように、前記１つまたは複数のプロセッサがさらに構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項３１】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項２７に記載のビデオコーディングデバイス。
【請求項３２】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項２７に記載のビデオコーディングデバイス。
【請求項３３】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項２７に記載のビデオコーディングデバイス。
【請求項３４】
前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用するように構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項３５】
前記１つまたは複数のプロセッサが、前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定するように構成された、請求項３４に記載のビデオコーディングデバイス。
【請求項３６】
前記１つまたは複数のプロセッサが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することと
を行うように構成された、請求項３５に記載のビデオコーディングデバイス。
【請求項３７】
前記１つまたは複数のプロセッサが、前記第１のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記ＤＤＶを更新するように構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項３８】
前記１つまたは複数のプロセッサが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成され、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項２７に記載のビデオコーディングデバイス。
【請求項３９】
前記１つまたは複数のプロセッサが、深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良するように構成され、
前記１つまたは複数のプロセッサが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成された、
請求項２７に記載のビデオコーディングデバイス。
【請求項４０】
前記１つまたは複数のプロセッサが、前記スライスの任意のブロック用の暗黙視差ベクトルを記憶しないように構成された、請求項２７に記載のビデオコーディングデバイス。
【請求項４１】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶するための手段と、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用するための手段と、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶するための手段と
を備える、ビデオコーディングデバイス。
【請求項４２】
実行されたとき、
ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することと
をビデオコーディングデバイスの１つまたは複数のプロセッサに行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、２０１３年３月６日に出願された米国仮特許出願第６１／７７３，６８０号、および２０１３年４月５日に出願された米国仮特許出願第６１／８０９，１７４号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディング用の技法に関し、より詳細には、３次元（３Ｄ）ビデオコーディング用の技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報を送信、受信、および記憶するために、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）、高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、より効率的にデジタルビデオ情報を送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部分）がビデオブロックに区分化される場合がある。ピクチャのイントラコーディングされた（Ｉ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャにおける隣接ブロック内の参照サンプルに対する空間予測、または他の参照ピクチャにおける参照サンプルに対する時間予測を使用することができる。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
【０００５】
[0005]空間予測または時間予測により、コーディングされるべきブロック用の予測ブロックがもたらされる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は次いで量子化され得る。量子化係数は、最初に２次元アレイで構成され、係数の１次元ベクトルを生成するために走査され得るし、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【０００６】
[0006]Ｈ．２６４／ＡＶＣを含む前述の規格のうちのいくつかの拡張は、ステレオビデオまたは３次元（「３Ｄ」）ビデオを生成するために、マルチビュービデオコーディング用の技法を提供する。特に、マルチビューコーディング用の技法は、（Ｈ．２６４／ＡＶＣへのマルチビュー拡張になっている）マルチビュービデオコーディング（ＭＶＣ）規格を含むＡＶＣでの使用に提案されている。スケーラブルビデオコーディング（ＳＶＣ）規格もＨ．２６４／ＡＶＣへの拡張として開発されている。
【０００７】
[0007]通常、ステレオビデオは、２つのビュー、たとえば左ビューと右ビューとを使用して実現される。３次元ビデオ効果を実現するために、左ビューのピクチャは右ビューのピクチャと実質的に同時に表示され得る。たとえば、ユーザは、左ビューを右ビューからフィルタ処理する偏光パッシブ眼鏡を着用する場合がある。別の例では、２つのビューのピクチャは続けざまに示される場合があり、ユーザは、同じ頻度で、ただし位相が９０度シフトして左眼と右眼とを迅速に閉じるアクティブ眼鏡を着用する場合がある。
【発明の概要】
【０００８】
[0008]概して、本開示は３Ｄビデオコーディング用の技法を記載する。特に、本開示は視差ベクトルの導出に関する。本開示のいくつかの技法によれば、ビデオコーダは、現在ピクチャのスライス用の導出視差ベクトル（ＤＤＶ）を記憶することができる。ビデオコーダは、スライス用のＤＤＶに少なくとも部分的に基づいて、スライスの第１のブロック用の隣接ブロックベース視差ベクトル（ＮＢＤＶ）を導出することができる。ビデオコーダは、第１のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第１のブロックをコーディングすることができる。加えて、ビデオコーダは、スライス用のＤＤＶとして第１のブロック用のＮＢＤＶを記憶することができる。スライス用のＤＤＶとして第１のブロック用のＮＢＤＶを記憶した後、ビデオコーダは、スライス用のＤＤＶに少なくとも部分的に基づいて、スライスの第２のブロック用のＮＢＤＶを導出することができる。加えて、ビデオコーダは、第２のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第２のブロックをコーディングすることができる。場合によっては、ビデオコーダは、スライス用のＤＤＶとして第２のブロック用のＮＢＤＶを記憶することができる。ビデオコーダは、スライスのさらなるブロックについて、この処理を続けることができる。
【０００９】
一例では、本開示はビデオデータを復号する方法を記載し、方法は、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することと、ここにおいて、スライスは複数のブロックを含む、特定のブロック用の視差ベクトルを決定するためにＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することと、ここにおいて、特定のブロックはスライスのブロックのうちの１つである、スライス用のＤＤＶとして特定のブロック用の視差ベクトルを記憶することとを備える。
【００１０】
別の例では、本開示はビデオデータを符号化する方法を記載し、方法は、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することと、ここにおいて、スライスは複数のブロックを含む、特定のブロック用の視差ベクトルを決定するためにＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することと、ここにおいて、特定のブロックはスライスのブロックのうちの１つである、スライス用のＤＤＶとして特定のブロック用の視差ベクトルを記憶することとを備える。
【００１１】
[0009]別の例では、本開示は、ビデオデータを記憶するメモリ、ならびに、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することと、ここにおいて、スライスは複数のブロックを含む、特定のブロック用の視差ベクトルを決定するためにＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することと、ここにおいて、特定のブロックはスライスのブロックのうちの１つである、スライス用のＤＤＶとして特定のブロック用の視差ベクトルを記憶することとを行うように構成された１つまたは複数のプロセッサを備える、ビデオコーディングデバイスを記載する。
【００１２】
[0010]別の例では、本開示は、ビデオデータをコーディングするように構成されたビデオコーディングデバイスを記載し、ビデオコーディングデバイスは、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶するための手段と、ここにおいて、スライスは複数のブロックを含む、特定のブロック用の視差ベクトルを決定するためにＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用するための手段と、ここにおいて、特定のブロックはスライスのブロックのうちの１つである、スライス用のＤＤＶとして特定のブロック用の視差ベクトルを記憶するための手段とを備える。
【００１３】
[0011]別の例では、本開示は、実行されたとき、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することと、ここにおいて、スライスは複数のブロックを含む、特定のブロック用の視差ベクトルを決定するためにＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することと、ここにおいて、特定のブロックはスライスのブロックのうちの１つである、スライス用のＤＤＶとして特定のブロック用の視差ベクトルを記憶することとを、ビデオコーディングデバイスの１つまたは複数のプロセッサに行わせる命令を記憶した、非一時的コンピュータ可読媒体を記載する。
【００１４】
[0012]１つまたは複数の例の詳細が、添付の図面および以下の説明において記載されている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】[0013]本開示に記載される技法を利用することができる、例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0014]マルチビューコーディングのための例示的な予測構造を示す概念図。
【図３】[0015]例示的なマルチビュー復号順序を示す概念図。
【図４】[0016]バックワードワーピングに基づくブロックベースビュー合成予測ＶＳＰ（Ｂ−ＶＳＰ）の例示的な概念の可視化の図。
【図５】[0017]隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスのための例示的な空間隣接ブロックを示す概念図。
【図６】[0018]ＮＢＤＶ導出プロセスのための例示的な時間隣接ブロックを示す概念図。
【図７】[0019]本開示の１つまたは複数の技法を実装することができる、例示的なビデオエンコーダを示すブロック図。
【図８】[0020]本開示の１つまたは複数の技法を実装することができる、例示的なビデオデコーダを示すブロック図。
【図９Ａ】[0021]本開示の一例による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図９Ｂ】[0022]本開示の一例による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１０】[0023]本開示の一例による、例示的な視差ベクトル導出動作を示すフローチャート。
【発明を実施するための形態】
【００１６】
[0024]一般に、本開示は、（たとえば、Ｈ．２６４ＡＶＣのマルチビュービデオコーディング（ＭＶＣ）拡張における）Ｈ．２６４／アドバンストビデオコーディング（ＡＶＣ）コーデックによる２つ以上のビューのコーディングを含む、アドバンストコーデックに基づくマルチビュービデオコーディング用の技法を記載する。本開示は、視差ベクトル導出に関する技法を提案する。３Ｄ  ＡＶＣベースのビデオコーディング（すなわち、３Ｄ−ＡＶＣ）は、３次元（３Ｄ）ビデオコーディング用のＨ．２６４／ＡＶＣのＡＶＣ互換ビデオプラス深度拡張である。Ｈ．２６４／ＡＶＣのＭＶＣプラス深度（ＭＶＣ＋Ｄ）拡張と同様に、３Ｄ−ＡＶＣは、テクスチャコンポーネントおよび深度マップコンポーネントのコーディングをサポートする。しかしながら、本開示の技法は、一般的に、高効率ビデオコーディング（ＨＥＶＣ）規格のマルチビュー拡張を含む任意のマルチビュービデオコーディング技法に適用可能であり得る。
【００１７】
[0025]マルチビュービデオコーディングでは、様々なビューのビデオコンテンツは、様々な視点を表す場合がある。たとえば、第１のビューにおけるピクチャ内のビデオブロックは、第２のビューにおけるピクチャ内のビデオブロックと同様のビデオコンテンツを含む場合がある。この例では、第１のビューにおけるピクチャ内のビデオブロックの位置と、第２のビューにおけるピクチャ内のビデオブロックの位置は、異なる場合がある。たとえば、異なるビューにおけるビデオブロックの位置の間に、何らかの変位（すなわち、視差）が存在する場合がある。マルチビュービデオコーディングでは、異なるビューから復元されたビューコンポーネントに基づくビュー間予測が可能にされ得る。ビュー間予測は、ビデオの同じ時間インスタンスを表す各ビューのピクチャが同様のビデオコンテンツを含むことができるという事実を活用することによって、コーディング利得を実現することができる。
【００１８】
[0026]現在ピクチャ内のビデオブロックがビュー間予測を使用してコーディングされるとき、そのブロックは、ビュー間参照ピクチャ内の位置を示す動きベクトルを有することができる。ビュー間参照ピクチャは、現在ピクチャと同じ時間インスタンス内にある（すなわち、関連付けられている）が、現在ピクチャとは異なるビュー内にある（すなわち、関連付けられている）参照ピクチャであり得る。ブロックの動きベクトルがビュー間参照ピクチャ内の位置を示す場合、動きベクトルは視差動きベクトルと呼ばれる場合がある。ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、現在ブロック用の予測ブロックを決定するために、現在ブロックの視差動きベクトルを使用することができる。ビデオコーダがビデオエンコーダである場合、ビデオコーダは、現在ブロック用の残差データを生成するために、現在ブロック用の予測ブロックを使用することができる。ビデオコーダがビデオデコーダである場合、ビデオコーダは、現在ビデオブロック用のサンプル値を復元するために、現在ブロック用の予測ブロックと現在ブロック用の残差データとを使用することができる。
【００１９】
[0027]さらに、特定のピクチャ内のブロックは、ビュー間参照ピクチャ内の対応するブロックの動き情報または残差データと同様の動き情報または残差データを有することができる。したがって、ビデオコーダは、ビュー間参照ピクチャ内の対応するブロックの動き情報または残差データに基づいて、現在ピクチャ内の現在ブロックの動き情報または残差データを予測することができる。ビデオコーダは、ビュー間参照ピクチャ内の対応するブロックの位置を決定するために、現在ブロック用の視差ベクトルを決定することができる。ビデオコーダは、現在ブロックが視差動きベクトルを有しているかどうかにかかわらず、ビュー間参照ピクチャ内の対応するブロックの動き情報または残差データに基づいて、現在ブロックの動き情報または残差データを予測することができる。したがって、ビュー間参照ピクチャ内の対応するブロックの動き情報または残差データに基づいて、現在ブロックの動き情報または残差データが予測される場合、現在ブロックは視差ベクトルを有していると言われる。後でコーディングされるブロックの視差ベクトル導出プロセスに視差ベクトルが使用されるとき、視差ベクトルは、暗黙視差ベクトル（ＩＤＶ）と呼ばれる場合がある。現在ブロック用の視差ベクトルは、以前のブロックのうちの１つのブロック用の視差ベクトルに等しい場合がある。
【００２０】
[0028]ビデオコーダは、現在ブロック用の視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを使用することができる。ＮＢＤＶ導出プロセスでは、ビデオコーダは、現在ブロックに隣接するブロックを確認することができる。隣接ブロックには、空間隣接ブロックおよび時間隣接ブロックが含まれ得る。空間隣接ブロックは、現在ブロックと同じピクチャ（すなわち、現在ピクチャ）内にある。時間隣接ブロックは、現在ピクチャとは異なる１つまたは複数のピクチャ内にある。ビデオコーダが隣接ブロックを確認するとき、ビデオコーダは、隣接ブロックが視差動きベクトルを有するかどうかを決定することができる。隣接ブロックのうちの１つが視差動きベクトルを有するとビデオコーダが決定したとき、ビデオコーダは、隣接ブロックの確認を停止することができ、隣接ブロックの視差動きベクトルを現在ブロック用の視差ベクトルに変換することができる。隣接ブロックのいずれも視差動きベクトルを有していない場合、ビデオコーダは、空間隣接ブロックのいずれかがＩＤＶを有するかどうかを決定することができる。空間隣接ブロックのうちの１つがＩＤＶを有するとビデオコーダが決定したとき、ビデオコーダは、隣接ブロックの確認を停止することができ、隣接ブロックのＩＤＶを現在ブロック用の視差ベクトルに変換することができる。
【００２１】
[0029]既存のＮＢＤＶ導出プロセスに関していくつかの問題が存在する。たとえば、ＮＢＤＶ導出プロセスにおけるＩＤＶの使用は、記憶要件およびメモリアクセスの回数における著しい増加を必要とする可能性がある。本開示の技法は、ＮＢＤＶ導出プロセスに関するそのような問題に対処することができる。たとえば、ビデオコーダは、本開示の技法に従って、ビデオデータの現在ピクチャのスライス用の導出視差ベクトル（ＤＤＶ）に少なくとも部分的に基づいて、スライスの第１のブロック用のＮＢＤＶを導出することができる。スライスは、ビデオデータの１つまたは複数のブロックを含む場合がある。ビデオコーダは、第１のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第１のブロックをコーディングすることができる。加えて、ビデオコーダは、スライス用の更新されたＤＤＶとして第１のブロック用のＮＢＤＶを記憶することができる。更新されたＤＤＶとして第１のブロック用のＮＢＤＶを記憶した後、ビデオコーダは、更新されたＤＤＶに少なくとも部分的に基づいて、スライスの第２のブロック用のＮＢＤＶを導出することができる。加えて、ビデオコーダは、第２のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第２のブロックをコーディングすることができる。このプロセスは、スライス内のブロックごとに続けることができる。特に、スライス用のＤＤＶは、以前コーディングされたブロックのＮＢＤＶであることに基づいて更新される場合があり、次いで、更新されたＤＤＶは、次のブロック用のＮＢＤＶを導出するために使用される。このようにＤＤＶを使用することによって、ビデオコーダは、スライスのブロック用のより正確な視差ベクトルを決定することが可能であり得る。視差ベクトルの確度を増大させると、ビットストリームのサイズが低減され得る。
【００２２】
[0030]図１は、本開示に記載される技法を利用することができる例示的なビデオ符号化および復号システム１０を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指す場合がある。
【００２３】
[0031]図１に示されたように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれる場合がある。宛先デバイス１４は、ソースデバイス１２によって生成された符号化ビデオデータを復号することができる。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれる場合がある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２４】
[0032]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備える場合がある。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信に対応する場合がある。
【００２５】
[0033]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。いくつかの例では、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含む。ビデオソース１８は、ビデオキャプチャデバイス（たとえば、ビデオカメラ）、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインターフェース、および／もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどのソースを含む場合がある。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはビデオ電話を形成することができる。しかしながら、本開示に記載される技法は、概してビデオコーディングに適用可能であり得るし、ワイヤレスおよび／または有線の適用例に適用され得る。
【００２６】
[0034]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。ソースデバイス１２の出力インターフェース２２は、符号化ビデオデータを宛先デバイス１４に直接送信することができる。ストレージデバイス３４は、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのために、符号化ビデオデータを記憶することができる。
【００２７】
[0035]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含む場合がある。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信することができる。リンク１６を介して通信されるか、またはストレージデバイス３４に供給された符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０などのビデオデコーダが使用するための、ビデオエンコーダ２０によって生成される様々なシンタックス要素を含む場合がある。そのようなシンタックス要素は、通信媒体上で送信されるか、記憶媒体に記憶されるか、またはファイルサーバに記憶される符号化ビデオデータに含まれる場合がある。
【００２８】
[0036]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるか、またはその外部に存在する場合がある。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成される場合がある。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号されたビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備える場合がある。
【００２９】
[0037]上記に示されたように、宛先デバイス１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信することができる。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動させることが可能なタイプの媒体またはデバイスを備える場合がある。一例では、リンク１６は、ソースデバイス１２が、リアルタイムに符号化ビデオデータを宛先デバイス１４に直接送信することを可能にする通信媒体を備える場合がある。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信される場合がある。通信媒体は、無線周波（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成する場合がある。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含む場合がある。
【００３０】
[0038]代替として、符号化データは、出力インターフェース２２からストレージデバイス３４に出力される場合がある。同様に、符号化データは、入力インターフェース２８によってストレージデバイス３４からアクセスされる場合がある。ストレージデバイス３４は、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの様々な分散した、またはローカルでアクセスされるデータ記憶媒体のいずれかを含む場合がある。さらなる一例では、ストレージデバイス３４は、ソースデバイス１２によって生成された符号化ビデオを保持することができる、ファイルサーバまたは別の中間ストレージデバイスに対応する場合がある。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイス３４から記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または、他のコンピューティングデバイスにデータを提供する他のタイプのデバイスもしくはシステムが含まれる。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化ビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含む場合がある。ストレージデバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００３１】
[0039]本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用される場合がある。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成される場合がある。
【００３２】
[0040]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、各々オーディオエンコーダおよびオーディオデコーダと統合される場合があり、共通のデータストリームまたは別個のデータストリーム内のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含む場合がある。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００３３】
[0041]ビデオエンコーダ２０およびビデオデコーダ３０は、各々、１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装される場合がある。本技法がソフトウェアに部分的に実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を記憶することができ、本開示の技法を実行するために１つまたは複数のプロセッサを使用してハードウェア内でその命令を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれる場合があり、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合される場合がある。
【００３４】
[0042]本開示は、概して、ビデオデコーダ３０などの別のデバイスにある情報を「シグナリング」するビデオエンコーダ２０に言及する場合がある。「シグナリング」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックス要素および／または他のデータの通信を指す場合がある。そのような通信は、リアルタイムまたはほぼリアルタイムで行われる場合がある。代替として、そのような通信は、符号化時に符号化されたビットストリーム内でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われる場合があるなどの、ある時間期間にわたって行われる場合があり、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出される場合がある。したがって、シグナリングは、概して、符号化されたビットストリームを処理および／または復号するのに使用する符号化されたビットストリーム内の情報を提供することを指す場合がある。
【００３５】
[0043]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、そのスケーラブルビデオコーディング（ＳＶＣ）拡張、マルチビュービデオコーディング（ＭＶＣ）拡張、およびＭＶＣベース３ＤＶ拡張を含む、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌおよび（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４などのビデオ圧縮規格に従って動作する。さらに、Ｈ．２６４／ＡＶＣに対する３次元ビデオ（３ＤＶ）コーディング拡張、すなわちＡＶＣベース３ＤＶまたは「３Ｄ−ＡＶＣ」を生成する作業が進行中である。Ｈ．２６４のＭＶＣ拡張のジョイントドラフトは、「一般的な視聴覚サービス用のアドバンストビデオコーディング」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月（以下、「Ｈ．２６４／ＡＶＣ仕様」）に記載されている。他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、およびＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ−４  Ｖｉｓｕａｌに従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。
【００３６】
[0044]上記に示されたように、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディング共同研究部会（ＪＣＴ−３Ｖ）は、現在、Ｈ．２６４／ＡＶＣに基づく３ＤＶ規格、すなわち３Ｄ−ＡＶＣを開発している。３Ｄ−ＡＶＣの場合、ＭＶＣ内のビュー間予測に加えて新しいコーディングツールが含まれ、サポートされている。２０１４年３月３日時点で、３Ｄ−ＡＶＣ用ソフトウェア（すなわち、３Ｄ−ＡＴＭ）が、以下のリンクからダウンロード可能である：［３Ｄ−ＡＴＭ  ｖｅｒｓｉｏｎ  ６．２］：ｈｔｔｐ：／／ｍｐｅｇ３ｄｖ．ｒｅｓｅａｒｃｈ．ｎｏｋｉａ．ｃｏｍ／ｓｖｎ／ｍｐｅｇ３ｄｖ／ｔａｇｓ／３ＤＶ−ＡＴＭｖ６．２／。３Ｄ−ＡＶＣのドラフト版は、Ｈａｎｎｕｋｓｅｌａら、「３Ｄ−ＡＶＣドラフトテキスト５」、ＪＣＴ３Ｖ−Ｃ１００２、ジュネーブ、スイス、２０１３年１月（以下、「３Ｄ−ＡＶＣドラフトテキスト５」）に公開されており、その内容全体は参照により本明細書に組み込まれている。２０１４年３月３日時点で、３Ｄ−ＡＶＣドラフトテキスト５は、以下のリンクから入手可能である：ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／３＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｃ１００２−ｖ３．ｚｉｐ。
【００３７】
[0045]他の例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ）とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）によって開発された高効率ビデオコーディング（ＨＥＶＣ）規格、またはＨＥＶＣの拡張に従って動作することができる。Ｂｒｏｓｓら、「高効率ビデオコーディング（ＨＥＶＣ）テキスト仕様ドラフト９」、第１１回会合：上海、中国、２０１２年１０月１０〜１９日、文書ＪＣＴＶＣーＫ１００３が、「ＨＥＶＣワーキングドラフト９」と呼ばれるＨＥＶＣ規格のワーキングドラフトを提供する。２０１４年３月３日時点で、ＨＥＶＣワーキングドラフト９は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１２．ｚｉｐでダウンロード可能である。
【００３８】
[0046]さらに、ＨＥＶＣ用のマルチビューコーディング拡張と３ＤＶ拡張とを作成する作業が進行中である。言い換えれば、ＶＣＥＧとＭＰＥＧとの３Ｄビデオコーディング共同研究部会（ＪＣＴ−３Ｖ）は、ＨＥＶＣに基づく３ＤＶ規格を開発中であり、規格化作業の一部は、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）、およびＨＥＶＣに基づく３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）についての別の一部の規格化を含む。ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ規格に対するそのような拡張に従って動作することができる。ＨＥＶＣのマルチビューコーディング拡張は、ＭＶ−ＨＥＶＣと呼ばれる場合がある。Ｔｅｃｈら、「ＭＶ−ＨＥＶＣワーキングドラフト１」、ＪＣＴ３Ｖ−Ａ１００４、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日（以下、「ＪＣＴ３Ｖ−Ａ１００４」または「ＭＶ−ＨＥＶＣワーキングドラフト１」）は、ＭＶ−ＨＥＶＣについてのワーキングドラフトを提供する。Ｔｅｃｈら、「ＭＶ−ＨＥＶＣワーキングドラフト２」、ＪＣＴ３Ｖ−Ｂ１００４、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第２回会合：上海、中国、２０１２年１０月１３〜１９日（以下、「ＭＶ−ＨＥＶＣワーキングドラフト２」）は、ＭＶ−ＨＥＶＣについての別のワーキングドラフトを提供する。
【００３９】
[0047]ＨＥＶＣの３ＤＶ拡張は、３Ｄ−ＨＥＶＣと呼ばれる場合がある。Ｔｅｃｈら、「３Ｄ−ＨＥＶＣテストモデル記述ドラフトのドラフト」、ＪＣＴ３Ｖ−Ｂ１００５、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日（以下、「３Ｄ−ＨＥＶＣテストモデル１」）は、３Ｄ−ＨＥＶＣの参照ソフトウェアならびにワーキングドラフトを記述する。Ｔｅｃｈら、「３Ｄ−ＨＥＶＣテストモデル記述ドラフト２」、ＪＣＴ３Ｖ−Ｂ１００５、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第２回会合：上海、中国、２０１２年１０月（以下、「３Ｄ−ＨＥＶＣテストモデル２」）は、３Ｄ−ＨＥＶＣの参照ソフトウェア記述ならびに別のワーキングドラフトを含む。
【００４０】
[0048]ビデオシーケンスは、通常、一連のビデオフレームを含む。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。本開示は、サンプルの１つまたは複数のブロック（すなち、「サンプルブロック」）のサンプルをコーディングするために使用される、１つまたは複数のサンプルブロックとシンタックス構造とを指すために、「ビデオブロック」または「ブロック」という用語を使用する場合がある。例示的なタイプのブロックには、マクロブロック、マクロブロックパーティション、サブマクロブロック、コーディングユニット、予測ユニット、コーディングツリーブロックなどが含まれ得る。
【００４１】
[0049]ビデオブロックのサンプルブロックは、固定サイズまたは可変サイズを有する場合があり、指定されたコーディング規格に応じてサイズが異なる場合がある。サンプル（すなわち、「サンプル値」）は、ピクセルの色成分（たとえば、ルーマ成分またはクロマ成分）を示すことができる。場合によっては、サンプルは深度値を示すことができる。
【００４２】
[0050]Ｈ．２６４／ＡＶＣでは、ピクチャのグループ（ＧＯＰ）は、一般に、一連の１つまたは複数のビデオフレームを備える。ＧＯＰは、ＧＯＰに含まれるフレームの数を記述するシンタックスデータを、ＧＯＰのヘッダ、ＧＯＰの１つもしくは複数のフレームのヘッダ、または他の場所に含む場合がある。各フレームは、それぞれのフレームの符号化モードを記述するフレームシンタックスデータを含む場合がある。
【００４３】
[0051]さらに、Ｈ．２６４／ＡＶＣでは、ビデオブロックは、マクロブロック（ＭＢ）またはマクロブロックのパーティション（すなわち、マクロブロックパーティション）に対応する場合がある。ＭＢは、３つのサンプルアレイを有するピクチャのルーマサンプルの１６×１６ブロックおよびクロマサンプルの２つの対応するブロック、またはモノクロームピクチャもしくは３つの個別のカラープレーンを使用してコーディングされるピクチャのサンプルの１６×１６ブロックである。ＭＢパーティションは、３つのサンプルアレイを有するピクチャに対するインター予測のためのマクロブロックの区分化から得られたルーマサンプルの１つのブロックおよびクロマサンプルの２つの対応するブロック、またはモノクロームピクチャもしくは３つの個別のカラープレーンを使用してコーディングされるピクチャのインター予測のためのマクロブロックの区分化から得られたルーマサンプルの１つのブロックである。Ｈ．２６４／ＡＶＣでは、各々のインター予測されたマクロブロックは、４つの異なる方法、すなわち１つの１６×１６マクロブロックパーティション、２つの１６×８マクロブロックパーティション、２つの８×１６マクロブロックパーティション、および４つの８×８マクロブロックパーティションで区分化される場合がある。１つのＭＢ内の異なるＭＢパーティションは、予測方向（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）ごとに異なる参照インデックス値を有する場合がある。
【００４４】
[0052]Ｈ．２６４／ＡＶＣにおけるマクロブロックの概念は、ＨＥＶＣには存在しない。そうではなく、マクロブロックは、一般的な４分木方式に基づく極めて柔軟な階層構造によって置き換えられる。この方式の中で、３タイプのブロック、すなわちコーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、および変換ユニット（ＴＵ）が定義される。ＣＵは領域分割の基本ユニットである。ＣＵの概念はマクロブロックの概念に類似するが、ＣＵは最大サイズに制限されず、ＣＵにより、コンテンツの適応性を向上させるために、４つの等しいサイズのＣＵへの再帰分割が可能になる。ＰＵはインター／イントラ予測の基本ユニットである。いくつかの例では、ＰＵは、不規則な画像パターンを効果的にコーディングするために、単一のＰＵの中に複数の任意の形状のパーティションを含むことができる。ＴＵは変換の基本ユニットである。ＣＵのＴＵは、ＣＵのＰＵから独立して定義され得る。しかしながら、ＴＵのサイズは、ＴＵが属するＣＵに限定される。３つの異なる概念へのブロック構造のこの分離は、各々がその役割に従って最適化されることを可能にすることができ、これにより、コーディング効率の改善がもたらされ得る。
【００４５】
[0053]ＨＥＶＣにおけるピクチャの符号化された表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ）のセットを生成することができる。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）と呼ばれる場合もある。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。したがって、ＨＥＶＣのテストモデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたはＬＣＵに分割され得ることを記載している。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣなどの他の規格のマクロブロックに広い意味で類似する場合がある。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のＣＵを含む場合がある。
【００４６】
[0054]ＨＥＶＣにおいてコード化ＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するために、ＣＴＵのコーディングツリーブロックに対して４分木区分化を再帰的に実行することができ、したがって、「コーディングツリーユニット」という名称がある。言い換えれば、各コーディングツリーブロックは、４分木に従ってＣＵに分割される場合がある。たとえば、コーディングツリーブロックは、４分木のルートノードとして、４つの子ノードに分割される場合があり、各子ノードは、次に親ノードとなり、別の４つの子ノードに分割される場合がある。最終的な分割されない子ノードは、４分木のリーフノードとして、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分割され得る最大回数を定義することができ、コーディングノードの最小サイズも定義することができる。
【００４７】
[0055]コーディングブロックは、サンプルのＮ×Ｎのブロックである。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備える場合がある。ＣＵのサイズは、一般に、ＣＵのコーディングブロックのサイズに対応し、通常、形状が方形である。ＣＵのサイズは、８×８ピクセルから、６４×６４ピクセル以上の最大サイズを有するＣＴＵのサイズまで及ぶ場合がある。
【００４８】
[0056]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分化することができる。概して、ＰＵは、予測プロセスに関するデータを含む。ＣＵのＰＵは、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備える場合がある。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備える場合がある。予測ブロックは、同じ予測が適用されるサンプルの方形（たとえば、Ｍ×Ｎ、ここでＭはＮに等しくても等しくなくてもよい）ブロックであり得る。したがって、ＰＵは、形状が非正方形になるように区分化され得る。ＨＥＶＣおよび他のビデオコーディング規格のコンテキストでは、「ビデオブロック」または「ブロック」という用語は、ＬＣＵ、ＣＵ、またはＰＵに適用することができる。
【００４９】
[0057]一例として、ＨＥＶＣ用のテストモデルは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＥＶＣ用のテストモデルは、ＰＵサイズが２Ｎ×２ＮまたはＮ×Ｎのイントラ予測と、対称のＰＵサイズが２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎのインター予測とをサポートする。ＨＥＶＣ用のテストモデルはまた、ＰＵサイズが２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２Ｎのインター予測のための非対称区分化をサポートする。非対称区分化では、ＣＵの一方向は区分化されないが、他の方向は２５％と７５％とに区分化される。２５％のパーティションに対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵおよび下部の２Ｎ×１．５ＮのＰＵで水平方向に区分化された２Ｎ×２ＮのＣＵを指す。
【００５０】
[0058]本開示では、たとえば１６×１６ピクセルまたは１６ｂｙ１６ピクセルなどの「Ｎ×Ｎ」および「ＮｂｙＮ」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を指すために互換的に使用される場合がある。一般に、１６×１６ブロックは、垂直方向に１６個のピクセルを有し（ｙ＝１６）、水平方向に１６個のピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ個のピクセルを有し、水平方向にＮ個のピクセルを有し、ここでＮは非負整数値を表す。ブロック内のピクセルは行および列で配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはＮ×Ｍピクセルを備える場合があり、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００５１】
[0059]ビデオエンコーダ２０は、ＣＵの各ＰＵの予測ブロック（たとえば、ルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロック）用の予測ブロック（たとえば、ルーマブロック、Ｃｂブロック、およびＣｒブロック）を生成することができる。したがって、本開示では、ＣＵは、１つまたは複数のＰＵに区分化されると言うことができる。説明を簡単にするために、本開示は、ＰＵの予測ブロックのサイズを単にＰＵのサイズと呼ぶ場合がある。ＣＵに関連付けられたシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分化することを記述することができる。区分化モードは、ＣＵが、スキップモードもしくは直接モードで符号化されるか、イントラ予測モードで符号化されるか、またはインター予測モードで符号化されるかによって異なる場合がある。
【００５２】
[0060]いくつかの例では、ＭＢ、ＭＢパーティション、ＣＵ、ＰＵなどのビデオブロックがスキップモードでコーディングされるとき、ビデオブロックについて残差データはシグナリングされない。たとえば、Ｈ．２６４／ＡＶＣでは、スキップされたＭＢは、ＭＢが「スキップされた」として復号されるべきであるという指示以外でデータがコーディングされないＭＢである。いくつかの例では、直接モードを使用してビデオブロックがコーディングされるとき、ビデオブロックについて動きベクトルはコーディングされない。たとえば、Ｈ．２６４／ＡＶＣでは、直接予測は、動きベクトルが復号されないブロック（すなわち、サンプルのＭ×Ｎアレイ）についてのインター予測である。
【００５３】
[0061]ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分化される場合がある。スライスは、ラスタ走査順序などのコーディング順序で連続的に順序付けられた整数個のビデオブロックを含む場合がある。Ｈ．２６４／ＡＶＣでは、スライスは、コーディング順序で連続的に順序付けられた整数個のマクロブロックを含む場合がある。ＨＥＶＣでは、スライスは、コーディング順序で連続的に順序付けられた整数個のＣＴＵを含む場合がある。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含む場合がある。コード化スライスは、スライスヘッダとスライスデータとを備える場合がある。スライスのスライスヘッダは、スライスについての情報を提供するシンタックス要素を含むシンタックス構造であり得る。スライスデータはスライスのコード化ビデオブロックを含む場合がある。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のスライス（すなわち、「ビデオスライス」）内のビデオブロックに対して動作する。
【００５４】
[0062]ビデオコーディング規格は様々なタイプのスライスを定義する。たとえば、Ｈ．２６４／ＡＶＣおよびＨＥＶＣは、Ｉスライスと、Ｐスライスと、Ｂスライスとを定義する。一般に、Ｉスライスはイントラ予測のみを使用して復号されるスライスである。一般に、Ｐスライスは、各ブロックのサンプル値を予測するために、最大１つの動きベクトルと１つの参照インデックスとを使用するイントラ予測またはインター予測を使用して復号され得るスライスである。一般に、Ｂスライス（すなわち、ｂ−予測スライス）は、各ブロックのサンプル値を予測するために、最大２つの動きベクトルと参照インデックスとを使用するイントラ予測またはインター予測を使用して復号され得るスライスである。さらに、Ｈ．２６４／ＡＶＣは、ＳＩスライスおよびＳＰスライスなどのさらなるスライスタイプを定義する。ＳＩスライスは、イントラ予測のみを使用し、予測サンプルの量子化を使用してコーディングされるスライスである。したがって、Ｈ．２６４／ＡＶＣでは、Ｉスライスは、イントラ予測のみを使用して復号される、ＳＩスライスではないスライスである。ＳＰスライスは、各ブロックのサンプル値を予測するために、最大１つの動きベクトルと参照インデックスとを使用する予測サンプルの量子化を用いるイントラ予測またはインター予測を使用してコーディングされ得るスライスである。したがって、Ｈ．２６４／ＡＶＣでは、Ｐスライスは、各ブロックのサンプル値を予測するために、最大１つの動きベクトルと１つの参照インデックスとを使用するイントラ予測またはインター予測を使用して復号され得るＳＰスライスではないスライスである。
【００５５】
[0063]ビデオエンコーダ２０が現在ビデオブロックを符号化するとき、ビデオエンコーダ２０は、現在ビデオブロックに対応する予測ブロックを生成することができる。ビデオエンコーダ２０は、予測ブロックを生成するためにイントラ予測またはインター予測を実行することができる。たとえば、ビデオエンコーダ２０は、インター予測またはイントラ予測を使用してマクロブロックを符号化することができる。ビデオエンコーダ２０が現在ビデオブロックについてイントラ予測を実行するとき、ビデオエンコーダ２０は、現在ビデオブロックと同じピクチャ内のサンプルに基づいて、現在ビデオブロック用の予測ブロックを生成することができる。たとえば、ビデオエンコーダ２０がイントラ予測を使用してマクロブロックを符号化するとき、ビデオエンコーダ２０は、現在ピクチャ内のサンプルに基づいて、マクロブロック用の１つまたは複数の予測ブロックを生成することができる。イントラ予測を使用して符号化されたマクロブロックは、イントラマクロブロックと呼ばれる場合がある。Ｈ．２６４は９個のイントラ予測符号化モードを提供するが、ＨＥＶＣは３３個ものイントラ予測符号化モードを提供することができる。たとえば、ＰＵがイントラモードで符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含む場合がある。
【００５６】
[0064]ビデオエンコーダ２０が、現在ビデオブロック用の予測ブロックを生成するためにインター予測を実行するとき、ビデオエンコーダ２０は、１つまたは複数の参照ピクチャ内のサンプルに基づいて予測ブロックを生成することができる。参照ピクチャは、現在ビデオブロックを含んでいるピクチャ以外のピクチャであり得る。
【００５７】
[0065]Ｈ．２６４／ＡＶＣのコンテキストでは、ビデオエンコーダ２０がインター予測を使用してマクロブロックを符号化するとき、ビデオエンコーダ２０は、現在ピクチャ以外の１つまたは複数のピクチャ（すなわち、マクロブロックを含んでいるピクチャ）のサンプルに基づいて、マクロブロック用の１つまたは複数の予測ブロックを生成する。インター予測を使用して符号化されたマクロブロックは、インターマクロブロックと呼ばれる場合がある。
【００５８】
[0066]ＨＥＶＣのコンテキストでは、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵ用の動きベクトルを定義するデータを含む場合がある。ＰＵ用の動きベクトルを定義するデータは、たとえば、予測方向によって示され得る、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトル用の参照ピクチャリスト（たとえば、リスト０、リスト１、もしくはリストＣ）を記述することができる。
【００５９】
[0067]ビデオエンコーダ２０が、現在ビデオブロック用の予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロック用の残差ブロックを生成することができる。残差ブロック内の各サンプルは、現在ビデオブロックのルーマブロックまたはクロマブロック内の対応するサンプルと、現在ビデオブロック用の予測ブロックとの間の差分に基づく場合がある。たとえば、ＨＥＶＣのコンテキストでは、残差データは、符号化されていないピクチャのピクセルと、ＣＵに対応する予測値との間のピクセル差分に対応する場合がある。ビデオエンコーダ２０は、変換係数ブロックを生成するために、残差ブロックのサンプルに変換を適用することができる。ビデオエンコーダ２０は、残差ブロックに様々な変換を適用することができる。たとえば、ＨＥＶＣのコンテキストでは、ＣＵのＰＵを使用するイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵによって指定された変換が適用される残差データを計算することができる。言い換えれば、ビデオエンコーダ２０は、ＣＵ用の残差データを形成し、次いで、変換係数を生成するために残差データを変換することができる。いくつかの例では、ビデオエンコーダ２０は、離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換を残差ブロックに適用することができる。
【００６０】
[0068]ビデオエンコーダ２０は、現在ビデオブロックを表すために使用されるビット数をさらに低減するために、変換係数ブロックを量子化することができる。変換係数を生成する任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行することができる。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために、変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減することができる。たとえば、量子化中にｎビット値がｍビット値に切り捨てられる場合があり、ここで、ｎはｍよりも大きい。
【００６１】
[0069]いくつかの例では、ビデオエンコーダ２０は、変換係数ブロックを量子化した後、量子化変換成分の１次元ベクトル（すなわち、直列化ベクトル）を形成するために、量子化変換係数を走査することができる。いくつかの例では、ビデオエンコーダ２０は、量子化変換係数を走査して直列化されたベクトルを生成するために、あらかじめ定義された走査順序を利用することができる。他の例では、ビデオエンコーダ２０は適応型走査を実行することができる。量子化変換係数を表すシンタックス要素は、エントロピー符号化され得る。言い換えれば、１次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ２０は、１次元ベクトルをエントロピー符号化することができる。
【００６２】
[0070]ＨＥＶＣ規格により、異なるＣＵについて異なり得るＴＵに従う変換が可能になる。一般に、ＴＵは、変換プロセスおよび量子化プロセスのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵを含む場合もある。予測に続いて、ビデオエンコーダ２０は、ＰＵに従ってコーディングノードによって識別されたビデオブロックから残差値を計算することができる。コーディングノードは、次いで、元のビデオブロックではなく残差値を参照するように更新される。残差値はピクセル差分値を備える場合があり、ピクセル差分値は、エントロピーコーディングのための直列化変換係数を生成するためにＴＵ内で指定された変換と他の変換情報とを使用して変換係数に変換され、量子化され、走査される場合がある。コーディングノードは、これらの直列化変換係数を指すようにもう一度更新される場合がある。
【００６３】
[0071]ビデオエンコーダ２０は、変換係数ブロック内の変換係数を表すシンタックス要素と、現在ビデオブロックに関連付けられた他のシンタックス要素とをエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、シンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、指数ゴロムコーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分化エントロピー（ＰＩＰＥ）、または別のタイプのエントロピー符号化を実行することができる。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素と、現在ビデオブロックに関連付けられた他のシンタックス要素とを含むビットストリームを出力することができる。
【００６４】
[0072]ＨＥＶＣでは、ビデオエンコーダ２０は、ＣＵの１つまたは複数の残差ブロック（たとえば、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロック）を、１つまたは複数の変換ブロック（たとえば、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロック）に分解するために、４分木区分化を使用することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵのＴＵは、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備える場合がある。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられる場合がある。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備える場合がある。このようにして、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割される場合がある。ＲＱＴのリーフノードはＴＵと呼ばれる場合がある。ＣＵに関連付けられたシンタックスデータは、たとえば、４分木に従ってＣＵを１つまたは複数のＴＵに区分化することも記述することができる。
【００６５】
[0073]いくつかの例では、区分化ＬＣＵについて定義されたＣＵのＴＵは、ＣＵのＰＵのサイズに基づいてサイズが決定されるが、いつもこうであるとは限らない。いくつかの例では、ＴＵは、ＰＵと同じサイズであるか、またはＰＵよりも小さい。
【００６６】
[0074]さらに、ＨＥＶＣでは、ビデオエンコーダ２０は、ＴＵ用の係数ブロックを生成するために、ＴＵの変換ブロックに１回または複数回の変換を適用することができる。係数ブロックは変換係数の２次元アレイであり得る。たとえば、ビデオエンコーダ２０は、ＴＵ用のルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用することができる。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵ用のＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用することができる。ビデオエンコーダ２０は、ＴＵ用のＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用することができる。このようにして、ＴＵに関連付けられたピクセル差分値は、変換係数を生成するために変換され得るし、その変換係数は量子化され得る。
【００６７】
[0075]ビットストリームは、コード化ピクチャおよび関連データの表現を形成する一連のビットを含む場合がある。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを備える場合がある。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ローバイトシーケンスペイロード（ＲＢＳＰ）をカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含む場合がある。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、ＲＢＳＰはゼロビットを含む。
【００６８】
[0076]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化することができる。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）用のＲＢＳＰをカプセル化することができ、第２のタイプのＮＡＬユニットはコード化スライス用のＲＢＳＰをカプセル化することができ、第３のタイプのＮＡＬユニットは補足エンハンスメント情報（ＳＥＩ）用のＲＢＳＰをカプセル化することができ、以下同様である。（パラメータセット用およびＳＥＩメッセージ用のＲＢＳＰではなく）ビデオコーディングデータ用のＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれる場合がある。コード化スライスをカプセル化するＮＡＬユニットは、コード化スライスＮＡＬユニットと呼ばれる場合がある。
【００６９】
[0077]ビデオデコーダ３０は、ビデオデータの符号化表現を含むビットストリームを受信することができる。ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出するために、ビットストリームを構文解析することができる。ビットストリームからシンタックス要素を抽出することの一部として、ビデオデコーダ３０は、ビットストリームの部分をエントロピー復号することができる。ビデオデコーダ３０は、現在ビデオブロック（たとえば、ＭＢまたはＭＢパーティションなど）に関連付けられたシンタックス要素に少なくとも部分的に基づいて、予測ブロックを生成するためにインター予測またはイントラ予測を実行することができる。加えて、ビデオデコーダ３０は、残差ブロックを生成するために、変換係数ブロックの変換係数を逆量子化することができ、変換係数ブロックに１つまたは複数の逆変換を適用することができる。次いで、ビデオデコーダ３０は、残差ブロックおよび予測ブロックに少なくとも部分的に基づいて、現在ビデオブロックのルーマブロックとクロマブロックとを復元することができる。このようにして、ピクチャの各ビデオブロックのルーマブロックとクロマブロックとを復元することによって、ビデオデコーダ３０はピクチャを復元することができる。
【００７０】
[0078]上述されたように、ビデオエンコーダ２０は、特定のビデオブロック用の予測ブロックを生成するために、インター予測を実行することができる。より詳細には、ビデオエンコーダ２０は、予測ブロックを生成するために、単方向インター予測または双方向インター予測を実行することができる。
【００７１】
[0079]ビデオエンコーダ２０が現在ビデオブロック（たとえば、ＭＢ、ＭＢパーティション、ＰＵなど）について単方向インター予測を実行するとき、ビデオエンコーダ２０は、単一の参照ピクチャリスト（たとえば、「リスト０」または「ＲｅｆＰｉｃＬｉｓｔ０」）の中の参照ピクチャ内の参照ブロックを探索することができる。参照ブロックは、現在ビデオブロックのルーマブロックおよびクロマブロックに類似するルーマサンプルの１つのブロックとクロマサンプルの複数の対応するブロックであり得る。さらに、ビデオエンコーダ２０が単方向インター予測を実行するとき、ビデオエンコーダ２０は、特定のビデオブロックについての動き情報を生成することができる。特定のビデオブロックについての動き情報は、動きベクトルと参照インデックスとを含む場合がある。動きベクトルは、現在ビデオブロックのサンプルブロックの現在ピクチャ内の位置と、参照ブロックの参照ピクチャ内の位置との間の空間変位を示すことができる。参照インデックスは、参照ブロックを含んでいる参照ピクチャの参照ピクチャリスト内の位置を示す。現在ビデオブロック用の予測ブロック内のサンプルは、参照ブロック内の対応するサンプルに等しい場合がある。
【００７２】
[0080]ビデオエンコーダ２０が現在ビデオブロック（たとえば、ＭＢ、ＭＢパーティション、ＰＵなど）について双方向インター予測を実行するとき、ビデオエンコーダ２０は、第１の参照ピクチャリスト（「リスト０」または「ＲｅｆＰｉｃＬｉｓｔ０」）の中の参照ピクチャ内の第１の参照ブロックを探索することができ、第２の参照ピクチャリスト（「リスト１」または「ＲｅｆＰｉｃＬｉｓｔ１」）の中の参照ピクチャ内の第２の参照ブロックを探索することができる。ビデオエンコーダ２０は、第１の参照ブロックおよび第２の参照ブロックに少なくとも部分的に基づいて、現在ビデオブロック用の予測ブロックを生成することができる。加えて、ビデオエンコーダ２０は、現在ビデオブロックのサンプルブロックと第１の参照ブロックとの間の空間変位を示す第１の動きベクトルを生成することができる。ビデオエンコーダ２０はまた、第１の参照ブロックを含んでいる参照ピクチャの第１の参照ピクチャリスト内の位置を識別する第１の参照インデックスを生成することができる。さらに、ビデオエンコーダ２０は、現在ビデオブロックのブロックと第２の参照ブロックとの間の空間変位を示す第２の動きベクトルを生成することができる。ビデオエンコーダ２０はまた、第２の参照ブロックを含んでいる参照ピクチャの第２の参照ピクチャリスト内の位置を識別する第２の参照インデックスを生成することができる。
【００７３】
[0081]ビデオエンコーダ２０が現在ビデオブロック（たとえば、ＭＢ、ＭＢパーティション、ＰＵなど）について単方向インター予測を実行するとき、ビデオデコーダ３０は、現在ビデオブロックの参照ブロックを識別するために、現在ビデオブロックの動き情報を使用することができる。次いで、ビデオデコーダ３０は、現在ビデオブロックの参照ブロックに基づいて、現在ビデオブロック用の予測ブロックを生成することができる。ビデオエンコーダ２０が現在ビデオブロックについて双方向インター予測を実行するとき、ビデオデコーダ３０は、現在ビデオブロックの２つの参照ブロックを識別するために、現在ビデオブロック用の動き情報を使用することができる。ビデオデコーダ３０は、現在ビデオブロックの２つの参照ブロックに基づいて、現在ビデオブロックの予測ブロックを生成することができる。
【００７４】
[0082]Ｈ．２６４／ＡＶＣでは、ＭＢが４つの８×８ＭＢパーティションに区分化されないとき、ＭＢはＭＢパーティション全体について各予測方向（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）に１つの動きベクトルしか有していない場合がある。ＭＢが４つの８×８ＭＢパーティションに区分化されたとき、各８×８ＭＢパーティションはサブブロックにさらに区分化され得る。８×８ＭＢパーティションから、１つの８×８サブブロック、２つの８×４サブブロック、２つの４×８サブブロック、または４つの４×４サブブロックに、サブブロックを区分化する４つの異なる方法がある。各サブブロックは、予測方向ごとに異なる動きベクトルを有することができる。８×８ＭＢパーティションがサブブロックに区分化される方式は、サブブロックパーティションと呼ばれる場合がある。
【００７５】
[0083]マルチビュービデオコーディング（ＭＶＣ）は、Ｈ．２６４／ＡＶＣの拡張である。マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューがあり得る。マルチビューコーディングのコンテキストでは、「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指す場合がある。したがって、ビデオデータは、時間とともに生じる一連のアクセスユニットとして概念化され得る。
【００７６】
[0084]マルチビューコーディングでは、ビットストリームは複数のレイヤを有する場合がある。レイヤの各々は異なるビューに対応する場合がある。マルチビューコーディングでは、ビデオデコーダ（たとえば、ビデオデコーダ３０）が、あるビューの中のピクチャを任意の他のビューの中のピクチャと無関係に復号することができる場合、そのビューは「ベースビュー」と呼ばれる場合がある。ビューは、ビューの復号が１つまたは複数の他のビューの中のピクチャの復号に依存する場合、非ベースビューと呼ばれる場合がある。
【００７７】
[0085]図２は、マルチビューコーディングのための例示的な予測構造を示す概念図である。マルチビュービデオコーディングのための（各ビュー内のピクチャ間予測とビュー間予測の両方を含む）典型的なＭＶＣ予測構造が図２に示され、ここで、予測は矢印によって示され、矢印の終点のオブジェクトは、予測参照のために矢印の始点のオブジェクトを使用する。
【００７８】
[0086]図２のマルチビュー予測構造は、時間予測とビュー間予測とを含む。図２の例では、各正方形がビューコンポーネントに対応する。図２の例では、アクセスユニットがＴ０〜Ｔ１１と標示され、ビューがＳ０〜Ｓ７と標示される。「Ｉ」と標示される正方形は、イントラ予測されたビューコンポーネントである。「Ｐ」と標示される正方形は、単方向インター予測されたビューコンポーネントである。「Ｂ」および「ｂ」と標示される正方形は、双方向インター予測されたビューコンポーネントである。「ｂ」と標示される正方形は、「Ｂ」と標示される正方形を参照ピクチャとして使用することができる。第１の正方形から第２の正方形を指す矢印は、第１の正方形が、インター予測において、第２の正方形のための参照ピクチャとして利用可能であることを示す。図２の垂直の矢印によって示されたように、同じアクセスユニットの異なるビュー内のビューコンポーネントは、参照ピクチャとして利用可能であり得る。アクセスユニットの１つのビューコンポーネントを同じアクセスユニットの別のビューコンポーネントのための参照ピクチャとして使用することは、ビュー間予測と呼ばれる場合がある。
【００７９】
[0087]ＭＶＣでは、ビュー間予測は、ビューの間の相関を取り除くために、同じアクセスユニット（すなわち、同じ時間インスタンス内）の異なるビューの中でキャプチャされたピクチャの間で実行される。ビュー間予測を用いてコーディングされたピクチャは、他の非ベースビューのビュー間予測用の参照ピクチャリストの中に追加される場合がある。ビュー間予測参照ピクチャは、インター予測参照ピクチャと同様の方法で、参照ピクチャリストの任意の位置に置かれ得る。
【００８０】
[0088]マルチビュービデオコーディングのコンテキストでは、２種類の動きベクトルが存在する。動きベクトルの１つの種類は、時間参照ピクチャ（すなわち、現在ピクチャとは異なる時間インスタンス内のピクチャ）を指す通常の動きベクトルである。通常の時間動きベクトルに対応するインター予測のタイプは、「動き補償予測」または「ＭＣＰ」と呼ばれる場合がある。ビュー間予測参照ピクチャが動き補償に使用されるとき、対応する動きベクトルは、「視差動きベクトル」と呼ばれる場合がある。言い換えると、視差動きベクトルは、異なるビューの中のピクチャ（すなわち、視差参照ピクチャまたはビュー間参照ピクチャ）を指す。視差動きベクトルに対応するインター予測のタイプは、「視差補償予測」または「ＤＣＰ」と呼ばれる場合がある。
【００８１】
[0089]図３は、例示的なマルチビュー復号順序を示す概念図である。言い換えれば、典型的なＭＶＣ復号順序（すなわち、ビットストリーム順序）が図３に示されている。復号順序の構成は、時間優先コーディングと呼ばれる。アクセスユニットの復号順序は出力または表示の順序と同じでない場合があることに留意されたい。図３では、Ｓ０〜Ｓ７は、各々マルチビュービデオの異なるビューを指す。Ｔ１〜Ｔ９は、各々１つの出力時間インスタンスを表す。アクセスユニットは、１つの出力時間インスタンスについてのすべてのビューのコード化ピクチャを含む場合がある。たとえば、第１のアクセスユニットは時間インスタンスＴ１についてのビューＳ０〜Ｓ７のすべてを含む場合があり、第２のアクセスユニットは時間インスタンスＴ２についてのビューＳ０〜Ｓ７のすべてを含む場合があり、以下同様である。
【００８２】
[0090]以下のセクションは、概して、マルチビュービデオコーディングと３Ｄビデオコーディングとを説明する。マルチビュービデオコーディングおよび３Ｄビデオコーディングのコンテキストでは、「ビューコンポーネント」は、単一のアクセスユニット内のビューのコード化表現であり得る。ビューがコード化テクスチャ表現とコード化深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントとを備える（たとえば、それらから構成される）場合がある。したがって、各テクスチャビューコンポーネントは、対応する深度ビューコンポーネントを有する場合がある。一般に、テクスチャビューコンポーネントはビデオコンテンツ（たとえば、ピクセル値のルーマ成分およびクロマ成分）を含み、深度ビューコンポーネントはテクスチャビューコンポーネント内のピクセルの相対深度を示すことができる。したがって、ビューごとの複数のビデオピクチャは、テクスチャビューコンポーネントと呼ばれる場合がある。本開示では、「ビュー」は、同じビュー識別子に関連付けられた一連のビューコンポーネントを指す場合がある。
【００８３】
[0091]より詳細には、テクスチャビューコンポーネント（すなわち、テクスチャピクチャ）は、単一のアクセスユニット内のビューのテクスチャのコード化表現であり得る。テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分と、クロマ（ＣｂおよびＣｒ）成分とを含む場合がある。テクスチャビューは、ビュー順序インデックスの同一の値に関連付けられた一連のテクスチャビューコンポーネントであり得る。ビューのビュー順序インデックスは、他のビューに対するビューのカメラ位置を示すことができる。
【００８４】
[0092]本開示の技法は、テクスチャデータと深度データとをコーディングすることによって３Ｄビデオデータをコーディングすることに関する。一般に、「テクスチャ」という用語は、画像のルミナンス（すなわち、輝度または「ルーマ」）値と画像のクロミナンス（すなわち、色または「クロマ」）値とを記述するために使用される。いくつかの例では、テクスチャ画像は、１セットのルミナンスデータと、青色相（Ｃｂ）および赤色相（Ｃｒ）のための２セットのクロミナンスデータとを含む場合がある。４：２：２または４：２：０などの特定のクロマサンプリングフォーマットでは、クロマデータは、ルーマデータに対してダウンサンプリングされる。すなわち、クロミナンスピクセルの空間解像度は、対応するルミナンスピクセルの空間解像度よりも低く、たとえば、ルミナンス解像度の１／２または１／４であり得る。
【００８５】
[0093]深度ビューコンポーネント（すなわち、深度ピクチャ）は、単一のアクセスユニットの中のビューの深度のコード化表現であり得る。深度ビューは、ビュー順序インデックスの同一の値に関連付けられた一連の深度ビューコンポーネントであり得る。深度ビューコンポーネントは、その対応するテクスチャビューコンポーネント内のピクセルの相対深度を示すことができる。一例として、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビューコンポーネントは、任意の画像コンテンツを伝達するのではなく、むしろテクスチャビューコンポーネント内のピクセルの相対深度の測定値を提供することができる。
【００８６】
[0094]いくつかの例では、深度ビューコンポーネント内の純白のピクセルは、対応するテクスチャビューコンポーネント内のその対応する１つまたは複数のピクセルが閲覧者から見てより近いことを示し、深度ビューコンポーネント内の純黒のピクセルは、対応するテクスチャビューコンポーネント内のその対応する１つまたは複数のピクセルが閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な色合いは、様々な深度レベルを示す。たとえば、深度ビューコンポーネント内の濃いグレーのピクセルは、テクスチャビューコンポーネント内のその対応するピクセルが、深度ビューコンポーネント内の薄いグレーのピクセルよりも遠いことを示す。ピクセルの深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネント用の色値がいかなる目的も果たし得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。深度を識別するためにルーマ値（たとえば、強度値）のみを使用する深度ビューコンポーネントは、説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント内のピクセルの相対深度を示すために任意の技法が利用される場合がある。
【００８７】
[0095]深度データは、一般に、対応するテクスチャデータ用の深度値を記述する。たとえば、深度画像は、各々が対応するテクスチャデータ用の深度を記述する深度ピクセルのセットを含む場合がある。深度データは、対応するテクスチャデータ用の水平視差を決定するために使用され得る。したがって、テクスチャデータと深度データとを受信するデバイスは、一方のビュー（たとえば、左眼ビュー）のための第１のテクスチャ画像を表示し、深度値に基づいて決定された水平視差値だけ第１の画像のピクセル値をオフセットすることによって、他方のビュー（たとえば、右眼ビュー）のための第２のテクスチャ画像を生成するように第１のテクスチャ画像を修正するために、深度データを使用することができる。一般に、水平視差（または単に「視差」）は、第１のビュー内のピクセルの第２のビュー内の対応するピクセルに対する水平空間オフセットを記述し、ここで、２つのピクセルは、２つのビュー内で表される同じオブジェクトの同じ部分に対応する。
【００８８】
[0096]さらに他の例では、画像プレーンに直交するｚ次元におけるピクセルについて深度データが定義され得るし、その結果、画像について定義されたゼロ視差プレーンに対して、所与のピクセルに関連付けられた深度が定義される。そのような深度は、ピクセルを表示するための水平視差を作成するために使用され得るし、その結果、ピクセルは、ゼロ視差プレーンに対するピクセルのｚ次元深度値に応じて、左眼と右眼で異なるように表示される。ゼロ視差プレーンはビデオシーケンスの異なる部分に対して変化する場合があり、ゼロ視差プレーンに対する深度の量も変化する場合がある。ゼロ視差プレーン上に位置するピクセルは、左眼および右眼に対して同様に定義され得る。ゼロ視差プレーンの前に位置するピクセルは、ピクセルが画像プレーンに直交するｚ方向の画像から出てくるように見える知覚を作成するように、（たとえば、水平視差を用いて）左眼と右眼に対して異なる位置で表示され得る。ゼロ視差プレーンの後に位置するピクセルは、深度のわずかな知覚を提示するために、わずかなぼかしとともに表示され得るか、または（たとえば、ゼロ視差プレーンの前に位置するピクセルの水平視差とは反対の水平視差を用いて）左眼と右眼に対して異なる位置で表示され得る。画像用の深度データを伝達または定義するために、他の多くの技法が使用される場合もある。
【００８９】
[0097]深度ビューコンポーネント内のピクセルごとに、テクスチャビューコンポーネント内の１つまたは複数の対応するピクセルがあり得る。たとえば、深度ビューコンポーネントの空間解像度とテクスチャビューコンポーネントの空間解像度が同じである場合、深度ビューコンポーネント内の各ピクセルは、テクスチャビューコンポーネント内の１つのピクセルに対応する。深度ビューコンポーネントの空間解像度がテクスチャビューコンポーネントの空間解像度よりも小さい場合、深度ビューコンポーネント内の各ピクセルは、テクスチャビューコンポーネント内の複数のピクセルに対応する。深度ビューコンポーネント内のピクセルの値は、テクスチャビュー内の対応する１つまたは複数のピクセルの相対深度を示すことができる。
【００９０】
[0098]いくつかの例では、ビデオエンコーダは、ビューの各々についてテクスチャビューコンポーネントおよび対応する深度ビューコンポーネント用のビデオデータをシグナリングする。ビデオデコーダ３０は、表示用にビューのビデオコンテンツを復号するために、テクスチャビューコンポーネントと深度ビューコンポーネントの両方のビデオデータを利用することができる。次いで、ディスプレイは、３Ｄビデオを生成するためにマルチビュービデオを表示する。
【００９１】
[0099]図３に戻ると、ビューの各々はピクチャのセットを含む。たとえば、ビューＳ０は、ピクチャ０、８、１６、２４、３２、４０、４８、５６、および６４のセットを含み、ビューＳ１は、ピクチャ１、９、１７、２５、３３、４１、４９、５７、および６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントと深度ビューコンポーネントは、互いに対応すると見なされ得る。たとえば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応すると見なされ、その逆も同様である（すなわち、深度ビューコンポーネントはセット内のそのテクスチャビューコンポーネントに対応し、その逆も同様である）。本開示で使用する、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセスユニットの同じビューの一部であるテクスチャビューコンポーネントおよび深度ビューコンポーネントと見なされ得る。
【００９２】
[0100]本開示の次のセクションは、ＡＶＣベース３Ｄビデオコーディング規格（すなわち、３Ｄ−ＡＶＣ）を説明する。３Ｄ−ＡＶＣにおけるビューコンポーネントのコーディング順序が以下に説明される。ベースビューのテクスチャ部分がＨ．２６４／ＡＶＣデコーダに対して完全に復号可能であるように、３Ｄ−ＡＶＣはＨ．２６４／ＡＶＣと互換性がある。３Ｄ−ＡＶＣにおける強化されたビューコンポーネントの場合、深度はテクスチャより前にコーディングされ得るし、テクスチャビューコンポーネントは、深度ビューコンポーネントからの情報に基づいてコーディングされ得るし、これは深度優先コーディングとして知られている。対照的に、テクスチャ優先コーディング順序では、各テクスチャビューコンポーネントは、それぞれの深度ビューコンポーネントの前にコーディングされる。たとえば、３Ｄ−ＡＶＣにおけるテクスチャビューコンポーネントと深度ビューコンポーネントのコーディング順序は、以下のように例示され得る：ここにおいて、Ｔ０およびＤ０は、それぞれベースビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントを指し、ＴｉおよびＤｉは、それぞれｉ番目の従属ビューのテクスチャビューコンポーネントおよび深度ビューコンポーネントを指す。以下の例では、３つのビューが存在する。
【００９３】
−  Ｔ０  Ｄ０  Ｄ１  Ｄ２  Ｔ１  Ｔ２：ベースビュー（Ｔ０およびＤ０）がテクスチャ優先コーディング順序でコーディングされ、従属ビューが深度優先コーディング順序でコーディングされる。ハイブリッドコーディング順序は、現在、３Ｄ−ＡＶＣの通常のテスト条件で使用されている。
【００９４】
−  Ｔ０  Ｄ０  Ｔ１  Ｄ１  Ｔ２  Ｄ２：すべてのビューコンポーネントがテクスチャ優先コーディング順序でコーディングされる。
【００９５】
[0101]ビュー間予測がＴｉに対して有効である場合、参照テクスチャビューは、ビュー間参照ピクチャを含むビューとして定義され、対応する深度ビューは、参照テクスチャビューのビュー順序インデックスと同じビュー順序インデックスを有する参照深度ビューとして定義される。
【００９６】
[0102]ビデオコーダは、２つのビューの間の視差の推定器として視差ベクトル（ＤＶ）を使用することができる。隣接ブロックはビデオコーディングにおいてほとんど同じ動き／視差情報を共有するので、現在ブロックは、良好な予測子として隣接ブロックにおける動きベクトル情報を使用することができる。深度マップを介した３Ｄ−ＡＶＣ視差ベクトル導出が次に説明される。視差ベクトルを導出するための技法は、低レベルコーディングツールごとに異なる場合があるが、通常、深度優先コーディング順序のおかげで、テクスチャビューコンポーネントのコーディングに従属ビューの深度データが利用される。
【００９７】
[0103]３Ｄ−ＡＶＣにおけるインループブロックベースビュー合成ビュー間予測（ＢＶＳＰ）および深度ベース動きベクトル予測（Ｄ−ＭＶＰ）は、主に、従属フレーム内の深度マップの深度値から変換された視差ベクトルを使用する低レベルコーディングツールである。通常、３Ｄ−ＡＶＣソフトウェアでは、実際の深度マップ値から特定のビューに対する特定のビューに対する視差への変換プロセスの結果は、カメラパラメータを有する参照テーブルに記憶される。
【００９８】
[0104]ＢＶＳＰは３Ｄ−ＡＶＣにおいて有効にされ得る。ＢＶＳＰは、当初、Ｓｕら、「３ＤＶ−ＣＥ１．ａ：３ＤＶ−ＡＴＭ向けのブロックベースビュー合成予測」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書ＪＣＴ３Ｖ−Ａ０１０７（以下、「ＪＣＴ３Ｖ−Ａ０１０７」）で提案され、ＪＣＴ３Ｖ−Ａ０１０７は、２０１４年３月３日時点で、以下のリンクからダウンロード可能である：ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴ３Ｖ−Ａ０１０７−ｖ１．ｚｉｐ。
【００９９】
[0105]図４は、バックワードワーピングに基づくＢＶＳＰの例示的な概念の可視化である。図４を参照すると、以下のコーディング順序が利用されると仮定する：（Ｔ０、Ｄ０、Ｄ１、Ｔ１）。テクスチャコンポーネントＴ０はベースビューであり、Ｔ１はＶＳＰでコーディングされる従属ビューである。深度マップコンポーネントＤ０およびＤ１は、Ｔ０およびＴ１に関連付けられたそれぞれの深度マップである。
【０１００】
[0106]従属ビューＴ１において、現在ブロックＣｂのサンプル値は、ベースビューＴ０のサンプル値からなる参照エリアＲ（Ｃｂ）から予測される。コード化サンプルと参照サンプルとの間の変位ベクトルは、現在コーディングされているテクスチャサンプルに関連付けられた深度マップ値から、Ｔ１とＴ０との間の導出視差ベクトルとして表記される。
【０１０１】
[0107]いくつかの例では、ビデオコーダは、深度値から視差ベクトルへの変換のプロセスを実行するために、以下の式を使用することができる。
【数１】
2016513919.tif 000003
【数２】
2016513919.tif 000004
【０１０２】
ここで、ｊおよびｉはＣｂ内のローカル空間係数であり、ｄ（Ｃｂ（ｊ，ｉ））はビュー＃１の深度マップ画像内の深度マップ値であり、Ｚはｄ（Ｃｂ（ｊ，ｉ））の実際の深度値であり、Ｄは特定のビュー＃０に対する導出視差ベクトルの水平成分である。パラメータｆ、ｂ、Ｚｎｅａｒ、およびＺｆａｒは、カメラのセットアップを指定するパラメータ、すなわち、使用される焦点距離（ｆ）、ビュー＃１とビュー＃０との間のカメラ分離（ｂ）、および深度範囲（Ｚｎｅａｒ、Ｚｆａｒ）であり、深度マップ変換のパラメータを表す。
【０１０３】
[0108]いくつかの例では、導出視差ベクトルの垂直成分は、常に０に等しく設定される。３Ｄ−ＡＶＣの現在の実装形態（すなわち、３ＤＶ−ＡＴＭの実装形態）では、式（１）および（２）は、深度マップ値（０〜２５５）ごとにすでに事前計算され、参照テーブルとして記憶されている。したがって、ビデオコーダは、上記に提供された式（１）と（２）とを計算することなく深度値を視差ベクトルに変換するために、参照テーブルを使用することができる。
【０１０４】
[0109]ＢＶＳＰに関する１つの実装問題は、ＢＶＳＰブロックの指示に関与する。いくつかの例では、ＢＶＳＰブロックは以下のように示される。ＭＢレベルにある１つのフラグは、現在ＭＢが従来のスキップ／直接モードでコーディングされているかどうか、または現在ＭＢがスキップ／直接モードでコーディングされているが、合成参照コンポーネントから予測されているかどうかをシグナリングする。（１６×１６から８×８への）ＭＢパーティションごとに、参照ピクチャリストに対応する参照インデックスは、参照ピクチャリスト内の参照ピクチャをシグナリングする。ビデオエンコーダがＭＢパーティションを符号化するためにＢＶＳＰモードを使用するとき、ＢＶＳＰコード化ブロック用の動きベクトルが存在しないので、ビデオエンコーダは、ＭＢパーティション用の動きベクトル差分（ＭＶＤ）をシグナリングしない。ＭＢパーティションが合成参照コンポーネントを使用してコーディングされていることをフラグまたは参照インデックスのいずれかが示したとき、ビデオコーダは、下記に記載されるように、１つのパーティンションの予測を起動することができる。
【０１０５】
[0110]ＢＶＳＰに関する別の実装問題は、予測導出プロセスに関与する。Ｎ×ＭはＭＢパーティションのサイズを表記することができ、ここで、ＮまたはＭは８または１６に等しい。ＭＢパーティションがＢＶＳＰモードでコーディングされた場合、ＭＢパーティションはさらに、Ｋ×Ｋに等しいサイズを有するいくつかの下位領域に区分化され、ここで、Ｋは４×４、２×２、または１×１であり得る。ＭＢパーティションの下位領域ごとに、ビデオコーダは、別個の導出視差ベクトルを導出する。さらに、ＭＢパーティションのそれぞれの下位領域ごとに、ビデオコーダは、ビュー間参照ピクチャ内の対応するブロック、すなわち図４のＲ（ｃｂ）を特定するために、導出視差ベクトルを使用する。ビデオコーダは、それぞれの下位領域用の対応するブロックからそれぞれの下位領域を予測することができる。ＢＶＳＰの一例は、４×４（Ｋが４に等しいことを意味する）のサイズを有するブロック用のバックワードワーピングに基づく。導出視差ベクトルは、そのようなベクトルを使用するコーディングツールが存在しないので、ＢＶＳＰコード化ブロック用に記憶されない。
【０１０６】
[0111]別の実装問題は、視差ベクトル導出プロセスに関与する。深度優先コーディング順序が適用されたとき、ビデオコーダは、図４に示されたように、対応する非ベース深度ビュー内の対応する深度ブロックの深度値を変換することによって、導出視差ベクトルを取得することができる。深度ブロックの中心位置の深度値、１つの深度ブロック内のすべての深度値の最大値、１つの深度ブロック内の４つのコーナーピクセルの最大値、および深度ブロック／深度ＭＢの右下ピクセルの深度値などの、１つの深度ブロックの深度値を選択するために、いくつかの技法が適用され得る。テクスチャ優先コーディング順序が適用されたとき、非ベーステクスチャビューを復号するとき対応する非ベース深度ビューが利用不可なので、ビデオコーダは、ＢＶＳＰモードを無効にすることができる。
【０１０７】
[0112]通常のインターモード用の３Ｄ−ＡＶＣにおける深度ベース動きベクトル予測（Ｄ−ＭＶＰ）が次に説明される。Ｄ−ＭＶＰは、現在ビュー内の関連する深度マップデータを組み込む動きベクトル予測方法であり、それは、深度優先コーディング順序に起因して利用可能である。ビデオコーダは、従属（すなわち、非ベース）ビュー内のテクスチャビューコンポーネントでＤ−ＭＶＰを適用することができる。
【０１０８】
[0113]３Ｄ−ＡＶＣでは、Ｄ−ＭＶＰ方法は、Ｈ．２６４／ＡＶＣにおける従来のメディアン関数ベースの動きベクトル予測に組み込まれる。詳細には、隣接ブロック内の動きベクトルの参照インデックスが動き予測のタイプを知るために確認されるように、予測されるべき動きベクトルのタイプ（すなわち、時間動きベクトルか視差動きベクトルか）が最初に識別される。
【０１０９】
[0114]隣接ブロックは、順番に、現在ブロックに対して、左ブロックと、上ブロックと、右上ブロックと、左上ブロックとを含む。いくつかの例では、ビデオコーダは、他の３つの隣接ブロック（すなわち、左ブロック、上ブロック、および右上ブロック）のうちの１つが動きベクトルを含まず、したがって利用不可と見なされるとき、左上ブロック内の動きベクトルのみを使用することができる。
【０１１０】
[0115]その後、３つの隣接ブロックが利用可能になった場合、ビデオコーダは、現在ブロック用の動きベクトルの動きベクトル予測に、３つの隣接ブロック内の動きベクトルを利用することができる。時間予測では、３つの隣接ブロックの動きベクトルがすべて同じタイプであり、すべてが同じ参照インデックスを有する場合、ビデオコーダは、Ｈ．２６４／ＡＶＣに記述されたようにメディアンフィルタを直接使用することができる。そうでない場合（３つの隣接ブロックの動きベクトルが異なるタイプに属し、３つの隣接ブロックが異なる参照インデックスを有する場合）、ビデオコーダはさらに、現在ブロック用の動きベクトルを導出することができる。現在参照ピクチャがビュー間参照ピクチャであるとき、ビデオコーダは、隣接ブロックの位置における動きベクトルのタイプとそれらの参照インデックスとを確認することができる。動きベクトルがすべて同じタイプと同じ参照インデックスとを有する場合、ビデオコーダは、メディアンフィルタを適用することができる。どちらの場合も、利用可能な隣接ブロックが３つよりも少ない場合、ビデオコーダはさらに、３つの隣接ブロックが利用可能になるように、利用可能ではないブロック用の動きベクトルを導出することができる。
【０１１１】
[0116]隣接ブロック用に導出された動きベクトルは、導出動きベクトルと呼ばれる場合がある。現在ブロックの動きベクトルを導出するために、ビデオコーダは、現在動きベクトル（すなわち、隣接ブロックの動きベクトル）が視差動きベクトルであるかどうか、隣接ブロックの動きベクトルが現在動きベクトルのタイプと異なるタイプを有するかどうか、または隣接ブロックの動きベクトルが利用不可かどうかを決定することができる。これらの条件のうちのいずれかが該当する場合、ビデオコーダは、現在ブロックの導出動きベクトルを視差動きベクトルであるように設定することができ、ビデオコーダは、対応する深度ビューコンポーネントから視差動きベクトルを変換することができる。ビデオコーダは、同じビューの深度ビューコンポーネントの対応するブロックの４つのコーナーの深度値の最大値を視差値に変換することができる。ビデオコーダは、導出動きベクトルの水平成分に視差値を設定することができる。ビデオコーダは、導出動きベクトルの垂直成分をゼロになるように設定することができる。
【０１１２】
[0117]現在動きベクトルが時間動きベクトルである場合、ビデオコーダは、参照（ベース）ビュー内の参照ブロックの時間動きベクトルを決定するために、（上述されたのと同様に導出された）視差値を使用することができる。ビデオコーダは、導出動きベクトルを時間動きベクトルになるように設定することができる。時間動きベクトルが利用不可であると見なされる（たとえば、時間隣接ブロックがイントラブロックであるか、または時間隣接ブロックの動きベクトルが、現在参照ピクチャと位置合わせされた参照ビュー内の参照ピクチャを指さない）場合、ビデオコーダは、導出動きベクトルをゼロに設定することができる。
【０１１３】
[0118]スキップモードおよび直接モード用の３Ｄ−ＡＶＣにおけるビュー間動き予測が次に説明される。Ｈ．２６４／ＡＶＣ仕様のセクション７．３．５および７．４．５に記載されているように、マクロブロック用のｍａｃｒｏｂｌｏｃｋ＿ｌａｙｅｒシンタックス構造は、マクロブロック用のマクロブロックタイプを指定するｍｂ＿ｔｙｐｅシンタックス要素を含む場合がある。ｍｂ＿ｔｙｐｅシンタックス要素のセマンティクスは、マクロブロックを含んでいるスライスのスライスタイプに依存する。スライスがＰスライスである場合、マクロブロックタイプはＰ＿Ｓｋｉｐタイプを含む。マクロブロックのマクロブロックタイプがＰ＿Ｓｋｉｐであるとき、ビットストリーム内のマクロブロック用のデータはこれ以上存在しない。スライスがＢスライスである場合、マクロブロックタイプは、Ｂ＿ＳｋｉｐモードとＢ＿Ｄｉｒｅｃｔ＿１６×１６モード（すなわち、Ｂ−１６×１６直接モード）とを含む。マクロブロックのマクロブロックタイプがＢ＿Ｓｋｉｐであるとき、ビットストリーム内のマクロブロック用のデータはこれ以上存在しない。マクロブロックのマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿１６×１６であるとき、ビットストリーム内のマクロブロック用の動きベクトル差分または参照インデックスは存在しない。さらに、マクロブロックのマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿１６×１６であるとき、直接モード予測についてのＨ．２６４／ＡＶＣ仕様の節８．４．１における動きベクトルおよび参照フレームインデックス用の導出プロセス内で、関数ＭｂＰａｒｔＷｉｄｔｈ（Ｂ＿Ｄｉｒｅｃｔ＿１６×１６）およびＭｂＰａｒｔＨｅｉｇｈｔ（Ｂ＿Ｄｉｒｅｃｔ＿１６×１６）が使用される。
【０１１４】
[0119]さらに、ｍａｃｒｏｂｌｏｃｋ＿ｌａｙｅｒシンタックス構造は、１つまたは複数のｓｕｂ＿ｍｂ＿ｐｒｅｄシンタックス構造を含む場合がある。ｓｕｂ＿ｍｂ＿ｐｒｅｄシンタックス構造は、サブマクロブロックタイプを指定する４つのｓｕｂ＿ｍｂ＿ｔｙｐｅシンタックス要素を含む場合がある。サブマクロブロックタイプは、Ｂ＿Ｄｉｒｅｃｔ＿８×８モード（すなわち、Ｂ−８×８直接モード）を含む。サブマクロブロックのサブマクロブロックタイプがＢ＿Ｄｉｒｅｃｔ＿８×８であるとき、ビットストリーム内のサブマクロブロック用の動きベクトル差分または参照インデックスは存在しない。直接モード予測についてのＨ．２６４／ＡＶＣ仕様の節８．４．１における動きベクトルおよび参照フレームインデックス用の導出プロセス内で、関数ＳｕｂＭｂＰａｒｔＷｉｄｔｈ（Ｂ＿Ｄｉｒｅｃｔ＿８×８）およびＳｕｂＭｂＰａｒｔＨｅｉｇｈｔ（Ｂ＿Ｄｉｒｅｃｔ＿８×８）が使用される。
【０１１５】
[0120]ビデオコーダは、Ｐ＿Ｓｋｉｐ、Ｂ＿Ｓｋｉｐ、Ｂ−１６×１６直接モード、およびＢ−８×８直接モードで、３Ｄ−ＡＶＣにおけるビュー間動き予測を実行することができる。ビュー間動き予測を実行するために、ビデオコーダは、最初に、隣接ブロックからの現在ブロック用の視差ベクトル、ならびに同じビューの深度ビューコンポーネントの深度値から変換された視差ベクトルを導出することができる。１つの利用可能な空間隣接ブロックが視差動きベクトルを含む場合、ビデオコーダは、この視差動きベクトルが現在ブロック用の視差ベクトルであると決定することができる。そうでない場合、隣接ブロックのうちのいずれも視差動きベクトルを有していないとき、ビデオコーダは、（Ｄ−ＭＶＰにおける変換と同様に）深度値からブロックの視差動きベクトルを変換することができる。その後、ビデオコーダは、現在ブロック用の視差ベクトルを決定するために、３つの隣接ブロックにメディアンフィルタを適用することができる。
【０１１６】
[0121]ビデオコーダは、参照（たとえば、ベース）ビュー内の参照ブロックの時間動きベクトルを決定するために、現在ブロック用の視差ベクトルを使用することができる。時間動きベクトルが利用不可である場合、ビデオコーダは第１に参照インデックスを導出することができ、ビデオコーダは、動きベクトル予測子を生成するために、上記で説明されたように、Ｄ−ＭＶＰを適用することができる。
【０１１７】
[0122]３Ｄ−ＡＶＣおよびＨＥＶＣのマルチビュー拡張は、ブロック用の視差ベクトルを導出するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを使用することができる。一般に、ＮＢＤＶ導出プロセスは、現在ブロック用の視差ベクトルを推定するための隣接視差情報を使用する。いくつかの空間および時間の隣接候補ブロックが最初に定義される。ビデオコーダは、あらかじめ定義された順序で隣接ブロックの各々を確認することができる。あらかじめ定義された順序は、現在ブロックと隣接ブロックとの間の相関の優先度によって決定される場合がある。隣接ブロックが視差動きベクトルを有する（すなわち、隣接ブロックの動きベクトルがビュー間参照ピクチャを指す）とビデオコーダが決定すると、ビデオコーダは、視差動きベクトルを現在ブロック用の視差ベクトルに変換することができる。
【０１１８】
[0123]一般に、ビデオコーダは、ＮＢＤＶ導出プロセスを実行するとき、隣接ブロックの２つのセットを使用することができる。隣接ブロックの一方のセットは空間隣接ブロックからのものであり、隣接ブロック他方のセットは時間隣接ブロックからのものである。いくつかの例では、ＮＢＤＶという用語は、ブロックの視差ベクトルを導出するためにＮＢＤＶ導出プロセスが使用された場合、ブロックの視差ベクトルを指すために使用される。
【０１１９】
[0124]ビデオコーダは、すべてのビューについてテクスチャ優先コーディング順序を使用する、３Ｄ−ＨＥＶＣにおける視差ベクトル導出方法として、ＮＢＤＶ導出プロセスを使用することができる。現在の３Ｄ−ＨＥＶＣ設計では、ビデオコーダはまた、参照ビューの深度マップから深度データを取り出すために、ＮＢＤＶ導出プロセスを使用することができる。３Ｄ−ＨＥＶＣは、最初に、Ｚｈａｎｇら、「視差ベクトル生成結果」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書ＪＣＴ３Ｖ−Ａ００９７（以下、ＪＣＴ３Ｖ−Ａ００９７）で提案されたＮＢＤＶ方法を採用した。暗黙視差ベクトルは、ＪＣＴ３Ｖ−Ａ０１２６：Ｓｕｎｇら、「３Ｄ−ＣＥ５．ｈ：ＨＥＶＣベースの３Ｄビデオコーディングのための視差ベクトル導出の簡略化」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第１回会合：ストックホルム、スウェーデン、２０１２年７月１６〜２０日、文書ＪＣＴ３Ｖ−Ａ０１２６（以下、ＪＣＴ３Ｖ−Ａ０１２６）における簡略化されたＮＢＤＶに含まれる。加えて、Ｋａｎｇら、「３Ｄ−ＣＥ５．ｈ関連：視差ベクトル導出のための改善」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第２回会合：上海、中国、２０１２年１０月１３〜１９日、文書ＪＣＴ３Ｖ−Ｂ００４７（以下、ＪＣＴ３Ｖ−Ｂ００４７）では、ＮＢＤＶ導出プロセスは、ランダムアクセスピクチャ（ＲＡＰ）の選択で改善されたコーディング利得を実現しながら、復号ピクチャバッファに記憶された暗黙視差ベクトルを除去することによって、さらに簡略化された。
【０１２０】
[0125]いくつかのＮＢＤＶ導出プロセスでは、ビデオコーダは、視差ベクトル導出のための５つの空間隣接ブロックを使用する。５つの空間隣接ブロックは、Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2によって表記される、現在ＰＵの左下ブロック、左ブロック、右上ブロック、上ブロック、および左上ブロックである。提案されたＮＢＤＶ導出プロセスで使用される５つの空間隣接ブロックは、ＨＥＶＣにおけるマージモードで使用される同じ５つの空間隣接ブロックであり得る。したがって、いくつかの例では、５つの空間隣接ブロックにアクセスするために、さらなるメモリアクセスは必要とされない。
【０１２１】
[0126]時間隣接ブロックを確認するために、ビデオコーダは、最初に、候補ピクチャリストの構築プロセスを実行することができる。ビデオコーダは、現在ビューからのすべての参照ピクチャを候補ピクチャとして扱うことができる。ビデオコーダは、最初に、いわゆるコロケートされた参照ピクチャを候補ピクチャリストに挿入し、その後に、参照インデックスの昇順で候補ピクチャの残り（すなわち、現在ビュー内の参照ピクチャ）が続く。すなわち、ビデオコーダは、残りの候補ピクチャが現在ピクチャの参照ピクチャリスト（たとえば、ＲｅｆＰｉｃｔＬｉｓｔ０およびＲｅｆＰｉｃｔＬｉｓｔ１）内で現れる順序に従って、残りの候補ピクチャを候補ピクチャリストに挿入することができる。現在ブロックを含んでいるスライスのスライスヘッダ内の１つまたは複数のシンタックス要素は、コロケートされたピクチャを示すことができる。いくつかの例では、両方の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃｔＬｉｓｔ０およびＲｅｆＰｉｃｔＬｉｓｔ１）内で同じ参照インデックスを有する参照ピクチャがＮＢＤＶ導出プロセスでの使用に利用可能であるとき、コロケートされたピクチャと同じ参照ピクチャリスト内の参照ピクチャは、候補ピクチャリスト内で他の参照ピクチャに先行する。
【０１２２】
[0127]ビデオコーダがビュー間動き予測でブロックをコーディングするとき、ビデオコーダは、異なるビュー内の対応するブロックを選択するための視差ベクトルを導出することができる。「暗黙視差ベクトル」または「ＩＤＶ」（または場合によっては「導出視差ベクトル」）という用語は、ビュー間動き予測において導出された視差ベクトルを指すことができる。たとえば、ビデオコーダが動き予測（すなわち、時間動き予測）でブロックをコーディングすることができる場合でも、ビデオコーダは、導出視差ベクトルを廃棄しない。むしろ、ビデオコーダは、後続のブロックをコーディングする目的で視差ベクトルを使用することができる。詳細には、ビデオコーダは、視差ベクトルを暗黙視差ベクトルとして扱うことができ、１つまたは複数の他のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて暗黙視差ベクトルを使用することができる。
【０１２３】
[0128]通常、ビデオコーダがＮＢＤＶ導出プロセスを実行するとき、ビデオコーダは、順番に、時間隣接ブロック内の視差動きベクトルと、空間隣接ブロック内の視差動きベクトルと、次いで暗黙視差ベクトルとを確認する。ビデオコーダが視差ベクトルを見出すと、ビデオコーダは、ＮＢＤＶ導出プロセスを終了することができる。
【０１２４】
[0129]バックワードＶＳＰは３Ｄ−ＨＥＶＣにおいて有効にされ得る。３Ｄ−ＨＥＶＣでは、ビデオコーダがテクスチャ優先コーディング順序を適用するとき、ビデオコーダは、参照深度ビュー内の深度値の考慮事項の有無にかかわらず、ＰＵごとに、ＮＢＤＶ導出プロセスから視差ベクトルを導出することができる。ビデオコーダが視差ベクトルを取得した後、ＰＵの４×４下位領域がＢＶＳＰモードでコーディングされた場合、ビデオコーダはさらに、１つのＰＵの４×４下位領域ごとに視差ベクトルを改良することができる。
【０１２５】
[0130]改良プロセスは２つのステップを含む場合がある。１番目のステップでは、ビデオコーダは、参照深度ビュー内の４×４深度ブロックから１つの最大深度値を選択することができる。ビデオコーダは、４×４深度ブロックを特定するために導出視差ベクトルを使用することができる。２番目のステップでは、ビデオコーダは、改良された視差ベクトルの垂直成分を０であるように保持しながら、改良された視差ベクトルの水平成分に深度値を変換することができる。視差ベクトルがＰＵの４×４下位領域用に改良された後、ビデオコーダは、動き補償のために参照テクスチャビュー内の１つのブロックを特定するために、改良された視差ベクトルを使用することができる。
【０１２６】
[0131]上記に示されたように、３Ｄ−ＨＥＶＣは、視差ベクトルを導出するためにＮＢＤＶ導出プロセスを使用することができる。参照により本明細書に組み込まれる、２０１３年２月２６日に出願された米国仮特許出願第６１／７６９，７１６号、以下‘７１６出願は、３Ｄ−ＡＶＣ用のＮＢＤＶ導出プロセスを記載する。‘７１６出願に記載されたように、ビデオコーダは、現在ＭＢ用の視差ベクトルを導出するためにＭＢレベルのＮＢＤＶ導出プロセスを使用することができる。ビデオコーダはさらに、動きベクトル予測のために現在ＭＢ用の視差ベクトルを使用することができる。‘７１６出願に記載されたように、ビデオコーダが視差動きベクトルを識別すると（すなわち、ビデオコーダがビュー間参照ピクチャを使用する時間隣接ブロックまたは空間隣接ブロックを識別すると）、ビデオコーダは、現在ＭＢ用の視差ベクトルとして視差動きベクトルを返すことができる。
【０１２７】
[0132]図５は、ＮＢＤＶ導出プロセスのための例示的な空間隣接ブロックを示す概念図である。‘７１６出願では、ビデオコーダがＮＢＤＶ導出プロセスにおいて空間隣接ブロックを確認するとき、ビデオコーダは、ＡＶＣ動き予測プロセスにおいてビデオコーダが確認する空間隣接ブロックを確認することができる。ビデオコーダが‘７１６出願で提案されたＮＢＤＶ導出プロセスにおいて空間隣接ブロックを確認するとき、ビデオコーダは、図５の例に示されたように、Ａ（左）、Ｂ（上）、Ｃ（右上）、およびＤ（左上）の順序で、空間隣接ブロックを確認することができる。言い換えれば、ＡＶＣ動き予測プロセスにおいて確認される空間隣接ブロックは、提案されたＮＢＤＶプロセスにおいて、Ａ（左）、Ｂ（上）、Ｃ（右上）、およびＤ（左上）の順序で確認される。
【０１２８】
[0133]さらに、‘７１６出願で提案されたＮＢＤＶ導出プロセスでは、ビデオコーダは時間隣接ブロックを確認することができる。図６は、ＮＢＤＶ導出プロセスのための例示的な時間隣接ブロックを示す概念図である。ビデオコーダは、現在ピクチャと同じビュー内の２つまでの参照ピクチャ：（Ｂスライス用のＲｅｆＰｉｃＬｉｓｔ１［０］およびＲｅｆＰｉｃＬｉｓｔ０［０］ならびにＰスライス用のＲｅｆＰｉｃＬｉｓｔ０［０］）からのブロックを確認することができる。現在、ビデオコーダは、ピクチャごとに３つの時間ブロックを確認することができる。ピクチャごとに、ビデオコーダは、図６の例に示されたように、ＢＲ（右下）、ＣＴ３（センター３）、およびＣＯ２（コーナー２）の順序で、下記に示されるようなコロケートされたＭＢに対するコロケートされたブロックを確認することができる。
【０１２９】
[0134]さらに、‘７１６出願では、ＮＢＤＶ導出プロセスの終了は以下のように記載されている。ビデオコーダは、上述された隣接ブロックを順番に確認することができる。３Ｄ−ＨＥＶＣと同様に、ビデオコーダは、最初に時間隣接ブロックを確認し、後で空間隣接ブロックを確認することができる。ブロックが利用可能な視差動きベクトルを含んでいるとビデオコーダが決定すると、ビデオコーダは、導出プロセスを終了することができる。
【０１３０】
[0135]ＭＶＣ＋Ｄと比較されたときの、‘７１６出願で提案された方法のコーディング利得が、以下の表に示される。
【表１】
2016513919.tif 000005
【０１３１】
‘７１６出願の提案された方法により、３Ｄ−ＡＶＣでは効率的にサポートされないテクスチャのみのコーディングが可能になる。同じテクスチャのみの構成を可能にするとき、現在の３Ｄ−ＡＶＣの構成からのコーディング利得は１％にすぎない。
【０１３２】
[0136]いくつかの例では、参照ビューの深度ビューコンポーネントにアクセスするＮＢＤＶ導出プロセスが３Ｄ−ＡＶＣにおいて使用される。その内容全体が参照により本明細書に組み込まれる、２０１３年２月２７日に出願された米国仮特許出願第６１／７７０，２６８号（‘２６８出願）に記載されたように、ＮＢＤＶ導出プロセスは、ベース／参照ビューの深度ビューコンポーネントにアクセスすることによって、さらに改善され得る。‘２６８出願に記載されたように、ビデオコーダは、深度ビューコンポーネント内の深度ピクセルを特定するために、隣接ブロックから導出された視差ベクトルを使用することができ、その結果、ビデオコーダは視差ベクトルをさらに改良することができる。以下の表は、ＭＶＣ＋Ｄと比較されたときの、‘２６８出願の提案された方法のコーディング利得を示す。
【表２】
2016513919.tif 000006
【０１３３】
上記に示されたように、‘２６８出願の提案された方法は５％以上のコーディング利得を提供するが、深度ビューコンポーネントにアクセスすることが依然必要とされる。
【０１３４】
[0137]３Ｄ−ＡＶＣ用に開発されたＮＢＤＶ導出方法は、以下の問題を有する可能性がある。第１に、‘７１６出願で提案されたＮＢＤＶ導出方法を利用するとき、Ｄ−ＭＶＰとＢＶＳＰとを含むコーディングツールは、主に、視差ベクトルが十分に正確ではないという理由のせいで、効率的ではなくなる。第２に、‘２６８出願で提案されたＮＢＤＶ導出方法を利用するとき、深度ビューコンポーネントにアクセスするこが常に必要とされる。この場合でも、隣接ブロックから取得された最初の視差ベクトルは、ビデオコーダが深度ビューコンポーネント内のより正確なエリアを識別することを妨げる可能性もある。第３に、視差ベクトルは、３Ｄ−ＨＥＶＣにおけるようにＩＤＶにアクセスすることによって改善される可能性がある。しかしながら、そのようなＩＤＶを使用すると、空間隣接ブロックと時間隣接ブロックの両方のためにさらなるストレージが必要になる可能性がある。空間隣接ブロックおよび時間隣接ブロック用のＩＤＶのストレージは、動きフィールドのサイズと同様のレベルで著しくより多いストレージとより多いメモリアクセスとを必要とする可能性がある。
【０１３５】
[0138]本開示は改善されたＮＢＤＶプロセスを提案する。詳細には、本開示の技法は、スライス全体用の１つまたは複数の導出視差ベクトル（ＤＤＶ）を記憶することによって、ＮＢＤＶ生成（すなわち、ＮＢＤＶ導出プロセス）を改善するソリューションを提供することができる。本開示の技法は、主に、‘７１６出願および‘２６８出願に記載されたＮＢＤＶ方法のために設計され得る。
【０１３６】
[0139]本開示の１つまたは複数の技法によれば、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、１つまたは複数のＤＤＶを記憶することができる。ビデオコーダは、後でコーディングされるビデオブロックの視差ベクトルを予測するためにＤＤＶを使用することができる。言い換えれば、以前のブロックからの１つまたは複数のＤＤＶは、将来のブロックの視差ベクトルをより良く予測するために記憶される。
【０１３７】
[0140]いくつかの例では、現在ブロックが深度ビューコンポーネントであり、ビデオコーダがＤＤＶを導出したブロックがテクスチャビューコンポーネントである場合、ビデオコーダは、現在ブロックの視差ベクトルを予測するためにＤＤＶを使用しない。その上、現在ブロックがテクスチャビューコンポーネントであり、ビデオコーダがＤＤＶを導出したブロックが深度ビューコンポーネントである場合、ビデオコーダは、現在ブロックの視差ベクトルを予測するためにＤＤＶを使用しない。たとえば、ＤＤＶは、現在ＭＢを含んでいないビューコンポーネントとは異なる任意のビューコンポーネントの任意のブロックの視差ベクトルを予測するために使用されない。言い換えれば、ＤＤＶは、現在ＭＢを含んでいない任意のビューコンポーネントの任意のブロックの視差ベクトルを予測するために使用されない。
【０１３８】
[0141]さらに、いくつかの例では、現在ブロックとビデオコーダがＤＤＶを導出したブロックが異なるスライス内にある場合、ビデオコーダは、現在ブロックの視差ベクトルを予測するためにＤＤＶを使用しない。たとえば、ＤＤＶは、現在ＭＢを含んでいないスライスとは異なる任意のスライスの任意のブロックの視差ベクトルを予測するために使用されない。
【０１３９】
[0142]上記に示されたように、ビデオコーダは、スライス用の１つまたは複数のＤＤＶを保持することができる。いくつかの例では、ビデオコーダによってスライス用に保持されるＤＤＶの数は、現在ピクチャの幅、現在ピクチャの高さ、または現在スライス内のブロックの数に比例しない。言い換えれば、保持されるべきＤＤＶの数は、ピクチャの幅、ピクチャの高さ、またはスライスが有するブロックの数に比例しない。むしろ、いくつかの例では、ビデオコーダによって保持されるＤＤＶの数は、１つのＭＢ、１つのＣＵ、または１つのＬＣＵの中のブロックの数に比例する。
【０１４０】
[0143]本開示のいくつかの例では、ビデオコーダは１つのＤＤＶのみを記憶する。たとえば、ビデオコーダがスライスの（コーディング順序で）最初のＭＢをコーディングすると、ビデオコーダは、ＭＢの視差ベクトルをＤＤＶに記憶することができる。現在ＭＢをコーディングするとき、ビデオコーダは、次のＭＢ用の視差ベクトルを導出するために、ＮＢＤＶ導出プロセスにおいて記憶されたＤＤＶを使用することができる。言い換えれば、現在ＭＢをコーディングするとき、（通常、左のＭＢである）前のＭＢをコーディングするときに以前記憶され、生成されたＤＤＶがＮＢＤＶに使用される。
【０１４１】
[0144]このようにして、ビデオコーダは、いくつかの例では、ビデオデータの現在ピクチャのスライス用のＤＤＶを記憶することができる。さらに、ビデオコーダは、ビデオデータの現在ピクチャのスライス用のＤＤＶに少なくとも部分的に基づいて、スライスの第１のブロック用のＮＢＤＶを導出することができる。ビデオコーダは、第１のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第１のブロックをコーディングすることができる。さらに、ビデオコーダは、ＤＤＶとして第１のブロック用のＮＢＤＶを記憶することができる。たとえば、ビデオコーダがスライスの最初のＭＢをコーディングすると（すなわち、その後）、ビデオコーダは、ＤＤＶとしてＭＢの視差ベクトルを記憶することができる。したがって、いくつかの例では、ビデオコーダは、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することができ、ここにおいて、スライスは複数のブロックを含む。さらに、そのような例では、ビデオコーダは、特定のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することができ、ここにおいて、特定のブロックはスライスのブロックのうちの１つである。そのような例では、ビデオコーダは、スライス用のＤＤＶとして、特定のブロック用の視差ベクトルを記憶することができる。
【０１４２】
[0145]ＤＤＶとして第１のブロック用のＮＢＤＶを記憶した後、ビデオコーダは、ＤＤＶに少なくとも部分的に基づいて、スライスの第２のブロック用のＮＢＤＶを導出することができる。いくつかの例では、第１のブロックは第２のブロックのすぐ左側にある。さらに、ビデオコーダは、第２のブロック用のＮＢＤＶに少なくとも部分的に基づいて、第２のブロックをコーディングすることができる。そのような例では、第１のブロックはマクロブロックであり得るし、第２のブロックもマクロブロックであり得る。他の事例では、第１のブロックおよび第２のブロックはＣＵであり得るか、第１のブロックおよび第２のブロックはＰＵであり得るか、または第１のブロックおよび第２のブロックはＬＣＵであり得る。
【０１４３】
[0146]いくつかの例では、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。たとえば、ビデオコーダがビュー間動き予測を使用して現在ＭＢをコーディングするときのみ、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。言い換えれば、ＮＢＤＶの結果を使用して、たとえばビュー間動き予測を使用して現在ＭＢがコーディングされるときのみ、ＤＤＶが更新される。別の例では、現在ＭＢがインターコーディングされるときのみ、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。言い換えれば、現在ＭＢがインターコーディングされるときのみ、ＤＤＶが更新される。別の例では、現在ＭＢがインターコード化スライス（たとえば、ＰスライスまたはＢスライス）であるときのみ、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。したがって、この例では、現在スライスがインターコーディングされるときのみ、ＤＤＶが更新される。別の例では、現在ＭＢがスキップモードまたは直接モードでコーディングされるときのみ、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。言い換えれば、現在ＭＢがスキップモードまたは直接モードでコーディングされるときのみ、ＤＤＶが更新される。
【０１４４】
[0147]さらに、いくつかの例では、ビデオコーダは、あるブロック用の視差ベクトルの大きさがＤＤＶの大きさよりも大きいことの決定に応答して、ＤＤＶとしてそのブロック用の視差ベクトルを記憶することができる。たとえば、現在ＭＢの視差ベクトルの水平成分がＤＤＶの水平成分よりも大きい場合のみ、ビデオコーダは、現在ＭＢの視差ベクトルを指定するためにＤＤＶを更新することができる。言い換えれば、現在ＭＢの導出視差ベクトルが以前記憶されたＤＤＶよりも大きい場合のみ、ＤＤＶがさらに記憶／更新される。ここで、視差ベクトルの水平成分の絶対値が比較される。
【０１４５】
[0148]いくつかの例では、ＤＤＶがゼロである場合のみ、ビデオコーダは、現在ブロックの視差ベクトルを指定するためにＤＤＶを更新することができる。いくつかの例では、ビデオコーダは、ＤＤＶの両方の成分がゼロに等しいとき、ゼロであるとしてＤＤＶを識別することができる。他の例では、ビデオコーダは、ＤＤＶの水平成分がゼロに等しいとき、ゼロであるとしてＤＤＶを識別することができる。したがって、そのような例では、ＤＤＶが（両方の成分がゼロであること、または水平成分のみがゼロであることによって識別された）ゼロである場合のみ、ＤＤＶがさらに記憶または更新される。
【０１４６】
[0149]いくつかの例では、記憶されたＤＤＶが現在ブロックの左側にあるブロック用の視差ベクトルを指定するときのみ、ビデオコーダは、記憶されたＤＤＶから現在ブロック用の視差ベクトルを導出することができる。たとえば、ビデオコーダがＤＤＶを導出したＭＢが現在ＭＢの左側に隣接していない場合、ビデオコーダは、現在ＭＢ用の視差ベクトルを導出するためにＤＤＶを使用しない。言い換えれば、ＤＤＶを生成するために使用された以前のＭＢが現在ＭＢの左側に位置するＭＢではない場合、ＤＤＶは現在ＭＢのＮＢＤＶを導出するために使用されない。
【０１４７】
[0150]したがって、上記または本開示の他の場所で提供された本開示の様々な例では、ビデオコーダは、ある条件が満足されたことに応答して、ブロック用のＮＢＤＶを指定するためにＤＤＶを更新することができ、その条件は、第１のブロックがビュー間動き予測を使用してコーディングされること、第１のブロックがインターコーディングされること、スライスがインターコーディングされること、第１のブロックがスキップモードまたは直接モードでコーディングされること、第１のブロック用のＮＢＤＶの大きさがＤＤＶの大きさよりも大きいこと、およびＤＤＶがゼロでないことのうちの１つである。
【０１４８】
[0151]ビデオコーダは、記憶されたＤＤＶ、時間隣接ブロック用の視差動きベクトル（ＴＤＶ）、および空間隣接ブロック用の視差動きベクトル（ＳＤＶ）に少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することができる。すなわち、ＤＤＶは、様々な方法で、考えられる（ＴＤＶと表記された）時間隣接ブロックからの視差動きベクトルおよび（ＳＤＶと表記された）空間隣接ブロックからの視差動きベクトルとともに使用され得る。したがって、第１のブロック用のＮＢＤＶを導出することは、そのブロック用のＮＢＤＶを導出するために、ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用することを備える場合がある。
【０１４９】
[0152]たとえば、ビデオコーダがいかなるＴＤＶまたはＳＤＶも識別することができない場合、ビデオコーダは、ＤＤＶとして現在ブロックの視差ベクトルを設定することができる。言い換えれば、利用可能なＴＤＶまたはＳＤＶが識別されなかった後、視差ベクトルがＤＤＶに設定される。したがって、ＴＤＶまたはＳＤＶのいずれも現在ブロック用のＮＢＤＶを決定する際の使用に利用可能ではないことの決定に応答して、ビデオコーダは、現在ブロック用のＮＢＤＶが記憶されたＤＤＶに等しいと決定することができる。
【０１５０】
[0153]いくつかの例では、利用可能なＴＤＶまたはＳＤＶが存在せず、ＤＤＶがゼロでない場合のみ、ビデオコーダは、ＤＤＶとして現在ブロック用の視差ベクトルを設定する。ビデオコーダは、ＤＤＶの成分のうちのいずれかがゼロでないとき、ＤＤＶがゼロでないと決定することができる。代替として、ビデオコーダは、ＤＤＶの水平成分がゼロでないとき、ＤＤＶがゼロでないと決定することができる。この例では、ＤＤＶがゼロである場合、ビデオコーダは、現在ブロック用の視差ベクトルをゼロに設定することができる。言い換えれば、時間ネイバーおよび空間ネイバーが利用可能な視差動きベクトルを提供しないとき、ＤＤＶが（両方の成分がゼロであること、または水平成分のみがゼロであることによって識別された）ゼロでない場合、ゼロでないＤＤＶがＮＢＤＶに返され、そうでない場合、ゼロの視差ベクトルが返される。
【０１５１】
[0154]さらに、ＤＤＶを確認することに加えてＴＤＶとＳＤＶとを確認するＮＢＤＶ導出プロセスをビデオコーダが実行するいくつかの例では、ビデオコーダは、様々な順序で、ＴＤＶとＳＤＶとＤＤＶとを確認することができる。言い換えれば、視差ベクトルは所与のあらかじめ定義された順序で確認される。利用可能であり、（両方の成分がゼロでないこと、または水平成分のみがゼロでないことによって識別された）ゼロでない視差動きベクトルをビデオコーダが識別すると、ビデオコーダは、識別された視差動きベクトルから現在ブロックの視差ベクトルを導出することができる。たとえば、ビデオコーダが、あらかじめ定義された順序で記憶されたＤＤＶとＴＤＶとＳＤＶとを確認しながら、記憶されたＤＤＶ、ＴＤＶ、およびＳＤＶの間から利用可能なゼロでない視差動きベクトルを識別するとき、ビデオコーダは、現在ブロック用の視差ベクトルが利用可能なゼロでない視差ベクトルに等しいと決定することができる。考えられるあらかじめ定義された確認順序は、
・ＴＤＶ、ＳＤＶ、およびＤＤＶと、
・ＳＤＶ、ＴＤＶ、およびＤＤＶと、
・ＤＤＶ、ＳＤＶ、およびＴＤＶと、
・ＤＤＶ、ＴＤＶ、およびＳＤＶと、
・ＴＤＶ、ＤＤＶ、およびＳＤＶと、
・ＳＤＶ、ＤＤＶ、およびＴＤＶと
を含む場合がある。
【０１５２】
たとえば、ビデオコーダが、ＴＤＶ、ＳＤＶ、およびＤＤＶ、またはＳＤＶ、ＴＤＶ、およびＤＤＶの順序を使用する場合、ブロック用のＮＢＤＶを導出することは、時間隣接ブロックが視差動きベクトルを有していないことを決定した後、および空間隣接ブロックが視差動きベクトルを有していないことを決定した後、ＤＤＶとしてそのブロック用のＮＢＤＶを設定することを備える場合がある。
【０１５３】
[0155]より詳細には、ビデオコーダがＴＤＶ、ＳＤＶ、およびＤＤＶの順序を使用する場合、ビデオコーダは、時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することができる。さらに、時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、ビデオコーダは、時間隣接ブロックの視差動きベクトルに基づいて、そのブロック用のＮＢＤＶを導出することができる。時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、ビデオコーダは、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することができる。複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、ビデオコーダは、特定の空間隣接ブロックの視差動きベクトルに基づいて、そのブロック用のＮＢＤＶを導出することができる。複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、ビデオコーダは、ＤＤＶとして、そのブロック用のＮＢＤＶを導出することができる。
【０１５４】
[0156]いくつかの例では、ビデオコーダは２つ以上のＤＤＶを導出する。そのような例では、ビデオコーダは、ある特定の順序でＤＤＶを形成することができる。いくつかのそのような例では、複数のＤＤＶを有するＤＤＶのみを再生することによって、ＤＤＶを確認することに加えてＴＤＶとＳＤＶとを確認するＮＢＤＶ導出プロセスをビデオコーダが実行する上記の例で記載されたのと同じあらかじめ定義された順序で、ビデオコーダは、ＴＤＶおよびＳＤＶとともにＤＤＶを一緒に考慮することができる。たとえば、ビデオコーダが、あらかじめ定義された確認順序でＴＤＶと、ＳＤＶと、２つ以上の記憶されたＤＤＶとを確認しながら、ＴＤＶ、ＳＤＶ、および２つ以上の記憶されたＤＤＶの間から、利用可能なゼロでない視差ベクトルが識別されたとき、ビデオコーダは、現在ブロック用の視差ベクトルが利用可能なゼロでない視差ベクトルに等しいと決定することができ、ここにおいて、あらかじめ定義された確認順序では、２つ以上の記憶されたＤＤＶが特定の順序に従って確認される。
【０１５５】
[0157]ビデオコーダが２つ以上のＤＤＶを導出するいくつかの例では、ＤＤＶが現在ブロックの隣接ＭＢから生成されなかった場合、ＤＤＶは、現在ＭＢの視差ベクトルを予測するために使用されるＤＤＶから除外される。
【０１５６】
[0158]さらに、いくつかの例では、ビデオコーダは２つのＤＤＶ、すなわちＤＤＶ１とＤＤＶ２とを導出する。ＤＤＶ１およびＤＤＶ２は、最初に同じであるように設定される場合がある。しかしながら、ＤＤＶ１は、現在ＭＢの右の隣接ＭＢである現在ＭＢがコーディングされると更新され、ＤＤＶ２は、現在ＭＢの上の隣接ＭＢである現在ＭＢがコーディングされると更新される。すなわち、ＤＤＶ１は、以前連続してコーディングされたＭＢの右の隣接ＭＢとして現在ＭＢがコーディングされると更新され、ＤＤＶ２は、以前連続してコーディングされたＭＢの下の隣接ＭＢとして現在ＭＢがコーディングされると更新される。ビデオコーダが現在ＭＢをコーディングするとき、ビデオコーダはＤＤＶ１とＤＤＶ２の両方をコーディングすることができ、ＤＤＶ１はＤＤＶ２よりも高い優先度を有する。言い換えれば、ビデオコーダはＤＤＶ２よりも前にＤＤＶ１を確認する。別の例では、ＤＤＶ１が現在ブロックの左側にあるブロックから導出される場合のみ、ビデオコーダは、現在ブロックの視差ベクトルを導出するためにＤＤＶ１を使用する。たとえば、ＤＤＶ１が左の隣接ＭＢから導出される場合のみ、ＤＤＶ１は視差ベクトルを導出するために使用される。加えて、ＤＤＶ２が現在ブロックの上にあるブロックから導出される場合、ビデオコーダは、現在ブロック用の視差ベクトルを導出するためにＤＤＶ２を使用することができる。たとえば、ＤＤＶ２が上の隣接ＭＢから導出される場合、ＤＤＶ２は視差ベクトルを導出するために使用される。
【０１５７】
[0159]いくつかの例では、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可された場合、ＤＤＶを使用することに関して２つ以上の代替手法が可能である。１つの手法では、ビデオコーダは、深度ビューコンポーネントにアクセスすることが禁止されたときのみ、ＤＤＶを使用する。たとえば、深度ビューコンポーネントにアクセスすることが禁止されたことの決定に応答して、ビデオコーダは、１つまたは複数の記憶されたＤＤＶに基づいて、現在ブロック用の視差ベクトルを導出することができる。
【０１５８】
[0160]ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可された別の例では、ビデオコーダは、上記のように記載された最初の視差ベクトルを決定するためにＤＤＶを使用する。その後、ビデオコーダはさらに、潜在的により正確な深度ブロックを識別して視差動きベクトルを改良するために、最初の視差ベクトルを使用する。たとえば、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、ビデオコーダは、１つまたは複数の記憶されたＤＤＶに基づいて、現在ブロック用の最初のＮＢＤＶを決定することができ、潜在的により正確な深度ブロックを識別して現在ブロック用の最初の視差ベクトルを改良するために、現在ブロック用の最初の視差ベクトルを使用することができる。
【０１５９】
[0161]さらに、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたいくつかの例では、ビデオコーダは、‘２６８出願に記載されたように改良された視差ベクトルを使用することによって、ＤＤＶを改善することができる。たとえば、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、ビデオコーダは、１つまたは複数の記憶されたＤＤＶを改良することができる。いくつかの例では、ビデオコーダは、ＭＢレベルにおいて改良された視差ベクトルをＤＤＶとして記憶する。別の例では、ビデオコーダは、ＭＢレベルよりも小さいブロックレベルにおいて改良された視差ベクトルをＤＤＶとして記憶する。たとえば、ビデオコーダは、ＭＢ内の右下のコーナーの改良された視差ベクトルをＤＤＶとして記憶することができる。このようにして、ビデオコーダは、深度ビューコンポーネント内の深度ピクセルに基づいて、ブロック用のＮＢＤＶを改良することができ、ビデオコーダがそのブロック用のＮＢＤＶをＤＤＶとして記憶するとき、ビデオコーダは、そのブロック用の改良されたＮＢＤＶを指定するためにＤＤＶを更新することができる。
【０１６０】
[0162]以下は、３Ｄ−ＨＥＶＣに対する本開示の提案された技法（たとえば、方法）の一般化である。３Ｄ−ＨＥＶＣに対する提案された技法の一般化の第１のポイントでは、本開示の上述された技法は、ＰＵ、ＣＵ、またはＬＣＵによって置き換えられるＭＢを有する３Ｄ−ＨＥＶＣにも適用され得る。３Ｄ−ＨＥＶＣに対する本開示の提案された技法の一般化の第２のポイントでは、３Ｄ−ＨＥＶＣにおいて本開示の提案された技法が使用されるとき、ビデオコーダはＩＤＶを記憶する必要がない場合がある。言い換えれば、３Ｄ−ＡＶＣ、３Ｄ−ＨＥＶＣ、ならびに潜在的に他のビデオコーディングの規格および仕様では、本開示のいくつかの例によれば、ビデオコーダは、スライスのいかなるブロック用のＩＤＶも記憶しない場合がある。
【０１６１】
[0163]３Ｄ−ＨＥＶＣに対する提案された技法の一般化の第３のポイントでは、ＬＣＵまたはＣＵごとに、ビデオコーダは、最小のコーディングユニット（たとえば、４×４または８×８）よりも大きいか、またはそれに等しいユニット内の最も右のブロックのＤＤＶを記憶することができる。現在ＰＵをコーディングするとき、ビデオコーダは、現在ＰＵの視差ベクトルを予測するために、左ＬＣＵの現在ＰＵの左ブロックからビデオコーダが導出したＤＤＶを使用することができる。たとえば、ＬＣＵが６４×６４であり、最小のコーディングユニットが４×４であるとき、ビデオコーダは１６個までのＤＤＶを記憶することができる。記憶されたＤＤＶが同じＰＵのブロックに属するので、記憶されたＤＤＶのうちのいくつかは同じである可能性がある。
【０１６２】
[0164]さらに、ＬＣＵまたはＣＵの場合、ビデオコーダは、ＬＣＵまたはＣＵ内のＰＵのうちの１つから導出された１つのＤＤＶのみを記憶することができる。現在ＰＵをコーディングするとき、ビデオコーダは、現在ＰＵの視差ベクトルを予測するために、現在ＰＵの左ＬＣＵ／ＣＵのＤＤＶを使用することができる。一例では、ビデオコーダは、ＬＣＵまたはＣＵ内のＰＵのすべての利用可能なＤＤＶの関数を介して、記憶されるべき１つのＬＣＵまたはＣＵのＤＤＶを選択することができる。
【０１６３】
[0165]このようにして、ビデオエンコーダ２０は、スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数のＤＤＶを記憶することができる。さらに、ビデオエンコーダ２０は、１つまたは複数の記憶されたＤＤＶに基づいて、スライスの現在ブロック用のＮＢＤＶを導出することができる。ビデオエンコーダ２０は、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて、現在ブロックを符号化することができる。同様に、ビデオデコーダ２０は、スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数のＤＤＶを記憶することができる。さらに、ビデオデコーダ２０は、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、スライスの現在ブロック用のＮＢＤＶを導出することができる。ビデオデコーダ３０は、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて、現在ブロックを復号することができる。
【０１６４】
[0166]３Ｄ−ＨＥＶＣに対する本開示の提案された技法の一般化の別のポイントでは、ビデオコーダは、スライスごとにただ１つのＤＤＶを保持することができる。ビデオコーダは、ＣＵがコーディングされるとＤＤＶを更新することができる。様々な例では、ビデオコーダは、様々な方法でＤＤＶを更新することができる。
【０１６５】
[0167]たとえば、スライスがイントラコーディングされないとき、ビデオコーダは、ＣＵがＮＢＤＶ導出プロセスからもたらされる視差ベクトルを使用するかどうかにかかわらず、ＣＵごとにＮＢＤＶ導出プロセスを起動することができる。言い換えれば、スライスがイントラコーディングされないと、ＣＵがＮＢＤＶの結果を使用するかどうかにかかわらず、ＣＵごとにＮＢＤＶが起動される。ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用することができ、ビデオコーダがＮＢＤＶ導出プロセスによって導出された視差ベクトルに等しいようにＤＤＶを設定できることを意味する。
【０１６６】
[0168]本開示の技法が３Ｄ−ＨＥＶＣに対して一般化されるときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがＣＵをコーディングするためにインター予測を使用した後、ビデオコーダは、ＮＢＤＶ導出プロセスを起動することができる。言い換えれば、ＣＵがインターコーディングされると、ＣＵ用にＮＢＤＶが起動される。ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果（すなわち、ＮＢＤＶ導出プロセスによって導出された視差ベクトル）を使用することができる。そうではなく、ビデオコーダがＣＵをコーディングするためにインター予測を使用しない場合、ビデオコーダはＤＤＶを更新しない。
【０１６７】
[0169]本開示の技法が３Ｄ−ＨＥＶＣに対して一般化されるときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがＮＢＤＶの結果を使用してＣＵ内のＰＵをコーディングするとき、ビデオコーダは、ＮＢＤＶの結果（すなわち、ＮＢＤＶ導出プロセスによって導出された視差ベクトル）を使用してＤＤＶを更新することができる。この例では、ビデオコーダがＮＢＤＶの結果を使用しないでＰＵをコーディングするとき、ビデオコーダはＤＤＶを更新しない。言い換えれば、ＮＢＤＶの結果を使用してＣＵ内のＰＵがコーディングされると、ＤＤＶを更新するためにＮＢＤＶの結果が使用され、そうでない場合ＤＤＶは更新されない。
【０１６８】
[0170]本開示の技法が３Ｄ−ＨＥＶＣに対して一般化されるときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがスキップモードでＣＵの少なくとも１つのＰＵをコーディングするとき、ビデオコーダは、ＮＢＤＶの結果（すなわち、ＮＢＤＶ導出プロセスによって導出された視差ベクトル）を指定するために、ＤＤＶを更新することができる。言い換えれば、この例では、ＣＵ内の少なくとも１つのＰＵがスキップモードでコーディングされると、ＤＤＶを更新するためにＮＢＤＶの結果は使用されない。
【０１６９】
[0171]３Ｄ−ＨＥＶＣに対する本開示の提案された技法の一般化の別の例示的なポイントでは、ビデオコーダは、いくつかの例では、スライスごとにただ１つのＤＤＶを保持することができ、ＰＵがコーディングされるときのみ、ビデオコーダはＤＤＶを更新することができる。したがって、本開示の様々な例では、スライス用にただ１つのＤＤＶが保持され、スライスの第１のブロックがコーディングされた後にコーディングされるスライスのブロック（マクロブロック、ＣＵ、ＰＵなど）ごとにＤＤＶが１度更新される。いくつかの例では、ビデオコーダは、様々な方法でＤＤＶを更新することができる。たとえば、それぞれのＰＵをコーディングするためにビデオコーダがＮＢＤＶの結果を使用するかどうかにかかわらず、スライスがイントラコーディングされないとき、ビデオコーダは、スライスのそれぞれのＰＵごとにＮＢＤＶ導出プロセスを起動することができる。この例では、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用することができる。言い換えれば、スライスがイントラコーディングされないと、ＰＵがＮＢＤＶの結果を使用するかどうかにかかわらず、ＰＵごとにＮＢＤＶが起動される。
【０１７０】
[0172]ビデオコーダがスライスごとにただ１つのＤＤＶを保持するときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがＰＵをコーディングするためにインター予測を使用した場合、ビデオコーダは、ＮＢＤＶ導出プロセスを起動することができる。この例では、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用することができる。そうではなく、ビデオコーダがＰＵをコーディングするためにインター予測を使用しなかった場合、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用しない。言い換えれば、ＰＵがインターコーディングされると、ＰＵ用にＮＢＤＶが起動される。ＤＤＶを更新するためにＮＢＤＶの結果が使用され、そうでない場合ＤＤＶは更新されない。
【０１７１】
[0173]ビデオコーダがスライスごとにただ１つのＤＤＶを保持するときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがＮＢＤＶの結果を使用してＰＵをコーディングするとき、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用することができる。この例では、ビデオコーダがＮＢＤＶの結果を使用してＰＵをコーディングしないとき、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用しない。言い換えれば、ＮＢＤＶの結果を使用してＰＵがコーディングされると、ＤＤＶを更新するためにＮＢＤＶの結果が使用され、そうでない場合ＤＤＶは更新されない。
【０１７２】
[0174]ビデオコーダがスライスごとにただ１つのＤＤＶを保持するときビデオコーダがどのようにしてＤＤＶを更新することができるかの別の例では、ビデオコーダがＰＵをコーディングするためにスキップモードを使用するとき、ビデオコーダは、ＤＤＶを更新するためにＮＢＤＶの結果を使用することができる。言い換えれば、ＰＵがスキップモードでコーディングされると、ＤＤＶを更新するためにＮＢＤＶの結果が使用される。
【０１７３】
[0175]本開示の技法が３Ｄ−ＨＥＶＣに対して一般化されるいくつかの例では、ビデオコーダはスライスごとに１つのＤＤＶを保持することができ、ビデオコーダがＣＵをコーディングすると、またはビデオコーダがＰＵをコーディングすると、ビデオコーダはＤＤＶを更新し、ブロックの空間隣接ブロックおよび時間隣接ブロックが視差動きベクトルを有していないとき、ビデオコーダは、ブロックの視差ベクトル（すなわち、ＮＢＤＶ）を導出するためにＤＤＶを使用することができる。言い換えれば、空間隣接ブロックおよび時間隣接ブロックが視差動きベクトルを含んでいないとき、ＮＢＤＶを導出するためにＤＤＶが使用される。この場合、ビデオコーダは、ＤＤＶと等しいようにＮＢＤＶを設定することができる。その後、ビデオコーダはさらに、参照ビューの深度にアクセスすることによって、ＤＤＶとして設定されたＮＢＤＶを改良することができる。いくつかの例では、ビデオコーダは、元のＮＢＤＶ（すなわち、ブロックの改良されていない視差ベクトル）を使用して、参照ビューの深度ビューコンポーネントにアクセスすることからもたらされた、改良された視差ベクトルに等しくＤＤＶを設定することができる。
【０１７４】
[0176]さらに、本開示の技法が３Ｄ−ＡＶＣまたは３Ｄ−ＨＥＶＣのいずれかに適用されるいくつかの例では、ビデオコーダは、ＤＤＶの水平成分のみを記憶および更新することができ、ビデオコーダは、ＤＤＶの垂直成分を常に０に設定することができる。
【０１７５】
[0177]任意のビデオコーデックに対して、本開示の１つまたは複数の例示的な技法が一般化され得る。たとえば、ブロックごとに変数が導出され得る。変数は、現在ブロックを復号するために使用され、必要である。変数は、各ブロックが復号された後更新され得る。前のブロックによって更新され得るような変数は、現在ブロックを予測するために搬送される。変数は、隣接ブロックのみから予測され、（たとえば、差分コーディングを使用して）直接的または間接的にシグナリングされない。
【０１７６】
[0178]図７は、本開示の１つまたは複数の技法を実装することができる、例示的なビデオエンコーダ２０を示すブロック図である。図７の例では、ビデオエンコーダ２０は、予測処理ユニット４８と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６と、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２と、フィルタユニット６４と、参照ピクチャメモリ６６とを含む。予測処理ユニット４８は、動き推定ユニット６８（すなわち、動きおよび視差補償ユニット）と、動き補償ユニット７０（すなわち、動きおよび視差補償ユニット）と、イントラ予測処理ユニット７２とを含む。
【０１７７】
[0179]図７に示されたように、ビデオエンコーダ２０はビデオデータを受信し、データをビデオブロックに区分化する。この区分化は、スライス、タイル、または他のより大きいユニットにピクチャを区分化すること、ならびに、たとえば、ＬＣＵおよびＣＵの４分木構造に従った、またはＨＥＶＣの場合マクロブロックを区分化することによる、ビデオブロックの区分化を含む場合もある。ビデオエンコーダ２０は、概して、符号化されるべきスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割される場合がある。
【０１７８】
[0180]予測処理ユニット４８は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードもしくはビュー間コーディングモードのうちの１つなどの、複数の可能なコーディングモードのうちの１つを選択することができる。予測処理ユニット４８は、スライス内のビデオブロックのイントラコーディングとインターコーディングとを実行することができる。インターコーディング（すなわち、時間インター予測）は、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオにおける時間の冗長性を低減または除去するために、時間予測に依存する場合がある。イントラコーディング（すなわち、「イントラモード」または「Ｉモード」）（登録商標）は、いくつかの空間ベースの圧縮モードのいずれかを指す場合がある。単方向予測（すなわち、「単予測」もしくは「Ｐモード」）または双方向予測（すなわち、「双予測」もしくは「Ｂモード」）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指す場合がある。加えて、予測処理ユニット４８は、上述されたように、異なるビュー内のピクチャ間でビュー間予測を実行することができる。予測処理ユニット４８は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に供給し、参照ピクチャとして使用するための元のブロックを復元するために加算器６２に供給することができる。
【０１７９】
[0181]予測処理ユニット４８内のイントラ予測処理ユニット７２は、空間圧縮を実現するために、コーディングされるべき現在ブロックと同じフレームまたはスライス内の１つまたは複数の隣接ブロックに対して、現在ビデオブロックのイントラ予測コーディング（すなわち、イントラコーディング）を実行することができる。言い換えれば、イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間の冗長性を低減または除去するために、空間予測に依存する。予測処理ユニット４８内の動き推定ユニット６８および動き補償ユニット７０は、時間圧縮とビュー間圧縮とを実現するために、１つまたは複数の参照ピクチャおよび／または参照ビュー内の１つまたは複数の予測ブロックに対して、現在ビデオブロックのインター予測コーディングおよび／またはビュー間コーディングを実行する。
【０１８０】
[0182]予測処理ユニット４８は、ビデオシーケンス用の所定のパターンに従って、スライスのためのインター予測モードおよび／またはビュー間予測モードを決定することができる。所定のパターンは、シーケンス内のスライスをＰスライスまたはＢスライスとして指定することができる。動き推定ユニット６８および動き補償ユニット７０は、高度に統合される場合があるが、概念的な目的のために別々に示されている。動き推定ユニット６８は、動き推定および／または視差推定を実行することができる。動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成するプロセスを備える。たとえば、動きベクトルは、参照ピクチャ内の予測ブロックに対する、現在ビデオフレームまたは現在ピクチャ内の現在ブロック（たとえば、ＰＵ、ＭＢ、ＭＢパーティションなど）の変位を示すことができる。視差推定は、異なるビュー内のブロックから現在コーディングされているブロックを予測するために使用され得る、視差ベクトルを生成するプロセスである。
【０１８１】
[0183]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべき現在ブロック（たとえば、ＰＵ、ＭＢ、ＭＢパーティションなど）にぴったり一致することがわかるブロックであり得る。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６６に記憶された参照ピクチャの整数未満のピクセル位置のための値を計算することができる。参照ピクチャメモリ６６は、復号ピクチャバッファと呼ばれる場合もある。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の小数ピクセル位置の値を補間することができる。したがって、動き推定ユニット６８は、フルピクセル位置および小数ピクセル位置に対する動き探索を実行し、小数ピクセル精度で動きベクトルを出力することができる。
【０１８２】
[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]逆量子化ユニット８４は、ビットストリーム内でシグナリングされた量子化変換係数を逆量子化（inverse quantize）、すなわち逆量子化（de-quantize）するために、逆量子化プロセスを実行することができる。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、現在スライス内のビデオブロックごとにビデオエンコーダ２０によって計算された量子化パラメータの使用を含む場合がある。逆変換処理ユニット８６は、ピクセル領域内で残差ブロックを生成するために、変換係数に逆変換を適用することができる。たとえば、逆変換処理ユニット８６は、変換係数を変換するために、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを適用することができる。
【０２０７】
[0209]動き補償ユニット９２が現在ビデオブロック用の予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット８６によって生成された残差ブロックのサンプル値を、動き補償ユニット９２によって生成された予測ブロックの対応するサンプル値と加算することによって、復号ビデオブロックを形成することができる。加算器８８は、この加算演算を実行する１つまたは複数の構成要素を表す。
【０２０８】
[0210]必要な場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタリングするためにデブロッキングフィルタが適用される場合もある。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかで）他のループフィルタが使用される場合もある。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックは、その後の動き補償のために使用される参照ピクチャを記憶する、（復号ピクチャバッファと呼ばれることがある）参照ピクチャメモリ９０に記憶される。参照ピクチャメモリ９０はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での表示のために、復号ビデオデータを記憶することができる。したがって、参照ピクチャメモリ９０は、ビデオデータを記憶するメモリであり得る。
【０２０９】
[0211]図９Ａは、本開示の一例による、ビデオエンコーダ２０の例示的な動作を示すフローチャートである。他の例では、ビデオエンコーダ２０は、図９Ａの動作と同様であるが、より多いか、より少ないか、または異なるアクションを含む動作を実行することができる。たとえば、他の例では、図９Ａの１つまたは複数のアクションが省略、並べ替え、または反復される場合がある。図９Ａは図７を参照して説明される。しかしながら、図９Ａの例はそのように限定されない。
【０２１０】
[0212]図９Ａの例では、予測処理ユニット４８は、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することができる（１５２）。スライスは複数のブロックを含む。さらに、予測処理ユニット４８は、特定のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することができる（１５４）。特定のブロックはスライスのブロックのうちの１つである。さらに、予測処理ユニット４８は、スライス用のＤＤＶとして、特定のブロック用の視差ベクトル（すなわち、ＮＢＤＶ）を記憶することができる（１５６）。
【０２１１】
[0213]さらに、図９Ａの例では、ビデオエンコーダ２０は、特定のブロック用の視差ベクトルに少なくとも部分的に基づいて、特定のブロックを符号化することができる（１５８）。たとえば、ビデオエンコーダ２０は、ビュー間動き予測および／またはビュー間残差予測を実行して特定のブロックの符号化表現を生成するために、特定のブロック用のＮＢＤＶを使用することができる。いくつかの例では、ビデオエンコーダ２０は、スライスのさらなるブロックに関して図９Ａの動作を続ける。さらに、いくつかの例では、スライス用のＤＤＶとして特定のブロック（すなわち、第１のブロック）用の視差ベクトルを記憶した後、予測処理ユニット４８は、スライスの第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することができる。ビデオエンコーダ２０は、第２のブロック用の視差ベクトルに少なくとも部分的に基づいて、第２のブロックを符号化することができる。いくつかの例では、第１のブロックおよび第２のブロックはマクロブロックである。他の例では、第１のブロックおよび第２のブロックはＣＵであるか、第１のブロックおよび第２のブロックはＰＵであるか、または第１のブロックおよび第２のブロックはＬＣＵである。
【０２１２】
[0214]図９Ｂは、本開示の一例による、ビデオデコーダ３０の例示的な動作を示すフローチャートである。他の例では、ビデオデコーダ３０は、図９Ｂの動作と同様であるが、より多いか、より少ないか、または異なるアクションを含む動作を実行することができる。たとえば、他の例では、図９Ａの１つまたは複数のアクションが省略、並べ替え、または反復される場合がある。図９Ｂは図８を参照して説明される。しかしながら、図９Ｂの例はそのように限定されない。
【０２１３】
[0215]図９Ｂの例では、予測処理ユニット８２は、ビデオデータの現在ピクチャのスライス用のただ１つのＤＤＶを記憶することができる（１７２）。スライスは複数のブロックを含む。さらに、予測処理ユニット８２は、特定のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することができる（１７４）。特定のブロックはスライスのブロックのうちの１つである。さらに、予測処理ユニット８２は、スライス用のＤＤＶとして、特定のブロック用の視差ベクトル（すなわち、ＮＢＤＶ）を記憶することができる（１７６）。
【０２１４】
[0216]さらに、図９Ｂの例では、ビデオデコーダ３０は、特定のブロック用の視差ベクトル（すなわち、ＮＢＤＶ）に少なくとも部分的に基づいて、特定のブロックを復号することができる（１７８）。たとえば、ビデオデコーダ３０は、特定のブロック用のサンプルのブロックを復元するプロセスの一部として、ビュー間動き予測および／またはビュー間残差予測を実行するために、特定のブロック用の視差ベクトルを使用することができる。いくつかの例では、スライス用のＤＤＶとして特定のブロック（すなわち、第１のブロック）用の視差ベクトルを記憶した後、予測処理ユニット８２は、スライスの第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいてスライス用のＤＤＶを使用することができる。ビデオデコーダ３０は、第２のブロック用の視差ベクトルに少なくとも部分的に基づいて、第２のブロックを復号することができる。たとえば、ビデオデコーダ３０は、第２のブロック用のサンプルのブロックを復元するプロセスの一部として、ビュー間動き予測および／またはビュー間残差予測を実行するために、第２のブロック用の視差ベクトル（すなわち、ＮＢＤＶ）を使用することができる。いくつかの例では、特定のブロック（すなわち、第１のブロック）および第２のブロックはマクロブロックである。他の例では、第１のブロックおよび第２のブロックはＣＵであるか、第１のブロックおよび第２のブロックはＰＵであるか、または第１のブロックおよび第２のブロックはＬＣＵである。いくつかの例では、ビデオデコーダ３０は、スライスのさらなるブロックに関して図９Ｂの動作を続けることができる。
【０２１５】
[0217]図１０は、本開示の一例による、例示的な視差ベクトル導出動作を示すフローチャートである。他の例では、ビデオコーダは、図１０の動作と同様であるが、より多いか、より少ないか、または異なるアクションを含む動作を実行することができる。たとえば、他の例では、図１０の１つまたは複数のアクションが省略、並べ替え、または反復される場合がある。ビデオエンコーダ２０またはビデオデコーダ３０などのビデオコーダは、図１０の例示的な視差ベクトル導出動作を実行することができる。ビデオコーダは、現在ピクチャの現在スライスの現在ブロック用の視差ベクトルを決定するために、図１０の動作を実行することができる。様々な例では、現在ブロックは、マクロブロック、ＣＵ、ＰＵ、ＬＣＵ、または別のタイプのブロックもしくはビデオブロックであり得る。
【０２１６】
[0218]図１０の例では、ビデオコーダは、現在ブロック用の時間隣接ブロックを決定することができる（２００）。時間隣接ブロックは、現在ピクチャとは異なるアクセスユニット内の参照ピクチャのブロックであり得る。さらに、ビデオコーダは、時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することができる（２０２）。時間隣接ブロックが視差動きベクトルを有していることの決定に応答して（２０２の「はい」）、ビデオコーダは、時間隣接ブロックの視差動きベクトルに基づいて、現在ブロック用の視差ベクトルを設定することができる（２０４）。たとえば、ビデオコーダは、現在ブロック用の視差ベクトルの水平成分を時間隣接ブロックの視差動きベクトルの水平成分に設定することができ、現在ブロック用の視差ベクトルの垂直成分を０に等しく設定することができる。他の例では、ビデオコーダは、現在ブロック用の視差ベクトルを時間隣接ブロック用の視差動きベクトルに等しく設定することができる。
【０２１７】
[0219]一方、時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して（２０２の「いいえ」）、ビデオコーダは、空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することができる（２０６）。空間隣接ブロックは、図５の位置Ａ、Ｂ、Ｃ、またはＤのうちの１つまたは複数をカバーするブロックであり得る。空間隣接ブロックが視差動きベクトルを有していることの決定に応答して（２０６の「はい」）、ビデオコーダは、時間隣接ブロックの視差動きベクトルに基づいて、現在ブロック用の視差ベクトルを設定することができる（２０８）。たとえば、ビデオコーダは、現在ブロック用の視差ベクトルの水平成分を空間隣接ブロックの視差動きベクトルの水平成分に設定することができ、現在ブロック用の視差ベクトルの垂直成分を０に等しく設定することができる。他の例では、ビデオコーダは、現在ブロック用の視差ベクトルを空間隣接ブロック用の視差動きベクトルに等しく設定することができる。
【０２１８】
[0220]空間隣接ブロックが視差動きベクトルを有していないことの決定に応答して（２０６の「いいえ」）、ビデオコーダは、確認すべき任意の残りの空間隣接ブロックが存在するかどうかを決定することができる（２１０）。１つまたは複数の残りの空間隣接ブロックが存在することの決定に応答して（２１０の「はい」）、ビデオコーダは、別の空間隣接ブロックに関してアクション（２０６）と、適切な場合アクション（２０８）とを繰り返すことができる。このようにして、空間隣接ブロックのうちの１つが視差動きベクトルを有しているか、または確認すべき残りの空間隣接ブロックが存在しないとビデオコーダが決定するまで、ビデオコーダは、空間隣接ブロックの各々を確認することができる。確認すべき残りの空間隣接ブロックが存在しないことの決定に応答して（２１０の「いいえ」）、ビデオコーダは、ＤＤＶに基づいて現在ブロック用の視差ベクトルを設定することができる（２１２）。たとえば、ビデオコーダは、現在ブロック用の視差ベクトルをＤＤＶと等しく設定することができる。
【０２１９】
[0221]（２０４）、（２０８）、または（２１２）において視差ベクトルを設定した後、ビデオコーダは、現在ブロック用の視差ベクトルにＤＤＶを設定することができる（２１４）。このようにして、ビデオコーダは、現在スライス内の次のブロックが使用するためのＤＤＶを更新する。
【０２２０】
[0222]以下は、本開示の１つまたは複数の技法による、さらなる例である。
【０２２１】
[0223]例１．本明細書で開示された実施形態のいずれかに従ってビデオデータを符号化する方法。
【０２２２】
[0224]例２．本明細書で開示された実施形態のいずれかに従ってビデオデータを復号する方法。
【０２２３】
[0225]例３．実行されたとき、例１〜２の方法のいずれかを実施する命令を記憶したコンピュータ可読媒体。
【０２２４】
[0226]例４．例１〜２の方法のいずれかを実施するように構成されたプロセッサを備える装置。
【０２２５】
[0227]例５．スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数の導出視差ベクトル（ＤＤＶ）を記憶することと、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、スライスの現在ブロック用の隣接ブロックベース視差ベクトル（ＮＢＤＶ）を導出することと、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて現在ブロックを符号化することとを備える、ビデオデータを符号化する方法。
【０２２６】
[0228]例６．記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含み、現在ブロック用のＮＢＤＶを導出することが、現在ブロックの左側にあるブロック用の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例５の方法。
【０２２７】
[0229]例７．方法が、１つまたは複数の記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含むかどうかを決定することをさらに備え、現在ブロック用のＮＢＤＶを導出することが、１つまたは複数の記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含むことの決定に応答して、現在ブロックの左側にあるブロック用の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを決定することを備える、例５の方法。
【０２２８】
[0230]例８．１つまたは複数のＤＤＶを記憶することが、ブロックのＤＤＶの大きさが以前記憶されたＤＤＶの大きさよりも大きいことの決定に応答して、ブロック用のＤＤＶを記憶することを備える、例５の方法。
【０２２９】
[0231]例９．現在ブロック用のＮＢＤＶを導出することが、記憶されたＤＤＶ、時間隣接ブロック用の視差動きベクトル（ＴＤＶ）、および空間隣接ブロック用の視差動きベクトル（ＳＤＶ）に少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例５の方法。
【０２３０】
[0232]例１０．現在ブロック用のＮＢＤＶを導出することが、ＴＤＶまたはＳＤＶのいずれも現在ブロック用のＮＢＤＶを決定する際の使用に利用可能ではないことの決定に応答して、現在ブロック用のＮＢＤＶが記憶されたＤＤＶに等しいと決定することを備える、例９の方法。
【０２３１】
[0233]例１１．現在ブロック用のＮＢＤＶを導出することが、あらかじめ定義された順序で記憶されたＤＤＶと、ＴＤＶと、ＳＤＶとを確認しながら、記憶されたＤＤＶ、ＴＤＶ、およびＳＤＶの間から利用可能なゼロでない視差動きベクトルが識別されたとき、現在ブロック用のＮＢＤＶが利用可能なゼロでない視差ベクトルに等しいと決定することを備える、例９の方法。
【０２３２】
[0234]例１２．１つまたは複数のＤＤＶを記憶することが、スライスの２つ以上の以前コーディングされたブロックから２つ以上のＤＤＶを記憶することを備え、２つ以上の記憶されたＤＤＶが特定の順序を有し、現在ブロック用のＮＢＤＶを導出することが、あらかじめ定義された確認順序でＴＤＶと、ＳＤＶと、２つ以上の記憶されたＤＤＶとを確認しながら、ＴＤＶ、ＳＤＶ、および２つ以上の記憶されたＤＤＶの間から利用可能なゼロでない視差ベクトルが識別されたとき、現在ブロック用のＮＢＤＶが利用可能なゼロでない視差ベクトルに等しいと決定することを備え、あらかじめ定義された確認順序では、２つ以上の記憶されたＤＤＶが特定の順序に従って確認される、例５の方法。
【０２３３】
[0235]例１３．現在ブロック用のＮＢＤＶを導出することが、深度ビューコンポーネントにアクセスすることが禁止されたことの決定に応答して、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例５の方法。
【０２３４】
[0236]例１４．現在ブロック用のＮＢＤＶを導出することが、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用の最初のＮＢＤＶを決定することと、潜在的により正確な深度ブロックを識別して現在ブロック用の最初のＮＢＤＶを改良するために、現在ブロック用の最初のＮＢＤＶを使用することとを備える、例５の方法。
【０２３５】
[0237]例１５．ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、１つまたは複数の記憶されたＤＤＶを改良することをさらに備える、例５の方法。
【０２３６】
[0238]例１６．現在ブロックが、マクロブロック、予測ユニット（ＰＵ）、コーディングユニット（ＣＵ）、または最大コーディングユニット（ＬＣＵ）である、例５の方法。
【０２３７】
[0239]例１７．記憶されたＤＤＶの数が、１つのマクロブロック、コーディングユニット、または最大コーディングユニット（ＬＣＵ）内のブロックの数に比例する、例５の方法。
【０２３８】
[0240]例１８．記憶されたＤＤＶの数が、現在ブロックに関連付けられたピクチャの幅もしくは高さ、またはスライス内のブロックの数に比例しない、例５の方法。
【０２３９】
[0241]例１９．現在ブロックがＮＢＤＶの結果を使用してコーディングされるときのみ、記憶されたＤＤＶを更新することを方法がさらに備える、例５の方法。
【０２４０】
[0242]例２０．現在ブロックがインターコーディングされるときのみ、記憶されたＤＤＶを更新することをさらに備える、例５の方法。
【０２４１】
[0243]例２１．スライスがインターコーディングされるときのみ、記憶されたＤＤＶを更新することをさらに備える、例５の方法。
【０２４２】
[0244]例２２．現在ブロックがスキップ／直接モードでコーディングされるときのみ、記憶されたＤＤＶを更新することをさらに備える、例５の方法。
【０２４３】
[0245]例２３．ただ１つのＤＤＶがスライス用に保持され、コーディングユニット（ＣＵ）がコーディングされるとそのＤＤＶが更新される、例５の方法。
【０２４４】
[0246]例２４．スライスがイントラコーディングされないとき、それぞれのＣＵがＮＢＤＶを使用するかどうかにかかわらず、スライスのそれぞれのＣＵごとにＮＢＤＶを起動することと、ＤＤＶを更新するためにＮＢＤＶの結果を使用することとをさらに備える、例２３の方法。
【０２４５】
[0247]例２５．ＣＵがインターコーディングされるとき、ＮＢＤＶの結果を決定するためにＣＵ用のＮＢＤＶを起動し、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＣＵがインターコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例２３の方法。
【０２４６】
[0248]例２６．ＣＵ内の予測ユニット（ＰＵ）がＮＢＤＶの結果を使用してコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがＮＢＤＶの結果を使用してコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例２３の方法。
【０２４７】
[0249]例２７．ＣＵ内の少なくとも１つのＰＵがスキップモードでコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することをさらに備える、例２３の方法。
【０２４８】
[0250]例２８．ただ１つのＤＤＶがスライス用に保持され、ＰＵがコーディングされるとそのＤＤＶが更新される、例５の方法。
【０２４９】
[0251]例２９．スライスがイントラコーディングされないとき、それぞれのＰＵがＮＢＤＶを使用するかどうかにかかわらず、スライスのそれぞれのＰＵごとにＮＢＤＶを起動することと、ＤＤＶを更新するためにＮＢＤＶの結果を使用することとをさらに備える、例２８の方法。
【０２５０】
[0252]例３０．ＰＵがインターコーディングされるとき、ＮＢＤＶの結果を決定するためにＰＵ用のＮＢＤＶを起動し、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがインターコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例２８の方法。
【０２５１】
[0253]例３１．ＰＵがＮＢＤＶの結果を使用してコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがＮＢＤＶの結果を使用してコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例２８の方法。
【０２５２】
[0254]例３２．ＰＵがスキップモードでコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することをさらに備える、例２８の方法。
【０２５３】
[0255]例３３．空間隣接ブロックおよび時間隣接ブロックが視差動きベクトルを含んでいないとき、ＮＢＤＶを導出するためにＤＤＶを使用することをさらに備え、ＮＢＤＶがＤＤＶに等しいように設定される、例２３または例２８の方法。
【０２５４】
[0256]例３４．参照ビューの深度にアクセスすることによって、ＮＢＤＶを改良することをさらに備える、例３３の方法。
【０２５５】
[0257]例３５．ＮＢＤＶを使用して参照ビューの深度にアクセスすることによって、改良された視差ベクトルを生成することと、改良された視差ベクトルに等しいようにＤＤＶを設定することとをさらに備える、例３３の方法。
【０２５６】
[0258]例３６．１つまたは複数のＤＤＶを記憶することが、１つまたは複数のＤＤＶの水平成分のみを記憶することと、１つまたは複数のＤＤＶの垂直成分を０に等しく設定することとを備える、例５の方法。
【０２５７】
[0259]例３７．例５〜例３６の任意の組合せを備える方法。
【０２５８】
[0260]例３８．スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数の導出視差ベクトル（ＤＤＶ）を記憶することと、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、スライスの現在ブロック用の隣接ブロックベース視差ベクトル（ＮＢＤＶ）を導出することと、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて現在ブロックを復号することとを備える、ビデオデータを復号する方法。
【０２５９】
[0261]例３９．記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含み、現在ブロック用のＮＢＤＶを導出することが、現在ブロックの左側にあるブロック用の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例３８の方法。
【０２６０】
[0262]例４０．方法が、１つまたは複数の記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含むかどうかを決定することをさらに備え、現在ブロック用のＮＢＤＶを導出することが、１つまたは複数の記憶されたＤＤＶが現在ブロックの左側にあるブロック用の記憶されたＤＤＶを含むことの決定に応答して、現在ブロックの左側にあるブロック用の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを決定することを備える、例３８の方法。
【０２６１】
[0263]例４１．１つまたは複数のＤＤＶを記憶することが、ブロックのＤＤＶの大きさが以前記憶されたＤＤＶの大きさよりも大きいことの決定に応答して、ブロック用のＤＤＶを記憶することを備える、例３８の方法。
【０２６２】
[0264]例４２．現在ブロック用のＮＢＤＶを導出することが、記憶されたＤＤＶ、時間隣接ブロック用の視差動きベクトル（ＴＤＶ）、および空間隣接ブロック用の視差動きベクトル（ＳＤＶ）に少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例３８の方法。
【０２６３】
[0265]例４３．現在ブロック用のＮＢＤＶを導出することが、ＴＤＶまたはＳＤＶのいずれも現在ブロック用のＮＢＤＶを決定する際の使用に利用可能ではないことの決定に応答して、現在ブロック用のＮＢＤＶが記憶されたＤＤＶに等しいと決定することを備える、例４２の方法。
【０２６４】
[0266]例４４．現在ブロック用のＮＢＤＶを導出することが、あらかじめ定義された順序で記憶されたＤＤＶと、ＴＤＶと、ＳＤＶとを確認しながら、記憶されたＤＤＶ、ＴＤＶ、およびＳＤＶの間から利用可能なゼロでない視差動きベクトルが識別されたとき、現在ブロック用のＮＢＤＶが利用可能なゼロでない視差ベクトルに等しいと決定することを備える、例４２の方法。
【０２６５】
[0267]例４５．１つまたは複数のＤＤＶを記憶することが、スライスの２つ以上の以前コーディングされたブロックから２つ以上のＤＤＶを記憶することを備え、２つ以上の記憶されたＤＤＶが特定の順序を有し、現在ブロック用のＮＢＤＶを導出することが、あらかじめ定義された確認順序でＴＤＶと、ＳＤＶと、２つ以上の記憶されたＤＤＶとを確認しながら、ＴＤＶ、ＳＤＶ、および２つ以上の記憶されたＤＤＶの間から利用可能なゼロでない視差ベクトルが識別されたとき、現在ブロック用のＮＢＤＶが利用可能なゼロでない視差ベクトルに等しいと決定することを備え、あらかじめ定義された確認順序では、２つ以上の記憶されたＤＤＶが特定の順序に従って確認される、例３８の方法。
【０２６６】
[0268]例４６．現在ブロック用のＮＢＤＶを導出することが、深度ビューコンポーネントにアクセスすることが禁止されたことの決定に応答して、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用のＮＢＤＶを導出することを備える、例３８の方法。
【０２６７】
[0269]例４７．現在ブロック用のＮＢＤＶを導出することが、ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、現在ブロック用の最初のＮＢＤＶを決定することと、潜在的により正確な深度ブロックを識別して現在ブロック用の最初のＮＢＤＶを改良するために、現在ブロック用の最初のＮＢＤＶを使用することとを備える、例３８の方法。
【０２６８】
[0270]例４８．ベース／参照ビューの深度ビューコンポーネントにアクセスすることが許可されたとき、１つまたは複数の記憶されたＤＤＶを改良することをさらに備える、例３８の方法。
【０２６９】
[0271]例４９．現在ブロックが、マクロブロック、予測ユニット（ＰＵ）、コーディングユニット（ＣＵ）、または最大コーディングユニット（ＬＣＵ）である、例３８の方法。
【０２７０】
[0272]例５０．記憶されたＤＤＶの数が、１つのマクロブロック、コーディングユニット、または最大コーディングユニット（ＬＣＵ）内のブロックの数に比例する、例３８の方法。
【０２７１】
[0273]例５１．記憶されたＤＤＶの数が、現在ブロックに関連付けられたピクチャの幅もしくは高さ、またはスライス内のブロックの数に比例しない、例３８の方法。
【０２７２】
[0274]例５２．ただ１つのＤＤＶがスライス用に保持され、コーディングユニット（ＣＵ）がコーディングされるとそのＤＤＶが更新される、例３８の方法。
【０２７３】
[0275]例５３．スライスがイントラコーディングされないとき、それぞれのＣＵがＮＢＤＶを使用するかどうかにかかわらず、スライスのそれぞれのＣＵごとにＮＢＤＶを起動することと、ＤＤＶを更新するためにＮＢＤＶの結果を使用することとをさらに備える、例５２の方法。
【０２７４】
[0276]例５４．ＣＵがインターコーディングされるとき、ＮＢＤＶの結果を決定するためにＣＵ用のＮＢＤＶを起動し、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＣＵがインターコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例５２の方法。
【０２７５】
[0277]例５５．ＣＵ内の予測ユニット（ＰＵ）がＮＢＤＶの結果を使用してコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがＮＢＤＶの結果を使用してコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例５２の方法。
【０２７６】
[0278]例５６．ＣＵ内の少なくとも１つのＰＵがスキップモードでコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することをさらに備える、例５２の方法。
【０２７７】
[0279]例５７．ただ１つのＤＤＶがスライス用に保持され、ＰＵがコーディングされるとそのＤＤＶが更新される、例３８の方法。
【０２７８】
[0280]例５８．スライスがイントラコーディングされないとき、それぞれのＰＵがＮＢＤＶを使用するかどうかにかかわらず、スライスのそれぞれのＰＵごとにＮＢＤＶを起動することと、ＤＤＶを更新するためにＮＢＤＶの結果を使用することとをさらに備える、例５７の方法。
【０２７９】
[0281]例５９．ＰＵがインターコーディングされるとき、ＮＢＤＶの結果を決定するためにＰＵ用のＮＢＤＶを起動し、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがインターコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例５７の方法。
【０２８０】
[0282]例６０．ＰＵがＮＢＤＶの結果を使用してコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することと、ＰＵがＮＢＤＶの結果を使用してコーディングされないとき、ＤＤＶの更新を控えることとをさらに備える、例５７の方法。
【０２８１】
[0283]例６１．ＰＵがスキップモードでコーディングされるとき、ＤＤＶを更新するためにＮＢＤＶの結果を使用することをさらに備える、例５７の方法。
【０２８２】
[0284]例６２．空間隣接ブロックおよび時間隣接ブロックが視差動きベクトルを含んでいないとき、ＮＢＤＶを導出するためにＤＤＶを使用することをさらに備え、ＮＢＤＶがＤＤＶに等しいように設定される、例５２または例５７の方法。
【０２８３】
[0285]例６３．参照ビューの深度にアクセスすることによって、ＮＢＤＶを改良することをさらに備える、例６２の方法。
【０２８４】
[0286]例６４．ＮＢＤＶを使用して参照ビューの深度にアクセスすることによって、改良された視差ベクトルを生成することと、改良された視差ベクトルに等しいようにＤＤＶを設定することとをさらに備える、例６２の方法。
【０２８５】
[0287]例６５．１つまたは複数のＤＤＶを記憶することが、１つまたは複数のＤＤＶの水平成分のみを記憶することと、１つまたは複数のＤＤＶの垂直成分を０に等しく設定することとを備える、例３８の方法。
【０２８６】
[0288]例６６．例３８〜例６５の任意の組合せを備える方法。
【０２８７】
[0289]例６７．スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数の導出視差ベクトル（ＤＤＶ）を記憶するための手段と、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、スライスの現在ブロック用の隣接ブロックベース視差ベクトル（ＮＢＤＶ）を導出するための手段と、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて現在ブロックを符号化するための手段とを備える、ビデオデータを符号化するように構成された装置。
【０２８８】
[0290]例６８．例６〜例３６の方法のいずれかを実施するための手段をさらに備える、例６７の装置。
【０２８９】
[0291]例６９．スライスの１つまたは複数の以前コーディングされたブロックから１つまたは複数の導出視差ベクトル（ＤＤＶ）を記憶するための手段と、１つまたは複数の記憶されたＤＤＶに少なくとも部分的に基づいて、スライスの現在ブロック用の隣接ブロックベース視差ベクトル（ＮＢＤＶ）を導出するための手段と、現在ブロック用のＮＢＤＶに少なくとも部分的に基づいて現在ブロックを復号するための手段とを備える、ビデオデータを復号するように構成された装置。
【０２９０】
[0292]例７０．例３８〜例６５の方法のいずれかを実施するための手段をさらに備える、例６９の装置。
【０２９１】
[0293]例７１．例１〜例３６のいずれかの方法を実装するように構成された１つまたは複数のプロセッサを備える、ビデオ符号化デバイス。
【０２９２】
[0294]例７２．例３８〜例６５のいずれかの方法を実装するように構成された１つまたは複数のプロセッサを備える、ビデオ復号デバイス。
【０２９３】
[0295]例７３．ビデオ符号化装置によって実行されたとき、例１〜例３６のいずれかの方法を実施するようにビデオ符号化装置を構成する命令を記憶した、コンピュータ可読記憶媒体。
【０２９４】
[0296]例７４．ビデオ復号装置によって実行されたとき、例３８〜例６５のいずれかの方法を実施するようにビデオ符号化装置を構成する命令を記憶した、コンピュータ可読記憶媒体。
【０２９５】
[0297]例７５．１つまたは複数の隣接ブロックに基づいて、ピクチャの現在ブロック用の変数を導出することと、ここにおいて、変数はビットストリーム内で直接的または間接的にシグナリングされない、現在ブロックを復号するために変数を使用することと、現在ブロックが復号された後、変数を更新することとを備える、ビデオデータを復号するための方法。
【０２９６】
[0298]例７６．１つまたは複数の隣接ブロックに基づいて、ピクチャの現在ブロック用の変数を導出することと、ここにおいて、変数はビットストリーム内で直接的または間接的にシグナリングされない、現在ブロックを復号するために変数を使用することと、現在ブロックが復号された後、変数を更新することとを行うように構成されたビデオデコーダを備える、デバイス。
【０２９７】
[0299]例７７．１つまたは複数の隣接ブロックに基づいて、ピクチャの現在ブロック用の変数を導出するための手段と、ここにおいて、変数はビットストリーム内で直接的または間接的にシグナリングされない、現在ブロックを復号するために変数を使用するための手段と、現在ブロックが復号された後、変数を更新するための手段とを備える、デバイス。
【０２９８】
[0300]例７８．実行されたとき、１つまたは複数の隣接ブロックに基づいて、ピクチャの現在ブロック用の変数を導出することと、ここにおいて、変数はビットストリーム内で直接的または間接的にシグナリングされない、現在ブロックを復号するために変数を使用することと、現在ブロックが復号された後、変数を更新することとを行うようにビデオ復号デバイスを構成する命令を記憶した、コンピュータ可読記憶媒体。
【０２９９】
[0301]１つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装される場合がある。ソフトウェアに実装される場合、機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される場合がある。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含む場合がある。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示に記載された技法を実装するための命令、コード、および／またはデータ構造を取り出すために、１つもしくは複数のコンピュータ、または１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含む場合がある。
【０３００】
[0302]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得るし、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、任意の接続は、適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに、非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０３０１】
[0303]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行される場合がある。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび／もしくはソフトウェアモジュール内に設けられるか、または複合コーデックに組み込まれる場合がある。また、本技法は、１つまたは複数の回路または論理要素の中に完全に実装される可能性がある。
【０３０２】
[0304]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置の中に実装される場合がある。開示された技法を実施するように構成されたデバイスの機能的態様を強調するために、本開示では、様々な構成要素、モジュール、またはユニットが記載されているが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上述されたように、適切なソフトウェアおよび／またはファームウェアとともに、様々なユニットがコーデックハードウェアユニット内で組み合わせられるか、または上述されたような１つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体よって設けられる場合がある。
【０３０３】
[0305]様々な例が記載された。これらおよび他の例は、以下の特許請求の範囲内にある。
【図１】
2016513919.tif 000007
【図２】
2016513919.tif 000008
【図３】
2016513919.tif 000009
【図４】
2016513919.tif 000010
【図５】
2016513919.tif 000011
【図６】
2016513919.tif 000012
【図７】
2016513919.tif 000013
【図８】
2016513919.tif 000014
【図９Ａ】
2016513919.tif 000015
【図９Ｂ】
2016513919.tif 000016
【図１０】
2016513919.tif 000017
【手続補正書】
【提出日】平成27年11月20日(2015.11.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項２】
前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを復号することをさらに備える、請求項１に記載の方法。
【請求項３】
前記現在ブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを復号することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項３に記載の方法。
【請求項５】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項３に記載の方法。
【請求項６】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項３に記載の方法。
【請求項７】
前記ＮＢＤＶ導出プロセスを実行することが、
時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を備える、請求項１に記載の方法。
【請求項８】
前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１に記載の方法。
【請求項９】
ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することをさらに備え、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１に記載の方法。
【請求項１０】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良することと、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを符号化する方法であって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項１３】
前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを符号化することをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記現在ブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用して、第２のブロック用の視差ベクトルを決定することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを符号化することと
をさらに備える、請求項１２に記載の方法。
【請求項１５】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項１４に記載の方法。
【請求項１６】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項１４に記載の方法。
【請求項１７】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項１４に記載の方法。
【請求項１８】
前記ＮＢＤＶ導出プロセスを実行することが、
時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を備える、請求項１２に記載の方法。
【請求項１９】
前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１２に記載の方法。
【請求項２０】
ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することをさらに備え、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１２に記載の方法。
【請求項２１】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良することと、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新すること
をさらに備える、請求項１２に記載の方法。
【請求項２２】
前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１２に記載の方法。
【請求項２３】
ビデオデータを記憶するメモリと、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を行うように構成された、１つまたは複数のプロセッサとを備える、ビデオコーディングデバイス。
【請求項２４】
前記１つまたは複数のプロセッサが、前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを符号化するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２５】
前記１つまたは複数のプロセッサが、前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを復号するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２６】
前記現在ブロックが第１のブロックであり、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、前記１つまたは複数のプロセッサが、
ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用して、第２のブロック用の視差ベクトルを決定することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックをコーディングすることと
を行うように、前記１つまたは複数のプロセッサがさらに構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２７】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項２３に記載のビデオコーディングデバイス。
【請求項２８】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項２３に記載のビデオコーディングデバイス。
【請求項２９】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項２３に記載のビデオコーディングデバイス。
【請求項３０】
前記１つまたは複数のプロセッサが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を行うように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３１】
前記１つまたは複数のプロセッサが、前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記ＤＤＶを更新するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３２】
前記１つまたは複数のプロセッサが、ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成され、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、のうちの１つである、請求項２３に記載のビデオコーディングデバイス。
【請求項３３】
前記１つまたは複数のプロセッサが、深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良し、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新する
ように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３４】
前記１つまたは複数のプロセッサが、前記スライスの任意のブロック用の暗黙視差ベクトルを記憶しないように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３５】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在スライスの特定のブロックの視差ベクトルを記憶するための手段と、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定するための手段と、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶するための手段と
を備える、ビデオコーディングデバイス。
【請求項３６】
実行されたとき、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
をビデオコーディングデバイスの１つまたは複数のプロセッサに行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３０３
【補正方法】変更
【補正の内容】
【０３０３】
[0305]様々な例が記載された。これらおよび他の例は、以下の特許請求の範囲内にある。
以下に本願出願当初の特許請求の範囲を付記する。
[Ｃ１]  ビデオデータを復号する方法であって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することとを備える、方法。
[Ｃ２]  前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを復号することをさらに備える、Ｃ１に記載の方法。
[Ｃ３]  前記特定のブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを復号することとをさらに備える、Ｃ１に記載の方法。
[Ｃ４]  前記第１のブロックが、前記第２のブロックのすぐ左側にある、Ｃ３に記載の方法。
[Ｃ５]  前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、Ｃ３に記載の方法。
[Ｃ６]  前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、Ｃ３に記載の方法。
[Ｃ７]  前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用することを備える、Ｃ１に記載の方法。
[Ｃ８]  前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定することを備える、Ｃ７に記載の方法。
[Ｃ９]  前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することとを備える、Ｃ８に記載の方法。
[Ｃ１０]  前記特定のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、Ｃ１に記載の方法。
[Ｃ１１]  前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備え、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、のうちの１つである、Ｃ１に記載の方法。
[Ｃ１２]  深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良することをさらに備え、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備える、Ｃ１に記載の方法。
[Ｃ１３]  前記方法が、前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、Ｃ１に記載の方法。
[Ｃ１４]  ビデオデータを符号化する方法であって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することとを備える、方法。
[Ｃ１５]  前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを符号化することをさらに備える、Ｃ１４に記載の方法。
[Ｃ１６]  前記特定のブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを符号化することとさらに備える、Ｃ１４に記載の方法。
[Ｃ１７]  前記第１のブロックが、前記第２のブロックのすぐ左側にある、Ｃ１６に記載の方法。
[Ｃ１８]  前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、Ｃ１６に記載の方法。
[Ｃ１９]  前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、Ｃ１６に記載の方法。
[Ｃ２０]  前記特定のブロックについての前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用することを備える、Ｃ１４に記載の方法。
[Ｃ２１]  前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定することを備える、Ｃ２０に記載の方法。
[Ｃ２２]  前記ＮＢＤＶ導出プロセスにおいて前記スライス用の前記ＤＤＶを使用することが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することとを備える、Ｃ２１に記載の方法。
[Ｃ２３]  前記特定のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、Ｃ１４に記載の方法。
[Ｃ２４]  前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備え、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、のうちの１つである、Ｃ１４に記載の方法。
[Ｃ２５]  深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良することをさらに備え、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することを備える、Ｃ１４に記載の方法。
[Ｃ２６]  前記方法が、前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、Ｃ１４に記載の方法。
[Ｃ２７]  ビデオデータを記憶するメモリと、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することと
を行うように構成された、１つまたは複数のプロセッサとを備える、ビデオコーディングデバイス。
[Ｃ２８]  前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを符号化するように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ２９]  前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記特定のブロックを復号するように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３０]  前記特定のブロックが第１のブロックであり、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、後、前記１つまたは複数のプロセッサが、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックをコーディングとを行うように、前記１つまたは複数のプロセッサがさらに構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３１]  前記第１のブロックが、前記第２のブロックのすぐ左側にある、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３２]  前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３３]  前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３４]  前記１つまたは複数のプロセッサが、前記特定のブロック用の前記視差ベクトルを導出するために、前記スライス用の前記ＤＤＶと、時間隣接ブロック用の視差動きベクトルと、空間隣接ブロック用の視差動きベクトルとを使用するように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３５]  前記１つまたは複数のプロセッサが、前記時間隣接ブロックが視差動きベクトルを有していないと決定した後、および前記空間隣接ブロックが視差動きベクトルを有していないと決定した後、前記スライス用の前記ＤＤＶに等しいように前記特定のブロック用の前記視差ベクトルを設定するように構成された、Ｃ３４に記載のビデオコーディングデバイス。
[Ｃ３６]  前記１つまたは複数のプロセッサが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記特定のブロック用の前記視差ベクトルを導出することと、
前記複数の空間隣接ブロック内のいずれの空間隣接ブロックも視差動きベクトルを有していないことの決定に応答して、前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを導出することとを行うように構成された、Ｃ３５に記載のビデオコーディングデバイス。
[Ｃ３７]  前記１つまたは複数のプロセッサが、前記第１のブロックの後にコーディングされる前記スライスのブロックごとに１度、前記ＤＤＶを更新するように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３８]  前記１つまたは複数のプロセッサが、ある条件が満足されたことに応答して、前記特定のブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成され、前記条件が、
前記特定のブロックがビュー間動き予測を使用してコーディングされること、
前記特定のブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記特定のブロックがスキップモードまたは直接モードでコーディングされること、
前記特定のブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、および
前記スライス用の前記ＤＤＶがゼロではないこと、のうちの１つである、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ３９]  前記１つまたは複数のプロセッサが、深度ビューコンポーネント内の深度ピクセルに基づいて、前記特定のブロック用の前記視差ベクトルを改良するように構成され、
前記１つまたは複数のプロセッサが、前記特定のブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ４０]  前記１つまたは複数のプロセッサが、前記スライスの任意のブロック用の暗黙視差ベクトルを記憶しないように構成された、Ｃ２７に記載のビデオコーディングデバイス。
[Ｃ４１]  ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、
前記ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶するための手段と、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用するための手段と、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶するための手段とを備える、ビデオコーディングデバイス。
[Ｃ４２]  実行されたとき、
ビデオデータの現在ピクチャのスライス用のただ１つの導出視差ベクトル（ＤＤＶ）を記憶することと、ここにおいて、前記スライスは複数のブロックを含む、
特定のブロック用の視差ベクトルを決定するために、隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記特定のブロックは前記スライスの前記ブロックのうちの１つである、
前記スライス用の前記ＤＤＶとして、前記特定のブロック用の前記視差ベクトルを記憶することとをビデオコーディングデバイスの１つまたは複数のプロセッサに行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【手続補正書】
【提出日】平成27年11月24日(2015.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項２】
前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを復号することをさらに備える、請求項１に記載の方法。
【請求項３】
前記現在ブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
第２のブロック用の視差ベクトルを決定するために、ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを復号することと
をさらに備える、請求項１に記載の方法。
【請求項４】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項３に記載の方法。
【請求項５】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項３に記載の方法。
【請求項６】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項３に記載の方法。
【請求項７】
前記ＮＢＤＶ導出プロセスを実行することが、
時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を備える、請求項１に記載の方法。
【請求項８】
前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１に記載の方法。
【請求項９】
ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することをさらに備え、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１に記載の方法。
【請求項１０】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良することと、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することと
をさらに備える、請求項１に記載の方法。
【請求項１１】
前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを符号化する方法であって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を備える、方法。
【請求項１３】
前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを符号化することをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記現在ブロックが第１のブロックであり、前記方法が、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、
ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用して、第２のブロック用の視差ベクトルを決定することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックを符号化することと
をさらに備える、請求項１２に記載の方法。
【請求項１５】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項１４に記載の方法。
【請求項１６】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項１４に記載の方法。
【請求項１７】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項１４に記載の方法。
【請求項１８】
前記ＮＢＤＶ導出プロセスを実行することが、
時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を備える、請求項１２に記載の方法。
【請求項１９】
前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記スライス用の前記ＤＤＶを更新することをさらに備える、請求項１２に記載の方法。
【請求項２０】
ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新することをさらに備え、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、
のうちの１つである、請求項１２に記載の方法。
【請求項２１】
深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良することと、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新すること
をさらに備える、請求項１２に記載の方法。
【請求項２２】
前記スライスの前記ブロックのいずれか用の暗黙視差ベクトルを記憶しないことをさらに備える、請求項１２に記載の方法。
【請求項２３】
ビデオデータを記憶するメモリと、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
を行うように構成された、１つまたは複数のプロセッサとを備える、ビデオコーディングデバイス。
【請求項２４】
前記１つまたは複数のプロセッサが、前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを符号化するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２５】
前記１つまたは複数のプロセッサが、前記現在ブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記現在ブロックを復号するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２６】
前記現在ブロックが第１のブロックであり、前記スライス用の前記ＤＤＶとして、前記第１のブロック用の前記視差ベクトルを記憶した後、前記１つまたは複数のプロセッサが、
ＮＢＤＶ導出プロセスにおいて、前記スライス用の前記ＤＤＶを使用して、第２のブロック用の視差ベクトルを決定することと、ここにおいて、前記第２のブロックは前記スライスの前記ブロックのうちの１つである、
前記第２のブロック用の前記視差ベクトルに少なくとも部分的に基づいて、前記第２のブロックをコーディングすることと
を行うように、前記１つまたは複数のプロセッサがさらに構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項２７】
前記第１のブロックが、前記第２のブロックのすぐ左側にある、請求項２３に記載のビデオコーディングデバイス。
【請求項２８】
前記第１のブロックがマクロブロックであり、前記第２のブロックがマクロブロックである、請求項２３に記載のビデオコーディングデバイス。
【請求項２９】
前記第１のブロックおよび前記第２のブロックがコーディングユニット（ＣＵ）であるか、前記第１のブロックおよび前記第２のブロックが予測ユニット（ＰＵ）であるか、または前記第１のブロックおよび前記第２のブロックが最大コーディングユニット（ＬＣＵ）である、請求項２３に記載のビデオコーディングデバイス。
【請求項３０】
前記１つまたは複数のプロセッサが、
前記時間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
時間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記時間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
前記時間隣接ブロックが視差動きベクトルを有していないことの決定に応答して、複数の空間隣接ブロック内の任意の空間隣接ブロックが視差動きベクトルを有しているかどうかを決定することと、
前記複数の空間隣接ブロック内の特定の空間隣接ブロックが視差動きベクトルを有していることの決定に応答して、前記特定の空間隣接ブロックの前記視差動きベクトルに基づいて、前記現在ブロック用の前記視差ベクトルを導出することと、
を行うように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３１】
前記１つまたは複数のプロセッサが、前記現在ブロックの後にコーディングされる前記スライスのブロックごとに１度、前記ＤＤＶを更新するように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３２】
前記１つまたは複数のプロセッサが、ある条件が満足されたことに応答して、前記現在ブロック用の前記視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新するように構成され、前記条件が、
前記現在ブロックがビュー間動き予測を使用してコーディングされること、
前記現在ブロックがインターコーディングされること、
前記スライスがインターコーディングされること、
前記現在ブロックがスキップモードまたは直接モードでコーディングされること、
前記現在ブロック用の前記視差ベクトルの大きさが、前記スライス用の前記ＤＤＶの大きさよりも大きいこと、または
前記スライス用の前記ＤＤＶがゼロではないこと、のうちの１つである、請求項２３に記載のビデオコーディングデバイス。
【請求項３３】
前記１つまたは複数のプロセッサが、深度ビューコンポーネント内の深度ピクセルに基づいて、前記現在ブロック用の前記視差ベクトルを改良し、
前記現在ブロック用の前記改良された視差ベクトルを指定するために、前記スライス用の前記ＤＤＶを更新する
ように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３４】
前記１つまたは複数のプロセッサが、前記スライスの任意のブロック用の暗黙視差ベクトルを記憶しないように構成された、請求項２３に記載のビデオコーディングデバイス。
【請求項３５】
ビデオデータをコーディングするように構成されたビデオコーディングデバイスであって、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在スライスの特定のブロックの視差ベクトルを記憶するための手段と、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定するための手段と、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶するための手段と
を備える、ビデオコーディングデバイス。
【請求項３６】
実行されたとき、
スライス用の導出視差ベクトル（ＤＤＶ）として、前記ビデオデータの現在ピクチャの前記スライスの特定のブロックの視差ベクトルを記憶することと、ここにおいて、前記スライスは複数のブロックを含み、前記スライス用にはただ１つのＤＤＶがあり、
隣接ブロックベース視差ベクトル（ＮＢＤＶ）導出プロセスを実行することによって、現在ブロック用の視差ベクトルを決定することと、ここにおいて、前記現在ブロックは前記スライスの前記ブロックのうちの１つであり、ここにおいて、前記ＮＢＤＶ導出プロセスを実行することは、前記ＮＢＤＶ導出プロセスが、時間隣接ブロックからまたは空間隣接ブロックからいずれの利用可能な視差動きベクトルも識別しない場合、現在ブロック用の前記視差ベクトルを前記スライス用の前記ＤＤＶに設定することを備え、
前記スライス用の前記ＤＤＶとして、前記現在ブロック用の前記視差ベクトルを記憶することと
をビデオコーディングデバイスの１つまたは複数のプロセッサに行わせる命令を記憶した、非一時的コンピュータ可読媒体。
【請求項３７】
前記デバイスは、
集積回路、
マイクロプロセッサ、
ワイヤレス通信デバイス、
のうちの少なくとも１つを備える、
請求項２３に記載のビデオコーディングデバイス。
【請求項３８】
前記で復号されたビデオデータを表示するように構成されたディスプレイをさらに備える、
請求項２３に記載のビデオコーディングデバイス。
【請求項３９】
前記ビデオデータをキャプチャするように構成されたカメラをさらに備える、
請求項２３に記載のビデオコーディングデバイス。
【国際調査報告】
2016513919.tif 000018
2016513919.tif 000019