(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記方法は、ビデオデータのブロックに対応する残差データを受信することを備え、
ビデオデータの前記ブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、
ビデオデータの前記ブロックが、コーディングユニットの予測ユニットであり、
前記方法は、
ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、
前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、
前記残差データと前記合成されたそれぞれの参照ブロックとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを復号することと
を備える、方法。
【請求項２】
前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を受信することと、
ＢＶＳＰ候補を指すマージ候補インデックスを受信することと
をさらに備える、請求項１に記載の方法。
【請求項３】
前記サブブロックの各々に関する前記それぞれの視差動きベクトルを導出することは、  ビデオデータの前記ブロックに関する視差ベクトルを導出することと、
前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、
前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することと
を備える、請求項１に記載の方法。
【請求項４】
ビデオデータの前記ブロックはビデオデータの第１のブロックであり、
前記方法は、ビデオデータの第２のブロックに対応する残差データを受信することをさらに備え、
ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し、
前記方法は、
ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、
前記残差データと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを復号することと
をさらに備える、請求項１に記載の方法。
【請求項５】
動き補償を実行することは、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行することを備える、請求項４に記載の方法。
【請求項６】
ビデオデータの前記ブロックはビデオデータの第１のブロックであり、
前記方法は、ビデオデータの第２のブロックに対応する残差データを受信することをさらに備え、
ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、サイズ１６×１２または１２×１６を有し、
前記方法は、
ビデオデータの前記第２のブロックを複数のサブブロックに分割することと、
単方向インター予測を用いて、前記複数のサブブロックの各々を復号することと
をさらに備える、請求項１に記載の方法。
【請求項７】
ビデオデータを符号化する方法であって、
前記方法は、非対称動き分割を使用して、ビデオデータのブロックを生成することを備え、
ビデオデータの前記ブロックが、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、
ビデオデータの前記ブロックが、コーディングユニットの予測ユニットであり、
前記方法は、
ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、
前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、
前記合成されたそれぞれの参照ブロックを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを符号化することと
を備える、方法。
【請求項８】
前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を生成することと、
ＢＶＳＰ候補を指すマージ候補インデックスを生成することと
をさらに備える、請求項７に記載の方法。
【請求項９】
前記サブブロックの各々に関する前記それぞれの視差動きベクトルを導出することは、
ビデオデータの前記ブロックに関する視差ベクトルを導出することと、
前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、
前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することと
を備える、請求項７に記載の方法。
【請求項１０】
ビデオデータの前記ブロックはビデオデータの第１のブロックであり、
前記方法は、非対称動き分割を使用して、ビデオデータの第２のブロックを生成することを備え、
ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し、
前記方法は、
ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、
前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを符号化することと
をさらに備える、請求項７に記載の方法。
【請求項１１】
動き補償を実行することは、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行することを備える、請求項１０に記載の方法。
【請求項１２】
ビデオデータを復号するように構成された装置であって、
前記装置は、
ビデオデータのブロックに対応する情報を記憶するように構成されたビデオメモリと、
１つまたは複数のプロセッサとを備え、
前記１つまたは複数のプロセッサは、ビデオデータの前記ブロックに対応する残差データを受信することを行うように構成され、
ビデオデータの前記ブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、
ビデオデータの前記ブロックが、コーディングユニットの予測ユニットであり、
前記１つまたは複数のプロセッサは、
ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックのサブブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、
前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、
前記残差データと、前記合成されたそれぞれの参照ブロックとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを復号することと
を行うように構成された、
装置。
【請求項１３】
前記１つまたは複数のプロセッサは、
前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を受信することと、
ＢＶＳＰ候補を指すマージ候補インデックスを受信することと
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサは、
ビデオデータの前記ブロックに関する視差ベクトルを導出することと、
前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、
前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することと
を行うようにさらに構成される、請求項１２に記載の装置。
【請求項１５】
ビデオデータの前記ブロックはビデオデータの第１のブロックであり、
前記１つまたは複数のプロセッサは、ビデオデータの第２のブロックに対応する残差データを受信することを行うようにさらに構成され、
ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し
前記１つまたは複数のプロセッサは、
ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、
１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、
前記残差データと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを復号することと
を行うようにさらに構成される、請求項１２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、それら両方の内容全体が参照により本明細書に組み込まれる、２０１３年９月１３日に出願された米国仮出願第６１／８７７，７９３号、および２０１３年９月２３日に出願された米国仮出願第６１／８８１，３８３号の利益を主張する。
【０００２】
[0002]本開示はビデオコーディング、すなわち、ビデオデータの符号化または復号に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタル直接ブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲーム機、セルラー電話機もしくは衛星無線電話機、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および類似物を含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）標準規格、およびそのような標準規格の拡張によって定められた規格に記載されたものなどのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および／または記憶することができる。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減もしくは除去するための空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードと呼ばれることもあるビデオブロックに分割され得る。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ中の隣接ブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するためにエントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、いくつかの例では、奥行きコーディング技法を含む、高度コーデックに基づく３次元（３Ｄ）ビデオコーディングに関する。本開示は、非対称動き分割とともに使用されるときの、ブロックサイズの決定を含む、ビュー合成予測コーディング（view synthesis prediction coding）について説明する。本開示はまた、非対称動き分割とともに使用されるときの、高度動き予測のための技法について説明する。
【０００７】
[0007]本開示の一例では、ビデオデータを復号する方法は、ビデオデータのブロックに対応する残差データを受信することと、ここにおいて、ビデオデータのブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ：backward view synthesis prediction）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有する、ビデオデータのブロックを各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ（depth picture）中の対応する奥行きブロックからサブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、それぞれの導出された視差動きベクトルを使用して、サブブロックの各々に関するそれぞれの参照ブロックを合成することと、残差データと、合成されたそれぞれの参照ブロックとを使用して、サブブロックの各々に関して動き補償を実行することによって、ビデオデータのブロックを復号することとを備える。
【０００８】
[0008]本開示の別の例では、ビデオデータを符号化する方法は、非対称動き分割を使用して、ビデオデータのブロックを生成することと、ここにおいて、ビデオデータのブロックが、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有する、ビデオデータのブロックを各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックからサブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、それぞれの導出された視差動きベクトルを使用して、サブブロックの各々に関するそれぞれの参照ブロックを合成することと、合成されたそれぞれの参照ブロックを使用して、サブブロックの各々に関して動き補償を実行することによって、ビデオデータのブロックを符号化することとを備える。
【０００９】
[0009]本開示の別の例では、ビデオデータを復号するように構成された装置は、ビデオデータのブロックに対応する情報を記憶するように構成されたビデオメモリと、ビデオデータのブロックに対応する残差データを受信することと、ここにおいて、ビデオデータのブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向に予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有する、ビデオデータのブロックを各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックからサブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、それぞれの導出された視差動きベクトルを使用して、サブブロックの各々に関するそれぞれの参照ブロックを合成することと、残差データと、合成されたそれぞれの参照ブロックとを使用して、サブブロックの各々に関して動き補償を実行することによって、ビデオデータのブロックを復号することとを行うように構成された１つまたは複数のプロセッサとを備える。
【００１０】
[0010]本開示の別の例では、ビデオデータを復号するように構成された装置は、ビデオデータのブロックに対応する残差データを受信するための手段と、ここにおいて、ビデオデータのブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有する、ビデオデータのブロックを各々が８×４または４×８のサイズを有するサブブロックに分割するための手段と、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックからサブブロックの各々に関するそれぞれの視差動きベクトルを導出するための手段と、それぞれの導出された視差動きベクトルを使用して、サブブロックの各々に関するそれぞれの参照ブロックを合成するための手段と、残差データと、合成されたそれぞれの参照ブロックとを使用して、サブブロックの各々に関して動き補償を実行することによって、ビデオデータのブロックを復号するための手段とを備える。
【００１１】
[0011]本開示の１つまたは複数の例の詳細は、添付図面および下記の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】[0012]本開示のインター予測技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]マルチビュービデオのための例示的な復号順序を示す概念図。
【図３】[0014]マルチビュービデオのための例示的な予測構造を示す概念図。
【図４】[0015]３Ｄビデオのためのテクスチャおよび奥行き値を示す概念図。
【図５】[0016]例示的な分割タイプを示す概念図。
【図６】[0017]マージモード動きベクトル候補を示す概念図。
【図７】[0018]マージ候補（merge candidate）インデックスの例示的な仕様を示す表。
【図８】[0019]例示的な視差ベクトル導出プロセスのために使用される隣接ブロックを示す概念図。
【図９】[0020]隣接ブロック視差ベクトル導出プロセスを示す概念図。
【図１０】[0021]８×８奥行きブロックの４つのコーナーピクセルを示す概念図。
【図１１】[0022]マージ／スキップモードのための例示的なビュー間予測動きベクトル候補の例示的な導出を示す概念図。
【図１２】[0023]３Ｄ−ＨＥＶＣにおける参照インデックスの例示的な仕様を示す表。
【図１３】[0024]奥行きコーディングのための動きベクトル継承候補の例示的な導出を示す概念図。
【図１４】[0025]マルチビュービデオコーディングにおける高度残差予測（ＡＲＰ：advanced residual prediction）の予測構造を示す図。
【図１５】[0026]現在ブロック、参照ブロック、および動き補償ブロックの間の例示的な関係を示す概念図。
【図１６】[0027]サブ予測ユニットビュー間動き予測を示す概念図。
【図１７】[0028]非対称動き分割を使用するときの、本開示の後方ビュー合成予測技法および動き補償技法を示す概念図。
【図１８】[0029]４×１６および１６×４の非対称動き分割サイズに関する動きベクトル継承技法および動き補償技法を示す概念図。
【図１９】[0030]本開示のインター予測技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図２０】[0031]本開示のインター予測技法を実装し得るビデオデコーダの一例を示すブロック図。
【図２１】[0032]本開示の例示的な符号化方法を示すフローチャート。
【図２２】[0033]本開示の別の例示的な符号化方法を示すフローチャート。
【図２３】[0034]本開示の別の例示的な符号化方法を示すフローチャート。
【図２４】[0035]本開示の例示的な復号方法を示すフローチャート。
【図２５】[0036]本開示の例示的な復号方法を示すフローチャート。
【図２６】[0037]本開示の例示的な復号方法を示すフローチャート。
【発明を実施するための形態】
【００１３】
[0038]概して、本開示は、３Ｄ−ＨＥＶＣ（高効率ビデオコーディング）コーデックを使用する、奥行きブロックに沿った１つまたは複数のビューのコーディングを含む、高度コーデックに基づく３Ｄビデオコーディングに関する技法について説明する。具体的には、本開示は、非対称動き分割技法を使用して分割された予測ユニット（ＰＵ）をより小さなサブブロックをさらに分割するための技法について説明する。本開示の技法は、非対称動き分割を使用して分割されたＰＵのサブブロックに関する動きベクトルおよび視差動きベクトルを導出ならびに／または継承するための技法を含む。
【００１４】
[0039]図１は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを提供し得る。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信に対応する場合がある。
【００１５】
[0040]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信することができる。コンピュータ可読媒体１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することができる、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が宛先デバイス１４に直接的にリアルタイムで、符号化ビデオデータを送信することを可能にする通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信標準規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、ラジオ周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線など、任意のワイヤレス通信媒体あるいは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするのに有用とすることのできる、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００１６】
[0041]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、ストレージデバイスから入力インターフェースによってアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶することができるファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶でき、符号化ビデオデータを宛先デバイス１４に送信できる、任意のタイプのサーバとすることができる。例示的なファイルサーバは、ウェブサーバ（たとえば、ウェブサイト用の）、ＦＴＰサーバ、ネットワークアタッチドストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、任意の標準データ接続を介して、符号化ビデオデータにアクセスすることができる。これは、ファイルサーバ上に記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその組合せとすることができる。
【００１７】
[0042]本開示の技法は、ワイヤレス応用またはワイヤレス設定に必ずしも限定されない。本技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ＨＴＴＰ上の動的適応ストリーミング（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオ放送、および／またはビデオ電話などの応用をサポートするために一方向もしくは両方向のビデオ送信をサポートするように構成され得る。
【００１８】
[0043]図１の例では、ソースデバイス１２は、ビデオソース１８と、奥行き推定ユニット１９と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、奥行き画像ベースのレンダリング（ＤＩＢＲ：depth image based rendering）ユニット３１と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信することができる。同様に、宛先デバイス１４は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてもよい。
【００１９】
[0044]図１の例示されたシステム１０は、一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、もしくはビデオ電話のためのビデオデバイス１２とビデオデバイス１４の間の一方向または双方向のビデオ送信をサポートし得る。
【００２０】
[0045]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成することができる。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、上で言及されたように、本開示で説明する技法は、一般に、ビデオコーディングに適用可能であり得、ワイヤレスおよび／または有線の用途に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化ビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【００２１】
[0046]ビデオソース１８は、ビデオエンコーダ２０にビデオデータの１つまたは複数のビューを提供し得る。たとえば、ビデオソース１８は、各々が、撮影されている特定のシーンに対して一意の水平位置を有する、カメラのアレイに対応し得る。代替的に、ビデオソース１８は、たとえばコンピュータグラフィックスを使用して、異なる水平カメラの視点からビデオデータを生成することができる。奥行き推定ユニット１９は、テクスチャ画像内のピクセルに対応する奥行きピクセルに関する値を決定するように構成され得る。たとえば、奥行き推定ユニット１９は、音響航法／測距（ＳＯＮＡＲ：Sound Navigation and Ranging）ユニット、光検出／測距（ＬＩＤＡＲ：Light Detection and Ranging）ユニット、またはシーンのビデオデータを記録しながら実質的に同時に奥行き値を直接決定することが可能な他のユニットを表し得る。
【００２２】
[0047]追加または代替として、奥行き推定ユニット１９は、異なる水平カメラ視点から実質的に同時にキャプチャされた２つ以上の画像を比較することによって、間接的に奥行き値を計算するように構成され得る。画像内の実質的に同様のピクセル値の間の水平視差を計算することによって、奥行き推定ユニット１９は、シーン内の様々なオブジェクトの奥行きを概算することができる。奥行き推定ユニット１９は、いくつかの例では、ビデオソース１８と機能的に統合され得る。たとえば、ビデオソース１８がコンピュータグラフィックス画像を生成するとき、奥行き推定ユニット１９は、たとえば、ピクセルのｚ座標と、テクスチャ画像をレンダリングするために使用されたオブジェクトとを使用して、グラフィカルオブジェクトに関する実際の奥行きマップを提供することができる。
【００２３】
[0048]コンピュータ可読媒体１６は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイス１２から符号化ビデオデータを受信し、宛先デバイス１４に符号化ビデオデータを提供することができる。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成することができる。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００２４】
[0049]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性ならびに／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、ユーザに復号ビデオデータを表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。いくつかの例では、ディスプレイデバイス３２は、たとえば、閲覧者のための３Ｄ視覚効果を生成するために、同時にまたは実質的に同時に２つ以上のビューを表示することが可能なデバイスを備え得る。
【００２５】
[0050]宛先デバイス１４のＤＩＢＲユニット３１は、ビデオデコーダ３０から受信された復号ビューのテクスチャ情報および奥行き情報を使用して、合成されたビューをレンダリングすることができる。たとえば、ＤＩＢＲユニット３１は、対応する奥行きマップ中のピクセルの値に応じて、テクスチャ画像のピクセルデータに関する水平視差を決定することができる。ＤＩＢＲユニット３１は、次いで、決定された水平視差によって、テクスチャ画像中のピクセルを左または右にオフセットすることによって、合成された画像を生成することができる。このようにして、ディスプレイデバイス３２は、１つもしくは複数のビューを表示することができ、１つもしくは複数のビューは、任意の組合せにおける、復号されたビューおよび／または合成されたビューに対応し得る。本開示の技法によれば、ビデオデコーダ３０は、奥行き範囲およびカメラパラメータに関する元の精度値と更新された精度値とを、ＤＩＢＲユニット３１に提供することができ、ＤＩＢＲユニット３１は、ビューを適切に合成するために、奥行き範囲とカメラパラメータとを使用することができる。
【００２６】
[0051]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００２７】
[0052]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアに対する命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するために、１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行することができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つもしくは複数のエンコーダまたはデコーダに含まれ得、そのいずれかは、組み合わされたエンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイスに統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話機などのワイヤレス通信デバイスを備え得る。
【００２８】
[0053]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などの、ビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格もしくは業界規格、またはＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのＭＶＣ拡張など、そのような規格の拡張に従って動作し得る。ＭＶＣの最新のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されている。具体的には、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ規格（たとえば、３Ｄ−ＨＥＶＣ）の３Ｄ拡張を含む、３Ｄおよび／またはマルチビューコーディング規格に従って動作し得る。
【００２９】
[0054]「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  １０」または「ＷＤ１０」と呼ばれるＨＥＶＣ規格の一ドラフトは、文書ＪＣＴＶＣ−Ｌ１００３ｖ３４、Ｂｒｏｓｓら、「（ＦＤＩＳ  ＆  Ｌａｓｔ  Ｃａｌｌに対して）Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のビデオコーディング共同研究部会（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会合：スイス、ジュネーブ、２０１３年１月１４日〜２３日に記載されており、この文書は、２０１４年８月２２日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐからダウンロード可能である。
【００３０】
[0055]ＨＥＶＣ規格の別のドラフトは、本明細書で、Ｂｒｏｓｓら、「Ｅｄｉｔｏｒｓ’  ｐｒｏｐｏｓｅｄ  ｃｏｒｒｅｃｔｉｏｎｓ  ｔｏ  ＨＥＶＣ  ｖｅｒｓｉｏｎ  １」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１３回会合、韓国、仁川、２０１３年４月に記載された「ＷＤ１０改訂版」と呼ばれ、この文書は２０１４年８月２２日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１３＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴＶＣ−Ｍ０４３２−ｖ３．ｚｉｐから入手可能である。また、ＨＥＶＣに対するマルチビュー拡張、すなわちＭＶ−ＨＥＶＣがＪＣＴ−３Ｖによって開発されている。
【００３１】
[0056]現在、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディング共同研究部会（ＪＣＴ−３Ｃ：Joint Collaboration Team on 3D Video Coding）は、ＨＥＶＣに基づく３ＤＶ規格を開発中であり、そのために、規格化作業の一部は、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）と、ＨＥＶＣに基づく３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）のための別の部分との規格化を含む。ＭＶ−ＨＥＶＣでは、ＨＥＶＣにおけるコーディングユニット／予測ユニットレベルにおけるモジュールが再設計される必要がなく、ＭＶ−ＨＥＶＣに完全に再使用され得ないように、ＭＶ−ＨＥＶＣにおいてハイレベルシンタックス（ＨＬＳ）の変更しか存在しないことが保証されるべきである。３Ｄ−ＨＥＶＣでは、コーディングユニット／予測ユニットレベルのコーディングツールを含む新たなコーディングツールが、テクスチャビューと奥行きビューの両方に関して含められ、サポートされ得る。
【００３２】
[0057]３Ｄ−ＨＥＶＣ用の１つのバージョンのソフトウェア３Ｄ−ＨＴＭが以下のリンクからダウンロードされ得る。［３Ｄ−ＨＴＭバージョン８．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−８．０／。３Ｄ−ＨＥＶＣの１つのワーキングドラフト（文書番号：Ｅ１００１）は以下から利用可能である。ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１３６１。最新のソフトウェア記述（文書番号Ｅ１００５）は以下から利用可能である。ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１３６０。
【００３３】
[0058]３Ｄ−ＨＥＶＣ用の最近のソフトウェア３Ｄ−ＨＴＭは、以下のリンクからダウンロード可能である。［３Ｄ−ＨＴＭバージョン１２．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−１２．０／。３Ｄ−ＨＥＶＣ（文書番号Ｉ１００１）の対応するワーキングドラフトは以下から利用可能である。ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝２２９９。最新のソフトウェア記述（文書番号Ｉ１００５）は以下から利用可能である。ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝２３０１。
【００３４】
[0059]最初に、ＨＥＶＣの例示的なコーディング技法について説明する。ＨＥＶＣ規格化の取組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づいていた。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対して、ビデオコーディングデバイスのいくつかの追加の能力を仮定した。たとえば、Ｈ．２６４は９個のイントラ予測符号化モードを提供するが、ＨＭは３３個もの角度イントラ予測符号化モードプラスＤＣモードと平面モードとを提供することができる。
【００３５】
[0060]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは、一般に、一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、ＳL、ＳCbおよびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれる場合もある。他の例では、ピクチャは、モノクロームであり得るし、ルーマサンプルのアレイのみを含む場合がある。
【００３６】
[0061]ピクチャの符号化表現を生成するために、ビデオエンコーダ２０は、コーディングツリーユニット（ＣＴＵ）のセットを生成することができる。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎブロックであり得る。ＣＴＵは、「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）と呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズには限定されず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。スライスは、ラスタ走査順序で連続的に順序付けられた整数個のＣＴＵを含み得る。
【００３７】
[0062]コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、コーディングツリーブロックをコーディングブロックに分割するように、ＣＴＵのコーディングツリーブロックに対して４分木分割を再帰的に実行することができ、したがって「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのＮ×Ｎブロックである。コーディングユニット（ＣＵ）は、ルーマサンプルアレイと、Ｃｂサンプルアレイと、Ｃｒサンプルアレイとを有するピクチャの、ルーマサンプルのコーディングブロックと、クロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００３８】
[0063]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに分割することができる。予測ブロックは、同じ予測が適用されるサンプルの方形（すなわち、正方形または非正方形）ブロックである。ＣＵの予測ユニット（ＰＵ）は、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックに関する予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成することができる。
【００３９】
[0064]ビデオエンコーダ２０は、ＰＵに関する予測ブロックを生成するためにイントラ予測またはインター予測を使用することができる。ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。各ＰＵのルーマ成分に関するＨＥＶＣのいくつかのバージョンでは、（２から３４までインデックス付けされた）３３個の角度予測モードと、（１とインデックス付けされた）ＤＣモードと、（０とインデックス付けされた）平面モードとを有するイントラ予測方法が利用される。
【００４０】
[0065]ビデオエンコーダ２０がＰＵの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成することができる。インター予測は、単方向インター予測（すなわち、単予測もしくは単予測的予測（predictive prediction））または双方向インター予測（すなわち、双予測もしくは双予測的予測）であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在スライスに対して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成することができる。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照ロケーションを決定するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索することができる。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵに関する予測サンプルブロックを生成することができる。さらに、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示す単一の動きベクトルを生成することができる。ＰＵの予測ブロックと参照ロケーションとの間の空間変位を示すために、動きベクトルは、ＰＵの予測ブロックと参照ロケーションとの間の水平変位を指定する水平成分を含み得、ＰＵの予測ブロックと参照ロケーションとの間の垂直変位を指定する垂直成分を含み得る。
【００４１】
[0066]ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照ロケーションと、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照ロケーションとを決定することができる。ビデオエンコーダ２０は、次いで、第１の参照ロケーションおよび第２の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測ブロックを生成することができる。さらに、ＰＵを符号化するために双予測を使用するとき、ビデオエンコーダ２０は、ＰＵのサンプルブロックと第１の参照ロケーションとの間の空間変位を示す第１の動きベクトルと、ＰＵの予測ブロックと第２の参照ロケーションとの間の空間変位を示す第２の動きベクトルとを生成することができる。
【００４２】
[0067]一般に、Ｂピクチャの第１の参照ピクチャリストまたは第２の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）に関する参照ピクチャリスト構築は、２つのステップ、すなわち、参照ピクチャリスト初期化と、参照ピクチャリスト並べ替え（修正）とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ（復号ピクチャバッファとしても知られる）中の参照ピクチャを、ＰＯＣ（ピクチャの表示順で整列されるピクチャオーダーカウント）値の順序に基づいてリストに入れる明示的機構である。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリスト中に置かれたピクチャの位置を任意の新しい位置に修正すること、または参照ピクチャメモリ中の任意の参照ピクチャが初期化リストに属していない場合でもそのピクチャを任意の位置に置くことができる。参照ピクチャリスト並べ替え（修正）後のいくつかのピクチャは、リスト中のはるかに離れた位置に入れられる場合がある。ただし、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終的な参照ピクチャリストのエントリーとは見なされない。アクティブ参照ピクチャの数は、リストごとにスライスヘッダにおいてシグナリングされ得る。
【００４３】
[0068]参照ピクチャリスト（すなわち、利用可能な場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が構築された後、参照ピクチャリストに対する参照インデックスは、参照ピクチャリスト中に含まれる任意の参照ピクチャを識別するために使用され得る。
【００４４】
[0069]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵに関する、予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵに関するルーマ残差ブロックを生成し得る。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックの１つの中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。加えて、ビデオエンコーダ２０は、ＣＵに関するＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０は、ＣＵに関するＣｒ残差ブロックを生成することもできる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００４５】
[0070]さらに、ビデオエンコーダ２０は、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解するために、４分木分割を使用することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであってよい。Ｃｂ変換ブロックは、ＣＵのＣｂ残差ブロックのサブブロックであってよい。Ｃｒ変換ブロックは、ＣＵのＣｒ残差ブロックのサブブロックであってよい。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００４６】
[0071]ビデオエンコーダ２０は、ＴＵのルーマ係数ブロックを生成するために、ＴＵのルーマ変換ブロックに１回または複数回の変換を適用することができる。係数ブロックは、変換係数の２次元アレイであり得る。変換係数は、スカラー量であってよい。ビデオエンコーダ２０は、ＴＵに関するＣｂ係数ブロックを生成するために、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用することができる。ビデオエンコーダ２０は、ＴＵに関するＣｒ係数ブロックを生成するために、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用することができる。
【００４７】
[0072]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。ビデオエンコーダ２０が係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対して、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実施することができる。
【００４８】
[0073]ビデオエンコーダ２０は、コード化ピクチャおよび関連付けられたデータの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビット（emulation prevention bits）が点在するローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）の形態でそのデータを含んでいるバイトとを含んでいるシンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを含むシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。場合によっては、ＲＢＳＰは０ビットを含む。
【００４９】
[0074]様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰをカプセル化することができる。たとえば、第１のタイプのＮＡＬユニットはピクチャパラメータセット（ＰＰＳ）に関するＲＢＳＰをカプセル化することができ、第２のタイプのＮＡＬユニットはコード化スライスに関するＲＢＳＰをカプセル化することができ、第３のタイプのＮＡＬユニットはＳＥＩに関するＲＢＳＰをカプセル化することができ、以下同様である。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰではなく）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれ得る。
【００５０】
[0075]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ３０は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、一般に、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、現在ＣＵのＰＵに関する予測ブロックを決定するために、ＰＵの動きベクトルを使用することができる。加えて、ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ３０は、現在ＣＵのＴＵに関連付けられた変換ブロックを再構築するために、係数ブロックに対して逆変換を実行することができる。ビデオデコーダ３０は、現在ＣＵのＰＵに関する予測ブロックのサンプルを現在ＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在ＣＵのコーディングブロックを再構築することができる。ピクチャの各ＣＵに関するコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築することができる。
【００５１】
[0076]いくつかの例では、ビデオエンコーダ２０は、マージモードまたは高度動きベクトル予測（ＡＭＶＰ）モードを使用して、ＰＵの動き情報をシグナリングすることができる。言い換えれば、ＨＥＶＣでは、動きパラメータの予測のために２つのモードがあり、一方はマージモードであり、他方はＡＭＶＰである。動き予測は、１つまたは複数の他のビデオユニットの動き情報に基づく、ビデオユニット（たとえば、ＰＵ）の動き情報の決定を備え得る。ＰＵの動き情報は、ＰＵの動きベクトルと、ＰＵの参照インデックスとを含み得る。
【００５２】
[0077]ビデオエンコーダ２０がマージモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、マージ候補リストを生成することができる。言い換えれば、ビデオエンコーダ２０は、動きベクトル予測子リスト構築プロセスを実行することができる。マージ候補リストは、現在ＰＵに空間的または時間的に隣接するＰＵの動き情報を示すマージ候補のセットを含む。すなわち、マージモードでは、動きパラメータ（たとえば、参照インデックス、動きベクトルなど）の候補リストが構築され、候補は、空間的隣接ブロックおよび時間的隣接ブロックからであり得る。いくつかの例では、これらの候補は人工的に生成された候補も含み得る。
【００５３】
[0078]さらに、マージモードでは、ビデオエンコーダ２０は、マージ候補リストからマージ候補を選択することができ、現在ＰＵの動き情報として、選択されたマージ候補によって示される動き情報を使用することができる。ビデオエンコーダ２０は、選択されたマージ候補のマージ候補リスト中の位置をシグナリングすることができる。たとえば、ビデオエンコーダ２０は、インデックスを候補リスト中に送信することによって、選択された動きベクトルパラメータをシグナリングすることができる。ビデオデコーダ３０は、ビットストリームから、候補リストの中へのインデックス（すなわち、候補リストインデックス）を取得することができる。さらに、ビデオデコーダ３０は、同じマージ候補リストを生成することができ、選択されたマージ候補の位置の指示に基づいて、選択されたマージ候補を決定することができる。ビデオデコーダ３０は、次いで、現在ＰＵに関する予測ブロックを生成するために、選択されたマージ候補の動き情報を使用することができる。すなわち、ビデオデコーダ３０は、候補リストインデックスに少なくとも部分的に基づいて、候補リスト中の選択された候補を決定することができ、ここにおいて、選択された候補は、現在ＰＵについての動きベクトルを指定する。このように、デコーダ側では、インデックスが復号されると、インデックスが指す対応するブロックのすべての動きパラメータは、現在ＰＵによって継承され得る。
【００５４】
[0079]スキップモードはマージモードと同様である。スキップモードでは、ビデオエンコーダ２０およびビデオデコーダ３０は、マージモードにおいてビデオエンコーダ２０およびビデオデコーダ３０がマージ候補リストを使用するのと同じようにマージ候補リストを生成し、使うことができる。ただし、ビデオエンコーダ２０がスキップモードを使用して現在ＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、現在ＰＵに関するどの残差データもシグナリングしない。したがって、ビデオデコーダ３０は、残差データを使用せずに、マージ候補リスト中の選択された候補の動き情報によって示される参照ブロックに基づいて、ＰＵに関する予測ブロックを決定することができる。
【００５５】
[0080]ＡＭＶＰモードは、ビデオエンコーダ２０が候補リストを生成することができ、候補リストから候補を選択することができるという点で、マージモードと同様である。ただし、ビデオエンコーダ２０がＡＭＶＰモードを使用して現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ動き情報をシグナリングするとき、ビデオエンコーダ２０は、現在ＰＵに関するＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＰフラグをシグナリングするのに加え、現在ＰＵに関するＲｅｆＰｉｃＬｉｓｔＸ動きベクトル差分（ＭＶＤ）と、現在ＰＵに関するＲｅｆＰｉｃＬｉｓｔＸ参照インデックスとをシグナリングすることができる。現在ＰＵに関するＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＰフラグは、ＡＭＶＰ候補リスト中の選択されたＡＭＶＰ候補の位置を示し得る。現在ＰＵに関するＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＤは、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ動きベクトルと選択されたＡＭＶＰ候補の動きベクトルとの間の差分を示し得る。このようにして、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔＸ動きベクトル予測子（ＭＶＰ）フラグと、ＲｅｆＰｉｃＬｉｓｔＸ参照インデックス値と、ＲｅｆＰｉｃＬｉｓｔＸ  ＭＶＤとをシグナリングすることによって、現在ＰＵのＲｅｆＰｉｃＬｉｓｔＸ動き情報をシグナリングすることができる。言い換えれば、現在ＰＵに関する動きベクトルを表す、ビットストリーム中のデータは、参照インデックスと、候補リストへのインデックスと、ＭＶＤとを表すデータを含み得る。
【００５６】
[0081]さらに、ＡＭＶＰモードを使って現在ＰＵの動き情報がシグナリングされるとき、ビデオデコーダ３０は、ビットストリームから、現在ＰＵに関するＭＶＤと、ＭＶＰフラグとを取得することができる。ビデオデコーダ３０は、同じＡＭＶＰ候補リストを生成することができ、ＭＶＰフラグに基づいて、選択されたＡＭＶＰ候補を決定することができる。ビデオデコーダ３０は、ＭＶＤを選択されたＡＭＶＰ候補によって示される動きベクトルに加算することによって、現在ＰＵの動きベクトルを復元することができる。すなわち、ビデオデコーダ３０は、選択されたＡＭＶＰ候補によって示される動きベクトルおよびＭＶＤに基づいて、現在ＰＵの動きベクトルを決定することができる。ビデオデコーダ３０は次いで、現在ＰＵ予測ブロックを生成するために、復元された動きベクトルまたは現在のＰＵの動きベクトルを使用することができる。
【００５７】
[0082]ビデオデコーダ３０が現在ＰＵに関するＡＭＶＰ候補リストを生成するとき、ビデオデコーダ３０は、現在ＰＵに空間的に隣接するロケーションをカバーするＰＵ（すなわち、空間的隣接ＰＵ）の動き情報に基づいて、１つまたは複数のＡＭＶＰ候補を導出することができる。ＰＵの予測ブロックがあるロケーションを含むとき、ＰＵはそのロケーションをカバーし得る。
【００５８】
[0083]現在ＰＵに時間的に隣接するＰＵ（すなわち、現在ＰＵとは異なる時間インスタンス中にあるＰＵ）の動き情報に基づくマージ候補リストまたはＡＭＶＰ候補リスト中の候補は、ＴＭＶＰと呼ばれ得る。すなわち、ＴＭＶＰは、ＨＥＶＣのコーディング効率を向上させるために使用され得、他のコーディングツールとは異なり、ＴＭＶＰは、復号ピクチャバッファ中、より具体的には、参照ピクチャリスト中のフレームの動きベクトルにアクセスする必要があり得る。
【００５９】
[0084]ＴＭＶＰの使用は、ＣＶＳ（コード化ビデオシーケンス）ごとに、スライスごとに、もしくは別の方式で、有効または無効にされ得る。ＳＰＳ中のシンタックス要素（たとえば、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇ）は、ＴＭＶＰの使用がＣＶＳに対して有効にされるかどうかを示し得る。さらに、ＴＭＶＰの使用がＣＶＳのために有効にされるとき、ＴＭＶＰの使用は、ＣＶＳ内の特定のスライスに対して有効または無効にされ得る。たとえば、スライスヘッダ中のシンタックス要素（たとえば、ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇ）は、ＴＭＶＰの使用がスライスに対して有効にされるかどうかを示し得る。したがって、インター予測スライスでは、ＴＭＶＰがＣＶＳ全体に対して有効にされる（たとえば、ＳＰＳ中のｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に設定される）とき、ＴＭＶＰが現在スライスに対して有効にされているかどうかを示すために、ｓｌｉｃｅ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇがスライスヘッダ中でシグナリングされる。
【００６０】
[0085]ＴＭＶＰを決定するために、ビデオコーダは、現在ＰＵとコロケートされるＰＵを含む参照ピクチャを最初に識別することができる。言い換えれば、ビデオコーダはコロケートピクチャを識別することができる。現在ピクチャの現在スライスがＢスライス（すなわち、双方向インター予測されたＰＵを含むことが可能にされるスライス）である場合、ビデオエンコーダ２０は、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものであるか、またはＲｅｆＰｉｃＬｉｓｔ１からのものであるかを示すシンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ）を、スライスヘッダ中でシグナリングすることができる。言い換えれば、ＴＭＶＰの使用が現在スライスに対して有効にされ、現在スライスがＢスライス（たとえば、双方向インター予測されたＰＵを含むことが可能にされるスライス）であるとき、ビデオエンコーダ２０は、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０の中にあるか、またはＲｅｆＰｉｃＬｉｓｔ１の中にあるかを示すために、シンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇ）を、スライスヘッダ中でシグナリングすることができる。言い換えれば、ＴＭＶＰを得るために、最初に、コロケートピクチャが識別されることになる。現在のピクチャがＢスライスである場合、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものか、またはＲｅｆＰｉｃＬｉｓｔ１からのものかを示すために、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇがスライスヘッダにおいてシグナリングされる。
【００６１】
[0086]ビデオデコーダ３０がコロケートピクチャを含む参照ピクチャリストを識別した後、ビデオデコーダ３０は、識別された参照ピクチャリスト中のピクチャ（すなわち、コロケートピクチャ）を識別するために、スライスヘッダ中でシグナリングされ得る別のシンタックス要素（たとえば、ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘ）を使用することができる。すなわち、参照ピクチャリストが識別された後、スライスヘッダでシグナリングされるｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘが、参照ピクチャリスト中のピクチャを識別するために使用される。
【００６２】
[0087]ビデオコーダは、コロケートピクチャを確認することによって、コロケートＰＵを識別することができる。ＴＭＶＰは、コロケートＰＵを含むＣＵの右下のＰＵの動き情報、またはこのＰＵを含むＣＵの中心ＰＵ内の右下のＰＵの動き情報のいずれかを示し得る。したがって、このＰＵを含むＣＵの右下のＰＵの動き、またはこのＰＵを含むＣＵの中心ＰＵ内の右下のＰＵの動きのいずれかが使用される。コロケートＰＵを含むＣＵの右下のＰＵは、ＰＵの予測ブロックの右下のサンプルのすぐ下および右のロケーションをカバーするＰＵであり得る。言い換えれば、ＴＭＶＰは、参照ピクチャの中にあり現在ＰＵの右下コーナーとコロケートされるロケーションをカバーするＰＵの動き情報を示すことができ、または、ＴＭＶＰは、参照ピクチャの中にあり、現在ＰＵの中心とコロケートされるロケーションをカバーするＰＵの動き情報を示すことができる。
【００６３】
[0088]マージモードまたはＡＭＶＰモードのための動き候補を生成するために、上記のプロセスによって識別された動きベクトル（すなわち、ＴＭＶＰの動きベクトル）が使用されるとき、ビデオコーダは、（ＰＯＣ値によって反映される）時間的ロケーションに基づいて、動きベクトルをスケーリングすることができる。たとえば、現在のピクチャのＰＯＣ値と参照ピクチャとのＰＯＣ値との差分が小さいときよりも、現在のピクチャのＰＯＣ値と参照ピクチャのＰＯＣ値との差分が大きいときに、ビデオコーダは、動きベクトルの大きさをより大きな量だけ増大させることができる。
【００６４】
[0089]ＴＭＶＰから導出される時間的マージ用候補（merging candidate）に対するすべてのあり得る参照ピクチャリストのターゲット参照インデックスは、常に０に設定され得る。しかしながら、ＡＭＶＰでは、すべてのあり得る参照ピクチャのターゲット参照インデックスは、復号参照インデックスに等しく設定される。言い換えれば、ＴＭＶＰから導出される時間マージ用候補に関するすべてのあり得る参照ピクチャリストのターゲット参照インデックスは常に０に設定されるが、ＡＭＶＰでは、時間マージ用候補は、復号参照インデックスに等しく設定され得る。ＨＥＶＣでは、ＳＰＳはフラグ（たとえば、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇ）を含んでよく、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しく設定されるとき、スライスヘッダはフラグ（たとえば、ｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇ）を含んでよい。ある特定のピクチャに対してｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇとｔｅｍｐｏｒａｌ＿ｉｄの両方が０に等しいとき、復号順序においてその特定のピクチャの前にあるピクチャからの動きベクトルは、その特定のピクチャ、または復号順序でその特定のピクチャの後にあるピクチャの復号において、ＴＭＶＰとして使用されない。
【００６５】
[0090]次のセクションでは、（たとえば、Ｈ．２６４／ＭＶＣにおけるような）マルチビューコーディング技法および（たとえば、３Ｄ−ＨＥＶＣにおけるような）マルチビュープラス奥行きコーディング技法について論じる。最初に、ＭＶＣ技法について論じる。上述されたように、ＭＶＣは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのマルチビューコーディング拡張である。ＭＶＣでは、複数のビューに関するデータが時間優先（time-first）順序でコーディングされ、したがって、復号順序構成は、時間優先コーディングと呼ばれる。具体的には、共通の時間インスタンスにおける複数のビューの各々に関するビューコンポーネント（すなわち、ピクチャ）がコーディングされ得、次いで、異なる時間インスタンスについての別のセットのビューコンポーネントがコーディングされ得、以下同様である。アクセスユニットは、１つの出力時間インスタンスについてのすべてのビューのコード化ピクチャを含み得る。アクセスユニットの復号順序は、必ずしも出力（または表示）順序と同一であるとは限らないことを理解されたい。
【００６６】
[0091]典型的なＭＶＣ復号順序（すなわち、ビットストリーム順序）を図２に示す。復号順序構成は時間優先コーディングと呼ばれる。アクセスユニットの復号順序は出力または表示の順序と同じでないことがあることに留意されたい。図２では、Ｓ０〜Ｓ７は各々、マルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ８は各々、１つの出力時間インスタンスを表す。アクセスユニットは、１つの出力時間インスタンスについてのすべてのビューのコード化ピクチャを含む場合がある。たとえば、第１のアクセスユニットは時間インスタンスＴ０についてのビューＳ０〜Ｓ７のすべてを含み得、第２のアクセスユニットは時間インスタンスＴ１についてのビューＳ０〜Ｓ７のすべてを含み得、以下同様である。
【００６７】
[0092]簡潔のために、本開示では、以下の定義を使用し得る。
【００６８】
ビューコンポーネント：単一のアクセスユニット中のビューのコード化表現。ビューが、コード化テクスチャ表現とコード化奥行き表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと奥行きビューコンポーネントからなる。
【００６９】
テクスチャビューコンポーネント：単一のアクセスユニット中のビューのテクスチャのコード化表現。
【００７０】
奥行きビューコンポーネント：単一のアクセスユニット中のビューの奥行きのコード化表現。
【００７１】
[0093]図２では、ビューの各々はピクチャのセットを含む。たとえば、ビューＳ０はピクチャ０、８、１６、２４、３２、４０、４８、５６、および６４のセットを含み、ビューＳ１はピクチャ１、９、１７、２５、３３、４１、４９、５７、および６５のセットを含み、以下同様である。３Ｄビデオコーディング、たとえば、３Ｄ−ＨＥＶＣでは、各ピクチャは２つのコンポーネントピクチャを含む場合があり、一方のコンポーネントピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは奥行きビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントと奥行きビューコンポーネントとは、互いに対応すると見なされ得る。たとえば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の奥行きビューコンポーネントに対応すると見なされ、その逆も同様である（すなわち、奥行きビューコンポーネントはセット中のそのテクスチャビューコンポーネントに対応し、その逆も同様である）。本開示で使用する、奥行きビューコンポーネントに対応するテクスチャビューコンポーネントは、単一のアクセスユニットの同じビューの一部であるテクスチャビューコンポーネントおよび奥行きビューコンポーネントと見なされる場合がある。
【００７２】
[0094]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分と、クロマ（ＣｂおよびＣｒ）成分とを含み得る。奥行きビューコンポーネントは、その対応するテクスチャビューコンポーネント中のピクセルの相対奥行きを示し得る。一例として、奥行きビューコンポーネントは、ルーマ値のみを含むグレースケール画像である。言い換えれば、奥行きビューコンポーネントは、任意の画像コンテンツを伝達するのではなく、テクスチャビューコンポーネント中のピクセルの相対奥行きの測定値を提供することができる。
【００７３】
[0095]たとえば、奥行きビューコンポーネント中の純白のピクセルは、対応するテクスチャビューコンポーネント中のその対応する１つまたは複数のピクセルが閲覧者から見てより近いことを示し、奥行きビューコンポーネント中の純黒のピクセルは、対応するテクスチャビューコンポーネント中のその対応する１つまたは複数のピクセルが閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる奥行きレベルを示す。たとえば、奥行きビューコンポーネント中の濃いグレーのピクセルは、テクスチャビューコンポーネント中のその対応するピクセルが、奥行きビューコンポーネント中のより薄いグレーのピクセルよりも遠いことを示す。ピクセルの奥行きを識別するためにグレースケールのみが必要とされるので、奥行きビューコンポーネント用の色値がいかなる目的も果たし得ないことから、奥行きビューコンポーネントはクロマ成分を含む必要がない。
【００７４】
[0096]奥行きを識別するためにルーマ値（たとえば、強度値）のみを使用する奥行きビューコンポーネントが説明のために提供され、限定するものと見なされるべきではない。他の例では、テクスチャビューコンポーネント中のピクセルの相対奥行きを示すために任意の技法が利用され得る。
【００７５】
[0097]マルチビュービデオコーディングのための（各ビュー内のピクチャ間予測とビュー間予測の両方を含む）典型的なＭＶＣ予測構造を図３に示す。予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。ＭＶＣでは、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償により、ビュー間予測がサポートされる。
【００７６】
[0098]図３の例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）がビューごとに示されている。すなわち、図３中の各行はビューに対応し、一方、各列は時間ロケーションを示す。
【００７７】
[0099]ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがＭＶＣによってもサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートできることである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【００７８】
[0100]図３中のピクチャは、各行と各列の交点に示されている。Ｈ．２６４／ＡＶＣ規格は、ビデオの一部分を表すためにフレームという用語を使用し得る。本開示では、ピクチャという用語とフレームという用語とを互換的に使用し得る。
【００７９】
[0101]図３のピクチャは、対応するピクチャがイントラコーディングされる（すなわち、Ｉピクチャである）か、または一方向に（すなわち、Ｐピクチャとして）もしくは複数の方向に（すなわち、Ｂピクチャとして）インターコーディングされるかを指定する、文字を含むブロックを使用して示される。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。たとえば、時間ロケーションＴ０にあるビューＳ２のＰピクチャは、時間ロケーションＴ０にあるビューＳ０のＩピクチャから予測される。
【００８０】
[0102]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのピクチャは、異なる時間ロケーションにあるピクチャに対して予測符号化され得る。たとえば、時間ロケーションＴ１にあるビューＳ０のｂピクチャは、時間ロケーションＴ０にあるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ：Sequence Parameter Set）ＭＶＣ拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構築プロセスによって修正され得る。ビュー間予測は、３Ｄ−ＨＥＶＣ（マルチビュープラス奥行き）を含む、ＨＥＶＣの提案されたマルチビュー拡張の機能でもある。
【００８１】
[0103]図３は、ビュー間予測の様々な例を提供する。図３の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間ロケーションにあるピクチャから予測されるものとして、ならびに同じ時間ロケーションにあるビューＳ０およびＳ２のピクチャからビュー間予測されるものとして示されている。たとえば、時間ロケーションＴ１にあるビューＳ１のｂピクチャは、時間ロケーションＴ０およびＴ２にあるビューＳ１のＢピクチャの各々、ならびに時間ロケーションＴ１にあるビューＳ０およびＳ２のｂピクチャから予測される。
【００８２】
[0104]いくつかの例では、図３は、テクスチャビューコンポーネントを示すものとして見なされ得る。たとえば、図２に示すＩピクチャ、Ｐピクチャ、Ｂピクチャ、およびｂピクチャは、ビューの各々に関するテクスチャビューコンポーネントと見なされ得る。本開示で説明される技法によれば、図３に示すテクスチャビューコンポーネントの各々について、対応する奥行きビューコンポーネントが存在する。いくつかの例では、奥行きビューコンポーネントは、対応するテクスチャビューコンポーネントについて図３に示す方法と同様の方法で予測され得る。
【００８３】
[0105]２つのビューのコーディングもＭＶＣにおいてサポートされ得る。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとらえることができ、また、ＭＶＣデコーダがそのようなマルチビュー表現を復号することができることである。したがって、ＭＶＣデコーダをもつ任意のレンダラは、３つ以上のビューをもつ３Ｄビデオコンテンツを予想し得る。
【００８４】
[0106]ＭＶＣでは、同じアクセスユニット中の（すなわち、同じ時間インスタンスをもつ）ピクチャ間でビュー間予測が可能にされる。非ベースビューのうちの１つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。図３に示すように、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
【００８５】
[0107]マルチビュービデオコーディングのコンテキストでは、概して、２種類の動きベクトルが存在する。１つは、通常の動きベクトルと呼ばれる。通常の動きベクトルは時間参照ピクチャを指し、対応する時間インター予測は動き補償予測（ＭＣＰ）である。もう１つの動きベクトルは視差動きベクトル（ＤＭＶ）である。ＤＭＶは、異なるビュー中のピクチャ（すなわち、ビュー間参照ピクチャ）を指し、対応するインター予測は視差補償予測（ＤＣＰ：disparity-compensated prediction）である。
【００８６】
[0108]別のタイプのマルチビュービデオコーディングフォーマットは、（たとえば、３Ｄ−ＨＥＶＣにおけるような）奥行き値の使用を導入する。３Ｄテレビジョンおよび自由視点ビデオ（free viewpoint video）用に普及しているマルチビュービデオプラス奥行き（ＭＶＤ）データフォーマットでは、マルチビューテクスチャピクチャを用いて、テクスチャ画像と奥行きマップとが独立してコーディングされ得る。図４は、テクスチャ画像およびその関連するサンプルごとの奥行きマップを有するＭＶＤデータフォーマットを示す。奥行き範囲は、対応する３Ｄポイントに関してカメラからの最小距離Ｚnearおよび最大距離Ｚfarの範囲内にあるように制限され得る。
【００８７】
[0109]カメラパラメータおよび奥行き範囲値は、３Ｄディスプレイ上でレンダリングするのに先立って復号されたビュー成分を処理するのに役立つ場合がある。したがって、特別な補足エンハンスメント情報（ＳＥＩ）メッセージは、Ｈ．２６４／ＭＶＣの現行バージョン、すなわち、取得環境の様々なパラメータを指定する情報を含むマルチビュー取得情報ＳＥＩに関して定義される。しかしながら、奥行き範囲関連の情報を示すためにＨ．２６４／ＭＶＣにおいて指定されるシンタックスは存在しない。
【００８８】
[0110]次に、ＨＥＶＣにおける非対称動き分割（ＡＭＰ）および動き補償ブロックサイズについて論じる。ＨＥＶＣでは、インターコード化コーディングブロックは、１つ、２つ、または４つのパーティションに分割され得る。様々な形のそのような分割が可能である。インター予測されたコーディングブロックに関する例示的な分割可能性を図５に示す。
【００８９】
[0111]図５の上の行の分割は、いわゆる対称分割を示す。Ｎ×Ｎ分割は、単に、分割されていないコーディングブロックである。Ｎ／２×Ｎ分割は、２つの垂直の矩形パーティションに分割されたコーディングブロックである。同様に、Ｎ×Ｎ／２分割は、２つの水平の矩形パーティションに分割されたコーディングブロックである。Ｎ／２×Ｎ／２分割は、４つの等しい正方形パーティションに分割されたコーディングブロックである。
【００９０】
[0112]図５の下の４つの分割タイプは、非対称分割と呼ばれ、インター予測のための非対称動き分割（ＡＭＰ）内で使用され得る。ＡＭＰモードの一方のパーティションは、それぞれ、高さまたは幅Ｎ／４および幅または高さＮを有し、もう一方のパーティションは、３Ｎ／４の高さまたは幅および幅または高さＮを有することによって、ＣＢの残りからなる。各インターコード化パーティションには、１つまたは複数の動きベクトルおよび参照ピクチャインデックス（すなわち、単方向予測については１つの動きベクトルおよび参照インデックス、ならびに、双方向予測については２つの動きベクトルおよび参照インデックス）が割り当てられる。いくつかの例では、最悪のメモリ帯域幅を最小限に抑えるために、サイズ４×４のパーティションはインター予測用に許可されず、サイズ４×８および８×４のパーティションは、予測データの１つのリストに基づいている単予測コーディングに制限される。
【００９１】
[0113]下でより詳細に論じるように、本開示は、後方ビュー合成予測（ＢＶＳＰ）を含む、３Ｄ−ＨＥＶＣコーディング技法とともに使用されるときのＡＭＰのための技法を説明する。
【００９２】
[0114]以下は、ＨＥＶＣ内のマージ候補リストについて説明する。たとえば、マージ候補リストは、以下のステップを用いて構築され得る。空間マージ用候補のために、ビデオエンコーダ２０および／またはビデオデコーダ３０は、図６に示すように、５つの空間的隣接ブロックから４つまでの空間動きベクトル候補を導出することができる。
【００９３】
[0115]ビデオエンコーダ２０およびビデオデコーダ３０が空間的隣接ブロックを評価し得る順序は、以下の通り、すなわち、図６に示すように、左（Ａ１）、上（Ｂ１）、右上（Ｂ０）、左下（Ａ０）、および左上（Ｂ２）である。いくつかの例では、同一動き情報（たとえば、動きベクトルおよび参照インデックス）を有する動きベクトル候補を除去するために剪定過程が適用され得る。たとえば、Ｂ１の動きベクトルおよび参照インデックスは、Ａ１の動きベクトルおよび参照インデックスと比較され得、Ｂ０の動きベクトルおよび参照インデックスは、Ｂ１の動きベクトルおよび参照インデックスと比較され得、Ａ０の動きベクトルおよび参照インデックスは、Ａ１の動きベクトルおよび参照インデックスと比較され得、Ｂ２の動きベクトルおよび参照インデックスは、Ｂ１ならびにＡ１の動きベクトルおよび参照インデックスと比較され得る。次いで、同一動き情報を有する２つの候補のうちの１つが動きベクトル候補リストから除外され得る。剪定過程の後、４つの利用可能な候補がすでに存在する場合、候補Ｂ２はマージ候補リストに挿入されない。
【００９４】
[0116]参照ピクチャからのコロケート時間的動きベクトル予測子（ＴＭＶＰ）候補は、有効にされて、利用可能な場合、空間的動きベクトル候補の後に動きベクトル候補リストに追加される。
【００９５】
[0117]動きベクトル候補リストが完全でない（たとえば、所定の数未満のエントリーを有する）場合、１つまたは複数の人工的動きベクトル候補が生成されて、マージ候補リストの最後に挿入され得る。人工的動きベクトル候補の例示的なタイプは、Ｂスライスだけに関して導出された結合双予測マージ用候補と、所定の数の動きベクトル候補に関して提供するために十分な双予測マージ用候補（または、他のタイプの人工的動きベクトル候補）が存在しない場合、ゼロ動きベクトルマージ用候補とを含む。
【００９６】
[0118]現在スライスがＢスライスであるとき、結合双予測マージ用候補の導出プロセスが呼び出される。候補リスト中にすでにあり、必要な動き情報を有する候補の各対に関して、（利用可能な場合）リスト０中のピクチャを指す（Ｉ０ＣａｎｄＩｄｘに等しいマージ候補インデックスを有する）第１の候補の動きベクトルと（利用可能であり、参照ピクチャまたは動きベクトルのいずれかが第１の候補とは異なる場合）リスト１中のピクチャを指す（Ｉ１ＣａｎｄＩｄｘに等しいマージ候補インデックスを有する）第２の候補の動きベクトルの組み合わせを使用して、（ｃｏｍｂＩｄｘによって示されるインデックスを有する）結合双予測動きベクトル候補が導出される。
【００９７】
[0119]図７は、３Ｄ−ＨＥＶＣにおけるＩ０ＣａｎｄＩｄｘおよびＩ１ＣａｎｄＩｄｘの例示的な仕様を示す表である。たとえば、図７は、ｃｏｍｂＩｄｘに対応するＩ０ＣａｎｄＩｄｘおよびＩ１ＣａｎｄＩｄｘの定義を示す。
【００９８】
[0120]０．．．１１であるｃｏｍｂＩｄｘでは、以下の１つの条件が当てはまるとき、結合双予測動きベクトル候補の生成プロセスは終了する。すなわち、（１）ｃｏｍｂＩｄｘが（ｎｕｍＯｒｉｇＭｅｒｇｅＣａｎｄ＊（ｎｕｍＯｒｉｇＭｅｒｇｅＣａｎｄ−１））に等しいとき、ここにおいて、ｎｕｍＯｒｉｇＭｅｒｇｅＣａｎｄは、このプロセスを呼び出す前のマージリスト内の候補の数を示す、（２）（新規に生成された結合双予測マージ用候補を含めて）マージリスト中の総候補数がＭａｘＮｕｍＭｅｒｇｅＣａｎｄに等しいとき、である。
【００９９】
[0121]このセクションは、ゼロ動きベクトルマージ用候補の導出について説明する。各候補に関して、ゼロ動きベクトルおよび参照ピクチャインデックスは、０から利用可能な参照ピクチャインデックスから１を指し引いた数に設定される。（たとえば、ＭａｘＮｕｍＭｅｒｇｅＣａｎｄシンタックス要素によって示される）最大数のマージ動きベクトル候補よりも依然として少ない候補が存在する場合、候補の総数がＭａｘＮｕｍＭｅｒｇｅＣａｎｄに等しくなるまで、ゼロ参照インデックスおよび動きベクトルが挿入される。
【０１００】
[0122]以下は、ＨＥＶＣにおける動き補償サイズの制約について説明する。最悪のメモリ帯域幅を最小限に抑えるために、サイズ４×４のパーティションはインター予測用に許可されず、サイズ４×８および８×４のパーティションは単予測コーディングに制限される。
【０１０１】
[0123]上記に述べたそのような制約を満たすために、現在ＰＵサイズが８×４または４×８に等しいとき、生成された空間的／時間的／結合双予測マージ用候補、それが双予測モードに関連する場合、現在ＰＵは、予測方向をリスト０に修正し、ＲｅｆＰｉｃＬｉｓｔ１に対応する参照ピクチャインデックスおよび動きベクトルを、それぞれ、−１および（０，０）に修正することによって、単予測を使用するようにリセットされるべきである。
【０１０２】
[0124]上述のように、３Ｄ−ＨＥＶＣは開発中である。３Ｄ−ＨＥＶＣは、ビュー間動き予測とビュー間残差予測とを使用して、コーディング効率を改善することができる。言い換えれば、コーディング効率をさらに改善するために、２つの新規の技術、すなわち、「ビュー間動き予測」および「ビュー間残差予測」が、参照ソフトウェアに採用されてきている。ビュー間動き予測では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、現在ＰＵとは異なるビュー中のＰＵの動き情報に基づいて、現在ＰＵの動き情報を決定する（すなわち、予測する）ことができる。ビュー間残差予測では、ビデオコーダは、現在ＣＵとは異なるビュー中の残差データに基づいて、現在ＣＵの残差ブロックを決定することができる。
【０１０３】
[0125]３Ｄ−ＨＥＶＣにおける隣接ブロックベースの視差ベクトル（ＮＢＤＶ）導出について、次に説明する。３Ｄ−ＨＥＶＣがすべてのビューに対してテクスチャ優先コーディング順序を使用することにより、ＮＢＤＶ導出は３Ｄ−ＨＥＶＣにおける視差ベクトル導出技法として使用される。現在コーディングされているテクスチャピクチャに対して、対応する奥行きマップが利用可能でないため、視差ベクトルは隣接ブロックから導出される。３Ｄ−ＨＥＶＣ設計に関するいくつかの提案では、ＮＢＤＶ導出プロセスから導出された視差ベクトルは、参照テクスチャビューに対応する奥行きデータを取り出すことによって、さらに改良され得る。
【０１０４】
[0126]３Ｄ−ＨＥＶＣは、当初、ＪＣＴ３Ｖ−Ａ００９７（３Ｄ−ＣＥ５．ｈ：Ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｇｅｎｅｒａｔｉｏｎ  ｒｅｓｕｌｔｓ、Ｌ．Ｚｈａｎｇ、Ｙ．Ｃｈｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ））で提案されたＮＢＤＶ導出技法を採用した。暗黙的視差ベクトル（implicit disparity vector）が、ＪＣＴＶＣ−Ａ０１２６（３Ｄ−ＣＥ５．ｈ：Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  ｏｆ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ  ｆｏｒ  ＨＥＶＣ−ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、Ｊ．Ｓｕｎｇ、Ｍ．Ｋｏｏ、Ｓ．Ｙｅａ（ＬＧ））において簡略化されたＮＢＤＶとともに含まれた。加えて、ＪＣＴ３Ｖ−Ｂ００４７（３Ｄ−ＣＥ５．ｈ関連：Ｉｍｐｒｏｖｅｍｅｎｔｓ  ｆｏｒ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ、Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ））では、ＮＢＤＶ導出技法は、復号ピクチャバッファ中に記憶された暗黙的視差ベクトルを除去することによって、さらに簡略化されたが、また、ランダムアクセスピクチャ（ＲＡＰ）選択を用いてコーディング利得も改善した。ＮＢＤＶ導出に関する追加の技法は、ＪＣＴ３Ｖ−Ｄ０１８１（ＣＥ２：ＣＵ  ｂａｓｅｄ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ  Ｄｅｒｉｖａｔｉｏｎ  ｉｎ  ３Ｄ−ＨＥＶＣ、Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ））で説明された。
【０１０５】
[0127]視差ベクトル（ＤＶ）は、２つのビュー間の変位の推定量として使用される。隣接ブロックはビデオコーディングにおいてほとんど同じ動き／視差情報を共有するので、現在ブロックは、良好な予測子として、隣接ブロック中の動きベクトル情報を使用することができる。この考えに従って、ＮＢＤＶ導出プロセスは、異なるビュー中の視差ベクトルを推定するために、隣接する視差情報を使用する。
【０１０６】
[0128]ＮＢＤＶを改善するために、ビデオエンコーダ２０は、最初に、いくつかの空間的隣接ブロックおよび時間的隣接ブロックを定義する。ビデオコーダ２０は次いで、現在ブロックと候補ブロックとの間の相関付けの優先順位によって決定される、事前に定義された順序で隣接ブロックの各々を確認することができる。視差動きベクトル（すなわち、ビュー間参照ピクチャを指す動きベクトル）が候補中で発見されると、ビデオエンコーダ２０は、視差動きベクトルを視差ベクトルに変換し、関連するビュー順序インデックスも返される。隣接ブロックの２つのセットが利用される。一方のセットは空間的隣接ブロックを含み、他方のセットは時間的隣接ブロックを含む。
【０１０７】
[0129]３Ｄ−ＨＥＶＣに関する最近の提案では、ＮＢＤＶ導出において２つの空間的隣接ブロックが使用される。空間的隣接ブロックは、図８で、それぞれ、Ａ１およびＢ１によって示されるように、現在コーディングユニット（ＣＵ）９０に対して左および上の隣接ブロックである。図８に示す隣接ブロックは、ＨＥＶＣにおけるマージモードにおいて使用される隣接ブロックのうちのいくつかと同じロケーションにあることに留意されたい。したがって、追加のメモリアクセスは必要とされない。しかしながら、現在ＣＵ９０に対して他のロケーションの隣接ブロックも使用され得ることを理解されたい。
【０１０８】
[0130]時間的隣接ブロックを確認するために、ビデオエンコーダ２０は、候補ピクチャリストに関する構築プロセスを最初に実行する。現在ビューから２つまでの参照ピクチャが、候補ピクチャとして扱われ得る。ビデオエンコーダ２０は、最初に、コロケート参照ピクチャを候補ピクチャリストに追加し、続いて、候補ピクチャの残りを参照インデックスの昇順に追加する。両方の参照ピクチャリスト中で同じ参照インデックスを有する参照ピクチャが利用可能であるとき、コロケートピクチャと同じ参照ピクチャリスト中の参照ピクチャが、同じ参照インデックスを有する他の参照ピクチャに先行する。候補ピクチャリスト中の各候補ピクチャに関して、ビデオエンコーダ２０は、中央位置をカバーするコロケート領域のブロックを時間的隣接ブロックであると決定する。
【０１０９】
[0131]ブロックがビュー間動き予測でコーディングされるとき、異なるビュー中の対応するブロックを選択するために、視差ベクトルが導出され得る。ビュー間動き予測プロセスにおいて導出された視差ベクトルは、暗黙的視差ベクトル（ＩＤＶ）、または、導出視差ベクトルと呼ばれる。ブロックが動き予測でコーディングされるとしても、導出された視差ベクトルは、後続のブロックをコーディングするために破棄されない。
【０１１０】
[0132]ＨＴＭの一設計では、ＮＢＤＶ導出プロセスの間、ビデオコーダ（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０）は時間的隣接ブロック中の視差動きベクトル、空間的隣接ブロック中の視差動きベクトル、次いで、ＩＤＶの順に確認するように構成される。視差動きベクトルまたはＩＤＶが発見されると、プロセスは終了する。
【０１１１】
[0133]奥行き情報にアクセスすることによるＮＢＤＶ導出プロセスの改良（ＮＢＤＶ−Ｒ）について次に論じる。視差ベクトルがＮＢＤＶ導出プロセスから導出されるとき、導出された視差ベクトルは、参照ビューの奥行きマップから奥行きデータを取り出すことによって、さらに改良される。改良プロセスは、次の技法を含み得る。
【０１１２】
ａ）ベースビューなど、前にコーディングされた参照奥行きビュー中の導出された視差ベクトルによって、対応する奥行きブロックを位置特定し、対応する奥行きブロックのサイズは、現在ＰＵのものと同じである。
【０１１３】
ｂ）対応する奥行きブロックの４つのコーナーピクセルから１つの奥行き値を選択し、その奥行き値を改良された視差ベクトルの水平成分に変換する。視差ベクトルの垂直成分は不変である。
【０１１４】
[0134]いくつかの例では、改良された視差ベクトルはビュー間動き予測のために使用され得るが、改良されていない視差ベクトルはビュー間残差予測のために使用され得ることに留意されたい。加えて、あるＰＵが後方ビュー合成予測モードを用いてコーディングされている場合、改良された視差ベクトルは、そのＰＵの動きベクトルとして記憶され得る。３Ｄ−ＨＥＶＣに関するいくつかの提案では、ベースビューの奥行きビューコンポーネントは、ＮＢＤＶ導出プロセスから導出されたビュー順序インデックスの値にかかわらずアクセスされ得る。
【０１１５】
[0135]次に、３Ｄ−ＨＥＶＣにおける後方ビュー合成予測（ＢＶＳＰ）技法について論じる。ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５９４から入手可能な、Ｄ．Ｔｉａｎら、「ＣＥ１．ｈ：Ｂａｃｋｗａｒｄ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  Ｕｓｉｎｇ  Ｎｅｉｇｈｂｏｒｉｎｇ  Ｂｌｏｃｋｓ」、ＪＣＴ３Ｖ−Ｃ０１５２によって提案される、１つの例示的なＢＶＳＰ手法が第３回ＪＣＴ−３Ｖ会議で採用された。ＢＶＳＰの基本的な考えは、３Ｄ−ＡＶＣにおけるブロックベースのビュー合成予測と同様である。これらの２つの技法は両方とも、動きベクトル差分を送信することを避け、より正確な動きベクトルを使用するために、後方ワーピングとブロックベースのビュー合成予測とを使用する。３Ｄ−ＨＥＶＣおよび３Ｄ−ＡＶＣにおけるＢＶＳＰの実装詳細は、異なるプラットフォームにより異なる。
【０１１６】
[0136]３Ｄ−ＨＥＶＣでは、スキップモードまたはマージモードのいずれかでコーディングされるインターコード化ブロックに関して、ＢＶＳＰモードがサポートされる。３Ｄ−ＨＥＶＣに関する１つの例示的な提案では、高度動きベクトル予測（ＡＭＶＰ）モードでコーディングされるブロックに関して、ＢＶＳＰモードは許可されない。ＢＶＳＰモードの使用を示すためにフラグを送信する代わりに、ビデオエンコーダ２０は、１つの追加のマージ用候補（すなわち、ＢＶＳＰマージ用候補）をマージ候補リストに追加するように構成され得、各候補は１つのＢＶＳＰフラグに関連付けられる。復号マージインデックスがＢＶＳＰマージ用候補に対応するとき、復号マージインデックスは、現在予測ユニット（ＰＵ）がＢＶＳＰモードを使用することを示す。現在ＰＵ中の各サブブロックに関して、奥行き参照ビュー中の奥行き値を変換することによって、視差動きベクトルが導出され得る。
【０１１７】
[0137]ＢＶＳＰフラグの設定は次のように定義される。空間的マージ用候補を導出するために使用される空間的隣接ブロックがＢＶＳＰモードを用いてコーディングされるとき、従来のマージングモードにおけるように、空間的マージ用候補の関連する動き情報は現在ブロックによって継承される。加えて、この空間的マージ用候補は、（すなわち、空間的マージ用候補がＢＶＳＰモードを用いてコーディングされたことを示す）１に等しいＢＶＳＰフラグに関連付けられる。新規に導入されたＢＶＳＰマージ用候補に関して、ＢＶＳＰフラグは１に設定される。すべての他のマージ用候補に関して、関連するＢＶＳＰフラグは０に設定される。
【０１１８】
[0138]上記で論じたように、３Ｄ−ＨＥＶＣでは、ビデオエンコーダ２０は、ＢＶＳＰマージ用候補という名称の新規の候補を導出して、マージ候補リストに挿入するように構成され得る。対応する参照ピクチャインデックスおよび動きベクトルは、次の方法によって設定される。
【０１１９】
[0139]第１のビデオエンコーダ２０は、ＮＢＤＶ導出プロセスから導出された視差ベクトルのビューインデックスシンタックス要素（たとえば、３Ｄ−ＨＥＶＣのｒｅｆＶＩｄｘＬＸ）によって示されるビューインデックスを取得するように構成され得る。ビデオエンコーダ２０はまた、ｒｅｆＶＩｄｘＬＸに等しいビュー順序インデックスを有する参照ピクチャに関連付けられた参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔＸ（ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれか））を取得するように構成され得る。ビデオエンコーダ２０は、次いで、ＮＢＤＶ導出プロセスから取得された、対応する参照ピクチャインデックスと視差ベクトルとを、ＲｅｆＰｉｃＬｉｓｔＸ（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれか）中のＢＶＳＰマージ用候補の動き情報として使用する。
【０１２０】
[0140]現在スライスがＢスライスである場合、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔＸ以外の参照ピクチャリスト、すなわち、Ｙが１−ＸであるＲｅｆＰｉｃＬｉｓｔＹの中のｒｅｆＶＩｄＬＸに等しくないｒｅｆＶＩｄｘＬＹによって示されたビュー順序インデックスを有するビュー間参照ピクチャの可用性を確認する。そのような異なるビュー間参照ピクチャが発見された場合、ビデオエンコーダ２０は双予測的ビュー合成予測を実行する。ビデオエンコーダ２０は、異なるビュー間参照ピクチャの対応する参照ピクチャインデックスと、ＮＢＤＶ導出プロセスからスケーリングされた視差ベクトルとを、ＲｅｆＰｉｃＬｉｓｔＹ中のＢＶＳＰマージ用候補の動き情報として使用するようにさらに構成され得る。（テクスチャ優先コーディング順序の場合）ｒｅｆＶＩｄｘＬＸに等しいビュー順序インデックスを有するビューからの奥行きブロックが現在ブロックの奥行き情報として使用される。ビデオエンコーダ２０は、後方ワーピングプロセスによって２つの異なるビュー間参照ピクチャ（各参照ピクチャリストから１つ）を合成し、最終的なＢＶＳＰ予測子を達成するために、合成された参照ピクチャをさらに重み付けする。
【０１２１】
[0141]Ｂスライス以外のスライスタイプ（たとえば、Ｐスライス）の場合、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔＸを有する単予測的ビュー合成予測を予測のための参照ピクチャリストとして適用する。
【０１２２】
[0142]３Ｄ−ＨＴＭでは、テクスチャ優先コーディングが共通テスト条件において適用される。ビューのテクスチャコンポーネントは奥行きコンポーネントの前にコーディングされるため、１つの非ベーステクスチャコンポーネントを復号するとき、対応する非ベース奥行きコンポーネントは利用可能でない。したがって、ビデオデコーダ３０は、奥行き情報を推定し、次いで、ＢＶＳＰを実行するために、推定された奥行き情報を使用するように構成され得る。ブロックに関する奥行き情報を推定するために、（たとえば、ＮＢＤＶ導出プロセスを使用して）隣接ブロックから視差ベクトルを最初に導出し、次いで参照ビューから奥行きブロックを取得するために、導出された視差ベクトルを使用することが提案される。
【０１２３】
[0143]図９は、参照ビューから奥行きブロックを位置特定し、次いで、ＢＶＳＰ予測のためにその奥行きブロックを使用するための例示的な技法を示す。最初に、ビデオエンコーダ２０および／またはビデオデコーダ３０は、隣接ブロック１０２に関連付けられた視差ベクトル１０４を利用することができる。すなわち、ビデオエンコーダ２０および／またはビデオデコーダ３０は、（隣接ブロック１０２など）すでに符号化された隣接ブロックから視差ベクトル情報にアクセスし、現在ブロック１００に関する何らかの関連付けられた視差ベクトル情報を再使用することができる。視差ベクトル１０４は、参照奥行きピクチャ中の奥行きブロック１０６を指す。視差ベクトル１０４が現在ブロック１００に関して再使用されるとき、視差ベクトル１０４は、次に、参照奥行きピクチャ中の奥行きブロック１０８を指す。奥行きブロック１０８は現在ブロック１００に対応する。ビデオエンコーダ２０および／またはビデオデコーダ３０は、次いで、後方ワーピング技法を使用して、参照テクスチャピクチャ中のブロックを合成するために、参照奥行きピクチャ１０８中の奥行き情報を使用することができる。次いで、現在ブロック１００を予測するために、合成されたテクスチャピクチャが参照ピクチャとして使用され得る。
【０１２４】
[0144]本開示の一例では、ＮＢＤＶ導出プロセスでは、ＮＢＤＶ導出プロセスによって識別された視差ベクトル１０４を（ｄｖx，ｄｖy）で示し、現在ブロック１００の位置を（ｂｌｏｃｋx，ｂｌｏｃｋy）として示す。単予測的ＢＶＳＰの一例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、参照ビューの奥行きビューコンポーネント中に（ｂｌｏｃｋx＋ｄｖx，ｂｌｏｃｋy＋ｄｖy）の左上位置を有する奥行きブロック１０８をフェッチするように構成され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、現在ブロック１００（たとえば、ＰＵ）を、各々が（たとえば、Ｗ*Ｈに等しい）同じサイズを有する、いくつかのサブブロックに最初に分割するように構成され得る。Ｗ*Ｈに等しいサイズを有する各サブブロックに関して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、たとえば、図１０に示すように、フェッチされた奥行きビューコンポーネント内の対応する奥行きサブブロック１０８の４つのコーナーピクセルから最大奥行き値を識別する。図１０は、８×８奥行きブロック１１０の４つのコーナーピクセルを示す概念図である。４つのコーナーピクセルは、左上（ＴＬ）ピクセル、右上（ＴＲ）ピクセル、左下（ＢＬ）ピクセル、および右下（ＢＲ）ピクセルとして標示され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、最大奥行き値を視差動きベクトルに変換する。各サブブロックに関して導出された視差動きベクトルは、次いで、動き補償のために使用される。
【０１２５】
[0145]このセクションは、双方向予測を実行するときのＢＶＳＰについて論じる。ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１の中の異なるビューからの複数のビュー間参照ピクチャが存在するとき、ビデオエンコーダ２０および／またはビデオエンコーダ３０は、双予測的ＢＶＳＰを適用する。双予測的ＢＶＳＰでは、上で説明したように、各参照リストから、２つのビュー合成予測予測子（すなわち、２つの合成参照ブロック）が生成されることになる。これらの２つのビュー合成予測予測子は、次いで、最終的なビュー合成予測予測子を取得するために平均化される。
【０１２６】
[0146]動き補償サイズ、すなわち、上で説明したＷ*Ｈは、８×４または４×８のどちらかであり得る。一例では、動き補償サイズを決定するために、次の規則が適用される。
【０１２７】
各８×８ブロックに関して、対応する奥行き８×８ブロックの４つのコーナーが確認され、
【０１２８】
【数１】
0006535673.tif 000002
【０１２９】
[0147]以下は、３Ｄ−ＨＥＶＣに関する１つの提案における、スキップ／マージモードに関するビュー間候補導出プロセスについて説明する。ＮＢＤＶ導出プロセスから導出された視差ベクトルに基づいて、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）と呼ばれる、新規の動きベクトル候補は、利用可能な場合、ＡＭＶＰモードおよびスキップ／マージモードベクトル候補リストに追加され得る。ビュー間予測動きベクトルは、利用可能な場合、時間的動きベクトルである。スキップモードはマージモードと同じ動きベクトル導出プロセスを有するので、本文書で説明するすべての技法は、マージモードとスキップモードの両方に適用される。
【０１３０】
[0148]図１１は、マージ／スキップモードのためのビュー間予測動きベクトル候補の例示的な導出を示す概念図である。たとえば、図１１は、ビュー間予測動きベクトル候補の導出プロセスの一例を示す。マージ／スキップモードでは、ビュー間予測動きベクトル候補は次のステップによって導出される。まず、ビデオエンコーダ２０および／またはビデオデコーダ３０は、視差ベクトルを使用して、同じアクセスユニットの参照ビュー中の現在ＰＵ／ＣＵ１１４の対応するブロック（たとえば、参照ブロック）１１２を位置特定する。図１１の例では、現在ブロック（現在ＰＵ）１１４はビューＶ１中にあるが、対応する参照ブロック１１２はビューＶ０中にある。対応する参照ブロック１１２がイントラコード化予測およびインターコード化予測されず、（この例では、ビューＶ０および時間Ｔ１中の）その参照ピクチャが現在ＰＵ／ＣＵ１１４の同じ参照ピクチャリスト中の１つのエントリーの値に等しいＰＯＣ値を有する場合、参照ピクチャのＰＯＣに基づいて、参照インデックスを変換した後、ビュー間予測動きベクトルになるように、対応する参照ブロック１１２の動き情報（すなわち、予測方向、参照ピクチャインデックス、および動きベクトル）が導出される。
【０１３１】
[0149]対応する参照ブロック１１２は次のように定義され得る。現在ピクチャの左上ルーマサンプルに対する現在予測ユニットの左上ルーマサンプルのルーマロケーション（ｘＰ，ｙＰ）を最初に示す。変数ｎＰＳＷおよびｎＰＳＨは、それぞれ、現在予測ユニットの幅と高さとを示す。参照ビュー順序インデックスはｒｅｆＶｉｅｗＩｄｘと標示され、視差ベクトルはｍｖＤｉｓｐとして標示される。参照レイヤルーマロケーション（ｘＲｅｆ，ｙＲｅｆ）は以下によって導出される。
【０１３２】
【数２】
0006535673.tif 000003
【０１３３】
[0150]対応する参照ブロック１１２は、ｒｅｆＶｉｅｗＩｄｘに等しいＶｉｅｗＩｄｘを有するビューコンポーネント中のルーマロケーション（ｘＲｅｆ，ｙＲｅｆ）をカバーする予測ユニットに設定される。
【０１３４】
[0151]加えて、視差ベクトルは、ＩＰＭＶＣとは異なる位置中のマージ候補リスト中に追加されるビュー間視差動きベクトル（ＩＤＭＶＣ）に変換され得る。ビュー間視差動きベクトルはまた、利用可能なとき、ＩＰＭＶＣと同じ位置中のＡＭＶＰ候補リスト中に追加され得る。ＩＰＭＶＣまたはＩＤＭＶＣのいずれも、このコンテキストでは「ビュー間候補」と呼ばれることがある。
【０１３５】
[0152]マージ／スキップモードに関する一例では、ＩＰＭＶＣは、利用可能な場合、すべての空間的マージ用候補および時間的マージ用候補の前に、マージ候補リストに挿入される。ＩＤＭＶＣは、Ａ0から導出された空間的マージ用候補の前に挿入される。
【０１３６】
[0153]以下のセクションでは、３Ｄ−ＨＥＶＣにおけるテクスチャコーディングのためのマージ候補リスト構築について説明する。まず、ビデオエンコーダ２０および／またはビデオデコーダ３０は、たとえば、上記で説明したＮＢＤＶ導出技法を使用して、視差ベクトルを導出する。視差ベクトルを導出した後、ビデオエンコーダ２０および／またはビデオデコーダ３０は、下記で説明するように、３Ｄ−ＨＥＶＣにおけるマージ候補リスト構築を実行するように構成され得る。
【０１３７】
[0154]ビデオエンコーダ２０および／またはビデオデコーダ３０は、上記で説明した手順を使用して、１つまたは複数のＩＰＭＶＣを導出することができる。ＩＰＭＶＣが利用可能である場合、ＩＰＭＶＣはマージリストに挿入され得る。
【０１３８】
[0155]次に、ビデオエンコーダ２０および／またはビデオデコーダ３０は、３Ｄ−ＨＥＶＣにおける空間的マージ候補および１つまたは複数のＩＤＭＶＣ挿入を導出するように構成され得る。空間的マージ候補を導出するために、ビデオエンコーダ２０および／またはビデオデコーダ３０は、次の順序で空間的隣接ＰＵの動き情報を確認するように構成され得る。すなわち、たとえば、図６に示すように、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2である。
【０１３９】
[0156]ビデオエンコーダ２０および／またはビデオデコーダ３０は、制約された剪定を実行するようにさらに構成され得る。制約された剪定を実行するために、Ａ1およびＩＰＭＶＣが同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ロケーションＡ1における空間的マージ候補をマージ候補リストに挿入しないように構成され得る。そうでなければ、ロケーションＡ1における空間的マージ候補はマージ候補リストに挿入される。
【０１４０】
[0157]ロケーションＢ1におけるマージ候補および（ＩＰＭＶＣの場合）マージロケーションＡ1におけるマージ候補が同じ動きベクトルと同じ参照インデックスとを有する場合、ロケーションＢ1におけるマージ候補はマージ候補リストに挿入されない。そうでなければ、ロケーションＢ1におけるマージ候補はマージ候補リストに挿入される。ロケーションＢ0におけるマージ候補が利用可能である（すなわち、コーディングされ、動き情報を有する）場合、ロケーションＢ0におけるマージ候補が候補リストに追加される。ビデオエンコーダ２０および／またはビデオデコーダ３０は、上記で説明した手順を使用してＩＤＭＶＣを導出する。ＩＤＭＶＣが利用可能であり、ＩＤＭＶＣの動き情報がＡ1およびＢ1から導出された候補とは異なる場合、ＩＤＭＶＣは候補リストに挿入される。
【０１４１】
[0158]ＢＶＳＰがピクチャ全体（または、現在のスライスに関して）有効にされる場合、ＢＶＳＰマージ用候補はマージ候補リストに挿入される。ロケーションＡ0におけるマージ候補が利用可能である場合、そのマージ候補が候補リストに追加される。ロケーションＢ2におけるマージ用候補が利用可能である場合、そのマージ用候補が候補リストに追加される。
【０１４２】
[0159]次のセクションは、３Ｄ−ＨＥＶＣにおける時間的マージ用候補に関する導出プロセスについて論じる。３Ｄ−ＨＥＶＣにおける時間的マージ用候補導出は、コロケートＰＵの動き情報が利用される、ＨＥＶＣにおける時間的マージ用候補導出プロセスと同様である。しかしながら、３Ｄ−ＨＥＶＣでは、参照ピクチャインデックスを０に固定する代わりに、時間的マージ用候補のターゲット参照ピクチャインデックスは変更され得る。０に等しいターゲット参照インデックスが（同じビュー中の）時間的参照ピクチャに対応する一方で、コロケート予測ユニット（ＰＵ）の動きベクトルがビュー間参照ピクチャを指すとき、ターゲット参照インデックスは、参照ピクチャリスト中のビュー間参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。反対に、０に等しいターゲット参照インデックスがビュー間参照ピクチャに対応する一方で、コロケート予測ユニット（ＰＵ）の動きベクトルが時間的参照ピクチャを指すとき、ターゲット参照ピクチャインデックスは、参照ピクチャリスト中の時間的参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。
【０１４３】
[0160]次に、３Ｄ−ＨＥＶＣにおける結合双予測マージ用候補に関する導出プロセスについて論じる。上記の２つのステップ（すなわち、空間的マージ用候補の導出および時間的マージ用候補の導出）から導出された候補の総数が（あらかじめ画定された）候補の最大数未満である場合、上記で説明した、ＨＥＶＣで定義されたのと同じプロセスが実行される。しかしながら、参照インデックスＩ０ＣａｎｄＩｄｘおよびＩ１ＣａｎｄＩｄｘの仕様は異なる。図１２は、３Ｄ−ＨＥＶＣにおけるＩ０ＣａｎｄＩｄｘおよびＩ１ＣａｎｄＩｄｘの例示的な仕様を示す別の表である。たとえば、ｃｏｍｂＩｄｘ、Ｉ０ＣａｎｄＩｄｘ、およびＩ１ＣａｎｄＩｄｘの間の関係は、図１２に示す表において定義されている。
【０１４４】
[0161]３Ｄ−ＨＥＶにおけるゼロ動きベクトルマージ用候補に関する１つの例示的な導出プロセスは、ＨＥＶＣにおいて定義されたのと同じ手順である。３Ｄ−ＨＥＶＣに関する一例では、マージ候補リスト中の候補の総数は最大６であり、ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄシンタックス要素が、６から減算されるマージ候補の最大数をスライスヘッダ中で指定するために生成される。シンタックス要素ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄの値は、両端値を含む、０から５の範囲内にあることに留意されたい。
【０１４５】
[0162]以下は、たとえば、３Ｄ−ＨＥＶＣにおける奥行きコーディングのための動きベクトル継承（ＭＶＩ）について説明する。ＭＶＩ技法は、ピクチャのテクスチャコンポーネントとその関連付けられた奥行きビューコンポーネントとの間の動き特性の類似度を活用することを探索する。図１３は、奥行きコーディングのための動きベクトル継承候補の例示的な導出を示す概念図である。たとえば、図１３は、テクスチャピクチャ１２４中の現在ＰＵ１２２の中央の右下に対して位置特定される４×４ブロックとして、対応するテクスチャブロック１２０が選択される、ＭＶＩ候補の導出プロセスの例を示す。奥行きピクチャ１２８中の現在ＰＵ１２６では、ＭＶＩ候補は、そのような情報が利用可能である場合、対応するテクスチャピクチャ１２４中ですでにコーディングされている対応するテクスチャブロック１２０に関連付けられた動きベクトルおよび参照インデックスの使用を再使用する。
【０１４６】
[0163]整数精度の動きベクトルが奥行きコーディングにおいて使用されるが、４分の１精度の動きベクトルがテクスチャコーディングのために利用されることに留意されたい。したがって、対応するテクスチャブロックの動きベクトルは、ＭＶＩ候補として使用する前にスケーリングされ得る。
【０１４７】
[0164]ＭＶＩ候補生成により、奥行きビューに関するマージ候補リストが次のように構築される。ＭＶＩ挿入では、上記で説明した技術を使用してＭＶＩが導出され、利用可能である場合、マージ候補リストに挿入される。
【０１４８】
[0165]奥行きコーディングのための３Ｄ−ＨＥＶＣにおける空間的マージ用候補の導出プロセスおよびＩＤＭＶＣ挿入について下記で説明する。最初に、ビデオエンコーダ２０および／またはビデオデコーダ３０は、次の順序で空間的隣接ＰＵの動き情報を確認するように構成され得る。すなわち、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2である。
【０１４９】
[0166]ビデオエンコーダ２０および／またはビデオデコーダ３０は、次いで、次のように制約された剪定を実行することができる。ロケーションＡ1における動きベクトル候補およびＭＶＩ候補が同じ動きベクトルと同じ参照インデックスとを有する場合、Ａ1における動きベクトル候補はマージ候補リストに挿入されない。ロケーションＢ1における動きベクトル候補およびロケーションＡ1における動きベクトル候補／ＭＶＩ候補が同じ動きベクトルと同じ参照インデックスとを有する場合、ロケーションＢ1における動きベクトル候補はマージ候補リストに挿入されない。ロケーションＢ0における動きベクトル候補が利用可能である場合、ロケーションＢ0における動きベクトル候補はマージ候補リストに追加される。ロケーションＡ0における動きベクトル候補が利用可能である場合、ロケーションＡ0における動きベクトル候補はマージ候補リストに追加される。ロケーションＢ2における動きベクトル候補が利用可能である場合、ロケーションＢ2における動きベクトル候補はマージ候補リストに追加される。
【０１５０】
[0167]３Ｄ−ＨＥＶＣ奥行きコーディングにおける時間的マージ用候補に関する導出プロセスは、コロケートＰＵの動き情報が利用される、ＨＥＶＣにおける時間的マージ用候補導出プロセスと同様である。しかしながら、３Ｄ−ＨＥＶＣ奥行きコーディングでは、０に固定する代わりに、上記で説明したように、時間的マージ用候補のターゲット参照ピクチャインデックスは変更され得る。
【０１５１】
[0168]次に、３Ｄ−ＨＥＶＣ奥行きコーディングにおける結合双予測マージ用候補のための導出プロセスについて説明する。上記の２つのステップから導出された候補の総数が候補の最大の数未満である場合、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて、ＨＥＶＣにおいて定義されたものと同じプロセスが、実行される。ｃｏｍｂＩｄｘ、Ｉ０ＣａｎｄＩｄｘ、およびＩ１ＣａｎｄＩｄｘの間の関係は、図１２に示す表において定義されている。
【０１５２】
[0169]３Ｄ−ＨＥＶＣ奥行きコーディングにおけるゼロ動きベクトルマージ用候補に関する導出プロセスは、ＨＥＶＣにおいて定義された手順と同じである。
【０１５３】
[0170]以下は、高度残差予測（ＡＲＰ）のための例示的な技法を説明する。Ｐａｒｔ＿２Ｎ×２Ｎ（たとえば、図５のＮ×Ｎ）に等しい分割モードを有するＣＵに適用されるＡＲＰが、ＪＣＴ３Ｖ−Ｄ０１７７において提案されたように、第４回ＪＣＴ３Ｖ会議において採用された。ＺｈａｎｇらによるＪＣＴ３Ｖ−Ｄ０１７７文書は、「ＣＥ４：Ａｄｖａｎｃｅｄ  ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ｍｕｌｔｉｖｉｅｗ  ｃｏｄｉｎｇ」と題する。ＪＣＴ３Ｖ−Ｄ０１７７文書は、２０１４年８月２２日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝８６２から入手可能である。
【０１５４】
[0171]図１４はマルチビュービデオコーディングにおける高度残差予測（ＡＲＰ）の予測構造を示す。図１４に示すように、現在ブロック（「Ｃｕｒｒ」）１４０の予測において以下のブロックが呼び出される。視差ベクトル（ＤＶ）１４６によって導出される参照／ベースビュー１４４中の参照ブロック１４２は「Ｂａｓｅ」と標示される。現在ブロック１４０の（ＴＭＶと示される）（時間的）動きベクトル１５０によって導出される、現在ブロックＣｕｒｒ１４０と同じビュー（ビューＶm）中のブロック１４８は、「ＣｕｒｒＴＲｅｆ」と標示される。現在ブロックの時間的動きベクトル（ＴＭＶ）によって導出されるブロックＢａｓｅ１４２（ビューＶ0）と同じビュー中のブロック１５２は「ＢａｓｅＴＲｅｆ」と標示される。参照ブロックＢａｓｅＴＲｅｆ１５２は、現在ブロックＣｕｒｒ１４０と比較して、ＴＭＶ＋ＤＶ１５４のベクトルを用いて識別される。
【０１５５】
[0172]残差予測子はＢａｓｅＴＲｅｆ−Ｂａｓｅと示され、示されたピクセルアレイの各ピクセルに減算演算が適用される。重み付け係数「ｗ」が残差予測子にさらに乗算され得る。したがって、現在ブロックＣｕｒｒの最終的な予測子は、ＣｕｒｒＴＲｅｆ＋ｗ*（ＢａｓｅＴＲｅｆ−Ｂａｓｅ）として示され得る。
【０１５６】
[0173]上記の説明および図１４では、単方向予測が適用されると仮定されることに留意されたい。ＡＲＰを双方向予測の事例に拡張するとき、上記のステップが各参照ピクチャリストに対して適用される。現在ブロックＣｕｒｒが２つの参照ピクチャリストのうちの１つに関して（異なるビュー中の）ビュー間参照ピクチャを使用するとき、ＡＲＰプロセスは無効化される。
【０１５７】
[0174]以下はＡＲＰにおける復号プロセスについて説明する。最初に、ビデオデコーダ３０は、（たとえば、ＮＢＤＶ導出プロセスを使用して）ターゲット参照ビューを指す視差ベクトルを取得する。次いで、同じアクセスユニット内の参照ビューのピクチャ中で、ビデオデコーダ３０は、視差ベクトルを使用して対応するブロックを位置特定する。
【０１５８】
[0175]ビデオデコーダ３０は、参照ブロックに関する動き情報を導出するために、現在ブロックの動き情報を再使用することができる。ビデオデコーダ３０は、次いで、残差ブロックを導出するために、現在のブロックに対応するブロックベースの同じ動きベクトルと、導出された参照ピクチャとに関して動き補償を適用することができる。
【０１５９】
[0176]図１５は、現在ブロック１６０、参照ブロック１６２、ならびに動き補償ブロック１６４および１６６の間の例示的な関係を示す概念図である。現在ビュー（Ｖm）の参照ピクチャと同じＰＯＣ（ピクチャ順序カウント）値を有する参照ビュー（Ｖ0）中の参照ピクチャが、対応するブロック１６２の参照ピクチャとして選択される。ビデオエンコーダ２０および／またはビデオデコーダ３０は、重み付けされた残差ブロックを得るために、残差ブロックに重み係数を適用し、予測されたサンプルに重み付けされた残差ブロックの値を加算することができる。
【０１６０】
[0177]以下は重み係数について説明する。３つの重み係数、すなわち、０、０．５、および１がＡＲＰにおいて使用される。現在ＣＵに関する最小レートひずみコストをもたらす重み係数が最終重み係数として選択され、対応する重み係数インデックス（たとえば、それぞれ、重み係数０、１、ならびに０．５に対応する０、１、および２）がＣＵレベルで、ビットストリーム中で送信される。ＡＲＰの一例では、１つのＣＵ中のすべてのＰＵ予測は同じ重み係数を共有する。重み係数が０に等しいとき、現在ＣＵのためにＡＲＰは使用されない。
【０１６１】
[0178]以下は、ＡＲＰに関するいくつかのさらなる簡略化について説明する。第１に、動きベクトルスケーリングによる参照ピクチャ選択について説明する。第２に、補間フィルタについて説明する。
【０１６２】
[0179]ＪＣＴ３Ｖ−Ｃ００４９における、動きベクトルスケーリングによる参照ピクチャ選択では、非ゼロ重み係数を用いてコーディングされた予測ユニットの参照ピクチャはブロックごとに異なり得る。ＺｈａｎｇらによるＪＣＴ３Ｖ−Ｃ００４９文書は、「３Ｄ−ＣＥ４：Ａｄｖａｎｃｅｄ  ｒｅｓｉｄｕａｌ  ｐｒｅｄｉｃｔｉｏｎ  ｆｏｒ  ｍｕｌｔｉｖｉｅｗ  ｃｏｄｉｎｇ」と題する。ＪＣＴ３Ｖ−Ｃ００４９文書は、２０１３年９月２３日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝４８７から入手可能である。
【０１６３】
[0180]したがって、参照ビューとは異なるピクチャが、対応するブロックの動き補償ブロック（たとえば、図１４ではＢａｓｅＴＲｅｆ）を生成するためにアクセスされる必要があり得る。重み係数が０に等しくないとき、残差生成プロセスのために動き補償を実行する前に、固定ピクチャに対して現在ＰＵの復号動きベクトルをスケーリングすることが提案されている。ＪＣＴ３Ｖ−Ｄ０１７７で提案されるように、固定ピクチャは、それが同じビューからのものである場合、各参照ピクチャリストの第１の参照ピクチャとして定義される。復号動きベクトルが固定ピクチャを指さないとき、ビデオデコーダ３０は、最初に、復号動きベクトルをスケーリングし、次いで、ＣｕｒｒＴＲｅｆおよびＢａｓｅＴＲｅｆを識別するために、スケーリングされた動きベクトルを使用することができる。ＡＲＰのために使用されるそのような参照ピクチャはターゲットＡＲＰ参照ピクチャと呼ばれる。
【０１６４】
[0181]ＪＣＴ３Ｖ−Ｃ００４９で説明するような補間フィルタでは、ビデオエンコーダ２０および／またはビデオデコーダ３０は、対応するブロックおよびその予測ブロックの補間プロセスの間、バイリニアフィルタ（bi-linear filter）を適用することができる。非ベースビュー中の現在ＰＵの予測ブロックに関して、従来の８／４タップフィルタが適用され得る。ＪＣＴ３Ｖ−Ｄ０１７７で提案されるような別の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＡＲＰが適用されるとき、ブロックがベースビュー中にあるか、または非ベースビュー中にあるかにかかわらず、バイリニアフィルタリングを常に採用することができる。
【０１６５】
[0182]本開示の１つまたは複数の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＮＢＤＶ導出プロセスから戻されたビュー順序インデックスを使用して、参照ビューを識別するように構成され得る。ＡＲＰのいくつかの例では、１つの参照ピクチャリスト中の１つのＰＵの参照ピクチャが現在ビューとは異なるビューからのものであるとき、ＡＲＰはこの参照ピクチャリストについて無効化される。
【０１６６】
[0183]２０１３年６月２７日に出願した米国仮出願第６１／８４０，４００号および２０１３年７月１８日に出願した米国仮出願第６１／８４７，９４２号に奥行きインターコーディングのためのいくつかの追加の技法が説明されている。これらの例では、奥行きピクチャをコーディングするとき、視差ベクトルは、現在ブロックの隣接サンプルから推定された奥行き値によって変換される。
【０１６７】
[0184]ＡＲＰのための他の例では、たとえば、視差ベクトルによって識別されたベースビューの参照ブロックにアクセスすることによって、追加のマージ候補が導出され得る。
【０１６８】
[0185]以下は、ビュー間動き予測のためにブロックを位置特定するための技法について説明する。３Ｄ−ＨＥＶＣでは、２つの一般的なステップを使用して、参照４×４ブロックが識別される。第１のステップは、視差動きベクトルを用いて参照ビュー中のピクセルを識別することである。第２のステップは、（それぞれ、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１に対応する動き情報の一意のセットを有する）対応する４×４ブロックを取得し、マージ候補を作成するために、動き情報を利用することである。
【０１６９】
[0186]参照ビュー中のピクセル（ｘＲｅｆ，ｙＲｅｆ）は次のように識別される。
【０１７０】
【数３】
0006535673.tif 000004
【０１７１】
式中、（ｘＰ，ｙＰ）は、現在ＰＵの左上サンプルの座標であり、ｍｖＤｉｓｐは視差ベクトルであり、ｎＰＳＷ×ｎＰＳＨは現在ＰＵのサイズであり、ＰｉｃＷｉｄｔｈＩｎＳａｍｐｌｅｓLおよびＰｉｃＨｅｉｇｈｔＩｎＳａｍｐｌｅｓLは（現在ビューと同じ）参照ビュー中のピクチャの解像度を定義する。
【０１７２】
[0187]以下は、サブＰＵレベルのビュー間動き予測について説明する。ＪＣＴ３Ｖ−Ｅ０１８４では、ＩＰＭＶＣに関するサブＰＵレベルのビュー間動き予測方法、すなわち、参照ビュー中の参照ブロックから導出された候補を使用することが提案された。ＡｎらによるＪＣＴ３Ｖ−Ｅ０１８４、「３Ｄ−ＣＥ３．ｈ関連：Ｓｕｂ−ＰＵ  ｌｅｖｅｌ  ｉｎｔｅｒ−ｖｉｅｗ  ｍｏｔｉｏｎ  ｐｒｅｄｉｃｔｉｏｎ」が、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１１９８から利用可能である。
【０１７３】
[0188]（たとえば、スキップ／マージモードに関するビュー間候補導出プロセスに対して）依存ビュー中の現在ＰＵに関して、中央位置に関連付けられた参照ブロックの動き情報だけが使用されるビュー間動き予測の基本的な考えが上記で説明されている。しかしながら、現在ＰＵは、参照ビュー中の（視差ベクトルによって識別された現在ＰＵと同じサイズを有する）参照エリアに対応し得、参照エリアは豊富な（すなわち、動きベクトルに関するより多くの）動き情報を有し得る。
【０１７４】
[0189]したがって、サブＰＵレベルのビュー間動き予測（ＳＰＩＶＭＰ）方法が提案される。図１６は、サブ予測ユニット（ＰＵ）ビュー間動き予測を示す概念図である。図１６に示すように、現在ビューＶ１中の現在ＰＵ１７０は、複数のサブＰＵ（たとえば、４つのサブＰＵ）に分割され得る。各サブＰＵに関する視差ベクトルは、参照ビューＶ０中の対応する参照ブロックを位置特定するために使用され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、現在ＰＵ１７０の対応するサブＰＵとともに使用するために、参照ブロックの各々に関連付けられた動きベクトルを複写（すなわち、再使用）するように構成され得る。
【０１７５】
[0190]一例では、時間的ビュー間マージ候補は次のように導出される。まず、割り当てられたサブＰＵサイズをＮ×Ｎによって示す。第１に、現在ＰＵをより小さいサイズを有する複数のサブＰＵに分割する。現在ＰＵのサイズをｎＰＳＷ×ｎＰＳＨによって示し、サブＰＵのサイズをｎＰＳＷｓｕｂ×ｎＰＳＨＳｕｂによって示す。
【０１７６】
【数４】
0006535673.tif 000005
【０１７７】
[0191]第２に、デフォルト動きベクトルｔｍｖＬＸを（０，０）に設定し、各参照ピクチャリストに関して、参照インデックスｒｅｆＬＸを−１に設定する。ラスタ走査順序の各サブＰＵに関して、以下が適用される。以下によって、参照サンプルロケーション（ｘＲｅｆＳｕｂ，ｙＲｅｆＳｕｂ）を取得するために、ＤＶを現在サブＰＵの中間位置に加算する。
【０１７８】
【数５】
0006535673.tif 000006
【０１７９】
現在サブＰＵに関する参照ブロックとして（ｘＲｅｆＳｕｂ，ｙＲｅｆＳｕｂ）をカバーする参照ビュー中のブロックが使用される。
【０１８０】
[0192]識別された参照ブロックでは、その参照ブロックが時間的動きベクトルを使用してコーディングされる場合、以下が適用される。ｒｅｆＬ０とｒｅｆＬ１の両方が−１に等しく、現在サブＰＵがラスタ走査順序で第１のサブＰＵでない場合、参照ブロックの動き情報はすべての前のサブＰＵによって継承される。現在サブＰＵに関する候補動きパラメータとして、関連する動きパラメータが使用され得る。シンタックス要素ｔｍｖＬＸおよびｒｅｆＬＸが現在サブＰＵの動き情報に更新される。そうでなければ（たとえば、参照ブロックがイントラコード化される場合）、現在サブＰＵの動き情報はｔｍｖＬＸおよびｒｅｆＬＸに設定される。異なるサブＰＵブロックサイズ、たとえば、４×４、８×８、および１６×１６が適用され得る。サブＰＵのサイズはＶＰＳ内でシグナリングされ得る。
【０１８１】
[0193]以下は、奥行きコーディングのためのサブＰＵレベルの動きベクトル継承について説明する。１つのテクスチャビューから別のテクスチャビューへのサブＰＵレベルのビュー間動き予測に関する提案と同様に、２０１３年７月２４日に出願した米国仮出願第６１／８５８，０８９号は、１つのテクスチャビューから対応する奥行きビューにサブＰＵレベルの動き予測を適用する技法を提案した。すなわち、現在ＰＵはいくつかのサブＰＵに分割され得、各サブＰＵは、動き補償のためにコロケートテクスチャブロックの動き情報を使用する。この場合、サブＰＵレベルのＭＶＩがサポートされ、ビュー間動き予測によって使用される視差ベクトルは常にゼロになると見なされる。
【０１８２】
[0194]３Ｄ−ＨＥＶＣにおけるＢＶＳＰに関する現在の設計は、以下の問題を示す。ＡＭＰが使用され、現在ＰＵサイズが４×１６または１６×４であり、ＰＵが単方向予測されるとき、ＰＵ全体に関して１つの視差ベクトルを導出することによってＢＶＳＰが達成される。すなわち、ＰＵ中の各サブブロックは、参照ブロック合成および動き補償のために同じ視差ベクトルを使用する。したがって、すべてのサブブロックに関するブロック合成および動き補償のために同じ視差ベクトルを使用することの最適さはサブブロックのうちのいくつかに対してより低い可能性があるため、より大きいブロックサイズの場合、ＢＶＳＰの効率はより低くなる可能性がある。
【０１８３】
[0195]別の欠点として、現在ＰＵが双方向予測されるとき、４×８および８×４に等しいブロックサイズでＢＶＳＰは有効にされる。しかしながら、ＨＥＶＣでは、（１６×４および４×１６の動き補償は許可されるが）６４ピクセルに満たないブロック（たとえば、４×８ブロックまたは８×４ブロック）に関する動き補償は許可されない。
【０１８４】
[0196]これらの欠点に鑑みて、本開示は、ＢＶＳＰ動き補償サイズに重点を置いて、３Ｄ−ＨＥＶＣにおけるビュー合成予測に関する技法を提案する。本開示の技法によれば、ＢＶＳＰのために、各ＰＵはサブブロックに分割され得、したがって、各サブブロックは、異なる視差動きベクトルに関連付けられ、別個に動き補償され得る。このようにして、ＡＭＰを用いて分割されたブロックに関するＢＶＳＰの精度は増大され得、コーディング効率が増大され得る。本開示の技法によれば、ＢＶＳＰとともに使用するために利用可能なサブブロックのサイズは次のようにさらに定義され得る。
【０１８５】
[0197]本開示の一例では、現在ＰＵが１６×４（または、４×１６）であり、現在ＰＵが単方向予測されるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、現在ＰＵの８×４（または、４×８）サブブロックにＢＶＳＰ技法および動き補償技法を適用するように構成され得る。すなわち、ＢＶＳＰサブ領域のサイズは８×４（または、４×８）である。サブブロックの各々に、奥行きブロックから変換された視差動きベクトルが割り当てられ得る。
【０１８６】
[0198]図１７は、ＡＭＰを使用するときの、本開示のＢＶＳＰ技法および動き補償技法を示す概念図である。図１７の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、現在ＰＵ２５０を４×１６ブロックに非対称的に分割する。４×１６分割は単なる一例であり、図１７を参照して説明する本開示の技法は、１６×４分割を含めて、他の非対称分割に適用され得ることに留意されたい。ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＰＵ２５０を４×８サブブロック２５５および２５６に再分割するように構成され得る。
【０１８７】
[0199]図１７の例では、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＢＶＳＰを使用して、ＰＵ２５０を単方向予測するように構成される。この点について、ビデオエンコーダ２０および／またはビデオデコーダ３０は、たとえば、ＮＢＤＶ導出技法を使用して、ＰＵ２５０に関する視差ベクトルを導出するように構成され得る。たとえば、視差ベクトル２６１は隣接ブロック２５２から導出され得る。その場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、参照奥行きピクチャ中の対応する奥行きブロック２６０を位置特定するために、視差ベクトル２６１を再使用するように構成され得る。本開示の技法によれば、ＰＵ２５５に関して単一の視差動きベクトルを導出するために、奥行きブロック２６０全体を使用するのではなく、ビデオエンコーダ２０および／またはビデオデコーダ３０は、サブブロック２５５に関して奥行きブロック２６０の４×８サブブロック２６４から視差動きベクトルを導出し、サブブロック２５６に関して奥行きブロック２６の４×８サブブロック２６２から視差動きベクトルを導出するように構成され得る。
【０１８８】
[0200]その場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ｒｅｆＶＩｄｘＬＸに等しいビュー順序を用いてビュー間参照ピクチャに対応する参照ピクチャで動き補償を実行するために、対応する導出された視差動きベクトルを使用して、サブブロック２５５および２５６の各々に関する参照ブロックを合成することができる。サブブロック２５５および２５６の各々に関して個々の視差動きベクトルを導出することによって、より正確な参照ビューが合成され得、対応する動き補償プロセスは増大されたコーディング利得を達成され得る。
【０１８９】
[0201]本開示の別の例では、現在ＰＵサイズが１６×１２（または、１２×１６）であり、現在ＰＵが単一方向予測されているとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、現在ＰＵを８×４（または、４×８）（ＢＶＳＰサブ領域とも呼ばれる）サブブロックに分割し、ＢＶＳＰを使用して、各サブブロックに関して視差動きベクトルを導出するように構成され得る。
【０１９０】
[0202]別の例では、ＢＶＳサブ領域のサイズが１６×１２または１２×１６に割り当てられ得る。さらに別の例では、各１６×１２（または、１２×１６）サブブロックは、同じＣＵ中の１６×４（４×１６）ＰＵに隣接する１つの１６×８（または、８×１６）サブブロックおよび２つの８×４（または、４×８）サブブロックにさらに分割される。別の例では、１６×８（または、８×１６）サブブロックは、たとえば、対応する奥行きブロックの４つのコーナーに基づいて、２つの８×８サブ領域または４つの４×８（もしくは、８×４）サブ領域にさらに分割され得る。
【０１９１】
[0203]本開示の別の例では、現在ＰＵの高さと幅の両方が８以上であり、ＰＵが双方向予測されるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＢＶＳＰサブ領域のサイズを、３Ｄ−ＨＥＶＣに関する前の提案におけるように４×８または８×４の代わりに、８×８に設定するように構成される。別の例では、１２×１６または１６×１２に等しいサイズを有するＰＵに関して双予測的ＢＶＳＰを使用する代わりに、単一予測的ＢＶＳＰが適用され得る。この場合、動き補償サイズは、４×１６または１６×４にさらに設定され得る。別の例では、現在ＰＵサイズが１６×４または４×１６であり、現在ＰＵが双方向予測されるとき、ＢＶＳＰサブ領域のサイズはＰＵサイズに等しく設定される。
【０１９２】
[0204]サブＰＵ動き予測は、以下の欠点を示す場合がある。このコンテキストで、サブＰＵ動き予測は、上記で説明した、ＪＣＴ３Ｖ−Ｅ０１８４で提案されたサブＰＵ動き予測技法、ならびに、サブＰＵ動き予測のテクスチャビューから奥行きビューへのＭＶＩへの拡張を含み得る。
【０１９３】
[0205]１つの欠点として、非対称動き分割（ＡＭＰ）が有効にされ、現在ＰＵサイズが、たとえば、４×１６、１６×４に等しく、ＶＰＳ中でシグナリングされたサブＰＵブロックサイズが８×８に等しいとき、サブＰＵ動き予測に関する前の提案に基づいて、そのようなＰＵは２つの４×８または８×４サブブロックに分割されることになる。各サブブロックに関して、参照ブロックからの動き情報が継承される。動き情報は、ビュー間動き予測のための参照テクスチャビュー中の視差ベクトルによって識別され得るか、または動きベクトル継承のための対応するテクスチャビュー中のコロケートテクスチャブロックから再使用され得る。この例では、ＨＥＶＣによって許可されない、４×８または８×４ベースの双予測が呼び出される。
【０１９４】
[0206]別の欠点として、ＡＭＰが有効にされ、ＰＵサイズが、たとえば、１２×１６、１６×１２に等しく、ＶＰＳ中でシグナリングされたサブＰＵブロックサイズ（すなわち、サブブロックサイズ）が８×８に等しいとき、サブＰＵ動き予測に関する前の提案に基づいて、そのようなＰＵは２つの８×８サブブロックまたは２つの４×８／８×４サブブロックに分割されることになる。上述の事例と同様に、ＨＥＶＣによって許可されない、４×８／８×４サブブロックは双予測を使用することができる。
【０１９５】
[0207]ビュー間動き予測および（奥行きＰＵに関する）動きベクトル継承に関する技法が本開示で提案される。マージインデックスがビュー間動き予測またはＭＶＩを示すコンテキストにおいて、本開示の技法が適用され得る。具体的には、本開示のビュー間動き予測技法および／またはＭＶＩ技法は、ＡＭＰ  ＰＵをサブブロックにさらに分割し、サブブロックの各々に関して別個の動き情報を取得するための技法を含む。このようにして、サブブロックの各々に関して、ビュー間動き予測および／またはＭＶＩの精度は改善され得、したがって、コーディング効率が増大され得る。
【０１９６】
[0208]本開示の一例では、現在ＰＵがビュー間動き予測および／またはＭＶＩを使用してコーディングされ、現在ＰＵサイズが４×１６または１６×４に等しいとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、ＰＵを２つの４×８または８×４サブブロックに分割するように構成され得る。サブブロックの各々に関して、ビデオエンコーダ２０および／またはビデオデコーダ３０は、特定の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応する参照ブロックからの動き情報だけを取得するように構成され得る。４×８または８×４サブブロックに関して、ＲｅｆＰｉｃＬｉｓｔ０中の参照ブロックに対応する動き情報が継承される。この場合、サブブロックは、ＲｅｆＰｉｃＬｉｓｔ０中のピクチャから単方向予測される。
【０１９７】
[0209]図１８は、サイズ４×１６および１６×４に非対称的に分割されたＰＵに関する動きベクトル継承技法および動き補償技法を示す概念図である。たとえば、４×１６ＰＵでは、ビデオエンコーダ２０および／またはビデオデコーダ３０は、４×１６ＰＵを２つの４×８サブブロック３００および３０２にさらに分割するように構成される。サブブロック３００および３０２の各々に関する動き情報は、特定の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に属する参照ピクチャ中の参照ブロックから取得される。次いで、ＲｅｆＰｉｃＬｉｓｔ０中の参照ブロックに対してサブブロック３００および３０２の各々に関して動き補償が実行される。同様に、１６×４ＰＵの場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、１６×４ＰＵを２つの８×４サブブロック３０４および３０６にさらに分割するように構成される。サブブロック３０４および３０６の各々に関する動き情報は、特定の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に属する参照ピクチャ中の参照ブロックから取得される。次いで、ＲｅｆＰｉｃＬｉｓｔ０中の参照ブロックに対してサブブロック３０４および３０６の各々に関して動き補償が実行される。
【０１９８】
[0210]本開示の別の例では、現在ＰＵサイズが１６×１２、１２×１６、４×１６、または１６×４のうちの１つであるとき、サブＰＵレベルのビュー間動き予測および／または（奥行きに関して）ＭＶＩが適用されるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、８×４／４×８サブブロックに関して双予測を使用しないように構成される。すなわち、現在ＰＵサイズが１６×１２、１２×１６、４×１６、または１６×４のうちの１つであるとき、サブＰＵレベルのビュー間動き予測および／または（奥行きに関して）ＭＶＩが適用されるとき、ビデオエンコーダ２０および／またはビデオデコーダ３０は、８×４／４×８サブブロックに関して単予測だけを使用するように構成される。
【０１９９】
[0211]本開示の別の例では、サブＰＵレベルのビュー間動き予測またはＭＶＩが適用され、現在ＰＵサイズが４×１６または１６×４に等しいとき、ＰＵはサブＰＵに分割されないことが提案される。
【０２００】
[0212]本開示の別の例では、サブＰＵレベルのビュー間動き予測またはＭＶＩが適用され、現在ＰＵサイズが１２×１６または１６×１２に等しいとき、ＰＵは、４×１６または１６×４に等しいサイズを有する３つの等しくサイズ決定されたサブＰＵブロックに分割されることが提案される。各サブＰＵブロックに関して、対応する参照ブロックの動き情報が継承される。
【０２０１】
[0213]本開示の別の例では、現在ＰＵサイズが１２×１６または１６×１２に等しいとき、ＰＵは２つの８×８サブＰＵブロックおよび１つの４×１６または１６×４サブＰＵブロックに分割され、ここにおいて、８×８サブＰＵは、このＰＵを含んでいるＣＵの左半分または上半分を形成する。この例の別の態様では、４×１６および１６×４サブブロックは、２つの４×８または８×４サブＰＵブロックにさらに分割される。各４×８または８×４サブＰＵに関して、参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）に対応する参照ブロックの動き情報だけが取得され、４×８または８×４サブＰＵに関して再使用される。この場合、サブＰＵは、ＲｅｆＰｉｃＬｉｓｔ０中のピクチャから単方向予測される。
【０２０２】
[0214]本開示の別の例では、１２×１６または１６×１２に等しいサイズを有するＰＵに関してＢＶＳＰが使用されるとき、ＰＵは、４×１６または１６×４に等しいサイズを有する３つの等しくサイズ決定されたサブＰＵに分割される。ビデオエンコーダ２０および／またはビデオデコーダ３０は、次いで、対応する奥行きブロックから各サブＰＵに関する一意の視差動きベクトルを導出することができる。
【０２０３】
[0215]図１９は、本開示の技法を実装し得る、ビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス、たとえば、テクスチャ画像と奥行きマップの両方のスライス中のビデオブロックのイントラコーディングおよび（ビュー間コーディングを含む）インターコーディングを実行し得る。テクスチャ情報は、概して、ルミナンス（輝度または強度）情報とクロミナンス（色、たとえば、赤い色相および青い色相）情報とを含む。概して、ビデオエンコーダ２０は、ルミナンススライスに対するコーディングモードを決定し、（たとえば、分割情報、イントラ予測モード選択、動きベクトルなどを再使用することによって）クロミナンス情報を符号化するために、ルミナンス情報をコーディングすることからの予測情報を再使用することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれをも指すことができる。単一方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれをも指すことができる。
【０２０４】
[0216]図１９に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム（たとえば、テクスチャ画像または奥行きマップ）内の現在ビデオブロック（すなわち、ルミナンスブロック、クロミナンスブロック、または奥行きブロックなどのビデオデータのブロック）を受信する。図１９の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、モード選択ユニット４１と、復号ピクチャバッファ（ＤＰＢ）６４と、合計器５０と、変換処理ユニット５２と、量子化ユニット５４と、ループフィルタユニット６３と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４１は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測処理ユニット４６と、分割ユニット４８とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、合計器６２とを含む。ループフィルタユニット６３は、再構築されたビデオからブロッキネスアーティファクト（blockiness artifacts）を除去する目的でブロック境界をフィルタリングするために、デブロッキングフィルタとＳＡＯフィルタとを含み得る。追加のフィルタ（インループまたはポストループ）も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔さのために図示されていないが、望まれる場合には、合計器５０の出力を（インループフィルタとして）フィルタリングすることができる。
【０２０５】
[0217]ビデオデータメモリ４０は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ４０に記憶されるビデオデータは、たとえば、ビデオソース１８から取得される場合がある。ＤＰＢ６４は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用する参照ビデオデータを記憶するバッファである。ビデオデータメモリ４０およびＤＰＢ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ４０およびＤＰＢ６４は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とともにオンチップであるか、またはそれらのような構成要素に対してオフチップであり得る。
【０２０６】
[0218]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間予測を行うために、ビュー間参照フレームを含む、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コーディングを実行することができる。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適当なコーディングモードを選択するために、複数のコーディングパスを実行することができる。
【０２０７】
[0219]さらに、分割ユニット４８は、前のコーディングパス内の前の分割方式の評価に基づいて、ビデオデータのブロックをサブブロックに分割することができる。たとえば、分割ユニット４８は、最初に、フレームまたはスライスをＬＣＵに分割し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいて、ＬＣＵの各々をサブＣＵに分割することができる。モード選択ユニット４１は、サブＣＵへのＬＣＵの分割を示す四分木データ構造をさらに生成することができる。四分木の葉ノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。
【０２０８】
[0220]モード選択ユニット４１は、たとえば誤差結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択することができ、結果のイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために合計器５０に、参照フレームとしての使用のために符号化されたブロックを再構成するために合計器６２に供給する。モード選択ユニット４１はまた、動きベクトル、イントラモードインジケータ、分割情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット５６に提供する。
【０２０９】
[0221]動き推定ユニット４２および動き補償ユニット４４は、高度に一体化され得るが、概念上の目的から別々に示されている。動き推定ユニット４２によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコーディングされたユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコーディングされたユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示すことができる。
【０２１０】
[0222]予測ブロックは、絶対差の合計（ＳＡＤ：sum of absolute difference）、二乗差の合計（ＳＳＤ：sum of square difference）、または他の差メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックとぴったりと一致することが見出されたブロックである。いくつかの例では、ビデオエンコーダ２０は、ＤＰＢ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算することができる。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間することができる。したがって、動き推定ユニット４２は、完全なピクセル位置および分数のピクセル位置に関して動き探索を実行し、分数のピクセル精度で動きベクトルを出力することができる。
【０２１１】
[0223]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵに関する動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、ＤＰＢ６４に記憶された１つまたは複数の参照ピクチャを識別する。参照ピクチャリストは、本開示の技法を使用して構築され得る。動き推定ユニット４２は、計算された動きベクトルを、エントロピー符号化ユニット５６および動き補償ユニット４４に送る。
【０２１２】
[0224]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在のビデオブロックに関するＰＵの動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つの中で動きベクトルが指す予測ブロックを位置特定することができる。合計器５０は、下で論じるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット４２は、ルーマ成分に対して相対的に動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方に関して、ルーマ成分に基づいて計算された動きベクトルを使用する。このように、動き補償ユニット４４は、動き推定ユニット４２がクロマ成分に関する動き探索を実行する必要がないように、クロマ成分をコーディングするためにルーマ成分に関して決定された動き情報を再使用することができる。モード選択ユニット４１はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連付けられたシンタックス要素を生成することができる。
【０２１３】
[0225]イントラ予測処理ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測することができる。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化することができ、イントラ予測処理ユニット４６（または、いくつかの例では、モード選択ユニット４１）は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
【０２１４】
[0226]たとえば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードにレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択することができる。レートひずみ分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または、誤差）の量、ならびに符号化されたブロックを生成するために使用されたビットレート（すなわち、ビットの個数）を決定する。イントラ予測処理ユニット４６は、符号化された様々なブロックのひずみおよびレートから比を算出し、どのイントラ予測モードがブロックの最良のレートひずみ値を示すのかを決定し得る。
【０２１５】
[0227]ブロックに関するイントラ予測モードを選択した後、イントラ予測処理ユニット４６は、ブロックに関して選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび（符号語マッピングテーブルとも呼ばれる）複数の修正されたイントラ予測モードインデックステーブルと、様々なブロックに関する符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを、送信されるビットストリーム中に含め得る。
【０２１６】
[0228]ビデオエンコーダ２０は、モード選択ユニット４１からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。合計器５０は、この減算演算を実行する、１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に類似する変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、ＤＣＴに概念的に類似する他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用され得る。いずれの場合でも、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。
【０２１７】
[0229]変換は、ピクセル値領域からの残差情報を、周波数領域のような変換領域に変換することができる。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４へ送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連付けられたビット奥行きを低減させることができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット５６が走査を実行することができる。
【０２１８】
[0230]量子化の後、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応２進算術コーディング（ＣＡＢＡＣ）、構文ベースコンテキスト適応２進算術コーディング（ＳＢＡＣ）、確率区間分割エントロピー（ＰＩＰＥ）コーディング、または別のエントロピーコーディング技法を実行することができる。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づくものとされ得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後の送信もしくは取出のためにアーカイブされ得る。
【０２１９】
[0231]逆量子化ユニット５８および逆変換処理ユニット６０は、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックをＤＰＢ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４は、動き推定での使用のためにサブ整数ピクセル値を計算するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用することもできる。合計器６２は、ＤＰＢ６４に記憶するための再構成されたビデオブロックを生成するために、再構築された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。再構築されたビデオブロックは、後続ビデオフレーム中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット４２と動き補償ユニット４４とによって使用され得る。
【０２２０】
[0232]ビデオエンコーダ２０は、対応するクロミナンス成分がなくとも、ルミナンス成分をコーディングするためのコーディング技法に実質的に似るように奥行きマップを符号化することができる。たとえば、イントラ予測処理ユニット４６は、奥行きマップのブロックをイントラ予測し得るが、動き推定ユニット４２および動き補償ユニット４４は、奥行きマップのブロックをインター予測し得る。しかしながら、上記で論じたように、奥行きマップのインター予測中、動き補償ユニット４４は、奥行き範囲内の差分と、奥行き範囲に関する精度値とに基づいて、参照奥行きマップの値をスケーリング（すなわち、調整）することができる。たとえば、現在奥行きマップ中および参照奥行きマップ中の異なる最大奥行き値が同じ実世界奥行きに対応し得る場合、ビデオエンコーダ２０は、予測のために、現在奥行きマップ中の最大奥行き値に等しいように、参照奥行きマップの最大奥行き値をスケーリングすることができる。追加または代替として、ビデオエンコーダ２０は、たとえば、ビュー間予測に実質的に類似した技法を使用して、ビュー合成予測のためのビュー合成ピクチャを生成するために、更新された奥行き範囲値と精度値とを使用することができる。
【０２２１】
[0233]図２１〜図２３を参照して下記でより詳細に説明するように、ビデオエンコーダ２０は、上記で説明した本開示の技法を採用するように構成され得る。具体的には、ビデオエンコーダ２０は、ＰＵが非対称分割モードに従って分割されるとき、そのようなＰＵをサブブロックに分割するように構成され得る。ビデオエンコーダ２０は、サブブロックの各々に関する動きベクトルもしくは視差動きベクトルを継承および／または導出するように構成され得る。
【０２２２】
[0234]図２０は、本開示の技法を実装し得るビデオデコーダ３０の例を示すブロック図である。図２０の例では、ビデオデコーダ３０は、ビデオデータメモリ７９と、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測処理ユニット７４と、逆量子化ユニット７６と、逆変換処理ユニット７８と、復号ピクチャバッファ（ＤＰＢ）８２と、ループフィルタユニット８３と、合計器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図１９）に関して説明された符号化パスとは概して逆の復号パスを実行することができる。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得るのに対して、イントラ予測処理ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０２２３】
[0235]ビデオデータメモリ７９は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ７９に記憶されたビデオデータは、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ７９は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。ＤＰＢ８２は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオデコーダ３０によってビデオデータを復号する際に使用する参照ビデオデータを記憶するＤＰＢの一例である。ビデオデータメモリ７９およびＤＰＢ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなど、様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ７９およびＤＰＢ８２は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ７９は、ビデオデコーダ３０の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
【０２２４】
[0236]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す、符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他のシンタックス要素とを動き補償ユニット７２へ転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでのシンタックス要素を受信し得る。
【０２２５】
[0237]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測処理ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックに関する予測データを生成することができる。ビデオフレームがインターコード化（すなわち、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックに関する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ８２に記憶された参照ピクチャに基づいて、本開示の技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構築することができる。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在ビデオブロックに関する予測ブロックを生成するために、その予測情報を使用する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスに関する参照ピクチャリストのうちの１つまたは複数に関する構成情報と、スライスの各インター符号化ビデオブロックに関する動きベクトルと、スライスの各インターコード化ビデオブロックに関するインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０２２６】
[0238]動き補償ユニット７２はまた、補間フィルタに基づいて、補間を実行することができる。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルに関して補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用することができる。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用することができる。
【０２２７】
[0239]逆量子化ユニット７６は、ビットストリーム中で提供され、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０２２８】
[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]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、およびｂｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲の中に含まれるべきである。
【０２５５】
[0267]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の統合された、あるいは個別の論理回路など、１つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明した技法の実装に適切な任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールならびに／またはソフトウェアモジュール内に提供されるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つもしくは複数の回路または論理要素で十分に実装され得る。
【０２５６】
[0268]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）もしくはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。様々なコンポーネント、モジュール、またはユニットは、開示されている技術を実行するように構成されたデバイスの機能的態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。そうではなく、上記で説明したように、様々なユニットは、コーデックハードウェアユニット中で組み合わせられるか、または上記で説明した１つもしくは複数のプロセッサを含む、適切なソフトウェアおよび／あるいはファームウェアとともに相互動作可能なハードウェアユニットの集合によって提供され得る。
【０２５７】
[0269]様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲に含まれる。
以下に、本願の出願当初の特許請求の範囲に記載された発明が付記される。 
［１］ビデオデータを復号する方法であって、前記方法は、ビデオデータのブロックに対応する残差データを受信することを備え、ビデオデータの前記ブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、前記方法は、ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、前記残差データと前記合成されたそれぞれの参照ブロックとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを復号することとを備える、方法。
［２］ビデオデータの前記ブロックは予測ユニットである、［１］に記載の方法。
［３］前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を受信することと、ＢＶＳＰ候補を指すマージ候補インデックスを受信することとをさらに備える、［２］に記載の方法。
［４］前記サブブロックの各々に関する前記それぞれの視差動きベクトルを導出することは、ビデオデータの前記ブロックに関する視差ベクトルを導出することと、前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することとを備える、［１］に記載の方法。
［５］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記方法は、ビデオデータの第２のブロックに対応する残差データを受信することをさらに備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し、前記方法は、ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、前記残差データと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを復号することとをさらに備える、［１］に記載の方法。
［６］動き補償を実行することは、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行することを備える、［５］に記載の方法。
［７］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記方法は、ビデオデータの第２のブロックに対応する残差データを受信することをさらに備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、サイズ１６×１２または１２×１６を有し、前記方法は、ビデオデータの前記第２のブロックを複数のサブブロックに分割することと、単予測的予測を用いて、前記複数のサブブロックの各々を復号することとをさらに備える、［１］に記載の方法。
［８］ビデオデータを符号化する方法であって、前記方法は、非対称動き分割を使用して、ビデオデータのブロックを生成することを備え、ビデオデータの前記ブロックが、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、前記方法は、ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、前記合成されたそれぞれの参照ブロックを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを符号化することとを備える、方法。
［９］ビデオデータの前記ブロックは予測ユニットである、［８］に記載の方法。
［１０］前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を生成することと、ＢＶＳＰ候補を指すマージ候補インデックスを生成することとをさらに備える、［９］に記載の方法。
［１１］前記サブブロックの各々に関する前記それぞれの視差動きベクトルを導出することは、ビデオデータの前記ブロックに関する視差ベクトルを導出することと、前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することとを備える、［８］に記載の方法。
［１２］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記方法は、非対称動き分割を使用して、ビデオデータの第２のブロックを生成することを備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し、前記方法は、ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを符号化することとをさらに備える、［８］に記載の方法。
［１３］動き補償を実行することは、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行することを備える、［１２］に記載の方法。
［１４］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記方法は、非対称動き分割を使用して、ビデオデータの第２のブロックを生成することを備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、サイズ１６×１２または１２×１６を有し、前記方法は、ビデオデータの前記第２のブロックを複数のサブブロックに分割することと、単予測的予測を用いて、前記複数のサブブロックの各々を符号化することとをさらに備える、［８］に記載の方法。
［１５］ビデオデータを復号するように構成された装置であって、前記装置は、ビデオデータのブロックに対応する情報を記憶するように構成されたビデオメモリと、１つまたは複数のプロセッサとを備え、前記１つまたは複数のプロセッサは、ビデオデータの前記ブロックに対応する残差データを受信することを行うように構成され、ビデオデータの前記ブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、前記１つまたは複数のプロセッサは、ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出することと、前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成することと、前記残差データと、前記合成されたそれぞれの参照ブロックとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを復号することとを行うように構成された、装置。
［１６］ビデオデータの前記ブロックは予測ユニットである、［１５］に記載の装置。
［１７］前記１つまたは複数のプロセッサは、前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を受信することと、ＢＶＳＰ候補を指すマージ候補インデックスを受信することとを行うようにさらに構成される、［１６］に記載の装置。
［１８］前記１つまたは複数のプロセッサは、ビデオデータの前記ブロックに関する視差ベクトルを導出することと、前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定することと、前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換することとを行うようにさらに構成される、［１５］に記載の装置。
［１９］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記１つまたは複数のプロセッサは、ビデオデータの第２のブロックに対応する残差データを受信することを行うようにさらに構成され、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し前記１つまたは複数のプロセッサは、ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割することと、１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出することと、前記残差データと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを復号することとを行うようにさらに構成される、［１５］に記載の装置。
［２０］前記１つまたは複数のプロセッサは、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行するようにさらに構成される、［１９］に記載の装置。
［２１］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記１つまたは複数のプロセッサは、ビデオデータの第２のブロックに対応する残差データを受信することを行うようにさらに構成され、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×１２または１２×１６のサイズを有し、前記１つまたは複数のプロセッサは、ビデオデータの前記第２のブロックを複数のサブブロックに分割することと、単予測的予測を用いて、前記複数のサブブロックの各々を復号することとを行うようにさらに構成される、［１５］に記載の装置。
［２２］ビデオデータの前記復号されたブロックを表示するように構成されたディスプレイをさらに備える、［１５］に記載の装置。
［２３］前記ビデオメモリおよび前記１つまたは複数のプロセッサは、モバイル電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、またはテレビジョンのうちの１つの中に収容されたビデオデコーダを備える、［１５］に記載の装置。
［２４］ビデオデータを復号するように構成された装置であって、前記装置は、ビデオデータのブロックに対応する残差データを受信するための手段を備え、ビデオデータの前記ブロックが、非対称動き分割を使用して符号化され、後方ビュー合成予測（ＢＶＳＰ）を使用して単方向予測され、１６×１２、１２×１６、１６×４、または４×１６のサイズを有し、前記装置は、ビデオデータの前記ブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割するための手段と、参照ピクチャに対応する奥行きピクチャ中の対応する奥行きブロックから前記サブブロックの各々に関するそれぞれの視差動きベクトルを導出するための手段と、前記それぞれの導出された視差動きベクトルを使用して、前記サブブロックの各々に関するそれぞれの参照ブロックを合成するための手段と、前記残差データと、前記合成されたそれぞれの参照ブロックとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記ブロックを復号するための手段とを備える、装置。
［２５］ビデオデータの前記ブロックは予測ユニットである、［２４］に記載の装置。
［２６］前記予測ユニットが非対称動き分割を使用して符号化されていることを示し、前記予測ユニットが後方ビュー合成予測を使用して単方向予測されていることを示す、１つまたは複数のシンタックス要素を受信するための手段と、ＢＶＳＰ候補を指すマージ候補インデックスを受信するための手段とをさらに備える、［２５］に記載の装置。
［２７］前記サブブロックの各々に関する前記それぞれの視差動きベクトルを導出するための前記手段は、ビデオデータの前記ブロックに関する視差ベクトルを導出するための手段と、前記導出された視差ベクトルを使用して、前記サブブロックの各々に関する前記対応する奥行きブロックを位置特定するための手段と、前記サブブロックの各々に関する前記対応する奥行きブロックの１つの選択された奥行き値を前記それぞれの視差動きベクトルに変換するための手段とを備える、［２４］に記載の装置。
［２８］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記装置は、ビデオデータの第２のブロックに対応する残差データを受信するための手段をさらに備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×４または４×１６のサイズを有し、前記装置は、ビデオデータの前記第２のブロックを、各々が８×４または４×８のサイズを有するサブブロックに分割するための手段と、１つのそれぞれの参照ブロックから前記サブブロックの各々に関する動き情報を導出するための手段と、前記残差データと、前記導出された動き情報と、１つの参照ピクチャリストとを使用して、前記サブブロックの各々に関して動き補償を実行することによって、ビデオデータの前記第２のブロックを復号するための手段とをさらに備える、［２４］に記載の装置。
［２９］動き補償を実行するための前記手段は、前記１つの参照ピクチャリスト中のピクチャに対して単方向動き補償を実行するための手段を備える、［２８］に記載の装置。
［３０］ビデオデータの前記ブロックはビデオデータの第１のブロックであり、前記装置は、ビデオデータの第２のブロックに対応する残差データを受信するための手段をさらに備え、ビデオデータの前記第２のブロックが、ビュー間動き予測または動きベクトル継承のうちの少なくとも１つを使用して符号化され、１６×１２または１２×１６のサイズを有し、前記装置は、ビデオデータの前記第２のブロックを複数のサブブロックに分割するための手段と、単予測的予測を用いて、前記複数のサブブロックの各々を復号するための手段とをさらに備える、［２４］に記載の装置。
【図１】
0006535673.tif 000007
【図２】
0006535673.tif 000008
【図３】
0006535673.tif 000009
【図４】
0006535673.tif 000010
【図５】
0006535673.tif 000011
【図６】
0006535673.tif 000012
【図７】
0006535673.tif 000013
【図８】
0006535673.tif 000014
【図９】
0006535673.tif 000015
【図１０】
0006535673.tif 000016
【図１１】
0006535673.tif 000017
【図１２】
0006535673.tif 000018
【図１３】
0006535673.tif 000019
【図１４】
0006535673.tif 000020
【図１５】
0006535673.tif 000021
【図１６】
0006535673.tif 000022
【図１７】
0006535673.tif 000023
【図１８】
0006535673.tif 000024
【図１９】
0006535673.tif 000025
【図２０】
0006535673.tif 000026
【図２１】
0006535673.tif 000027
【図２２】
0006535673.tif 000028
【図２３】
0006535673.tif 000029
【図２４】
0006535673.tif 000030
【図２５】
0006535673.tif 000031
【図２６】
0006535673.tif 000032