(57)【要約】  本明細書では、ゼロアウトされた係数を使用した低複雑な順変換のためのシステムおよび方法について説明する。本開示で説明する主題の一態様は、ビデオブロックを記憶するように構成されたメモリを備えるビデオエンコーダを提供する。ビデオエンコーダは、メモリと通信しているプロセッサをさらに備える。プロセッサは、ビデオブロックの全出力値を決定するように構成される。プロセッサは、縮約変換係数行列を決定すること、ここにおいて、縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、縮約変換係数行列と完全変換係数行列とが、同じサイズを有する、を行うようにさらに構成される。プロセッサは、縮約変換係数行列を使用してビデオブロックの部分出力値を決定することを行うようにさらに構成される。プロセッサは、全出力値および部分出力値に基づいて縮約変換係数行列を使用してピクセル領域から係数領域にビデオブロックを変換することを行うようにさらに構成される。プロセッサは、変換されたビデオブロックを符号化することを行うようにさらに構成される。
2017513342.tif 000002
【特許請求の範囲】
【請求項１】
ビデオブロックを記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサであって、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を行うように構成されたプロセッサと
を備える、ビデオエンコーダ。
【請求項２】
前記ビデオブロックが、複数のルーマピクセル値を備える、ここにおいて、前記プロセッサが、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するように構成された、請求項１に記載のビデオエンコーダ。
【請求項３】
前記ビデオブロックが、３２ピクセル×３２ピクセルのサイズを有する、請求項１に記載のビデオエンコーダ。
【請求項４】
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、請求項１に記載のビデオエンコーダ。
【請求項５】
前記プロセッサが、前記メモリ中に前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項６】
前記プロセッサが、前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項７】
前記プロセッサが、前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項８】
前記プロセッサは、前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項９】
前記プロセッサは、前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するようにさらに構成された、請求項８に記載のビデオエンコーダ。
【請求項１０】
前記プロセッサは、前記部分出力が前記積以上であるとき、前記内部領域サイズ、位置、またはその両方を変更するようにさらに構成された、請求項８に記載のビデオエンコーダ。
【請求項１１】
ビデオを符号化する方法であって、
ビデオブロックを記憶することと、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を備える方法。
【請求項１２】
前記ビデオブロックが、複数のルーマピクセル値を備え、前記方法が、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することをさらに備える、請求項１１に記載の方法。
【請求項１３】
前記ビデオブロックが、３２ピクセル×３２ピクセルのサイズを有する、請求項１１に記載の方法。
【請求項１４】
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、請求項１１に記載の方法。
【請求項１５】
前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定することをさらに備える、請求項１１に記載の方法。
【請求項１６】
前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定することをさらに備える、請求項１１に記載の方法。
【請求項１７】
前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定することをさらに備える、請求項１１に記載の方法。
【請求項１８】
前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することをさらに備える、請求項１１に記載の方法。
【請求項１９】
前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することをさらに備える、請求項１８に記載の方法。
【請求項２０】
前記部分出力が前記積以上であるとき、前記内部領域サイズ、位置、またはその両方を変更することをさらに備える、請求項１８に記載の方法。
【請求項２１】
実行されたとき、装置に、
ビデオブロックを記憶することと、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を行わせるコードを備える非一時的コンピュータ可読媒体。
【請求項２２】
前記ビデオブロックが、複数のルーマピクセル値を備え、実行されたとき、前記装置に、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することを行わせるコードをさらに備える、請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
実行されたとき、前記装置に、前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定することを行わせるコードをさらに備える、請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
実行されたとき、前記装置に、前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することを行わせるコードをさらに備える、請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
実行されたとき、前記装置に、前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することを行わせるコードをさらに備える、請求項２４に記載のコンピュータ可読媒体。
【請求項２６】
ビデオを符号化するための装置であって、
ビデオブロックを記憶するための手段と、
前記ビデオブロックの全出力値を決定するための手段と、
縮約変換係数行列を決定するための手段と、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定するための手段と、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換するための手段と、
前記変換されたビデオブロックを符号化するための手段と
を備える、装置。
【請求項２７】
前記ビデオブロックが、複数のルーマピクセル値を備え、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するための手段をさらに備える、請求項３１に記載の装置。
【請求項２８】
前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定するための手段をさらに備える、請求項３１に記載の装置。
【請求項２９】
前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するための手段をさらに備える、請求項３１に記載の装置。
【請求項３０】
前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するための手段をさらに備える、請求項２９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオ符号化に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータもしくはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話もしくは衛星無線電話、スマートフォン、ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ）によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（ピクチャ内）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ＣＵの予測ビデオデータを決定するために、ＣＵはさらに１つまたは複数の予測ユニット（ＰＵ）に区分され得る。ビデオ圧縮技法はまた、ＣＵを、コーディングされるべきビデオブロックと予測ビデオデータとの間の差を表す残差ビデオブロックデータの１つまたは複数の変換ユニット（ＴＵ）に区分し得る。２次元離散コサイン変換（ＤＣＴ）などの線形変換をＴＵに適用して残差ビデオブロックデータをピクセル領域から周波数領域に変換して、さらなる圧縮を実現し得る。さらに、ピクチャのイントラコード化（Ｉ）スライスの中のビデオブロックは、同じピクチャの中の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化され得る。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００４】
[0004]空間的予測または時間的予測は、コーディングされるべきブロックのための予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コード化ブロックと予測ブロックとの間の差分を示す。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初に２次元アレイで構成された量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
【０００５】
[0005]ＡＶＣなどのより古いビデオ規格では、順変換および逆変換のサイズ（たとえば、４×４および８×８）は、ビデオ符号化のパフォーマンスのボトルネックとして作用しなかった。しかしながら、より最近のビデオコーディング規格（たとえば、ＨＥＶＣおよびそれの拡張など）は、最大１６×１６および３２×３２の順変換および逆変換係数行列サイズを利用し、これは、コーディングプロセス中のコーディングの速度および効率に対する制限ファクタとして作用し得る。より大きい変換は、ピクセル領域から係数領域に変換するときに複雑さが増し、より多くのサイクルを処理することが必要になる。コーディング効率のために、コーディング性能は、ビデオエンコーダ中での大きい順変換の複雑さを低減するプロセスから利益を得ることになる。本明細書で開示する技法のいくつかの利点は、エンコーダ中での順変換の複雑さを低減することによって、ビデオ符号化中のコーディング効率を改善し、計算リソース要件を低減することに関する。
【発明の概要】
【０００６】
[0006]概して、本開示は、変換プロセス中に変換行列係数を条件付きで利用する（たとえば、それの完全または部分利用）または変更する（たとえば、ゼロアウトする）ことによってビデオ符号化パフォーマンスを改善することに関する技法について説明する。たとえば、一実施形態では、完全３２×３２変換係数行列を使用して変換を実行するのではなく、係数の選択された部分がゼロアウトされ得る。これにより、３２×３２変換係数行列が、非ゼロ値の内部サブセット領域とゼロ値の外部領域とを有することになる。得られた行列がすべてのゼロ値の領域（たとえば、外部領域）を含むので、変更された行列を使用する後続の変換演算は、より少ない計算リソースを必要とすることになり、改善されたビデオ符号化パフォーマンスがもたらされることになる。そのような変換演算を実行することからの間のコンテンツ損失を低減または最小化するために、ゼロ値の外部領域をどのようにいつ決定すべきかに関する条件が提供される。
【０００７】
[0007]１つまたは複数の例の詳細が以下の添付の図面および説明に記載されている。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
【０００８】
[0008]本開示で説明する主題の一態様は、ビデオブロックを記憶するように構成されたメモリを備えるビデオエンコーダを提供する。ビデオエンコーダは、メモリと通信しているプロセッサをさらに備える。プロセッサは、ビデオブロックの全出力値（full power value）を決定するように構成される。プロセッサは、縮約変換係数行列（reduced transform coefficient matrix）を決定すること、ここにおいて、縮約変換係数行列が、完全変換係数行列（full transform coefficient matrix）の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、縮約変換係数行列と完全変換係数行列とが、同じサイズを有する、を行うようにさらに構成される。プロセッサは、縮約変換係数行列を使用してビデオブロックの部分出力値（partial power value）を決定することを行うようにさらに構成される。プロセッサは、全出力値および部分出力値に基づいて縮約変換係数行列を使用してピクセル領域から係数領域にビデオブロックを変換することを行うようにさらに構成される。プロセッサは、変換されたビデオブロックを符号化することを行うようにさらに構成される。
【０００９】
[0009]本開示で説明する主題の別の態様は、ビデオを符号化する方法を提供する。本方法は、ビデオブロックを記憶することを含む。本方法は、ビデオブロックの全出力値を決定することをさらに含む。本方法は、縮約変換係数行列を決定すること、ここにおいて、縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、縮約変換係数行列と完全変換係数行列とが、同じサイズを有する、をさらに含む。本方法は、縮約変換係数行列を使用してビデオブロックの部分出力値を決定することをさらに含む。本方法は、全出力値および部分出力値に基づいて縮約変換係数行列を使用してピクセル領域から係数領域にビデオブロックを変換することをさらに含む。本方法は、変換されたビデオブロックを符号化することをさらに含む。
【００１０】
[0010]本開示で説明する主題の別の態様は非一時的コンピュータ可読媒体を提供する。本媒体は、実行されたとき、装置に、ビデオブロックを記憶することを行わせるコードを備える。本媒体は、実行されたとき、装置に、ビデオブロックの全出力値を決定することを行わせるコードをさらに備える。本媒体は、実行されたとき、装置に、縮約変換係数行列を決定すること、ここにおいて、縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、縮約変換係数行列と完全変換係数行列とが、同じサイズを有する、を行わせるコードをさらに備える。本媒体は、実行されたとき、装置に、縮約変換係数行列を使用してビデオブロックの部分出力値を決定することを行わせるコードをさらに備える。本媒体は、実行されたとき、装置に、全出力値および部分出力値に基づいて縮約変換係数行列を使用してピクセル領域から係数領域にビデオブロックを変換することを行わせるコードをさらに備える。本媒体は、実行されたとき、装置に、変換されたビデオブロックを符号化することを行わせるコードをさらに備える。
【００１１】
[0011]本開示で説明する主題の別の態様は、ビデオを符号化するための装置を提供する。本装置は、ビデオブロックを記憶するための手段を備える。本装置は、ビデオブロックの全出力値を決定するための手段をさらに備える。本装置は、縮約変換係数行列を決定するための手段、ここにおいて、縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、縮約変換係数行列と完全変換係数行列とが、同じサイズを有する、をさらに備える。本装置は、縮約変換係数行列を使用してビデオブロックの部分出力値を決定するための手段をさらに備える。本装置は、全出力値および部分出力値に基づいて縮約変換係数行列を使用してピクセル領域から係数領域にビデオブロックを変換するための手段をさらに備える。本装置は、変換されたビデオブロックを符号化するための手段をさらに備える。
【図面の簡単な説明】
【００１２】
【図１】[0012]本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0013]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0014]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0015]ピクセル領域から係数領域にビデオブロックを変換するために使用され得る変換係数行列の一例を示す図。
【図５Ａ】[0016]ピクセル領域から係数領域にビデオブロックを変換するために使用され得る変換係数行列のさらなる一例を示す図。
【図５Ｂ】ピクセル領域から係数領域にビデオブロックを変換するために使用され得る変換係数行列のさらなる一例を示す図。
【図６】[0017]行列乗算中に変換係数行列の係数のサブセットをゼロアウトすべきであるかどうかを決定するための変換処理ユニットのための１つの方法のフローチャート。
【図７】[0018]行列乗算中に変換係数行列の係数のサブセットをゼロアウトすべきであるかどうかを決定するための変換処理ユニットのためのさらなる方法のフローチャート。
【発明を実施するための形態】
【００１３】
[0019]図面に示す様々な特徴は一定の縮尺で描かれていないことがある。したがって、様々な特徴の寸法は、明快のために恣意的に拡大または縮小されていることがある。さらに、図面のいくつかは、所与のシステム、方法またはデバイスの構成要素のすべてを示しているとは限らないことがある。最後に、本明細書および図の全体にわたって、同様の特徴を示すために同様の参照番号が使用されることがある。
【００１４】
[0020]本開示で説明する技法は、概して、ビデオ符号化中の順変換に関する。一実施形態では、そのような技法は、高効率ビデオコーディング（ＨＥＶＣ）規格およびそれの拡張に関する。
【００１５】
[0021]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３と、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、そのスケーラブルビデオコーディング（ＳＶＣ）拡張およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。さらに、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発された新しいビデオコーディング規格、高効率ビデオコーディング（ＨＥＶＣ）がある。
【００１６】
[0022]上述のように、ＡＶＣ規格は、最大８×８変換サイズしか利用しなかったが、ＨＥＶＣ規格は、サイズが最大３２×３２の（たとえば、ＨＥＶＣエンコーダでの）順変換および逆変換を利用する。たとえば、ＨＥＶＣにおいてピクセル領域から係数領域にビデオ情報を変換するために、ビデオピクセル情報の入力ベクトルは、３２×３２個（１０２４個）の値を有する変換行列で乗じられ得る。より大きい変換サイズは、ＨＥＶＣにおける大きいコードブロックのコーディング効率が増加するが、同じく、より小さい変換サイズと比較して複雑さ、計算サイクル、および処理時間が増加する。本開示で説明する方法は、順変換行列を簡略化することによってエンコーダがピクセル領域から係数領域に変換するときにそのような大きい行列乗算を実行するのに必要な複雑さおよびサイクルの増加を低減し得る。
【００１７】
[0023]いくつかの実装形態では、ゼロを乗じるのに必要な計算リソースは、非ゼロを乗じるのに必要な計算リソースより小さいので、行列乗算中に変換係数のサブセット、領域、または部位をゼロアウトすることは順変換を簡略化し得る。さらに、ビデオ符号化中に使用される順変換においてランダムゼロをゼロアウトすることは、最終的なビデオ品質の低下をもたらし得る。そのような品質劣化を妨げるかまたは低減するために、本開示で説明する方法は、最初に、行列の簡略化または縮約が望ましいかどうかを決定し得る。たとえば、一実施形態では、以下の図６〜図７に関してさらに説明するように、エンコーダが、最初に、出力の差を計算し、ゼロアウトすべき係数の数およびロケーションを決定するためにその差をしきい値と比較する方法を提供する。この秩序立った方法で係数をゼロアウトすることによって、そのような方法により、ビデオエンコーダの変換処理ユニットが、ビデオ品質も保持しながら計算リソースを節約することが可能になり得る。
【００１８】
[0024]ブロックベースの処理を使用するビデオコーデック（たとえば、ビデオフレームがビデオブロックまたはコーディングユニットに区分され得るＨＥＶＣ）では、（たとえば、インター予測またはイントラ予測からの）予測ブロックまたは予測ユニットが元のピクセルから減算され得る。図１〜図３に関して上記および以下でさらに説明するように、残差データは、次いで、順変換（たとえば、離散コサイン変換）を使用して残差変換係数に変換され、量子化され、（たとえば、さらなる圧縮を達成するために）エントロピー符号化され得る。エントロピー符号化は、以下でさらに説明する様々なエントロピーコーディングエンジン（たとえば、ＣＡＶＬＣ、ＣＡＢＡＣなど）を使用して実行され得る。その後、同じく以下でさらに説明するように、デコーダは、次いで、係数をエントロピー復号し、逆量子化し、逆変換し得る。最後に、係数は、予測ブロックに追加されて、再構成されたピクセルを形成し得る。
【００１９】
[0025]ビデオコーディングの一実施形態では、画像ブロックは、最初に、再構成された、一時的におよび／または空間的に隣接するブロックからのピクセルを使用して予測され得る。（「残余」または「残差」と呼ばれることがある）予測誤差が、次いで、変換され、量子化され得る。たとえば、Ｓが、サイズがＮ×Ｎの残余ブロックである場合、変換されたブロックＫは、次のように行列乗算を使用して導出され得る。
【００２０】
【数１】
2017513342.tif 000003
【００２１】
ここで、Ｋ、Ａ、およびＢも、Ｎ×Ｎのサイズである。Ａは垂直変換行列であり、Ｂは水平変換行列である。いくつかの実施形態では、ＡおよびＢは、互いの転置である（たとえば、Ｂ＝Ａ’であり、ここで、「’」は転置を意味する）。他の実施形態では、ＡおよびＢは、互いの転置でない。ＡおよびＢが互いの転置であるとき、前の式は次のようになる。
【００２２】
【数２】
2017513342.tif 000004
【００２３】
[0026]各変換（ＡおよびＢ）は、様々な変換のいずれかを含み得る。いくつかの実施形態では、変換は、離散コサイン変換（ＤＣＴ）、離散サイン変換（ＤＳＴ）、アダマール変換、ハール変換などのうちの１つを含む。
【００２４】
[0027]ＳＶＣ拡張では、ビデオ情報の複数のレイヤがあり得る。最下層は、ベースレイヤ（ＢＬ）として働き得、最上層は、拡張レイヤ（ＥＬ）または「エンハンスメントレイヤ」として働き得る。最上層と最下層との間のすべてのレイヤは、ＥＬまたはＢＬの一方または両方として働き得る。ＳＶＣは、品質スケーラビリティ（または信号対雑音比、ＳＮＲ）、空間スケーラビリティ、および／または時間スケーラビリティを与えるために使用され得る。エンハンストレイヤは、ベースレイヤとは異なる空間解像度を有し得る。現在のブロックの予測は、ＳＶＣのために与えられる様々なレイヤを使用して実行され得る。そのような予測は、レイヤ間予測と呼ばれることがある。レイヤ間予測方法は、レイヤ間冗長性を低減するためにＳＶＣにおいて利用され得る。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測があり得る。レイヤ間イントラ予測は、エンハンスメントレイヤ中の現在のブロックを予測するために、ベースレイヤ中のコロケートされたブロックの再構成を使用する。レイヤ間動き予測は、エンハンスメントレイヤ内の動きを予測するのにベースレイヤの動きを使用する。レイヤ間残差予測は、エンハンスメントレイヤの残差を予測するために、ベースレイヤの残差を使用する。「イントラＢＬモード」と呼ばれる、エンハンスメントレイヤのための１つの特定のコーディングモードは、ベースレイヤ中の対応する（「コロケートされた」と呼ばれる、たとえば、同じ空間的ロケーションに位置する）ブロックのテクスチャを使用して予測され得るテクスチャを含む。
【００２５】
[0028]レイヤ間残差予測では、ベースレイヤの残差は、エンハンスメントレイヤ中の現在のブロックを予測するために使用され得る。残差は、ビデオユニットの時間的予測とソースビデオユニットとの間の差分として定義され得る。残差予測では、ベースレイヤの残余はまた、現在のブロックを予測する際に考慮される。たとえば、現在のブロックは、エンハンスメントレイヤからの残余、エンハンスメントレイヤからの時間的予測、およびベースレイヤからの残余を使用して再構成され得る。現在のブロックは以下の式に従って再構成され得る。
【００２６】
【数３】
2017513342.tif 000005
【００２７】
ここで、
【００２８】
【数４】
2017513342.tif 000006
【００２９】
は現在のブロックの再構成を示し、ｒｅはエンハンスメントレイヤからの残余を示し、Ｐｅはエンハンスメントレイヤからの時間的予測を示し、ｒｂはベースレイヤからの残余予測を示す。
【００３０】
[0029]差分領域を使用したインターコーディングの場合、現在予測ブロックは、エンハンスメントレイヤ参照ピクチャ中の対応する予測ブロックサンプルと、スケーリングされたベースレイヤ参照ピクチャ中の対応する予測ブロックサンプルとの間の差分値に基づいて決定される。差分値は差分予測ブロック（difference predicted block）と呼ばれることがある。エンハンスメントレイヤ予測サンプルを取得するために、コロケートベースレイヤ再構成サンプルが差分予測ブロックに追加される。
【００３１】
[0030]本開示で説明する技法は、ＨＥＶＣにおける順変換の行列乗算中の複雑な計算要件に関する問題に対処し得る。本技法は、エンコーダおよび／または変換処理ユニットが順変換行列乗算を実行し得る速度、効率、および有効性を改善し得る。
【００３２】
[0031]添付の図面を参照しながら、新規のシステム、装置、および方法の様々な態様について、以下でより十分に説明する。ただし、本開示は、多くの異なる形態で具現化される場合があり、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、本開示が、入念で完全であり、本開示の範囲を当業者に十分に伝達するように、これらの態様が提供される。本明細書の教示に基づいて、単独で実装されるか、それとも本発明の何らかの他の態様と組み合わされるかにかかわらず、本開示の範囲が本明細書で開示される新規なシステム、装置、および方法のどんな態様も包含するものとすることを当業者は理解されたい。たとえば、本明細書に記載の任意の数の態様を使用して装置が実装され得、または方法が実施され得る。さらに、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて、またはそれ以外の、他の構造、機能、または構造および機能を使用して実施される装置または方法を包含するものとする。本明細書で開示されるすべての態様が、ある請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００３３】
[0032]特定の態様が本明細書で説明されるが、これらの態様の多数の変形および置換が、本開示の範囲に含まれる。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、その一部が例として図面および好ましい態様の以下の説明において示される、異なるワイヤレス技術と、システム構成と、ネットワークと、伝送プロトコルとに幅広く適用可能であることが意図されている。この詳細な説明および図面は、限定的であるのではなく本開示の説明に役立つものにすぎず、本開示の範囲は、添付の特許請求の範囲とその同等物とによって定義される。
【００３４】
[0033]図１は、本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図である。図１に示すように、ビデオ符号化および復号システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを提供するソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介して宛先デバイス１４にビデオデータを与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット（たとえば、スマートフォン）、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３５】
[0034]上述のように、宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な、任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信するのを可能にするための通信媒体（図示せず）を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、または（インターネットなどの）グローバルネットワークのような、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００３６】
[0035]いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイス（図示せず）に出力され得る。同様に、符号化データは入力インターフェース２８によってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕｅ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれをも含み得る。さらなる例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶することができるファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバには、ウェブサーバ（たとえば、ウェブサイト用の）、ＦＴＰサーバ、ネットワークアタッチドストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。データ接続は、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３７】
[0036]本開示の技法は、ワイヤレス応用またはワイヤレス設定に必ずしも制限されない。本技法は、無線テレビジョンブロードキャスト、ケーブルテレビジョン送信、衛星テレビジョン送信、ＨＴＴＰ上の動的適応ストリーミング（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の応用例など、様々なマルチメディア応用のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、ビデオテレフォニーなどの適用例のための一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３８】
[0037]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、複数の規格または規格拡張に準拠するビデオデータを含む、ビットストリームをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイス１２および宛先デバイス１４は、他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイス３２ではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３９】
[0038]概して、本開示の技法は、ビデオ符号化デバイスによって実行されるが、これらの技法は、通常は「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するコーディングデバイスの例にすぎない。いくつかの例では、ソースデバイス１２および宛先デバイス１４は、それらがそれぞれビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、ビデオテレフォニーなどのために、ソースデバイス１２と宛先デバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００４０】
[0039]ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどのビデオキャプチャデバイス（図示せず）を含み得る。さらなる代替として、ビデオソース１８は、コンピュータグラフィックスベースのデータ、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ生成ビデオの組合せを生成することができる。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、カメラ付き携帯電話またはビデオ付き携帯電話であり得る。別の実施形態では、本開示で説明する技法は、ビデオコーディング全般に適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各々の場合において、キャプチャされたビデオ、事前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６に出力され得る。
【００４１】
[0040]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信、直接ワイヤード通信などを介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを包含しているディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含み得る。
【００４２】
[0041]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信し得る。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義されるシンタックス情報を含み得る。シンタックス情報はまた、ビデオデコーダ３０によって使用され得、これは、ブロックおよび他のコード化ユニットの特性および／または処理を記述するシンタックス要素を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに表示し得、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのうちのいずれかを備え得る。
【００４３】
[0042]ビデオエンコーダ２０およびビデオデコーダ３０は、高効率ビデオコーディング（ＨＥＶＣ）規格またはそれの変形形態のいずれか（たとえば、ＨＥＶＣテストモデル（ＨＭ））などのビデオコーディング規格に従って動作し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６４規格（ＭＰＥＧ−４）、Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６２（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ）、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６１、またはいずれのそのような規格の拡張などの他のプロプライエタリまたは業界規格に従って動作し得る。いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、オーディオエンコーダ、オーディオデコーダ、ＭＵＸ−ＤＥＭＵＸユニット（図示せず）、または他のハードウェアおよびソフトウェアと一体化され得る。
【００４４】
[0043]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの様々な適切なエンコーダ回路のいずれかとして実装され得る。本開示の技法を実行する必要がある場合、ビデオエンコーダ２０および／またはビデオデコーダ３０は、好適な非一時的コンピュータ可読媒体中にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルフォンなどのワイヤレス通信デバイスを備え得る。
【００４５】
[0044]ＨＥＶＣ規格は、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ）に分割され得ることを規定する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大のコーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディングの順序で、いくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分化され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割される場合、ＣＵに対応するノードは、４つのリーフノードを含み、その各々は、サブＣＵの１つに対応する。
【００４６】
[0045]４分木データ構造の各ノードは、対応するＣＵのためのシンタックスデータを与え得る。たとえば、４分木内のノードは、そのノードに対応するＣＵがサブＣＵに分割されるか否かを示すスプリットフラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるか否かに依存し得る。ＣＵがこれ以上分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的な分割が存在しない場合でも、リーフＣＵの４つのサブＣＵはリーフＣＵと呼ばれる。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵはリーフＣＵとも呼ばれることになる。
【００４７】
[0046]ＣＵは、ＣＵがサイズの特異性を有しないことを別にすれば、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され得、各子ノードは、次に親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コーディングされたビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、またはＴＵ、あるいは他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００４８】
[0047]ＣＵは、コーディングノードと、コーディングノードと関連付けられた予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから、いくつかの事例では、６４×６４ピクセル以上の最大値を有するツリーブロックのサイズにまで及び得る。各ＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを包含し得る。ＣＵに関連付けられたシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵがスキップモード符号化もしくは直接モード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかで異なり得る。ＰＵは、形状が非方形に区分され得る。ＣＵに関連するシンタックスデータはまた、たとえば、４分木に従うＣＵの１つまたは複数のＴＵへの区分を記述し得る。ＴＵは、形状が方形または非方形（たとえば、長方形）であり得る。
【００４９】
[0048]ＨＥＶＣ規格は、異なるＣＵに対しては異なり得る、ＴＵに従った変換を可能にする。ＴＵは通常、区分されたＬＣＵに対して定義される所与のＣＵ内のＰＵのサイズに基づくサイズにされるが、必ずそうであるとは限らない。ＴＵは、一般に、ＰＵと同じサイズであるか、またはそれよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）と呼ばれる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは、変換ユニット（ＴＵ）と呼ばれ得る。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され、その変換係数は量子化され得る。
【００５０】
[0049]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモードで符号化されるとき、ＰＵに関するデータは、ＰＵに対応するＴＵに関するイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）内に含まれ得る。別の例として、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの分解能（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述することができる。
【００５１】
[0050]１つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含み得る。変換ユニットは、上で論じられたように、ＲＱＴ（ＴＵの４分木構造とも呼ばれる）を使用して規定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵに、さらに分割され得る。ＴＵがこれ以上分割されないとき、そのＴＵはリーフＴＵと呼ばれ得る。一般に、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードが、概して、リーフＣＵのすべてのＴＵの予測値を計算するために適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部分と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、ＰＵよりも大きくまたは小さくなり得る。イントラコーディングの場合、ＰＵは、同じＣＵのための対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００５２】
[0051]その上、リーフＣＵのＴＵは、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造にも関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、別段に明記されていない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００５３】
[0052]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャの１つもしくは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。図１のビデオエンコーダ２０は、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作し得る。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有することができ、指定されたコーディング規格に従ってサイズが異なり得る。
【００５４】
[0053]ＨＥＶＣは、様々なＰＵサイズにおける予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＥＶＣは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズにおけるイントラ予測と、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称なＰＵサイズにおけるインター予測とをサポートする。ＨＥＶＣは、また、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための、非対称な区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％および７５％に区分される。２５％パーティションに対応するＣＵの部分は、「ｎ」、ならびにそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」の指示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部で２Ｎ×０．５Ｎ  ＰＵ、および下部で２Ｎ×１．５Ｎ  ＰＵに水平に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００５５】
[0054]本開示では、「ＮｘＮ」および「Ｎ×Ｎ（Ｎ  ｂｙ  Ｎ）」は、垂直方向の寸法および水平方向の寸法に関するビデオブロックのピクセル寸法、たとえば、１６ｘ１６ピクセルまたは１６×１６（１６  ｂｙ１６）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、垂直方向にＮピクセル、水平方向にＮピクセルを有し得、Ｎが非負の整数値を表す。ブロック中のピクセルは、行および列に配置され得る。さらに、ブロックは、必ずしも、水平方向において垂直方向と同一個数のピクセルを有するとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００５６】
[0055]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングに続いて、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＣＵのための変換係数を生成するために、ＴＵを変換し得る。
【００５７】
[0056]変換係数を生成するための変換の後で、ビデオエンコーダ２０は変換係数の量子化を実行し得る。量子化は、その最も広義の通常の意味を有することを意図された広義の用語である。一実施形態では、量子化は、さらなる圧縮を提供する、係数を表すのに使用されるデータの量をおそらくは減らすために変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、ｎビットの値は、量子化中にｍビットの値に切り捨てられ得、ここで、ｎはｍよりも大きい。
【００５８】
[0057]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化された変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（したがって、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化された変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は、適応スキャンを実行することができる。１次元ベクトルを形成するために、量子化された変換係数を走査した後、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化し得る。
【００５９】
[0058]ビデオエンコーダ２０は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびＧＯＰベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはＧＯＰヘッダ中で、ビデオデコーダ３０へ送り得る。ＧＯＰシンタックスデータは、それぞれのＧＯＰ中のいくつかのフレームを記述し得、フレームシンタックスデータは、対応するフレームを符号化するために使用された符号化／予測モードを示し得る。
【００６０】
[0059]図２は、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ２０のユニットのうちの１つまたは複数は、本開示の技法のいずれかまたはすべてを実行するように構成され得る。一例として、変換処理ユニット５２は、本開示で説明する変換技法のいずれかまたはすべてを実行するように構成され得る。しかしながら、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々な構成要素間で共有され得る。いくつかの例では、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実行するように構成され得る。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単一方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【００６１】
[0060]ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信し得る。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含み得る。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図示せず）を含めることもできる。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタに加えて、追加のフィルタ（ループ内またはループ後）も使用され得る。そのようなフィルタは、簡潔のために図示されないが、所望される場合、加算器５０の出力を（インループフィルタとして）フィルタ処理し得る。
【００６２】
[0061]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信し得る。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を提供するために、１つまたは複数の参照フレーム内の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行し得る。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータのブロックごとに適当なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【００６３】
[0062]その上、区分ユニット４８は、前のコーディングパスでの前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット４８は、最初にフレームまたはスライスをＬＣＵに区分し、レート歪み分析（たとえば、レート歪み最適化）に基づいて、ＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、サブＣＵへのＬＣＵの区分を示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと１つまたは複数のＴＵとを含み得る。
【００６４】
[0063]モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモードのうちの１つ、すなわち、イントラまたはインターを選択し、得られたイントラコーディングまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照フレームとして使用するための符号化されたブロックを再構成するために加算器６２に与え得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などの、シンタックス要素をエントロピー符号化ユニット５６に与え得る。
【００６５】
[0064]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照フレームメモリ６４に記憶されている参照ピクチャの、サブ整数ピクセル位置に対する値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの４分の１ピクセル位置、８分の１ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００６６】
[0065]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックに関するＰＵの動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照フレームメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００６７】
[0066]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在のビデオブロックのＰＵの動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。動き推定ユニット４２はルーマ成分に対して動き推定を実行し得、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用し得る。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。シンタックス要素は、ビデオシーケンスレベル、ビデオフレームレベル、ビデオスライスレベル、ビデオＣＵレベル、またはビデオＰＵレベルのうちの１つまたは複数における予測情報を表し得る。たとえば、動き補償ユニット４４は、ＣＵ、ＰＵ、およびＴＵのサイズを含むビデオブロック情報、ならびにイントラモード予測に関する動きベクトル情報を示すシンタックス要素を生成し得る。
【００６８】
[0067]イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測または計算し得る。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば別々の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用すべき適当なイントラ予測モードを選択し得る。
【００６９】
[0068]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの間で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（または誤差）の量、ならびに、符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックの歪みおよびレートから比を計算し得る。
【００７０】
[0069]ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【００７１】
[0070]ビデオエンコーダ２０は、モード選択ユニット４０からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行し得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的には類似の変換などの変換を残差ブロックに適用し、残差変換係数の値を備えるビデオブロックを生成し得る。変換処理ユニット５２は、概念的にはＤＣＴと同様の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換が使用され得る。変換処理ユニット５２は、次いで、変換を残差ブロックに適用し、残差変換係数のブロックを生成し得る。変換処理ユニット５２は、残差情報をピクセル値領域から周波数領域などの変換領域に変換するために変換を使用し得る。より具体的には、変換の適用前に、ＴＵは、ピクセル領域中に残差ビデオデータを備え得、変換の適用後に、ＴＵは、周波数領域中に残差ビデオデータを表す、変換係数行列中に含まれ得る変換係数を備え得る。
【００７２】
[0071]従来、ビデオエンコーダ２０は、実装されるビデオ圧縮規格によってサポートされるＴＵの様々なサイズの各々について別個のコンテキストモデルを維持する。ＨＥＶＣ規格の場合、ビデオ符号化効率を向上させるために、たとえば、３２×３２から１２８×１２８までの追加の変換ユニットサイズが使用され得るが、追加のＴＵサイズによって、追加の変換ユニットサイズの各々にコンテキストモデルを維持するためにメモリおよび計算要件も増大する。場合によっては、ＴＵサイズが大きくなるにつれて使用されるコンテキストが多くなることがあり、したがって、より大きいＴＵサイズ用のより多くのコンテキストを維持するためにメモリおよび計算要件も増大する可能性がある。この問題の影響を低減するために、変換処理ユニット５２は、行列乗算中に順変換を簡略化することに関して上記および以下で説明する方法（たとえば、以下で、図４〜図７に関して説明する係数ゼロアウト方法）のいずれかを実行するようにさらに構成され得る。
【００７３】
[0072]一実施形態では、変換係数をゼロ化するプロセスは、ゼロに等しい変換係数行列内の変換係数のサブセットの値を設定することを含む。一実施形態では、ゼロアウトされた変換係数は、計算されることも破棄されることもなく、その代わり、ゼロアウトされた変換係数は、単にゼロに等しく設定され、記憶すべき値も符号化すべき値も有しない。一実施形態では、変換係数の所定の行列が記憶される（たとえば、３２×３２の行列）が、そのような係数のより小さいサブセットのみ（たとえば、８×８、１６×１６など）が、順変換を実行するために使用される（たとえば、メモリにロードされる）。別の実施形態では、すべての係数が、最初にメモリにロードされるが、そのような係数のうちのいくつかの係数が、その後、ゼロに設定される。また別の実施形態では、所定の変換係数行列は変更されないが、行列を使用して行列乗算を実行するように構成されたプロセッサは、係数行列内の係数のロケーションに応じて、いくつかの乗算演算中にまたはその結果としてゼロ値を使用するようにさらに構成される。すべてのそのような実装形態は、ゼロアウトされた変換係数またはゼロアウトされた行列を使用することか、あるいは変換係数をゼロ化またはゼロアウトすることと呼ばれることがある。
【００７４】
[0073]本開示によれば、ゼロアウトされた変換係数は、一般に、変換係数行列中の保持される、より低い周波数変換係数と比較してより高い周波数の変換係数である。高周波数変換係数は、通常、符号化されるべきビデオブロックと予測ブロックとの間の非常に小さいピクセル差分に対応する残差ビデオデータを表す。したがって、高周波数変換係数に含まれる残差ビデオデータを非常に少なくすることができ、値をゼロに等しく設定しても、復号されるビデオの品質に対する影響は無視できる程度の影響しかない。
【００７５】
[0074]一例として、変換処理ユニット５２は、変換係数行列中の変換係数の３／４（「外部領域」）をゼロアウトし得る。ビデオエンコーダ２０は、次いで、行列乗算中に変換係数の保持された１／４（「内部領域」）をバッファするだけでよいことがある。このようにして、変換処理ユニット５２は、元はサイズが３２×３２の変換係数行列内のサイズが１６×１６の有意係数をもつゼロアウトされた行列を生成し得る。このプロセスについて、図４〜図７中でさらに説明し、実証する。
【００７６】
[0075]上記で説明した例では、変換処理ユニット５２は、変換係数値の所定の行列をロードし、行列が、所定のサイズ（たとえば、３２×３２）であり、次いで、それらの係数のうちの一部（「内部領域」、たとえば、１６×１６の左上部分）をゼロアウトして、ゼロアウトされた行列、たとえば、３２×３２の変換係数行列の元のサイズの１／４を生成するように構成された。他の場合には、変換処理ユニット５２は、コーディングプロセスのコーディング複雑さ要件に応じてゼロアウトする係数の割合を高くするかまたは低くすることによって異なる「内部領域」を有するゼロアウトされた行列を生成するように構成され得る。さらに、場合によっては、変換処理ユニット５２は、長方形領域または任意の他の形状の領域を有する「内部領域」を生成するように構成され得る。
【００７７】
[0076]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、ビットレートをさらに低減するために変換係数を量子化し得る。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【００７８】
[0077]量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングし得る。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化技法を実行し得る。コンテキストベースエントロピー符号化の場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、または後で送信するかもしくは取り出すためにアーカイブされ得る。
【００７９】
[0078]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成し得る。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、参照フレームメモリ６４に記憶するために再構成されたビデオブロックを生成するのに、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算し得る。再構成されたビデオブロックは、次いで、後続のビデオフレーム中のブロックをインターコーディングするための参照ブロックとして動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【００８０】
[0079]図３は、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。本開示で説明する技法は、ビデオデコーダ３０の様々な構成要素を利用し得る。いくつかの例では、プロセッサ（図示せず）が、技法のいずれかまたはすべてを実行するように構成され得る。
【００８１】
[0080]図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２とイントラ予測ユニット７４とをさらに含む予測ユニット８１と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、ビデオエンコーダ２０（たとえば、図１および図２参照）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて、予測データを生成し得、一方、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて、予測データを生成し得る。
【００８２】
[0081]従来、ビデオエンコーダ３０は、実装されるビデオ圧縮規格によってサポートされるＴＵの様々なサイズの各々について別個のコンテキストモデルを維持することになる。ＨＥＶＣ規格の場合、ビデオ符号化効率を向上させるために、たとえば、３２×３２から１２８×１２８までの追加の変換ユニットサイズが利用され得るが、追加のＴＵサイズによって、追加の変換ユニットサイズの各々にコンテキストモデルを維持するためにメモリおよび計算要件も増大する。
【００８３】
[0082]ＴＵサイズを大きくする中間バッファリング要件を低減させるために、本開示で説明する技法は、図２のビデオエンコーダ２０を用いて変換係数行列中に含まれる変換係数のうちの高周波数のサブセットをゼロアウトすることを含み得る。変換係数行列内のゼロアウトされた変換係数は、単に、ゼロに等しくなるように設定され得る。したがって、エントロピー復号ユニット７０は、通常第１のサイズを有する変換係数行列内の第２のサイズを有する保持される係数ブロックに関連する符号化された係数を表す符号化されたビットストリームを受信し得る。エントロピー復号ユニット７０は、係数を、第１のサイズを有する変換係数行列内の保持される係数ブロックに復号し得る。変換係数行列は、次いで、第２のサイズの保持される係数ブロック内の係数と変換係数行列内の残りの係数を表すゼロとを含み得る。
【００８４】
[0083]このようにして、ビデオエンコーダ２０において変換係数をゼロアウトするプロセスは、ビデオデコーダ３０において逆変換を実行するときにＴＵサイズを大きくする中間バッファリング要件を低減させ得る。一例として、逆変換ユニット７８は、サイズが３２×３２の変換係数行列内のサイズが１６×１６の保持される係数ブロック中の変換係数に、第１の方向、たとえば、行方向の１次元領域逆変換を適用し得る。行の逆変換の後に、ビデオデコーダ３０は、変換係数行列の２分の１、たとえば、３２×１６の係数のみを備える保持される係数ブロック内の係数から変換された中間残差データをバッファリングするだけでよいことがある。逆変換ユニット７８は、次いで、ＴＵ中の中間残差データに、第２の方向、たとえば列方向の１次元逆変換を適用し得る。このようにして、逆変換ユニット７８は、１６×１６のサイズを有する保持される係数ブロック中の残差データを含め、ＴＵ中の残りの残差データを表すためにゼロを追加することによって、元はサイズが３２×３２の変換係数行列を生成し得る。
【００８５】
[0084]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す、符号化されたビデオビットストリームを受信し得る。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、次いで、動きベクトルと他のシンタックス要素とを動き補償ユニット７２に転送し得る。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルで構文要素を受信し得る。
【００８６】
[0085]ビデオスライスが、イントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、現在のフレームまたはピクチャの以前に復号されたブロックから、シグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームが、インターコーディングされた（たとえば、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされる時に、動き補償ユニット７２は、エントロピー復号ユニット７０から受け取られた動きベクトルと他の構文要素とに基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成し得る。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照フレームメモリ８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構成し得る。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用し得る。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用し得る。
【００８７】
[0086]動き補償ユニット７２は、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、参照ブロックのサブ整数ピクセルの補間された値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ２０によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット７２は、受信したシンタックス要素から、ビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために、その補間フィルタを使用し得る。
【００８８】
[0087]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（ｉｎｖｅｒｓｅ  ｑｕａｎｔｉｚｅ）、たとえば、逆量子化（ｄｅ−ｑｕａｎｔｉｚｅ）し得る。逆量子化処理は、量子化の程度、および同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライスの中の各ビデオブロックに対してビデオデコーダ３０によって計算された量子化パラメータＱＰＹの使用を含み得る。
【００８９】
[0088]逆変換ユニット７８は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的には類似の逆変換プロセスを、変換係数に適用し得る。動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成し得る。加算器８０は、この加算演算を実行し得る。ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためのデブロッキングフィルタも適用され得る。（コーディングループ中またはコーディングループ後のいずれかの）他のループフィルタも、ピクセルの遷移を平滑化し、または場合によっては、ビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、参照ピクチャメモリ８２に記憶され得、この参照ピクチャメモリ８２は、後続の動き補償のために使用される参照ピクチャを記憶し得る。参照フレームメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上に後で提示するために復号ビデオを記憶し得る。
【００９０】
[0089]図４に、ピクセル領域から係数領域にビデオブロックを変換するために使用され得る変換係数行列４００（または「係数行列」または「行列」）の一例を示す。変換係数行列４００は、特定の行列サイズ（たとえば、３２×３２）を形成するために、一連の行（たとえば、３２行）と一連の列（たとえば、３２列）とを含んでいる。変換係数行列４００に図示された各ボックス４０５は、個別の変換係数値（図示せず）を含んでおり、各値は、数値範囲をもつ整数である。便宜上、ただ１つのボックス４０５を標示する。図示の例では、変換係数行列４００は、１０２４個の個別の変換係数値（たとえば、３２×３２）を含む。総変換係数行列４００サイズは、内部領域４１０と外部領域４２０とを一緒に含む。この例では、内部領域４１０は、Ｍ×Ｌ領域によって表されるように、変換係数行列４００の左上部分（たとえば、それの全体の１／４）として定義され得る。
【００９１】
[0090]一実施形態では、変換処理ユニット（たとえば、図２からの変換処理ユニット５２）は、図６〜図７に関してさらに説明するように、外部領域４２０をゼロアウトすべきかどうかを決定するために内部領域４１０を処理するように構成され得る。これを達成するために、変換処理ユニット５２は、内部領域４１０の計算された出力とピクセル領域出力計算とを数学的に操作することによって外部領域４２０の出力と変換係数行列４００の総出力との間の差を決定し得る。
【００９２】
[0091]上記で説明したように、内部領域４１０の外側に位置する係数（たとえば、外部領域４２０中の係数）は、本開示の方法を使用して行われた決定に基づいて、以下の図６および図７に関してさらに説明するようにゼロアウトされ得る。これに反して、内部領域４１０内に位置する係数は、ゼロアウトされずに残り得る。変換係数行列４００の左上の暗い方形の境界は、変換係数行列４００中のゼロアウトされた係数とゼロアウトされていない係数との間の境界を表し得る。内部領域４１０のサイズ（たとえば、Ｍ×Ｌ）および形状（たとえば、方形）は、コーディングプロセスのコーディング複雑さ要件に基づいて選択され得る。内部領域４１０は、方形形状、長方形形状、弧形形状、三角形状、または任意の他の形状であり得る。
【００９３】
[0092]この例では、変換処理ユニット５２は、元はサイズが３２×３２］の変換係数行列４２０内のＭ×Ｌ（たとえば、この場合は１６×１６）のサイズをもつ内部領域４１０を生成するように構成され得る。変換係数行列４００は、３２×３２よりも小さいか、またはそれよりも大きいサイズを有し得る（たとえば、１６×１６または６４×６４）。内部領域４１０が定義されると、変換処理ユニット５２は、内部領域４１０の範囲外にある変換係数行列４００内のすべての係数（たとえば、外部領域４２０中の係数のすべて）をゼロアウトし得る。ゼロアウトされたサブセット（たとえば、変換係数行列４００中の影のないブロック）は、変換係数行列４００の内部領域４１０内の係数よりも高い周波数値をもつ係数を含み得る。これに反して、内部領域４１０内に位置する係数は、より低い空間周波数をもつ係数を含み得る。
【００９４】
[0093]変換係数の３／４をゼロアウトすることによって、変換処理ユニット５２は、上記で説明したように、内部領域４１０内の内部のＭ×Ｌ個の係数のみを計算することによって行列乗算中に実行される計算を著しく低減し、簡略化し得る。たとえば、内部領域４１０が、３２×３２の変換係数行列のうちの１６×１６と定義されると、内部領域４１０の外側の係数のすべてをゼロアウトすることによって、変換処理ユニット５２は、対応する割合で（たとえば、この例では最大６２．５％）それの計算を低減し得る。このようにして、これらの技法は、計算リソース要件を低減し、ビデオエンコーダ２０のコーディング効率を増加し得る。ゼロを乗じるのに必要な計算リソースが、非ゼロを乗じるのに必要なリソースよりも少なくなるので、これらの技法は、特に、（たとえば、それの行列乗算を実行するために、一般に、３２×３２の変換係数を使用し得るＨＥＶＣ規格内の）より大きい変換ユニットサイズのために有用であり得る。
【００９５】
[0094]いくつかの実装形態では、外部領域４２０中の係数は、すべての場合に（たとえば、「盲目的に」）ゼロアウトされ得る。しかしながら、係数を盲目的にゼロアウトすることは、変換処理ユニット５２の高いパフォーマンスロスを生じ得る。したがって、他の実装形態では、外部領域４２０中の係数は、たとえば、ビデオエンコーダ２０の変換処理ユニット５２および／または他の構成要素が所定の方法に従った後に適応的にゼロアウトされ得る。これらの方法について、以下の図６および図７に関して説明する。
【００９６】
[0095]図５Ａおよび図５Ｂに、ピクセル領域から係数領域にビデオブロックを変換するために使用され得る、それぞれ、変換係数行列５００Ａおよび５００Ｂのさらなる例を示す。図４に関して説明した変換係数行列４００の機能と同様に、変換係数行列５００Ａおよび５００Ｂは、それらのそれぞれの外部領域中の係数をゼロアウトすべきかどうかを決定するために外部領域の出力と総出力（または内部領域）との間の差を決定するために処理され得る。
【００９７】
[0096]図４において説明した例に反して、変換係数行列５００Ａまたは５００Ｂは、対応する部分に分割され得る。この例では、変換係数行列５００Ａ（たとえば、３２×３２の行列）は、１６個の等しい部分（たとえば、サイズが８×８の各々）に分割され得、変換係数行列５００Ｂ（たとえば、別の３２×３２の行列）は、４つの等しい部分（たとえば、サイズが１６×１６の各々）に分割され得る。いくつかの実装形態では、それらの部分は、等しいサイズでないことがある。変換係数行列５００Ａまたは５００Ｂが、部分に分割されると、内部領域は、各部分の左上の影つき部分（たとえば、それらの部分の総サイズの２５％）の合計として定義され得る。変換係数行列５００Ａおよび５００Ｂの左上の影つき部分（たとえば、対応する内部領域を構成する合計）を、５１０Ａ＿Ａ〜５１０Ａ＿Ｐとして、５１０Ｂ＿Ａおよび５１０Ｂ＿Ｄとして標示する。便宜上、変換係数行列５００Ａの左上の影つき部分のためのラベルのうちのいくつかのみが示されている。一実装形態では、Ａ×Ａが、変換係数行列５００Ａまたは５００Ｂの部分の各々のサイズを表す場合、それらの部分の各々の左上の影つき部分が、
【００９８】
【数５】
2017513342.tif 000007
【００９９】
のサイズによって表され得る。変換係数行列５００Ａの場合、部分は、一部は、５２０Ａ＿Ａ〜５２０Ａ＿Ｐによって表され得（便宜上、すべての部分を標示していない）、上記で説明したように、それらの対応する左上の部分は、影つき領域５１０Ａ＿Ａ〜５１０Ａ＿Ｐによって表され得る（再び、すべての領域を標示していない）。したがって、変換係数行列５００Ａのための内部領域は、影つき領域５１０Ａ＿Ａ〜５１０Ａ＿Ｐの合計として表され得る（以下「内部領域Ａ」と呼ぶ）。同様に、変換係数行列５００Ｂの場合、部分は、５２０Ｂ＿Ａ〜５２０Ｂ＿Ｄによって表され得、それらの対応する左上の部分は、影つき領域５２０Ｂ＿Ａ〜５２０Ａ＿Ｄによって表され得る。したがって、変換係数行列５００Ｂのための内部領域は、影つき領域５１０Ｂ＿Ａ〜５１０Ｂ＿Ｄの合計として表され得る（以下「内部領域Ｂ」と呼ぶ）。
【０１００】
[0097]上記で図４に関して説明したように、内部領域ＡまたはＢのサイズおよび形状は、コーディングプロセスのためのコーディング複雑さ要件に基づいて選択され得る。一実施形態では、より小さいサイズの内部領域を選択することは、計算要件を減少させる（たとえば、計算の速度を上げる）が、同じく、全体的なパフォーマンスを低下させ得る（たとえば、最終的なピクチャ品質を低下させ得る）。別の実施形態では、より大きいサイズの内部領域を選択することは、計算要件を増加させる（たとえば、計算の速度を低下させる）が、同じく、全体的なパフォーマンスを増加させ得る（たとえば、最終的なピクチャ品質を増加させ得る）。変換係数行列５００Ａまたは５００Ｂの内部に図示された各ボックスは、変換行列中の対応する変換係数を表し得る。内部領域ＡまたはＢの外側に位置する係数は、本開示の方法を使用して行われた決定に基づいて、以下の図６および図７に関してさらに説明するようにゼロアウトされ得る。これに反して、内部領域ＡまたはＢ内に位置する係数は、ゼロアウトされずに残り得る。変換係数行列５００Ａまたは５００Ｂの部分の各々の左上の暗い方形の境界は、行列中のゼロアウトされた係数とゼロアウトされていない係数との間の境界を表し得る。他の実施形態では、個別の内部領域区域（たとえば、変換係数行列５００Ａの５１０Ａ＿Ａ〜５１０Ａ＿Ｐ）は、方形形状、長方形形状、弧形形状、三角形状、または任意の他の形状であり得る。
【０１０１】
[0098]この例では、変換処理ユニット（たとえば、図２からの変換処理ユニット５２）は、それぞれ、変換係数行列５００Ａまたは５００Ｂ内の内部領域ＡまたはＢ内の係数に関連する出力を計算するように構成され得る。変換係数行列５００Ａまたは５００Ｂは、３２×３２よりも小さいか、またはそれよりも大きいサイズを有し得る（たとえば、１６×１６または６４×６４）。この例では、内部領域Ａは、１６個の４×４ブロックを含み、これは、互いに隣接して構成される場合、１６×１６のブロックを形成することになる。同様に、内部領域Ｂは、４つの８×８ブロックからなり、これは、互いに隣接して構成される場合、１６×１６のブロックを形成することになる。内部領域ＡまたはＢが定義されたとき、変換処理ユニット５２は、内部領域ＡまたはＢの範囲外にある変換係数行列５００Ａまたは５００Ｂ内のすべての係数をゼロアウトし得る。ゼロアウトされたサブセット（たとえば、変換係数行列５００Ａまたは５００Ｂ中の影のないブロック）は、変換係数行列５００Ａまたは５００Ｂの内部領域ＡまたはＢ内の係数よりも高い周波数値をもつ係数を含み得る。これに反して、内部領域ＡまたはＢ内に位置する係数は、より低い空間周波数をもつ係数を含み得る。
【０１０２】
[0099]図４で説明したように、係数行列５２０の変換係数の３／４をゼロアウトすることによって、変換処理ユニット５２は、内部領域ＡまたはＢ内の内部のＭ×Ｌ個の係数だけを計算することによって行列乗算中にそれの計算を著しく低減し得る。たとえば、内部領域ＡまたはＢが、図５Ａおよび図５Ｂに示すように定義されるとき、変換処理ユニット５２は、対応する割合（たとえば、これらの例では最大６２．５％）だけそれの計算を低減し得る。このようにして、これらの技法は、計算リソース要件を低減し、ビデオエンコーダ２０のコーディング効率を増加し得る。これは、たとえば、ＨＥＶＣ規格内のより大きい変換ユニットサイズ、たとえば３２×３２から１２８×１２８までに特に有用であり得る。
【０１０３】
[00100]いくつかの実装形態では、内部領域ＡまたはＢの外側の係数は、すべての場合に（たとえば、「盲目的に」）ゼロアウトされ得る。しかしながら、係数を盲目的にゼロアウトすることは、変換処理ユニット５２の高いパフォーマンスロスを生じ得る。したがって、他の実装形態では、内部領域ＡまたはＢの外側の係数は、たとえば、ビデオエンコーダ２０の変換処理ユニット５２および／または他の構成要素が所定の方法に従った後に適応的にゼロアウトされ得る。これらの方法について、以下の図６および図７に関して説明する。
【０１０４】
[00101]図６に、図４に関して説明したように、変換処理ユニット（たとえば、図２の変換処理ユニット５２）が、行列乗算中に変換係数行列の係数のサブセットをゼロアウトすべきかどうかを決定するための１つの方法のフローチャート６００を示す。本方法は、「モード決定プロセス」と呼ばれることがある。上記で説明したように、係数を盲目的にゼロアウトすることは、変換処理ユニット５２の高いパフォーマンスロスを生じ得る。このフローチャート（および図７に示すフローチャート）は、変換処理ユニット５２および／またはビデオエンコーダ２０が、しきい値と比較した出力の差に基づいて係数を適応的にゼロアウトし得る２つの方法を表す。
【０１０５】
[00102]ブロック６０５において、変換処理ユニット５２は、残差ピクセル領域行列と固定順方向変換行列とを用いて方法を開始する。一実装形態では、順方向変換行列は、ＨＥＶＣにおいて使用される３２×３２の順方向変換行列であり得る。変換処理ユニット５２は、残差ピクセル領域行列を係数領域行列に変換するために固定順方向変換行列を使用し得る。変換処理ユニット５２は、図４に関して上記で説明した順変換の簡略化された、ゼロアウトされたバージョンを使用して変換することによって係数領域における行列出力の一部分だけを計算することによってそれの計算要件を低減し得る。係数領域における総出力がピクセル領域における総出力に等しくなるので（式（１））、これが可能になる。
【０１０６】
[00103]一例として、ピクセル領域中の総出力（ＰP）から係数領域中の内部領域（たとえば、図４に関して説明した内部領域）の出力（ＰI）を減算すると、係数領域中の内部領域の外側の出力（ＰO）として解釈され得る値が生じ得る（式（２））。ＰIにこの値を加算すると、係数領域中の総出力（ＰC）が生じ得る（式（３））。一例では、それぞれ、ＰPおよびＰIは、以下の式（４）および式（５）に従って計算され得る。式（２）〜式（５）はそれぞれ、それらのそれぞれの変数を計算するただ１つの例を表すことを理解されたい。ＰC、ＰO、ＰPおよびＰIはまた、任意の数の他の方法で計算され得、これは、様々な方法で変数のいずれかまたはすべてを操作することを含み得る。さらに、上記の出力計算のすべては、誤差平方和（ＳＳＥ：sum of squared errors）または絶対差分和（ＳＡＤ）に基づき得る。
【０１０７】
【数６】
2017513342.tif 000008
【０１０８】
【数７】
2017513342.tif 000009
【０１０９】
【数８】
2017513342.tif 000010
【０１１０】
【数９】
2017513342.tif 000011
【０１１１】
【数１０】
2017513342.tif 000012
【０１１２】
[00109]上記のプロセスを適用する一例として、次いで、ブロック６１０において、変換処理ユニット５２は、ピクセル領域中の変換ブロック全体の出力（たとえば、ピクセル領域中の総出力、ＰP）を計算し得る。次いで、ブロック６１５において、変換行列係数のサブセット（たとえば、図４〜図５に関して説明した内部領域）を使用して、変換処理ユニット５２は、係数領域中の内部領域の出力（たとえば、ＰI）を計算し得る。一実装形態では、変換行列係数のサブセットは、図４〜図５に関して上記で説明した内部領域であり得、ここで、内部領域の外側にある係数は、ゼロアウトされ得る。別の実装形態では、変換処理ユニット５２は、ゼロのアレイを含めてメモリからいくつかの係数をロードし、次いで、係数のＭ×Ｎの行と列のサブセットだけを処理しながら行列乗算を実行し得る。いずれの場合も、次いで、ブロック６１９において、ＰIを使用して、変換処理ユニット５２は、（たとえば、ＰPからＰIを減算することによって）係数領域中の外部領域の出力（たとえば、上記でおよび図４〜図５に関して説明した外部領域の出力、ＰO）を推定し得る。上記のプロセスは、一例にすぎず、いくつかの実装形態では、変換処理ユニット５２は、他の方法または順序で上記のステップまたは計算を実行し得る。
【０１１３】
[00110]一例では、外部領域の出力を決定すると、次いで、ブロック６２０において、変換処理ユニット５２は、外部領域の出力が所定のしきい値と何らかの推定された出力との積よりも小さいかどうかを決定し得る（たとえば、ＰO＜Ｔｈｒｅｓｈ＊ＰP、ＰI＞Ｔｈｒｅｓｈ＊ＰP、ＰI＞Ｔｈｒｅｓｈ＊ＰO、または任意の他の同等の数学的比較）。そうである場合、次いで、ブロック６２５において、変換処理ユニット５２は、上記でおよび図４に関して説明した変換を実行するために縮約された（たとえば、ゼロアウトされた）変換行列を使用し得る。そうでない場合、次いで、ブロック６３０において、変換処理ユニット５２は、変換を実行するために縮約されていない（たとえば、ゼロアウトされていない）変換行列を使用し得る。いずれの場合も、変換処理ユニット５２は、ブロック６９０において本方法を終了する。
【０１１４】
[00111]図７に、図４および／または図５に関して説明したように、変換処理ユニット（たとえば、図２の変換処理ユニット５２）が、行列乗算中に変換係数行列の係数のサブセットをゼロアウトすべきかどうかを決定するためのさらなる方法のフローチャート７００を示す。本方法は、「モード決定プロセス」と呼ばれることがある。図６において説明した方法に反して、この例では、変換処理ユニット５２は、図４において説明した内部領域によるゼロアウト方法が過剰なパワー損失を生じるであろうと決定する場合、変換処理ユニット５２は、依然として、縮約されていない変換行列を使用する必要がないことがある。代わりに、変換処理ユニット５２は、最初に、より単純な変換（たとえば、４×４または８×８の変換など、アダマール変換またはより小さいサイズの変換）を使用することによってゼロアウト方法を適格とするために異なる内部領域（たとえば、図５に関して説明した内部領域）を使用しようと試み得る。
【０１１５】
[00112]次に、その結果として、ブロック７０５において、変換処理ユニット５２は、この場合も、残差ピクセル領域行列と固定順方向変換行列とを用いて方法を開始する。一実装形態では、順方向変換行列は、ＨＥＶＣにおいて使用される３２×３２の順方向変換行列であり得る。変換処理ユニット５２は、図４〜図６、式（１）〜式（３）に関して上記で説明した順変換の簡略化された、ゼロアウトされたバージョンを使用して変換することによって、または何らかの他の適切な式を使用することによって係数領域における行列出力の一部分だけを計算することによってそれの計算要件を低減し得る。ＰPとＰIとのための計算は、以下で説明するようにさらに異なり得る。さらに、上記の出力計算のすべては、誤差平方和（ＳＳＥ）または絶対差分和（ＳＡＤ）に基づき得る。
【０１１６】
[00113]ＰPおよびＰIのための計算は、選定された内部領域のサイズおよびロケーションに応じて異なり得る。この例では、変換処理ユニット５２が、図５Ａに示した内部領域を使用することを選定したと仮定する。したがって、図５に関して上記で説明したように、変換係数行列は、１６個の等しい８×８の部分に分割されており、各々が、左上の４×４の部分を含んでおり、それらの部分のすべてが、変換係数行列のすべての内側部分に合計される。この状況があるとすれば、ＰPおよびＰIは、それぞれ、式（６）および式（７）において表されるように計算され得るが、任意の数の他の適切な方法でも計算され得る。
【０１１７】
【数１１】
2017513342.tif 000013
【０１１８】
【数１２】
2017513342.tif 000014
【０１１９】
[00116]次いで、ブロック７１０、７１５、および７１９において、変換処理ユニット５２は、それぞれ、ＰP、ＰI、およびＰOを計算し得る。これを達成するために、変換処理ユニット５２は、上記で説明した式を使用し得るか、またはそれは、任意の数の他の適切な計算または数学的操作を使用し得る。
【０１２０】
[00117]一例では、外部領域の出力を決定すると、次いで、ブロック７２０において、変換処理ユニット５２は、外部領域の出力が所定のしきい値と何らかの推定された出力との積よりも小さいかどうかを決定し得る（たとえば、ＰO＜Ｔｈｒｅｓｈ＊ＰP）。そうである場合、次いで、ブロック７２５において、変換処理ユニット５２は、上記でおよび図４に関して説明した変換を実行するために縮約された（たとえば、ゼロアウトされた）変換行列を使用し得る。
【０１２１】
[00118]そうでない場合、図６において説明した方法に反して、次いで、ブロック７３０において、変換処理ユニット５２は、内部領域が所定の回数以前に変更されたかどうかを決定し得る。そうでない場合、次いで、ブロック７４０において、変換処理ユニット５２は、内部領域のサイズ、位置、またはその両方（たとえば、図５に示した内部領域）を変更し得、次いで、ブロック７１５に戻る。しかしながら、変換処理ユニット５２が、所定の回数よりも多くこのステップをすでに実行している場合、次いで、ブロック７３０において、変換処理ユニット５２は、変換を実行するために、縮約されていない（たとえば、ゼロアウトされていない）変換行列を使用し、ブロック７９０において本方法を終了し得る。
【０１２２】
[00119]上記例に応じて、本明細書で説明した技法のいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行され得、全体的に追加、マージ、または除外され得る（たとえば、すべての説明した行為またはイベントが本技法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して同時に実行され得る。
【０１２３】
[00120]１つまたは複数の例では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれの任意の組合せで実施され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体、または（２）信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１２４】
[00121]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含むのではなく、非一時的な有形の記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【０１２５】
[00122]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、あるいは他の同等の集積回路またはディスクリート論理回路などの１つもしくは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指すことがある。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成されるか、または複合コーデックに組み込まれる、専用のハードウェアモジュールおよび／またはソフトウェアモジュール内で提供され得る。また、本技法は、１つまたは複数の回路または論理要素で十分に実装され得る。
【０１２６】
[00123]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わされるか、または相互動作ハードウェアユニットの集合によって提供され得る。
【０１２７】
[00124]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲に含まれる。
【図１】
2017513342.tif 000015
【図２】
2017513342.tif 000016
【図３】
2017513342.tif 000017
【図４】
2017513342.tif 000018
【図５Ａ】
2017513342.tif 000019
【図５Ｂ】
2017513342.tif 000020
【図６】
2017513342.tif 000021
【図７】
2017513342.tif 000022
【手続補正書】
【提出日】平成28年11月16日(2016.11.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータのブロックを記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサであって、
完全変換係数行列中に含まれる複数の変換係数値から前記ピクセル領域中のビデオデータの前記ブロックの全出力値を決定することと、前記完全変換係数行列は、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することを行うように構成され、前記完全変換係数行列は、内部領域および外部領域を有する、
前記完全変換係数行列の前記複数の変換係数値のサブセットを含む縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、前記完全変換係数行列の同じ内部領域の前記係数値に対応するゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列の前記複数の変換係数値の前記サブセットに基づいて前記係数領域中のビデオデータの前記ブロックの部分出力値を決定することと、
前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が所定のしきい値よりも小さいとき、前記縮約変換係数行列を使用し、前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が前記所定のしきい値以上であるとき、前記完全変換係数行列を使用して、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することと、
ビデオデータの前記変換されたブロックを符号化することと
を行うように構成された前記プロセッサと
を備える、ビデオエンコーダ。
【請求項２】
ビデオデータの前記ブロックが、複数のルーマピクセル値を備える、ここにおいて、前記プロセッサが、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するように構成された、請求項１に記載のビデオエンコーダ。
【請求項３】
ビデオデータの前記ブロックが、３２ピクセル×３２ピクセルのサイズを有する、請求項１に記載のビデオエンコーダ。
【請求項４】
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、請求項１に記載のビデオエンコーダ。
【請求項５】
前記プロセッサが、前記メモリ中に前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項６】
前記プロセッサが、前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項７】
前記プロセッサが、前記縮約変換係数行列を使用してビデオデータの前記ブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、ビデオデータの前記ブロックの前記部分出力値を決定するようにさらに構成された、請求項１に記載のビデオエンコーダ。
【請求項８】
前記所定のしきい値は、しきい値と前記全出力との積である、請求項１に記載のビデオエンコーダ。
【請求項９】
前記プロセッサは、前記部分出力値が前記積以上であるとき、前記内部領域のサイズ、位置、またはその両方を変更するようにさらに構成された、請求項８に記載のビデオエンコーダ。
【請求項１０】
ビデオを符号化する方法であって、
ビデオデータのブロックを記憶することと、
完全変換係数行列中に含まれる複数の変換係数値から前記ピクセル領域中のビデオデータの前記ブロックの全出力値を決定することと、前記完全変換係数行列は、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することを行うように構成され、前記完全変換係数行列は、内部領域および外部領域を有する、
前記完全変換係数行列の前記複数の変換係数値のサブセットを含む縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、前記完全変換係数行列の同じ内部領域の前記係数値に対応するゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列の前記複数の変換係数値の前記サブセットに基づいて前記係数領域中のビデオデータの前記ブロックの部分出力値を決定することと、
前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が所定のしきい値よりも小さいとき、前記縮約変換係数行列を使用し、前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が前記所定のしきい値以上であるとき、前記完全変換係数行列を使用して、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することと、
ビデオデータの前記変換されたブロックを符号化することと
を備える方法。
【請求項１１】
ビデオデータの前記ブロックが、複数のルーマピクセル値を備え、前記方法が、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することをさらに備える、請求項１０に記載の方法。
【請求項１２】
ビデオデータの前記ブロックが、３２ピクセル×３２ピクセルのサイズを有する、請求項１０に記載の方法。
【請求項１３】
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、請求項１０に記載の方法。
【請求項１４】
前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定することをさらに備える、請求項１０に記載の方法。
【請求項１５】
前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定することをさらに備える、請求項１０に記載の方法。
【請求項１６】
前記縮約変換係数行列を使用してビデオデータの前記ブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、ビデオデータの前記ブロックの前記部分出力値を決定することをさらに備える、請求項１０に記載の方法。
【請求項１７】
前記所定のしきい値は、しきい値と前記全出力との積である、請求項１０に記載の方法。
【請求項１８】
前記部分出力値が前記積以上であるとき、前記内部領域のサイズ、位置、またはその両方を変更することをさらに備える、請求項１７に記載の方法。
【請求項１９】
実行されたとき、装置に、
ビデオデータのブロックを記憶することと、
完全変換係数行列中に含まれる複数の変換係数値から前記ピクセル領域中のビデオデータの前記ブロックの全出力値を決定することと、前記完全変換係数行列は、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することを行うように構成され、前記完全変換係数行列は、内部領域および外部領域を有する、
前記完全変換係数行列の前記複数の変換係数値のサブセットを含む縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、前記完全変換係数行列の同じ内部領域の前記係数値に対応するゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列の前記複数の変換係数値の前記サブセットに基づいて前記係数領域中のビデオデータの前記ブロックの部分出力値を決定することと、
前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が所定のしきい値よりも小さいとき、前記縮約変換係数行列を使用し、前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が前記所定のしきい値以上であるとき、前記完全変換係数行列を使用して、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することと、
ビデオデータの前記変換されたブロックを符号化することと
を行わせるコードを備える非一時的コンピュータ可読媒体。
【請求項２０】
ビデオデータの前記ブロックが、複数のルーマピクセル値を備え、実行されたとき、前記装置に、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することを行わせるコードをさらに備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
実行されたとき、前記装置に、前記縮約変換係数行列を使用してビデオデータの前記ブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、ビデオデータの前記ブロックの前記部分出力値を決定することを行わせるコードをさらに備える、請求項１９に記載のコンピュータ可読媒体。
【請求項２２】
前記所定のしきい値は、しきい値と前記全出力との積である、請求項１９に記載のコンピュータ可読媒体。
【請求項２３】
ビデオを符号化するための装置であって、
ビデオデータのブロックを記憶するための手段と、
完全変換係数行列中に含まれる複数の変換係数値から前記ピクセル領域中のビデオデータの前記ブロックの全出力値を決定するための手段と、前記完全変換係数行列は、ピクセル領域から係数領域にビデオデータの前記ブロックを変換することを行うように構成され、前記完全変換係数行列は、内部領域および外部領域を有する、
前記完全変換係数行列の前記複数の変換係数値のサブセットを含む縮約変換係数行列を決定するための手段と、ここにおいて、前記縮約変換係数行列が、前記完全変換係数行列の同じ内部領域の前記係数値に対応するゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列の前記複数の変換係数値の前記サブセットに基づいて前記係数領域中のビデオデータの前記ブロックの部分出力値を決定するための手段と、
前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が所定のしきい値よりも小さいとき、前記縮約変換係数行列を使用し、前記部分出力値から推定された前記係数領域中の前記外部領域の出力値が前記所定のしきい値以上であるとき、前記完全変換係数行列を使用して、ピクセル領域から係数領域にビデオデータの前記ブロックを変換するための手段と、
ビデオデータの前記変換されたブロックを符号化するための手段と
を備える、装置。
【請求項２４】
ビデオデータの前記ブロックが、複数のルーマピクセル値を備え、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するための手段をさらに備える、請求項２３に記載の装置。
【請求項２５】
前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、ビデオデータの前記ブロックの前記部分出力値を決定するための手段をさらに備える、請求項２３に記載の装置。
【請求項２６】
前記所定のしきい値は、しきい値と前記全出力との積である、請求項２３に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
[00124]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオブロックを記憶するように構成されたメモリと、
前記メモリと通信しているプロセッサであって、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を行うように構成されたプロセッサと
を備える、ビデオエンコーダ。
［Ｃ２］
前記ビデオブロックが、複数のルーマピクセル値を備える、ここにおいて、前記プロセッサが、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するように構成された、Ｃ１に記載のビデオエンコーダ。
［Ｃ３］
前記ビデオブロックが、３２ピクセル×３２ピクセルのサイズを有する、Ｃ１に記載のビデオエンコーダ。
［Ｃ４］
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、Ｃ１に記載のビデオエンコーダ。
［Ｃ５］
前記プロセッサが、前記メモリ中に前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定するようにさらに構成された、Ｃ１に記載のビデオエンコーダ。
［Ｃ６］
前記プロセッサが、前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定するようにさらに構成された、Ｃ１に記載のビデオエンコーダ。
［Ｃ７］
前記プロセッサが、前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定するようにさらに構成された、Ｃ１に記載のビデオエンコーダ。
［Ｃ８］
前記プロセッサは、前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するようにさらに構成された、Ｃ１に記載のビデオエンコーダ。
［Ｃ９］
前記プロセッサは、前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するようにさらに構成された、Ｃ８に記載のビデオエンコーダ。
［Ｃ１０］
前記プロセッサは、前記部分出力が前記積以上であるとき、前記内部領域サイズ、位置、またはその両方を変更するようにさらに構成された、Ｃ８に記載のビデオエンコーダ。
［Ｃ１１］
ビデオを符号化する方法であって、
ビデオブロックを記憶することと、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を備える方法。
［Ｃ１２］
前記ビデオブロックが、複数のルーマピクセル値を備え、前記方法が、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１３］
前記ビデオブロックが、３２ピクセル×３２ピクセルのサイズを有する、Ｃ１１に記載の方法。
［Ｃ１４］
前記完全変換係数行列が、３２個の係数×３２個の係数のサイズを有する、ここにおいて、前記縮約変換係数行列内部領域が、前記完全変換係数行列の左上の１６×１６の係数値と同じである、Ｃ１１に記載の方法。
［Ｃ１５］
前記完全変換係数行列を記憶し、前記内部領域の外側のすべての係数値をゼロに変換することによって前記縮約変換係数行列を決定することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１６］
前記内部領域内にある前記完全変換係数行列の前記値のみを記憶することによって前記縮約変換係数行列を決定することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１７］
前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１８］
前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することをさらに備える、Ｃ１１に記載の方法。
［Ｃ１９］
前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することをさらに備える、Ｃ１８に記載の方法。
［Ｃ２０］
前記部分出力が前記積以上であるとき、前記内部領域サイズ、位置、またはその両方を変更することをさらに備える、Ｃ１８に記載の方法。
［Ｃ２１］
実行されたとき、装置に、
ビデオブロックを記憶することと、
前記ビデオブロックの全出力値を決定することと、
縮約変換係数行列を決定することと、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定することと、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換することと、
前記変換されたビデオブロックを符号化することと
を行わせるコードを備える非一時的コンピュータ可読媒体。
［Ｃ２２］
前記ビデオブロックが、複数のルーマピクセル値を備え、実行されたとき、前記装置に、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定することを行わせるコードをさらに備える、Ｃ２１に記載のコンピュータ可読媒体。
［Ｃ２３］
実行されたとき、前記装置に、前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定することを行わせるコードをさらに備える、Ｃ２１に記載のコンピュータ可読媒体。
［Ｃ２４］
実行されたとき、前記装置に、前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することを行わせるコードをさらに備える、Ｃ２１に記載のコンピュータ可読媒体。
［Ｃ２５］
実行されたとき、前記装置に、前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換することを行わせるコードをさらに備える、Ｃ２４に記載のコンピュータ可読媒体。
［Ｃ２６］
ビデオを符号化するための装置であって、
ビデオブロックを記憶するための手段と、
前記ビデオブロックの全出力値を決定するための手段と、
縮約変換係数行列を決定するための手段と、ここにおいて、前記縮約変換係数行列が、完全変換係数行列の同じ内部領域のゼロまたは非ゼロ値の内部領域とゼロ値の外部領域とを備える、ここにおいて、前記縮約変換係数行列と前記完全変換係数行列とが、同じサイズを有する、
前記縮約変換係数行列を使用して前記ビデオブロックの部分出力値を決定するための手段と、
前記全出力値および部分出力値に基づいて前記縮約変換係数行列を使用してピクセル領域から係数領域に前記ビデオブロックを変換するための手段と、
前記変換されたビデオブロックを符号化するための手段と
を備える、装置。
［Ｃ２７］
前記ビデオブロックが、複数のルーマピクセル値を備え、前記ルーマピクセル値の方形を合計することによって前記全出力値を決定するための手段をさらに備える、Ｃ３１に記載の装置。
［Ｃ２８］
前記縮約変換係数行列を使用して前記ビデオブロックを変換し、前記変換されたブロック内の値の方形を合計することによって、前記ビデオブロックの前記部分出力を決定するための手段をさらに備える、Ｃ３１に記載の装置。
［Ｃ２９］
前記部分出力がしきい値と前記全出力との積よりも小さいとき、前記縮約変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するための手段をさらに備える、Ｃ３１に記載の装置。
［Ｃ３０］
前記部分出力が前記積以上であるとき、前記完全変換係数行列を使用して前記ピクセル領域から前記係数領域に前記ビデオブロックを変換するための手段をさらに備える、Ｃ２９に記載の装置。
【国際調査報告】
2017513342.tif 000023
2017513342.tif 000024
2017513342.tif 000025