(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記ビデオデータはサイズ２Ｎ×２Ｎのビデオブロックを備え、Ｎは数であり、前記方法は、
前記ビデオブロックのルーマ成分を２つの２Ｎ×Ｎ部分に区分することと、
非４：２：０であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも１つのクロマ成分を単一の非分割２Ｎ×２Ｎ部分に区分することと、
前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
前記ビデオブロックのビデオブロックサイズを判断することと、
前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正すること、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正することは、前記ビデオブロックのクロマ成分のうちの少なくとも１つの双方向動きベクトルを単方向動きベクトルにコンバートすることを備える、と、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成することと
を備え、
ここにおいて、非４：２：０である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも１つのクロマ成分についての動き情報を提供することを備える、方法。
【請求項２】
ビデオデータを符号化する方法であって、前記ビデオデータはサイズ２Ｎ×２Ｎのビデオブロックを備え、Ｎは数であり、前記方法は、
前記ビデオブロックのルーマ成分を２つの２Ｎ×Ｎ部分に区分することと、
非４：２：０であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも１つのクロマ成分を単一の非分割２Ｎ×２Ｎ部分に区分することと、
前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
前記ビデオブロックのビデオブロックサイズを判断することと、
前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正すること、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正することは、前記ビデオブロックのクロマ成分のうちの少なくとも１つの双方向動きベクトルを単方向動きベクトルにコンバートすることを備える、と、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成することと
を備え、
ここにおいて、非４：２：０である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも１つのクロマ成分についての動き情報を提供することを備える、方法。
【請求項３】
前記ビデオブロックの前記ルーマ成分は、第１の２Ｎ×Ｎ予測ブロックと第２の２Ｎ×Ｎ予測ブロックとに区分され、前記少なくとも１つのクロマ成分についての前記２Ｎ×２Ｎ予測ブロックのための動き情報は、前記ルーマ成分についての前記第１の２Ｎ×Ｎルーマ予測ブロックからの動き情報に基づく、請求項１または２に記載の方法。
【請求項４】
前記ビデオブロックの前記ルーマ成分は、第１の２Ｎ×Ｎ予測ブロックと第２の２Ｎ×Ｎ予測ブロックとに区分され、前記少なくとも１つのクロマ成分についての前記２Ｎ×２Ｎ予測ブロックのための動き情報は、前記ルーマ成分についての前記第１および第２の２Ｎ×Ｎルーマ予測ブロックからの動き情報の組み合わせに基づく、請求項１または２に記載の方法。
【請求項５】
ビデオデータを復号する装置であって、前記ビデオデータはサイズ２Ｎ×２Ｎのビデオブロックを備え、Ｎは数であり、前記装置は、
前記ビデオブロックのルーマ成分を２つの２Ｎ×Ｎ部分に区分するための手段と、
非４：２：０であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも１つのクロマ成分を単一の非分割２Ｎ×２Ｎ部分に区分するための手段と、
前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための動きベクトルを生成するための手段と、
前記ビデオブロックのビデオブロックサイズを判断するための手段と、
前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正するための手段、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正するための手段は、前記ビデオブロックのクロマ成分のうちの少なくとも１つの双方向動きベクトルを単方向動きベクトルにコンバートするための手段を備える、と、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成するための手段と
を備え、
ここにおいて、非４：２：０である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも１つのクロマ成分についての動き情報を提供することを備える、装置。
【請求項６】
ビデオデータを符号化する装置であって、前記ビデオデータはサイズ２Ｎ×２Ｎのビデオブロックを備え、Ｎは数であり、前記装置は、
前記ビデオブロックのルーマ成分を２つの２Ｎ×Ｎ部分に区分するための手段と、
非４：２：０であるクロマフォーマットに基づいて、前記ビデオブロックの少なくとも１つのクロマ成分を単一の非分割２Ｎ×２Ｎ部分に区分するための手段と、
前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための動きベクトルを生成することと、
前記ビデオブロックのビデオブロックサイズを判断するための手段と、
前記ビデオブロックが所定のサイズ以下である場合、前記動きベクトルを修正するための手段、ここにおいて、前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、前記動きベクトルを修正するための手段は、前記ビデオブロックのクロマ成分のうちの少なくとも１つの双方向動きベクトルを単方向動きベクトルにコンバートするための手段を備える、と、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正された動きベクトルとを使用して、前記ビデオブロックについての予測ブロックを生成するための手段と
を備え、
ここにおいて、非４：２：０である前記クロマフォーマットに基づいて、前記動きベクトルを生成することは、前記ビデオブロックの前記ルーマ成分についての動き情報に少なくとも部分的に基づいて、前記ビデオブロックの前記少なくとも１つのクロマ成分についての動き情報を提供することを備え、
ここにおいて、前記ビデオブロックの前記ルーマ成分は、第１の２Ｎ×Ｎ予測ブロックと第２の２Ｎ×Ｎ予測ブロックとに区分される、装置。
【請求項７】
前記ビデオブロックの前記ルーマ成分は、第１の２Ｎ×Ｎ予測ブロックと第２の２Ｎ×Ｎ予測ブロックとに区分され、前記少なくとも１つのクロマ成分についての前記２Ｎ×２Ｎ予測ブロックのための動き情報は、前記ルーマ成分についての前記第１の２Ｎ×Ｎルーマ予測ブロックからの動き情報に基づく、請求項５または６に記載の装置。
【請求項８】
前記ビデオブロックの前記ルーマ成分は、第１の２Ｎ×Ｎ予測ブロックと第２の２Ｎ×Ｎ予測ブロックとに区分され、前記少なくとも１つのクロマ成分についての前記２Ｎ×２Ｎ予測ブロックのための動き情報は、前記ルーマ成分についての前記第１および第２の２Ｎ×Ｎルーマ予測ブロックからの動き情報の組み合わせに基づく、請求項５または６に記載の装置。
【請求項９】
実行されると、１つまたは複数のプロセッサに、請求項１乃至４のいずれか一項に記載の方法を実行させる命令を記憶した、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[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]ＨＥＶＣおよび他のビデオコーディング規格では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、三刺激値（tristimulus）ＹＣｂＣｒ色空間による、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。Ｃｂクロミナンスサンプルは本明細書では「Ｕサンプル」と呼ばれることもある。Ｃｒクロミナンスサンプルは本明細書では「Ｖサンプル」と呼ばれることもある。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【００３４】
[0044]ビデオエンコーダ２０は、クロマに対するルーマへの人間視覚システムの感受性を反映するために４：２：０サンプリングを使用してもよい。このまたは他の例において、ビデオエンコーダ２０は、ルーマアレイに対して、ピクチャのクロマアレイ（すなわち、ＳCbおよびＳCr）をダウンサンプリングしてもよい。ただし、さらに他のケースでは、ダウンサンプリングは、最高品質ビデオを保証するために回避されてよい。たとえば、ビデオエンコーダ２０はＹＵＶ４：２：０ビデオフォーマット、ＹＵＶ４：２：２ビデオフォーマット、または４：４：４ビデオフォーマットを使用してもよい。ＹＵＶ４：２：０ビデオフォーマットにおいて、ビデオエンコーダ２０は、クロマアレイの高さおよび幅がルーマアレイの２分の１になるようにクロマアレイをダウンサンプリングしてもよい。ＹＵＶ４：２：２ビデオフォーマットにおいて、ビデオエンコーダ２０は、クロマアレイの幅がルーマアレイの２分の１になり、かつクロマアレイの高さがルーマアレイと同じになるようにクロマアレイをダウンサンプリングしてもよい。ＹＵＶ４：４：４ビデオフォーマットにおいて、ビデオエンコーダ２０はクロマアレイをダウンサンプリングしない。Ｙ、Ｃｒ、およびＣｒ成分の各々についてのサンプルは、たとえば８ビットまたは１０ビット精度を使って表され得る。
【００３５】
[0045]ビデオエンコーダ２０は、ピクチャの符号化表現を生成するために、コーディングツリーユニット（ＣＴＵ）のセットを生成してもよい。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックはサンプルのＮ×Ｎブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれることもある。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニットを含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のＣＴＵを含み得る。
【００３６】
[0046]本開示は、１つまたは複数のサンプルブロックのサンプルをコーディングするのに使われるサンプルの１つまたは複数のブロックおよびシンタックス構造を指すのに、「ビデオユニット」または「ビデオブロック」という用語を使う場合がある。例示的なタイプのビデオユニットは、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ）、マクロブロック、マクロブロック区分などを含み得る。
【００３７】
[0047]コード化ＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して４分木区分を再帰的に実施して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって「コーディングツリーユニット」という名称がある。コーディングブロックは、サンプルのＮ×Ｎのブロックであり得る。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００３８】
[0048]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分してもよい。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックであり得る。ＣＵの予測ユニット（ＰＵ）は、ピクチャのルーマサンプルの１つの予測ブロック（ＰＢ）と、クロマサンプルの２つの対応する予測ブロック（ＰＢ）と、ＰＢサンプルを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックサンプルを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックの予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成してもよい。
【００３９】
[0049]ビデオエンコーダ２０およびビデオデコーダ３０は、様々なサイズを有するＰＵをサポートし得る。上記のように、ＣＵのサイズはＣＵのルーマコーディングブロックのサイズを指すことがあり、ＰＵのサイズはＰＵのルーマ予測ブロックのサイズを指すことがある。特定のＣＵのサイズを２Ｎ×２Ｎと仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測の場合は２Ｎ×２ＮまたはＮ×ＮのＰＵサイズをサポートすることができ、インター予測の場合は２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称のＰＵサイズをサポートすることができる。ビデオエンコーダ２０およびビデオデコーダ３０はまた、インター予測用の２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズ用の非対称区分化をサポートすることができる。
【００４０】
[0050]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵのための予測ブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいてＰＵのＰＢを生成し得る。ＰＢサイズは、ビットストリーム中で許容可能な最も小さいコーディングブロックサイズを例外として、すべてのブロックサイズに対して（たとえば、すべてのＮに対して）ＣＢサイズと同じに設定されてよい。この例外ケースにおいて、ＣＢは、別個のイントラピクチャ予測モードを各々が有する４つの予測ブロック象限（quadrants）に分割され得る。
【００４１】
[0051]ビデオエンコーダ２０が、ＰＵのＰＢを生成するのにインター予測を使う場合、ルーマおよびクロマＣＢは、１、２、または４つのＰＢに分割され得る。ＰＵに分割されるＣＵに関して上述したように、ＣＵのＣＢは、ＰＢ用の対称的または非対称的な動き区分に分割され得る。ビデオエンコーダ２０は、各インター予測された予測ブロックに、１つまたは２つの動きベクトル（ＭＶ）と、（以下でさらに詳しく説明する）参照ピクチャリストへのインデックスとを割り当てる。さもなければ参照ピクチャメモリローディングにより起こることになるメモリ帯域幅ボトルネックにより、４×４のサイズを有するルーマＰＢはインター予測することができず、４×８サイズおよび８×４サイズのルーマは双予測を使ってインター予測することができない（すなわち、これらの寸法のルーマは単予測に制限される）と、ＨＥＶＣは規定している。
【００４２】
[0052]さらに、ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ブロックを生成し得る。インター予測は、単方向インター予測（すなわち、単予測）でも双方向インター予測（すなわち、双予測）でもよい。単予測または双予測を実施するために、ビデオエンコーダ２０は、現在のスライスに対して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照ロケーションを判断するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索することができる。さらに、単予測を使うとき、ビデオエンコーダ２０は、参照ロケーションに対応するサンプルに少なくとも部分的に基づいて、ＰＵのための予測サンプルブロックを生成すればよい。さらに、単予測を使うとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照ロケーションとの間の空間的変位を示す単一の動きベクトルを生成すればよい。ＰＵの予測ブロックと参照ロケーションとの間の空間的変位を示すために、動きベクトルは、ＰＵの予測ブロックと参照位置との間の水平方向の変位を規定する水平成分を含んでよく、ＰＵの予測ブロックと参照位置との間の垂直方向の変位を規定する垂直成分を含んでよい。
【００４３】
[0053]ＰＵを符号化するのに双予測を使うとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照ロケーションと、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照ロケーションとを判断すればよい。ビデオエンコーダ２０は次いで、現在のビデオユニットの予測ブロックを、第１および第２の参照ロケーションに対応するサンプルに少なくとも部分的に基づいて生成し得る。さらに、ＰＵを符号化するのに双予測を使うとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと第１の参照ロケーションとの間の空間変位を示す第１のＭＶと、ＰＵのサンプルブロックと第２の参照ロケーションとの間の空間変位を示す第２のＭＶとを生成すればよい。本明細書では、「双方向」インター予測用に使用可能と記載されるが、異なる参照ピクチャリストＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャは、それぞれ、時間的意味において、必ずしも先行する／前であり、および後続するとは限らない。そうではなく、２つの参照ピクチャリストは、いくつかのケースでは、両方とも、１つまたは複数の前のフレームからのデータを含み得るか、両方とも、１つまたは複数の後続フレームからのデータを含み得る。２つの参照ピクチャリスト中のデータは、いくつかの状況では同一であってもよい。
【００４４】
[0054]ビデオエンコーダ２０は、ＭＶ用にサブサンプル精度を使うことができる。ＨＥＶＣに従って取得されたルーマＰＢに対して、たとえば、ビデオエンコーダ２０は、分数サンプル位置を補間するための７タップ（４分の１サンプル位置用）または８タップフィルタ（２分の１サンプル位置用）をもつ４分の１サンプル精度、すなわち、ルーマサンプルの間の距離の４分の１を使うことができる。
【００４５】
[0055]クロマサンプルＭＶ分数確度は、クロマサンプリングフォーマットに従って変化可能であり得る。たとえば、４：２：０フォーマットは、水平および垂直寸法の各々に対して半分のクロマサンプルがあるとすると、クロマサンプルの間の距離の１／８のユニットを生じる。ただし、クロマＰＢ用の分数サンプル補間は、ルーマＰＢのものと同様である。ただし、ビデオエンコーダ２０は、クロマ成分の補間には、４タップフィルタを使うことができ、これはやはり、４：２：０フォーマットに対して１／８分数確度を生じる。４：２：２フォーマットに対して、４タップフィルタでの水平分数確度は１／８であり、垂直分数確度は１／４である。４：４：４フォーマットに対して、クロマサンプルＭＶ分数確度は、ルーマブロックのものと同一である。
【００４６】
[0056]したがって、ルーマＰＢを導出するために、ビデオエンコーダ２０は、８タップフィルタを使って分数サンプル補間を実施する。図１１は、成分補間のための例示的整数および分数サンプル位置行列４００を示すブロック図である。現行のＨＥＶＣ規格は、これらの８タップフィルタを、テーブル１に示すように、２分の１サンプル（ｈｆｉｌｔｅｒ）および４分の１サンプル（ｑｆｉｌｔｅｒ）補間位置について定義する。
【００４７】
【表１】
0006342477.tif 000002
【００４８】
[0057]Ａ0,0と表示される行列４００中の位置は、整数位置Ａi,jの事例であり、これは、整数ｉ、ｊの異なる値についてのルーマサンプルを表す。ビデオエンコーダ２０は、次のように、分数サンプル値を取得するために、分数サンプル補間フィルタを適用する。
【００４９】
【数１】
0006342477.tif 000003
【００５０】
[0058]上の式において、Ｂは、参照サンプルのビット深度、たとえば、８ビットを指し、＞＞は右シフト演算を示す。ビデオエンコーダ２０は、行列４００中の残りの位置、すなわちｅ、ｆ、ｇ、ｉ、ｊ、ｋ、ｐ、ｑ、およびｒに置かれた分数サンプルを、残りの位置のための対応する公式に従って、垂直方向に隣接する位置に置かれたサンプルに、対応するフィルタを適用することによって導出することができる。ここで図１に戻ると、ビデオエンコーダ２０はしたがって、補間を行うために、参照ブロックの外に置かれているピクセル／サンプルを取得する。ルーマＰＢ向けの８タップフィルタ用の上記フィルタリング公式のケースにおいて、ビデオエンコーダ２０は、８×８ルーマ予測ブロックについて単予測のために参照ピクチャのピクセルの１５×１５セットをフェッチすることを要求する、位置−３〜＋４にあるサンプルを水平および垂直方向の両方において読み取ることができる。双予測に対しては、ピクセルの数が、参照ピクチャの数とともに倍にされ、１５×１５＊２ピクセルを生じる。８×４および４×８ルーマＰＢに対して、フェッチされるべきピクセルの数は、単予測用には１５×１１＊２である。上述したように、ＨＥＶＣは、８×４および４×８ルーマＰＢを単予測に制限する。
【００５１】
[0059]ビデオエンコーダ２０は、ルーマに対するのと同様に、ただし４タップフィルタを使って、クロマ成分に分数サンプル補間を適用する。ビデオエンコーダ２０はしたがって、−２〜＋１の位置にあるサンプルを、水平および垂直方向の両方において読み取ることができる。これは、４：２：０フォーマットの、８×８の双予測されたクロマ予測ブロックに対して、参照ピクチャのピクセルの１１×１１＊２＊２セットをフェッチすることを要求する。８×４および４×８の単予測クロマＰＢに対して、フェッチされるべきピクセルの数は１１×７＊２＊２である。分数サンプル補間のためにＨＥＶＣに従って必要とされるピクセルの数を、テーブル２に挙げる。
【００５２】
【表２】
0006342477.tif 000004
【００５３】
[0060]テーブル２から分かるように、４：２：０クロマフォーマットと４：４：４クロマフォーマットの両方についてのワーストケースは、双予測を使ってインター予測される８×８予測ユニットである。ルーマインター予測に要求されるピクセルの数は、ルーマが４：２：０、４：２：２、または４：４：４ではダウンサンプリングされないので変わらないことに留意されたい。ただし、４：４：４クロマフォーマット用の分数サンプル補間のためにメモリからサンプルをフェッチするのに要求される帯域幅は、４：２：０クロマフォーマットよりも約４５％高い。非４：２：０クロマフォーマット（たとえば、４：２：２および４：４：４）をサポートするためのハードウェア設計は、必要とされるフレーム生成速度において必要とされる余剰帯域幅を考慮しなければならない。これは、より多いおよび／またはより速いメモリのためのハードウェア実装コストの増大、システムバス速度の増大などにつながり得る。
【００５４】
[0061]ビデオエンコーダ２０は、ＣＵの１つまたは複数のＰＵの予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成した後、ＣＵのルーマ残差ブロックを生成してもよい。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つ中のルーマサンプルと、ＣＵの元のルーマコーディングブロック（ＣＢ）中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ２０はＣＵのＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つ中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ２０はまた、ＣＵのＣｒ残差ブロックを生成することができる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つ中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差分を示し得る。
【００５５】
[0062]さらに、ビデオエンコーダ２０は４分木区分を使用してＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解してもよい。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであってもよい。ＣＵの変換ユニット（ＴＵ）は、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有するモノクロームピクチャまたはピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックに関連付けられ得る。ＴＵに関連付けられたルーマ変換ブロックはＣＵのルーマ残差ブロックのサブブロックであってもよい。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであってもよい。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであってもよい。
【００５６】
[0063]ビデオエンコーダ２０はＴＵのルーマ変換ブロックに１回または複数回の変換を適用してＴＵのルーマ係数ブロックを生成してよい。係数ブロックは変換係数の２次元ブロックであってよい。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのＣｂ変換ブロックに１回または複数回の変換を適用して、ＴＵのＣｂ係数ブロックを生成することができる。ビデオエンコーダ２０は、ＴＵのＣｒ変換ブロックに１回または複数回の変換を適用して、ＴＵのＣｒ係数ブロックを生成することができる。
【００５７】
[0064]ビデオエンコーダ２０は、係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロック、またはＣｒ係数ブロック）を生成した後、係数ブロックを量子化してもよい。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。さらに、ビデオエンコーダ２０は、変換係数を逆量子化し、ピクチャのＣＵのＴＵの変換ブロックを再構築するために変換係数に逆変換を適用することができる。ビデオエンコーダ２０は、ＣＵのコーディングブロックを再構築するために、ＣＵのＴＵの再構築された変換ブロックと、ＣＵのＰＵの予測ブロックとを使うことができる。ピクチャの各ＣＵのコーディングブロックを再構築することによって、ビデオエンコーダ２０はピクチャを再構築することができる。ビデオエンコーダ２０は、復号ピクチャバッファ（ＤＰＢ）に再構築ピクチャを記憶し得る。ビデオエンコーダ２０は、ＤＰＢ中の再構築ピクチャを、インター予測およびイントラ予測用に使うことができる。
【００５８】
[0065]ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ２０は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）を実施し得る。ビデオエンコーダ２０は、エントロピー符号化シンタックス要素をビットストリーム中で出力し得る。
【００５９】
[0066]ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダの中で、ビデオデコーダ３０へ送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ内のフレームの数を記述することができ、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化／予測モードを示すことができる。
【００６０】
[0067]加えて、ビデオエンコーダ２０は、たとえば、残差データを逆量子化し、逆変換することによって符号化ピクチャを復号し、残差データを予測データと組み合わせることができる。このようにして、ビデオエンコーダ２０は、ビデオデコーダ３０によって実施される復号プロセスをシミュレートし得る。したがって、ビデオエンコーダ２０とビデオデコーダ３０の両方は、インターピクチャ予測に使用するために実質的に同じ復号ピクチャにアクセスできる。
【００６１】
[0068]概して、ビデオデコーダ３０は、ビデオエンコーダによって実行される符号化プロセスの逆である復号プロセスを実施し得る。たとえば、ビデオデコーダ３０は、量子化されたビデオデータをエントロピー符号化するためにビデオエンコーダによって使用されるエントロピー符号化技法の逆を使用してエントロピー復号を実施し得る。ビデオデコーダ３０は、ビデオエンコーダ２０によって使用される量子化技法の逆を使用してビデオデータをさらに逆量子化することができ、量子化された変換係数を生成するためにビデオエンコーダ２０によって使用された変換の逆を実施し得る。次いで、ビデオデコーダ３０は、最終的な表示用のビデオブロックを生成するために、隣接参照ブロック（イントラ予測）または別のピクチャからの参照ブロック（インター予測）に、得られた残差ブロックを適用し得る。ビデオデコーダ３０は、ビデオデコーダ３０によって受信されたビットストリーム中の符号化ビデオデータとともに、ビデオエンコーダ２０によって提供されるシンタックス要素に基づいて、ビデオエンコーダ２０によって実施される様々なプロセスの逆を実施するために構成され、命令され、制御され、または導かれ得る。
【００６２】
[0069]インターピクチャ予測のさらなる効率のために、ビデオエンコーダ２０およびビデオデコーダ３０は、動き情報予測、たとえば、動きベクトル予測（ＭＶＰ）のための技法を実装すればよい。ＨＭによってサポートされる動き情報予測のモードには、たとえば、マージモードおよびＡＭＶＰがある。
【００６３】
[0070]マージモードは、コーディングすべき現在ビデオブロックのための、動きベクトル、参照フレームインデックス、予測方向、または他の情報などの動き情報が、現在のビデオブロックと同じピクチャ中の空間的に近隣するビデオブロック、または（時間的に）異なるピクチャ中のコロケートされた、もしくは隣接するビデオブロックから継承される１つまたは複数のビデオコーディングモードを指す。同じピクチャ中の空間的に隣接するブロックはローカル空間隣接ブロックと呼ばれることがある。異なるピクチャ中のコロケートされたまたは隣接するブロックは時間的隣接ブロックと呼ばれることがある。
【００６４】
[0071]マージモードを実装するために、ビデオエンコーダ２０およびビデオデコーダ３０は両方とも、隣接ブロックの動き情報を評価するとともに、そのような動き情報から動き情報候補リストを構築するための、共通の、事前定義されたプロセスを実装する。ビデオエンコーダ２０からビデオデコーダ３０にシグナリングされるインデックス値が、候補リスト中のどの候補が、ビデオブロックをコーディングするのに使われるのかおよび、したがってどの隣接ブロックから（たとえば、現在のブロックに対して上、右上、左、左下、もしくは左上ブロック、または時間的に隣接するピクチャから）、現在のビデオブロックがその動き情報を継承するのかを識別するのに使われ得る。
【００６５】
[0072]スキップモードはマージモードの１つのタイプ（またはマージモードと同様のモード）を備え得る。スキップモードを用いると、動き情報は継承されるが、残差情報はコーディングされない。残差情報は、概して、コーディングされるべきブロックの元の符号化されていないバージョンと、空間的に隣接するブロックまたはコロケートされたブロックから継承される動き情報によって識別される予測ブロックとの間のピクセル差分を示すピクセル差分情報を指す。直接モードは別のタイプのマージモード（またはマージモードと同様のモード）であり得る。直接モードは、動き情報が継承されるという点でスキップモードと同様であり得るが、直接モードを用いると、ビデオブロックは、残差情報を含むようにコーディングされる。「マージモード」という句は、本明細書では、スキップモード、直接モード、またはマージモードと呼ばれることがある、これらのモードのうちのいずれか１つを指すために使用される。
【００６６】
[0073]上述したように、ＨＥＶＣ規格向けのインター予測は、８×４および４×８ＰＵのための単方向予測に制限される。８×４および４×８Ｐｕのための単方向予測にコンバートするために、ＨＥＶＣ規格に従って動作するビデオエンコーダ２０は、そのようなＰＵについての双方向ＭＶを、マージモード用に、ＲｅｆＰｉｃＬｉｓｔ０からの単方向ＭＶにコンバートすればよい。ＡＭＶＰ用には、ＨＥＶＣ規格に従って動作するビデオエンコーダ２０は、単方向ＭＶ予測子に関連付けられたＭＶＰインデックスのみをシグナリングすればよい。
【００６７】
[0074]本開示の技法の一例によると、ビデオエンコーダ２０は、圧縮を向上するために修正圧縮技法を適用することができる。たとえば、ビデオエンコーダ２０は、メモリ帯域幅要件を低減するために確立された、インター予測に対する上述した制約を、ビットストリームの圧縮効率を向上するためになくすことができる。したがって、ビデオエンコーダ２０は、非４：２：０フォーマット用であっても、８×４および４×８ＰＵについての双予測ＭＶ情報を取得し、シグナリングすればよい。マージモード用に、したがって、ビデオエンコーダ２０は、双予測されたＭＶと、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１についてのインデックスとをシグナリングする。ＡＭＶＰ用に、したがって、ビデオエンコーダ２０は、双予測のための第１および第２のＭＶに関連付けられた、に関連付けられたＭＶＰインデックスをシグナリングする。
【００６８】
[0075]修正圧縮技法を適用する別の例では、ビデオエンコーダ２０は、８×４または４×８など、特定の区分サイズに従って区分されたコーディングユニットの異なる成分のための異なる形の区分化を適用することによって、帯域幅削減のための制約を緩和することができる。たとえば、非２Ｎ×２Ｎ区分タイプを有するＣＵについて、ビデオエンコーダ２０は、ルーマＣＢをＣＢ区分タイプに従って区分し、さらに、クロマＣＢのうちの少なくとも１つを２Ｎ×２Ｎ区分タイプに従って区分すれば（すなわち、分割しなくて）よい。一例として、ビデオエンコーダ２０は、２Ｎ×Ｎ区分タイプをもつＣＵを、２つのルーマ２Ｎ×２ＰＢ、２Ｎ×２Ｎ  Ｃｒ成分ＰＢ、および２Ｎ×２Ｎ  Ｃｂ成分ＰＢに区分すればよい。ビデオエンコーダ２０は、常に第１のルーマＰＢから、常に第２、第３、もしくは第４のルーマＰＢから、動き情報を取得することによって、または様々なルーマＰＢからの動き情報を何らかのやり方で組み合わせることによって、ルーマＣＢとは異なるように区分される少なくとも１つのクロマＣＢについての動き情報を導出することができる。これにより、クロマ成分ＰＢ向けの分数サンプル補間を実施するために要求されるメモリ帯域幅を削減することができる。
【００６９】
[0076]修正圧縮技法を適用する別の例では、ビデオエンコーダ２０は、双予測インター予測について、１つの参照ピクチャリストからの参照ピクチャを使うと同時に、別の参照ピクチャリストのピクチャから予測子を取得するために、同じブロック用に２Ｎ×２Ｎ区分タイプ（すなわち、分割されてない）を使って、予測されるべきブロックについての非２Ｎ×２Ｎ区分タイプを有するべき少なくとも１つのルーマまたはクロマ成分をシグナリングすることができる。たとえば、ビデオエンコーダ２０は、ブロックを双予測するために、ＲｅｆＰｉｃＬｉｓｔ１用に２Ｎ×２Ｎ区分を使うとともに、参照リストＲｅｆＰｉｃＬｉｓｔ０用に２Ｎ×Ｎ区分タイプをシグナリングすればよい（またはその反対）。これらの技法は、インター予測についての帯域幅要件を低減し、上で言及した、付随するハードウェアコスト増大を回避し得ることを可能にし得る。
【００７０】
[0077]本開示の技法による別の例において、ビデオエンコーダ２０は、追加状況のための非４：２：０フォーマット用のビデオコーディングにおける双予測モードの使用を制限することができる。たとえば、クロマフォーマットが４：２：２または４：４：４である場合、ビデオエンコーダ２０は、帯域幅削減動作をより大きいサイズのＰＵに展開してよい。したがって、たとえば、４×８および８×４ＰＵ用の双予測を制限するのに加え、ビデオエンコーダ２０は、非４：２：０フォーマットを検出し、または符号化するように構成され、したがって、サイズ基準を満たすＰＵ区分サイズ用の、たとえば、８×８ＰＵ、８×１６／１６×８ＰＵなどのような、任意の１つまたは複数のより大きいＰＵ区分サイズ用の双予測をさらに制限することができる。ビデオエンコーダ２０はしたがって、（やはり、ビデオエンコーダ２０が、拡張された制約を適用するとき）そのようなＰＵについての双方向動きベクトルを単方向動きベクトルにコンバートすることができる。ビデオエンコーダ２０は、上述したマージモードまたはＡＭＶＰ用のコンバージョン技法のうちの１つを使って、双方向ＭＶを単方向ＭＶにコンバートすることができる。
【００７１】
[0078]別の例では、ビデオエンコーダ２０は、ＰＵについての１つまたは複数のＭＶを、ＰＵ、４×８および８×４ＰＵなど、より小さいサイズのＰＵについての整数ペルに丸めればよい。動きベクトルを整数ペルに丸めることは、動きベクトルの水平および垂直成分を、参照ピクチャ中の成分についての最も近いサンプル位置に丸めることを指し得る。いくつかのケースでは、ビデオエンコーダ２０は、双予測を使って取得されたＰＵについてのみ、整数ペルの丸めを適用することができる。
【００７２】
[0079]上記技法は、帯域幅削減をもたらすことができ、ここで、ＰＵ分数サンプル補間用にフェッチされるピクセルの数は、テーブル３に従う。クロマフォーマット４：４：４についてのワーストケースは、９３４ピクセルから６３８ピクセルに向上し、これは、双予測−単予測が４×８および８×４ＰＵに適用される４：２：０クロマフォーマットについてのワーストケースに匹敵する。
【００７３】
【表３】
0006342477.tif 000005
【００７４】
[0080]本明細書に記載する非４：２：０フォーマット向けのビデオコーディングにおける双予測モードの使用を制限するビデオエンコーダ２０のいくつかの例において、ビデオエンコーダ２０は、ＨＥＶＣ規格に従う４×８および８×４ＰＵ向けの双予測を制限するのに加え、または代替として、成分のタイプによる、より大きいサイズのＰＵ向けの双予測を制限してよい。たとえば、非４：２：０フォーマットで符号化された８×８ＣＵに対して、ビデオエンコーダ２０は、ルーマＰＢについての双予測を認めると同時に、クロマＰＢのうちの少なくとも１つについての双予測を制限してよい。したがって、ビデオエンコーダ２０は、そのようなＰＢについての双方向動きベクトルを（やはり、ビデオエンコーダ２０がこの拡張された成分ごとの制約を適用するとき）、単方向動きベクトルにコンバートすることができる。拡張された帯域幅削減制約は、全体的コーディング効率に対して均等でない影響を有するので、この制約をクロマ成分に適用すると、ルーマ成分に制約を適用する全体的コーディング性能に比較的小さい影響が生じ得るとともに、依然として、ビデオコーディングプロセスのための要求メモリ帯域幅の削減が得られる可能性がある。
【００７５】
[0081]上記技法は、メモリ帯域幅削減を生じる場合があり、ここで、ＰＵ分数サンプル補間用にフェッチされるピクセルの数は、テーブル４に従う。クロマフォーマット４：４：４についてのワーストケースは、９３４ピクセルから６９２ピクセルに向上し、これも、双予測−単予測が４×８および８×４ＰＵに適用される４：２：０クロマフォーマットについてのワーストケースに匹敵する。
【００７６】
【表４】
0006342477.tif 000006
【００７７】
[0082]そのようなメモリ帯域幅削減は、本明細書に記載する技法を利用しないシステムと比べて、メモリバッファのサイズ、メモリバッファの速度、メモリバスのサイズおよび／または速度を低減し、メモリ読取り／書込みを円滑にするのに必要とされる電力の量、または上記の何らかの組合せを減少することができる。
【００７８】
[0083]本明細書に記載する非４：２：０フォーマットのためのビデオコーディングにおける双予測モードの使用を制限するビデオエンコーダ２０のいくつかの例において、ビデオエンコーダ２０が、双予測に対する制約があるＣＵについての少なくとも１つのクロマＰＢを判断するという上記記述の代替として、ビデオエンコーダ２０は代わりに、クロマＰＢに対して双予測を使う（つまり、２つの予測子を取得する）が、２つの予測子に対して同じ動き情報を使うことができる。言い換えると、ビデオエンコーダ２０は、単方向予測子のいずれかを他方の単方向予測子にコピーすればよい。単方向予測子は、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれかからであり得る。ビデオエンコーダ２０は次いで、第１の予測子および第１の予測子のコピーである第２の予測子用のそれぞれの重みｗ０およびｗ１を用いて、重み付けされた双予測を２つの予測子に適用すればよい。たとえば、ＲｅｆＰｉｃＬｉｓｔ０に関する動き情報を使って取得されたインター予測であり得るＰｒｅｄ０について検討し、Ｐｒｅｄ１は、ＲｅｆＰｉｃＬｉｓｔ１に関する動き情報を使って取得されたインター予測であり得る。双予測を使って取得された、判断された予測子は、重み付けされた双予測に従って、
【００７９】
【数２】
0006342477.tif 000007
【００８０】
となる。
上式で、ＭＶ０およびＭＶ１は、対応する予測子についての動きベクトルであり、ｒｅｆＩｄｘ０およびｒｅｆＩｄｘ１は、対応するＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１へのインデックスである。上述した代替技法を使って、ビデオエンコーダ２０は、Ｐｒｅｄ１＝Ｐｒｅｄ０またはＰｒｅｄ０＝Ｐｒｅｄ１と設定する。Ｐｒｅｄ１およびＰｒｅｄ０が等しいとき、ＰｒｅｄBi＝（ｗ０＋ｗ１）＊Ｐｒｅｄ０またはＰｒｅｄBi＝（ｗ０＋ｗ１）＊Ｐｒｅｄ１である。ｗ０＋ｗ１は合計するとすべてのケースにおいて１になるとは限らないが、ｗ０＋ｗ１＝１の場合、この技法は、ビデオエンコーダ２０がクロマＰＢのうちの少なくとも１つについての双予測を制限し、クロマＰＢ（すなわち、クロマ成分）のうちの少なくとも１つについて双予測動きベクトルを単予測動きベクトルにコンバートし得る上記技法に対して取得された同様の予測子を取得する。
【００８１】
[0084]上記記述では、８×８ブロックが、説明のためにのみ使われた。上述した技法は、他のブロックサイズにも適用可能である。
【００８２】
[0085]本開示の技法による別の例では、ビデオエンコーダ２０は、ブロック中のピクセルの数に従って双予測制約を適用することができる。たとえば、所与の閾Ｔの場合、ビデオエンコーダ２０は、Ｈ＊Ｗ≦ＴであるＨ×Ｗのサイズのどのブロックについても、双予測制約と双単コンバージョンとを適用することができる。たとえば、Ｔ＝６４の場合、４×８、８×４、８×８、４×１６、および１６×４ＰＵが双予測制約に含まれる。いくつかの例において、ビデオエンコーダ２０は、閾Ｔについての双予測制約を、Ｈ＋Ｗ≦ＴであるＨ×Ｗのサイズのどのブロックにも適用することができる。ビデオエンコーダ２０は代替として、他のタイプの閾値処理を適用することができる。
【００８３】
[0086]上記段落に記載した次元ベースの閾技法に加え、ビデオエンコーダ２０は、双予測制約を、コーディングユニットまたはサイズエリアについての閾数のブロックに限定することができる。双予測制約が適用されるＣＵのブロックの数を超える場合、ビデオエンコーダ２０は、ＣＵによって定義されるサイズエリアの残りのブロックについて制約を適用するのを慎めばよく、ＣＵ自体が、４分木分割プロセスに従って分割され得る。上記の一例では、１６×１６ＣＵは４つの８×８ＰＵを含み得る。ブロックの閾数が２である場合、ビデオエンコーダ２０は、双予測制約を、１６×１６ＣＵの最初の２つ（または何らかの他の２つ）のブロックのみに適用すればよい。残りの８×８ＰＵは、８×８サイズが他の場合に（少なくとも、非４：２：０フォーマットでのクロマ成分について）双予測のためのサイズ制約を満たすとしても、双予測され得る。
【００８４】
[0087]ビデオエンコーダによって実施されるものとして上述した技法は、ビデオデコーダ３０によって同様に実施され得る。ビデオエンコーダ２０およびビデオデコーダ３０は、上記例のうちのいずれも、組み合わせて、または代替として適用することができる。上記技法のうちのどの１つまたは複数を適用した結果として、ビデオエンコーダ２０およびビデオデコーダ３０は、分数サンプル補間のためにフェッチされるべきピクセルの数を低減し、そうすることによって、ビデオエンコーダ２０およびビデオデコーダ３０についてのハードウェア仕様要件を定義するピークメモリ帯域幅を削減することができる。
【００８５】
[0088]図２は、現在のビデオブロック４０の例、ならびに例示的ビデオブロック４０についての動き情報候補リストを構築するための代表的な空間的および時間的隣接ブロックを示す概念図である。上述したように、マージモードとＡＭＶＰモードの両方が、空間的および時間的隣接ブロックの動き情報から、コーディングされる現在のビデオブロックについての動き情報候補を識別することを含む。さらに、ＨＥＶＣによると、マージモードとＡＭＶＰモードの両方について、ビデオコーダが、動き情報候補リストを構築するとき、同じ候補ブロック、たとえば、図２によって示される候補ブロックのセットの動き情報を検討し得る。
【００８６】
[0089]図２の例は、その動き情報が、マージモードまたはＡＭＶＰモードに従って現在のブロック４０をコーディングするための潜在的動き情報候補と見なされ得る隣接ブロックとして、空間的隣接ブロック４１〜４５と、時間的隣接ブロックＴ１およびＴ２とを示す。ブロック４１（左ネイバー）、ブロック４２（上のネイバー）、ブロック４３（右上ネイバー）、ブロック４４（左下ネイバー）およびブロック４５（左上ネイバー）が、図２に示される現在のビデオブロック４０についての空間的隣接ブロックである。ブロック４１〜４５は、マージモードまたはＡＭＶＰモードのいずれかまたは両方に従って現在のビデオブロック４０をコーディングするための動き情報候補リストを構築するための動き情報候補を識別するための空間的隣接ブロックであり得る。
【００８７】
[0090]時間的隣接ブロックＴ１およびＴ２は、それぞれ、現在のビデオブロック４０に隣接して、およびその内部に示されているが、実際は現在のビデオブロック４０とは異なる（したがって、時間的ネイバーである）ピクチャ中に置かれていることを反映するように破線境界を有する。時間的隣接ブロックＴ１およびＴ２の一方または両方は、マージモードまたはＡＭＶＰモードのいずれかまたは両方に従って現在のビデオブロック４０をコーディングするための動き情報候補リストを構築するための動き情報候補を識別するための時間的隣接ブロックであり得る。時間的候補ブロックＴ１は、図２に示すように、現在のブロック４０（ただし参照ピクチャからの）の右下にあってよく、時間的候補Ｔ２は、現在のビデオブロック４０（ただし参照ピクチャからの）の中心に、またはその近くにあってよい。
【００８８】
[0091]ビデオエンコーダ２０およびビデオデコーダ３０は各々、マージモードまたはＡＭＶＰモードに従って現在のブロック４０をコーディングする際に使用するために、同じまたは同様のやり方で、動き情報候補のリストを形成し得る。候補リストから候補を選択した後、ビデオエンコーダ２０は、選択された候補のインデックスをビデオデコーダにシグナリングすればよい。インデックスに基づいて、ビデオデコーダ３０などのビデオデコーダは、ビデオエンコーダ２０によって選択された候補を識別することができる。選択された候補に関連付けられた動き情報に基づいて、ビデオデコーダ３０は、現在のビデオブロックを復号することができる。候補リストから正しい候補を選択するために、ビデオデコーダ３０は、ビデオエンコーダ２０によって使われる同じ候補セットを構築すればよい。
【００８９】
[0092]ＨＥＶＣコーディング規格において、ビデオブロックは、マージモードに基づくマージインター予測モードとスキップモードとを使ってコーディングされてよく、ここで、動き情報候補からの、動きベクトル、参照ピクチャインデックス、およびインター方向などの動き情報が、現在のブロック４０の動き情報にコピーされ得る。いくつかの例において、５つの空間的候補が、１つの時間的動き情報候補（時間的動きベクトル予測子または「ＴＭＶＰ」と呼ばれることがある）とともに、候補のリスト、たとえば、最大５つの動き情報候補のリストを形成するために検討され得る。ＨＥＶＣによると、マージモード動き情報候補リスト中で使われるべき候補の総数は、５に固定され（または、５を最大値として、ビデオエンコーダによって選択され得る）、リストは、最大４つの空間的動き情報候補と１つの時間的動き情報候補とを含む。したがって、いくつかの例において、マージモード動き情報候補リストは、空間的候補のうちの４つ（すなわち、図２においてブロック４１〜４５によって示される候補のうちの４つ）と、１つの時間的動き情報候補（すなわち、図２においてブロックＴ１およびＴ２によって示される２つの候補のうちの１つ）とを含み得る。時間的動き情報候補は、Ｔ１、またはＴ１が利用可能でない場合は、Ｔ２であり得る。
【００９０】
[0093]空間的または時間的動き情報候補のうちの１つが利用不可能であるか、またはすでに含まれる動き情報候補により冗長である場合、ビデオコーダは、冗長または利用不可能な候補を第５の空間的候補で置き換えればよい。いくつかの例において、冗長または利用不可能な候補は、Ｔ１またはＴ２のうちの他方によって置き換えられ得る。図２に示す番号付けは、候補のリストに空間的候補が追加され得る例示的順序に対応し得る。したがって、この例示的順序を使うと、空間的候補４５が、第５の空間的候補であり、空間的候補４１〜４４の後に追加される。
【００９１】
[0094]動き情報候補リストに含めるための候補ブロック４１〜４５、Ｔ１およびＴ２に隣接する動き情報の検討のための走査順は、たとえば、４１〜４４、Ｔ１、４５であり得る。他の例では、ビデオエンコーダ２０とビデオデコーダ３０の両方によって利用される限り、ためのどの走査順が使われてもよい。たとえば、他の構成では、時間的動き情報候補の前に第５の空間的候補が検討されてよい。動き情報候補リストへの追加のために動き情報候補が検討される走査順は、たとえば、その候補に関連付けられたインデックスに影響し得る。インデックス０〜４をもつ５つの候補がリスト中にある場合、時間的動き情報候補は、それらのインデックスのうちのどれに割り当てられてもよい。同様に、空間的候補も、どのインデックスに割り当てられてもよい。
【００９２】
[0095]ビデオエンコーダ２０およびビデオデコーダ３０は、予測子を判断するために、候補ブロックＴ１およびＴ２のうちのいずれにも分数サンプル補間を適用することができ、これは、フェッチされるピクセルの数により高いメモリ帯域幅を生じ得る。本明細書に記載する技法によると、ビデオエンコーダ２０およびビデオデコーダ３０は、非４：２：０クロマフォーマットで符号化された現在のブロック４０および候補Ｔ１、Ｔ２を用いて予測子を判断するために、帯域幅削減を適用することができる。ビデオエンコーダ２０およびビデオデコーダ３０はしたがって、そうしないと標準ＨＥＶＣで経験されるピークメモリ帯域幅を削減することができる。
【００９３】
[0096]図３は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの、時間的な冗長性を低減または除去するために、時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【００９４】
[0097]図３の例では、ビデオエンコーダ２０は、区分ユニット１３５と、予測処理ユニット１４１と、参照ピクチャメモリ１６４と、加算器１５０と、変換処理ユニット１５２と、量子化ユニット１５４と、エントロピー符号化ユニット１５６とを含む。予測処理ユニット１４１は、動き推定ユニット１４２と、動き補償ユニット１４４と、イントラ予測処理ユニット１４６とを含む。ビデオブロックの再構築のために、ビデオエンコーダ２０はまた、逆量子化ユニット１５８と、逆変換処理ユニット１６０と、加算器１６２とを含む。デブロッキングフィルタ（図３に示さず）も、ブロック境界をフィルタして、再構築されたビデオからブロッキネスアーティファクトを除去するために、含まれ得る。所望であれば、デブロッキングフィルタは、通常、加算器１６２の出力をフィルタするはずである。デブロッキングフィルタに加えて追加のループフィルタ（ループ内またはループ後）も使用され得る。
【００９５】
[0098]図３に示されるように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット１３５はデータをビデオブロックに区分する。この区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、ビデオブロック区分としてのウェルズとして、スライス、タイル、または他のより大きいユニットへの区分をも含み得る。図３に示すビデオエンコーダ２０の例示的構成は概して、符号化すべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。
【００９６】
[0099]予測処理ユニット１４１は、誤差結果（たとえばコーディングレートおよびひずみのレベル）に基づいて現在のビデオブロックについて、複数のイントラコーディングモードの１つ、または複数のインターコーディングモードの１つなど、複数の可能なコーディングモードの１つを選択することができる。予測処理ユニット１４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器１５０に与え、参照ピクチャとして使用するための符号化ブロックを再構築するために加算器１６２に与え得る。
【００９７】
[0100]予測処理ユニット１４１内に見られるイントラ予測処理ユニット１４６は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在のビデオブロックのイントラ予測コーディングを実施し得る。予測処理ユニット１４１内の動き推定ユニット１４２および動き補償ユニット１４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在のビデオブロックのインター予測コーディングを実施する。
【００９８】
[0101]動き推定ユニット１４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスに指定し得る。動き推定ユニット１４２と動き補償ユニット１４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット１４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【００９９】
[0102]予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングすべきビデオブロックのＰＵにぴったり一致することが分かるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ１６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット１４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０１００】
[0103]動き推定ユニット１４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０もしくはＲｅｆＰｉｃＬｉｓｔ０）または第２の参照ピクチャリスト（リスト１もしくはＲｅｆＰｉｃＬｉｓｔ１）から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ１６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット１４２は、計算された動きベクトルをエントロピー符号化ユニット１５６および動き補償ユニット１４４に送る。
【０１０１】
[0104]動き補償ユニット１４４によって実施される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット１４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器１５０は、この減算演算を実施する１つまたは複数の構成要素を表す。動き補償ユニット１４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０１０２】
[0105]イントラ予測処理ユニット１４６は、上に記述したように、動き推定ユニット１４２および動き補償ユニット１４４によって実施されたインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測処理ユニット１４６は、現在のブロックを符号化するために使用するためにイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット１４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット１４６（または、いくつかの例では、モード選択ユニット（図示せず））は、テストされたモードから使用するのに適切なイントラ予測モードを選択すればよい。たとえば、イントラ予測処理ユニット１４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測処理ユニット１４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【０１０３】
[0106]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット１４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット１５６に与え得る。エントロピー符号化ユニット１５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリームに、（コードワードマッピングテーブルとも呼ばれる）複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、コンテキストの各々に対して使用する、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含む場合がある、構成データを含めることができる。
【０１０４】
[0107]予測処理ユニット１４１がインター予測またはイントラ予測を介して現在のビデオブロックの予測ブロックを生成した後、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット１５２に適用され得る。変換処理ユニット１５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット１５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０１０５】
[0108]変換処理ユニット１５２は、結果として生成された変換係数を量子化ユニット１５４に送ることができる。量子化ユニット１５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化処理は、係数の一部または全部と関連したビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって、修正され得る。いくつかの例では、量子化ユニット１５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替として、エントロピー符号化ユニット１５６が走査を実施し得る。
【０１０６】
[0109]量子化の後、エントロピー符号化ユニット１５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット１５６は、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット１５６によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット１５６はまた、コーディングされている現在のビデオスライスについての動きベクトルと、他の動き情報と、他のシンタックス要素とをエントロピー符号化することができる。
【０１０７】
[0110]逆量子化ユニット１５８および逆変換処理ユニット１６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築する。動き補償ユニット１４４は、残差ブロックを参照ピクチャリストのうち１つ内の参照ピクチャのうち１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット１４４はまた、再構築された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器１６２は、参照ピクチャメモリ１６４に記憶するための参照ブロックを生成するために、再構築された残差ブロックを動き補償ユニット１４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット１４２および動き補償ユニット１４４によって参照ブロックとして使用され得る。
【０１０８】
[0111]たとえば、動き推定ユニット１４２および動き補償ユニット１４４によって実施される動き推定および動き補償は、複数の異なる動き情報予測モード、たとえば、マージモードおよびＡＭＶＰモードによる動き情報予測を含み得る。本開示の技法によると、動き推定ユニット１４２および／または動き補償ユニット１４４は、非４：２：０クロマフォーマット用の異なる動き情報予測モードのうちのどれによっても実施されるインター予測のための双予測に対する制約を展開するか、または場合によっては修正することができる。概して、動き推定ユニット１４２および／または動き補償ユニット１４４は、インター予測のための双予測に対する制約を制限し、または場合によっては修正するために、本明細書に記載する技法（たとえば、図１、図５〜図１０を参照して記載したものを含む）のうちのどれを実施してもよい。
【０１０９】
[0112]図４は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット１８０と、予測処理ユニット１８１と、逆量子化ユニット１８６と、逆変換処理ユニット１８８と、加算器１９０と、参照ピクチャメモリ１９２とを含む。予測処理ユニット１８１は、動き補償ユニット１８２とイントラ予測処理ユニット１８４とを含む。ビデオデコーダ３０は、いくつかの例では、図３のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
【０１１０】
[0113]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット１８０は、量子化された係数と、動きベクトルと、他の動き情報と、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット１８０は、予測処理ユニット１８１に動き情報と他のシンタックス要素とを転送する。ビデオデコーダ３０は、例として、ビデオスライスレベルおよび／またはビデオブロックレベルでのシンタックス要素を受信し得る。ビデオデコーダ３０は、いくつかのケースでは、ビデオデコーダ３０によって受信されたビットストリームから、シンタックス要素を抽出することができる。
【０１１１】
[0114]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測処理ユニット１８１のイントラ予測処理ユニット１８４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックについての予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされるとき、予測処理ユニット１８１の動き補償ユニット１８２は、エントロピー復号ユニット１８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうち１つ内の参照ピクチャのうち１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ１９２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構築することができる。
【０１１２】
[0115]動き補償ユニット１８２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット１８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライス用の参照ピクチャリストのうちの１つまたは複数についての構築情報と、スライスのインター符号化ビデオブロックごとの動きベクトルと、スライスのインターコード化ビデオブロックごとのインター予測ステータスと、現在ビデオスライス内のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０１１３】
[0116]動き補償ユニット１８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット１８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。このケースでは、動き補償ユニット１８２は、受信したシンタックス要素からビデオエンコーダ２０で使用された補間フィルタを判断し、補間フィルタを使用して予測ブロックを生成し得る。
【０１１４】
[0117]逆量子化ユニット１８６は、ビットストリーム中で与えられエントロピー復号ユニット１８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ２０によって計算される量子化パラメータの使用を含み得る。逆変換処理ユニット１８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１１５】
[0118]動き補償ユニット１８２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット１８８からの残差ブロックを動き補償ユニット１８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器１９０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタ処理するデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、（コーディングループ内またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックが、以後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ１９２に記憶される。参照ピクチャメモリ１９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
【０１１６】
[0119]動き補償プロセスの一部として予測処理ユニット１８１および／または動き補償ユニット１８２によってビデオデコーダ３０中で実施され得る動き推定は、複数の動き情報予測モード、たとえば、マージモードおよびＡＭＶＰモードによる動き情報予測を含み得る。本開示の技法によると、複数の動き情報予測モードによる動き情報予測は、共通の動き情報候補リスト構築プロセスを含み得る。いくつかの例において、予測処理ユニット１８１および／または動き補償ユニット１８２は、マージモードまたはＡＭＶＰモードのいずれかに従ってビデオブロックをコーディングするときに使われ得る、動き情報予測モードのうちの１つ、たとえば、マージモードのためのリスト構築プロセスに従って動き情報候補リストを生成することができる。
【０１１７】
[0120]予測処理ユニット１８１および／または動き補償ユニット１８２は、エントロピー復号ユニット１８０から、ビデオエンコーダ２０によって、現在のビデオブロックを復号するための動き情報を示し得る、ビットストリーム中に含まれるシンタックス要素を受信することができる。本開示の技法によると、予測処理ユニット１８１および／または動き補償ユニット１８２は、非４：２：０クロマフォーマット用の異なる動き情報予測モードのうちのどれによっても実施されるインター予測のための双予測に対する制約を展開するか、または場合によっては修正することができる。概して、予測処理ユニット１８１および／または動き補償ユニット１８２は、インター予測のための双予測に対する制約を制限し、または場合によっては修正するために、本明細書に記載する技法（たとえば、図１、図５〜図１０を参照して記載したものを含む）のうちのどれを実施してもよい。
【０１１８】
[0121]図５は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの異なる構成要素を異なるように区分することを含む例示的方法を示す流れ図である。図５の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、ビデオブロックのルーマ成分を、ビデオブロックの区分タイプに従って区分する（２００）。たとえば、ビデオブロックは２Ｎ×Ｎ区分タイプを有する場合があり、ビデオコーダは、ルーマ成分を２つの２Ｎ×Ｎ予測ブロックに区分すればよい。ただし、ビデオコーダは、ビデオブロックの少なくとも１つのクロマ成分を、ビデオブロックについての区分タイプとは異なる区分タイプに従って区分する（２０２）。たとえば、ビデオブロックは２Ｎ×Ｎ区分タイプを有する場合があり、ビデオコーダは、ビデオブロックのＣｂおよびＣｒ成分のうちの少なくとも１つを、１つの２Ｎ×２Ｎ予測ブロックに区分すればよい。
【０１１９】
[0122]図６は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも１つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図６の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、第１の参照リスト用のビットストリーム中でシグナリングされた区分タイプを有するビデオブロックの成分を受信する（２１０）。双予測が指定される場合（２１２のＹＥＳ分岐）、ビデオコーダは、第２の参照リストからの予測子に対応するとともに、第１の参照リスト用にビットストリーム中でシグナリングされた区分タイプとは異なる区分タイプに従って双予測されるビデオブロックを区分する（２１４）。ビデオコーダは次いで、第１および第２の参照ピクチャリストの参照ピクチャ用のそれぞれの区分について、対応するブロック領域を取得し、双予測と対応するブロック領域とを使うインター予測を適用する（２１６）。双予測が指定されない場合（２１２のＮＯ分岐）、ビデオコーダは、単予測を使うインター予測を適用する（２１８）。
【０１２０】
[0123]図７は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも１つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図７の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する（２２０）。ビデオブロックが非４：２：０クロマフォーマットでサンプリングされ、ビデオブロックが８×８以下、（たとえば、８×８、８×４、または４×８）のサイズである場合（２２２および２２４のＹＥＳ分岐）、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートし（２２６）、ビデオブロックについての予測子を取得するために、単方向動きベクトルを使ってインター予測を適用する（２２８）。ビデオブロックが、８×８よりも大きいサイズであるか、またはクロマフォーマットが４：２：０である場合（２２２および２２４のＮＯ分岐）、ビデオコーダは、双方向動きベクトルを使って、ビデオブロックについての予測子を取得する（２２８）。
【０１２１】
[0124]図８は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも１つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図８の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する（２４０）。ビデオブロックが非４：２：０クロマフォーマットでサンプリングされ、ビデオブロックが８×８以下、（たとえば、８×８、８×４、または４×８）のサイズである場合（２４２および２４４のＹＥＳ分岐）、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートするが、ビデオブロックのクロマ成分の一方または両方についてのみであり、ルーマ成分についてではない（２４６）。コンバートされたベクトルを有する成分については、成分についての予測子を取得するために、単方向動きベクトルを使ってインター予測を適用する（２４８）。ビデオブロックが、８×８よりも大きいサイズであるか、またはクロマフォーマットが４：２：０である場合（２２２および２２４のＮＯ分岐）、ビデオコーダは、双方向動きベクトルを使って、ビデオブロックについての予測子を取得する（２４８）。
【０１２２】
[0125]図９は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも１つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図９の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する（２５０）。ビデオブロックが非４：２：０クロマフォーマットでサンプリングされ、ビデオブロックが８×８以下、（たとえば、８×８、８×４、または４×８）のサイズである場合（２５２および２５４のＹＥＳ分岐）、ビデオコーダは、第１の参照ピクチャリスト（たとえば、Ｌｉｓｔ０）からの、ビデオブロックのクロマブロックについての双方向動きベクトルについての第１の予測子を、第２の参照ピクチャリスト（たとえば、Ｌｉｓｔ１）からの第２の予測子に設定する（２５６）。
【０１２３】
[0126]ビデオコーダは、クロマブロックについての予測子を取得するために、第１および第２の予測子をそれぞれの重みに従って重み付けすることによって、第１および第２の予測子を使って双予測インター予測を適用する（２５８）。このようにして、ビデオコーダは、予測子を導出するのに必要とされるピクセルをフェッチするためのメモリ帯域幅を削減することができる。
【０１２４】
[0127]図１０は、メモリ帯域幅削減のための、本明細書に記載する技法による、ビデオブロックの少なくとも１つの構成要素についての双予測のために参照リストの予測ブロックを異なるように区分することを含む例示的方法を示す流れ図である。図１０の例示的方法によると、ビデオコーダ、たとえば、ビデオエンコーダ２０またはビデオデコーダ３０は、インター予測プロセスの一部として、ビデオブロックについての双方向動きベクトルを取得する（２７０）。ビデオブロックのサイズ（たとえば、Ｈ×ＷまたはＨ＋Ｗ）が構成可能閾を超え（２７２のＹＥＳ分岐）、ビデオブロック用のクロマフォーマットが４：２：０以外である（２７４のＹＥＳ分岐）場合、ビデオコーダは、双方向動きベクトルを単方向動きベクトルにコンバートする（２７６）。ビデオコーダは次いで、動きベクトルの数による、ビデオブロックについての予測子を取得するために、インター予測（たとえば、２つの動きベクトル用の双予測またはコンバートされた動きベクトル用の単予測）を実施する（２７８）。
【０１２５】
[0128]１つまたは複数の例において、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような有形媒体、または、たとえば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形コンピュータ可読記憶媒体、または、（２）信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータ、または１つもしくは複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【０１２６】
[0129]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形記憶媒体を指すことを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、一方ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１２７】
[0130]命令は、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の統合された、もしくは個別の論理回路などの、１つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書において、前述の構造のうちの任意のものまたは本明細書に記載される技法の実施のために適当な任意の他の構造を参照し得る。加えて、いくつかの態様では、本明細書に記載される機能性は、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれる、専用のハードウェア内および／またはソフトウェアモジュール内で提供され得る。また、技法は、１つまたは複数の回路または論理素子内で完全に実施されてよい。
【０１２８】
[0131]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む多種多様なデバイスまたは装置において実施されてよい。様々な構成要素、モジュール、またはユニットが、開示された技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされ、または、上述される１つまたは複数のプロセッサを含む、適当なソフトウェアおよび／またはファームウェアと一緒に相互作用するハードウェアユニットが集まったものによって提供され得る。
【０１２９】
[0132]様々な例について説明してきた。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータをコーディングする方法であって、
非４：２：０クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得することと、
前記ビデオブロックのビデオブロックサイズを判断することと、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正することと、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成することとを備える方法。
［Ｃ２］  前記ビデオブロックサイズが４×８または８×４以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、Ｃ１に記載の方法。
［Ｃ３］  前記ビデオブロックについての区分タイプを取得することと、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第１の成分を区分することと、
前記ビデオブロックについての区分タイプとは異なる第２の成分についての前記区分タイプに従って前記ビデオブロックの前記第２の成分を区分することとをさらに備え、
ここにおいて、前記動きベクトルを修正することは、前記ビデオブロックの前記第１の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第２の成分についての動きベクトルを生成することを備える、Ｃ１に記載の方法。
［Ｃ４］  前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記双方向動きベクトルを、前記ビデオブロックについての単方向動きベクトルにコンバートすることを備える、Ｃ１に記載の方法。
［Ｃ５］  前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記ビデオブロックの前記複数の成分のうちの第１の成分についてのみの前記双方向動きベクトルを、前記第１の成分についての単方向動きベクトルにコンバートすることを備える、Ｃ１に記載の方法。
［Ｃ６］  前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正することは、前記双方向動きベクトルを単方向動きベクトルにコンバートすることを備え、
前記ビデオブロックについての予測ブロックを生成することは、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用することを備える、Ｃ１に記載の方法。
［Ｃ７］  前記ビデオブロックについての第１の予測子は双予測時間的予測のための第１の動きベクトルを備え、前記ビデオブロックについての第２の予測子は双予測時間的予測のための第２の動きベクトルを備え、
前記動きベクトルを修正することは、前記第１の予測子を前記第２の予測子に設定するように、前記動きベクトルを備える動き情報を修正することを備え、
前記ビデオブロックについての予測ブロックを生成することは、前記第１の予測子と前記第２の予測子とを使って双予測を適用することを備える、Ｃ１に記載の方法。
［Ｃ８］  前記第１の予測子と前記第２の予測子とを使って双予測を適用することは、前記第１の予測子に第１の重みを適用することと、前記第２の予測子に第２の重みを適用することとを備える、Ｃ７に記載の方法。
［Ｃ９］  ビデオデータをコーディングすることは、前記ビデオデータを復号することを備え、
前記非４：２：０クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得することは、ビットストリームから、前記動きベクトルについての動き情報を指定する１つまたは複数のシンタックス要素を抽出することを備える、Ｃ１に記載の方法。
［Ｃ１０］  ビデオデータをコーディングすることは、前記ビデオデータを符号化することを備え、
前記非４：２：０クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得することは、前記ビデオブロックについての前記動きベクトルを少なくとも１つの参照ブロックから導出することと、前記動きベクトルについての動き情報を、ビットストリームについての１つまたは複数のシンタックス要素に符号化することとを備える、Ｃ１に記載の方法。
［Ｃ１１］  ビデオデータをコーディングするための装置であって、
非４：２：０クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得し、
前記ビデオブロックのビデオブロックサイズを判断し、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正し、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成するように構成されたビデオコーダを備える装置。
［Ｃ１２］  前記ビデオブロックサイズが４×８または８×４以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、Ｃ１１に記載の装置。
［Ｃ１３］  前記ビデオコーダは、
前記ビデオブロックについての区分タイプを取得し、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第１の成分を区分し、
前記ビデオブロックについての区分タイプとは異なる第２の成分についての前記区分タイプに従って前記ビデオブロックの前記第２の成分を区分するようにさらに構成され、
ここにおいて、前記動きベクトルを修正するために、前記ビデオコーダは、前記ビデオブロックの前記第１の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第２の成分についての動きベクトルを生成するようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１４］  前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記双方向動きベクトルを、前記ビデオブロックについての単方向動きベクトルにコンバートするようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１５］  前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記ビデオブロックの前記複数の成分のうちの第１の成分についてのみの前記双方向動きベクトルを、前記第１の成分についての単方向動きベクトルにコンバートするようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１６］  前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記双方向動きベクトルを、単方向動きベクトルにコンバートするようにさらに構成され、
前記ビデオブロックについての前記予測ブロックを生成するために、前記ビデオコーダは、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用するようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１７］  前記ビデオブロックについての第１の予測子は双予測時間的予測のための第１の動きベクトルを備え、前記ビデオブロックについての第２の予測子は双予測時間的予測のための第２の動きベクトルを備え、
前記動きベクトルを修正するために、前記ビデオコーダは、前記第１の予測子を前記第２の予測子に設定するように、前記動きベクトルを備える動き情報を修正するようにさらに構成され、
前記ビデオブロックについての予測ブロックを生成するために、前記ビデオコーダは、前記第１の予測子と前記第２の予測子とを使って双予測を適用するようにさらに構成される、Ｃ１１に記載の装置。
［Ｃ１８］  前記第１の予測子と前記第２の予測子とを使って双予測を適用するために、前記ビデオコーダは、前記第１の予測子に第１の重みを適用し、前記第２の予測子に第２の重みを適用するようにさらに構成される、Ｃ１７に記載の装置。
［Ｃ１９］  前記ビデオコーダは、前記ビデオデータを復号するように構成されたビデオデコーダを備え、
前記非４：２：０クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得するために、前記ビデオデコーダは、ビットストリームから、前記動きベクトルについての動き情報を指定する１つまたは複数のシンタックス要素を抽出するように構成される、Ｃ１１に記載の装置。
［Ｃ２０］  前記ビデオコーダは、前記ビデオデータを符号化するように構成されたビデオエンコーダを備え、
前記非４：２：０クロマフォーマットをもつ前記ビデオブロックを予測するための前記動きベクトルを取得するために、前記ビデオエンコーダは、前記ビデオブロックについての前記動きベクトルを少なくとも１つの参照ブロックから導出し、前記動きベクトルについての動き情報を、ビットストリームについての１つまたは複数のシンタックス要素に符号化するように構成される、Ｃ１１に記載の装置。
［Ｃ２１］  ビデオデータをコーディングするための装置であって、
非４：２：０クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得するための手段と、
前記ビデオブロックのビデオブロックサイズを判断するための手段と、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正するための手段と、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成するための手段とを備える装置。
［Ｃ２２］  前記ビデオブロックサイズが４×８または８×４以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、Ｃ２１に記載の装置。
［Ｃ２３］  前記ビデオブロックについての区分タイプを取得するための手段と、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第１の成分を区分するための手段と、
前記ビデオブロックについての区分タイプとは異なる第２の成分についての前記区分タイプに従って前記ビデオブロックの前記第２の成分を区分するための手段とをさらに備え、
ここにおいて、前記動きベクトルを修正するための前記手段は、前記ビデオブロックの前記第１の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第２の成分についての動きベクトルを生成するための手段を備える、Ｃ２１に記載の装置。
［Ｃ２４］  前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記ビデオブロックの前記複数の成分のうちの第１の成分についてのみの前記双方向動きベクトルを、前記第１の成分についての単方向動きベクトルにコンバートするための手段を備える、Ｃ２１に記載の装置。
［Ｃ２５］  前記動きベクトルは、前記ビデオブロックについての双方向動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記双方向動きベクトルを単方向動きベクトルにコンバートすることを備え、
前記ビデオブロックについての予測ブロックを生成するための前記手段は、前記ビデオブロックの前記複数の成分のうちのすべてよりも少ないものにのみ、単方向動きベクトルを適用するための手段を備える、Ｃ２１に記載の装置。
［Ｃ２６］  前記ビデオブロックについての第１の予測子は双予測時間的予測のための第１の動きベクトルを備え、前記ビデオブロックについての第２の予測子は双予測時間的予測のための第２の動きベクトルを備え、
前記動きベクトルを修正するための前記手段は、前記第１の予測子を前記第２の予測子に設定するように、前記動きベクトルを備える動き情報を修正するための手段を備え、
前記ビデオブロックについての予測ブロックを生成するための前記手段は、前記第１の予測子と前記第２の予測子とを使って双予測を適用するための手段を備える、Ｃ２１に記載の装置。
［Ｃ２７］  実行されると、ビデオデータをコーディングするための装置の１つまたは複数のプロセッサに、
非４：２：０クロマフォーマットをもつビデオブロックを予測するための動きベクトルを取得させ、
前記ビデオブロックのビデオブロックサイズを判断させ、
前記ビデオブロックサイズがサイズ基準を満たす場合、前記ビデオブロックを予測するための少なくとも１つの参照ピクチャのサンプルを取得するための修正動きベクトルを生成するように、前記動きベクトルを修正させ、
前記少なくとも１つの参照ピクチャの前記サンプルと前記修正動きベクトルとを使って、前記ビデオブロックについての予測ブロックを生成させる命令を記憶したコンピュータ可読記憶媒体。
［Ｃ２８］  前記ビデオブロックサイズが４×８または８×４以外である場合、前記ビデオブロックサイズは前記サイズ基準を満たす、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ２９］  実行されると、前記１つまたは複数のプロセッサに、
前記ビデオブロックについての区分タイプを取得させ、
前記ビデオブロックについての前記区分タイプに従って前記ビデオブロックの第１の成分を区分させ、
前記ビデオブロックについての区分タイプとは異なる第２の成分についての前記区分タイプに従って前記ビデオブロックの前記第２の成分を区分させる命令をさらに備え、
前記動きベクトルを修正するために、前記命令は、前記１つまたは複数のプロセッサに、前記ビデオブロックの前記第１の成分についての動きベクトルに少なくとも基づいて、前記ビデオブロックの前記第２の成分についての動きベクトルを生成させる、Ｃ２７に記載のコンピュータ可読記憶媒体。
［Ｃ３０］  前記動きベクトルは、前記ビデオブロックの複数の成分の各々についてのそれぞれの双方向動きベクトルを備え、
前記動きベクトルを修正するために、前記命令は、前記１つまたは複数のプロセッサに、前記ビデオブロックの前記複数の成分のうちの第１の成分についてのみの前記双方向動きベクトルを、前記第１の成分についての単方向動きベクトルにコンバートさせる、Ｃ２７に記載のコンピュータ可読記憶媒体。
【図１】
0006342477.tif 000008
【図２】
0006342477.tif 000009
【図３】
0006342477.tif 000010
【図４】
0006342477.tif 000011
【図５】
0006342477.tif 000012
【図６】
0006342477.tif 000013
【図７】
0006342477.tif 000014
【図８】
0006342477.tif 000015
【図９】
0006342477.tif 000016
【図１０】
0006342477.tif 000017
【図１１】
0006342477.tif 000018