概して、本開示では、ビデオデータを符号化するための技法について説明する。特に、本開示では、幾つかのイントラ予測モードが予測のために利用可能であるかどうかを決定することに関する技法について説明する。本開示の態様によれば、利用可能なイントラ予測モードは、ビデオデータを符号化及び復号するために、それぞれビデオエンコーダ及びビデオデコーダによって使用され得る。代替的に、イントラ予測モードが、ビデオデータを符号化又は復号するために考慮されることから除外されるとき、そのイントラ予測モードは「利用不可能」であると呼ばれることがある。例えば、ビデオデータのブロックを符号化又は復号するためにイントラ予測モードを選択するとき、利用不可能である予測モードは考慮から削除され得る。さらに、利用不可能である予測モードは、ビデオエンコーダとビデオデコーダとの間で信号伝達されないことがある。従って、以下でより詳細に説明するように、信号伝達オーバーヘッド、即ち、利用可能な予測モードをエンコーダとデコーダとの間で信号伝達するのに必要とされるビット数は、幾つかのイントラ予測モードを利用不可能にすることによって低減され得る。
符号化ビデオデータは予測データと残差データとを含み得る。ビデオエンコーダは、イントラ予測モード又はインター予測モードを使用して予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中の画素値を、同じピクチャの隣接する、前に符号化されたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中の画素値を、前に符号化されたピクチャのデータに対して予測することを伴う。
イントラ予測又はインター予測の後に、ビデオエンコーダはブロックの残差画素値を計算し得る。その残差値は、概して、ブロックについての予測画素値データとブロックの真画素値データとの間の差に対応する。例えば、残差値は、符号化画素と予測画素との間の差を示す画素差分値を含み得る。幾つかの例では、符号化画素は、符号化されるべき画素のブロックに関連し得、予測画素は、符号化ブロックを予測するために使用される画素の1つ以上のブロックに関連し得る。ブロックの残差値をさらに圧縮するために、残差値は、(「エネルギー」とも呼ばれる)できるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに変換され得る。その変換は、画素の残差値を空間領域から変換領域に変換する。変換係数は、通常、元のブロックと同じサイズである係数の2次元行列に対応する。言い換えれば、元のブロック中の画素とちょうど同数の変換係数がある。但し、変換により、変換係数の多くは、0に近いか等しい値を有し得る。
ビデオエンコーダは、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、変換係数のエントロピーを低減することを伴う。場合によっては、量子化は、幾つかの値を0に低減し得る。量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む2次元行列から1次元ベクトルを生成し得る。ビデオエンコーダは、走査より前に又は走査の後に、幾つかの係数、例えば、行列の左上隅以外の全ての係数、又は配列の位置Nから終端までの配列中の全ての係数をゼロ設定し得る。
ビデオエンコーダは、次いで、データをなお一層圧縮するために、得られた配列をエントロピー符号化し得る。幾つかの例では、ビデオエンコーダは、例えば、コンテキスト適応型可変長符号化(CAVLC)を使用して、配列の様々な可能な量子化された変換係数を表すために可変長コード(VLC:variable length code)を使用するように構成され得る。他の例では、ビデオエンコーダは、例えば、コンテキスト適応型2値算術符号化(CABAC)を使用して、得られた量子化係数を符号化するために2値算術符号化を使用するように構成され得る。
高効率ビデオ符号化(HEVC)と現在呼ばれる、新しいビデオ符号化規格を開発するための取り組みが現在進行中である。その今度の規格は、非公式にITU−T H.265と呼ばれることもあるが、そのような指定は正式に行われていない。この規格化の取り組みは、HEVCテストモデル(HM:HEVC Test Model)と呼ばれるビデオ符号化装置のモデルに基づく。HMは、例えば、ITU−T H.264/AVCによる他の機器に勝るビデオ符号化装置の幾つかの能力を仮定する。例えば、H.264は9つのイントラ予測符号化モードを提供するが、HMは35個ものイントラ予測符号化モードを提供する。
HMは、ビデオデータのブロックを符号化単位(CU)と称する。ビットストリーム内のシンタックスデータは、画素の数に関する最大符号化単位(LCU:largest coding unit)である最大符号化単位を定義し得る。概して、CUは、CUがサイズの差異を有しないことを除いて、H.264に従って符号化されたマクロブロックと同様の目的を有する。従って、CUはサブCUに分割され得る。概して、本開示におけるCUへの言及は、ピクチャの最大符号化単位又はLCUのサブCUを指すことがある。LCUはサブCUに分割され得、各サブCUはサブCUに分割され得る。ビットストリームについてのシンタックスデータは、CU深さと呼ばれる、LCUが分割され得る最大回数を定義し得る。従って、ビットストリームは最小符号化単位(SCU:smallest coding unit)をも定義し得る。
LCUは4分木データ構造に関連付けられ得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはLCUに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。例えば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。
分割されないCUは、1つ以上の予測単位(PU)を含み得る。概して、PUは、対応するCUの全部又は一部分を表し、そのPUの参照サンプルを取り出すためのデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。(1つ又は複数の)PUを定義するCUについてのデータはまた、例えば、CUを1つ以上のPUに区分することを記述し得る。区分モードは、CUが符号化されないか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかとの間で異なり得る。
1つ以上のPUを有するCUは、1つ以上の変換ユニット(TU:transform unit)をも含み得る。PUを使用した予測の後に、ビデオエンコーダは、PUに対応するCUの部分の残差値を計算し得る。残差値は変換され、量子化され、走査され得る。TUは、必ずしもPUのサイズに制限されるとは限らない。従って、TUは、同じCUの対応するPUよりも大きいことも小さいこともある。幾つかの例では、TUの最大サイズは、対応するCUのサイズであり得る。本開示では、CU、PU、又はTUのいずれかを指すために「ブロック」という用語を使用する。
概して、本開示の技法は、例えば、(概して「ビデオコーダ」と呼ばれる)ビデオエンコーダ又はビデオデコーダによってビデオデータを予測するための利用可能なイントラ予測モードを決定することに関する。特に、本開示の技法は、CU予測タイプ又はCU予測サイズなど、CUの特性に基づいてプレーンイントラモードが利用可能であるかどうかを決定することを含む。即ち、本開示の態様は、CUが未分割2N×2N予測タイプ又は分割N×N予測タイプとして予測されるかどうかに基づいてプレーンモードが利用可能であるかどうかを決定することに関する。本開示の態様はまた、例えば、64×64画素、32×32画素、16×16画素などのCU予測サイズに基づいてプレーンモードが利用可能であるかどうかを決定することに関する。即ち、本開示の態様は、CUに関連する1つ以上のPUのサイズを決定することと、PUのサイズに基づいてプレーンモードが利用可能であるかどうかを決定することとに関する。本開示の技法はまた、例えば、ブロックタイプ又はブロックサイズ制限によりプレーンモードが利用不可能であるときを決定することと、それに応じて最有望モード決定プロセスを変更することとを含む。
上記のように、本開示の態様に従って、ある予測モードが特定のブロックのために「利用不可能」であると呼ばれるとき、その予測モードは、エンコーダによって特定のブロックを符号化するために考慮されることから除外され、又はデコーダによって特定のブロックを復号するために考慮されることから除外される。例えば、利用不可能である予測モードは、ブロックを符号化するために予測モードを選択するときに考慮から削除される。さらに、利用不可能である予測モードは、エンコーダとデコーダとの間で通信されるビットストリーム中で信号伝達されず、デコーダによってブロックを復号するために使用されない。従って、信号伝達オーバーヘッド、即ち、エンコーダとデコーダとの間で利用可能な予測モードを信号伝達するのに必要とされるビット数は、幾つかのモードを利用不可能にすることによって低減され得る。一例では、エンコーダからデコーダに、HMにおいて提供される35個のイントラ予測モードを定義する情報を送るために一定数のビットが必要とされ得る。幾つかの予測モードを利用不可能にすることによって、エンコーダからデコーダに残りの利用可能な予測モードを送るのに必要とされるビット数は、HMにおいて提供される35個のイントラ予測モードを送るのに必要とされるビット数と比較して低減され得る。
本開示では、概して、CUに関連する予測単位の数を定義するCU「予測タイプ」に言及する。即ち、例えば、CU予測タイプは、CUがイントラ予測目的のために全体として予測されるかどうかを識別し得る(例えば、「非分割」と呼ばれることもある)。例えば、CUは、(例えば、分割されない)未分割2N×2Nタイプとして予測されるものとして言及されることがあり、CUが全体としてイントラ予測されることを意味する。即ち、CUは、CU中の全ての画素に適用可能である単一の関連するPUを有する。CUは、(例えば、4つの部分に分割される)N×Nタイプとして予測されると呼ばれることもあり、CUが潜在的に2つ以上のイントラ予測モードを使用してイントラ予測され得ることを意味する。例えば、N×Nタイプとして予測されるCUは4つのブロックに分割され、そのブロックの各々が、信号伝達される別個の関連するPUと独立したイントラ予測モードとを有し得る。
本開示では、概して、垂直及び水平サイズに関して、CUに関連する1つ以上のPUの画素サイズを識別するものとして「予測サイズ」に言及する。例えば、サイズが64×64画素であるCUは、垂直方向に64個の画素(y=64)を有し、水平方向に64個の画素(x=64)を有することになる。一例では、CUは、未分割2N×2Nタイプとして予測され、(例えば単一の64×64画素PUに対応する)64×64画素の予測サイズを有し得る。代替的に、CUは、各々が独立したイントラ予測モードを含み得る、32×32画素の予測サイズをもつ4つの関連するPUを有する分割N×Nタイプとして予測され得る。
ITU−T H.264準拠エンコーダは、符号化されているブロックのサイズに基づいて異なる利用可能なイントラ予測モードで構成され得る。例えば、ビデオエンコーダは、マクロブロック(16×16画素)を符号化するために4つの異なる利用可能なイントラ予測モードから選択し得る。特に、ビデオエンコーダは、垂直イントラモードと、水平イントラモードと、DCイントラモードと、プレーンイントラモードとから選択し得る。別の例では、4×4画素をもつブロックの場合、H.264準拠エンコーダは、9つの異なるイントラモードから選択し得る。しかしながら、H.264仕様によれば、プレーンモードは、スムーズに変動するルミナンスのエリアにおいてうまく動作し得るが、より小さいサイズのブロックに対してうまく動作しないことがあるので、プレーンイントラモードは4×4画素のブロックのために利用可能でない。従って、H.264準拠エンコーダは、符号化されるべきブロックのサイズに基づいて幾つかの利用可能なイントラモードに限定される。
本開示の技法は、幾つかのイントラモードがHMのフレキシブルなCU符号化構造を使用して利用可能にされる時のよりフレキシブルな決定を与えることに関する。例えば、上記で説明したように、符号化されているブロックがマクロブロックよりも小さい場合、H.264準拠エンコーダは、幾つかのイントラモードを利用不可能にすることを強制される。但し、HEVCにおけるCUはサイズの差異を有しない。従って、H.264ではマクロブロックよりも小さいブロックのために利用可能にされない幾つかのイントラモードは、HEVC符号化、又はブロックについてサイズの差異を有しない他の符号化では、依然として、様々なCU及びサブCUの存立可能な候補であり得る。
本開示の技法は、符号化又は復号されるべきCUの特性に基づいてどのイントラモードが利用可能であるかをエンコーダ又はデコーダが決定し得る、よりフレキシブルな手法を含む。一例では、エンコーダ又はデコーダは、符号化されるべきCUの予測タイプに基づいてどのイントラモードが利用可能であるかを決定し得る。即ち、例えば、エンコーダ又はデコーダは、符号化又は復号されているCUに関連する予測単位の数を定義する予測タイプに基づいてどのイントラモードが利用可能であるか(例えば、CUが予測目的のために分割されているかどうか)を決定し得る。別の例では、エンコーダ又はデコーダは、CU予測サイズ(例えば、CUに関連する1つ以上のPUのサイズ)に基づいてどのイントラモードが利用可能であるかを決定し得る。
本開示の幾つかの技法はビデオエンコーダに関して説明され得るが、それらの技法がビデオデコーダによっても適用され得ることを理解されたい。例えば、CUの予測タイプに基づいて、又はCU予測サイズに基づいてどのイントラモードが利用可能であるかを決定するための幾つかの技法は、例として、ビデオエンコーダに関して説明され得る。但し、そのような技法は、どのイントラモードが利用可能であるかを決定するためにビデオデコーダによっても適用され得る。さらに、本開示の幾つかの技法は、この用語が使用されるコンテキストに応じて、ビデオエンコーダ又はビデオデコーダを備え得る一般的な「ビデオコーダ」に関して説明され得る。即ち、ビデオデータを符号化するものとして説明されるとき、ビデオコーダはビデオエンコーダを指すことがあるが、ビデオデータを復号するものとして説明されるとき、ビデオコーダはビデオデコーダを指すことがある。
CU予測タイプに基づいてどのイントラモードが利用可能であるかを決定するとき、ビデオコーダは、CUが単一のPUを用いて予測されるかどうか、又はCUが2つ以上のPUを使用して予測されるかどうかを考慮し得る。例えば、ビデオコーダは、CUが全体として予測される2N×2N予測タイプをCUが有すると決定した場合、ビデオコーダは、CUを予測するためにプレーンイントラ予測モード(plane intra-prediction mode)を利用可能にし得る。代替的に、ビデオコーダは、CUが複数の別個の予測モードを用いて予測されるN×N予測タイプをCUが有すると決定した場合、ビデオコーダは、CUを予測するためにプレーンイントラ予測を利用不可能にし得る。特に、ビデオエンコーダは、CUのためにプレーンイントラ予測モードを使用することも信号伝達することもしないことがある。
CU予測サイズに基づいてどのイントラモードが利用可能であるかを決定するとき、ビデオコーダは、PUのサイズを所定の閾値サイズと比較し得る。例えば、ビデオコーダは、単に、所定の閾値サイズを超えるPUのためにプレーンイントラ予測モードを利用可能にし得る。本開示の幾つかの態様によれば、ビデオコーダは、8×8画素よりも大きいPUサイズのためにプレーンイントラ予測モードを利用可能にし得る。但し、8×8画素閾値は単に一例として与えられたものにすぎず、ビデオコーダは、代替PUサイズ閾値(例えば、4×4画素、16×16画素など)を実装し得る。
本開示の技法は、エンコーダとデコーダとを利用可能なイントラモードのセットを決定するための同じ基準を用いて構成することを含み、例えば、エンコーダとデコーダの両方が同じ所定のタイプ又はサイズ閾値を用いて構成される。本開示の技法はまた、エンコーダによって、利用可能なイントラモードのセットを決定するための基準をシーケンスヘッダ又はスライスヘッダ中でパラメータとして信号伝達することを含む。利用可能なイントラモードのセットを決定するための基準を信号伝達することにより、フレームの異なるシーケンス又はスライスが、利用可能なイントラモードのセットを決定するための異なる基準を有し得ることが可能になり得る。
本開示の幾つかの態様はまた、イントラ予測モードを信号伝達することに関する。一例では、ビデオエンコーダは、コンテキストモデルに基づいてブロックのためのイントラ予測モードを信号伝達し得る。即ち、ビデオエンコーダは、現在符号化されているブロックを囲む、前に符号化されたブロックのイントラ予測モードを識別し得る。ビデオエンコーダは、次いで、現在ブロックのためのイントラ予測モードが前に符号化された周囲のブロックのイントラ予測モードと同じであるかどうかに基づいて、現在ブロックのイントラ予測モードを信号伝達し得る。ビデオデコーダは、そのような信号伝達を受信し、エンコーダによって適用される同じ基準を使用して信号を復号し得る。即ち、ビデオデコーダは、ブロックを符号化するために使用されたイントラ予測モードを決定するためにビデオエンコーダと同じコンテキストモデルを適用し得る。
幾つかの例では、エンコーダは、符号化されるべきブロックのための最有望イントラ予測モードであるとして、符号化されるべきブロックの相対的な上側及び左側の、前に符号化されたブロックのイントラ予測モードを識別し得る。現在ブロックのためのイントラ予測モードが最有望モードと実際に同じであった場合、エンコーダは、1ビットの最有望モードフラグを使用してイントラ予測モードを信号伝達し得る。即ち、ビデオエンコーダは、現在ブロックのためのイントラ予測モードを明示的に識別する必要なしに、現在ブロックのためのイントラ予測モードが最有望モードと同じであることを信号伝達することができる。本開示の態様によれば、ビデオエンコーダは、最有望モード(例えば、周囲のブロックのモード)がプレーンモードであるときでも、現在ブロックのためのイントラ予測モードが最有望モードと同じであることを信号伝達し得る。ビデオデコーダは、次いで、最有望モードフラグを受信し、同じプロセスを使用して最有望モードを決定し、それによって、受信したブロックを予測するために使用されるイントラモードを識別し得る。現在ブロックのためのイントラ予測モードが最有望モードと同じでなかった場合、ビデオエンコーダは、追加のビットを使用して現在ブロックのためのイントラモードを信号伝達し得る。
本開示の技法は、最有望モードがプレーンイントラモードであり、プレーンイントラモードが、符号化されているブロックのために利用可能でないときでも、最有望モードに基づいてイントラ予測モードを信号伝達することを含む。例えば、本開示の態様は、符号化されているCUの特性に基づいてプレーンイントラモードが利用可能であるかどうかを識別することに関する。例えば、CU予測タイプ又はCU予測サイズ制限によりプレーンイントラモードが利用可能でない場合、ビデオエンコーダは、修正最有望モード信号伝達プロセスを実装し得る。例えば、エンコーダは、プレーンイントラモードを使用する隣接ブロックのイントラ予測モードを、DCモードなどの別のイントラモードにマッピングし得る。この例では、最有望モードを識別することは、次いで、通常通り進むことができる。即ち、プレーンモードでないモードにマッピングされた隣接体の場合には、ビデオエンコーダは、利用不可能なプレーンモードを選択する可能性なしに最有望モードを信号伝達することができる。さらに、ビデオデコーダは、利用不可能なプレーンモードを選択する可能性なしに最有望モードを決定するために、ビデオエンコーダと同じネイバーマッピング方式を適用し得る。
別の例では、ビデオエンコーダは、最初に、隣接モードの修正なしに最有望モードを識別し得る。ビデオエンコーダが、最有望モードがプレーンモードであり、プレーンモードが利用不可能であると決定した場合、ビデオエンコーダは、代わりに、DCモードなどの別のモードを選択し得る。本開示の幾つかの態様によれば、ビデオエンコーダとビデオデコーダとは、プレーンモードが利用可能でないとき、同じ最有望モード信号伝達プロセスで構成され得る。即ち、例えば、ビデオデコーダが、最有望モードがプレーンモードであり、プレーンモードが利用不可能であると決定した場合、ビデオデコーダは、代わりに、DCモードなど、ビデオエンコーダと同じモードを選択し得る。
本開示の幾つかの態様によれば、ビデオエンコーダは、固有のモード識別子を使用して、プレーンイントラ予測モードを含む全ての利用可能なイントラ予測モードを信号伝達し得る。即ち、例えば、ビデオエンコーダは、利用可能であるときはプレーンイントラ予測モードを含む、各利用可能なイントラ予測モードのための固有の識別番号を生成し、ビデオデコーダにその識別番号を送信し得る。ビデオデコーダは、次いで、エンコーダによってビデオデータを符号化するために使用されるイントラ予測モードを識別するために、受信した識別番号を使用し得る。例えば、ビデオデコーダは、利用可能なイントラ予測モードを識別し、利用可能なイントラ予測モードから、ビデオエンコーダによって信号伝達されたイントラ予測モードを復号し得る。
このようにして、ビデオエンコーダとビデオデコーダとは、符号化されているCUの特性に基づいて利用可能なイントラ予測モードのセットを決定し得る。例えば、ビデオコーダは、符号化されているCUの予測タイプ(例えば、2N×2N、N×Nなど)に基づいて利用可能なイントラ予測モードのセットを決定し、CUが未分割2N×2Nタイプとして予測されたときにのみ、利用可能なモードのセット中にプレーンイントラ予測モードを含め得る。別の例では、ビデオコーダは、CU予測サイズ(例えば、64×64画素、32×32画素、16×16画素など)に基づいて利用可能なイントラ予測モードのセットを決定し、CUに関連するPUが所定のサイズ閾値(例えば、8×8画素)よりも大きいときにのみ、利用可能なモードのセット中にプレーンイントラ予測モードを含め得る。さらに、ビデオエンコーダは、全てのモードが現在ブロックをイントラ符号化するために利用可能であるかどうかにかかわらず、最有望イントラモードに基づいて、選択されたイントラモードを信号伝達し得る。ビデオデコーダは、そのような信号伝達を受信し、ビデオエンコーダによって適用される同じ基準を使用して信号を復号し得る。
図1は、符号化単位を符号化するための利用可能なイントラモードを決定するための技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。図1に示すように、システム10は、通信チャネル16を介して符号化ビデオを宛先機器14に送信する発信源機器12を含む。発信源機器12及び宛先機器14は、広範囲の機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、所謂セルラー電話又は衛星無線電話のワイヤレスハンドセットなどのワイヤレス通信機器、又は通信チャネル16を介してビデオ情報を通信することができ、その場合、通信チャネル16がワイヤレスである任意のワイヤレス機器を備え得る。
但し、符号化単位を符号化するための利用可能なイントラモードを決定することに関係する本開示の技法は、必ずしもワイヤレスアプリケーション又は設定に限定されるとは限らない。例えば、これらの技法は、無線テレビジョン放送(over-the-air television broadcasts)、ケーブルテレビジョン送信、衛星テレビジョン送信、インターネットビデオ送信、記憶媒体上に符号化される符号化デジタルビデオ、又は他のシナリオに適用し得る。従って、通信チャネル16は、符号化ビデオデータの送信又は記憶に好適なワイヤレス又はワイヤード媒体の任意の組合せを備え得る。
図1の例では、発信源機器12は、ビデオソース18と、ビデオエンコーダ20と、変調器/復調器(モデム)22と、送信機24とを含む。宛先機器14は、受信機26と、モデム28と、ビデオデコーダ30と、表示装置32とを含む。本開示によれば、発信源機器12のビデオエンコーダ20は、本開示の利用可能なイントラモードを決定するための技法を適用するように構成され得る。他の例では、発信源機器及び宛先機器は他の構成要素又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先機器14は、一体型表示装置を含むのではなく、外部表示装置とインターフェースし得る。
図1の図示のシステム10は一例にすぎない。符号化単位を符号化するための利用可能なイントラモードを決定するための技法は、任意のデジタルビデオ符号化及び/又は復号装置によって実行され得る。概して、本開示の技法はビデオ符号化装置又はビデオ復号装置によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するための符号化ビデオデータを生成する、そのような符号化装置の例にすぎない。幾つかの例では、機器12、14は、機器12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、又はビデオテレフォニーのためのビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートし得る。
発信源機器12のビデオソース18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを発生し得る。場合によっては、ビデオソース18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラフォン又はビデオフォンを形成し得る。但し、上述のように、本開示で説明する技法は、概してビデオ符号化に適用可能であり得、ワイヤレス及び/又はワイヤードアプリケーションに適用され得る。各場合において、キャプチャされたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、通信規格に従ってモデム22によって変調され、送信機24を介して宛先機器14に送信され得る。モデム22は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。送信機24は、増幅器、フィルタ、及び1つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
宛先機器14の受信機26はチャネル16を介して情報を受信し、モデム28はその情報を復調する。この場合も、ビデオ符号化プロセスは、符号化単位を符号化するための利用可能なイントラモードを決定し、イントラモードを選択し、選択されたイントラモードを信号伝達するために、本明細書で説明する技法のうちの1つ以上を実装し得る。チャネル16を介して通信される情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、符号化ビデオデータの符号化単位又は他の単位、例えば、ピクチャグループ(GOP:group of pictures)、スライス、フレームなどの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。4分木データ構造が、最大符号化単位のためのシンタックス情報の一部を形成し得る。即ち、各LCUは、LCUがどのようにサブCUに分割されるかを記述し得る4分木の形態のシンタックス情報、及びLCUとサブCUとがどのように符号化されるかに関する信号伝達情報を含み得る。
ビデオデコーダ30は、符号化単位を符号化するための利用可能なイントラモードを決定するために、本明細書で説明する技法のうちの1つ以上を実施し得る。さらに、ビデオデコーダ30は、受信したピクチャのCUをどのように復号するかを決定するために4分木を使用し得る。ビデオデコーダ30は、次いで、CUを復号し、復号されたビデオデータを表示装置32に送り得る。表示装置32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
図1の例では、通信チャネル16は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線路など、任意のワイヤレス若しくはワイヤード通信媒体、又はワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル16は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル16は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源機器12から宛先機器14に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル16は、発信源機器12から宛先機器14への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、ビデオ圧縮規格に従って動作し得る。別の例として、ビデオエンコーダ20及びビデオデコーダ30は、高効率ビデオ符号化(HEVC:High Efficiency Video Coding)規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。但し、本開示の技法は、特定の符号化規格に限定されず、現在利用可能であるか、又は将来出現し得るHEVC又は他の規格あるいはプロプライエタリ符号化プロセスに適用され得る。他の例にはMPEG−2及びITU−T H.263がある。図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含んで、共通のデータストリーム若しくは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。幾つかの態様では、本開示で説明する技法は、H.264規格に概して準拠する機器に適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格又はH.264仕様、あるいはH.264/AVC規格又は仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実装され得る。本技法がソフトウェアで実行されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つ以上のプロセッサを使用してその命令を実行して、本開示の技法を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合エンコーダ/デコーダ(コーデック)の一部としてそれぞれのカメラ、コンピュータ、モバイル機器、加入者機器、ブロードキャスト機器、セットトップボックス、サーバなどに統合され得る。
ビデオシーケンスは、一般に一連のビデオフレームを含む。ピクチャグループ(GOP)は、概して、一連の1つ以上のビデオフレームを備える。GOPは、GOP中に含まれるフレームの数を記述するシンタックスデータを、GOPのヘッダ、GOPの1つ以上のフレームのヘッダ、又は他の場所中に含み得る。各フレームは、それぞれのフレームについての符号化モードを記述するフレームシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオフレーム内の符号化単位に対して動作する。符号化単位はLCU又はサブCUに対応し得、CUという用語はLCU又はサブCUを指し得る。LCUのヘッダ情報は、LCUのサイズ、LCUが分割され得る回数(本開示ではCU深さと呼ぶ)、及び他の情報を記述し得る。各ビデオフレームは複数のスライスを含み得、各スライスは複数のLCUを含み得る。
一例として、HEVCテストモデル(HM)は、様々なCUサイズでの予測をサポートする。LCUのサイズはシンタックス情報によって定義され得る。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2N又はN×Nのタイプでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、又はN×Nの対称タイプでのインター予測をサポートする。
本開示では、「N×(x)N」と「N×(by)N」は、垂直サイズと水平サイズとに関するブロック(例えば、CU、PU、又はTU)の画素サイズ、例えば、16×(x)16画素又は16×(by)16画素を指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16画素を有し(y=16)、水平方向に16画素を有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にN画素を有し、水平方向にN画素を有し、Nは、非負整数値を表す。ブロック中の画素は行と列に構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数の画素を有する必要はない。例えば、ブロックは、N×M画素を備え得、Mは必ずしもNに等しいとは限らない。
例えば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後、CUのPUは、(画素領域とも呼ばれる)空間領域において画素データを備え得、一方、CUのTUは、変換領域において係数を備え得る。残差データは、概して、PUの元の値とPUの予測値との間の画素差分を表す。TUは、変換領域における量子化値を含み得る。TUの残差データを変換係数に変換するための変換が使用されるとき、TUの係数は周波数領域中にあると言われることがある。
ビデオエンコーダ20とビデオデコーダ30とは、符号化単位を符号化するための利用可能なイントラモードを決定するために、本開示の技法のうちのいずれか又は全てを実施し得る。概して、本開示の技法は、符号化単位を符号化するための利用可能なイントラモードを決定することを対象とする。但し、本開示の幾つかの態様はまた、インター予測符号化及び/又は復号に関して実施され得る。例として、これらの技法について、CUのイントラ予測符号化及び復号に関して説明する。これらの技法はまた、インター予測符号化及び/又は復号とともに実行され得ることを理解されたい。
ビデオエンコーダ20は、LCUを受信し、そのLCUを、各々がサブCUを備える、4つの象限(quadrant)に分割すべきかどうか、又はそのLCUを分割せずに符号化すべきかどうかを決定し得る。LCUをサブCUに分割すると決定した後に、ビデオエンコーダ20は、各サブCUを、各々がサブCUを備える、4つの象限に分割すべきかどうかを決定し得る。ビデオエンコーダ20は、CUを分割すべきかどうかを再帰的に決定し続け得、分割の最大数はLCU深さによって示される。ビデオエンコーダ20は、LCUとそのLCUのサブCUとの分割を示す4分木データ構造を与え得る。LCUは4分木のルートノードに対応し得る。4分木の各ノードはLCUのCUに対応し得る。その上、各ノードは、対応するCUが分割されるかどうかを示す分割フラグ値を含み得る。
LCUが分割される場合、例えば、ビデオエンコーダ20は、LCUが分割されることを示すためにルートノードにおいて分割フラグの値を設定し得る。次いで、ビデオエンコーダ20は、もしあれば、LCUのサブCUのうちのどれが分割されるのかを示すためにルートノードの子ノードの値を設定し得る。分割されないCUは4分木データ構造のリーフノードに対応し得、リーフノードは子ノードを有しない。
ビデオエンコーダ20は、4分木データ構造中のリーフノードに対応するLCUの各サブCUを符号化し得る。例として、本開示では、イントラ予測符号化に関係する技法について説明する。従って、この仮定の下では、ビデオエンコーダ20は、4分木データ構造中のリーフノードに対応する各CUについて予測単位(PU)を形成し得る。ビデオエンコーダ20は、最初にCUを予測タイプに分類することによって、各CUをイントラ符号化し得る。即ち、例えば、ビデオエンコーダ20は、単一の2N×2N PUを用いてCUを予測すべきかどうか、又はCUを分割し、4つのPUを利用してCUを予測すべきかどうかを決定し得る。本開示の態様によれば、ビデオエンコーダ20はまた、CUを予測するために使用されるPUの各々のサイズを決定し得る。
本開示の技法に従って、ビデオエンコーダ20及びビデオデコーダ30は、符号化されるべきCUの特性に基づいて利用可能なイントラモードを決定し得る。一例では、ビデオエンコーダ20又はビデオデコーダ30は、符号化又は復号されるべきCUの予測タイプに基づいてどのイントラモードが利用可能であるかを決定し得る。即ち、例えば、ビデオエンコーダ20又はビデオデコーダ30は、符号化又は復号されているCUに関連する予測単位の数を定義する予測タイプに基づいてどのイントラモードが利用可能であるか(例えば、CUが予測目的のために分割されているかどうか)を決定し得る。別の例では、ビデオエンコーダ20又はビデオデコーダ30は、符号化又は復号されるべきCUのCU予測サイズ(例えば、CUに関連する1つ以上のPUのサイズ)に基づいてどのイントラモードが利用可能であるかを決定し得る。特に、1つ以上のイントラ予測モードは、N×N予測タイプなど、特定の幾つかの予測タイプのために利用不可能なことがある。同様に、所定の閾値サイズよりも小さいCU予測サイズのために、1つ以上のイントラ予測モードが利用不可能なことがある。
ビデオエンコーダ20に関して、CU予測タイプに基づいてどのイントラモードが利用可能であるかを決定するとき、ビデオエンコーダ20は、CUが単一のPUを用いて予測されるかどうか、又はCUが2つ以上のPUを使用して予測されるかどうかを考慮し得る。例えば、ビデオエンコーダ20がCUを、ビデオエンコーダ20が単一のPUを用いてCUを全体として予測する2N×2N予測タイプとして分類した場合、ビデオエンコーダ20は、CUを予測するためにプレーンイントラ予測モードを利用可能にし得る。代替的に、ビデオエンコーダ20がCUを、ビデオエンコーダ20が予測目的のためにCUを分割する(例えば、CUを4つのセクションに分割し、別個のPUを用いてセクションの各々を予測する)N×N予測タイプとして分類した場合、ビデオエンコーダ20は、CUに関連するPUのためにプレーンイントラモードを利用不可能にし得る。
CU予測サイズに基づいてどのイントラモードが利用可能であるかを決定するとき、ビデオエンコーダ20は、PUのサイズを所定の閾値サイズと比較し得る。例えば、ビデオエンコーダ20は、単に、プレーンイントラ予測モードを、所定の閾値サイズを超えるPUのために利用可能にし、所定の閾値サイズ以下であるPUのために利用不可能にし得る。本開示の幾つかの態様によれば、ビデオエンコーダ20は、8×8画素よりも大きいPUサイズのためにプレーンイントラ予測モードを利用可能にし得るが、他の閾値も使用され得る(例えば、4×4画素、16×16画素など)。
イントラ予測符号化又はインター予測符号化を行ってCUのためのPUを生成した後、ビデオエンコーダ20は、残差データを計算して、CUのための1つ以上の変換ユニット(TU)を生成し得る。残差データは、CUのPUの画素とそれらの予測値との間の画素差分に対応し得る。ビデオエンコーダ20は、CUについての残差データに基づいて1つ以上のTUを形成し得る。ビデオエンコーダ20は、次いで、TUを変換し得る。本示の技法によれば、ビデオエンコーダ20は、CUのためのPUを予測するために使用されたイントラ予測モードに基づいて変換を選択し得る。
TUについての残差データを変換することによって、ビデオエンコーダ20は変換係数の行列を生成する。この行列は、概して、変換への入力ブロックと同じサイズを有する。概して、係数を変換するために、データをさらに圧縮する量子化が適用される。量子化は、概して、係数を表すために使用されるデータのエントロピーをできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。例えば、量子化中にnビット値がmビット値に切り捨てられ得、nはmよりも大きい。
幾つかの例では、ビデオエンコーダ20は、エントロピー符号化され得るベクトルを生成するために、予め定義された走査順序を利用して量子化変換係数を走査し得る。他の例では、ビデオエンコーダ20は、適応型走査を実行し得る。
1次元ベクトルを形成するために変換行列を走査した後に、ビデオエンコーダ20は、例えば、コンテンツ適応型可変長符号化(CAVLC)、コンテキスト適応型2値算術符号化(CABAC)、シンタックスベースコンテキスト適応型2値算術符号化(SBAC)、又は別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。
CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCの符号語は、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、VLCを使用すると、例えば、送信されるべきシンボルごとに等長符号語を使用する場合よりも、ビットレート節約を達成し得る。
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非ゼロか否かに関係し得る。ビデオエンコーダ20はまた、適応走査を実行するときに生成される有効係数フラグ及び最終係数フラグなど、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、ビデオエンコーダ20は、コンテキストモデル選択のために使用されるファクタの中でも、例えば、イントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、及び/又は変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
本開示の技法によれば、ビデオエンコーダ20は、最有望モードに基づいてCUを符号化することによって、選択されたイントラ予測モードを信号伝達し得る。例えば、ビデオエンコーダ20は、前に符号化されたブロックを含むコンテキストモデルに基づいて現在ブロックのためのイントラ予測モードを信号伝達し得る。一例では、ビデオエンコーダ20は、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの相対的な上側及び相対的な左側に接している前に符号化されたブロックに基づいて最有望モードを決定し得る。これらのブロックは、現在ブロックと同じイントラモードを有する高い確率を有し得る。
一例では、現在ブロックの上側及び左側のブロックが異なるモードで符号化されていた場合、ビデオエンコーダ20は、ビデオエンコーダ20によって維持されているイントラモードの予め定義されたランキングに従って、最有望モードとしてより低い数値ランキングを有するイントラモードを選択し得る。別の例では、現在ブロックの上側及び左側のブロックが異なるモードで符号化されていた場合、ビデオエンコーダ20は、最有望モードとしてDCイントラモードなどの予め定義されたデフォルトモードを選択し得る。但し、現在ブロックのコンテキストが2つ以上のイントラモードを含むときに最有望モードを選択するプロセスは、例として与えたものにすぎず、ビデオエンコーダ20及びビデオデコーダ30は、様々な他の方法で最有望モードを決定するように構成され得る。
最有望イントラモードを決定した後に、ビデオエンコーダ20は、最有望モードと、現在ブロックを符号化するために使用される選択されたイントラモードとの比較に基づいてフラグ(例えば、most_probable_modeフラグ)を設定し得る。例えば、最有望モードが現在ブロックのための選択されたイントラモードと同じであった場合、ビデオエンコーダ20は、最有望モードフラグを値1に設定して、選択されたモードと最有望モードとが同じであることを示し得る。この例では、選択されたモードを信号伝達するために追加のビットが必要とされない。即ち、1に設定されている最有望モードフラグを受信すると、ビデオデコーダ30は、例えば、エンコーダによって使用された、最有望モードを決定するための同じプロシージャを再生し、次いで、最有望モードを使用して受信したブロックを復号し得る。
最有望モードが現在ブロックのための選択されたイントラモードと同じでなかった場合、ビデオエンコーダ20は、最有望モードフラグを値0に設定して、それらのモードが同じでないことを示し得る。この例では、ビデオデコーダ30に、現在ブロックを符号化するために使用した実際のイントラモードを信号伝達するために追加のビットが必要とされ得る。幾つかの例によれば、ビデオエンコーダ20は、イントラモードの数値ランキングを維持し得、最も頻繁に使用されるイントラモードが最低数値ランキングを有する。そのような例では、ビデオエンコーダ20は、数値ランキング又は別の数値識別子に基づいて現在ブロックを符号化するために使用される実際のイントラモードを信号伝達し得る。例えば、本開示の幾つかの態様によれば、ビデオエンコーダ20は、固有のモード識別子を使用して、プレーンイントラ予測モードを含む全ての利用可能なイントラ予測モードを信号伝達し得る。即ち、例えば、ビデオエンコーダ20は、利用可能であるときはプレーンイントラ予測モードを含む、各利用可能なイントラ予測モードのための固有の識別番号を生成し、ビデオデコーダ30にその識別番号を送信し得る。
本開示の態様によれば、プレーンモードが最有望モードとして識別され、例えば、予測タイプ又はPUサイズに基づいてプレーンモードが現在ブロックのために利用可能でない場合、ビデオエンコーダ20は修正最有望モード導出プロセスを実装し得る。一例では、ビデオエンコーダ20は、プレーンイントラモードが最有望モードであるが、例えば、予測タイプ又は予測サイズ制限によりプレーンイントラモードが現在ブロックのために利用可能でないと決定するとき、ビデオエンコーダ20は、隣接ブロックのイントラ予測モードをDCモードなどの別のイントラモードにマッピングし得る。ビデオエンコーダ20は、次いで、マッピングされたネイバーに基づいて最有望モードを決定することに進み得る。
別の例では、ビデオエンコーダ20は、隣接モードの修正なしに最有望モードを識別し得る。即ち、ビデオエンコーダ20は、最有望モードがプレーンモードであり、プレーンモードが現在ブロックのために利用不可能であると決定した場合、ビデオエンコーダ20は、代わりに、現在ブロックのための最有望モードとして予め定義されたデフォルトモードを選択し得る。一例では、ビデオエンコーダ20は、予め定義されたデフォルトモードとしてDCイントラモードを選択し得る。
本開示の幾つかの技法についてビデオエンコーダ20に関して説明し得るが、それらの技法はビデオデコーダ30によっても適用され得ることを理解されたい。例えば、ビデオデコーダ30は、ビデオエンコーダ20の方法と本質的に対称的な方法で動作し得る。ビデオデコーダ30は、符号化されたPUデータとTUデータとを含む符号化されたCUを表すエントロピー符号化データを受信し得る。CUがイントラ予測符号化されたと仮定すると、この受信データは、PUデータを符号化するために使用されたイントラ予測モードを示す情報を含み得る。ビデオデコーダ30は、その受信データをエントロピー復号(又は構文解析)して符号化量子化係数を形成し得る。
ビデオエンコーダ20が可変長コードアルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ30は、受信符号語に対応するシンボルを決定するために1つ以上のVLCテーブルを使用し得る。ビデオエンコーダ20が算術符号化アルゴリズムを使用してデータをエントロピー符号化したとき、ビデオデコーダ30は、データを符号化するためにビデオエンコーダ20によって使用されたのと同じコンテキストモデルに対応し得るデータを復号するために、コンテキストモデルを使用し得る。即ち、本開示の態様によれば、ビデオエンコーダ20が、例えば、予測タイプ又は予測サイズ制限によりVLCテーブル又はコンテキストモデルを改変するとき、ビデオデコーダ30は、VLCテーブル又はコンテキストモデルを更新するために同様の制限を適用し得る。
ビデオデコーダ30は、次いで、ビデオエンコーダ20によって使用された走査をミラーリングする逆走査を使用して、復号された係数を逆走査し得る。係数を適応的に逆走査するために、ビデオデコーダ30は、ビデオエンコーダ20によって適応走査を実行するために使用された統計値を再生成するために、有効係数フラグ及び最終係数フラグを含むシンタックス要素を復号し得る。ビデオデコーダ30は、それによって、エントロピー復号プロセスから得られた1次元ベクトルから2次元行列を形成し得る。
次に、ビデオデコーダ30は、逆走査によって生成された2次元行列中の係数を逆量子化し得る。ビデオデコーダ30は、次いで、2次元行列に1つ以上の逆変換を適用し得る。逆変換は、ビデオエンコーダ20によって適用された変換に対応し得る。ビデオデコーダ30は、例えば、PUを形成するために使用されたイントラ予測モードに基づいて、適用すべき逆変換を決定し得る。
本開示の技法によれば、ビデオデコーダ30は、ビデオエンコーダ20によって適用された同じ基準に基づいてデータを符号化するために使用されるイントラモードを識別し得る。例えば、ビデオデコーダ30は、復号されるべきCUの特徴に基づいて利用可能なイントラモードを決定し得る。即ち、例えば、ビデオデコーダ30は、復号されるべきCUの予測タイプに基づいてどのイントラモードが利用可能であるかを決定し得る。別の例では、ビデオデコーダ30は、CU予測サイズ(例えば、CUに関連する1つ以上のPUのサイズ)に基づいてどのイントラモードが利用可能であるかを決定し得る。
本開示の幾つかの態様によれば、利用可能なイントラ予測モードを決定した後に、ビデオデコーダ30は、ビデオエンコーダ20によって信号伝達されたイントラ予測モードを識別することができる。即ち、ビデオデコーダ30は、ビデオエンコーダ20によって識別された同じ利用可能なイントラ予測モードを識別し、ビデオエンコーダ20によって信号伝達された(例えば、固有の識別子を使用して信号伝達された)イントラ予測モードを復号するために、識別された利用可能なイントラ予測モードを使用することができる。幾つかの例では、ビデオデコーダ30は、他のイントラ予測モードと同じ方法で、利用可能であるときはプレーンイントラモードのための固有の識別番号を受信し、復号し得る。
本開示の幾つかの態様によれば、ビデオエンコーダ20は、利用可能なイントラモードのセットを決定するための基準をシーケンスヘッダ又はスライスヘッダ中でパラメータとして信号伝達し得る。利用可能なイントラモードのセットを決定するための基準を信号伝達することにより、フレームの異なるシーケンス又はスライスが、利用可能なイントラモードのセットを決定するための異なる基準を有することが可能になり得る。ビデオエンコーダ20及びビデオデコーダ30はまた、同様に最有望モード導出プロセスを行うように構成され得る。
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、適用可能なとき、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ又はデコーダ回路のいずれか、若しくはそれらの任意の組合せとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20及び/又はビデオデコーダ30を含む装置は、集積回路、マイクロプロセッサ、及び/又はセルラー電話などのワイヤレス通信機器を備え得る。
図2は、本開示で説明する、利用可能なイントラ予測モードを決定し、適切なイントラ予測モードを選択し、そのイントラ予測モードを信号伝達するための技法のいずれか又は全てを実施し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオフレーム内のCUのイントラ符号化及びインター符号化を実行し得る。イントラ符号化は、所与のビデオフレーム内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インター符号化は、ビデオシーケンスの現在のフレームと前に符号化されたフレームとの間の時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指し、単方向予測(Pモード)又は双方向予測(Bモード)などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、参照フレーム記憶部64と、加算器50と、変換ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。図2に示す変換ユニット52は、実際の変換を実行するユニットであり、CUのTUと混同されるべきでない。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロックノイズ(blockiness artifacts)を除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。
符号化プロセス中に、ビデオエンコーダ20は符号化されるべきビデオフレーム又はスライスを受信する。フレーム又はスライスは、複数のビデオブロック、例えば、最大符号化単位(LCU)に分割され得る。動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ以上の参照フレーム中の1つ以上のブロックに対して受信されたビデオブロックのインター予測符号化を実行する。イントラ予測ユニット46は、空間圧縮を行うために、符号化されるべきブロックと同じフレーム又はスライス中の1つ以上の隣接ブロックに対して受信されたビデオブロックのイントラ予測符号化を実行し得る。
モード選択ユニット40は、例えば、(例えば、レート歪みと呼ばれることがある)各符号化モード下でビデオデータを信号伝達するのに必要とされるビット数に対する誤差結果に基づいて、符号化モード、即ち、イントラ又はインターのうちの1つを選択し得、残差ブロックデータを生成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器50に与え、参照フレーム中で使用するための符号化ブロックを再構成するために、得られたイントラ符号化ブロック又はインター符号化ブロックを加算器62に与える。幾つかのビデオフレームはIフレームに指定され得、Iフレーム中の全てのブロックはイントラ予測モードで符号化される。場合によっては、例えば、動き推定ユニット42によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測ユニット46は、Pフレーム又はBフレーム中のブロックのイントラ予測符号化を実行し得る。
動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定は、インター符号化の場合、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照フレームの参照サンプルに対する、現在のフレーム中の予測単位の変位を示し得る。参照サンプルは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、又は他の差分メトリックによって決定され得る画素差分に関して、符号化されているPUを含むCUの部分にぴったり一致することがわかるブロックである。動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測単位の値をフェッチ又は生成することを伴い得る。この場合も、幾つかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。
動き推定ユニット42は、予測単位を参照フレーム記憶部64に記憶された参照フレームの参照サンプルと比較することによってインター符号化フレームの予測単位の動きベクトルを計算する。幾つかの例では、ビデオエンコーダ20は、参照フレーム記憶部64に記憶された参照フレームのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ20は、参照フレームの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット42は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット44は、例えば、PUの動きベクトルによって識別される参照サンプルを取り出すことによって、現在CUの予測単位についての予測値を計算し得る。
イントラ予測ユニット46は、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、受信したブロックを符号化するためのイントラ予測を実行し得る。イントラ予測ユニット46は、隣接する、前に符号化されたブロック、例えば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上ブロック、右上ブロック、左上ブロック、又は左ブロックに対して受信したブロックを符号化し得る。イントラ予測ユニット46は多種多様なイントラ予測モードで構成され得る。例えば、イントラ予測ユニット46は、符号化されているCUのサイズに基づいて、一定数の予測モード、例えば、35個の予測モードで構成され得る。
イントラ予測ユニット46は、例えば、様々なイントラ予測モードのためのレート歪みを計算し(例えば、所定の歪みを超えることなしに圧縮を最大化しようと試み)、最良の結果を生じるモードを選択することによって、利用可能なイントラ予測モードからイントラ予測モードを選択し得る。イントラ予測モードは、空間的に隣接する画素の値を合成し、その合成された値を、PUを予測するために使用される予測ブロック中の1つ以上の画素位置に適用するための機能を含み得る。予測ブロック中の全ての画素位置の値が計算されると、イントラ予測ユニット46は、PUと予測ブロックとの間の画素差分に基づいて予測モードの誤差値を計算し得る。イントラ予測ユニット46は、ビデオデータを信号伝達するのに必要とされるビットに対して許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測ユニット46は、次いで、PUを加算器50に送り得る。
本開示の技法によれば、イントラ予測ユニット46は、予測目的のためにどのイントラモードが利用可能であるかを決定するためにイントラモード利用可能性ユニット48を使用し得る。幾つかの例では、イントラモード利用可能性ユニット48は、あるブロックを予測するために利用可能なイントラモードの数を制限し得る。例えば、現在提案されるように、HM仕様は、(例えば、図4に関してより詳細に説明するように)最大35個のイントラ予測モードをサポートする。しかしながら、幾つかのモードは、全てサイズのブロックに対して効率的でないことがある。一例では、プレーンイントラモードは、予測目的のためにブロックに適合された線形プレーン機能を含み得る。プレーンイントラモードは、スムーズに変動するルミナンスのエリアにおいてうまく動作し得る。プレーンイントラモードは、より大きいブロックを予測するために有益であり得るが、より小さいブロックを予測するために効率的でないことがある。即ち、プレーンイントラモードを利用可能にすることに関連する信号伝達オーバーヘッドは、プレーンイントラモードを比較的小さいブロックに利用可能にすることによって実現される予測誤差低減を上回り得る。
本開示の態様は、符号化されるべきCUの特性に基づいてプレーンイントラ予測モードの利用可能性を制限することに関する。即ち、イントラモード利用可能性ユニット48は、例えば、符号化されるべき現在CUに関連する(例えば、CUに関連する予測単位の数を定義する)予測タイプ又は現在CUに関連する予測サイズに基づいてプレーンイントラモードが利用可能であるかどうかを決定し得る。例えば、イントラモード利用可能性ユニット48は、符号化されている現在CUの予測タイプが2N×2Nであるか、又はN×Nであるかに基づいて、どのイントラモードが利用可能であるかを決定するように構成され得る。本開示の幾つかの態様によれば、イントラモード利用可能性ユニット48は、プレーンイントラモードを2N×2Nの予測タイプのために利用可能にするが、N×Nの予測タイプのために利用不可能にし得る。イントラモード利用可能性ユニット48がプレーンイントラモードを利用不可能にした場合、イントラ予測ユニット46は、現在CUを符号化するときにプレーンイントラ予測モードを使用し得ない。この場合、ビデオエンコーダ20はプレーンイントラモードを信号伝達せず、より少ないイントラ予測モードが利用可能になるので、利用可能なイントラ予測モードを信号伝達することに関連する信号伝達オーバーヘッドが低減され得る。例えば、ビデオエンコーダ20は、ビデオデコーダ30(図1及び図3)などのビデオデコーダに送信される利用可能なイントラモードのセット中にプレーンイントラモードを含めない。
別の例では、イントラモード利用可能性ユニット48は、現在CUに関連する予測単位(PU)のサイズと、所定の閾値サイズとの比較に基づいてどのイントラモードが利用可能であるかを決定するように構成され得る。この例では、イントラモード利用可能性ユニット48は、所定の閾値サイズを用いてプリプログラムされ得る。1つの例示的な閾値サイズは8×8画素であり得るが、他のサイズが使用され得る(例えば、4×4画素、16×16画素など)。本開示の幾つかの態様によれば、イントラモード利用可能性ユニット48は、プレーンイントラモードを閾値サイズよりも大きいPUサイズのために利用可能するが、閾値サイズ以下のPUサイズのために利用不可能にし得る。上記で説明した予測タイプ制限の場合と同様に、イントラモード利用可能性ユニット48がプレーンイントラモードを利用不可能にした場合、イントラ予測ユニット46は、現在CUを符号化するときにプレーンイントラ予測モードを使用し得ない。この場合、ビデオエンコーダ20はプレーンイントラモードを信号伝達せず、より少ないイントラ予測モードが利用可能になるので、利用可能なイントラ予測モードを信号伝達することに関連する信号伝達オーバーヘッドが低減され得る。
この場合も、イントラ予測ユニット46及びイントラモード利用可能性ユニット48など、ビデオエンコーダ20の幾つかの構成要素は、同じ物理的構成要素中に高度に統合されるか、又は含まれ得るが、概念的な目的のために別々に示してある。
ビデオエンコーダ20は、符号化されている元のビデオブロックから、動き補償ユニット44又はイントラ予測ユニット46によって計算された予測データを減算することによって残差ブロックを形成する。加算器50は、この減算演算を実行する1つ以上の構成要素を表す。残差ブロックは値の2次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するPU中の画素の数と同じである。残差ブロック中の値は、予測ブロック中のコロケート画素と、符号化されるべき元のブロック中のコロケート画素との間の差分に対応し得る。
変換ユニット52は、離散コサイン変換(DCT)、整数変換、又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換などの他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換ユニット52は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深さを低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。
量子化の後に、エントロピー符号化ユニット56は量子化変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット56は、コンテンツ適応型可変長符号化(CAVLC)、コンテキスト適応型バイナリ算術符号化(CABAC)、又は別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビデオは、別の機器に送信されるか、又は後で送信若しくは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術符号化(CABAC)の場合、コンテキストは隣接符号化ユニットに基づき得る。
場合によっては、エントロピー符号化ユニット56又はビデオエンコーダ20の別のユニットは、エントロピー符号化に加えて他の符号化機能を実行するように構成され得る。例えば、エントロピー符号化ユニット56は符号化単位及び複数の区分(coding unit and partitions)のCBP値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、符号化単位又はそれの区分の係数のランレングス符号化を実行し得る。特に、エントロピー符号化ユニット56は、符号化単位又はパーティション中の変換係数をスキャンするためにジグザグスキャン又は他のスキャンパターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット56はまた、符号化されたビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
幾つかの例では、エントロピー符号化ユニット56は、固有のモード識別子を使用して、プレーンイントラ予測モードを含む全ての利用可能なイントラ予測モードを信号伝達するように構成され得る。即ち、例えば、エントロピー符号化ユニット56は、利用可能であるときはプレーンイントラ予測モードを含む、各利用可能なイントラ予測モードのための固有の識別番号を生成し得る。幾つかの例によれば、エントロピー符号化ユニット56は、送信されるべき各識別番号のための可変長符号語を選択することによって、各利用可能なイントラ予測モードのための固有の識別番号を送信し得る。この例では、予測タイプ又は予測サイズ制限により1つ以上のイントラ予測モードが利用不可能であるとき、エントロピー符号化ユニット56は利用不可能なモードを信号伝達せず、それによって、ビデオデコーダへのイントラ予測モード信号伝達の際のオーバーヘッドを低減し得る。
本開示の幾つかの態様によれば、エントロピー符号化ユニット56は、イントラ予測されたブロックを符号化するときに、フラグ、例えば、most_probable_modeフラグを設定するように構成され得る。例えば、エントロピー符号化ユニット56は、前に符号化されたブロックを含むコンテキストモデルに基づいて現在ブロックのための最有望イントラモードを決定するように構成され得る。幾つかの例では、エントロピー符号化ユニット56は、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの左側及び上側の、前に符号化されたブロックに基づいて最有望モードを決定し得る。現在ブロックの上側及び左側のブロックが異なるモードで符号化されている場合、エントロピー符号化ユニット56は、エントロピー符号化ユニット56によって維持されているイントラモードの予め定義されたランキングに従って、より低い数値ランキングを有するイントラモードを最有望モードとして選択し得るか、又は、DCイントラモードなどの予め定義されたデフォルトモードを最有望モードとして選択し得る。
エントロピー符号化ユニット56は、最有望モードと、現在ブロックを符号化するために使用される選択されたイントラモードとの比較に従って最有望モードフラグを設定し得る。最有望モードが現在ブロックのための選択されたイントラモードと同じであった場合、エントロピー符号化ユニット56は、最有望モードフラグを値1に設定して、それらのモードが同じであることを示し得る。この例では、選択されたモードを信号伝達するために追加のビットが必要とされない。最有望モードが現在ブロックのための選択されたイントラモードと同じでなかった場合、エントロピー符号化ユニット56は、最有望モードフラグを値0に設定して、それらのモードが同じでないことを示し得る。この例では、ビデオデコーダ30に、現在ブロックを符号化するために使用した実際のイントラモードを信号伝達するために追加のビットが必要とされ得る。幾つかの例によれば、エントロピー符号化ユニット56はイントラモードの数値ランキングを維持し得、最も頻繁に使用されるイントラモードが最低数値ランキングを有する。このランキングは、例えば、予め定義された統計値に基づき得るか、又はイントラ予測ユニット46がイントラモードを適用する回数に従って動的に更新され得る。そのような例では、エントロピー符号化ユニット56は、イントラモードの数値ランキングに従って現在ブロックを符号化するために使用される実際のイントラモードを信号伝達し得る。即ち、エントロピー符号化ユニット56は、イントラモードの数値ランキングに対応する識別子又は符号語を使用して選択されたイントラモードを識別し得る。
本開示の技法は、最有望モードがプレーンモードであり、(例えば、予測タイプ又は予測サイズ制限により)プレーンモードが現在ブロックのために利用可能でないとエントロピー符号化ユニット56が決定した場合、最有望モード導出プロセスを改変することを含む。一例では、エントロピー符号化ユニット56は、プレーンイントラモードが現在ブロックのために利用不可能であると決定した場合、エントロピー符号化ユニット56は、プレーンイントラ予測モードを使用する隣接ブロックのイントラ予測モードを別のイントラモードにマッピングし得る。幾つかの例では、エントロピー符号化ユニット56は、プレーンイントラモードを使用する隣接ブロックのイントラモードをDCモードにマッピンし得るが、他のイントラモードのいずれかも使用され得る。エントロピー符号化ユニット56は、次いで、マッピングされたネイバーに基づいて最有望モードを決定することに進み得る。
別の例では、最有望モードがプレーンモードであり、プレーンモードが利用不可能であるとエントロピー符号化ユニット56が決定した場合、エントロピー符号化ユニット56は、代わりに、予め定義されたデフォルトモードを選択し得る。一例では、ビデオエンコーダ20は、予め定義されたデフォルトモードとしてDCイントラモードを選択し得るが、他のイントラモードのいずれかも使用され得る。
例としてエントロピー符号化ユニット56に関して説明したが、最有望モード決定プロセスは、イントラ予測ユニット46など、ビデオエンコーダ20の別の構成要素によって行われ得ることを理解されたい。この例では、イントラ予測ユニット46は、最有望モードフラグの適切な値を決定し得、その一方で、エントロピー符号化ユニット56は、ビットストリーム中でそのフラグの値を設定し得る。
逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照フレーム記憶部64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレーム記憶部64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインター符号化するために動き推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
このようにして、ビデオエンコーダ20は、予測されている符号化単位(CU)の予測特性に基づいてイントラ予測モードの利用可能なセットを決定するように構成されたビデオエンコーダの一例である。特に、ビデオエンコーダ20は、符号化されているCUの予測タイプ又は予測サイズに基づいてプレーンイントラ予測モードが利用可能であるかどうかを決定するように構成されたビデオエンコーダの一例である。ビデオエンコーダ20はまた、利用可能なイントラ予測モードからイントラ予測モードを選択し、最有望イントラ予測モードに基づいて選択されたイントラ予測モードを信号伝達するように構成されたビデオエンコーダの一例である。特に、ビデオエンコーダ20は、ビデオエンコーダ20が最有望モードとしてプレーンイントラ予測モードを識別し、例えば、予測タイプ及び/又は予測サイズ制限によりプレーンイントラ予測モードが利用可能でないときに、修正最有望モード選択及び信号伝達プロセスを実装するように構成されたビデオエンコーダの一例である。
図3は、符号化単位を符号化し、符号化されたビデオシーケンスを復号するための利用可能なイントラ予測モードを決定するためのビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレーム記憶部82と、加算器80とを含む。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトルに基づいて予測データを生成し得る。イントラ予測ユニット74は、信号伝達されたイントラ予測モードと、現在のフレームの前に復号されたブロックからのデータとに基づいて現在のフレームの現在ブロックについての予測データを生成し得る。
幾つかの例では、エントロピー復号ユニット70又は逆量子化ユニット76は、ビデオエンコーダ20によって使用された走査ミラーリングを使用して受信値を走査し得る。従って、ビデオデコーダ30は、例えば、現在ブロックについてのイントラ符号化モードの指示、現在ブロックに対する変換、現在ブロックに対するカスケード変換、又は走査を選択するためにビデオエンコーダ20によって使用される他のファクタに基づいて走査を選択し得る。このようにして、ビデオデコーダ30は、係数の受信された1次元配列から量子化変換係数の2次元行列を生成し得る。
逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、例えば、H.264復号規格又はHEVCによって定義された従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、CUについてビデオエンコーダ20によって計算され、信号伝達される量子化パラメータQPの使用を含み得る。
逆変換ユニット78は、逆変換、例えば、逆DCT、逆整数変換、逆回転変換、又は逆方向性変換を適用する。幾つかの例では、逆変換ユニット78は、受信されたイントラ予測符号化ブロックについて信号伝達されるイントラ予測モードに基づいて逆変換を決定し得る。イントラ予測モードは、例えば、図2に示すビデオエンコーダ20に関して説明したように、最有望モードに基づいて信号伝達され得る。
動き補償ユニット72は動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブ画素精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用される補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット72は、受信したシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
動き補償ユニット72及びイントラ予測ユニット74は、(例えば、4分木によって与えられる)シンタックス情報の一部を使用して、符号化ビデオシーケンスの(1つ以上の)フレームを符号化するために使用されるLCUのサイズと、符号化ビデオシーケンスのフレームの各CUがどのように分割されるか(及び、同様に、サブCUがどのように分割されるか)を記述する分割情報と、各分割がどのように符号化されるかを示すモード(例えば、イントラ予測又はインター予測、及びイントラ予測の場合はイントラ予測符号化モード)と、各インター符号化PUについての1つ以上の参照フレーム(及び/又はそれらの参照フレームの識別子を含んでいる参照リスト)と、符号化ビデオシーケンスを復号するための他の情報とを決定する。
本開示の幾つかの態様によれば、イントラ予測ユニット74は、ビデオエンコーダ20と同じイントラモード制限を実施するように構成され得る。即ち、イントラ予測ユニット74は、ビデオエンコーダ20によって課せられた(例えば、CUに関連する予測単位の数を定義する)同じ予測タイプ又は予測サイズ制限に基づいて利用可能なイントラ予測モードを決定し得る。イントラ予測ユニット74は、次いで、特定のブロックを符号化するために使用されたイントラモードを復号するために、識別された利用可能なイントラモードを使用し得る。即ち、例えば、ビデオデコーダ30は、ビデオデータを符号化するためにビデオエンコーダ20によって使用されるイントラ予測モードを識別するために識別番号を受信し得る。従って、利用可能なイントラ予測モードを決定した後に、イントラ予測ユニット74は、利用可能なイントラ予測モードのうちの1つを復号するために識別番号を使用し得る。
他の例では、イントラ予測ユニット74は、イントラモードの利用可能性を信号伝達する情報、例えば、パラメータとしてシーケンスヘッダ又はスライスヘッダなどを受信し得る。利用可能なイントラモードのセットを決定するための基準を信号伝達することにより、フレームの異なるシーケンス又はスライスが、利用可能なイントラモードのセットを決定するための異なる基準を有することが可能になり得る。
本開示の態様によれば、イントラ予測ユニット74は、最有望モードフラグを受信し、使用するように構成され得る。即ち、例えば、イントラ予測ユニット74が値1を有する最有望モードフラグを受信した場合、イントラ予測ユニット74は、現在ブロックを符号化するために使用されるイントラモードが幾つかの隣接ブロックと同じであると決定し得る。代替的に、イントラ予測ユニット74が値0を有する最有望モードフラグを受信した場合、イントラ予測ユニット74は、イントラモードを識別する追加のビットを復号することによって現在ブロックを符号化するために使用されるイントラモードを決定し得る。幾つかの例によれば、イントラ予測ユニット74は、ビデオエンコーダ20によって維持されるランキングと同じであるイントラモードの数値ランキングを維持し得、最も頻繁に使用されるイントラモードが最低数値ランキングを有する。
本開示の技法は、最有望モードがプレーンモードであり、(例えば、予測タイプ又は予測サイズ制限により)プレーンモードが現在ブロックのために利用可能でない場合、デコーダ30の最有望モード導出プロセスを改変することを含む。一例では、イントラ予測ユニット74は、現在ブロックのためにプレーンイントラモードが利用不可能であると決定した場合、イントラ予測ユニット74は、プレーンイントラ予測モードを使用する隣接ブロックのイントラ予測モードを別のイントラモードにマッピングし得る。幾つかの例では、イントラ予測ユニット74は、プレーンイントラモードを使用する隣接ブロックのイントラモードをDCモードにマッピンし得るが、他のイントラモードのいずれも使用され得る。イントラ予測ユニット74は、次いで、マッピングされた隣接体(neighbors)に基づいて最有望モードを決定することに進み得る。
別の例では、イントラ予測ユニット74は、最有望モードがプレーンモードであり、プレーンモードが利用不可能であると決定した場合、イントラ予測ユニット74は、代わりに、予め定義されたデフォルトモードを選択し得る。一例では、ビデオデコーダ30は、予め定義されたデフォルトモードとしてDCイントラモードを選択し得るが、他のイントラモードのいずれかも使用され得る。
加算器80は、残差ブロックを、動き補償ユニット72又はイントラ予測ユニット74によって生成される対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号されたビデオブロックは、次いで、参照フレーム記憶部82に記憶され、参照フレーム記憶部82は、参照ブロックを後続の動き補償に供給し、また、(図1の表示装置32などの)表示装置上での提示のために復号されたビデオを生成する。
図4は、ビデオデータの1つ以上の隣接画素を使用した、ビデオデータのブロック(例えば、CU)のイントラ予測のために使用され得るイントラ予測モードを示す概念図である。例えば、本開示の幾つかの態様によれば、ビデオエンコーダ20及びビデオデコーダ30(図1〜図3)は、ビデオデータを符号化及び復号するために図4に示すイントラ予測モードを使用し得る。概して、図4に示すイントラ予測モードは、例として示したものにすぎず、H.264仕様に従ってマクロブロックを符号化及び復号するために利用可能な4つのイントラモードを表す。図4に示されていない追加のイントラ予測モードもビデオデータを符号化及び復号するために利用可能であり得る。例えば、上記で説明したHMに基づいて今度のHEVC規格中に35個のイントラ予測モードが含まれ、それらのイントラ予測モードは、様々な方向性イントラ予測モードを含む。
本開示の技法は、概して、ビデオデータのCUをイントラ符号化するためにどのイントラモードが利用可能であるかを決定することと、利用可能なモードからイントラモードを選択することと、選択されたイントラモードを信号伝達することとに関する。従って、本明細書で説明する、利用可能なイントラ予測モードを決定することと、適切なイントラ予測モードを選択することと、そのイントラ予測モードを信号伝達することとに関する本技法は、図4に示すイントラモードを含む様々なイントラモード、HMに基づいて今度のHEVC規格中に含まれる方向性イントラモード、又はそのようなモードが利用可能である場合はイントラ予測モードの任意の他のセットに適用され得ることを理解されたい。
図4は、イントラ予測モード90A〜90D(総称して、イントラ予測モード90)を示す概念図である。イントラ予測モード90は、予測の角度に関連しないことがある。即ち、イントラ予測モード90Aは垂直イントラモードに対応し、イントラ予測モード90Bは水平イントラモードに対応し、イントラ予測モード90CはDCイントラモードに対応し、イントラ予測モード90Dはプレーンイントラモードに対応する。図4に示す例は16×16画素ブロックであるが、概して、ブロックは、任意の数の画素、例えば、4×4、8×8、16×16、32×32、64×64、128×128などを有し得る。
概して、イントラ予測モード90Aについては、予測画素(影なしブロック92)は、予測画素92の上側に位置する隣接画素(影つきブロック94)から外挿され得る。例えば、イントラ予測モード90Aについては、所与の列の予測画素92には、それらの上側に位置する隣接画素94と同じ値が割り当てられ得る。イントラ予測モード90Bについては、予測画素92は、予測画素92の左側に位置する隣接画素94から外挿され得る。例えば、イントラ予測モード90Bについては、所与の行の予測画素92には、それらの左側に位置する隣接画素94と同じ値が割り当てられ得る。イントラ予測モード90Cについては、予測画素92は、予測画素92の上側に位置する隣接画素94と予測画素の左側に位置する隣接画素94との平均から導出され得る。
イントラ予測モード90Dについては、予測画素92は、線形プレーン機能から導出され得る。即ち、プレーンイントラ予測モード90Dについては、予測画素92は、上側及び左側の隣接画素に適合された線形プレーンを生成する機能を使用して導出され得る。プレーンイントラ予測モード90Dは、スムーズに変動するルミナンスのエリアにおいてうまく動作し得るが、プレーンイントラモードを利用可能にすることについての信号伝達オーバーヘッドは、プレーンイントラモードを使用して比較的少数の画素を予測することによって実現される誤差低減を上回り得る。例えば、プレーンイントラ予測モード90Dが、ブロックの予測誤差を低減する可能性を有しないのであれば、エンコーダからデコーダにプレーンイントラ予測モード90Dの利用可能性を信号伝達することに関連する信号伝達オーバーヘッドは価値がないことがある。
本開示の幾つかの態様によれば、ビデオエンコーダ20(図1及び図2)などのビデオエンコーダは、CU予測タイプ又はCU予測サイズに基づいてイントラモード90が予測画素92をイントラ符号化するために利用可能であるかどうかを決定し得る。特に、ビデオエンコーダ20は、CU予測タイプ又はCU予測サイズに基づいてプレーンイントラ予測モード90Dが利用可能であるかどうかを決定し得る。例えば、本開示の幾つかの態様によれば、ビデオエンコーダ20は、CUが全体(例えば、予測タイプ2N×2N)として予測されるときは、プレーンイントラ予測モード90Dを利用可能にし得、CUが2つ以上の予測単位(例えば、予測タイプN×N)を用いて予測されるときは、プレーンイントラ予測モード90Dを利用不可能にし得る。別の例では、ビデオエンコーダ20は、符号化されているCUに関連する予測単位が所定の閾値よりも大きいときにのみ、プレーンイントラ予測モード90Dを利用可能にし得る。
本開示の技法はまた、ビデオデコーダ30によってプレーンイントラ予測モード90Dが利用可能であるかどうかを決定することを含む。即ち、ビデオデコーダ30は、CU予測タイプかCU予測サイズに基づいてプレーンイントラ予測モード90Dが利用可能であるかどうかを決定し得る。このようにして、ビデオデコーダ30は、ビデオエンコーダ20によって実施される同じイントラ予測モード利用可能性決定を実施し得、そのイントラ予測モード利用可能性決定は、ビデオエンコーダ20によって特定のブロックを符号化するためにどのイントラ予測モードが使用されたかを決定するのに必要とされ得る。
この場合も、図4に示すイントラ予測モードに加えて、幾つかの例によれば、イントラ予測モードは、HMにおいて提供される方向に関連し得る。本開示の態様は、概して、例えば、予測タイプ又は予測サイズ制限に基づいてイントラ予測モードの利用可能なセットを決定することに関する。本開示の幾つかの態様は、プレーンモード(例えば、図4に示すイントラ予測モード90D)が利用可能であるかどうかを決定することに関するが、本開示の技法はまた、予測タイプ又は予測サイズ制限に基づいて、HMにおいて提供される方向モード、又はイントラ予測モードの任意の他のセットなど、様々な他のイントラモードが利用可能であるかどうかを決定するために適用され得ることを理解されたい。
図5A及び図5Bは、例示的な4分木150と、対応する最大符号化単位172とを示す概念図である。図5Aは、階層式に構成されたノードを含む、例示的な4分木150を示している。4分木150など、4分木中の各ノードは、子をもたないリーフノードであるか、又は4つの子ノードを有し得る。図5Aの例では、4分木150はルートノード152を含む。ルートノード152は、リーフノード156A〜156C(リーフノード156)とノード154とを含む、4つの子ノードを有する。ノード154はリーフノードでないので、ノード154は、この例ではリーフノード158A〜158D(リーフノード158)である、4つの子ノードを含む。
4分木150は、この例ではLCU172など、対応する最大符号化単位(LCU)の特性を記述するデータを含み得る。例えば、4分木150は、それの構造により、サブCUへのLCUの分割を記述し得る。LCU172は2N×2Nのサイズを有すると仮定する。LCU172は、この例では、4つのサブCU176A〜176C(サブCU176)及び174を有し、各々はN×Nサイズである。サブCU174はさらに4つのサブCU178A〜178D(サブCU178)に分割され、各々はサイズN/2×N/2である。この例では、4分木150の構造はLCU172の分割に対応する。即ち、ルートノード152はLCU172に対応し、リーフノード156はサブCU176に対応し、ノード154はサブCU174に対応し、リーフノード158はサブCU178に対応する。
4分木150のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木150中に4つの追加のノードが存在し得る。幾つかの例では、4分木のノードは以下の擬似コードと同様に実施され得る。
quadtree_node {
boolean split_flag(1);
// signaling data
if (split_flag) {
quadtree_node child1;
quadtree_node child2;
quadtree_node child3;
quadtree_node child4;
}
}
split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は「0」であり得るが、CUが分割される場合、split_flag値は「1」であり得る。4分木150の例に関して、分割フラグ値の配列は101000000であり得る。
サブCU176及びサブCU178の各々は、別個の予測単位(PU)に関連し得る。即ち、サブCU176及びサブCU178の各々は、それぞれのサブCU176及びサブCU178に関連する予測単位(PU)に従ってイントラ予測符号化され得る。概して、PUは、PUのための参照サンプルを取り出すためのデータを含む。例えば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。さらに、図6A及び図6Bに関して説明するように、各PUは、さらに、2つ以上のイントラ予測モードが各サブCU176及びサブCU178をイントラ予測符号化するために使用されるように再分割され得る。
図6A及び図6Bは、1つ以上の予測単位(PU)を使用してCUを予測するための例示的な予測タイプを示す概念図である。本開示の態様によれば、「予測タイプ」は、予測単位(PU)に関連する分割を指すことがある。概して、例えば、イントラ予測のために使用されるPUは、2つの予測タイプ又は分割に関連し得る。即ち、PUは、分割されない(例えば、2N×2N)ことがあるか、又は1/4(N×N)に分割され得る。分割されないPUは全体として予測され得るが、分割されるPUは2つ以上の関連する予測モードを有し得る。幾つかの例では、予測単位サイズは、変換ユニットサイズなどの別の符号化機構にリンクされ得る。
例えば、図6Aは例示的な2N×2N予測タイプを示し、一方、図6Bは例示的なN×N予測タイプを示す。図6Aに関して、概して、2N×2N予測タイプは、CU全体のためのイントラ予測モード180を記述するデータを含む。代替的に、図6Bに関して、2つ以上のイントラ予測モード184A〜184D(総称して、イントラ予測モード184)を使用してCUを予測するためにN×N予測タイプが使用される。即ち、N×N予測タイプは、CUのための4つの別個のイントラ予測モード184を記述するデータを含む。図6Bは、CUが4つの等しいサイズのPUを使用して予測されることを示すが、他の分割が可能であることを理解されたい。
本開示の技法によれば、ビデオエンコーダ20(図1〜図2)などのビデオエンコーダは、PUのための予測タイプ又は予測サイズに基づいて利用可能なイントラ予測モードのセットを決定し得る。例えば、本開示の幾つかの態様によれば、ビデオエンコーダ20は、CUが2N×2N予測タイプを使用して予測されるのか、N×N予測タイプを使用して予測されるのかに基づいて利用可能なイントラ予測モードのセットを決定し得る。一例では、ビデオエンコーダ20は、CUが2N×2N予測タイプを使用して予測される場合はプレーンイントラ予測モードなどの幾つかのモードを利用可能にするが、CUがN×N予測タイプを使用して予測される場合はそれらを利用不可能にする。
追加又は代替として、ビデオエンコーダ20は、CUを符号化するために使用されたPUのサイズに基づいて利用可能なイントラ予測モードのセットを決定し得る。例えば、ビデオエンコーダ20は、特定のPUが所定のサイズ閾値を超えない場合に幾つかのモードを利用不可能にし得る。一例では、ビデオエンコーダ20は、PUが8×8画素のサイズよりも大きくない場合にプレーンイントラ予測モードを利用不可能にし得るが、他の閾値が使用され得る(例えば、4×4画素、16×16画素、32×32画素など)。
図7は、ビデオデータを予測するための利用可能なイントラ予測モードを決定することと、適切なイントラモードを選択することと、選択されたイントラモードを信号伝達することとを行うための例示的な方法200を示すフローチャートである。説明のためにビデオエンコーダ20(図2)の構成要素によって実行されるものとして一般的に説明するが、ビデオデコーダ、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図7の方法を実行するように構成され得ることを理解されたい。
図7に示す方法によれば、ビデオエンコーダ20は、最初に、イントラ符号化するためのCUを受信する(204)。イントラ符号化するためのCUを受信した後に、ビデオエンコーダ20は、CUに関連する予測特性を決定する(206)。本開示の技法によれば、ビデオエンコーダ20は、CUに関連する予測タイプ(例えば、2N×2N予測タイプ又はN×N予測タイプ)を決定し得る、及び/又はCUの予測サイズ(例えば、CUに関連する1つ以上のPUのサイズ)を決定し得る。
CUに関連する予測特性を決定した後に、ビデオエンコーダ20は、予測特性に基づいて利用可能なイントラ予測モードのセットを決定する(208)。本開示の幾つかの態様によれば、イントラモード利用可能性ユニット48は、予測タイプ、例えば、CUが2N×2N予測タイプ(図6A)を使用して予測されるかどうか、又はCUがN×N予測タイプ(図6B)を使用して予測されるかどうかに基づいて、CUをイントラ予測するために利用可能であるイントラ予測モードのタイプを制限し得る。即ち、イントラモード利用可能性ユニット48は、予測タイプに基づいてCUをイントラ予測するために、HMにおいて定義されている35個のイントラモードのうちのどれが使用され得るのかを決定し得る。一例では、図8に関してより詳細に説明するように、イントラモード利用可能性ユニット48は、2N×2Nの予測タイプについてはプレーンイントラ予測モードを利用可能にするが、N×Nの予測タイプについてはそれを利用不可能にし得る。イントラモード利用可能性ユニット48がプレーンイントラモードを利用不可能にした場合、イントラ予測ユニット46は、現在CUを符号化するときにプレーンイントラ予測モードを使用し得ない。
本開示の幾つかの態様によれば、イントラモード利用可能性ユニット48は、予測サイズ、例えば、CUを予測するために使用される1つ以上のPUのサイズに従って、CUをイントラ予測するために利用可能であるイントラ予測モードのタイプを制限し得る。一例では、図9に関してより詳細に説明するように、イントラモード利用可能性ユニット48は、所定の閾値サイズを超えるPUのためにプレーンイントラ予測モードを利用可能にするが、所定の閾値サイズを超えないPUのためにそれを利用不可能にし得る。一例によれば、イントラモード利用可能性ユニット48は、8×8画素の閾値サイズを含み得るが、他のサイズが使用され得る(例えば、4×4画素、16×16画素、32×32画素など)。
どのイントラ予測モードが利用可能であるかを決定した後に、ビデオエンコーダ20は、利用可能なイントラ予測モードからイントラ予測モードを選択する(210)。一例では、イントラ予測ユニット46は、例えば、異なる符号化モードに関連するレート歪みに基づいてイントラ予測モードを選択し得る。
ビデオエンコーダ20は、次いで、最有望モードを決定し(212)、最有望モードに基づいて選択されたイントラモードを信号伝達する(214)。ビデオエンコーダ20は、1つ以上の隣接CUを符号化するために使用されたイントラ予測モードに基づいて最有望モードを決定し得る。一例では、ビデオエンコーダ20は、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在CUの上側に位置するCUを予測するために使用されたイントラモードと、現在CUの左側に位置するCUを予測するために使用されたイントラモードとに従って最有望モードを決定し得る。
ビデオエンコーダ20は、選択されたイントラモードを最有望モードと比較することによって最有望モードに基づいて選択されたイントラモードを信号伝達し得る。一例では、ビデオエンコーダ20は、最有望モードが現在CUのための選択されたイントラモードと同じであると決定した場合、ビデオエンコーダ20は、それらのモードが同じことであることを示すためにフラグ(例えば、1ビットの最有望モードフラグ)を使用し得る。ビデオエンコーダ20は、最有望モードが現在CUのための選択されたイントラモードと同じでないと決定した場合、ビデオエンコーダ20は、それらのモードが同じでないことを示し、選択されたイントラモードの追加の指示を与え得る。
本開示の幾つかの態様によれば、図10及び図11に関して説明するように、ビデオエンコーダ20は、特定のイントラモードがCUのために利用可能でないが、その特定のイントラモードが最有望モードである状況を考慮するために修正最有望モード決定を実装し得る。一例では、プレーンモードが最有望モードとして識別され、プレーンモードが現在ブロックのために利用可能でない場合、ビデオエンコーダ20は、修正最有望モード導出プロセスを実施し得る。
このようにして、図7の方法は、予測されている符号化単位(CU)の予測特性に基づいてイントラ予測モードの利用可能なセットを決定することと、利用可能なイントラ予測モードからイントラ予測モードを選択することと、最有望イントラ予測モードに基づいて選択されたイントラ予測モードを信号伝達することとを含む方法の一例である。図7の例は、例としてビデオエンコーダ20によって実行されるものとして一般的に説明したが、(例えば、図12に関して図示及び説明するように)ビデオデコーダ30などのビデオデコーダが図7に示す例の方法と本質的に対称的な方法を実行し得ることを理解されたい。即ち、ビデオデコーダ30は、予測されている符号化単位(CU)の予測特性に基づいてイントラ予測モードの利用可能なセットを決定することと、最有望イントラ予測モードに基づいて利用可能なイントラ予測モードからイントラ予測モードを復号することと、CUを復号するために復号されたイントラ予測モードを選択することとを含む方法を実行し得る。
また、図7に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。即ち、図7の方法のステップは必ずしも図7に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。別の例によれば、ビデオエンコーダ20は、予測特性に基づいて利用可能なイントラ予測モードを決定し得るが、最有望モードに基づいてイントラ予測モードを信号伝達しないことがある。別の例によれば、ビデオエンコーダ20は、利用可能なモードを決定し(208)、利用可能なモードを選択する(210)より前に最有望モードを決定する(212)。
図8は、CU予測タイプ制限に基づいて利用可能なイントラ予測モードを決定するための例示的な方法220を示すフローチャートである。特に、図8に示す方法220は、CU予測タイプ制限に基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定するための例示的な方法を示す。説明のためにビデオエンコーダ20(図2)の構成要素によって実行されるものとして一般的に説明するが、ビデオデコーダと、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットとも図8の方法を実行するように構成され得ることを理解されたい。
ビデオエンコーダは、最初に、イントラ予測モード利用可能性決定を開始し(222)、予測タイプベース制限をイントラ予測モードのセットに適用すべきかどうかを決定する(224)。例えば、ビデオエンコーダ20は、一定数の利用可能なイントラ予測モードを有するように構成され得る。HMでは、ビデオエンコーダ20は、イントラ予測目的のために利用可能な35個のイントラモードを有するように構成され得る。本開示の技法によれば、ビデオエンコーダ20はまた、利用可能なイントラ予測モードの数を制限するために予測タイプベース制限を適用するように構成され得る。
ビデオエンコーダ20が、利用可能なイントラ予測モードのセットを決定するための予測タイプベース制限を適用しない場合、ビデオエンコーダ20は、CUを符号化するための任意の利用可能なイントラモード(例えば、HMにおいて指定されている35個全てのイントラモード)を使用する(226)。ビデオエンコーダ20が、利用可能なイントラ予測モードのセットを決定するために予測タイプ制限を適用する場合、ビデオエンコーダ20は、CUに関連する予測タイプを決定する(228)。図8に示す例示的な方法では、ビデオエンコーダ20は、CUが全体として予測される(例えば、2N×2Nタイプ)か、又は2つ以上の予測単位を使用して予測される(例えば、N×Nタイプ)かどうかを決定する(230)。本開示の幾つかの態様によれば、ビデオエンコーダ20は、CUの予測タイプが2N×2Nでないと決定した場合、ビデオエンコーダ20は、プレーンイントラ予測モードを利用不可能にする(232)。即ち、ビデオエンコーダ20は、プレーンイントラモードを検討から削除し得、従って、CUは、プレーンイントラ予測モードを使用してイントラ予測され得ない。CU予測タイプが2N×2Nであった場合、ビデオエンコーダ20は、他の利用可能なイントラモードとともにプレーンイントラ予測モードを含める(234)。
このようにして、図8に示す方法は、CU予測タイプに基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定することを含む例示的な方法である。図8の例は、例としてビデオエンコーダ20によって実行されるものとして一般的に説明したが、ビデオデコーダ30などのビデオデコーダが図8に示す例の方法と本質的に対称的な方法を実行し得ることを理解されたい。即ち、ビデオデコーダ30は、予測タイプに基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定することを含む方法を実行し得る。
また、図8に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。例えば、図8は、CUの予測タイプに基づいてプレーンイントラ予測モードが利用可能であるかどうかを決定することに関するが、イントラモードの利用可能性を決定することに関する本開示の技法が他のイントラ予測モードにも適用され得ることを理解されたい。さらに、図8の方法のステップは必ずしも図8に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。
図9は、CU予測サイズ制限に基づいて利用可能なイントラ予測モードを決定するための例示的な方法238を示すフローチャートである。特に、図9に示す方法238は、CU予測サイズ(例えば、CUを予測するために使用される1つ以上のPUのサイズ)制限に基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定するための例示的な方法を示す。説明のためにビデオエンコーダ20(図2)の構成要素によって実行されるものとして一般的に説明するが、ビデオデコーダと、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットとも図9の方法を実行するように構成され得ることを理解されたい。
ビデオエンコーダ20は、最初に、イントラ予測モード利用可能性決定を開始し(240)、CU予測サイズベース制限を利用可能なイントラ予測モードのセットに適用すべきかどうかを決定する(242)。例えば、図8に関して上記で説明したように、ビデオエンコーダ20は、一定数の利用可能なイントラ予測モードを有するように構成され得る。HMでは、ビデオエンコーダ20は、イントラ予測目的のために利用可能な35個のイントラモードを有するように構成され得る。本開示の技法によれば、ビデオエンコーダ20はまた、利用可能なイントラ予測モードの数を制限するために予測サイズベース制限を適用するように構成され得る。
ビデオエンコーダ20が、利用可能なイントラ予測モードのセットを決定するための予測サイズベース制限を適用しない場合(242)、ビデオエンコーダ20は、CUを符号化するための任意の利用可能なイントラモード(例えば、HMにおいて指定されている35個全てのイントラモード)を使用する(244)。ビデオエンコーダ20が、利用可能なイントラ予測モードのセットを決定するために予測サイズ制限を適用する場合(242)、ビデオエンコーダ20は、CUに関連するPUのサイズを決定する(246)。
図9に示す例示的な方法では、ビデオエンコーダ20は、CU予測サイズ、例えば、CUに関連する1つ以上のPUのサイズを所定の閾値に比較する(248)。一例では、閾値は8×8画素であり得るが、他の閾値が使用され得る(例えば、4×4画素、16×16画素、32×32画素など)。本開示の幾つかの態様によれば、ビデオエンコーダ20は、CUの予測サイズが閾値サイズよりも大きくないと決定した場合(248)、ビデオエンコーダ20は、プレーンイントラ予測モードを利用不可能にする(250)。即ち、ビデオエンコーダ20は、プレーンイントラモードを検討から削除し得、従って、CUは、プレーンイントラ予測モードを使用してイントラ予測され得ない。ビデオエンコーダ20は、CUの予測サイズが閾値サイズをよりも大きいと決定した場合(248)、ビデオエンコーダ20は、他の利用可能なイントラモードとともにプレーンイントラ予測モードを含める(252)。
このようにして、図9に示す方法は、CU予測サイズ(例えば、CUを予測するために使用される1つ以上のPUのサイズ)に基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定することを含む例示的な方法である。図9の例は、例としてビデオエンコーダ20によって実行されるものとして一般的に説明したが、ビデオデコーダ30などのビデオデコーダが図9に示す例の方法と本質的に対称的な方法を実行し得ることを理解されたい。即ち、ビデオデコーダ30は、CU予測サイズ(例えば、CUを予測するために使用される1つ以上のPUのサイズ)に基づいて利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めるべきかどうかを決定することを含む方法を実行し得る。
また、図9に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。例えば、図9は、CU予測サイズに基づいてプレーンイントラ予測モードが利用可能であるかどうかを決定することに関するが、イントラモードの利用可能性を決定することに関する本開示の技法が他のイントラ予測モードにも適用され得ることを理解されたい。さらに、図9の方法のステップは必ずしも図9に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。
図10は、最有望モードに基づいてイントラモードを信号伝達するための例示的な方法260を示すフローチャートである。特に、図10は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを信号伝達するための例示的な方法260を示す。説明のためにビデオエンコーダ20(図2)の構成要素によって実行されるものとして一般的に説明するが、ビデオデコーダと、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットとも図10の方法を実行するように構成され得ることを理解されたい。
ビデオエンコーダ20は、最初に、最有望モード導出を開始し(262)、プレーンイントラ予測モードが利用可能であるかどうかを決定する(264)。本開示の幾つかの態様によれば、プレーンイントラ予測モードは、例えば、(例えば、図8に関して説明したように)予測タイプ制限、又は(例えば、図9に関して説明したように)予測サイズ制限によりCUをイントラ符号化するために利用可能でないことがある。プレーンイントラモードが利用可能であった場合、ビデオエンコーダ20は、続いて、1つ以上の隣接CUに基づいて最有望イントラ予測モードを決定する(266)。例えば、ビデオエンコーダ20は、現在CUの上側及び左側に位置する前に符号化されたCUに基づいて最有望モードを決定し得るが、他の参照CUが使用され得る。この場合も、現在CUの比較的極近傍にある、前に符号化されたCUは、現在CUと同じイントラモードを有する高い確率を有し得る。
ビデオエンコーダ20はまた、最有望モードに基づいて選択されたイントラモードを信号伝達する(268)。即ち、例えば、ビデオエンコーダ20は、最有望モードと、現在ブロックを符号化するために使用される選択されたイントラモードとの比較に基づいて最有望モードフラグを設定し得る。最有望モードが現在ブロックのための選択されたイントラモードと同じであった場合、ビデオエンコーダ20は、最有望モードフラグを値1に設定して、それらのモードが同じであることを示し得る。最有望モードが現在ブロックのための選択されたイントラモードと同じでなかった場合、ビデオエンコーダ20は、最有望モードフラグを値0に設定して、適切な選択されたイントラモードを識別するために追加情報を送り得る。
プレーンイントラモードが利用可能でない場合(264)、ビデオエンコーダ20は、最有望モードを決定するために使用される隣接CUのイントラモードを決定する(270)。ビデオエンコーダ20は、次いで、隣接CUを予測するためにプレーンイントラモードが使用されるかどうかを決定する(272)。隣接CUを予測するためにプレーンイントラモードが使用されない場合(272)、ビデオエンコーダ20は、続いて、最有望モードを決定し(266)、最有望モードに基づいて選択されたイントラモードを信号伝達する(268)。
隣接CUのうちの1つ以上を予測するためにプレーンイントラモードが使用される(274)が、プレーンイントラモードが現在CUのために利用可能でない場合、本開示の態様によれば、ビデオエンコーダ20は、修正最有望モード導出プロセスを実施し得る。図10に示した例では、ビデオエンコーダ20は、他のイントラモードが使用され得るが、プレーンイントラモードを使用して予測されたネイバーのモードをDCイントラモードなどの別のモードにマッピングし得る(274)。マッピングされたネイバーを用いて、ビデオエンコーダ20は、続いて、最有望イントラモードを決定し(266)、最有望モードに基づいて現在CUの選択されたモードを信号伝達する(268)。
このようにして、図10に示す方法は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを信号伝達することを含む例示的な方法である。図10の例は、例としてビデオエンコーダ20によって実行されるものとして一般的に説明したが、ビデオデコーダ30などのビデオデコーダが図10に示す例の方法と本質的に対称的な方法を実行し得ることを理解されたい。即ち、ビデオデコーダ30は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを復号し、識別することを含む方法を実行し得る。
また、図10に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。例えば、図10は、概して、プレーンイントラモードが利用可能でないときの修正最有望モード導出及び信号伝達プロセスに関するが、修正最有望モードプロセスを実装することに関する本開示の技法が他のイントラ予測モードにも適用され得ることを理解されたい。さらに、図10の方法のステップは必ずしも図10に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。
図11は、最有望モードに基づいてイントラモードを信号伝達するための例示的な方法280を示すフローチャートである。特に、図11は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを信号伝達するための例示的な方法280を示す。説明のためにビデオエンコーダ20(図2)の構成要素によって実行されるものとして一般的に説明するが、ビデオデコーダと、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットとも図11の方法を実行するように構成され得ることを理解されたい。
ビデオエンコーダ20は、最初に開始して、例えば、1つ以上の隣接CUに基づいて最有望イントラ予測モードを決定する(282)。図11に関して説明するように、ビデオエンコーダ20は、現在CUの上側及び左側に位置する前に符号化されたCUに基づいて最有望モードを決定し得るが、他の参照CUが使用され得る。
ビデオエンコーダ20は、次いで、最有望モードがプレーンイントラモードであるかどうかを決定する(284)。プレーンイントラモードが最有望モードでなかった場合、ビデオエンコーダ20は、続いて、最有望モードに基づいて選択されたイントラモードを信号伝達する(286)。例えば、図11に関して説明するように、ビデオエンコーダ20は、最有望モードと、現在ブロックを符号化するために使用される選択されたイントラモードとの比較に基づいて最有望モードフラグを設定し得る。
最有望モードがプレーンイントラモードであった場合、ビデオエンコーダ20は、プレーンイントラモードが現在CUのために利用可能であるかどうかを決定する(288)。即ち、ビデオエンコーダ20は、例えば、予測タイプ又は予測サイズ制限によりプレーンイントラモードが利用不可能にされているかどうかを決定し得る。プレーンイントラモードが利用可能であった場合(288)、ビデオエンコーダ20は、続いて、最有望モードに基づいて選択されたイントラモードを信号伝達する(286)。プレーンイントラモードが最有望モードである(290)が、プレーンイントラモードが利用可能でなかった場合、ビデオエンコーダ20は、最有望モードをDCモードなどの別のイントラモードとして設定する(290)。ビデオエンコーダ20は、次いで、修正最有望モードを選択されたイントラモードと比較し(292)、修正最有望モードに基づいて選択されたイントラモードを信号伝達する(294)。
このようにして、図11に示す方法は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを信号伝達することを含む例示的な方法である。図11の例は、例としてビデオエンコーダ20によって実行されるものとして一般的に説明したが、ビデオデコーダ30などのビデオデコーダが図11に示す例の方法と本質的に対称的な方法を実行し得ることを理解されたい。即ち、ビデオデコーダ30は、プレーンモードが最有望モードであるが、プレーンモードが現在CUのために利用可能でないときに、最有望モードに基づいてイントラ予測モードを復号し、識別することを含む方法を実行し得る。
また、図11に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。例えば、図11は、概して、プレーンイントラモードが利用可能でないときの修正最有望モード導出及び信号伝達プロセスに関するが、修正最有望モードプロセスを実装することに関する本開示の技法が他のイントラ予測モードにも適用され得ることを理解されたい。さらに、図11の方法のステップは必ずしも図11に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。
図12は、本開示の態様による、ビデオデータを予測するための利用可能なイントラ予測モードを決定し、利用可能なイントラ予測モードからイントラモードを復号し、復号されたイントラモードを使用してビデオデータを復号するための例示的な方法300を示すフローチャートである。説明のためにビデオデコーダ30(図3)の構成要素によって実行されるものとして一般的に説明するが、プロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースの符号化ユニットなど、他のビデオ符号化ユニットも図12の方法を実行するように構成され得ることを理解されたい。
図12に示す方法によれば、ビデオデコーダ30は、最初に、イントラ符号化されたCUを受信する(304)。CUを受信した後に、ビデオデコーダ30は、CUに関連する予測特性を決定する(306)。本開示の技法によれば、ビデオデコーダ30は、CUに関連する予測タイプ(例えば、2N×2N予測タイプ又はN×N予測タイプ)を決定し得る、及び/又はCUの予測サイズ(例えば、CUに関連する1つ以上のPUのサイズ)を決定し得る。
CUに関連する予測特性を決定した後に、ビデオデコーダ30は、予測特性に基づいて利用可能なイントラ予測モードのセットを決定する(308)。例えば、ビデオデコーダ30は、CUを復号ための、ビデオエンコーダ20によって決定された利用可能なイントラ予測モードを識別し得る。本開示の幾つかの態様によれば、ビデオデコーダ30は、予測タイプ又は予測サイズ制限により(例えば、HMにおいて定義されている35個のイントラ予測モードのうちの)1つ以上のイントラ予測モードが利用不可能であることを決定し得る。
一例では、ビデオデコーダ30は、予測タイプ制限によりプレーンモードが利用不可能であること、例えば、CUが2N×2N予測タイプを使用して予測されるかどうか(図6A)、又はCUがN×N予測タイプを使用して予測されるかどうか(図6B)を決定し得る。幾つかの例では、ビデオデコーダ30は、図8に関して図示し説明した方法とは逆の方法を実装し得る。即ち、ビデオデコーダ30は、プレーンイントラ予測モードが、2N×2Nの予測タイプのために利用可能であるが、N×Nの予測タイプのために利用不可能であることを決定し得る。
別の例では、ビデオデコーダ30は、CU予測サイズ制限、例えば、CUを予測するために使用される1つ以上のPUのサイズによりプレーンイントラモードが利用不可能であることを決定し得る。幾つかの例では、ビデオデコーダ30は、図9に関して図示し説明した方法とは逆の方法を実装し得る。即ち、ビデオデコーダ30は、プレーンイントラ予測モードが、所定の閾値サイズを超えるPUのために利用可能であるが、所定の閾値サイズを超えないPUのために利用不可能であることを決定し得る。一例によれば、閾値サイズは8×8画素であり得るが、他のサイズが使用され得る(例えば、4×4画素、16×16画素、32×32画素など)。
どのイントラ予測モードが利用可能であるかを決定した後に、ビデオデコーダ30は、現在CUを符号化するために最有望モードが使用されたかどうかを決定する(310)。例えば、ビデオデコーダ30は、受信したmost_probable_modeフラグに基づいて現在CUを符号化するために最有望モードが使用されたかどうかを決定し得る(例えば、値1が最有望モードが使用されたことを示し、値0が最有望モードが使用されなかったことを示す)。
現在CUを符号化するために最有望モードが使用されなかった場合、ビデオデコーダ30は、追加のデータを復号して、利用可能なイントラモードから、現在CUを符号化するためにどのイントラモードが使用されたかを識別する(312)。即ち、ビデオデコーダ30は、ビデオエンコーダ20によってCUを符号化するために使用される利用可能なイントラ予測モードを識別し、CUを復号するために、利用可能なイントラ予測モードの1つを復号し得る。幾つかの例によれば、ビデオデコーダ30は、ビデオエンコーダ20によってイントラモードに割り当てられた識別子、ならびに利用可能なイントラモードの識別されたリストを使用して利用可能なイントラモードのうちの1つを復号し得る。ビデオデコーダ30は、次いで、復号されたイントラモードを使用して現在CUを復号する(314)。
現在CUを符号化するために最有望モードが使用された場合、ビデオデコーダ30は、ビデオエンコーダ20とは逆のプロセスを使用して最有望モードを識別する(316)。即ち、ビデオデコーダ30は、1つ以上の隣接CUを符号化するために使用されたイントラ予測モードに基づいて最有望モードを決定し得る。一例では、ビデオデコーダ30は、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在CUの上側に位置するCUを予測するために使用されたイントラモードと、現在CUの左側に位置するCUを予測するために使用されたイントラモードとに従って最有望モードを決定し得る。
本開示の幾つかの態様によれば、ビデオデコーダ30は、最有望モードを決定するために、図10及び図11に関して図示し説明した方法と同様のプロセスを使用し得る。即ち、ビデオデコーダ30は、特定のイントラモードが現在CUのために利用不可能であるが、特定のイントラモードが最有望モードである状況を考慮するために、修正最有望モード決定を実装し得る。一例では、プレーンイントラモードが最有望モードとして識別され、プレーンイントラモードが現在ブロックのために利用可能でない場合、ビデオデコーダ30は、修正最有望モード導出プロセスを実施し得る。
最有望モードを識別した(316)後に、ビデオデコーダ30は、最有望モードを使用して現在CUを復号する(318)。このようにして、図12の方法は、ビデオデータを予測するための利用可能なイントラ予測モードを決定することと、利用可能なイントラ予測モードからイントラモードを復号することと、復号されたイントラモードを使用してビデオデータを復号することとを含む方法の一例である。
図12に関して図示し説明したステップは単に一例として与えられたものにすぎないことを理解されたい。即ち、図12の方法のステップは必ずしも図12に示す順序で実行される必要はなく、より少数の、追加の、又は代替のステップが実行され得る。
1つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実施した場合、機能は、1つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ若しくは1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、若しくは命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
命令は、1つ以上のデジタル信号プロセッサ(DSP)などの1つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つ以上の回路又は論理要素において完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上記で説明した1つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータを符号化するための方法であって、ビデオデータの符号化単位に関連する予測特性を決定することと、前記予測特性に基づいて前記符号化単位に対して複数の利用可能なイントラ予測モードのセットを生成することと、前記利用可能なイントラ予測モードから1つのイントラ予測モードを選択することと、前記符号化単位を符号化するために前記複数の利用可能なイントラ予測モードのうちの1つを適用することと、を備え、前記予測特性を決定することが、前記符号化単位に関連する予測単位の数を定義する予測タイプを決定することを含む、方法。
[2] 前記利用可能なイントラ予測モードのうちの1つを適用することが、前記符号化単位を復号することを備える、[1]に記載の方法。
[3] 前記利用可能なイントラ予測モードのうちの1つを適用することが、前記符号化単位を符号化することを備える、[1]に記載の方法。
[4] 前記予測タイプを決定することは、前記符号化単位が単一の予測単位をもつ2N×2Nタイプとして予測されるかどうかを決定することを含む、[1]に記載の方法。
[5] 前記イントラ予測モードのセットを生成することは、前記符号化単位が2N×2Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めることを備える、[4]に記載の方法。
[6] 前記予測タイプを決定することは、前記符号化単位が4つの予測単位をもつN×Nタイプとして予測されるかどうかを決定することを含む、[1]に記載の方法。
[7] 前記イントラ予測モードのセットを生成することは、前記符号化単位がN×Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中でプレーンイントラ予測モードを利用不可能にすることを備える、[6]に記載の方法。
[8] 最有望モードに基づいて、選択され、適用された前記イントラ予測モードを信号伝達することをさらに備え、前記最有望モードを決定することが、少なくとも1つの隣接符号化単位のイントラ予測モードに基づいて前記最有望モードとしてイントラ予測モードを識別することを備える、[1]に記載の方法。
[9] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、プレーンイントラ予測モードが前記最有望モードであると決定されたとき、前記少なくとも1つの隣接符号化単位を異なるイントラ予測モードにマッピングし、前記少なくとも1つのマッピングされた隣接符号化単位に基づいて前記最有望モードを決定することをさらに備える、[8]に記載の方法。
[10] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、プレーンイントラ予測モードが前記最有望モードであると決定されたとき、プレーンモードの代わりに別の予め定義されたイントラ予測モードを選択することをさらに備える、[8]に記載の方法。
[11] ビデオデータを符号化するための装置であって、ビデオデータの符号化単位に関連する予測特性を決定するように構成されたプロセッサを備え、前記予測特性を決定することが、前記予測特性に基づいて前記符号化単位に対して利用可能なイントラ予測モードのセットを生成することと、前記利用可能なイントラ予測モードからイントラ予測モードを選択することと、前記符号化単位を符号化するために前記利用可能なイントラ予測モードのうちの1つを適用することとを行うために、前記符号化単位に関連する予測単位の数を定義する予測タイプを決定することを含む、装置。
[12] 前記プロセッサがビデオ復号装置の構成要素である、[11]に記載の装置。
[13] 前記プロセッサがビデオ符号化装置の構成要素である、[11]に記載の装置。
[14] 前記プロセッサは、前記符号化単位が単一の予測単位をもつ2N×2Nタイプとして予測されるかどうかを決定することによって、前記予測タイプを決定するように構成された、[11]に記載の装置。
[15] 前記プロセッサは、前記符号化単位が2N×2Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めることによって、前記イントラ予測モードのセットを生成するように構成された、[14]に記載の装置。
[16] 前記プロセッサは、前記符号化単位が4つの予測単位をもつN×Nタイプとして予測されるかどうかを決定することによって、前記予測タイプを決定するように構成された、[11]に記載の装置。
[17] 前記イントラ予測モードのセットを生成することは、前記符号化単位がN×Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中でプレーンイントラ予測モードを利用不可能にすることを備える、[16]に記載の装置。
[18] ビデオデータを符号化するための装置であって、ビデオデータの符号化単位に関連する予測特性を決定するための手段と、前記予測特性に基づいて前記符号化単位に対して利用可能なイントラ予測モードのセットを生成するための手段と、前記利用可能なイントラ予測モードからイントラ予測モードを選択するための手段と、前記符号化単位を符号化するために前記利用可能なイントラ予測モードのうちの1つを適用するための手段と、を備え、前記予測特性を決定することが、前記符号化単位に関連する予測単位の数を定義する予測タイプを決定することを含む、装置。
[19] 前記装置がビデオ復号装置を備える、[18]に記載の装置。
[20] 前記装置がビデオ符号化装置を備える、[18]に記載の装置。
[21] 前記予測タイプを決定することは、前記符号化単位が単一の予測単位をもつ2N×2Nタイプとして予測されるかどうかを決定することを含む、[18]に記載の装置。
[22] 前記イントラ予測モードのセットを生成することは、前記符号化単位が2N×2Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めることを備える、[21]に記載の装置。
[23] 前記予測タイプを決定することは、前記符号化単位が4つの予測単位をもつN×Nタイプとして予測されるかどうかを決定することを含む、[18]に記載の装置。
[24] 前記イントラ予測モードのセットを生成することは、前記符号化単位がN×Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中でプレーンイントラ予測モードを利用不可能にすることを備える、[23]に記載の装置。
[25] 最有望モードに基づいて、選択され、適用された前記イントラ予測モードを信号伝達するための手段をさらに備え、前記最有望モードを決定することが、少なくとも1つの隣接符号化単位のイントラ予測モードに基づいて前記最有望モードとしてイントラ予測モードを識別することを備える、[18]に記載の装置。
[26] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、前記プレーンイントラ予測モードが前記最有望モードであると決定されたとき、前記少なくとも1つの隣接符号化単位を異なるイントラ予測モードにマッピングし、前記少なくとも1つのマッピングされた隣接符号化単位に基づいて前記最有望モードを決定することをさらに備える、[25]に記載の装置。
[27] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、前記プレーンイントラ予測モードが前記最有望モードであると決定されたとき、プレーンモードの代わりに別の予め定義されたイントラ予測モードを選択することをさらに備える、[25]に記載の装置。
[28] 実行されたとき、ビデオデータの符号化単位に関連する予測特性を決定することと、前記予測特性に基づいて前記符号化単位に対して利用可能なイントラ予測モードのセットを生成することと、前記利用可能なイントラ予測モードからイントラ予測モードを選択することと、前記符号化単位を符号化するために前記利用可能なイントラ予測モードのうちの1つを適用することと、を、ビデオデータを符号化するための機器のプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備え、前記予測特性を決定することが、前記符号化単位に関連する予測単位の数を定義する予測タイプを決定することを含む、コンピュータプログラム製品。
[29] 前記符号化単位が単一の予測単位をもつ2N×2Nタイプとして予測されるかどうかを決定することを前記プロセッサに行わせる命令をさらに備える、[28]に記載のコンピュータプログラム製品。
[30] 前記符号化単位が2N×2Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中にプレーンイントラ予測モードを含めることを前記プロセッサに行わせる命令をさらに備える、[29]に記載のコンピュータプログラム製品。
[31] 前記符号化単位が4つの予測単位をもつN×Nタイプとして予測されるかどうかを決定することを前記プロセッサに行わせる命令をさらに備える、[28]に記載のコンピュータプログラム製品。
[32] 前記符号化単位がN×Nタイプとして予測されたときに、前記利用可能なイントラ予測モードのセット中でプレーンイントラ予測モードを利用不可能にすることを前記プロセッサに行わせる命令をさらに備える、[31]に記載のコンピュータプログラム製品。
[33] 最有望モードに基づいて、選択され、適用された前記イントラ予測モードを信号伝達することを前記プロセッサに行わせる命令をさらに備え、前記最有望モードを決定することが、少なくとも1つの隣接符号化単位のイントラ予測モードに基づいて前記最有望モードとしてイントラ予測モードを識別することを備える、[28]に記載のコンピュータプログラム製品。
[34] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、前記プレーンイントラ予測モードが前記最有望モードであると決定されたとき、前記少なくとも1つの隣接符号化単位を異なるイントラ予測モードにマッピングし、前記少なくとも1つのマッピングされた隣接符号化単位に基づいて前記最有望モードを決定することを前記プロセッサに行わせる命令をさらに備える、[28]に記載のコンピュータプログラム製品。
[35] 前記利用可能なイントラ予測モードのセットがプレーンイントラ予測モードを含まず、前記プレーンイントラ予測モードが前記最有望モードであると決定されたとき、プレーンモードの代わりに別の予め定義されたイントラ予測モードを選択することを前記プロセッサに行わせる命令をさらに備える、[28]に記載のコンピュータプログラム製品。