(57)【特許請求の範囲】
【請求項１】
ビデオデータをエンコードする方法であって、
符号化単位のビデオブロックの予測ブロックの生成に使用するための複数のイントラ予測モードのうちの１つを、現在のビデオブロックのためのイントラ予測モードのセットから選択することと、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックのイントラ予測モードに基づいて、前記現在のビデオブロックの前記イントラ予測モードをエンコードすることと、
を備え、
前記イントラ予測モードをエンコードすることは、
前記現在のビデオブロックの前記イントラ予測モードが、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちの１つと同じである場合には、
前記現在のビデオブロックのために、前記現在のビデオブロックの前記イントラ予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちの１つと同じであることを示すために、前記イントラ予測モードを表す第１のビットをエンコードすることと、
前記現在のビデオブロックのために、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードが互いに同じではない場合には、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記現在のビデオブロックの前記イントラ予測モードと同じイントラ予測モードを有するかを示すために、前記イントラ予測モードを表す少なくとも１つの追加ビットをエンコードすることと、
を備え、
前記現在のブロックの前記イントラ予測モードが、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちのいずれとも同じではない場合には、
前記現在のビデオブロックのために、前記現在のビデオブロックの前記イントラ予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちのいずれとも同じではないことを示すために、前記イントラ予測モードを表す第１のビットをエンコードすることと、
前記現在のビデオブロックのために、前記１つまたは複数の前にエンコードされたビデオブロックが異なるイントラ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記イントラ予測モードを前記イントラ予測モードのセットから削除することと、
前記現在のビデオブロックのために、前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が前記同じイントラ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードと、前記１つまたは複数の前にエンコードされたビデオブロックのイントラ予測モードではない少なくとも１つの追加のイントラ予測モードと、を前記イントラ予測モードのセットから削除することと、
前記現在のビデオブロックのために、前記イントラ予測モードのセットのうちの残りのイントラ予測モード中のイントラ予測モード識別子の番号を付け直すことと、
前記現在のビデオブロックのために、前記現在のビデオブロックの前記イントラ予測モードに対応する前記イントラ予測モード識別子を識別する符号語をエンコードすることと、
を備える方法。
【請求項２】
前記符号化単位の前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードに基づいて、前記現在のビデオブロックの前記イントラ予測モードのエンコードに使用するために、複数の符号化コンテキストのうちの１つを選択することをさらに備え、エンコードすることが前記選択された符号化コンテキストに従ってエンコードすることを備える請求項１に記載の方法。
【請求項３】
前記符号化コンテキストのうちの１つを選択することが、
前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードがすべて単方向のイントラ予測モードであるときには、第１の符号化コンテキストを選択することと、
前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択することと、
前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択することと、
を備える請求項２に記載の方法。
【請求項４】
残差ブロックを形成するために、前記選択されたイントラ予測モードを使用して生成された前記予測ブロックを、前記現在のビデオブロックから取り除くことと、
前記選択された予測モードに基づいて、前記残差ブロックに適用するための変換を選択することと、
残差変換係数を生成するために、前記選択された変換を前記残差ブロックに適用することと、
をさらに備える請求項１に記載の方法。
【請求項５】
前記残差ブロックに適用するための前記変換を選択することが、
前記選択されたイントラ予測モードが方向性を示すときには、前記残差ブロックに適用するために、方向変換を選択すること、
を備える請求項４に記載の方法。
【請求項６】
複数の方向変換を格納することをさらに備え、前記複数の方向変換のそれぞれが、方向性を示す前記イントラ予測モードのうちの１つに対応し、前記方向変換を選択することが、前記選択されたイントラ予測モードに対応する前記複数の方向変換のうちの前記１つを選択することを備える請求項５に記載の方法。
【請求項７】
前記イントラ予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納することをさらに備え、前記複数の方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記現在のビデオブロックの大きさであるか、または、
前記複数の方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎが前記現在のビデオブロックの大きさである請求項４に記載の方法。
【請求項８】
前記複数のイントラ予測モードが単方向のイントラ予測モードと双方向のイントラ予測モードとを含む請求項１に記載の方法。
【請求項９】
ビデオ符号化装置において実行されると、前記装置にビデオブロックを符号化させるプログラムであって、前記プログラムが請求項１乃至８の何れかのステップを前記装置に実行させる、プログラム。
【請求項１０】
ビデオデータをエンコードする装置であって、
符号化単位のビデオブロックの予測ブロックの生成に使用するために、複数のイントラ予測モードのうちの１つを、現在のビデオブロックのためのイントラ予測モードのセットから選択するための手段と、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックのイントラ予測モードに基づいて、前記現在のビデオブロックの前記イントラ予測モードをエンコードするための手段と、
を備え、
前記現在のビデオブロックの前記イントラ予測モードが、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちの１つと同じである場合には、
前記エンコードするための手段は、前記現在のビデオブロックの前記イントラ予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちの１つと同じであることを示すために、前記イントラ予測モードを表す第１のビットをエンコードし、
前記エンコードするための手段は、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードが互いに同じでない場合には、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記現在のビデオブロックの前記イントラ予測モードと同じイントラ予測モードを有するかを示すために、前記イントラ予測モードを表す少なくとも１つの追加のビットをエンコードし、
前記現在のブロックの前記イントラ予測モードが、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちのいずれとも同じではない場合には、
前記エンコードするための手段は、前記現在のビデオブロックの前記イントラ予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードのうちのいずれとも同じではないことを示すために、前記イントラ予測モードを表す第１のビットをエンコードし、
前記選択するための手段は、前記１つまたは複数の前にエンコードされたビデオブロックが異なるイントラ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記イントラ予測モードを前記現在のビデオブロックのための前記イントラ予測モードのセットから削除し、
前記選択するための手段は、前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が前記同じイントラ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードと、前記１つまたは複数の前にエンコードされたビデオブロックのイントラ予測モードではない少なくとも１つの追加のイントラ予測モードと、を前記現在のビデオブロックのための前記イントラ予測モードのセットから削除し、
前記選択するための手段は、前記現在のビデオブロックのために、前記現在のビデオブロックのための前記イントラ予測モードのセットのうちの残りのイントラ予測モード中のイントラ予測モード識別子の番号を付け直し、
前記エンコードするための手段は、前記現在のビデオブロックの前記イントラ予測モードに対応する前記イントラ予測モード識別子を識別する符号語をエンコードする、
装置。
【請求項１１】
ビデオデータを復号する方法であって、
符号化単位のビデオブロックのエンコードされたビデオデータを受信することと、
前記符号化単位の１つまたは複数の前に復号されたビデオブロックのイントラ予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための複数のイントラ予測モードのうちの１つを前記ビデオブロックのためのイントラ予測モードのセットから識別するために、前記エンコードされたビデオデータを復号することであって、
前記イントラ予測モードを表す第１のエンコードされたビットに基づいて、前記イントラ予測モードが、前記１つまたは複数の前に復号されたビデオブロックのうちの１つである場合には、
前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードが同じであるとき、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記イントラ予測モードを選択することと、
前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードが同じではないとき、前記イントラ予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記イントラ予測モードと同じイントラ予測モードを有するかを識別することと、
前記識別された前に復号されたビデオブロックの前記イントラ予測モードを選択することと、
を備え、
前記イントラ予測モードを表す第１のエンコードされたビットに基づいて、前記イントラ予測モードが、前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードのいずれでもない場合には、
前記１つまたは複数の前に復号されたビデオブロックが異なるイントラ予測モードを有しているとき、前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記イントラ予測モードを前記ビデオブロックのための前記イントラ予測モードのセットから削除することと、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じイントラ予測モードを有しているとき、前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードと、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードではない少なくとも１つの追加のイントラ予測モードと、を前記ビデオブロックのための前記イントラ予測モードのセットから削除することと、
前記ビデオブロックのための前記イントラ予測モードのセットのうちの残りのイントラ予測モード中のイントラ予測モード識別子の番号を付け直すことと、
前記ビデオブロックの予測ブロックの生成に使用するための前記イントラ予測モードに対応する前記イントラ予測モード識別子を識別するための符号語を復号することと、
を備える、前記エンコードされたビデオデータを復号することと、
を備える方法。
【請求項１２】
ビデオ復号化装置において実行されると、前記装置にビデオブロックを復号化させるプログラムであって、前記プログラムが請求項１１のステップを前記装置に実行させる、プログラム。
【請求項１３】
ビデオデータを復号する装置であって、
符号化単位のビデオブロックのエンコードされたビデオデータを受信するための手段と、
前記符号化単位の１つまたは複数の前に復号されたビデオブロックのイントラ予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための複数のイントラ予測モードのうちの１つを前記ビデオブロックのためのイントラ予測モードのセットから識別するために、前記エンコードされたビデオデータを復号するための手段と、
を備え、
前記イントラ予測モードを表す第１のエンコードされたビットに基づいて、前記イントラ予測モードが、前記１つまたは複数の前に復号されたビデオブロックのうちの１つである場合には、
前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードが同じであるとき、前記復号するための手段は、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記イントラ予測モードを選択し、
前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードが同じではないとき、前記復号するための手段は、前記イントラ予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記イントラ予測モードと同じイントラ予測モードを有するかを識別し、
前記復号するための手段は、前記識別された前に復号されたビデオブロックの前記イントラ予測モードを選択し、
前記イントラ予測モードを表す第１のエンコードされたビットに基づいて、前記イントラ予測モードが、前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードのいずれでもない場合には、
前記１つまたは複数の前に復号されたビデオブロックが異なるイントラ予測モードを有しているとき、前記復号するための手段は、前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記イントラ予測モードを前記ビデオブロックのための前記イントラ予測モードのセットから削除し、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じイントラ予測モードを有しているとき、前記復号するための手段は、前記１つまたは複数の前に復号されたビデオブロックの前記イントラ予測モードと、前記１つまたは複数の前にエンコードされたビデオブロックの前記イントラ予測モードではない少なくとも１つの追加のイントラ予測モードと、を前記ビデオブロックのための前記イントラ予測モードのセットから削除し、
前記復号するための手段は、前記ビデオブロックのために、前記イントラ予測モードのセットのうちの残りのイントラ予測モード中のイントラ予測モード識別子の番号を付け直し、
前記復号するための手段は、前記ビデオブロックの予測ブロックの生成に使用するための前記イントラ予測モードに対応する前記イントラ予測モード識別子を識別するための符号語を復号する、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、それぞれの全内容が参照により本明細書に組み込まれる、２００７年６月１５日出願の米国特許仮出願第６０／９４４，４７０号明細書、および２００７年１０月１２日出願の米国特許仮出願第６０／９７９，７６２号明細書の利益を主張する。
【０００２】
本開示は、ディジタルビデオ符号化に関し、より詳細には、ビデオブロックのエントロピ符号化に関する。
【背景技術】
【０００３】
ディジタルビデオ機能は、ディジタルテレビ、ディジタルダイレクト放送方式（digital direct broadcast system）、無線電話ハンドセット（radio telephone handset）などの無線通信装置、無線ブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、ディジタルカメラ、ディジタル記録装置、ビデオゲーム装置、ビデオゲームコンソールなど、を含む広範な装置に組み込まれることができる。ディジタルビデオ装置は、ディジタルビデオをより効率的に送受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＨ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオ圧縮技術を実装する。ビデオ圧縮技術は、ビデオ系列につきものの冗長を低減または削除するために空間的および時間的予測を行う。
【０００４】
ビデオ圧縮は、一般に、空間的予測および／または時間的予測を含む。特に、イントラ符号化（intra-coding）は、ビデオフレーム、ビデオフレームのスライスなどを備え得る所与の符号化単位内のビデオブロック間の空間的冗長を低減または削除するために、空間的予測に依存する。これに対して、インター符号化（inter-coding）は、ビデオ系列の連続する符号化単位のビデオブロック間の時間的冗長を低減または削除するために、時間的予測に依存する。イントラ符号化の場合、ビデオエンコーダは、同じ符号化単位内の他のデータに基づいて、データを圧縮するために、空間的予測を行う。インター符号化の場合、ビデオエンコーダは、２つ以上の隣接する符号化単位のマッチするビデオブロックの動きを追跡するために、動き推定および動き補償を行う。
【０００５】
空間的または時間的予測の後、符号化されている元のビデオブロックから予測プロセス中に生成された予測ビデオブロックを取り除くことによって、残差ブロックが生成される。したがって、残差ブロックは、予測ブロックと符号化されている現在のブロックとの間の差を示す。ビデオエンコーダは、残差ブロックの通信に関連付けられているビットレートをさらに低減するために、変換プロセス、量子化プロセス、およびエントロピ符号化プロセスを適用することができる。変換技術は、１組のピクセル値を、周波数領域におけるピクセル値のエネルギーを表す変換係数に変更することができる。量子化は、変換係数に適用され、一般に、任意の所与の係数に関連付けられているビット数を制限するプロセスを伴う。エントロピエンコーディングの前に、ビデオエンコーダは、量子化された係数ブロックをスキャンして、１次元ベクトルの係数にする。ビデオエンコーディングエントロピは、残差データをさらに圧縮するために、量子化された変換係数のベクトルをエンコードする。
【０００６】
ビデオ復号器は、係数を取り出すために、逆エントロピ符号化操作を行うことができる。受信された１次元ベクトルの係数から２次元ブロックを形成するために、復号器で逆スキャンが行われることもできる。次いで、ビデオ復号器は、再構成された残差ブロックを取得するために、その係数を逆量子化し、逆変換する。次いで、ビデオ復号器は、予測情報および動き情報に基づいて、予測ビデオブロックを復号する。次いでビデオ復号器は、再構成されたビデオブロックを生成し、復号されたビデオ情報の系列を生成するために、予測ビデオブロックを対応する残差ブロックに追加する。
【発明の概要】
【０００７】
本開示は、ビデオブロックのヘッダー情報の符号化のための技術について記述する。特に、本開示の技術は、符号化単位のビデオブロックの予測ブロックの生成に使用するために、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを選択する。ビデオエンコーダは、符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードをエンコードするように構成され得る。ビデオ復号器は、ビデオエンコーダによって行われるエンコードの逆の復号機能（reciprocal decoding function）を行うように構成されることもできる。したがって、ビデオ復号器は、ビデオブロックの予測ブロックの生成に使用するための予測モードを復号するために、同様の技術を使用する。
【０００８】
ビデオエンコーダは、いくつかの例では、例えば、前にエンコードされたビデオブロックの予測モードの、例えば単方向や多方向などのタイプに基づいて、選択された予測モードの符号化に使用するために、異なる符号化コンテキスト（coding context）を選択することができる。さらに、本開示の技術は、さらに、選択された予測モードに基づいて、ビデオブロックの残存情報に、変換を選択的に適用することができる。一例では、ビデオエンコーダは、予測モードの異なる１つにそれぞれ対応する複数の方向変換（directional transform）を格納し、ビデオブロックの選択された予測モードに基づいて、対応する方向変換をビデオブロックに適用することができる。他の例では、ビデオエンコーダは、少なくとも１つの離散的コサイン変換（ＤＣＴ）または整数変換、および複数の方向変換を格納し、選択された予測モードが限定された方向性を示すとき、ＤＣＴまたは整数変換をビデオブロックの残差データに適用し、選択された予測モードが方向性を示すとき、方向変換のうちの１つを、ビデオブロックの残差データに適用することができる。
【０００９】
一態様では、ビデオデータをエンコードする方法は、符号化単位のビデオブロックの予測ブロックの生成に使用するために、複数の予測モードのうちの１つを選択することと、符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードをエンコードすることとを備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１０】
別の態様では、ビデオデータをエンコードする装置は、符号化単位のビデオブロックの予測ブロックの生成に使用するために、複数の予測モードのうちの１つを選択する予測ユニットと、符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードをエンコードするエントロピエンコーディングユニットと、を備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１１】
別の態様では、コンピュータ可読媒体は、ビデオ符号化装置において実行されると、装置にビデオデータを符号化させる命令を備え、これらの命令は、装置に、符号化単位のビデオブロックの予測ブロックの生成に使用するために、複数の予測モードのうちの１つを選択させ、符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードをエンコードさせる。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１２】
別の態様では、ビデオデータをエンコードする装置は、符号化単位のビデオブロックの予測ブロックの生成に使用するために、複数の予測モードのうちの１つを選択するための手段と、符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードをエンコードするための手段と、を備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１３】
別の態様では、ビデオデータを復号する方法は、符号化単位のビデオブロックのエンコードされたビデオデータを受信することと、符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、ビデオブロックの予測ブロックの生成に使用するための複数の予測モードのうちの１つを識別するために、エンコードされたビデオデータを復号することとを備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１４】
別の態様では、ビデオデータを復号するための装置は、符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、ビデオブロックの予測ブロックの生成に使用するための複数の予測モードのうちの１つを識別するために、符号化単位のビデオブロックのエンコードされたビデオデータを復号するエントロピ復号ユニットを備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。この装置は、復号された予測モードを使用して、予測ブロックを生成する予測ユニットも含む。
【００１５】
別の態様では、コンピュータ可読媒体は、ビデオ符号化装置において実行されると、装置にビデオブロックを符号化させる命令を備える。これらの命令は、装置に、符号化単位のビデオブロックのエンコードされたビデオデータを受信させ、符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、ビデオブロックの予測ブロックの生成に使用するための複数の予測モードのうちの１つを識別するために、エンコードされたビデオデータを復号させる。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１６】
別の態様では、ビデオデータを復号するための装置は、符号化単位のビデオブロックのエンコードされたビデオデータを受信するための手段と、符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、ビデオブロックの予測ブロックの生成に使用するための複数の予測モードのうちの１つを識別するために、エンコードされたビデオデータを復号するための手段と、を備える。予測モードは、単方向の予測モードと、少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードと、を含む。
【００１７】
本開示に記載した技術は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実施することができる。ソフトウェアにおいて実施する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはディジタル信号プロセッサ（ＤＳＰ）、または他の同等の集積または個別論理回路など、１つまたは複数のプロセッサを指し得るプロセッサで実行されることができる。これらの技術を実行するための命令を備えるソフトウェアは、最初にコンピュータ可読媒体に格納され、プロセッサによってロードされ、実行され得る。
【００１８】
したがって、本開示は、本開示に記載されている様々な技術の任意のものをプロセッサに実行させるための命令を備えるコンピュータ可読媒体も企図する。いくつかの場合、コンピュータ可読媒体は、製造業者に販売され、かつ／または装置で使用され得るコンピュータプログラム製品の一部分を形成し得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得るとともに、いくつかの場合、パッケージング材も含み得る。
【００１９】
本開示の１つまたは複数の態様の詳細は、添付の図面および以下の説明に記載されている。本開示に記載されている技術の他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本開示に記載されている符号化技術を実行するビデオエンコーディングおよび復号システムを示すブロック図である。
【図２】図２は、図１のビデオエンコーダの一例をさらに詳しく示すブロック図である。
【図３】図３は、図１のビデオ復号器の一例をさらに詳しく示すブロック図である。
【図４】図４は、本開示に従う係数のスキャン順序を調整する仮想例を示す概念図である。
【図５】図５は、係数のスキャン順序を適応的に調整するように構成されたエンコード装置の動作例を示す流れ図である。
【図６】図６は、ビデオブロックのヘッダー情報をエンコードするように構成されたエンコーディングユニットの動作例を示す流れ図である。
【図７】図７は、符号化のための符号化コンテキスト選択例を示す流れ図である。
【図８】図８は、ビデオブロックのヘッダー情報を復号するように構成された復号ユニットの動作例を示す流れ図である。
【発明を実施するための形態】
【００２１】
図１は、本開示に記載されている符号化技術を実行するビデオエンコードおよび復号システム１０を示すブロック図である。図１に示されるように、システム１０は、エンコードされたビデオデータを、通信チャネル１６を介して宛先装置１４に送信するソース装置１２を含む。ソース装置１２は、宛先装置１４に送信するためのエンコードされたビデオデータを生成する。ソース装置１２は、ビデオソース１８、ビデオエンコーダ２０、および送信機２２を含み得る。ソース装置１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャ装置、事前にキャプチャしたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからの供給ビデオを含み得る。別の代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとコンピュータで生成されたビデオとの組合せを生成することができる。いくつかの場合、ソース装置１２は、いわゆるカメラ付き携帯電話またはテレビ電話とすることができ、この場合、ビデオソース１８は、ビデオカメラとすることができる。いずれの場合も、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオは、送信機２２および通信チャネル１６を介してソース装置１２から宛先装置１４に送信するために、ビデオエンコーダ２０によって符号化されることができる。
【００２２】
ビデオエンコーダ２０は、ビデオソース１８からビデオデータを受信する。ビデオソース１８から受信されたビデオデータは、一連のビデオフレームとすることができる。ビデオエンコーダ２０は、一連のビデオフレームをエンコードするために、この一連のビデオフレームをいくつかの符号化単位に分割し、これらの符号化単位を処理する。符号化単位は、例えば、それらフレームの全体とすることもできるし、それらフレームの一部分（すなわちスライス）とすることもできる。したがって、いくつかの例では、フレームは、スライスに分割され得る。ビデオエンコーダ２０は、ビデオデータをエンコードするために、各符号化単位をピクセルのブロック（本明細書では、ビデオブロックまたはブロックと呼ぶ）に分割し、個々の符号化単位内のビデオブロックに対して動作する。したがって、１つの符号化単位（例えば、１つのフレームまたはスライス）は、複数のビデオブロックを含み得る。言い換えれば、１つのビデオ系列は複数のフレームを含み得、１つのフレームは複数のスライスを含み得、１つのスライスは複数のビデオブロックを含み得る。
【００２３】
ビデオブロックは、固定サイズまたは可変サイズを有し、指定された符号化標準に応じてサイズが異なり得る。一例として、国際電気通信連合電気通信標準化部門（ＩＴＵ−Ｔ）のＨ．２６４／ＭＰＥＧ−４，Ｐａｒｔ  １０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）（以下、「Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ」標準）は、ルーマ成分では１６×１６、８×８、または４×４など、クロマ成分では８×８など、様々なブロックサイズのイントラ予測をサポートし、加えて、ルーマ成分では１６×１６、１６×８、８×１６、８×８、８×４、４×８、および４×４など、クロマ成分では対応する縮尺サイズなど、様々なブロックサイズのインター予測をサポートする。Ｈ．２６４では、例えば、しばしばマクロブロック（ＭＢ）と呼ばれる１６×１６ピクセルの各ビデオブロックが、より小さいサイズのサブブロックに細分割され、サブブロックで予測され得る。一般に、ＭＢおよび様々なサブブロックは、ビデオブロックであると考えられることができる。したがって、ＭＢは、ビデオブロックであると考えられることができ、もしパーティション化またはサブパーティション化した場合には、ＭＢは、それ自体、ビデオブロックの組を定義すると考えられることができる。
【００２４】
ビデオブロックごとに、ビデオエンコーダ２０は、ブロックのブロックタイプを選択する。ブロックタイプは、ブロックがインター予測またはイントラ予測のいずれを使用して予測されるかということに加えて、ブロックのパーティションサイズを示し得る。例えば、Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準は、インター１６×１６、インター１６×８、インター８×１６、インター８×８、インター８×４、インター４×８、インター４×４、イントラ１６×１６、イントラ８×８、およびイントラ４×４を含むいくつかのインターおよびイントラ予測ブロックタイプをサポートする。以下で詳しく説明するように、ビデオエンコーダ２０は、ビデオブロックごとにブロックタイプのうちの１つを選択することができる。
【００２５】
また、ビデオエンコーダ２０は、ビデオブロックごとに予測モードを選択する。イントラ符号化されたビデオブロックの場合、予測モードは、１つまたは複数の前にエンコードされたビデオブロックを使用して、現在のビデオブロックを予測する方法を決定することができる。Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準では、例えば、ビデオエンコーダ２０は、イントラ４×４ブロックごとに、９つの可能な単方向の予測モード；すなわち垂直予測モード、水平予測モード、ＤＣ予測モード、対角左下予測モード（diagonal down/left prediction mode）、対角右下予測モード（diagonal down/right prediction mode）、垂直右予測モード、水平下予測モード、垂直左予測モード、および水平上予測モード、のうちの１つを選択することができる。各イントラ８×８ブロックを予測するために、類似の予測モードが使用される。イントラ１６×１６ブロックでは、ビデオエンコーダ２０は、４つの可能な単方向モード；すなわち垂直予測モード、水平予測モード、ＤＣ予測モード、および平面予測モード、のうちの１つを選択することができる。いくつかの例では、ビデオエンコーダ２０は、単方向の予測モードだけではなく、単方向モードの組合せを定義する１つまたは複数の多方向の予測モードも含む予測モードの組から予測モードを選択することができる。例えば、１つまたは複数の多方向の予測モードは、以下でさらに詳しく説明するように、２つの単方向の予測モードを組み合わせた双方向の予測モードとすることができる。
【００２６】
ビデオブロックの予測モードを選択した後、ビデオエンコーダ２０は、選択された予測モードを使用して、予測されたビデオブロックを生成する。予測されたビデオブロックは、残差ブロックを形成するために、元のビデオブロックから取り除かれる。残差ブロックは、元のビデオブロックのピクセル値と生成された予測ブロックのピクセル値との間の差を定量化するピクセル差分値の組を含む。残差ブロックは、２次元ブロック形式（例えば、ピクセル差分値の２次元行列またはアレー）で表されことができる。
【００２７】
残差ブロックの生成後、ビデオエンコーダ２０は、ブロックを符号化する前に、残差ブロックに対して、他のいくつかの操作を行うことができる。ビデオエンコーダ２０は、変換係数のブロックを生成するために、整数変換、ＤＣＴ変換、方向変換、ウェーブレット変換などの変換をピクセル値の残差ブロックに適用することができる。したがって、ビデオエンコーダ２０は、残差ピクセル値を変換係数（残差変換係数とも呼ばれる）に変換する。残差変換係数は、変換ブロックまたは係数ブロックと呼ばれ得る。変換または係数ブロックは、非分離型変換（non-separable transform）が適用されるときには１次元表現の係数とすることができ、分離型変換が適用されるときには２次元表現の係数とすることができる。非分離型変換は、非分離型方向変換を含み得る。分離型変換は、分離型方向変換、ＤＣＴ変換、整数変換、およびウェーブレット変換を含み得る。
【００２８】
変換の後、ビデオエンコーダ２０は、量子化された変換係数（量子化係数、または量子化残差係数とも呼ばれる）を生成するために、量子化を行う。この場合も、量子化係数は、１次元ベクトル形式または２次元ブロック形式で表されことができる。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために、係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連付けられているビット深度を低減することができる。本明細書で使用する場合、「係数」という用語は、変換係数、量子化係数、または他のタイプの係数を表すことができる。本開示の技術は、いくつかの例では、残差ピクセル値に加えて、変換係数および量子化変換係数に適用され得る。しかし、説明のために、本開示の技術は、量子化変換係数の文脈で説明する。
【００２９】
分離型変換が使用され、係数ブロックが２次元ブロック形式で表されるとき、ビデオエンコーダ２０は、係数をスキャンして２次元形式から１次元形式にする。言い換えれば、ビデオエンコーダ２０は、それらの係数をシリアライズして１次元ベクトルの係数にするために、係数を２次元ブロックからスキャンすることができる。本開示の態様のうちの１つによれば、ビデオエンコーダ２０は、収集された統計に基づいて、係数ブロックを１次元に変換するために使用されるスキャン順序を調整することができる。統計は、２次元ブロックの各位置における所与の係数値がゼロまたは非ゼロである尤度の表示を備え、例えば、２次元ブロックの係数位置のそれぞれに関連付けられているカウント、確率または他の統計的メトリックを備え得る。いくつかの例では、統計は、ブロックの係数位置のサブセットについてのみ収集され得る。例えば、特定のブロック数の後、スキャン順序が評価されると、非ゼロの係数を有する確率がより高いと決定されるブロック内の係数位置が、非ゼロの係数を有する確率がより低いと決定されるブロック内の係数位置の前にスキャンされるように、スキャン順序が変更されることができる。このように、最初のスキャン順序は、１次元係数ベクトルの先頭に非ゼロの係数、および１次元係数ベクトルの最後にゼロ値の係数をより効率的に分類するように構成され得る。そして、１次元係数ベクトルの先頭には、非ゼロの係数間により短い一続きのゼロがいくつかあり、１次元係数ベクトルの最後には、より長い一続きのゼロが１つあるので、これは、エントロピ符号化に費やされるビット数を低減することができる。
【００３０】
係数のスキャンの後、ビデオエンコーダ２０は、コンテキスト適応型可変長エンコード（ＣＡＶＬＣ）、コンテキスト適応型２進法算術エンコード（ＣＡＢＡＣ）、ランレングス符号化など、様々なエントロピ符号化方法のうちの任意のものを使用して、符号化単位のビデオブロックのそれぞれをエンコードする。ソース装置１２は、エンコードされたビデオデータを、送信機２２およびチャネル１６を介して宛先装置１４に送信する。通信チャネル１６は、無線周波数（ＲＦ）スペクトルや１つまたは複数の物理的な送信線など、任意の無線または有線の通信媒体、または無線および有線の媒体の任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成し得る。通信チャネル１６は、一般に、ソース装置１２から宛先装置１４にエンコードされたビデオデータを送信するのに適した任意の通信媒体、または異なる通信媒体の集合を表す。
【００３１】
宛先装置１４は、受信機２４、ビデオ復号器２６、および表示装置２８を含み得る。受信機２４は、チャネル１６を介してソース装置１２からエンコードされたビデオビットストリームを受信する。ビデオ復号器２６は、エンコードされたビデオビットストリームを復号するために、エントロピ復号を適用して、符号化単位の符号化されたビデオブロックのヘッダー情報および量子化残差係数を取得する。上述したように、ソース装置１２によってエンコードされた量子化残差係数は、１次元ベクトルとして符号化される。したがって、ビデオ復号器２６は、１次元ベクトルの係数を２次元ブロックの量子化残差係数に変換するために、符号化されたビデオブロックの量子化残差係数をスキャンする。ビデオエンコーダ２０と同様に、ビデオ復号器２６は、ビデオブロックにおける所与の係数位置がゼロまたは非ゼロである尤度を示す統計を収集し、それによって、エンコードプロセスで使用されたのと同じ方法でスキャン順序を調整することができる。したがって、１次元ベクトル表現のシリアライズされた量子化変換係数を変更して、２次元ブロックの量子化変換係数に戻すために、逆の適応形スキャン順序（reciprocal adaptive scan order）がビデオ復号器２６によって適用されることができる。
【００３２】
ビデオ復号器２６は、復号されたヘッダー情報および復号された残存情報を使用して、符号化単位のブロックのそれぞれを再構成する。特に、ビデオ復号器２６は、現在のビデオブロックの予測ビデオブロックを生成し、ビデオブロックのそれぞれを再構成するために、その予測ブロックを対応する残差ビデオブロックと結合することができる。宛先装置１４は、再構成されたビデオブロックを、表示装置２８を介してユーザに表示することができる。表示装置２８は、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機ＬＥＤディスプレイ、または他のタイプのディスプレイ装置など、様々な表示装置のうちの任意のものを備え得る。
【００３３】
いくつかの場合、ソース装置１２および宛先装置１４は、実質的に対称的に動作し得る。例えば、ソース装置１２および宛先装置１４はそれぞれ、ビデオのエンコーディングコンポーネントと復号コンポーネントとを含み得る。したがって、システム１０は、例えば、ビデオストリーミング、ビデオブロードキャスティング、またはビデオ電話など、装置１２と装置１４との間の一方向または二方向のビデオ伝送をサポートし得る。ビデオのエンコーディングコンポーネントと復号コンポーネントとを含む装置は、ディジタルビデオレコーダ（ＤＶＲ）など、一般的なエンコーディング、アーカイブおよび再生装置の一部分も形成し得る。
【００３４】
ビデオエンコーダ２０およびビデオ復号器２６は、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）のＭＰＥＧ−１、ＭＰＥＧ−２、およびＭＰＥＧ−４によって定義されるもの、ＩＴＵ−Ｔ  Ｈ．２６３標準、映画テレビ技術者協会（ＳＭＰＴＥ）４２１Ｍビデオコーデック標準（一般に「ＶＣ−１」と呼ばれる）、中国オーディオビデオ符号化標準ワークグループ（一般に「ＡＶＳ」と呼ばれる）によって定義される標準、および標準化団体によって定義される、または専有的な標準として組織によって開発される任意の他のビデオ符号化標準など、様々なビデオ圧縮標準のうちの任意のものに従って動作し得る。図１には示していないが、いくつかの態様では、ビデオエンコーダ２０およびビデオ復号器２６はそれぞれ、オーディオエンコーダおよび復号器と一体化されていてもよく、共通のデータストリームまたは個別のデータストリームにおけるオーディオおよびビデオの両方のエンコーディングを処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。このように、ソース装置１２および宛先装置１４は、マルチメディアデータに対して動作することができる。該当する場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３多重装置プロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３５】
いくつかの態様において、ビデオブロードキャスティングの場合、本開示に記載されている技術は、２００７年７月に技術標準ＴＩＡ−１０９９として発行された、Ｆｏｒｗａｒｄ  Ｌｉｎｋ  Ｏｎｌｙ（ＦＬＯ）  Ａｉｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、「Ｆｏｒｗａｒｄ  Ｌｉｎｋ  Ｏｎｌｙ  Ａｉｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｍｏｂｉｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｍｕｌｔｉｃａｓｔ」（「ＦＬＯ仕様」）を使用したｔｅｒｒｅｓｔｒｉａｌ  ｍｏｂｉｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｍｕｌｔｉｃａｓｔ（ＴＭ３）システムにおいてリアルタイムのビデオサービスを配信するためのエンハンスドＨ．２６４ビデオ符号化に適用されることができる。すなわち、通信チャネル１６は、ＦＬＯ仕様などに従って無線ビデオ情報をブロードキャストするために使用される無線情報チャネルを含み得る。ＦＬＯ仕様は、ＦＬＯ無線インターフェースに適したビットストリーム構文やセマンティクス、および復号プロセスを定義する例を含む。
【００３６】
あるいは、ビデオは、ＤＶＢ−Ｈ（ディジタルビデオブロードキャストハンドヘルド）、ＩＳＤＢ−Ｔ（総合地上ディジタル放送サービス（integrated services digital broadcast - terrestrial））、またはＤＭＢ（ディジタルメディアブロードキャスト）など、他の標準に従ってブロードキャストされることができる。したがって、ソース装置１２は、移動無線端末、ビデオストリーミングサーバ、またはビデオブロードキャストサーバとすることができる。しかし、本開示に記載した技術は、ブロードキャスト、マルチキャスト、またはポイントツーポイントシステムのうちの任意の特定のタイプに限定されない。ブロードキャストの場合、ソース装置１２は、いくつかのチャネルのビデオデータを、それぞれ図１の宛先装置１４とどうようであることができる複数の宛先装置にブロードキャストすることができる。したがって、図１には単一の宛先装置１４が示されているが、ビデオブロードキャスティングの用途の場合、ソース装置１２は、一般に、多くの宛先装置に同時にビデオコンテンツをブロードキャストすることになる。
【００３７】
他の例では、送信機２２、通信チャネル１６、および受信機２４は、Ｅｔｈｅｒｎｅｔ（登録商標）、電話（例えばＰＯＴＳ）、ケーブル、電力線、および光ファイバシステムを含む任意の有線または無線通信システム、ならびに／あるいは符号分割多元接続（ＣＤＭＡまたはＣＤＭＡ２０００）通信システム、周波数分割多元接続（ＦＤＭＡ）システム、直交周波数分割多元（ＯＦＤＭ）接続システム、例えばＧＳＭ（登録商標）（移動体通信用グローバルシステム），ＧＰＲＳ（汎用パケット無線サービス），ＥＤＧＥ（ｅｎｈａｎｃｅｄ  ｄａｔａ  ＧＳＭ  ｅｎｖｉｒｏｎｍｅｎｔ）などの時分割多元接続（ＴＤＭＡ）システム、ＴＥＴＲＡ（地上無線基盤）携帯電話システム、広帯域符号分割多元接続（ＷＣＤＭＡ（登録商標））システム、高速データレート１ｘＥＶ−ＤＯ（Ｆｉｒｓｔ  ｇｅｎｅｒａｔｉｏｎ  Ｅｖｏｌｕｔｉｏｎ  Ｄａｔａ  Ｏｎｌｙ）またはＩｘＥＶ−ＤＯ  Ｇｏｌｄ  Ｍｕｌｔｉｃａｓｔシステム、ＩＥＥＥ８０２．１８システム、ＭｅｄｉａＦＬＯ（商標）システム、ＤＭＢシステム、ＤＶＢ−Ｈシステム、または２つ以上の装置間のデータ通信のための別の方式、のうちの１つまたは複数を備える無線システムに従った通信のために構成されることができる。
【００３８】
ビデオエンコーダ２０およびビデオ復号器２６はそれぞれ、１つまたは複数のマクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはその任意の組合せとして実装されることができる。ビデオエンコーダ２０およびビデオ復号器２６のそれぞれは、１つまたは複数のエンコーダまたは復号器に含められることができ、そのそれぞれは、それぞれの移動装置、加入者装置、ブロードキャスト装置、サーバなどにおいて、結合されたエンコーダ／復号器（ＣＯＤＥＣ）の一部として統合され得る。さらに、ソース装置１２および宛先装置１４はそれぞれ、該当する場合、無線通信をサポートするのに十分な無線周波数（ＲＦ）無線コンポーネントおよびアンテナを含む、エンコードされたビデオの送受信に適した変調、復調、周波数変換、フィルタリング、および増幅器のコンポーネントを含み得る。しかし、説明を簡単にするために、こうしたコンポーネントを、図１におけるソース装置１２の送信機２２および宛先装置１４の受信機２４として要約される。
【００３９】
図２は、図１のビデオエンコーダ２０の一例をさらに詳しく示すブロック図である。ビデオエンコーダ２０は、ビデオフレーム内のブロックのイントラ符号化およびインター符号化を行う。イントラ符号化は、例えばフレームやスライスなど、所与のビデオ符号化単位内のビデオデータにおける空間的冗長を低減または削除するのに、空間的予測に依存する。イントラ符号化の場合、ビデオエンコーダ２０は、符号化されるブロックと同じ符号化単位内の１つまたは複数の前にエンコードされたブロックに基づいて、空間的予測ブロックを形成する。インター符号化は、ビデオ系列の隣接するフレーム内の時間的冗長を低減または削除するのに、時間的予測に依存する。インター符号化の場合、ビデオエンコーダ２０は、２つ以上の隣接するフレーム間のよくマッチするビデオブロックの移動を追跡するために、動き推定を行う。
【００４０】
図２の例において、ビデオエンコーダ２０は、ブロックパーティションユニット３０、予測ユニット３２、フレーム記憶装置３４、変換ユニット３８、量子化ユニット４０、係数スキャンユニット４１、逆量子化ユニット４２、逆変換ユニット４４、およびエントロピエンコーディングユニット４６を含む。また、ビデオエンコーダ２０は、加算器４８Ａおよび４８Ｂ（「加算器４８」）も含む。ループ内デブロッキングフィルタ（図示せず）は、ブロッキングアーティファクトを低減または削除するために、再構成されたビデオブロックに適用されることができる。図２において様々な特徴をユニットとして説明しているのは、示した装置の異なる機能的側面を強調するためのものであり、必ずしも、こうしたユニットが別々のハードウェアまたはソフトウェアコンポーネントによって実現される必要があることを含意するものではない。むしろ、１つまたは複数のユニットに関連付けられている機能は、共通または別々のハードウェアまたはソフトウェアコンポーネント内で統合されることができる。
【００４１】
ブロックパーティションユニット３０は、例えばビデオソース１８（図１）から一連のビデオフレームの形で、ビデオ情報を受信する（図２では「ＶＩＤＥＯ  ＩＮ」と表記）。ブロックパーティションユニット３０は、各ビデオフレームを、複数のビデオブロックを含む符号化単位に分割する。上述したように、符号化単位は、１つのフレーム全体、または１つのフレームの一部分（例えば、フレームのスライス）とすることができる。一例では、ブロックパーティションユニット３０は、最初に、符号化単位のそれぞれを、１６×１６のパーティションサイズの複数のビデオブロック（すなわち、マクロブロック）に分割することができる。ブロックパーティションユニット３０は、１６×１６のビデオブロックのそれぞれを、８×８のビデオブロックや４×４のビデオブロックなど、より小さいブロックに、さらに細分割することができる。
【００４２】
ビデオエンコーダ２０は、ブロックのブロックタイプに基づいて、符号化単位のビデオブロックごとに、ブロック単位で、イントラ符号化またはインター符号化を行う。予測ユニット３２は、ブロックの選択されたパーティションサイズに加えて、ブロックがインター予測を使用して予測されるべきか、イントラ予測を使用して予測されるべきかを示し得るブロックタイプをビデオブロックのそれぞれに割り当てる。インター予測の場合、予測ユニット３２は、動きベクトルも決定する。イントラ予測の場合、予測ユニット３２は、予測ブロックを生成するために使用する予測モードを決定する。
【００４３】
次いで、予測ユニット３２は、予測ブロックを生成する。予測ブロックは、現在のビデオブロックの予測されたバージョンとすることができる。現在のビデオブロックとは、今現在符号化中のビデオブロックを指す。インター予測の場合、例えば、ブロックがインターブロックタイプを割り当てられているとき、予測ユニット３２は、現在のビデオブロックのインターエンコードの時間的予測を実行することができる。予測ユニット３２は、例えば、最も小さいＭＳＥ、ＳＳＤ、ＳＡＤ、または他の異なるメトリックを有する隣接フレーム内のブロックなど、現在のビデオブロックに最もよくマッチする隣接フレーム内のブロックを識別するために、例えば、現在のビデオブロックを１つまたは複数の隣接ビデオフレーム内のブロックと比較する。予測ユニット３２は、隣接フレームにおいて識別されたブロックを予測ブロックとして選択する。
【００４４】
イントラ予測の場合、すなわち、ブロックがイントラブロックタイプを割り当てられているとき、予測ユニット３２は、共通の符号化単位（例えば、フレームまたはスライス）内の１つまたは複数の前にエンコードされた近隣ブロックに基づいて、予測ブロックを生成することができる。予測ユニット３２は、例えば、現在のフレーム内の１つまたは複数の前にエンコードされた近隣ブロックを使用して、補間を行うことによって、予測ブロックを生成するために、空間的予測を実行することができる。現在のフレーム内の１つまたは複数の近隣ブロックは、例えば、１つまたは複数の前にエンコードされたフレームまたはブロックを格納するための任意のタイプのメモリまたはデータストア装置を備え得るフレーム記憶装置３４から取り出されることができる。
【００４５】
予測ユニット３２は、予測モードの組のうちの１つに従って、補間を行うことができる。上述したように、予測モードの組は、単方向の予測モードおよび／または多方向の予測モードを含み得る。多方向の予測モードは、単方向の予測モードの組合せを定義する。一例において、予測モードの組は、Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準で定義された単方向の予測モード、および２つの単方向の予測モードの様々な組合せを定義する双方向の予測モードを含み得る。
【００４６】
イントラ４×４ブロックタイプの場合、例えば、予測モードの組は、Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準で定義された９つの単方向の予測モード、および単方向の予測モードの可能な組合せのサブセットを含み得る。したがって、単方向の予測モードのすべての３６個の可能な組合せをサポートする代わりに、ビデオエンコーダ２０は、単方向の予測モードの可能な組合せの一部分のみをサポートすることができる。そうすることによって、さほどエンコードの劣化をもたらさない可能性がある。合計１８個のイントラ予測モードを含むイントラ予測モードの組の一例が以下に示されている。
【００４７】
モード０：垂直  
モード１：水平  
モード２：ＤＣ  
モード３：対角左下  
モード４：対角右下  
モード５：垂直右  
モード６：水平下  
モード７：垂直左  
モード８：水平上  
モード９：垂直＋水平（モード０＋モード１）  
モード１０：ＤＣ＋垂直（モード２＋モード０）  
モード１１：ＤＣ＋水平（モード２＋モード１）  
モード１２：対角左下＋水平（モード３＋モード１）  
モード１３：対角右下＋垂直（モード４＋モード０）  
モード１４：垂直右＋水平（モード５＋モード１）  
モード１５：水平下＋垂直（モード６＋モード０）  
モード１６：垂直左＋水平（モード７＋モード１）  
モード１７：水平上＋垂直（モード８＋モード０）
上記で示した組の例では、モード０〜８は、単方向の予測モードであり、モード９〜１７は、双方向の予測モードである。特に、モード０〜８は、Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣ標準で定義されるイントラ４×４予測モードである。モード９〜１７は、可能な双方向の予測モードのサブセットである。示した例における可能な双方向の予測モードのサブセットは、各単方向の予測モードを組み込む少なくとも１つの組合せを含む。各双方向の予測モードは、ＤＣ予測モード（例えば、モード１０および１１）を含む双方向の予測モードに加えて、非並行であり、いくつかの例では、実質的に互いに直交する補間方向を有する単方向の予測モードを組み合わせる。言い換えれば、双方向の予測モードのサブセットは、一般に、「垂直」カテゴリからの予測モードを、「水平」カテゴリからの予測モードと組み合わせた双方向の予測モードを含む。こうした双方向の予測モードは、イントラ予測プロセスに、かなり離れた位置から使用可能な予測ピクセルを組み合わせることを許し、したがって、現在のビデオブロック内のより多くのピクセル位置の予測品質を向上させることができる。
【００４８】
上述した予測モードの組は、説明の目的で記載されている。予測モードの組は、より多くの、またはより少ない予測モードを含んでいてよい。例えば、予測モードの組は、より多くの、またはより少ない双方向の予測モードを含んでいてもよく、または双方向の予測モードを含んでいなくてもよい。他の例では、の予測モードの組は、単方向の予測モードのサブセットのみを含んでいてもよい。さらに、予測モードの組は、双方向の予測モードに加えて、またはその代わりに、２つを超える単方向の予測モードを組み合わせた多方向の予測モード含んでいてもよい。さらに、イントラ４×４ブロックタイプを参照して上述したが、本開示の技術は、他のイントラブロックタイプ（例えば、イントラ８×８ブロックタイプまたはイントラ１６×１６ブロックタイプ）またはインターブロックタイプに適用することができる。
【００４９】
複数の予測モードのうちのどの１つを特定のブロックのために選択するかを決定するために、予測ユニット３２は、その組の予測モードごとに、ラグランジュコストなど、符号化コストを推定し、最も小さい符号化コストの予測モードを選択することができる。他の例では、予測ユニット３２は、可能な予測モードの組の一部分のみの符号化コストを推定することができる。例えば、予測ユニット３２は、１つまたは複数の近隣ビデオブロックのために選択された予測モードに基づいて、その組の予測モードの一部分を選択することができる。予測ユニット３２は、選択された予測モードを使用して、予測ブロックを生成する。
【００５０】
予測ブロックの生成後、ビデオエンコーダ２０は、加算器４８Ａで現在のビデオブロックから予測ユニット３２によって生成された予測ブロックを取り除くことによって、残差ブロックを生成する。残差ブロックは、現在のビデオブロックのピクセル値と予測ブロックのピクセル値との間の差を定量化するピクセル差分値の組を含む。残差ブロックは、２次元ブロック形式（例えば、ピクセル値の２次元行列またはアレー）で表されことができる。言い換えれば、残差ブロックは、ピクセル値の２次元表現である。
【００５１】
変換ユニット３８は、残差変換係数を生成するために、残差ブロックに変換を適用する。変換ユニット３８は、例えば、ＤＣＴ、整数変換、方向変換、ウェーブレット変換、またはその組合せを適用することができる。変換ユニット３８は、予測ブロックを生成するために、予測ユニット３２によって選択された予測モードに基づいて、残差ブロックに変換を選択的に適用することができる。言い換えれば、残存情報に適用された変換は、予測ユニット３２によってブロックのために選択された予測モードに依存し得る。
【００５２】
変換ユニット３８は、複数の異なる変換を維持し、そのブロックの予測モードに基づいて、残差ブロックに変換を選択的に適用することができる。複数の異なる変換は、ＤＣＴ、整数変換、方向変換、ウェーブレット変換、またはその組合せを含み得る。いくつかの例では、変換ユニット３８は、１つのＤＣＴまたは整数変換と複数の方向変換とを維持し、現在のビデオブロックのために選択された予測モードに基づいて、変換を選択的に適用することができる。例えば、変換ユニット３８は、限定された方向性を示す予測モードでは、ＤＣＴまたは整数変換を残差ブロックに適用し、有意の方向性を示す予測モードでは、方向変換のうちの１つを残差ブロックに適用することができる。
【００５３】
上述した予測モードの組の例を使用して、変換ユニット３８は、ＤＣＴまたは整数変換を、モード２、９、および１２〜１７に適用することができる。これらのモードは、ＤＣ予測と、ほぼ直交する方向の２つの予測モードの組合せと、のいずれかであるため、限定された方向性を示し得る。それとは反対に、モード１、３〜８、１０、および１１は、方向性を示し得るモードであり、したがって、変換ユニット３８は、残差ビデオブロックのより良いエネルギー圧縮を達成するために、これらのモードのそれぞれに異なる方向変換を適用し得る。言い換えれば、より強い方向性を有する予測モードが選択されると、方向性は、こうした予測モードの残差ブロックにおいて表されることもできる。また、異なる予測モードの残差ブロックは、異なる方向特性を示す。したがって、ＤＣＴやＤＣＴのような整数変換などの変換に比べて、それぞれの予測モード用に特に訓練された（trained）方向変換は、所与の予測モードの残差ブロックのためにより良いエネルギー圧縮を提供することができる。一方、強力な方向性を含まない予測モードの場合、ＤＣＴまたはＤＣＴのような整数変換などの変換は、十分なエネルギー圧縮を提供する。このように、変換ユニット３８は、可能な予想モードのそれぞれのために別個の変換を維持する必要はなく、したがって、変換格納要件を下げる。さらに、ＤＣＴおよび／または整数変換の適用は、計算の複雑度に関して、それほど複雑ではない。
【００５４】
他の例では、変換ユニット３８は、可能な予測モードごとに異なる方向変換を維持し、ブロックの選択された予測モードに基づいて、対応する方向変換を適用することができる。上述した予測モードの組の例では、変換ユニット３８は、１８個の異なる方向変換を維持することができ、そのそれぞれは、１８個の可能なイントラ４×４予測モードのうちの１つに対応する。さらに、変換ユニット３８は、１８個の可能なイントラ８×８予測モードの１８個の異なる方向変換、および４つの可能なイントラ１６×１６予測モードの４つの異なる方向変換、および他のパーティションサイズの任意の他の予測モードの変換を維持することができる。ブロックの選択された予測モードに基づいて、個別の方向変換を適用することは、特に、有意の方向性を示す予測モードが選択されるブロックの場合、残差エネルギーがキャプチャされる効率を増加する。方向変換は、例えば、非分離型カルーネンレーベ変換（ＫＬＴ）に由来する非分離型方向変換、または分離型方向変換とすることができる。いくつかの例では、方向変換は、データのトレーニングセットを使用して、事前に計算されていてもよい。
【００５５】
ＫＬＴは、基底関数が信号の統計から導出される線形変換であり、したがって、適応形とすることができる。ＫＬＴは、できるだけ多くのエネルギーをできるだけ少ない係数に入れるように設計されている。ＫＬＴは、一般に、分離型ではなく、したがって、変換ユニット３８は、以下で詳しく説明するように、完全な行列乗算（full matrix multiplication）を行う。非分離型方向変換の４×４残差ブロックへの適用が、例示の目的で説明される。例えば、８×８ブロックや１６×１６ブロックなど、異なるサイズのブロックに、類似の技術が使用される。
【００５６】
４×４残差ブロックＸは、４行および４列のピクセル値、すなわち合計１６個のピクセル値を有する２次元ブロック形式で表される。非分離型方向変換を適用するために、４×４残差ブロックは、ピクセル値の１次元ベクトルｘすなわち長さ１６に再配列される。４×４残差ブロックＸは、Ｘにおけるピクセルをラスタスキャン順に配列することによって、ベクトルｘに再配列される。すなわち、４×４残差ブロックＸが、
【数１】
0005575940.tif 000002
【００５７】
のように書かれる場合、長さ１６の残差ブロックｘは、
【数２】
0005575940.tif 000003
【００５８】
のように書かれる。
【００５９】
以下の式（１）に従って行列乗算を実行することによって、変換係数ベクトルｙが得られる。  
ｙ＝Ｔｘ                                                      （１）  
ただし、Ｔは、ブロックのために選択された予測モードに対応するサイズ１６×１６の変換行列である。また、変換係数ベクトルｙは、長さ１６の係数を有する１次元ベクトルでもある。
【００６０】
非分離型方向変換の使用は、計算コストおよび格納要件の増加を必然的に伴い得る。一般に、サイズＮ×Ｎの残差ブロックの場合、非分離型方向変換は、サイズＮ２×Ｎ２の基底関数を必要とする。すなわち、４×４の残差ブロックの場合には、非分離型方向変換は１６×１６のサイズを有し；８×８の残差ブロックの場合には、非分離型方向変換は６４×６４のサイズを有し；１６×１６の残差ブロックの場合にし、非分離型方向変換は２５６×２５６のサイズを有する。異なる非分離型方向変換は、その組の予測モードごとに使用され得るため、変換ユニット３８は、４×４のブロックの場合には１８個の１６×１６の方向変換を、８×８のブロックの場合には１８個の６４×６４の変換（上述した予測モードの組の例の場合）を、予測モードの組がより大きいならば、場合によってはそれ以上を格納することができる。これは、変換プロセスの実行に必要な変換行列を格納するために、大きいメモリリソースを使用することになり得る。非分離型方向変換の計算コストも高い。一般に、非分離型方向変換をＮ×Ｎブロックに適用することは、Ｎ２×Ｎ２回の乗算およびＮ２×（Ｎ２−１）回の加算を必要とする。
【００６１】
非分離型方向変換の代わりに、変換ユニット３８は、予測モードごとに分離型方向変換を維持することができる。分離型方向変換は、非分離型方向変換に比べて、より低い格納および計算コストを有する。４×４残差ブロックＸの場合、例えば、分離型変換は、以下の式（２）によって示されるように適用される：  
Ｙ＝ＣＸＲ                                                  （２）  
ここで、Ｙは、結果として得られた変換係数行列であり、Ｃは、列変換行列であり、Ｒは、行変換行列であり、そのすべては、ブロックのサイズに等しいサイズを有する（例えば、この例では４×４）。したがって、結果として得られた変換係数行列Ｙもまた、サイズ４×４の２次元行列である。
【００６２】
予測モードごとに、変換ユニット３８は、２つのＮ×Ｎ変換行列（例えば、行列の対ＣおよびＲ）を格納することができ、この場合、Ｎ×Ｎは、ブロックサイズに対応する（例えば、Ｎ＝４、８、または１６）。上述した４×４のブロックの場合の１８個の予測モードの組の例では、変換ユニット３８は、非分離型変換が使用されるときに格納される１８個の１６×１６の変換行列より少ない記憶領域ですむ３６個の４×４の変換行列を格納する。さらに、変換ユニット３８は、非分離型方向変換の実行に使用されるＮ２×Ｎ２回の乗算およびＮ２×（Ｎ２−１）回の加算よりかなり少ない演算である、２×Ｎ×Ｎ×Ｎ回の乗算および２×Ｎ×Ｎ×（Ｎ−１）回の加算を使用して分離型方向変換を行うことができる。表１は、４×４および８×８のブロックサイズの分離型対非分離型の方向変換の使用の間で、格納要件および計算要件を比較している。１６×１６ブロックの場合の分離型方向変換と非分離型方向変換との間の比較は、類似の方法で行われ得る。表１に示されるように、分離型方向変換を使用することは、非分離型方向変換に比べて、計算の複雑度および格納要件の両方が低減し、この低減は、より大きいブロックサイズには、より顕著になり、例えば、８×８のブロックの場合の低減は、４×４のブロックの場合の低減より大きい。
【表１】
0005575940.tif 000004
【００６３】
予測モードごとの分離型変換行列は、訓練ビデオ系列の組からの予測残差を使用して取得され得る。非分離型ＫＬＴ変換の導出と同様に、特異値分解（ＳＶＤ）プロセスが、行変換行列および列変換行列それぞれを取得するために、最初に行方向、次いで列方向に、訓練セットの予測残差に適用されることができる。あるいは、非分離型方向変換行列、すなわち非分離型ＫＬＴ変換行列が、最初に、訓練セットからの予測残差を使用して訓練されることができ；次いで、予測モードごとの分離型変換行列が、非分離型変換行列を分離型変換行列にさらに分解することによって取得されることができる。
【００６４】
どちらにしても、結果として得られた変換行列は、通常、浮動小数点相対精度を有する。固定小数点精度数は、変換プロセスにおける固定小数点演算の使用を可能し且つ計算コストを低減するために、変換行列における係数に近づけるために使用される。変換行列における係数の固定小数点の近似の精度は、固定小数点演算を使用した変換プロセス中に必要な計算の複雑度と最大精度との間のバランスを見つけることによって決定される。言い換えれば、変換行列の固定小数点の近似の精度がより高いことは、固定小数点の近似を使用するため、誤差がより小さくなる可能性があり、これは望ましいが、変換行列の固定小数点の近似の精度が高すぎることは、固定小数点演算に、変換プロセス中にオーバーフローさせる可能性もあり、これは、望ましくない。
【００６５】
ピクセル値の残差ブロックに変換を適用した後、量子化ユニット４０は、ビットレートをさらに低減するために、変換係数を量子化する。量子化の後、逆量子化ユニット４２および逆変換ユニット４４は、残差ブロックを再構成するために（図２では「ＲＥＣＯＮ  ＲＥＳＩＤ  ＢＬＯＣＫ」と表記）、それぞれ逆量子化および逆変換を適用することができる。加算器４８Ｂは、フレーム記憶装置３４に格納するための再構成されたビデオブロックを生成するために、再構成された残差ブロックを、予測ユニット３２によって生成された予測ブロックに加算する。再構成されたビデオブロックは、その後のビデオブロックをイントラ符号化またはインター符号化するために、予測ユニット３２によって使用され得る。
【００６６】
上述したように、ＤＣＴ、Ｈ．２６４／ＡＶＣで使用される整数変換、および分離型方向変換を含む分離型変換が使用されるとき、結果として得られた変換係数は、２次元係数行列として表される。したがって、量子化の後、係数スキャンユニット４１は、係数をスキャンして２次元ブロック形式から１次元ベクトル形式にするもので、これは、しばしば係数スキャニングと呼ばれるプロセスである。特に、係数スキャンユニット４１は、スキャン順序に従って、係数をスキャンする。本開示の一態様に従って、係数スキャンユニット４１は、１つまたは複数の係数統計に基づいて、係数スキャニングに使用されるスキャン順序を適応的に調整することができる。いくつかの例では、各予測モードが異なる係数統計を有し得るため、係数スキャンユニット４１は、予測モードごとに、別々にスキャン順序を適応的に調整することができる。
【００６７】
係数スキャンユニット４１は、第１のスキャン順序を使用して、量子化された残差ブロックの係数を最初にスキャンすることができる。一態様では、第１のスキャン順序は、Ｈ．２６４／ＭＰＥＧ−４  Ｐａｒｔ  １０  ＡＶＣの用途で一般に使用されるジグザグスキャン順とすることができる。係数スキャンユニット４１は、ジグザグスキャン順を使用して最初にスキャンされるものとして説明されているが、本開示の技術は、任意の特定の最初のスキャン順序または技術に限定されない。さらに、予測モードのそれぞれは、例えば、特にその予測モード用に訓練されるスキャン順序など、異なる最初のスキャン順序を有し得る。しかし、説明の目的で、ジグザグスキャン順について説明する。ジグザグスキャン順は、２次元ブロックの左上角の係数が、係数ベクトルの先頭の方に圧縮されるように、量子化係数を１次元ベクトルに配列する。ジグザグスキャン順は、限定された方向性を有する係数ブロックに十分なコンパクト性を提供し得る。
【００６８】
残差ブロックが、何らかのまたは有意の方向性を有し且つ分離型方向変換を使用して変換される場合、結果として得られた２次元変換係数ブロックは、依然として、何らかの量の方向性を含み得る。これは、分離型方向変換を使用することが、より低い計算の複雑度および格納要件の利益を得るが、非分離型方向変換の使用と同程度に残差ブロックにおける方向性を得ることができないからである。一例として、方向変換の垂直予測（上述した例におけるモード０）への適用後、非ゼロ係数は、水平方向に沿って存在する傾向にある。したがって、ジグザグスキャン順は、係数ベクトルの先頭の方に圧縮される非ゼロ係数のすべてをもたらさない可能性がある。固定されたジグザグスキャン順の代わりに、スキャン順序を水平方向に向けるように係数スキャン順序を適応させることによって、係数ブロックの非ゼロ係数は、ジグザグスキャン順でスキャンされた場合よりも、１次元係数ベクトルの先頭の方に、より圧縮され得る。次いで、１次元係数ベクトルの先頭には非ゼロの係数間により短い一続きのゼロがいくつかあり、１次元係数ベクトルの最後にはより長い一続きのゼロが１つあるので、これは、エントロピ符号化に費やされるビット数を低減することができる。１次元係数ベクトルを生成するために使用されるスキャン順序を適応させる概念は、他の予測モードにも適用される。例えば、各予測モ―ドが、係数ブロックにおける異なる方向性、したがって異なる係数統計を有し得るため、係数スキャンユニット４１は、予測モードごとに、別々にスキャン順序を適応的に調整することができる。このように、スキャン順序は、予測モードごとに異なり得る。
【００６９】
上述したように、特に方向変換が残差ブロックに適用される場合、最初のスキャン順序は、ジグザグスキャン順ではない可能性がある。こうした場合、最初のスキャン順序は、以下で説明する技術のうちの１つを使用して事前に決定されることができる。一例として、最初のスキャン順序は、訓練ビデオ系列の組を使用して決定され得る。後述する統計など、非ゼロ係数の統計は、予測モードごとに収集され、係数スキャン順序を初期化するために使用される。特に、非ゼロ係数の確率が最も高い位置は、最初のスキャン順序の第１の係数位置であり、次いで、非ゼロの係数の確率が次に高い位置は、最初のスキャン順序の第２の係数位置であり、最初のスキャン順序の最後の係数位置である非ゼロの確率が最も低いものまで、以下同様である。あるいは、最初のスキャン順序は、分離型変換行列の固有値の大きさに基づいて決定され得る。例えば、固有値は、降順にソートされることができ、係数は、固有値の対応する順序に従ってスキャンされる。
【００７０】
最初のスキャン順序が上述した技術のうちの１つを使用して決定される場合でさえ、様々なタイプのビデオソースは、量子化残差係数に、ブロック内の異なる係数位置に配置されるようにさせ得る。例えば、共通中間フォーマット（ＣＩＦ）、クォーターＣＩＦ（ＱＣＩＦ）、およびハイデフィニション（例えば７２０ｐ／ｉまたは１０８０ｐ／ｉ）ビデオソースなどの異なる解像度のビデオソースは、非ゼロ係数に、ブロック内の異なる係数位置に配置されるようにさせ得る。したがって、最初のスキャン順序がブロックの予測モードに基づいて選択される場合でさえ、係数スキャンユニット４１は、１次元係数ベクトルの先頭の方に、非ゼロ係数のコンパクト性を向上させるために、依然としてスキャン順序を適応させることができる。
【００７１】
スキャン順序を適応させるために、係数スキャンユニット４１またはビデオエンコーダ２０の他のユニットは、１つまたは複数のブロックについて１つまたは複数の係数統計を収集することができる。言い換えれば、係数スキャンは、ブロックごとに行われるため、係数スキャンユニット４１は、ブロック内の位置のそれぞれが非ゼロの係数を有する回数を示す統計を収集することができる。例えば、係数スキャンユニット４１は、２次元ブロックにおける係数位置にそれぞれ対応する複数のカウンタを維持し、非ゼロの係数がそれぞれの位置に配置されると、その位置に対応するカウンタをインクリメントすることができる。このようにして、高いカウント値は、非ゼロの係数がきわめて頻繁に存在するブロック内の位置に対応し、低いカウント値は、非ゼロの係数があまり存在しないブロック内の位置に対応する。いくつかの例では、係数スキャンユニット４１は、予測モードごとに、係数統計の別々の組を収集することができる。
【００７２】
上述したように、係数スキャンユニット４１は、収集された統計に基づいて、スキャン順序を適応させることができる。係数スキャンユニット４１は、収集された統計に基づいて、非ゼロ係数を有する尤度がより小さいと決定される係数位置の前に、非ゼロ係数を有する尤度がより高いと決定される係数位置をスキャンするように、スキャン順序を適応させることができる。例えば、係数スキャンユニット４１は、それぞれの係数位置が非ゼロ値を有する回数をカウント値が表すとき、それらのカウント値に基づいて、降順に２次元ブロックの係数位置をスキャンするように、スキャン順序を適応させることができる。あるいは、カウンタは、ブロック内の位置のそれぞれがゼロ値の係数の位置であった回数を追跡し、それらのカウント値に基づいて、昇順に係数位置をスキャンするように、スキャン順序を適応させることができる。いくつかの例では、統計が、ブロックの係数位置のすべての代わりに、ブロックの係数位置のサブセットについてのみ、収集されることができる。この場合、係数スキャンユニット４１は、スキャン順序の一部のみを適応させることができる。
【００７３】
係数スキャンユニット４１は、固定または非固定の間隔で、スキャン順序を適応させることができる。例えば、係数スキャンユニット４１は、ブロック境界など、固定の間隔で、スキャン順序を適応させることができる。いくつかの例では、係数スキャンユニット４１は、４×４または８×８のブロック境界で、またはマクロブロック境界で、スキャン順序を適応させることができる。このようにして、スキャン順序は、ブロックまたはマクロブロックごとに適応され得る。しかし、システムの複雑度を低減するために、係数スキャンユニット４１は、例えばｎブロックまたはマクロブロックごとなどのように、あまり頻繁にスキャン順序を適応させなくてもよい。あるいは、係数スキャンユニット４１は、非固定の間隔で、スキャン順序を適応させることができる。係数スキャンユニット４１は、例えば、ブロック内のある位置のカウント値のうちの１つが閾値を超えるとき、スキャン順序を適応させることができる。スキャン順序を適応させた後、係数スキャンユニット４１は、適応されたスキャン順序を使用して、少なくとも１つのその後のビデオブロックのその後の量子化残差ブロックをスキャンすることができる。いくつかの例では、係数スキャンユニット４１は、少なくとも１つのその後のビデオブロックが第１のビデオブロックの符号化単位に存在するとき、適応されたスキャン順序を使用して、少なくとも１つのその後のビデオブロックのその後の量子化された残差ブロックをスキャンすることができる。係数スキャンユニット４１は、スキャン順序が収集された統計に従って再度適応されるまで、またはスキャン順序が再度初期化されるまで、その後のビデオブロックを引き続きスキャンすることができる。このようにして、係数スキャンユニット４１は、量子化残差係数がエントロピエンコーディングユニット４６によってより効率的にエンコードされ得るような方法で１次元係数ベクトルを生成するように、スキャン順序を適応させる。
【００７４】
係数スキャンユニット４１は、いくつかの例では、収集された統計を正規化することができる。係数カウントが閾値に到達したとき、収集された統計の正規化が望ましい場合がある。閾値に到達したカウント値を有するブロック内の、本明細書では係数位置Ａと呼ぶ係数位置は、例えば、ある期間の間、係数位置が非ゼロの係数を有していなかったときでさえ、最も高いカウントを有する係数位置のままであり得る。この理由は、位置Ａの係数カウントが大きく、したがって、他の係数カウントが複数のブロック（例えば、何十、あるいは何百ものブロック）にわたって得られるまで、本明細書では係数位置Ｂと呼ぶブロック内の別の位置の係数カウントが位置Ａの係数カウントを超えられず、結果的に係数位置ＡとＢとの間のスキャン順序の変化（すなわち、スワッピング）をもたらせないことがあるからである。したがって、ビデオエンコーダ２０が局所的な係数統計に対し、より迅速に適応できるようにするために、係数スキャンユニット４１は、カウントのうちの１つが閾値に到達すると、係数を正規化することができる。例えば、係数スキャンユニット４１は、２分の１だけカウント値のそれぞれを低減するなど、予め定められた倍数だけカウント値のそれぞれを低減することによって、またはカウント値を最初のカウント値の組に再設定することによって、係数を正規化することができる。係数スキャンユニット４１は、他の正規化方法を使用することができる。例えば、係数スキャンユニット４１は、特定の数のブロックをエンコードした後、統計をリフレッシュすることができる。
【００７５】
エントロピエンコーディングユニット４６は、ブロックの残差係数を表す１次元係数ベクトルに加えて、１つまたは複数のヘッダー構文要素の形のブロックのブロックヘッダー情報を受信する。ヘッダー構文要素は、ブロックタイプ、予測モード、ルーマおよびクロマの符号化ブロックパターン（ＣＢＰ）、ブロックパーティション、および１つまたは複数の動きベクトルなど、現在のビデオブロックの特定の特性を識別することができる。これらのヘッダー構文要素は、ビデオエンコーダ２０内の他のコンポーネントから、例えば予測ユニット３２から、受信され得る。
【００７６】
エントロピエンコーディングユニット４６は、エンコードされたビットストリーム（図２では「ＶＩＤＥＯ  ＢＩＴＳＴＲＥＡＭ」と表記）を生成するために、現在のビデオブロックのヘッダー情報および残存情報をエンコードする。エントロピエンコーディングユニット４６は、本開示に記載された技術に従ってブロックのそれぞれの構文要素のうちの１つまたは複数をエンコードする。特に、エントロピエンコーディングユニット４６は、１つまたは複数の前にエンコードされたビデオブロックの構文要素に基づいて、現在のブロックの構文要素をエンコードすることができる。したがって、エントロピエンコーディングユニット４６は、１つまたは複数の前にエンコードされたビデオブロックの構文要素を格納するための１つまたは複数のバッファを含み得る。エントロピエンコーディングユニット４６は、現在のビデオブロックの構文要素をエンコードするのを助けるために、任意の位置にある任意の数の近隣ブロックを分析することができる。説明の目的で、エントロピエンコーディングユニット４６は、現在のブロックのすぐ上に配置されている前にエンコードされたブロック（すなわち、上側の近隣ブロック）、および現在のブロックのすぐ左に配置されている前にエンコードされたブロック（すなわち、左側の近隣ブロック）に基づいて、予測モードをエンコードするものとして説明する。しかし、ブロックタイプ、ブロックパーティション、ＣＢＰなど、他のヘッダー構文要素をエンコードするために、類似の技術を使用してもよい。また、上側および左側の近隣ブロックだけではなく、より多くの近隣ブロックが現在のビデオブロックのエンコードに関与する類似の技術が使用されてもよい。
【００７７】
エントロピエンコーディングユニット４６の演算が、上述した１８個の予測モードの組を参照し、且つ以下の疑似コードの例を考慮して、説明される。
【数３】
0005575940.tif 000005
【００７８】
エントロピエンコーディングユニット４６は、それぞれ上側の近隣ブロックの予測モード、左側の近隣ブロックの予測モード、および現在のブロックの予測モードに等しくなるように、変数ｕｐＭｏｄｅ、ｌｅｆｔＭｏｄｅ、およびｃｕｒｒＭｏｄｅを初期化する。上述したように、上側の近隣ブロック、左側の近隣ブロック、および現在のブロックの予測モードは、ラグランジュコスト分析に基づいて決定されることができる。エントロピエンコーディングユニット４６は、現在のブロックの予測モード（ｃｕｒｒＭｏｄｅ）を、近隣ブロックの予測モード（ｕｐＭｏｄｅおよびｌｅｆｔＭｏｄｅ）と比較する。現在のブロックの予測モードが近隣ブロックのいずれかの予測モードに等しい場合、エントロピエンコーディングユニット４６は、「１」にエンコードする。したがって、現在のブロックの予測モードを表すためにエントロピエンコーディングユニット４６によってエンコードされた第１のビットは、現在の予測モードが上側の近隣ブロックの予測モード、または左側の近隣ブロックの予測モードのいずれかと同じであるかどうかを示す。
【００７９】
現在のブロックの予測モードが近隣ブロックのいずれかの予測モードと等しい場合、すなわち、第１のエンコードされたビットが「１」である場合、エントロピエンコーディングユニット４６は、上側の近隣ブロックの予測モードを、左側の近隣ブロックの予測モードと比較する。上側の近隣ブロックの予測モードが、左側の近隣ブロックの予測モードと同じである場合、エントロピエンコーディングユニット４６は、予測モードのビットをこれ以上エンコードしない。この場合、予測モードは、単一ビットを使用してエンコードされ得る。
【００８０】
しかし、上側の近隣ブロックの予測モードが左側の近隣ブロックの予測モードに等しくない場合、エントロピエンコーディングユニット４６は、近隣ブロックのうちのどれが現在のブロックと同じ予測モードを有するかを指定するために、予測モードを表す少なくとも１つの追加ビットをエンコードする。例えば、エントロピエンコーディングユニット４６が上側および左側の近隣ブロックの予測モードを分析するとき、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが上側の近隣ブロックの予測モードと同じである場合には「１」にエンコードすることができ、現在のブロックの予測モードが左側の近隣ブロックの予測モードと同じである場合には「０」にエンコードする。あるいは、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが左側の近隣ブロックの予測モードと同じである場合には「１」にエンコードし、現在のブロックの予測モードが上側の近隣ブロックの予測モードと同じである場合には「０」にエンコードする。いずれの場合も、エンコードされた予測モードの第２のビットは、上側または左側の近隣ブロックのうちのどれが現在のブロックの予測モードと同じ予測モードを有するかを示す。このようにして、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが近隣ブロックのうちの１つの予測モードと等しいとき、わずか１ビット、多くて２ビットを使用して、現在のブロックの予測モードをエンコードすることができる。エントロピエンコーディングユニット４６が２つを超える近隣ブロックを分析する場合、エントロピエンコーディングユニット４６は、前にエンコードされたブロックのうちのどれが現在のブロックと同じ予測モードを有するかを指定するために、１つを超える追加ビットをエンコードすることができる。
【００８１】
現在のビデオブロックの予測モードが上側の近隣ブロックの予測モード、または左側の近隣ブロックの予測モードのいずれとも同じではない場合には、エントロピエンコーディングユニット４６は、現在のビデオブロックの予測モードがいずれの近隣ブロックの予測モードとも同じではないことを示す「０」を送信する。エントロピエンコーディングユニット４６は、現在のブロックの予測モードを表す符号語をエンコードする。一例として上述した１組の１８個の予測モードを使用して、エントロピエンコーディングユニット４６は、４ビット符号語を使用して、現在のビデオブロックの予測モードをエンコードすることができる。一般に５ビット符号語を必要とする可能な予測モードが１８個あるが、上側の近隣ブロックおよび左側の近隣ブロックの予測モードは、現在のブロックの予測モードとすでに比較されて、現在のブロックの予測モードに等しくないことが決定されているので、上記可能な予測モードのうちの２つは、現在のブロックの組、すなわち、上側の近隣ブロックおよび左側の近隣ブロックの予測モードからすでに除去されている可能性がある。しかし、上側の近隣ブロックおよび左側の近隣ブロックが同じ予測モードを有するとき、１６個の予測モードの代わりに、依然として１７個の予測モードが可能であり、この場合も、表すために、４ビット符号語ではなく、５ビット符号語を必要とする。この場合、予測プロセス中、予測ユニット３２は、現在のブロックの予測モードを、４ビット符号語を使用して表すことができるように、その組から残りの１７個のエンコードモードのうちの１つを選択的に削除することができる。一例では、予測ユニット３２は、最後の予測モード、例えば、この例では、予測モード１７を削除することができる。しかし、予測ユニット３２は、他の様々な方法のうちの任意のものを使用して、削除すべきその組の予測モードのうちの任意のものを選択することができる。例えば、予測ユニット３２は、各予測モードが選択される確率を追跡し、選択される確率が最も低い予測モードを削除することができる。
【００８２】
選択された予測モードを削除した後、エントロピエンコーディングユニット４６は、予測モード番号が［０，１５］の範囲になるように、１６個の残りの予測モードの範囲を調整する。一例では、エントロピエンコーディングユニット４６は、モード番号が最も小さい残りの予測モードに０を割り当てることから始めて、予測モード番号が最も大きい残りの予測モードに１５を割り当てることで終了するように、残りの予測モードに０から１５まで番号を仮に付け直す。例えば、上側の近隣ブロックの予測モードがモード１２であり、左側の近隣ブロックの予測モードがモード１４である場合、エントロピエンコーディングユニット４６は、予測モード１３、予測モード１５、予測モード１６、および予測モード１７を、それぞれ予測モード１２、予測モード１３、予測モード１４、予測モード１５と番号を付け直すことができる。次いで、エントロピエンコーディングユニット４６は、４ビットを使用して、予測モードをエンコードする。可能な予測モードがより多いまたはより少ない予測モードの組を備える他の例では、エントロピエンコーディングユニット４６は、類似の技術を使用して、ビットがより多いまたはより少ない予測モードをエンコードすることができる。
【００８３】
エントロピエンコーディングユニット４６は、ＣＡＶＬＣまたはＣＡＢＡＣを使用して、現在のビデオブロックの予測モードをエンコードすることができる。強い相関が、現在のブロックの予測モードと、上側および左側の近隣ブロックの予測モードと、の間に存在し得る。特に、上側の近隣ブロックの予測モードと左側の近隣ブロックの予測モードとが、いずれも単方向の予測モードであるときには、現在のブロックの予測モードも、単方向の予測モードの１つである確率が高い。同様に、上側の近隣ブロックの予測モードと左側の近隣ブロックの予測モードとが、いずれも双方向の予測モードであるときには、現在のブロックの予測モードも、双方向の予測モードのうちの１つである確率が高い。このようにして、上側および左側の近隣ブロックの予測モードのカテゴリ（例えば単方向対双方向）が変わると、現在のブロックの予測モードの確率分布が変わる。
【００８４】
したがって、エントロピエンコーディングユニット４６は、いくつかの態様において、１つまたは複数の前にエンコードされたビデオブロック（例えば、上側および左側の近隣ビデオブロック）の予測モードが単方向であるか、双方向であるかに応じて、異なる符号化コンテキストを選択することができる。ＣＡＢＡＣの場合、異なる符号化コンテキストが、所与のコンテキスト内の予測モードの組の異なる確率を反映する。上側および左側の近隣符号化ブロックの両方が単方向の予測モードを有する場合に対応する、本明細書では「第１の符号化コンテキスト」と呼ぶ符号化コンテキストを例にとる。近隣の相関のために、第１の符号化コンテキストは、双方向の予測モードよりも高い確率を単方向の予測モードに割り当て得る。したがって、ＣＡＢＡＣエンコードの場合に第１の符号化コンテキストが選択されたとき（すなわち、上側および左側の近隣予測モードの両方が単方向）、現在の予測モードが双方向の予測モードのうちの１つである場合に比べて、現在の予測モードが単方向の予測モードのうちの１つである場合、現在の予測モードの符号化に費やされるビットがより少ない可能性がある。ＣＡＶＬＣの場合、異なる符号化コンテキストのために、異なるＶＬＣ符号化テーブルが定義されることができる。例えば、第１の符号化コンテキストが選択されたとき（すなわち、上側および左側の両方の近隣ブロックが単方向の予測モードを有する）、双方向の予測モードよりも短い符号語を単方向の予測モードに割り当てるＶＬＣ符号化テーブルが使用され得る。
【００８５】
このように、エントロピエンコーディングユニット４６は、上側のビデオブロックの予測モードおよび左側のビデオブロックの予測モードがいずれも単方向の予測モードであるとき、第１の符号化コンテキストを選択することができる。エントロピエンコーディングユニット４６は、上側のビデオブロックの予測モードおよび左側のビデオブロックの予測モードがいずれも単方向の予測モードでないときには、異なる符号化コンテキストを選択することができる。例えば、エントロピエンコーディングユニット４６は、上側の近隣ビデオブロックの予測モードおよび左側の近隣ビデオブロックの予測モードがいずれも双方向の予測モードであるとき、第２の符号化コンテキストを選択することができる。上側および左側の近隣ブロックの予測モードがいずれも双方向であるとき、第２の符号化コンテキストは、現在のビデオブロックの予測モードの確率分布をモデリングする。第２の符号化コンテキストの確率分布は、ＣＡＢＡＣ符号化の場合には単方向の予測モードよりも高い確率を双方向の予測モードに割り当て、ＣＡＶＬＣエンコードの場合には単方向の予測モードよりも短い符号語を双方向の予測モードに割り当て得る。
【００８６】
エントロピエンコーディングユニット４６は、近隣ブロックのうちの一つの予測モードが単方向の予測モードであり、近隣ブロックのうちの他の予測モードが双方向の予測モードであるとき、さらに第３の符号化コンテキストを選択することができる。第３の符号化コンテキストは、その組の単方向の予測モードおよび双方向の予測モードに現在の予測モードの確率をより均等に分布する。１つまたは複数の前にエンコードされたビデオブロック（例えば、上側および左側のビデオブロック）の予測モードが単方向であるか、双方向であるかに基づいて、エンコードに使用するための異なる符号化コンテキストを選択することは、予測モード情報をより良く圧縮することができるようになる。
【００８７】
図３は、図１のビデオ復号器２６の一例をさらに詳しく示すブロック図である。ビデオ復号器２６は、ビデオフレームやスライスなど、符号化単位内のブロックのイントラ復号およびインター復号を行うことができる。図３の例では、ビデオ復号器２６は、エントロピ復号ユニット６０、予測ユニット６２、係数スキャンユニット６３、逆量子化ユニット６４、逆変換ユニット６６、およびフレーム記憶装置６８を含む。ビデオ復号器２６は、逆変換ユニット６６の出力と予測ユニット６２の出力とを結合する加算器６９も含む。
【００８８】
エントロピ復号ユニット６０は、エンコードされたビデオビットストリーム（図３では「ＶＩＤＥＯ  ＢＩＴＳＴＲＥＡＭ」と表記）を受信し、残存情報（例えば、１次元ベクトルの量子化残差係数の形）、およびヘッダー情報（例えば、１つまたは複数のヘッダー構文要素の形）を取得するために、エンコードされたビットストリームを復号する。エントロピ復号ユニット６０は、図２のエンコードモジュール４６によって実行されるエンコードの逆の復号機能を実行する。例示の目的で、エントロピ復号ユニット６０は予測モード構文要素の復号を行うことについて説明する。これらの技術は、ブロックタイプ、ブロックパーティション、ＣＢＰなど、他の構文要素の復号に拡張されることができる。
【００８９】
特に、エントロピ復号ユニット６０は、予測モードを表す第１のビットを分析して、現在のブロックの予測モードが、例えば上側の近隣ブロックや左側の近隣ブロックなど、分析された前に復号されたブロックのうちの任意のものの予測モードに等しいかどうかを決定する。エントロピ復号モジュール６０は、第１のビットが「１」であるときには、現在のブロックの予測モードが近隣ブロックのうちの１つの予測モードに等しいことを決定し、第１のビットが「０」であるときには、現在のブロックの予測モードが近隣ブロックのいずれの予測モードとも同じではないことを決定することができる。
【００９０】
第１のビットが「１」であり、上側の近隣ブロックの予測モードが左側の近隣ブロックの予測モードと同じである場合、エントロピ復号ユニット６０は、これ以上ビットを受信する必要はない。エントロピ復号ユニット６０は、近隣ブロックのいずれかの予測モードを現在のブロックの予測モードとして選択する。エントロピ復号ユニット６０は、例えば、１つまたは複数の前に復号されたブロックの前の予測モードを格納する１つまたは複数のバッファ（または他のメモリ）を含み得る。
【００９１】
第１のビットが「１」であり、上側の近隣ブロックの予測モードが左側の近隣ブロックの予測モードと同じではない場合、エントロピ復号ユニット６０は、予測モードを表す第２のビットを受信し、エントロピ復号ユニット６０は、第２のビットに基づいて、近隣ブロックのうちのどれが現在のブロックと同じ予測モードを有するかを決定する。例えば、エントロピ復号ユニット６０は、第２のビットが「１」であるときには、現在のブロックの予測モードが上側の近隣ブロックの予測モードと同じであることを決定し、第２のビットが「０」であるときには、現在のブロックの予測モードが左側の近隣ブロックの予測モードと同じであることを決定することができる。エントロピ復号ユニット６０は、現在の近隣ブロックの予測モードを現在のブロックの予測モードとして選択する。
【００９２】
しかし、第１のビットが「０」であるとき、エントロピ復号ユニット６０は、現在のブロックの予測モードが近隣ブロックのいずれの予測モードとも同じではないことを決定する。したがって、エントロピ復号ユニット６０は、上側および左側の近隣ブロックの予測モードを、可能な予測モードの組から削除することができる。可能な予測モードの組は、１つまたは複数の単方向の予測モードおよび／あるいは１つまたは複数の多方向の予測モードを含み得る。合計１８個の予測モードを含む予測モードの組の一例が、図２の説明において上述されている。上側および左側の近隣ブロックが同じ予測モードを有する場合、エントロピ復号ユニット６０は、近隣ブロックの予測モード、および少なくとも１つの他の予測モードを削除することができる。一例として、エントロピ復号ユニット６０は、最大モード番号の予測モ―ド（例えば、上述した１８個の予測モードの組におけるモード１７）を削除することができる。しかし、エントロピ復号ユニット６０は、復号ユニット６０が予測ユニット３２によって削除されたものと同じ予測モードを削除する限り、様々な方法の他の任意のものを使用して、削除すべき組の予測モードのうちの任意のものを選択することができる。例えば、エントロピ復号ユニット６０は、選択される確率が最も低い予測モードを削除することができる。
【００９３】
エントロピ復号ユニット６０は、予測モード番号が０〜１５の範囲になるように、残りの予測モードの予測モード番号を調整することができる。一例では、エントロピエンコーディングユニット４６は、図２を参照して上述したように、モード番号が最も小さい残りの予測モードから始めて、予測モード番号が最も大きい残りの予測モードで終了するように、残りの予測モードに０から１５まで番号を仮に付け直し得る。エントロピ復号ユニット６０は、現在のブロックの予測モードに対応する残りの予測モードの予測モード番号を取得するために、残りのビット、例えば、記載した例では４ビットを復号する。
【００９４】
いくつかの例では、エントロピ復号ユニット６０は、ＣＡＶＬＣまたはＣＡＢＡＣを使用して、現在のビデオブロックの予測モードを復号することができる。現在のブロックの予測モードと、１つまたは複数の前に復号されたブロック（例えば、上側および左側の近隣ブロックの予測モード）との間に強い相関が存在し得るため、エントロピ復号ユニット６０は、１つまたは複数の前に復号されたビデオブロックの予測モードのタイプに基づいて、ブロックの予測モードに異なる符号化コンテキストを選択することができる。言い換えれば、エントロピ復号ユニット６０は、前に復号されたブロックの予測モードが単方向であるか、双方向であるかに基づいて、異なる符号化コンテキストを選択することができる。
【００９５】
一例として、エントロピ復号ユニット６０は、前に復号されたブロックの両方の予測モードが単方向の予測モードであるときには、第１の符号化コンテキストを選択し、前に復号されたブロックの両方の予測モードが双方向の予測モードであるときには、第２の符号化コンテキストを選択し、前に復号されたブロックのうちの１つの予測モードが単方向の予測モードであり且つ前に復号されたブロックのうちの他の１つの予測モードが双方向の予測モードであるときには、第３の符号化コンテキストを選択することができる。
【００９６】
予測ユニット６２は、ヘッダー情報の少なくとも一部分を使用して、予測ブロックを生成する。例えば、イントラ符号化ブロックの場合、エントロピ復号ユニット６０は、予測ブロックの生成のために、予測ユニット６２に、ヘッダー情報の少なくとも一部分（例えば、このブロックのブロックタイプおよび予測モード）を提供し得る。予測ユニット６２は、ブロックタイプおよび予測モードに従って、共通の符号化単位内の１つまたは複数の近隣するブロック（または近隣するブロックの部分）を使用して、予測ブロックを生成する。一例として、例えば、予測ユニット６２は、予測モード構文要素によって指定された予測モードを使用して、ブロックタイプ構文要素によって示されるパーティションサイズの予測ブロックを生成することができる。現在の符号化単位内の１つまたは複数の近隣するブロック（または近隣するブロックの部分）は、例えば、フレーム記憶装置６８から取り出され得る。
【００９７】
また、エントロピ復号ユニット６０は、１次元係数ベクトルの形で残存情報を取得するために、エンコードされたビデオデータを復号する。分離型変換（例えば、ＤＣＴ、Ｈ．２６４／ＡＶＣ整数変換、分離型方向変換）が使用される場合、係数スキャンユニット６３は、２次元ブロックを生成するために、１次元係数ベクトルをスキャンする。係数スキャンユニット６３は、図２の係数スキャンユニット４１によって実行されるスキャンの逆のスキャン機能を実行する。特に、係数スキャンユニット６３は、１次元ベクトルの係数を２次元形式にするために、最初のスキャン順序に従って、係数をスキャンする。言い換えれば、係数スキャンユニット６３は、２次元ブロックの量子化係数を生成するために、１次元ベクトルをスキャンする。
【００９８】
係数スキャンユニット６３は、このスキャン順序をビデオエンコーダ２０によって使用されるスキャン順序と同期するために、１つまたは複数の係数統計に基づいて、係数スキャンに使用されるスキャン順序を適応的に調整することができる。そうするために、係数スキャンユニット６３は、１つまたは複数のブロックの１つまたは複数の係数統計を収集し、収集された統計に基づいて、スキャン順序を適応させることができる。言い換えれば、２次元ブロックの量子化係数が再構成されるとき、係数スキャンユニット６３は、２次元ブロック内の位置のそれぞれが非ゼロの係数の位置である回数を示す統計を収集することができる。係数スキャンユニット６３は、２次元ブロックにおける係数位置にそれぞれ対応する複数のカウンタを維持し、非ゼロの係数がそれぞれの位置に配置されると、その位置に対応するカウンタをインクリメントすることができる。
【００９９】
係数スキャンユニット６３は、収集された統計に基づいて、スキャン順序を適応させることができる。係数スキャンユニット６３は、収集された統計に基づいて、非ゼロ係数を有する尤度がより小さいと決定される係数位置の前に、非ゼロ係数を有する尤度がより高い位置をスキャンするように、スキャン順序を適応させることができる。係数スキャンユニット６３は、ビデオエンコーダ２０によって使用されるのと同じ固定または非固定の間隔で、スキャン順序を適応させる。係数スキャンユニット６３は、ビデオエンコーダ２０に関して上述したのと同じ方法で、収集された統計を正規化する。
【０１００】
上述したように、係数スキャンユニット６３は、いくつかの例では、別々の係数統計を収集することができ、予測モードごとに、別々にスキャン順序を適応的に調整することができる。例えば、予測モードのそれぞれが、異なる係数統計を有し得るため、係数スキャンユニット６３は、そうすることができる。
【０１０１】
２次元ブロックの量子化残差係数の生成後、逆量子化ユニット６４は、量子化残差係数を逆量子化すなわちデ量子化（de-quantize）する。逆変換ユニット６６は、ピクセル値の残差ブロックを生成するために、例えば、逆ＤＣＴ、逆整数変換、逆方向変換などの逆変換を、デ量子化された残差係数に適用する。加算器６９は、再構成されたビデオブロックを形成するために、予測ユニット６２によって生成された予測ブロックを、逆変換ユニット６６からの残差ブロックと合計する。このようにして、ビデオ復号器２６は、ヘッダー情報および残存情報を使用して、ブロックごとにビデオ系列のフレームを再構成する。
【０１０２】
ブロックベースのビデオ符号化は、時として、符号化されたビデオフレームのブロック境界において、視覚的に知覚できるブロックノイズ（blockiness）をもたらし得る。こうした場合、デブロックフィルタリングは、視覚的に知覚可能なブロックノイズを低減または除去するために、ブロック境界をスムーズにすることができる。したがって、ブロックノイズを低減または除去するために、復号されたブロックをフィルタ処理するために、デブロッキングフィルタ（図示せず）が適用されることもできる。任意のオプションのデブロックフィルタリングの後、再構成されたブロックは、次いで、その後のビデオブロックの空間的および時間的予測の参照ブロックを提供するとともに、表示装置（例えば図１の表示装置２８）を駆動するために復号されたビデオを生成する、フレーム記憶装置６８に入れられる。
【０１０３】
図４は、本開示に従う適応形スキャンの仮想例を示す概念図である。この例では、係数位置は、項目７１に、ｃ１〜ｃ１６と表記されている。実際の係数値は、ブロック１（７２）、ブロック２（７３）、ブロック３（７４）、およびブロック４（７５）に、４つの連続するブロックとして示されている。ブロック１〜４の実際の係数値は、量子化残差係数、量子化なしの変換係数、または他のタイプの係数を表し得る。他の例では、位置は、残差ブロックのピクセル値の位置を表し得る。ブロック１〜４は、同じ予測モードに関連付けられているブロックを備え得る。図４に示されている例において、ブロック１〜４は、４×４のブロックである。しかし、上述したように、本開示の技術は、任意のサイズのブロックに適用するように拡張され得る。さらに、ビデオエンコーダ２０の係数スキャンユニット４１に関して以下で説明するが、ビデオ復号器２６の係数スキャンユニット６３は、統計を収集し、類似の方法でスキャン順序を適応させることができる。
【０１０４】
最初に、係数スキャンユニット４１は、ジグザグスキャン順を使用して、ブロック１の係数をスキャンし得る。この場合、係数スキャンユニット４１は、ｃ１、ｃ２、ｃ５、ｃ９、ｃ６、ｃ３、ｃ４、ｃ７、ｃ１０、ｃ１３、ｃ１４、ｃ１１、ｃ８、ｃ１２、ｃ１５、ｃ１６の順序でブロック１の係数位置をスキャンする。したがって、ブロック１の係数をスキャンした後、係数スキャンユニット４１は、１次元係数ベクトルｖを出力し、この場合、ｖ＝［９，４，６，１，１，０，０，０，０，２，０，０，０，０，０，０］である。図４に示される例では、係数スキャンユニット４１は、最初に、ジグザグスキャン順を使用して、ブロック１の係数をスキャンするが、このジグザグスキャンは、適応形スキャンの唯一の可能な開始点ではない。水平スキャン、垂直スキャン、または他の任意の最初のスキャン系列が、最初のスキャン順序として使用されることができる。ジグザグスキャンの使用は、２次元係数間の一続きの４つのゼロを有する１次元係数ベクトルｖをもたらす。
【０１０５】
統計１（７６）は、ブロック１の統計を表す。統計１（７６）は、各係数位置が非ゼロの値を有する回数を追跡するための各係数位置のカウント値とすることができる。図４の例では、係数統計は、すべてゼロに初期化される。しかし、他の初期化方式が使用されてもよい。例えば、各予測モードの代表的な、または平均の係数統計が、それぞれの予測モードの統計を初期化するために使用されてもよい。ブロック１のエンコードの後、統計１（７６）は、非ゼロであるブロック１のいずれの係数位置についても１の値を、およびゼロの値を有するブロック１のいずれの係数位置についても０の値を有する。統計２（７７）は、ブロック１および２の結合された統計を表す。係数スキャンモジュール４１は、係数位置がブロック２において非ゼロの値を有するときには統計１（７６）のカウントをインクリメントし、係数位置がゼロの値を有するときにはカウントを同じに維持する。したがって、図４に示されるように、係数スキャンモジュール４１は、係数位置ｃ１、ｃ２、ｃ５、ｃ９、およびｃ１３の統計を、２の値にインクリメントし、係数位置の残りの統計を統計１（７６）と同じに維持する。統計３（７８）は、ブロック１〜３の結合された統計を表し、統計４（７９）は、ブロック１〜４の結合された統計を表す。上述したように、いくつかの態様では、係数スキャンユニット４１は、複数のカウンタを使用して、ブロックの統計を収集することができる。
【０１０６】
係数スキャンユニット４１は、収集された統計に基づいて、スキャン順序を適応させることができる。示した例では、係数スキャンユニット４１は、統計４（７９）に基づいて、４つのビデオブロックの後のスキャン順序を適応させるように構成されることができる。この場合、係数スキャンユニット４１は、収集された統計を分析し、係数位置がその対応するカウント値によって降順にスキャンされるように、スキャン順序を適応させる。したがって、係数スキャンユニット４１は、最初のスキャン順序に従ってブロック１〜４をスキャンし、その次のブロック、例えばブロック５（図示せず）、の位置を、ｃ１、ｃ５、ｃ９、ｃ２、ｃ１３、ｃ６、ｃ３、ｃ４、ｃ７、ｃ１０、ｃ１４、ｃ１１、ｃ８、ｃ１２、ｃ１５、ｃ１６の順序でスキャンするように、スキャン順序を適応させることができる。係数スキャンユニット４１は、ブロックについての収集された統計に基づいてスキャン順序が再度適応されるまで、または、例えばその後の符号化単位の最初に再度初期化されるまで、この新しいスキャン順序に従ってその後のブロックをスキャンし続ける。
【０１０７】
最初のスキャン順序（例えば、ジグザグスキャン順）から新しいスキャン順序に変更するように、スキャン順序を適応させることは、１次元係数ベクトルの先頭が非ゼロの係数、最後がゼロ係数であることを促す。図４の例では、新しいスキャン順序は、所与の予測モードについて、垂直次元における係数は、水平次元における係数より非ゼロである尤度が高いという事実を反映して、水平次元における係数より早く垂直次元における係数をスキャンする。ブロック１〜４は、すべて同じ予測モードを有していてもよく、過去の統計は、将来の非ゼロの係数位置の見込みを表し得る。したがって、スキャン順序を定義するために過去の統計を使用することによって、本開示の技術は、スキャンされた１次元ベクトルの先頭近くに非ゼロの係数、およびスキャンされた１次元ベクトルの最後近くにゼロ値係数を分類することを促し、したがって、２つの非ゼロ係数間のゼロの連続の数を除去または低減することができる。次いでこれは、エントロピ符号化中に達成されることができる圧縮のレベルを向上させることができる。
【０１０８】
図５は、本開示に従う符号化技術を示す流れ図である。図５に示された符号化技術は、ビデオブロックのエンコードまたは復号のいずれにもに使用されることができる。図５に示すように、係数スキャンユニット４１、６３は、現在のブロックの対応する予測モードについて定義された最初のスキャン順序に従ってブロックの係数をスキャンする（８０）。ビデオエンコーダ２０から見ると、スキャンは、２次元ブロックの係数を１次元係数ベクトルに変換する。しかし、ビデオ復号器２６から見ると、スキャンは、１次元係数ベクトルを２次元係数ブロックに変換することになる。一例として、対応する予測モードの最初のスキャン順序は、ジグザグスキャン順とすることができる。ジグザグスキャンは、唯一の可能な最初のスキャン順序ではない。水平スキャン、垂直スキャン、または他の任意の最初のスキャン順序が、最初のスキャン順序として使用されることができる。
【０１０９】
係数スキャンユニット４１、６３は、１つまたは複数のブロックの統計を収集する（８２）。特に、スキャンされるブロックごとに、係数スキャンユニット４１、６３は、例えばカウンタで、２次元ブロック内の係数位置のそれぞれが非ゼロの係数である頻度を追跡する統計を収集することができる。係数スキャンユニット４１、６３は、スキャン順序を評価するかどうかを決定する（８３）。係数スキャンユニット４１、６３は、固定（例えば、ブロック境界ごと、またはｎ個のブロック境界の後）または非固定の間隔（例えば、ブロック内の位置のカウント値のうちの１つが閾値を超えたとき）でスキャン順序を評価することができる。
【０１１０】
係数スキャンユニット４１、６３がスキャン順序を評価しないことを決定した場合、係数スキャンユニット４１、６３は、最初のスキャン順序に従って次のブロックをスキャンする（８０）。例えば、ｎ個のブロックがエンコード／復号された後、係数スキャンユニット４１、６３がスキャン順序を評価することを決定した場合、係数スキャンユニットは、収集された統計に基づいて、スキャン順序を適応させることができる（８４）。例えば、係数スキャンユニット４１、６３は、所与の位置が非ゼロ係数を有する尤度をカウント値が反映する場合、それらのカウント値に基づいて、降順でブロックの係数位置をスキャンするように、スキャン順序を適応させることができる。スキャン順序を適応させた後、係数スキャンユニット４１、６３は、いくつかの例では、統計の任意のカウント値が閾値を超えるかどうかを決定することができる（８６）。係数位置のうちの１つが、閾値を超える対応するカウント値を有する場合、係数スキャンユニット４１、６３は、収集された統計、例えば係数カウント値を正規化することができる（８７）。例えば、係数スキャンユニット４１、６３は、各カウント値を所定の倍数だけ低減する、例えば各カウント値を半分に低減するために２分の１だけ低減することによって、またはカウント値を最初のカウント値の組に再設定することによって、係数カウント値を正規化することができる。係数カウント値を正規化することは、ビデオエンコーダ２０に、局所的な係数統計へより迅速に適応することを許すことができる。
【０１１１】
収集された統計を正規化した後、または正規化が行われないとき、係数スキャンユニット４１、６３は、適応されたスキャン順序を使用して、その後のブロックをスキャンする（８８）。係数スキャンユニット４１、６３は、少なくとも１つのその後のブロックが以前スキャンされたビデオブロックの符号化単位内に存在するとき、適応されたスキャン順序を使用して、上記少なくとも１つのその後のブロックをスキャンすることができる。係数スキャンユニット４１、６３は、スキャン順序が再度調整される、または例えば符号化単位の境界で再初期化されるまで、その後のビデオブロックをスキャンし続けることができる。このようにして、係数スキャンユニット４１、６３は、非ゼロである尤度がより小さいと決定されたブロックの係数位置の前に、非ゼロである尤度がより高いと決定されたブロックの係数位置をスキャンするように、収集された統計に基づいて、スキャン順序を適応させる。したがって、１次元係数ベクトルは、スキャンされた１次元ベクトルの先頭近くに非ゼロ係数を、且つスキャンされた１次元ベクトルの最後近くにゼロ値係数を、分類させるように配列される。次いでこれは、エントロピ符号化中に達成されることができる圧縮のレベルを向上させることができる。
【０１１２】
いくつかの例では、係数スキャンユニット４１、６３は、各予測モードが異なる係数統計を有し得るので、予測モードごとに、別々にスキャン順序を適応的に調整することができる。言い換えれば、係数スキャンユニット４１、６３は、予測モードごとに別々の統計を維持し、スキャン順序を、それぞれの統計に基づいて異なるように、予測モードごとに調整することができる。したがって、上述したフローチャート例は、予測モードごとに係数スキャンユニット４１、６３によって実行され得る。
【０１１３】
図６は、本開示の技術のうちの１つに従ってビデオブロックのヘッダー情報をエンコードする、例えばビデオエンコーダ２０のエントロピエンコーディングユニット４６などのエンコーディングユニットの動作例を示す流れ図である。エントロピエンコーディングユニット４６は、１つまたは複数のヘッダー構文要素の形でブロックのヘッダー情報を受信する（９０）。ヘッダー構文要素は、ブロックタイプ、予測モード、ルーマおよび／またはクロマの符号化ブロックパターン（ＣＢＰ）、ブロックパーティション、および１つまたは複数の動きベクトルなど、現在のビデオブロックの特定の特性を識別することができる。図６は、現在のブロックの予測モードをエンコードすることに関して示されている。しかし、ヘッダー構文要素のうちの他のものをエンコードするために、類似の技術が使用されてもよい。
【０１１４】
エントロピエンコーディングユニット４６は、現在のブロックの予測モードを、１つまたは複数の前にエンコードされたブロックの予測モードと比較する（９２）。１つまたは複数の前にエンコードされたブロックは、例えば、１つまたは複数の近隣するブロックを備え得る。図６の例では、例えば上側の近隣ブロックおよび左側の近隣ブロックなど、２つの前に符号化されたブロックが分析される。現在のブロックの予測モードが前にエンコードされたブロックのいずれかの予測モードと同じである場合、エントロピエンコーディングユニット４６は、それを示すために、第１のビットをエンコードする（９４）。一例として、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが前にエンコードされたブロックのいずれかの予測モードと同じであることを示すために、第１のビットを「１」としてエンコードし得る。
【０１１５】
エントロピエンコーディングユニット４６は、上側の近隣ブロックの予測モードを左側の近隣ブロックの予測モードと比較する（９８）。上側の近隣ブロックの予測モードが、左側の近隣ブロックの予測モードと同じである場合、エントロピエンコーディングユニット４６は、予測モードのビットをそれ以上エンコードしない（１００）。この場合、予測モードは、単一ビットを使用してエンコードされ得る。
【０１１６】
しかし、上側の近隣ブロックの予測モードが左側の近隣ブロックの予測モードと等しくない場合には、エントロピエンコーディングユニット４６は、近隣ブロックのうちのどれが現在のブロックと同じ予測モードを有するかを示すために、予測モードを表す第２のビットをエンコードする（１０２）。例えば、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが上側の近隣ブロックの予測モードと同じである場合には「１」にエンコードし、現在のブロックの予測モードが左側の近隣ブロックの予測モードと同じである場合には「０」にエンコードする。したがって、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが近隣ブロックのうちの１つの予測モードと等しいとき、わずか１ビット、多くて２ビットを使用して、現在のブロックの予測モードをエンコードすることができる。
【０１１７】
現在のブロックの予測モードが前にエンコードされたブロックのいずれの予測モードとも同じではない場合、エントロピエンコーディングユニット４６は、それを示すために、第１のビットをエンコードする（９６）。上記の例を続けると、エントロピエンコーディングユニット４６は、現在のブロックの予測モードが前にエンコードされたブロックのいずれの予測モードとも同じではないことを示すために、第１のビットを「０」としてエンコードし得る。エントロピエンコーディングユニット４６は、可能な予測モードの組を再配列することができる（１０４）。エントロピエンコーディングユニット４６は、可能な予測モードの組から近隣ブロックの予測モードまたは予測モード群を削除することによって、可能な予測モードの組を再配列することができる。上側および左側の近隣ブロックが互いに異なる予測モードを有するとき、エントロピエンコーディングユニット４６は、その組から２つの予測モードを削除することができる。上側および左側の近隣ブロックが互いに同じ予測モードを有するとき、エントロピエンコーディングユニット４６は、その組から１つの予測モード（すなわち、上側および左側の近隣ブロックの予測モード）を削除することができる。さらに、いくつかの例では、エントロピエンコーディングユニット４６は、その組から１つまたは複数の追加のエンコードモードを選択的に削除することができる。エントロピエンコーディングユニット４６が１つまたは複数の追加の符号化モードを削除するとき、図２の予測ユニット３２も、同じ追加のエンコードモードが選択されないように、可能な予測モードの組からそれらの追加のエンコードモードを削除する。１つまたは複数の予測モードを削除した後、エントロピエンコーディングユニット４６は、その組の残りの予測モードのモード番号を調整する。
【０１１８】
エントロピエンコーディングユニット４６は、現在のブロックの予測モードを表す符号語をエンコードする（１０６）。エントロピエンコーディングユニット４６は、ＣＡＶＬＣ、ＣＡＢＡＣ、または他のエントロピ符号化方法を使用して、現在のビデオブロックの予測モードをエンコードすることができる。図７を参照してより詳細に説明するように、エンコーディングユニット４６は、いくつかの例では、１つまたは複数の前にエンコードされたブロックの予測モードに基づいて、現在のブロックの予測モードのエンコードに使用するための符号化コンテキストを適応的に選択することができる。
【０１１９】
図７は、本開示の一態様に従った符号化コンテキスト選択を示す流れ図である。上述したように、現在のブロックの予測モードのタイプと、上側および左側の近隣ブロックなど、１つまたは複数の前にエンコードされたブロックの予測モードのタイプとの間に相関が存在し得る。例えば、上側および左側の近隣ブロックの予測モードがいずれも単方向の予測モードであるとき、現在のブロックの予測モードも単方向の予測モードである確率がより高い。同様に、上側および左側の近隣ブロックの予測モードがいずれも双方向の予測モードであるとき、現在のブロックの予測モードも双方向の予測モードである確率がより高い。
【０１２０】
したがって、エントロピエンコーディングユニット４６は、上側および左側の近隣ブロックの予測モードが単方向の予測モードであるかどうかを決定し（１１２）、上側の近隣ブロックと左側の近隣ブロックとの両方の予測モードが単方向の予測モードであるときには、第１の符号化コンテキストを選択することができる（１１４）。第１の符号化コンテキストは、上側および左側の近隣ブロックの予測モードがいずれも単方向であるとき、現在のビデオブロックの予測モードの確率分布をモデリングする。第１の符号化コンテキストの確率分布は、その組の双方向の予測モードよりも、その組の単方向の予測モードについて、より高い確率を提供し得る。例えば、ＣＡＶＬＣの場合、第１の符号化コンテキストは、双方向の予測モードに関連付けられている符号語よりも、単方向の予測モードに、より短い符号語を関連付ける符号化テーブルを使用することができる。
【０１２１】
上側および左側の近隣ブロックのそれぞれの予測モードが単方向の予測モードではないとき、エントロピエンコーディングユニット４６は、上側および左側の近隣ブロックのそれぞれの予測モードが双方向の予測モードであるかどうかを決定することができる（１１６）。エントロピエンコーディングユニット４６は、上側および左側の近隣ブロックのそれぞれの予測モードがいずれも双方向の予測モードであるとき、第２の符号化コンテキストを選択することができる（１１７）。第２の符号化コンテキストは、現在のモードが単方向の予測モードよりも双方向の予測モードである確率がより高いという想定に基づいて、現在のビデオブロックの予測モードの確率分布をモデリングする。この場合も、ＣＡＶＬＣの場合、例えば、第２の符号化コンテキストは、単方向の予測モードに関連付けられている符号語よりも双方向の予測モードに、より短い符号語を関連付ける符号化テーブルを使用することができる。
【０１２２】
上側および左側の近隣ブロックの予測モードがいずれも双方向の予測モードではないとき、すなわち、前にエンコードされたブロックの予測モードが、双方向および単方向の予測モードの組合せであるとき、エントロピエンコーディングユニット４６は、第３の符号化コンテキストを選択することができる（１１８）。第３の符号化コンテキストは、現在の予測モードの確率が、その組の単方向の予測モードおよび双方向の予測モードに、より均等に分布されるという想定下で生成される。例えば、ＣＡＶＬＣの場合、第３の符号化コンテキストは、類似の符号長の符号語を、双方向の予測モードと単方向の予測モードとに関連付ける符号化テーブルを使用することができる。
【０１２３】
エントロピエンコードモジュール４６は、選択された符号化コンテキストに従って現在のビデオブロックの予測モードをエンコードする（１１９）。１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、現在のビデオブロックの予測モードのエンコードに使用するための異なる符号化コンテキストを選択することは、予測モード情報のより良い圧縮をもたらし得る。復号ユニット６０がビデオブロックの予測モードを正確に復号することができるように、同じ符号化コンテキスト選択技術が復号ユニット６０によって実行される。
【０１２４】
図８は、本開示の技術に従ってビデオブロックのヘッダー情報を復号する、ビデオ復号器２６のエントロピ復号ユニット６０などの復号ユニットの動作例を示す流れ図である。エントロピ復号ユニット６０は、ヘッダー情報を、例えば１つまたは複数のヘッダー構文要素の形で取得するために、エンコードされたビデオビットストリームを復号する。予測モードの復号を行うエントロピ復号ユニット６０の説明が、例示の目的で述べられる。これらの技術は、ブロックタイプ、ブロックパーティション、ＣＢＰなど、他のヘッダー構文要素の復号に拡張されることができる。
【０１２５】
特に、エントロピ復号ユニット６０は、現在のブロックの予測モードを表す第１のビットを受信する（１２０）。エントロピ復号ユニット６０は、現在のブロックの予測モードが、例えば上側または左側の近隣ブロックなど、前に復号されたブロックの予測モードと同じであることを、予測モードを表す第１のビットが示すかどうかを決定する（１２２）。例えば、エントロピ復号モジュール６０は、第１のビットが「１」であるときには、現在のブロックの予測モードが上側および左側の近隣ブロックの一方の予測モードと同じであることを、および第１のビットが「０」であるときには、現在のブロックの予測モードが上側および左側の近隣ブロックの予測モードと同じではないことを決定することができる。
【０１２６】
現在のブロックの予測モードが上側および左側の近隣ブロックのうちの一方の予測モードと同じであることをエントロピ復号ユニット６０が決定したとき、エントロピ復号ユニット６０は、上側の近隣ブロックの予測モードと左側の近隣ブロックの予測モードとが、同じであるかどうかを決定する（１２４）。上側の近隣ブロックの予測モードと左側の近隣ブロックの予測モードとが同じであるときには、現在のビデオブロックの予測モードを表すビットがそれ以上受信されず、エントロピ復号ユニット６０は、近隣ブロックのいずれかの予測モードを、現在のブロックの予測モードとして選択する（１２６）。上側の近隣ブロックの予測モードと左側の近隣ブロックの予測モードとが異なるときには、予測ビットを表す１つの追加ビットが受信され、エントロピ復号ユニット６０は、予測モードを表す次に受信されたそのビットに基づいて、適切な近隣ブロックの予測モードを、現在のブロックの予測モードとして選択する（１２８）。例えば、エントロピ復号ユニット６０は、次に受信されたビットが「１」であるときには、上側の近隣ブロックの予測モードを現在のブロックの予測モードとして選択し、次に受信されたビットが「０」であるときには、左側の近隣ブロックの予測モードを現在のブロックの予測モードとして選択することができる。
【０１２７】
現在のブロックの予測モードが上側および左側の近隣ブロックのいずれの予測モードとも同じではないことをエントロピ復号ユニット６０が決定したとき、すなわち、予測モードを表す第１のビットが「０」であるとき、エントロピ復号ユニット６０は、可能な予測モードの組の１つまたは複数の予測モードを削除することができる（１３０）。エントロピ復号ユニット６０は、上側および左側の近隣ブロックの予測モードを、可能な予測モードの組から削除することができる。上側および左側の近隣ブロックが同じ予測モードを有する場合、エントロピ復号ユニット６０は、上記で詳細に説明したように、近隣ブロックの予測モード、および少なくとも１つの他の予測モードを削除することができる。
【０１２８】
エントロピ復号ユニット６０は、現在のブロックの予測モードの予測モード番号を取得するために、残りのビット、例えば、記載した例では４ビット、を復号する（１３２）。エントロピ復号ユニット６０は、エントロピエンコーディングユニット４６によって実行される予測モード番号付け調整プロセスの逆の方法で、残りの予測モードの予測モード番号付けを調整することができる（１３４）。一例では、エントロピ復号ユニット６０は、削除された予測モードを挿入し直すことによって、復号された予測モード番号（０から１５の範囲）を付け直して、元の予測モード番号（０から１７の範囲）になるようにすることができる。いくつかの例では、エントロピ復号ユニット６０は、１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、例えば、上記で詳しく説明したように、前に復号されたブロックの予測モードがいずれも単方向か、いずれも双方向か、または一方が単方向で他方が双方向であるか、に基づいて、ブロックの予測モードについて、異なる符号化コンテキストを選択することができる。エントロピ復号ユニット６０は、選択された予測モードに従って、予測ブロックを生成するために、予測モードを予測ユニット６２に提供する（１３６）。図３を参照して説明したように、予測ブロックは、ユーザに提示するために再構成されたブロックを生成するために、残差ピクセル値と結合される。
【０１２９】
本開示に記載した技術は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実施されることができる。ユニットまたはコンポーネントとして説明された任意の特徴は、統合された論理装置に一緒に、または別個であるが、相互運用可能な論理装置として別々に実施されることができる。ソフトウェアにおいて実施される場合、こうした技術は、実行されると、上述した方法のうちの１つまたは複数を実行する命令を備えるコンピュータ可読媒体によって少なくとも一部分実現され得る。コンピュータ可読媒体は、パッケージング材を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気または光データ記憶媒体などを備え得る。これらの技術は、さらに、または代わりに、命令またはデータ構造の形でコードを運び、または伝える、およびコンピュータによってアクセスされ、読み取られ、かつ／または実行され得るコンピュータ可読通信媒体によって少なくとも一部分実現することができる。
【０１３０】
コードは、１つまたは複数のディジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＣＩ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の集積または個別論理回路など、１つまたは複数のプロセッサによって実行されることができる。したがって、「プロセッサ」という用語は、本明細書で使用する場合、上記の構造のうちの任意のもの、または本明細書に記載される技術の実施に適した他の任意の構造を指し得る。さらに、いくつかの態様において、本明細書に記載した機能は、エンコードおよび復号のために構成された、または結合されたビデオエンコーダ−復号器（ＣＯＤＥＣ）に組み込まれる専用のソフトウェアユニットまたはハードウェアユニット内に設けられることができる。様々な特徴をユニットとして説明しているのは、示した装置の異なる機能的側面を強調するためのものであり、必ずしも、こうしたユニットを別々のハードウェアまたはソフトウェアコンポーネントによって実現する必要があることを含意するものではない。むしろ、１つまたは複数のユニットに関連付けられている機能は、共通または別々のハードウェアまたはソフトウェアコンポーネント内で統合されることができる。
【０１３１】
本開示の様々な実施形態について説明した。これらおよび他の実施形態は、以下の特許請求の範囲内に含まれる。  
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
（１）  ビデオデータをエンコードする方法であって、
符号化単位のビデオブロックの予測ブロックの生成に使用するために、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを選択することと、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードすることと、
を備える方法。
（２）  前記符号化単位の前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードのエンコードに使用するために、複数の符号化コンテキストのうちの１つを選択することをさらに備え、エンコードすることが前記選択された符号化コンテキストに従ってエンコードすることを備える（１）に記載の方法。
（３）  前記符号化コンテキストのうちの１つを選択することが、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択することと、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択することと、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択することと、
を備える（２）に記載の方法。
（４）  残差ブロックを形成するために、前記選択された予測モードを使用して生成された前記予測モードを、前記ビデオブロックから取り除くことと、
前記選択された予測モードに基づいて、前記残差ブロックに適用するための変換を選択することと、
残差変換係数を生成するために、前記選択された変換を前記残差ブロックに適用することと、
をさらに備える（１）に記載の方法。
（５）  前記残差ブロックに適用するための前記変換を選択することが、
前記選択された予測モードが限定された方向性を示すときには、前記残差ブロックに適用するために、離散的コサイン変換（ＤＣＴ）および整数変換のうちの一方を選択することと、
前記選択された予測モードが方向性を示すときには、前記残差ブロックに適用するために、方向変換を選択することと、
を備える（４）に記載の方法。
（６）  前記ＤＣＴおよび前記整数変換のうちの一方を選択することが、前記選択された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるときには、前記残差ブロックに適用するために、前記ＤＣＴおよび前記整数変換のうちの一方を選択することを備える（５）に記載の方法。
（７）  複数の方向変換を格納することをさらに備え、前記複数の方向変換のそれぞれが、方向性を示す前記予測モードのうちの１つに対応し、前記方向変換を選択することが、前記選択された予測モードに対応する前記複数の方向変換のうちの前記１つを選択することを備える（５）に記載の方法。
（８）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納することをさらに備え、前記方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（４）に記載の方法。
（９）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納することをさらに備え、前記複数の方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎが前記ビデオブロックの大きさである（４）に記載の方法。
（１０）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（１）に記載の方法。
（１１）  前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードすることが、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちの１つと同じであることを示すために、前記予測モードを表す第１のビットをエンコードすることと、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードが互いに同じではないとき、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記ビデオブロックの前記予測モードと同じ予測モードを有するかを示すために、前記予測モードを表す少なくとも１つの追加ビットをエンコードすることと、
を備える（１）に記載の方法。
（１２）  前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードすることが、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちのいずれとも同じではないことを示すために、前記予測モードを表す第１のビットをエンコードすることと、
前記複数の予測モードから前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記予測モードを削除することと、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの予測モードではない少なくとも１つの追加の予測モードを削除することと、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列することと、
前記現在のビデオブロックの前記予測モードに対応する前記予測モード識別子を識別する符号語をエンコードすることと、
を備える（１）に記載の方法。
（１３）  ビデオデータをエンコードする装置であって、
符号化単位のビデオブロックの予測ブロックの生成に使用するために、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを選択する予測ユニットと、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードするエントロピエンコーディングユニットと、
を備える装置。
（１４）  前記エントロピエンコーディングユニットが、前記符号化単位の前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードのエンコードに使用するために、複数の符号化コンテキストのうちの１つを選択し、前記選択された符号化コンテキストに従って前記予測モードをエンコードする（１３）に記載の装置。
（１５）  前記エントロピエンコーディングユニットが、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには第１の符号化コンテキストを選択し、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには第２の符号化コンテキストを選択し、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには第３の符号化コンテキストを選択する（１４）に記載の装置。
（１６）  前記選択された予測モードに基づいて、残差ブロックに適用するための変換を選択し、残差変換係数を生成するために、前記選択された変換を前記残差ブロックに適用する変換ユニットをさらに備え、前記エントロピエンコーディングユニットが前記残差変換係数をエンコードする（１３）に記載の装置。
（１７）  前記変換ユニットが、前記選択された予測モードが限定された方向性を示すときには、前記残差ブロックに適用するために、離散的コサイン変換（ＤＣＴ）および整数変換のうちの一方を選択し、前記選択された予測モードが方向性を示すときには、前記残差ブロックに適用するために、方向変換を選択する（１６）に記載の装置。
（１８）  前記選択された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるときには、前記変換ユニットが、前記残差ブロックに適用するために、前記ＤＣＴおよび前記整数変換のうちの一方を選択する（１７）に記載の装置。
（１９）  複数の方向変換を格納するメモリをさらに備え、前記複数の方向変換のそれぞれが、方向性を示す前記予測モードのうちの１つに対応し、前記変換ユニットが、前記選択された予測モードに対応する前記複数の方向変換のうちの前記１つを選択する（１７）に記載の装置。
（２０）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納するメモリをさらに備え、前記方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（１６）に記載の装置。
（２１）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納するメモリをさらに備え、前記複数の方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎが前記ビデオブロックの大きさである（１６）に記載の装置。
（２２）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（１３）に記載の装置。
（２３）  前記エントロピエンコーディングユニットが、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちの１つと同じであることを示すために、前記予測モードを表す第１のビットをエンコードし、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードが互いに同じではないとき、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記ビデオブロックの前記予測モードと同じ予測モードを有するかを示す少なくとも１つの追加ビットをエンコードする、
（１３）に記載の装置。
（２４）  前記予測ユニットが、
前記複数の予測モードから前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記予測モードを削除し、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの予測モードではない少なくとも１つの追加の予測モードを削除し、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列し、
前記エントロピエンコーディングユニットが、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちのいずれとも同じではないことを示すために、前記予測モードを表す第１のビットをエンコードし、
前記現在のビデオブロックの前記予測モードに対応する前記予測モード識別子を識別する符号語をエンコードする、
（１３）に記載の装置。
（２５）  前記装置が無線通信装置を備える（１３）に記載の装置。
（２６）  前記装置が集積回路装置を備える（１３）に記載の装置。
（２７）  ビデオ符号化装置において実行されると、前記装置にビデオブロックを符号化させる命令を備えるコンピュータ可読媒体であって、前記命令が、前記装置に、
符号化単位のビデオブロックの予測ブロックの生成に使用するために、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを選択させ、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードさせる、
コンピュータ可読媒体。
（２８）  前記装置に、前記符号化単位の前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードのエンコードに使用するために、複数の符号化コンテキストのうちの１つを選択させる命令をさらに備え、エンコードすることが前記選択された符号化コンテキストに従ってエンコードすることを備える（２７）に記載のコンピュータ可読媒体。
（２９）
前記命令が前記装置に、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択させ、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択させ、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択させる、
（２８）に記載のコンピュータ可読媒体。
（３０）  前記装置に、
残差ブロックを形成するために、前記選択された予測モードを使用して生成された前記予測モードを、前記ビデオブロックから取り除かせ、
前記選択された予測モードに基づいて、前記残差ブロックに適用するための変換を選択させ、
残差変換係数を生成するために、前記選択された変換を前記残差ブロックに適用させる、
命令をさらに備える（２７）に記載のコンピュータ可読媒体。
（３１）  前記命令が前記装置に、
前記選択された予測モードが限定された方向性を示すときには、前記残差ブロックに適用するために、離散的コサイン変換（ＤＣＴ）および整数変換のうちの一方を選択させ、
前記選択された予測モードが方向性を示すときには、前記残差ブロックに適用するために、方向変換を選択させる、
（３０）に記載のコンピュータ可読媒体。
（３２）  前記選択された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるときには、前記命令が前記装置に、前記残差ブロックに適用するために、前記ＤＣＴおよび前記整数変換のうちの一方を選択させる（３１）に記載のコンピュータ可読媒体。
（３３）  前記装置に複数の方向変換を格納させる命令をさらに備え、前記複数の方向変換のそれぞれが、方向性を示す前記予測モードのうちの１つに対応し、前記方向変換を選択することが、前記選択された予測モードに対応する前記複数の方向変換のうちの前記１つを選択することを備える（３１）に記載のコンピュータ可読媒体。
（３４）  前記装置に前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納させる命令をさらに備え、前記方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（３０）に記載のコンピュータ可読媒体。
（３５）  前記装置に前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納させる命令をさらに備え、前記複数の方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎが前記ビデオブロックの大きさである（３０）に記載のコンピュータ可読媒体。
（３６）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（２７）に記載のコンピュータ可読媒体。
（３７）  前記命令が前記装置に、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちの１つと同じであることを示すために、前記予測モードを表す第１のビットをエンコードさせ、
前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードが互いに同じではないとき、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記ビデオブロックの前記予測モードと同じ予測モードを有するかを示すために、前記予測モードを表す少なくとも１つの追加ビットをエンコードさせる、
（２７）に記載のコンピュータ可読媒体。
（３８）  前記命令が前記装置に、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちのいずれとも同じではないことを示すために、前記予測モードを表す第１のビットをエンコードさせ、
前記複数の予測モードから前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記予測モードを削除させ、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの予測モードではない少なくとも１つの追加の予測モードを削除させ、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列させ、
前記現在のビデオブロックの前記予測モードに対応する前記予測モード識別子を識別する符号語をエンコードさせる、
（２７）に記載のコンピュータ可読媒体。
（３９）  ビデオデータをエンコードする装置であって、
符号化単位のビデオブロックの予測ブロックの生成に使用するために、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを選択するための手段と、
前記符号化単位の１つまたは複数の前にエンコードされたビデオブロックの予測モードに基づいて、前記現在のビデオブロックの前記予測モードをエンコードするための手段と、
を備える装置。
（４０）  前記符号化単位の前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードのエンコードに使用するために、複数の符号化コンテキストのうちの１つを選択するための手段をさらに備え、エンコードすることが前記選択された符号化コンテキストに従ってエンコードすることを備える（３９）に記載の装置。
（４１）  前記選択手段が、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには第１の符号化コンテキストを選択し、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには第２の符号化コンテキストを選択し、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには第３の符号化コンテキストを選択する（４０）に記載の装置。
（４２）  残差ブロックを形成するために、前記選択された予測モードを使用して生成された前記予測ブロックを、前記ビデオブロックから取り除くための手段と、
前記選択された予測モードに基づいて、残差ブロックに適用するための変換を選択するための手段と、
残差変換係数を生成するために、前記選択された変換を前記残差ブロックに適用するための手段と、
をさらに備える（３９）に記載の装置。
（４３）  前記変換選択手段が、前記選択された予測モードが限定された方向性を示すときには、前記残差ブロックに適用するために、離散的コサイン変換（ＤＣＴ）および整数変換のうちの一方を選択し、前記選択された予測モードが方向性を示すときには、前記残差ブロックに適用するために、方向変換を選択する（４２）に記載の装置。
（４４）  前記選択された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるときには、前記変換選択手段が、前記残差ブロックに適用するために、前記ＤＣＴおよび前記整数変換のうちの一方を選択する（４３）に記載の装置。
（４５）  複数の方向変換を格納するための手段をさらに備え、前記複数の方向変換のそれぞれが、方向性を示す前記予測モードのうちの１つに対応し、前記変換選択手段が、前記選択された予測モードに対応する前記複数の方向変換のうちの前記１つを選択する（４３）に記載の装置。
（４６）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納するための手段をさらに備え、前記方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（４２）に記載の装置。
（４７）  前記予測モードのうちの１つにそれぞれ対応する複数の方向変換を格納することをさらに備え、前記複数の方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎが前記ビデオブロックの大きさである（４２）に記載の装置。
（４８）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（３９）に記載の装置。
（４９）  前記エンコード手段が、前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちの１つと同じであることを示すために、前記予測モードを表す第１のビットをエンコードし、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードが互いに同じではないとき、前記１つまたは複数の前にエンコードされたビデオブロックのうちのどれが前記ビデオブロックの前記予測モードと同じ予測モードを有するかを示すために、前記予測モードを表す少なくとも１つの追加ビットをエンコードする（３９）に記載の装置。
（５０）  前記予測モード選択手段が、
前記複数の予測モードから前記１つまたは複数の前にエンコードされたビデオブロックの少なくとも前記予測モードを削除し、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの予測モードではない少なくとも１つの追加の予測モードを削除し、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列し、
前記エンコード手段が、
前記現在のブロックの前記予測モードが前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードのうちのいずれとも同じではないことを示すために、前記予測モードを表す第１のビットをエンコードし、
前記現在のビデオブロックの前記予測モードに対応する前記予測モード識別子を識別する符号語をエンコードする、
（３９）に記載の装置。
（５１）  ビデオデータを復号する方法であって、
符号化単位のビデオブロックのエンコードされたビデオデータを受信することと、
前記符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを識別するために、前記エンコードされたビデオデータを復号することと、
を備える方法。
（５２）  前記符号化単位の前記１つまたは複数の前に復号されたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードの復号に使用するために、複数の符号化コンテキストのうちの１つを選択することをさらに備え、復号することが前記選択された符号化コンテキストに従って復号することを備える（５１）に記載の方法。
（５３）  前記複数の符号化コンテキストのうちの１つを選択することが、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択することと、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択することと、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択することと、
を備える（５２）に記載の方法。
（５４）  前記識別された予測モードに基づいて、前記ビデオブロックの残差変換係数に適用するために、逆変換を選択することと、
残差データを生成するために、前記ビデオブロックの前記残差変換係数に前記選択された逆変換を適用することと、
をさらに備える（５１）に記載の方法。
（５５）  前記変換された残差係数に適用するための逆変換を選択することが、
前記識別された予測モードが限定された方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆離散的コサイン変換（逆ＤＣＴ）および逆整数変換のうちの一方を選択することと、
前記識別された予測モードが方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆方向変換を選択することと、
を備える（５４）に記載の方法。
（５６）  前記逆ＤＣＴおよび前記逆整数変換のうちの一方を選択することが、前記識別された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるときには、前記ビデオブロックの前記残差変換係数に適用するために、前記逆ＤＣＴおよび逆整数変換のうちの一方を選択することを備える（５５）に記載の方法。
（５７）  方向性を示す前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納することをさらに備え、前記逆方向変換を選択することが、前記識別された予測モードに対応する前記複数の逆方向変換のうちの前記１つを選択することを備える（５５）に記載の方法。
（５８）  前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納することをさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（５４）に記載の方法。
（５９）  前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納することをさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（５４）に記載の方法。
（６０）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（５１）に記載の方法。
（６１）  前記符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための前記複数の予測モードのうちの１つを識別するために、前記エンコードされたビデオデータを復号することが、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのうちの１つとして識別することと、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じであるとき、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記予測モードを選択することと、
を備える（５１）に記載の方法。
（６２）  前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じではないとき、前記予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードと同じ予測モードを有するかを識別することと、
前記識別された前に復号されたビデオブロックの前記予測モードを選択することと、
をさらに備える（６１）に記載の方法。
（６３）  前記符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための前記複数の予測モードのうちの１つを識別するために、前記エンコードされたビデオデータを復号することが、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのいずれでもないと識別することと、
前記複数の予測モードから前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記予測モードを削除することと、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードではない少なくとも１つの追加の予測モードを削除することと、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列することと、
前記現在のビデオブロックの予測ブロックの生成に使用するための前記予測モードに対応する前記予測モード識別子を識別するための符号語を復号することと、
を備える（５１）に記載の方法。
（６４）  ビデオデータを復号する装置であって、
符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを識別するために、前記符号化単位のビデオブロックのエンコードされたビデオデータを復号するエントロピ復号ユニットと、
前記復号された予測モードを使用して、前記予測ブロックを生成する予測ユニットと、
を備える装置。
（６５）  前記エントロピ復号ユニットが、前記符号化単位の前記１つまたは複数の前に復号されたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードの復号に使用するために、複数の符号化コンテキストのうちの１つを選択し、復号することが前記選択された符号化コンテキストに従って復号することを備える（６４）に記載の装置。
（６６）  前記エントロピ復号ユニットが、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択する、
（６５）に記載の装置。
（６７）  前記識別された予測モードに基づいて、前記ビデオブロックの残差変換係数に適用するために、逆変換を選択し、
残差データを生成するために、前記ビデオブロックの前記残差変換係数に前記選択された逆変換を適用する、
逆変換ユニットをさらに備える（６４）に記載の装置。
（６８）  前記逆変換ユニットが、
前記識別された予測モードが限定された方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆離散的コサイン変換（逆ＤＣＴ）および逆整数変換のうちの一方を選択し、
前記識別された予測モードが方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆方向変換を選択する、
（６７）に記載の装置。
（６９）  前記識別された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードのいずれかであるとき、前記逆変換ユニットが、前記ビデオブロックの前記残差変換係数に適用するために、前記逆ＤＣＴおよび逆整数変換のうちの一方を選択する（６８）に記載の装置。
（７０）  前記逆変換ユニットが、方向性を示す前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納し、前記識別された予測モードに対応する前記複数の逆方向変換のうちの前記１つを選択する（６８）に記載の装置。
（７１）  前記逆変換ユニットが、前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納し、前記複数の逆方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（６７）に記載の装置。
（７２）  前記逆変換ユニットが、前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納し、前記複数の逆方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（６７）に記載の装置。
（７３）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（６４）に記載の装置。
（７４）  前記復号ユニットが、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのうちの１つとして識別し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じであるとき、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記予測モードを選択する、
（６４）に記載の装置。
（７５）  前記復号ユニットが、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じではないとき、前記予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードと同じ予測モードを有するかを識別し、
前記識別された前に復号されたビデオブロックの前記予測モードを選択する、
（７４）に記載の装置。
（７６）  前記復号ユニットが、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのいずれでもないと識別し、
前記複数の予測モードから前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記予測モードを削除し、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードではない少なくとも１つの追加の予測モードを削除し、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列し、
前記現在のビデオブロックの予測ブロックの生成に使用するための前記予測モードに対応する前記予測モード識別子を識別するための符号語を復号する、
（６４）に記載の装置。
（７７）  前記装置が無線通信装置を備える（６４）に記載の装置。
（７８）  前記装置が集積回路装置を備える（６４）に記載の装置。
（７９）  ビデオ復号化装置において実行されると、前記装置にビデオブロックを復号化させる命令を備えるコンピュータ可読媒体であって、前記命令が前記装置に、
符号化単位のビデオブロックのエンコードされたビデオデータを受信させ、
前記符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを識別するために、前記エンコードされたビデオデータを復号させる、
コンピュータ可読媒体。
（８０）  前記装置に、前記符号化単位の前記１つまたは複数の前に復号されたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードの復号に使用するために、複数の符号化コンテキストのうちの１つを選択させる命令をさらに備え、復号することが前記選択された符号化コンテキストに従って復号することを備える（７９）に記載のコンピュータ可読媒体。
（８１）  前記命令が前記装置に、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択させ、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択させ、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択させる、
（８０）に記載のコンピュータ可読媒体。
（８２）  前記装置に、
前記識別された予測モードに基づいて、前記ビデオブロックの残差変換係数に適用するために、逆変換を選択させ、
残差データを生成するために、前記ビデオブロックの前記残差変換係数に前記選択された逆変換を適用させる、
命令をさらに備える（７９）に記載のコンピュータ可読媒体。
（８３）  前記命令が前記装置に、
前記識別された予測モードが限定された方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆離散的コサイン変換（逆ＤＣＴ）および逆整数変換のうちの一方を選択させ、
前記識別された予測モードが方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆方向変換を選択させる、
（８２）に記載のコンピュータ可読媒体。
（８４）  前記識別された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードであるとき、前記命令が前記装置に、前記ビデオブロックの前記残差変換係数に適用するために、前記逆ＤＣＴおよび逆整数変換のうちの１つを選択させる（８３）に記載のコンピュータ可読媒体。
（８５）  前記装置に方向性を示す前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納させる命令をさらに備え、前記逆方向変換を選択することが、前記識別された予測モードに対応する前記複数の逆方向変換のうちの前記１つを選択することを備える（８３）に記載のコンピュータ可読媒体。
（８６）  前記装置に前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納させる命令をさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（８２）に記載のコンピュータ可読媒体。
（８７）  前記装置に前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納させる命令をさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（８２）に記載のコンピュータ可読媒体。
（８８）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（７９）に記載のコンピュータ可読媒体。
（８９）  前記命令が前記装置に、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのうちの１つとして識別させ、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じであるとき、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記予測モードを選択させる、
（７９）に記載のコンピュータ可読媒体。
（９０）  前記装置に、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じではないとき、前記予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードと同じ予測モードを有するかを識別させ、
前記識別された前に復号されたビデオブロックの前記予測モードを選択させる、
命令をさらに備える（８９）に記載のコンピュータ可読媒体。
（９１）  前記命令が前記装置に、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのいずれでもないと識別させ、
前記複数の予測モードから前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記予測モードを削除させ、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードではない少なくとも１つの追加の予測モードを削除させ、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列させ、
前記現在のビデオブロックの予測ブロックの生成に使用するための前記予測モードに対応する前記予測モード識別子を識別するための符号語を復号させる、
（７９）に記載のコンピュータ可読媒体。
（９２）  ビデオデータを復号する装置であって、
符号化単位のビデオブロックのエンコードされたビデオデータを受信するための手段と、
前記符号化単位の１つまたは複数の前に復号されたビデオブロックの予測モードに基づいて、前記ビデオブロックの予測ブロックの生成に使用するための、単方向の予測モードと少なくとも２つの単方向の予測モードを組み合わせた多方向の予測モードとを含む、複数の予測モードのうちの１つを識別するために、前記エンコードされたビデオデータを復号するための手段と、
を備える装置。
（９３）  前記復号手段が、前記符号化単位の前記１つまたは複数の前に復号されたビデオブロックの前記予測モードに基づいて、前記ビデオブロックの前記予測モードの復号に使用するために、複数の符号化コンテキストのうちの１つを選択し、復号することが前記選択された符号化コンテキストに従って復号することを備える（９２）に記載の装置。
（９４）  前記復号手段が、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向の予測モードであるときには、第１の符号化コンテキストを選択し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて多方向の予測モードであるときには、第２の符号化コンテキストを選択し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードがすべて単方向ではなく、すべて多方向でもないときには、第３の符号化コンテキストを選択する、
（９３）に記載の装置。
（９５）  残差変換係数を変換するための手段をさらに備え、前記変換手段が、
前記識別された予測モードに基づいて、前記ビデオブロックの残差変換係数に適用するために、逆変換を選択し、
残差データを生成するために、前記ビデオブロックの前記残差変換係数に前記選択された逆変換を適用する、
（９２）に記載の装置。
（９６）  前記変換手段が、
前記識別された予測モードが限定された方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆離散的コサイン変換（逆ＤＣＴ）および逆整数変換のうちの一方を選択し、
前記識別された予測モードが方向性を示すときには、前記ビデオブロックの前記残差変換係数に適用するために、逆方向変換を選択する、
（９５）に記載の装置。
（９７）  前記識別された予測モードがＤＣの単方向の予測モード、または実質的に直交する方向を指す少なくとも２つの予測モードを組み合わせた多方向の予測モードのいずれかであるとき、前記変換手段が、前記ビデオブロックの前記残差変換係数に適用するために、前記逆ＤＣＴおよび逆整数変換のうちの一方を選択する（９６）に記載の装置。
（９８）  方向性を示す前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納するための手段をさらに備え、前記変換手段が前記識別された予測モードに対応する前記複数の逆方向変換のうちの前記１つを選択する（９６）に記載の装置。
（９９）  前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納するための手段をさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ×Ｎの列変換行列、およびサイズＮ×Ｎの行変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（９５）に記載の装置。
（１００）  前記予測モードのうちの１つにそれぞれ対応する複数の逆方向変換を格納するための手段をさらに備え、前記複数の逆方向変換のそれぞれが、サイズＮ２×Ｎ２の変換行列を備え、Ｎ×Ｎが前記ビデオブロックの大きさである（９５）に記載の装置。
（１０１）  前記複数の予測モードが単方向の予測モードと可能な双方向の予測モードのサブセットとを含み、前記双方向の予測モードのサブセットが前記単方向の予測モードのそれぞれを含む少なくとも１つの組合せを含む（９２）に記載の装置。
（１０２）  前記復号手段が、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのうちの１つとして識別し、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じであるとき、前記１つまたは複数の前に復号されたビデオブロックのうちの任意のものの前記予測モードを選択する、
（６０）に記載の装置。
（１０３）  前記復号手段が、
前記１つまたは複数の前に復号されたビデオブロックの前記予測モードが同じではないとき、前記予測モードを表す少なくとも１つの追加のエンコードされたビットに基づいて、前記１つまたは複数の前に復号されたビデオブロックのうちのどれが前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードと同じ予測モードを有するかを識別し、
前記識別された前に復号されたビデオブロックの前記予測モードを選択する、
（１０２）に記載の装置。
（１０４）  前記復号手段が、
前記予測モードを表す第１のエンコードされたビットに基づいて、前記ビデオブロックの前記予測ブロックの生成に使用するための前記予測モードを、前記１つまたは複数の前に復号されたビデオブロックの前記予測モードのいずれでもないと識別し、
前記複数の予測モードから前記１つまたは複数の前に復号されたビデオブロックの少なくとも前記予測モードを削除し、
前記符号化単位の前記前にエンコードされたビデオブロックのうちの２つ以上が同じ予測モードを有しているとき、前記１つまたは複数の前にエンコードされたビデオブロックの前記予測モードではない少なくとも１つの追加の予測モードを削除し、
前記複数の予測モードの前記残りの予測モード中の予測モード識別子を仮に再配列し、
前記現在のビデオブロックの予測ブロックの生成に使用するための前記予測モードに対応する前記予測モード識別子を識別するための符号語を復号する、
（９２）に記載の装置。
【図１】
0005575940.tif 000006
【図２】
0005575940.tif 000007
【図３】
0005575940.tif 000008
【図４】
0005575940.tif 000009
【図５】
0005575940.tif 000010
【図６】
0005575940.tif 000011
【図７】
0005575940.tif 000012
【図８】
0005575940.tif 000013