(57)【特許請求の範囲】
【請求項１】
符号化されたデータを復号する方法であって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該方法は、
該符号化されたデータから該画像のブロックに対してピクセルデータを再構築することと、
非ブロック化フィルタを該ブロックに対して該再構築されたピクセルデータに適用することにより、非ブロック化された再構築ブロックを生じさせることと、
該非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、該符号化されたデータおよび予測計算から該画像の後続のブロックに対するピクセルデータを再構築することと
を含む、方法。
【請求項２】
前記非ブロック化フィルタを適用することは、該非ブロック化フィルタを前記ブロックの左および上の境界に適用することを含む、請求項１に記載の方法。
【請求項３】
前記非ブロック化フィルタを適用することは、前記ブロックの少なくとも１つの境界の境界強度を評価することと、該境界強度の評価に基づいて該非ブロック化フィルタを構成することとを含む、請求項１または請求項２に記載の方法。
【請求項４】
データのビットストリームとして前記符号化されたデータを受信することをさらに含み、ブロックに対してピクセルデータを再構築することは、該ブロックに対する量子化されたデータを取得するように該ビットストリームをエントロピー復号することと、該ブロックに対する変換領域係数を取得するように該量子化されたデータを逆量子化することと、該ブロックに対する残余を取得するように該変換領域係数を逆変換することと、該残余および隣接ブロックの少なくとも１つのピクセルから該ブロックに対して該ピクセルデータを生成することとを含む、請求項１〜３のうちのいずれか一項に記載の方法。
【請求項５】
前記ブロックは、４×４ピクセルである、請求項１〜４のうちのいずれか一項に記載の方法。
【請求項６】
前記画像は、ビデオ内にフレームを備える、請求項１〜５のうちのいずれか一項に記載の方法。
【請求項７】
コーディング順の複数のブロックを有する画像のブロックベースの符号化の方法であって、該画像内でのブロックの再構築は、該画像内で該コーディング順に後続のブロックを符号化するときに、予測計算において使用され、該方法は、
該ブロックの該非ブロック化が、該後続のブロックに対する該予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを該画像の該再構築されたブロックに適用することを含む、方法。
【請求項８】
前記非ブロック化フィルタを適用することは、非ブロック化されたブロックを作成するように、該非ブロック化フィルタを前記再構築されたブロックの左および上の境界のみに適用することを含む、請求項７に記載の方法。
【請求項９】
前記非ブロック化されたブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、前記画像の前記後続のブロックを符号化するために残余データを計算することをさらに含む、請求項８に記載の方法。
【請求項１０】
複数のブロックを有する画像を符号化するエンコーダであって、該エンコーダは、
プロセッサと、
該画像を記憶するメモリと、
メモリ内に記憶され、請求項７〜９のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する符号化アプリケーションと
を備える、エンコーダ。
【請求項１１】
前記エンコーダは、
スペクトル変換を前記ブロックに適用して、変換領域係数を生成するように構成される変換プロセッサと、
該変換領域係数の各々を量子化して、量子化された係数を生じるように構成される量子化器と、
該量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成されるエントロピーエンコーダと
をさらに備える、請求項１０に記載のエンコーダ。
【請求項１２】
符号化されたデータを復号するデコーダであって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該デコーダは、
プロセッサと、
メモリと、
メモリ内に記憶され、請求項１〜６のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する復号アプリケーションと
を備える、デコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
（分野）
本願は、概して、画像またはビデオのコーディングおよび復号に関し、具体的には、イントラコード化された画像またはフレームのインループ非ブロック化（ｄｅｂｌｏｃｋｉｎｇ）を行う方法、エンコーダ、およびデコーダに関する。
【背景技術】
【０００２】
ビデオ符号化のための現在の最先端技術は、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣビデオコーディング規格である。それは、主要プロファイル、基準プロファイル、およびその他を含む、異なる用途に対するいくつかの異なるプロファイルを定義する。
【０００３】
ブロックベースのコーディングプロセスを使用するＨ．２６４を含む、画像およびビデオを符号化／復号するためのいくつかの規格がある。これらのプロセスでは、画像またはフレームが、一般的には４×４または８×８のブロックに分けられ、ブロックが係数にスペクトル的に変換され、量子化され、エントロピー符号化される。多くの場合、変換されているデータは、実際のピクセルデータではないが、予測演算後の残余データである。予測は、フレーム内、すなわち、フレーム／画像内のブロック間（空間予測とも呼ばれる）、またはフレーム間、すなわち、フレームの間（動き予測とも呼ばれる）となり得る。
【０００４】
符号化および復号との関連で生じる問題は、イントラコード化された空間予測が、画像内の隣接ブロックの中の再構築されたピクセルに依存することである。結果として、イントラコード化されたブロックの再構築された値の誤差は、速度ひずみ性能に悪影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
改良型のエンコーダ、デコーダ、および符号化または復号する方法を提供することが有利となるであろう。
【課題を解決するための手段】
【０００６】
本願は、画像およびビデオ符号化／復号の改良を達成する方法およびエンコーダ／デコーダを説明する。具体的には、本願は、変換領域係数を適合量子化する方法を説明する。各ブロックがＮ個の係数を有する、いくつかのブロックを有する画像について、各係数に対する量子化ステップサイズが動的に選択され、したがって、異なるステップサイズを異なる係数に適用してもよい、量子化器をもたらす。選択されたステップサイズは、画像／フレーム内の全てのブロックに使用される。一側面では、ステップサイズは、画像／フレームが復号されるときにピクセル領域ひずみの平衡を保つことに基づいて選択される。
【０００７】
本願はさらに、インループ非ブロック化をイントラコード化された画像／フレームに適用するように構成される、方法およびエンコーダ／デコーダを説明する。一側面では、非ブロック化シーケンスで後続のブロックを復号する前に、非ブロック化フィルタが、イントラコード化されたブロックの復号されたピクセルに適用される。
【０００８】
本願はさらに、改訂コンテキストモデルを使用して、画像／フレームデータをエントロピー符号化するように構成される、方法およびエンコーダ／デコーダを説明する。一側面では、量子化された係数のブロックが、係数を量子化する際に使用される、増大する量子化ステップサイズに基づいて動的に決定される、コーディング順で符号化される。また、または代替として、他の要因も、コーディング順を動的に調整するために使用されてもよい。
【０００９】
一側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明し、エンコーダは、ブロックベースのコーディングを画像に適用するように構成される。方法は、変換領域係数を生成するように、スペクトル変換をブロックに適用するステップと、係数のそれぞれに対する量子化ステップサイズを選択するステップであって、選択は、復号されるときにブロック内で所定の平均ピクセル領域ひずみを実現することに基づく、ステップと、選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するステップと、画像データのビットストリームを生成するように、量子化された係数を符号化するステップと、ビットストリームを出力するステップとを含む。
【００１０】
さらなる側面では、本願は、画像を符号化するためのエンコーダを説明する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、ブロックベースのコーディングを画像に適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。符号化アプリケーションは、スペクトル変換をブロックに適用して変換領域係数を生成するように構成される、変換プロセッサと、係数のそれぞれに対する量子化ステップサイズを選択するように構成される、適合量子化器モジュールであって、選択は、復号されるときにブロック内で所定の平均ピクセル領域ひずみを実現することに基づく、適合量子化器モジュールと、そのそれぞれの選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するように構成される、量子化器と、量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成される、エントロピーエンコーダとを含む。
【００１１】
別の側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明し、エンコーダは、ブロックベースのコーディングを画像に適用するように構成される。方法は、画像のブロックについて、係数の変換領域行列を生成するように、スペクトル変換をブロックに適用するステップと、量子化行列を使用して係数を量子化するステップであって、量子化行列の要素は、ピクセル領域中で復号されるブロック内の所定の均一なひずみ分布に基づいて選択される、ステップと、量子化された係数を符号化するステップとを含む。
【００１２】
別の側面では、本願は、デコーダを使用してイントラコード化された画像を復号するための方法を開示し、画像は、複数のブロックを有する。方法は、イントラコード化された画像を符号化するデータのビットストリームを受信するステップと、データのビットストリームからの画像のブロックに対するピクセルデータを再構築するステップと、非ブロック化された再構築ブロックを生じるように、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用するステップと、非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、データのビットストリームからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するステップとを含む。
【００１３】
さらに別の側面では、本願は、エンコーダを使用して画像を符号化するための方法を説明する。画像は、複数のブロックを有し、エンコーダは、コーディング順でブロックベースのコーディングを画像のブロックに適用するように構成され、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックをコード化するときに予測計算で使用される。方法は、ブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するステップを含む。
【００１４】
別の側面では、本願は、画像を符号化するためのエンコーダを説明し、画像は、複数のブロックを有する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、コーディング順でブロックベースのコーディングを画像のブロックに適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含み、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックをコード化するときに予測計算で使用される。符号化アプリケーションは、再構築されたブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するように構成される、非ブロック化構成要素を含む。
【００１５】
さらなる側面では、本願は、イントラコード化された画像を復号するためのデコーダを提供し、画像は、複数のブロックを有する。デコーダは、プロセッサと、イントラコード化された画像を符号化するデータのビットストリームを受信し、復号された画像を出力するための通信システムと、メモリに記憶され、ブロックベースの復号を適用して、ビットストリームからの画像のブロックに対するピクセルデータを再構築するようにプロセッサを構成するための命令を含有する、復号アプリケーションとを含む。復号アプリケーションは、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用して、非ブロック化された再構築ブロックを生じるように構成される、非ブロック化モジュールを含む。復号アプリケーションは、非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、データのビットストリームからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するように構成される。
【００１６】
なおもさらなる側面では、本願は、エンコーダにおいて画像をエントロピー符号化するための方法を提供し、画像は、複数のピクセルのブロックを含有し、エンコーダは、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換する。方法は、量子化された変換領域係数のブロックに対するコーディング順を決定するステップであって、コーディング順は、量子化された変換領域係数の少なくとも１つの特性に基づいて決定される、ステップと、符号化された画像データのビットストリームを生成するように、画像に対して決定されるコーディング順で、量子化された変換領域係数のブロックのそれぞれをエントロピー符号化するステップと、ビットストリームを出力するステップとを含む。
【００１７】
さらに別の側面では、本願は、画像を符号化するためのエンコーダを提供し、画像は、複数のピクセルのブロックを含有する。エンコーダは、プロセッサと、画像を記憶するメモリと、符号化された画像データのビットストリームを出力するための通信システムと、メモリに記憶され、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。符号化アプリケーションは、量子化された変換領域係数のブロックに対するコーディング順を決定するように構成される、コーディング順モジュールを含み、コーディング順は、量子化された変換領域係数の少なくとも１つの特性に基づいて決定され、符号化アプリケーションは、ビットストリームを生成するように、コーディング順モジュールによって画像に対して決定されるコーディング順で、量子化された変換領域係数のブロックのそれぞれをエントロピー符号化するように構成される。
【００１８】
一側面では、本願は、複数のピクセルのブロックを有する画像のブロックベースの符号化のための方法を提供する。方法は、ブロックベースの変換の各係数位置に対する量子化ステップサイズを選択するステップであって、選択は、ピクセルのブロック当たりの所定のピクセル領域ひずみを実現することに基づく、ステップと、各ピクセルのブロックに対する一組の変換領域係数を生成するように、ブロックベースの変換をピクセルのブロックのそれぞれに適用するステップと、各一組の変換領域係数について、量子化された係数を生じるように、その変換領域係数の係数位置に対する選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化するステップと、符号化された画像データのビットストリームを生成するように、量子化された係数を符号化するステップとを含む。
【００１９】
別の側面では、本願は、複数のピクセルのブロックを有する画像を符号化するためのエンコーダを提供する。エンコーダは、プロセッサと、ピクセルのブロックを記憶するメモリと、メモリに記憶される符号化アプリケーションであって、ブロックベースの変換の各係数位置に対する量子化ステップサイズを選択することであって、選択は、復号されるときにピクセルのブロック当たりの所定のピクセル領域ひずみを実現することに基づく、選択すること、各ピクセルのブロックに対する一組の変換領域係数を生成するように、ブロックベースの変換をピクセルのブロックのそれぞれに適用すること、各一組の変換領域係数について、量子化された係数を生じるように、その変換領域係数の係数位置に対する選択された量子化ステップサイズを使用して、変換領域係数のそれぞれを量子化すること、および符号化された画像データのビットストリームを生成するように、量子化された係数を符号化することによって、画像を符号化するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。
【００２０】
さらなる側面では、本願は、符号化されたデータを復号する方法を提供し、符号化されたデータは、ピクセルデータの複数のブロックを有する画像を含む。方法は、ピクセルデータの各ブロックに対する一組の量子化された変換領域係数を取得するように、およびブロックベースの変換の各係数位置に対する量子化ステップサイズを取得するように、符号化されたデータをエントロピー復号するステップと、各一組の量子化された変換領域係数について、変換領域係数を生じるように、その量子化された変換領域係数の係数位置に対する量子化ステップサイズを使用して、量子化された変換領域係数のそれぞれを逆量子化するステップと、ピクセルデータのブロックを再構築するように、変換領域係数を逆変換するステップとを含む。
【００２１】
さらなる側面では、本願は、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、ピクセルデータの複数のブロックを有する画像を含む。デコーダは、プロセッサと、メモリと、メモリに記憶される復号アプリケーションであって、ピクセルデータの各ブロックに対する一組の量子化された変換領域係数を取得するように、およびブロックベースの変換の各係数位置に対する量子化ステップサイズを取得するように、符号化されたデータをエントロピー復号すること、各一組の量子化された変換領域係数について、変換領域係数を生じるように、その量子化された変換領域係数の係数位置に対する量子化ステップサイズを使用して、量子化された変換領域係数のそれぞれを逆量子化すること、およびピクセルデータのブロックを再構築するように、変換領域係数を逆変換することによって、符号化されたデータを復号するようにプロセッサを構成するための命令を含有する、復号アプリケーションとを含む。
【００２２】
さらに別の側面では、本願は、符号化されたデータを復号するための方法を説明し、符号化されたデータは、ピクセルデータの複数のブロックを有する、イントラコード化された画像を含む。方法は、符号化されたデータからの画像のブロックに対するピクセルデータを再構築するステップと、非ブロック化された再構築ブロックを生じるように、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用するステップと、非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、符号化されたデータからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するステップとを含む。
【００２３】
さらなる側面では、本願は、コーディング順での複数のブロックを有する画像のブロックベースの符号化のための方法を提供し、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックを符号化するときに予測計算で使用される。方法は、ブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するステップを含む。
【００２４】
別の側面では、本願は、複数のブロックを有する画像を符号化するためのエンコーダを提供する。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、コーディング順でブロックベースの符号化を画像のブロックに適用するようにプロセッサを構成するための命令を含有する、符号化アプリケーションとを含み、画像内のブロックの再構築は、画像内でコーディング順に後続のブロックを符号化するときに予測計算で使用され、符号化アプリケーションは、再構築されたブロックの非ブロック化が、後続のブロックの予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを画像の再構築されたブロックに適用するように構成される、非ブロック化構成要素を含む。
【００２５】
さらに別の側面では、本願は、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、複数のピクセルのブロックを有する、イントラコード化された画像を含む。デコーダは、プロセッサと、メモリと、メモリに記憶され、符号化されたデータからの画像のブロックに対するピクセルデータを再構築し、非ブロック化フィルタをブロックに対する再構築されたピクセルデータに適用して、非ブロック化された再構築ブロックを生じ、非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、符号化されたデータからの画像の後続のブロックおよび予測計算に対するピクセルデータを再構築するように、プロセッサを構成するための命令を含有する、復号アプリケーションとを含む。
【００２６】
さらなる側面では、本願は、複数のピクセルのブロックを有する画像をエントロピー符号化するための方法を説明し、ブロックのそれぞれは、予測および量子化された変換領域係数のブロックに変換されている。方法は、各ブロックの量子化された変換領域係数がエントロピー符号化される、コーディング順を決定するステップであって、コーディング順は、量子化された変換領域係数の少なくとも１つの特性に基づいて決定される、ステップと、符号化された画像データのビットストリームを生成するように決定されるコーディング順で、量子化された変換領域係数をエントロピー符号化するステップとを含む。
【００２７】
別の側面では、本願は、複数のピクセルのブロックを有する画像を符号化するためのエンコーダを開示する。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、ブロックのそれぞれを、予測および量子化された変換領域係数のブロックに変換し、各ブロックの量子化された変換領域係数がエントロピー符号化される、コーディング順であって、コーディング順は、量子化された変換領域係数の少なくとも１つの特性に基づいて決定される、コーディング順を決定し、符号化された画像データのビットストリームを生成するように決定されるコーディング順で、量子化された変換領域係数をエントロピー符号化するように、プロセッサを構成するための命令を含有する、復号化アプリケーションとを含む。
【００２８】
さらなる側面では、本願は、符号化されたデータをエントロピー復号するための方法を説明し、符号化されたデータは、予測と、画像のピクセルの各ブロックに対する量子化された変換領域係数のブロックとを含む。方法は、符号化されたデータからコーディング順データを抽出するステップと、各ブロックの量子化された変換領域係数がエントロピー符号化されたコーディング順を決定するステップであって、コーディング順は、コーディング順データに基づいて決定される、ステップと、コーディング順で量子化された変換領域係数を回収するように、符号化されたデータをエントロピー復号するステップとを含む。
【００２９】
さらなる側面では、本願は、画像である、符号化されたデータを復号するためのデコーダを説明し、符号化されたデータは、予測と、画像のピクセルの各ブロックに対する量子化された変換領域係数のブロックとを含む。エンコーダは、プロセッサと、画像を記憶するメモリと、メモリに記憶され、符号化されたデータからコーディング順データを抽出し、各ブロックの量子化された変換領域係数がエントロピー符号化されたコーディング順であって、コーディング順は、コーディング順データに基づいて決定される、コーディング順を決定し、コーディング順で量子化された変換領域係数を回収するように、符号化されたデータをエントロピー復号するように、プロセッサを構成するための命令を含有する、符号化アプリケーションとを含む。
【００３０】
本願の他の側面および特徴は、添付図面と併せて、以下の実施例の説明を検討することにより、当業者によって理解されるであろう。
本発明は、例えば、以下を提供する。
（項目１）
符号化されたデータを復号する方法であって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該方法は、
該符号化されたデータから該画像のブロックに対してピクセルデータを再構築することと、
非ブロック化フィルタを該ブロックに対して該再構築されたピクセルデータに適用することにより、非ブロック化された再構築ブロックを生じさせることと、
該非ブロック化された再構築ブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、該符号化されたデータから該画像の後続のブロックおよび予測計算に対してピクセルデータを再構築することと
を含む、方法。
（項目２）
上記非ブロック化フィルタを適用することは、該非ブロック化フィルタを上記ブロックの左および上の境界に適用することを含む、項目１に記載の方法。
（項目３）
上記非ブロック化フィルタを適用することは、上記ブロックの少なくとも１つの境界の境界強度を評価することと、該境界強度の評価に基づいて該非ブロック化フィルタを構成することとを含む、項目１または項目２に記載の方法。
（項目４）
データのビットストリームとして上記符号化されたデータを受信することをさらに含み、ブロックに対してピクセルデータを再構築することは、該ブロックに対する量子化されたデータを取得するように該ビットストリームをエントロピー復号することと、該ブロックに対する変換領域係数を取得するように該量子化されたデータを逆量子化することと、該ブロックに対する残余を取得するように該変換領域係数を逆変換することと、該残余および隣接ブロックの少なくとも１つのピクセルから該ブロックに対して該ピクセルデータを生成することとを含む、項目１〜３のうちのいずれか一項に記載の方法。
（項目５）
上記ブロックは、４×４ピクセルである、項目１〜４のうちのいずれか一項に記載の方法。
（項目６）
上記画像は、ビデオ内にフレームを備える、項目１〜５のうちのいずれか一項に記載の方法。
（項目７）
コーディング順の複数のブロックを有する画像のブロックベースの符号化の方法であって、該画像内でのブロックの再構築は、該画像内で該コーディング順に後続のブロックを符号化するときに、予測計算において使用され、該方法は、
該ブロックの該非ブロック化が、該後続のブロックに対する該予測計算の前に発生するように、イントラコーディングループ内で、非ブロック化フィルタを該画像の該再構築されたブロックに適用することを含む、方法。
（項目８）
上記非ブロック化フィルタを適用することは、非ブロック化されたブロックを作成するように、該非ブロック化フィルタを上記再構築されたブロックの左および上の境界のみに適用することを含む、項目７に記載の方法。
（項目９）
上記非ブロック化されたブロックからの少なくとも１つの非ブロック化されたピクセルに基づいて、上記画像の上記後続のブロックを符号化するために残余データを計算することをさらに含む、項目８に記載の方法。
（項目１０）
複数のブロックを有する画像を符号化するエンコーダであって、該エンコーダは、
プロセッサと、
該画像を記憶するメモリと、
メモリ内に記憶され、項目７〜９のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する符号化アプリケーションと
を備える、エンコーダ。
（項目１１）
上記符号化アプリケーションは、
空間変換を上記ブロックに適用して、変換領域係数を生成するように構成される変換プロセッサと、
該変換領域係数の各々を量子化して、量子化された係数を生じるように構成される量子化器と、
該量子化された係数を符号化して、符号化された画像データのビットストリームを生成するように構成されるエントロピーエンコーダと
をさらに備える、項目１０に記載のエンコーダ。
（項目１２）
符号化されたデータを復号するデコーダであって、該符号化されたデータは、複数のピクセルのブロックを有するイントラコード化された画像を含み、該デコーダは、
プロセッサと、
メモリと、
メモリ内に記憶され、項目１〜６のうちのいずれか一項に記載の方法を行うように該プロセッサを構成する命令を含有する復号アプリケーションと
を備える、デコーダ。
【図面の簡単な説明】
【００３１】
ここで、一例として、本願の実施形態例を示す添付図面を参照する。
【図１】図１は、ブロック図形態で、ビデオを符号化するためのエンコーダを示す。
【図２】図２は、ブロック図形態で、ビデオを復号するためのデコーダを示す。
【図３】図３は、サイズ４×４のブロックに対する予測を計算する際に使用される、隣接ピクセルを図示する。
【図４】図４は、サイズ１６×１６のブロックに対する予測を計算する際に使用される、隣接ピクセルを図示する。
【図５】図５は、４×４ブロック例に対する非ブロック化フィルタの影響を示す。
【図６】図６は、フローチャート形態で、復号プロセスを示す。
【図７】図７は、フローチャート形態で、ビデオを符号化するための方法例を示す。
【図８】図８は、フローチャート形態で、ビデオを符号化するための別の方法例を示す。
【図９】図９は、適合量子化器モジュールを有するエンコーダのブロック図を示す。
【図１０】図１０は、４×４ブロックについてＨ．２６４によって特定されるコーディング順を図示する。
【図１１】図１１は、動的コーディング順例を図示する。
【図１２】図１２は、フローチャート形態で、ビデオ符号化プロセスにおいて量子化された残余をエントロピーコード化する方法を図示する。
【図１３】図１３は、エンコーダの実施形態例の簡易ブロック図を示す。
【図１４】図１４は、デコーダの実施形態例の簡易ブロック図を示す。
【図１５】図１５は、フローチャート形態で、符号化されたデータを復号する方法を示す。
【００３２】
同様の構成要素を表すために、同様の参照数字が、異なる図で使用されていてもよい。
【発明を実施するための形態】
【００３３】
以下の説明では、Ｈ．２６４規格を参照して実施形態例を説明する。当業者であれば、本願はＨ．２６４に限定されないが、イントラコード化されたフレーム／スライスを採用する他のビデオコーディング／復号規格に適用可能であってもよいことを理解するであろう。また、本願は、必ずしもビデオコーディング／復号に限定されず、画像コーディング／復号に適用可能であってもよいことも理解されるであろう。
【００３４】
以下の説明では、フレームおよびスライスという用語は、いくらか交換可能に使用される。当業者であれば、Ｈ．２６４規格の場合、フレームが１つ以上のスライスを含有してもよいことを理解するであろう。また、適用可能なビデオコーディング規格の特定の要件に応じて、ある符号化／復号動作がフレーム毎に行われ、いくらかはスライス毎に行われることも理解されるであろう。任意の特定の実施形態では、適用可能なビデオコーディング規格は、以下で説明される動作が、場合によっては、フレームおよび／またはスライスとの関連で行われるかどうかを決定してもよい。したがって、当業者であれば、本開示に照らして、本明細書で説明される特定の動作またはプロセス、およびフレーム、スライス、または両方への言及が、所与の実施形態に対するフレーム、スライス、または両方に適用可能であるかどうかを理解するであろう。
【００３５】
ここで、ブロック図形態でビデオを符号化するためのエンコーダ１０を示す、図１を参照する。また、ブロック図形態でビデオを復号するためのデコーダ５０を示す、図２も参照する。本明細書で説明されるエンコーダ１０およびデコーダ５０はそれぞれ、１つ以上の処理要素およびメモリを含有する、特定用途向けまたは汎用コンピュータデバイス上で実装されてもよいことが理解されるであろう。場合によっては、エンコーダ１０またはデコーダ５０によって行われる動作は、例えば、特定用途向け集積回路を介して、または汎用プロセッサによって実行可能な記憶されたプログラム命令を介して、実装されてもよい。デバイスは、例えば、基本デバイス機能を制御するためのオペレーティングシステムを含む、付加的なソフトウェアを含んでもよい。その内側でエンコーダ１０またはデコーダ５０が実装されてもよい、デバイスおよびプラットフォームの範囲は、以下の説明を考慮すると、当業者によって理解されるであろう。
【００３６】
エンコーダ１０は、ビデオソース１２を受信し、符号化されたビットストリーム１４を生じる。デコーダ５０は、符号化されたビットストリーム１４を受信し、復号されたビデオフレーム１６を出力する。エンコーダ１０およびデコーダ５０は、いくつかのビデオ圧縮規格と適合して動作するように構成されてもよい。例えば、エンコーダ１０およびデコーダ５０は、Ｈ．２６４／ＡＶＣ準拠であってもよい。他の実施形態では、エンコーダ１０およびデコーダ５０は、Ｈ．２６４／ＡＶＣ規格の進化を含む、他のビデオ圧縮規格に適合してもよい。
【００３７】
エンコーダ１０は、空間予測器２１と、コーディングモードセレクタ２０と、変換プロセッサ２２と、量子化器２４と、エントロピーエンコーダ２６とを含む。当業者によって理解されるように、コーディングモードセレクタ２０は、ビデオソースに対する適切なコーディングモード、例えば、対象フレーム／スライスがＩ、Ｐ、またはＢ型であるかどうか、およびフレーム／スライス内の特定のマクロブロックがインターまたはイントラコード化されるかどうかを決定する。変換プロセッサ２２は、空間領域データに変換を行う。具体的には、変換プロセッサ２２は、ブロックベースの変換を適用して、空間領域データをスペクトル成分に変換する。例えば、多くの実施形態では、離散余弦変換（ＤＣＴ）が使用される。場合によっては、離散正弦変換またはその他等の他の変換が使用されてもよい。ブロックベースの変換は、マクロブロックのサイズに応じて、マクロブロックまたはサブブロック基準で行われる。Ｈ．２６４規格では、例えば、一般的な１６×１６マクロブロックは、１６個の４×４変換ブロックを含有し、ＤＣＴプロセスは、図３で図式的に図示されるように、４×４ブロックで行われる。場合によっては、変換ブロックは、８×８であってもよく、マクロブロック当たり４つの変換ブロックがあることを意味する。さらに他の場合においては、変換ブロックは、他のサイズであってもよい。
【００３８】
ブロックベースの変換をピクセルデータのブロックに適用することにより、一組の変換領域係数をもたらす。これに関して、「一組」は、係数が係数位置を有する順序付けられた一組である。場合によっては、一組の変換領域係数は、係数の「ブロック」または行列と見なされてもよい。本明細書の説明では、「一組の変換領域係数」または「変換領域係数のブロック」という語句は、交換可能に使用され、順序付けられた一組の変換領域係数を示すように意図されている。
【００３９】
一組の変換領域係数は、量子化器２４によって量子化される。次いで、量子化された係数および関連情報は、エントロピーエンコーダ２６によって符号化される。
【００４０】
イントラコード化されたフレーム／スライス（すなわち、Ｉ型）は、他のフレーム／スライスを参照することなく符号化される。言い換えれば、それらは、時間予測を採用しない。しかしながら、イントラコード化されたフレームは、空間予測器２１による、図１に図示されるようなフレーム／スライス内の空間予測に依存する。つまり、特定のブロックを符号化するときに、ブロックの中のデータは、そのフレーム／スライスに対してすでに符号化されているブロック内の隣接ピクセルのデータと比較されてもよい。予測アルゴリズムを使用して、ブロックのソースデータは、残余データに変換されてもよい。次いで、変換プロセッサ２２は、残余データを符号化する。Ｈ．２６４は、例えば、４×４変換ブロックに対する９つの予測モードを規定する。いくつかの実施形態では、９つのモードのうちのそれぞれは、ブロックを独立して処理するために使用されてもよく、次いで、最良のモードを選択するために速度ひずみ最適化が使用される。
【００４１】
Ｈ．２６４規格はまた、時間予測を活用するように、動き予測／補償の使用も規定する。したがって、エンコーダ１０は、逆量子化器２８と、逆変換プロセッサ３０と、非ブロック化プロセッサ３２とを含む、フィードバックループを有する。これらの要素は、フレーム／スライスを複製するようにデコーダ５０によって実装される復号プロセスを映し出す。複製されたフレームを記憶するために、フレーム記憶部３４が使用される。このようにして、動き予測は、符号化／復号に関与する損失性圧縮により、再構築されたフレームとは異なってもよい、元のフレームではなく、デコーダ５０における再構築されたフレームになるものに基づく。動き予測器３６は、同様のブロックを識別する目的で、現在のフレームと比較するためのソースフレーム／スライスとして、フレーム記憶部３４に記憶されたフレーム／スライスを使用する。したがって、動き予測が適用されるマクロブロックについて、変換プロセッサ２２が符号化する「ソースデータ」は、動き予測プロセスから生じる残余データである。例えば、それは、参照フレーム、空間変位または「動きベクトル」、および参照ブロックと現在のブロックとの間の差異（もしあれば）を表す残余ピクセルデータに関する情報を含んでもよい。参照フレームおよび／または動きベクトルに関する情報は、変換プロセッサ２２および／または量子化器２４によって処理されなくてもよいが、代わりに、量子化された係数とともにビットストリームの一部を符号化するためのエントロピーエンコーダ２６に供給されてもよい。
【００４２】
当業者であれば、Ｈ．２６４エンコーダを実装するための詳細および可能な変化例を理解するであろう。
【００４３】
デコーダ５０は、エントロピーデコーダ５２と、逆量子化器５４と、逆変換プロセッサ５６と、空間補償器５７と、非ブロック化プロセッサ６０とを含む。フレームバッファ５８は、動き補償を適用する際に動き補償器６２によって使用するための再構築されたフレームを供給する。空間補償器５７は、以前に復号されたブロックからの特定のイントラコード化されたブロックに対するビデオデータを回収する動作を表す。
【００４４】
ビットストリーム１４は、量子化された係数を回収するように、エントロピーデコーダ５２によって受信され、復号される。サイド情報も、エントロピー復号プロセス中に回収されてもよく、そのうちのいくつかは、適用可能であれば、動き補償で使用するために動き補償ループに提供されてもよい。例えば、エントロピーデコーダ５２は、インターコード化されたマクロブロックに対する動きベクトルおよび／または参照フレーム情報を回収してもよい。
【００４５】
次いで、量子化された係数は、「ビデオデータ」を再作成するように逆変換プロセッサ５６による逆変換を受ける、変換領域係数を生じるように、逆量子化器５４によって逆量子化される。イントラコード化されたマクロブロックを用いた場合等の、場合によっては、再作成された「ビデオデータ」は、フレーム内の以前に復号されたブロックに対する空間補償で使用するための残余データであることが理解されるであろう。空間補償器５７は、以前に復号されたブロックからの残余データおよびピクセルデータから、ビデオデータを生成する。インターコード化されたマクロブロック等の他の場合においては、逆変換プロセッサ５６からの再作成された「ビデオデータ」は、異なるフレームからの参照ブロックに対する動き補償で使用するための残余データである。
【００４６】
動き補償器６２は、特定のインターコード化されたマイクロブロックに対して特定されるフレームバッファ５８内の参照ブロックの場所を特定する。それは、インターコード化されたマイクロブロックに対して特定される参照フレーム情報および動きベクトルに基づいてそうする。次いで、それは、そのマクロブロックに対する再作成されたビデオデータに達するように、残余データと組み合わせるための参照ブロックピクセルデータを供給する。
【００４７】
次いで、非ブロック化プロセッサ６０によって示されるように、非ブロック化プロセスが、再構築されたフレーム／スライスに適用されてもよい。非ブロック後に、フレーム／スライスは、例えば、表示デバイス上で表示するために、復号されたビデオフレーム１６として出力される。コンピュータ、セットトップボックス、ＤＶＤまたはＢｌｕ−Ｒａｙプレーヤ、および／またはモバイル手持ち式デバイス等のビデオ再生機は、出力デバイス上で表示する前に、復号されたフレームをメモリにバッファリングしてもよいことが理解されるであろう。
【００４８】
復号との関連で生じる問題は、イントラコード化された空間予測が、隣接ブロックの中の再構築されたピクセルに依存することである。Ｈ．２６４は、例えば、マクロブロックまたは変換ブロックを処理するときに、上下左右コーディング順に従い、現在のブロックの左側および現在のブロックより上側のブロックのみが、復号プロセス中にピクセルデータを供給するために利用可能であることを意味する（これは、しばしばジグザグパターンを辿る、エントロピー符号化プロセス内の係数に対するコーディング順と混同されるものではなく、この係数コーディング順のさらなる考察は、以降の説明で現れる）。例えば、サイズ４×４のブロックは、図３で図示されるように、その予測を計算するために、最大１３個の隣接ピクセルを使用してもよい。図３では、現在のブロック９０のピクセルは、参照数字９２によって示される、最大１３個の隣接ピクセルのピクセル値に基づいて符号化される。図４は、１６×１６ブロック９４を示す。参照数字９６によって示される、ブロックの左端および一番上の３３個のピクセルが、空間予測に使用されてもよいことが留意されるであろう。
【００４９】
Ｈ．２６４規格は、最大５２個の可能なステップサイズを有する全ての４×４ＤＣＴ係数に、均一な量子化を使用する。本発明者らは、ＤＣＴ領域での均一な量子化の使用が、ブロックの境界においてより高くなる傾向がある再構築誤差をもたらすことに留意している。例えば、以下の行列は、３６という量子化パラメータとともに主要プロファイルを使用してコード化されるときの、ｆｏｒｅｍａｎ．ｃｉｆの第１のフレーム内の４×４のブロックの平均二乗誤差（ＭＳＥ）を示す。
【００５０】
【数１】
0005303659.tif 000002
ブロックの境界におけるピクセルは、ブロックの中央のピクセルよりも有意に高いＭＳＥを有することが留意されるであろう。残念ながら、空間予測プロセスで使用される傾向があるのは、これらの境界ピクセルである。予測は、再構築されたピクセルデータに基づいて（エンコーダは、その予測の基礎をデコーダに利用可能な同じ再構築されたデータに置くために、復号プロセスを行う）、隣接ピクセルを再構築する際の誤差が、空間的に予測されたピクセルを再構築する能力に直接影響を及ぼさないことを意味するが、隣接ピクセルの値の誤差は、概してより大きいか、および／またはより多様な残余値につながり、これは、それらを符号化するのにより費用がかかることを意味する。結果として、イントラコード化されたブロックの境界値の誤差は、速度ひずみ性能に悪影響を及ぼす。
【００５１】
（インループ非ブロック化）
本願の一側面では、デコーダおよび復号プロセスは、インループ非ブロック化をイントラコード化されたブロックに適用するように構成されてもよい。
【００５２】
Ｈ．２６４準拠デコーダは、強力な非ブロック化プロセスを再構築されたフレームに適用するように構成される。非ブロック化は、フルフレームの再構築後に発生するので、空間補償がすでに発生した後に発生する。参照フレームが非ブロック化プロセス後にフレーム記憶部内に収集されるので、非ブロック化は、動き補償に関して「インループ」と見なされ、動き補償器が、インターコード化されたブロックのピクセルを再構築するときに非ブロック化された参照フレームを使用することを意味する。しかしながら、Ｈ．２６４空間予測で使用されるピクセルは、非ブロック化前の再構築されたピクセルである。
【００５３】
本願の一側面では、デコーダは、空間予測プロセス内で非ブロック化を個々のブロックに適用するように構成される。言い換えれば、フルフレームが完成した後の代わりに、ブロックが再構築されるにつれて、非ブロック化がブロック毎に適用される。インターコード化されたフレームに関して、非ブロック化は、いくつかの実施形態では、依然としてフルフレームが完成した後に適用されてもよく、またはいくつかの実施形態では、イントラコード化されたフレームに関連して以下で説明されるように、ブロック毎に行われてもよい。
【００５４】
ここで、４×４ブロック例１００に対する非ブロック化の影響を示す図５を参照する。ブロック１００は、フレーム内のごく最近に復号されたブロックである。ブロック１００の上側および左側のブロックは、すでに再構築されている。所与のブロックについて、非ブロック化は、その左および上の境界にしか直接適用することができない（その右および下の境界を越えるブロックはまだ再構築されていない）が、予測計算に使用され、今後のブロックのコーディングに影響を及ぼす場合があるのは、下および右の境界であることが留意されるであろう。それでもなお、以下の説明から、ブロック１００の下および右のピクセルが、後に、以降のブロックでの空間予測に使用される場合、非ブロック化をブロック１００の上および左の境界に適用することは、好ましい有益性を有することが留意されるであろう。
【００５５】
依然として図５を参照すると、当業者であれば、例えば、Ｈ．２６４で規定されているもののような、いくつかの非ブロック化フィルタが、境界から奥の最大３つのピクセルを強化してもよいことを理解するであろう。例えば、Ｈ．２６４非ブロック化プロセス内の「モード４」は、３つのピクセル分の深さの効果を及ぼす。また、Ｈ．２６４で使用される境界強度モデル下では、ブロックがイントラコード化されるため、非ブロック化モードは、境界がマクロブロック境界でもあるかどうかに応じて、モード４またはモード３のいずれか一方となる。したがって、ブロック１００上の境界１０２および左の境界１０４を非ブロック化することは、ブロック１００内の１６個のピクセルのうちの１５個に影響を及ぼしてもよいことが留意されるであろう。顕著に、非ブロック化は、右の境界上の４つのピクセル１０８のうち３つ、および下の境界上のピクセル１０６のうち３つに影響を及ぼしてもよい。したがって、上の境界１０２および左の境界１０４を非ブロック化することは、隣接ブロックに対する空間予測に使用されてもよい、下および右の境界上のピクセルデータの質に影響を及ぼす。
【００５６】
したがって、図２を再び参照すると、空間補償器５７は、イントラコード化された復号ループ内で、非ブロック化を個々の再構築されたブロックに適用するように構成される。言い換えれば、それは、ブロック毎に、かつブロックの上および左の境界のみに適用される。また、それは、フレーム内の次のブロックの再構築を進める前に、再構築される際に各ブロックに適用される。結果として、空間補償器５７に利用可能なピクセルデータは、部分的に非ブロック化される（右下隅のピクセルが非ブロック化されないため、「部分的に」）。
【００５７】
図２に示されるように、空間補償器５７は、非ブロック化モジュール６４を含む。いくつかの実施形態では、非ブロック化モジュール６４は、非ブロック化プロセッサ６０で通常使用される、既存の非ブロック化ルーチンまたは他のソフトウェア構成要素への呼び出しを含んでもよいことが理解されるであろう。
【００５８】
図１を再び参照すると、本願によるエンコーダ１０は、非ブロック化構成要素３１を含むことが留意されるであろう。非ブロック化モジュール６４（図２）のように、非ブロック化構成要素３１は、フレーム内の次のブロックの再構築が発生する前に、非ブロック化を再構築されたブロックの上および左の境界に適用するためのものである。次いで、非ブロック化構成要素３１からの非ブロック化されたピクセルデータは、その予測の基礎を非ブロック化されたピクセルデータに置いてもよいように、空間予測器２１に利用可能である。
【００５９】
ここで、フローチャート形態で復号プロセス１２０を示す、図６を参照する。図６に図示された復号プロセス１２０は、ビデオのイントラコード化されたフレームを復号することを目的とするプロセス例である。ビデオのフレームは、本明細書で説明される改変、具体的には、イントラコード化されたブロックのインループ非ブロック化を受けて、Ｈ．２６４規格に従って符号化されてもよい。符号化プロセスは、符号化されたデータのビットストリームをもたらす。プロセス１２０は、ビットストリームを受信し、それを復号してビデオデータを再構築し、ビデオを表示または出力するように構成される、セットトップボックス、テレビ、コンピュータ、モバイルデバイス等のデバイスで実装されてもよい。インターコード化されたフレームに対する復号プロセスは、いくぶん同様であるが、図６では図示されていない動き補償および再構築フレーム記憶ステップを含む。
【００６０】
プロセス１２０は、ステップ１２２で指数ｉの初期化から始まる。指数ｉは、フレームの中のどのブロックが復号プロセス１２０の対象であるかを示す。左右および上下の復号プロセスに従って、各ブロックが順に処理される。受信したビットストリームのエントロピー復号は、ブロックｉがエントロピー復号されるステップ１２４から始まる。エントロピー復号は、符号化されたデータのビットストリームを、量子化された変換領域係数に変換する。それはまた、量子化器ステップサイズ、およびビデオデータを再構築するためにデコーダによって使用される他の情報を含む、サイド情報も回収してもよい。
【００６１】
各ブロックｉについて、プロセス１２０は、変換領域係数を回収するように、ステップ１２６で量子化された変換領域係数を逆量子化することを有する。次いで、ブロックｉの変換領域係数は、各ピクセルに対する残余データを再構築するように、ステップ１２８で逆変換される。空間予測を使用するイントラコード化されたブロックでは、ステップ１２８で再構築されるピクセルデータは、隣接ブロックからの参照ピクセルに対する差を表す、「残余」データである。したがって、ステップ１３０では、同じフレーム内の以前に再構築されたブロックの中の隣接ピクセルからの残余データおよびピクセルデータを使用して、ピクセル値を再構築するように、空間補償が適用される。ステップ１３０は、ブロックｉに対するピクセルビデオデータの再構築をもたらす。
【００６２】
ステップ１４０（鎖線の中に示される）は、ブロックｉの左および上の境界への非ブロック化フィルタの適用である。上述のように、ブロックｉの左および上の境界を非ブロック化することは、ブロックｉの右側および一番下のピクセルのうちの少なくともいくつかの中のピクセルデータの質の改良をもたらしてもよい。後続のブロックで予測の基準として使用されてもよいのは、この右側および一番下のピクセルデータである。空間予測に使用されるときのこのデータの質の改良は、符号化されることが必要な残余データを低減することができ、結果として、速度ひずみ性能を向上させることができる。
【００６３】
一実施形態例では、ステップ１４０は、ステップ１３２、１３４、１３６、および１３８を含む。ステップ１３２および１３６は、それぞれ、左および上の境界に対する境界強度の評価である。境界強度評価は、どのような非ブロック化のモードが適用されるか、すなわち、どのような種類のフィルタが使用されるかを決定する。ステップ１３４および１３８では、それぞれ、左および上の境界は、境界強度評価によって示されるフィルタの種類を使用して非ブロック化される。
【００６４】
ブロックｉの左および上の境界が非ブロック化された後、プロセス１２０は、ステップ１４２へと続き、そこで、フレームの中に処理される付加的なブロックがあるかどうかを評価する。もしそうであれば、次いで、指数がステップ１４４で増分され、プロセス１２０はステップ１２６に戻る。もしそうでなければ、次いで、再構築されたフレームがステップ１４６で出力される。
【００６５】
再構築ループがエントロピーエンコーダ２６（図１）の前に始まるため、エントロピー復号が必要とされないことを除いて、空間予測器２１（図１）によって使用されるブロックを再構築するために、プロセス１２０と同じまたは同様のプロセスがエンコーダ１０（図１）で使用されることが理解されるであろう。
【００６６】
実験では、イントラコーディングへのインループ非ブロック化の適用は、ｆｏｒｅｍａｎ．ｃｉｆ、ｈｉｇｈｗａｙ．ｃｉｆ、ｐａｒｉｓ．ｃｉｆ等を含む、広範囲のビデオクリップについて、同じひずみおよび１〜５％の速度節約をもたらすことが分かっている。
【００６７】
（均衡ひずみ量子化）
以下の考察では、ＤＣＴ係数およびＤＣＴ領域を参照するが、本願はＤＣＴに特異的に限定されないことが理解されるであろう。本願は、より広範囲には、ブロックベースの変換に適用可能である。
【００６８】
ＤＣＴ領域内での量子化の境界において見られる比較的大きいひずみは、内部ピクセルを回収するためよりも、境界ピクセルを再構築するための不良な加重和によって引き起こされる。具体的には、異なるＤＣＴ係数が、ピクセル領域内の再構築に異なる加重をつける。それにもかかわらず、ＤＣＴ係数に適用される量子化は一様である。したがって、本願は、ピクセル領域中のサンプルの間でひずみ分布を均等にするようにＤＣＴ係数に対する量子化を適合的に適用することを提案する。
【００６９】
予測
【００７０】
【化１】
0005303659.tif 000003
を有する所与の４×４ブロック
【００７１】
【化２】
0005303659.tif 000004
について、残余は
【００７２】
【化３】
0005303659.tif 000005
である。ＤＣＴ領域中で実行される均一な量子化は、以下のように表され得る。
【００７３】
【数２】
0005303659.tif 000006
ここで、ｃｉは、
【００７４】
【化４】
0005303659.tif 000007
が４×４ＤＣＴ行列である
【００７５】
【化５】
0005303659.tif 000008
に等しい、
【００７６】
【化６】
0005303659.tif 000009
の要素であり、ｕｉは、ｃｉの量子化出力であり、ｑは、量子化ステップサイズであり、δは、端数切り捨てパラメータを表す。
【００７７】
ｃの量子化出力を
【００７８】
【化７】
0005303659.tif 000010
と見なす場合、量子化誤差が
【００７９】
【化８】
0005303659.tif 000011
である一方で、ピクセル領域内の現在のブロックに対する再構築誤差は、
【００８０】
【化９】
0005303659.tif 000012
である。ユークリッド距離によって測定される場合、ＤＣＴがユニタリ変換であるため、ＤＣＴ領域中の全量子化誤差は、
【００８１】
【化１０】
0005303659.tif 000013
として、ピクセル領域中のものと同じになる。しかしながら、ブロック全体の中の個々のピクセルの再構築された誤差を考慮されたい。異なるピクセルの再構築誤差の統計量は、相互に極めて異なるが、同じ量子化器が全てのＤＣＴ係数に適用される。
【００８２】
例えば、４×４ＤＣＴを取り上げて、本願は、ＤＣＴ係数位置のそれぞれに１つずつ、１６個の明確に異なる量子化ステップサイズが選択されることを提案する。量子化ステップサイズの選択は、ピクセル領域内のひずみの均等な分布を達成することに基づくものである。
【００８３】
ＤＣＴ係数は、以下のように、
【００８４】
【数３】
0005303659.tif 000014
と定義され得る。
【００８５】
係数位置は、以降の操作を容易にするために整数を使用して指数化される。量子化ステップのサイズは、以下のような
【数４】
0005303659.tif 000015
である対応する行列
【００８６】
【化１１】
0005303659.tif 000016
として定義され得る。
【００８７】
境界ピクセルと内部ピクセルとの間のひずみ分布を一様にするために
【００８８】
【化１２】
0005303659.tif 000017
を量子化する量子化器
【００８９】
【化１３】
0005303659.tif 000018
を設計するために、以下のように条件付きＲＤ最適化問題を公式化することができ、
【００９０】
【数５】
0005303659.tif 000019
ｉ＝１．．．１６について、
【００９１】
【化１４】
0005303659.tif 000020
に従い、ここで、ｚｉおよび
【００９２】
【化１５】
0005303659.tif 000021
は、それぞれ、
【００９３】
【化１６】
0005303659.tif 000022
および
【００９４】
【化１７】
0005303659.tif 000023
の要素であり、
【００９５】
【化１８】
0005303659.tif 000024
および
【００９６】
【化１９】
0005303659.tif 000025
であり、Ｅ（）は、標準期待値演算であり、Ｄ０は、所望の平均ひずみであり、ｕｉは、式（１．１）によるｑｉを使用してｃｉを量子化することの出力であり、ｒ（・）は、量子化出力をコード化するための速度関数を表し、λは、定数であり、
【００９７】
【化２０】
0005303659.tif 000026
は、行列間の要素毎の乗算を意味する。
【００９８】
ユークリッド距離を維持するためのＤＣＴのユニタリ特性を考慮されたい。式（１．２）を以下のように、
【００９９】
【数６】
0005303659.tif 000027
と書き換えることができる。
【０１００】
以下の解析では、４×４ＤＣＴ係数に対して独立ガウス分布を仮定する。
【０１０１】
式（１．３）における公式は、最適化変数として量子化ステップサイズを使用することによって、スカラー量子化器を開発するという明確な論理を反映する。しかしながら、この最適化を解くことは困難である。量子化ひずみが、スカラー量子化器である量子化ステップサイズの単調関数であると考慮されたい。最適化変数として量子化ひずみを使用してもよく、具体的には、｛Ｄ１，．．．Ｄ１６｝に基づく１６個の量子化器を設計することを目指し、Ｄｉは、そのステップサイズｑｉを有するｉ番目の量子化器に対する量子化ひずみを表す。ｃｉに対するＮ（０，σｉ２）を有する独立ガウス分布を仮定することによって、式（１．３）における速度関数を置換するために、ガウスソースに対する速度ひずみ関数
【０１０２】
【数７】
0005303659.tif 000028
をさらに使用する。
【０１０３】
【化２１】
0005303659.tif 000029
および
【０１０４】
【化２２】
0005303659.tif 000030
であることを考慮されたい。逆変換を以下のような１次形式で書き換えることができる。
【０１０５】
【数８】
0005303659.tif 000031
ここで、Ａは、ｔに関係付けられる定数行列である。具体的には、行列Ａは、逆変換の１次元版である。式（１．５）は、１次元逆変換行列Ａを介して、ピクセル領域（例えば、
【０１０６】
【化２３】
0005303659.tif 000032
）内の量子化ひずみを、ＤＣＴ領域（例えば、ｃ１−ｕ１・ｑ１）内の量子化ひずみに関係付ける。
【０１０７】
Ｄｉ＝Ｅ（ｃｉ−ｕｉ・ｑｉ）２であることを考慮されたい。何らかの導出後に、式（１．４）における条件は、
【０１０８】
【数９】
0005303659.tif 000033
となる。
【０１０９】
これは、｛Ｄｉ｝に対する１６個の線形条件を表す。
【０１１０】
要約すると、量子化設計問題は、
【０１１１】
【数１０】
0005303659.tif 000034
となる。
【０１１２】
これは、凸最小化の標準技法を使用して解くことができる凸最小化問題である。
【０１１３】
前述の考察は、平均ピクセル領域ひずみＤ０を指すが、しかしながら、式（１．６）から理解されるように、ひずみは、より概括的にベクトルと見なされてもよいことに留意されたい。式（１．６）は、平均ピクセル領域ひずみの特別な場合を表す。いくつかの他の場合では、所望のひずみが平均ピクセル領域ひずみとして表されなくてもよい。例えば、場合によっては、中心よりもピクセルのブロックの端で低いひずみを有することが望ましくてもよく、または別の実施例では、空間予測で使用される縁等のブロックの特定の縁で、より低いひずみを有することが望ましくてもよい。所望のピクセル領域ひずみは、式（１．６）および（１．７）の関係における状況に適合するように特定されてもよい。
【０１１４】
式（１．７）の最適化問題とは対照的に、ＪＰＥＧのような画像圧縮のため、またはＨ．２６４のようなビデオコーディングのための、ＤＣＴ領域内の従来の量子化設計は、合計ひずみ制約を受ける。ＤＣＴ係数が独立ガウスソースから放出されると仮定して、従来の量子化設計における解は、いわゆる逆「注水」を引き起こし、結果として生じるひずみは、Ｄよりも小さい分散を有するソースを除いた定数Ｄである。言い換えれば、結果として生じる量子化ひずみは、必ずしもピクセル領域内ではないが、ＤＣＴ領域内で可能な限り一様に分布する。
【０１１５】
しかしながら、この場合、式（１．７）の解は、それらのＤＣＴひずみによってスカラー量子化器を特定し、各係数位置に対するＤＣＴひずみは、ピクセル領域内で所望のひずみＤ０を達成することに基づいて選択される。ＤＣＴ領域量子化ひずみは、コーディング手順で使用されるために、量子化ステップサイズに変換される必要がある。一般に、Ｄ（ｑ）の関数は、複雑すぎてその逆関数を導出できない場合がある。高速スカラー量子化の場合について、Ｄ（ｑ）の単純な公式を用いたいくつかの結果がある。それにもかかわらず、必ずしも有効な高速仮定があるとは限らない。本願の一実施形態では、Ｄ（ｑ）の単調性が、逆問題を実験的に解くために利用される。具体的には、Ｄ（ｑ）の所与の値およびｑ０の初期値について、Ｄ（ｑ）を達成する方向に向かって現在のｑを徐々に修正することによって、対応するｑを探索するために、一般的な勾配降下アルゴリズムが使用される。量子化ステップサイズｑの探索は、結果として生じるＤ（ｑ）が、その係数に対する規定のＤｉに十分近い値に達するまで、継続してもよいことが理解されるであろう。言い換えれば、量子化ステップサイズが所望のＤｉを実現するのに「十分近い」ときを決定するために、閾値範囲が使用されてもよい。また、いくつかの実施形態では、ステップサイズが所定であってもよく、有限数の可能な選択があることを意味し、これがＤｉを正確に実現する能力を制限することも理解されるであろう。これらの選択のうちの１つは、Ｄｉを実現するのに最も近くてもよいが、実際のひずみＤ（ｑ）は、わずかにＤｉとは異なってもよい。この説明では、計算された量子化ひずみＤｉを「実現する」量子化ステップサイズへの言及は、Ｄｉに十分近いが正確にはＤｉではないひずみＤ（ｑ）をもたらす量子化ステップサイズを含むことが理解されるであろう。
【０１１６】
ここで、フローチャート形式でビデオを符号化するための方法例２００を示す図７を参照する。方法２００は、上記で概説される原理を適用する。具体的には、ステップ２０２では、所望の平均ピクセル領域ひずみＤ０が選択される。選択は、所望の信号対雑音比（ＳＮＲ）またはピークＳＮＲ（ＰＳＮＲ）に基づいてもよい。例えば、一実施形態では、平均ピクセル領域ひずみは、既知または仮定の係数分散および所望のＰＳＮＲに基づいて選択されてもよい。一実施形態では、Ｄ０は、ユーザによって特定される調整可能な量であってもよく、またはユーザによって選択される「質」設定に基づいてもよく、またはそうでなければ特定のビデオあるいは特定のビデオエンコーダに対して特定されてもよい。
【０１１７】
ステップ２０４では、４×４ＭＢおよび１６×１６ＭＢの中の各係数位置に対する量子化ステップサイズが、所望の平均ピクセル領域ひずみＤ０を実現することに基づいて決定される。４×４ＭＢの場合、１６個の量子化ステップサイズが決定される。いくつかの係数位置に対する量子化ステップサイズは、場合によっては同じであってもよい。量子化ステップサイズの決定は、特定の符号化規格に対する利用可能なステップサイズから選択することを含んでもよい。例えば、Ｈ．２６４では、５２個の可能な量子化ステップサイズがある。他の規格またはプロファイルが、より多くの、またはより少ない量子化ステップサイズを許容してもよい。
【０１１８】
ビデオフレームまたはスライスに対するＤＣＴ係数を量子化するための量子化ステップサイズを選択した後で、ステップ２０６では、エンコーダが、符号化プロセスにおいて変換領域係数を量子化する際に、選択された量子化ステップサイズを使用して、ビデオフレームまたはスライスを処理する。符号化されたフレームは、当業者によって理解されるように、エンコーダから出力される。
【０１１９】
ここで、フローチャート形式でビデオを符号化するための別の方法例２２０を示す図８を参照する。方法例２２０は、各マクロブロックに対する予測および残余を生成するようにビデオのフレームを処理することを有する、ステップ２２２から始まる。残余は、初期変換領域係数を取得するために変換される。処理は、初期量子化ステップサイズｑ０を採用する。処理は、Ｈ．２６４等の所与の規格に従ってもよい。処理は、いくつかの実施形態では、図１から６に関連して上記で説明されるようなインループ非ブロック化を適用することを含んでもよい。ステップ２２０は、初期変換領域係数の計算においてブロック毎のＲＤ最適化スキームを適用することを含んでもよい。
【０１２０】
ステップ２２４では、係数位置における初期変換領域係数の分散（σ１２．．．σ１６２）が、ステップ２２２において行われた処理に基づいて計算される。いくつかの実施形態では、統計量が異なるサイズのマクロブロックについて異なってもよいので、別個の分散が、Ｉ４×４マクロブロックに対応する変換領域係数に対して、およびＩ１６×１６マクロブロックに対応する変換領域係数に対して計算されてもよいことに留意されたい。
【０１２１】
ステップ２２６では、所望の平均ピクセル領域ひずみＤ０が選択される。図７に関連して上述のように、選択は、ＰＳＲＮに関する所望の視覚品質に基づいてもよい。平均ピクセル領域ひずみＤ０は、特定のビデオに対して選択または設定され、全フレームに関連して使用されてもよい（その場合、ステップ２２６は、メモリからＤ０の事前設定値を読み出すことのみを有してもよい）。平均ピクセル領域ひずみＤ０の選択または設定は、ユーザ構成可能であってもよい。エンコーダは、特定のビデオまたはビデオの一部分を符号化するための平均ピクセル領域ひずみを設定または調整する能力を提供してもよい。いくつかの実施形態では、平均ピクセル領域ひずみは、フレームの尺度および統計量に基づいて各フレームに対して選択されてもよく、フレーム毎に異なってもよい。一例として、ユーザが、再構築されたビデオにおいてある種類の視覚品質を達成することを所望し、Ｄ０が品質に及ぼし得る影響を認識している場合、ユーザは、平均ピクセル領域ひずみＤ０を直接特定してもよい。別の実施例では、ユーザは、コーディング速度または量子化ステップサイズ等の別のコーディングパラメータを特定する場合があり、エンコーダは、符号化プロセスを実行して、特定の結果として生じる平均ピクセル領域ひずみＤ０を識別してもよく、次いで、ひずみを一様にしようとするために使用される実験的Ｄ０因数とともに、符号化プロセスを再実行する際にそれを使用してもよい。ある意味、Ｄ０は、自由パラメータである。上述のように、いくつかの実施形態では、所望のピクセル領域ひずみは、ピクセルのブロックにわたって一様である平均ピクセル領域ひずみではなくてもよい。
【０１２２】
ステップ２２８では、係数位置に対するＤＣＴ領域量子化ひずみＤ１．．．Ｄ１６が、これらの係数位置における係数に対する分散σ１２．．．σ１６２、および所望の平均ピクセル領域ひずみＤ０に基づいて決定される。上述のように、量子化ひずみＤ１．．．Ｄ１６は、式１．６の制約および制約Ｄｉ＜σ１２を受ける、式１．７で定義される凸最小化問題を解くことによって決定されてもよい。一実施形態では、一例として、凸最小化問題は、標準逐次二次計画法を使用して解かれてもよい。
【０１２３】
所望の平均ピクセル領域ひずみＤ０を実現するために必要とされる量子化ひずみＤ１．．．Ｄ１６を決定した後に、量子化ひずみＤ１．．．Ｄ１６は、ステップ２３０において量子化ステップサイズｑ１．．．ｑ１６に変換される。言い換えれば、ステップ２３０は、ステップ２２８で決定される量子化ひずみＤｉを実現するための量子化ステップサイズｑｉを見出すか、または選択することを有する。量子化ステップサイズｑｉは、所定の組の利用可能な量子化ステップサイズから選択されてもよい。例えば、Ｈ．２６４は、使用されてもよい量子化ステップサイズを特定する。Ｈ．２６４に対する少なくとも１つのプロファイルでは、５２個の可能な量子化ステップサイズがある。したがって、量子化ステップサイズｑｉは、適用符号化規格によって規定されるステップサイズから選択されなければならないという制約を受けて、量子化ひずみＤｉを最も良く実現するということに基づいて選択されてもよい。上述のように、量子化ステップサイズの選択または決定は、好適な（または最適な）ステップサイズを探索するために標準勾配降下アルゴリズムを使用することを含んでもよい。上述のように、いくつかの実施形態では、別個の量子化ステップサイズ選択を有する別個の４×４量子化器が、Ｉ４×４マクロブロックおよびＩ１６×１６マクロブロックとともに使用するために作成されてもよい。この場合、取得された量子化ステップサイズは、それぞれ、ｑＩ４×４およびｑＩ１６×１６’として表されてもよい。
【０１２４】
量子化ステップサイズｑｉと量子化ひずみＤｉとの間の関係は、単調関数である。一実施形態では、正しいステップサイズを見出すプロセスは、初期量子化ステップサイズ値を選択し、次いで、結果として生じる量子化ひずみを評価することを含む。ステップ２２８において計算された所望の量子化ひずみと比較して、ひずみが小さすぎる場合には、量子化ステップサイズは、好適なひずみが生じるまで増大させられる。いくつかの実装では、二分探索が採用されてもよい。
【０１２５】
ステップ２２４から２３０は、まとめて、均衡ピクセル領域ひずみを実現するためのフレーム特有の量子化器を作成するためのステップである。作成は、処理されているフレームの特定の統計量に基づく。言い換えれば、ビデオの特定のフレームのために設計されている量子化器は、量子化ひずみがピクセル領域内で均衡ひずみをもたらすことを確実にするように、特異的に合わせられる。
【０１２６】
ステップ２３２では、ステップ２２４−２３０で作成された量子化器を使用して、ビデオのフレームが再処理される（すなわち、変換される、量子化される等）。言い換えれば、ステップ２３２でのフレームの再処理は、量子化ステップサイズｑ１．．．ｑ１６を使用する。異なる量子化器が異なるサイズのマクロブロックに使用される場合では、ステップ２３２は、ｑＩ４×４およびｑＩ１６×１６量子化ステップサイズを使用してフレームを再処理する。再処理は、上記で説明されるようなインループ非ブロック化を適用することを含んでもよい。
【０１２７】
いくつかの実施形態では、方法２２０は、反復型であってもよく、したがって、ピクセル領域内の異なる位置におけるひずみ分散間の最大差異が、閾値量より多かったかどうかを決定するために、再処理の結果が閾値に対して評価されるステップ２３４を含んでもよい。もしそうであれば、次いで、量子化ステップサイズの選択を洗練するために、ステップ２２４から２３２が繰り返されてもよい。ステップ２２４から２３０の結果が準最適となり得る理由として、ブロックベースの指向性予測スキームにより、量子化器を設計するために使用されるＤＣＴデータと、取得された量子化器が適用される実際のＤＣＴデータとの間の不一致がある。加えて、実データ統計量は、式１．７の基礎にあるガウス仮定から逸脱する場合がある。したがって、ステップ２３２でのフレームの再処理に起因する分散は、量子化ステップサイズの選択を洗練するために使用されてもよい。ステップ２３４では、ピクセル領域中の異なる位置におけるひずみ分散間の最大差異が、事前選択された閾値よりも小さい場合には、方法２２０は、符号化されたフレームが出力されるステップ２３６へと続く。
【０１２８】
フレームの符号化は、符号化されたビデオのビットストリームを生成するように、予測および残余データをエントロピーコード化することを含んでもよいことが理解されるであろう。また、エントロピーコーディングは、ステップ２３２またはステップ２３６で発生してもよいことも理解されるであろう。再訪算術コーディングを使用する、エントロピーコーディングのための新規のプロセスを、以下でさらに説明する。
【０１２９】
また、ステップ２３６は、おそらく、有線または無線通信経路上で、エンコーダから宛先デバイスへ符号化されたビットストリームを伝送することを含んでもよいことも理解されるであろう。伝送は、ポイントツーポイント伝送または放送伝送を含んでもよい。出力されたビットストリームはまた、あるいは代替として、不揮発性メモリ等の中に、以降の伝送または出力のためにローカルに記憶されてもよい。一実施形態では、それは、磁気または光ディスク等のデコーダ可読媒体上に記憶されてもよい。
【０１３０】
また、エンコーダによって出力されるビットストリームは、ステップ２３０で見出される量子化ステップサイズの行列を含むことも理解されるであろう。異なる量子化器が異なるサイズのマクロブロックに使用される場合では、量子化ステップサイズの両方の４×４行列、ｑＩ４×４およびｑＩ１６×１６’が、ビットストリームに含まれる。各フレームについて、ビットストリームは、そのフレームに適用可能な量子化行列を含む。
【０１３１】
ビットストリームの中の量子化ステップサイズの符号化は、一実施形態では、以下のように行われてもよい。この実施例でのステップサイズは、Ｈ．２６４によって定義される５２個の利用可能なステップサイズから選択される。第１に、１ビットの符号語が、最大サイズに対して定義される。これは、高周波数成分に対して選択される量子化器が、ソース分散と同じである所望のひずみを有することが非常にあり得るためであり、量子化出力として０を生成するだけのために十分大きい量子化ステップサイズを意味する。この場合、１ビットのみが伝送され、最大ステップサイズがデコーダによって使用される。量子化ステップサイズについて、さらに４ビットがデコーダに送信される。具体的には、所与の平均ひずみ選好Ｄ０に対応する量子化ステップサイズをｑ０と表す。ｑ−８，．．．，ｑ７と表される、１６個だけのステップサイズが使用され、その場合、例えば、ｑ−８は、５２個のステップサイズの順に従って、ｑ０よりも８ステップ小さいステップサイズを意味する。このコーディングスキームは、実験で試験される全てのＣＩＦフレームの全割合の１％未満を占めて、ＣＩＦフレームをコード化するために十分機能する。
【０１３２】
より具体的には、このコーディングスキーム例は、１７個の異なるステップサイズ、ｑｌａｒｇｅおよびｑ−８，．．．，ｑ７を考慮してもよい。パラメータｑｌａｒｇｅを、Ｈ．２６４によって定義される５２個の利用可能なステップサイズの中の最大サイズに設定できる一方で、他の１６個のステップサイズは、ｑ０に関係付けられる。本質的に、ｑｌａｒｇｅは、１ビットの符号語に一致し、ｑ−８，．．．，ｑ７は、１６個の５ビットの符号語、すなわち、１６レベル間で区別する４ビット、およびｑｌａｒｇｅから区別する１ビットに一致する。
【０１３３】
このコーディングスキーム例は、多くの可能なコーディングスキームのうちの１つにすぎないことが理解されるであろう。
【０１３４】
デコーダは、ビットストリームを受信し、ビットストリームをエントロピー復号して、量子化ステップサイズおよび量子化された変換領域係数を回収する。それは次いで、変換領域係数を回収するように、特定の係数位置に対して特定される量子化ステップサイズを使用して、量子化された変換領域係数を逆量子化する。いくつかの実施形態では、量子化ステップサイズは、スライス毎またはフレーム毎に決定される。したがって、量子化ステップサイズは、場合によっては、フレームまたはスライスにつき１回符号化されてもよい。
【０１３５】
ここで、適合量子化器モジュール３００を有するエンコーダ１０のブロック図を示す、図９を参照する。適合量子化器モジュール３００は、上記で説明される方法２００または２２０を実装するように構成されてもよい。適合量子化器モジュール３００は、ステップ２２４（図８）に関連して上記で説明されるように、フレームの初期処理に起因する各ＤＣＴ係数位置に対する分散σ２を決定する、分散計算機３０２を含む。分散計算機３０２は、量子化ひずみＤｉを決定するように構成される量子化ひずみ計算機３０４に、分散σ２情報を供給する。具体的には、各係数位置に対する量子化ひずみＤ１．．．Ｄ１６は、各係数位置に対する分散σ１２．．．σ１６２、および所望の平均ピクセル領域ひずみＤ０に基づいて決定される。適合量子化器モジュール３００はさらに、決定された量子化ひずみＤ１．．．Ｄ１６を最も良く実現するための量子化ステップサイズｑ１．．．ｑ１６を見出す、量子化ステップサイズセレクタ３０６を含む。次いで、選択された量子化ステップサイズｑ１．．．ｑ１６は、ステップ２３２（図８）と併せて上記で説明されるように、フレームを再処理するために量子化器２４によって使用される。
【０１３６】
説明および考察を簡単にするために、別個のモジュール、構成要素、または計算機として図示されているが、エンコーダおよび符号化プロセスを実現するためのソフトウェアの構成に応じて、多くの実装が可能であることが理解されるであろう。
【０１３７】
（算術コーディングのための改訂コンテキストモデリング）
均衡ひずみ量子化の開発は、量子化出力の異なる統計量をもたらす。加えて、Ｈ．２６４に対して特定されるコンテキストモデリングの基礎にある仮定のうちのいくつかは、量子化ステップサイズが４×４変換ブロック内で変化する場合において、必ずしも有効であるとは限らない。具体的には、Ｈ．２６４によって特定される走査またはコーディング順は、均一な量子化を使用するときのゼロ係数出力の可能性の期待された増大に基づく。「走査順」および「コーディング順」という用語は、以下の考察で交換可能に使用される。
【０１３８】
ここで、４×４ブロックについてＨ．２６４によって特定されるコーディング順３５０を図示する、図１０を参照する。係数位置１，．．．，１６の番号付けは、左右上下の順に従う。番号付けされた係数位置を参照すると、Ｈ．２６４での規定の走査順は、１、２、５、６、３、４、７、８、９、１０、１３、１４、１１、１２、１５、１６である。
【０１３９】
本願の一側面によれば、コーディング順は、フレーム毎に動的に決定される。具体的には、コーディング順は、フレームについて獲得される１つ以上の特性または統計量に基づいて決定される。例えば、所与のフレームに対して選択されるコーディング順は、フレームに対する係数分散σ２情報を考慮してもよい。
【０１４０】
量子化ステップサイズが不均一である、一実施例では、コーディング順は、増大する量子化ステップサイズに基づいて決定される。２つ以上の係数が同じ量子化ステップサイズを共有する程度まで、順番は、Ｈ．２６４で定義され、図１０で図示される元の走査順に基づいている。ここで、動的コーディング順例４００を図示する、図１１を参照する。この実施例では、１６個の量子化ステップサイズが以下のように決定されている（下付き文字は、コーディング順ではなく左右上下順に従うことに留意されたい）。
【０１４１】
ｑ１＝０．８１２５
ｑ２＝１．２５
ｑ３＝０．８１２５
ｑ４＝１．７５
ｑ５＝２．５
ｑ６＝１．２５
ｑ７＝１．２５
ｑ８＝４．５
ｑ９＝４．０
ｑ１０＝２２４
ｑ１１＝２２４
ｑ１２＝２２４
ｑ１３＝２２４
ｑ１４＝２２４
ｑ１５＝２２４
ｑ１６＝２２４
増大する量子化ステップサイズに基づいて、結果として生じるコーディング順が図１１に図示されている。この実施例の最小量子化ステップサイズは、係数１および３に対して指定される、０．８１２５である。同じステップサイズを有するため、１が３の前に走査される、元の走査順を用いて対立が解消される。次のステップサイズは、係数２、６、および７によって共有される、１．２５である。元の走査順は、２が６の前に走査され、６が７の前に走査されることを規定し、これら３つの係数が２、６、７の順で走査されることを意味する。次いで、次のステップサイズは、係数４のみに適用可能である１．７５であり、よって、これが次である。このようにして処理されると、実施例に対する結果として生じる走査順は、１、３、２、６、７、４、５、９、８、１０、１３、１４、１１、１２、１５、１６である。
【０１４２】
量子化ステップサイズｑｉの代わりに、またはそれに加えて、コーディング順を選択する際に、他の要因に依存してもよい。
【０１４３】
ここで、フローチャート形態で、ビデオ符号化プロセスにおいて量子化された残余をエントロピーコード化する方法４５０を図示する図１２を参照する。方法４５０は、ステップ４５２で、量子化された残余ｕｉの生成から始まる。ステップ４５４では、量子化された残余が、増大する量子化ステップサイズに基づいて順序付けられる。言い換えれば、最小量子化ステップサイズを使用して量子化された、量子化された残余が、順番の中で最初に位置付けられる一方で、最大量子化ステップサイズを使用して量子化されたものは、順番の中の最後に位置付けられる。量子化された残余のうちのいずれかが、同じ量子化ステップサイズを使用して量子化された場合には、ステップ４５６において、Ｈ．２６４等の適用符号化規格によって規定される元の走査順で、それらの相対的位置に基づいて順序付けられる。いったん順番が決定されると、次いで、ステップ４５８で、量子化された残余が、決定された順番を使用してエントロピー符号化される。ここで、エントロピーエンコーダ２６がコーディング順モジュール５００を含むことを示す、図９も参照する。コーディング順モジュール５００は、例えば、図１２に示された方法４５０を使用して、所与のフレームに対するコーディング順を選択または決定する。
【０１４４】
重要マップおよび最終係数フラグに対するコンテキストは、位置情報の使用のほかに、３つの予測方向、すなわち、左右、上下、および全方向を含むように強化される。Ｉ４×４マクロブロックについて、左右方向が予測モード１、６、および８に一致する一方で、上下方向は予測モード０、３、５、および７用である。他のモードは、全方向と見なされる。Ｉ１６×１６マクロブロックについて、左右方向が予測モード１に一致する一方で、上下方向は予測モード０用であり、他の予測モードは全方向として扱われる。
【０１４５】
レベルとも呼ばれる、非ゼロ量子化出力をコード化するためのコンテキストは、
【０１４６】
【数１１】
0005303659.tif 000035
のように定義される、さらに２つのパラメータ、ｂＬｍａｘおよびｂＮｕｍＬｇ１の組み合わせを含むように修正される。
【０１４７】
ここで、Ｌｇ１は、大きさが１よりも大きいレベルの数であり、Ｌｍは、全ての以前にコード化されたレベルの最大の大きさである。最終的に、所与のコンテキストを有するレベルは、多記号算術コーディングエンジンを使用してコード化される。
【０１４８】
均衡ひずみ量子化の開発は、コンテキストモデリングの再訪の動機となったが、改訂符号化方法の使用は、均衡ひずみ量子化が採用される実施形態に限定されない。改訂コンテキストモデリングは、他の状況において適用され得ることが理解されるであろう。当業者であれば、改訂コンテキストモデリングは、特に、量子化ステップサイズが均一ではない任意の符号化プロセスに適用可能であるが、その状況に限定されないことを理解するであろう。
【０１４９】
符号化されたデータは、符号化されたデータのビットストリームとして出力されるか、またはコンピュータ可読媒体上に記憶されてもよい。符号化されたデータは、例えば、有線または無線通信ネットワーク上で、遠隔の場所に伝送されてもよい。
【０１５０】
上記で説明されるエントロピー符号化方法に従って符号化されたビデオまたは画像データは、対応する復号方法を適用するように構成されるデコーダによって復号される。エンコーダが上記で説明されるような適合コーディング順を使用した場合、デコーダは、データを復号し、後続の逆量子化および逆変換のための正しい順番で量子化された変換領域係数を配設するために、コーディング順を知る必要がある。したがって、デコーダは、データをコード化するためのコーディング順を決定する。コーディング順がフレーム毎にエンコーダによって決定された程度まで、デコーダは、フレーム毎にデータを復号するための同じコーディング順を識別／決定し、適用する。
【０１５１】
デコーダがコーディング順を決定するために、コーディング順に関するエンコーダからの何らかのデータ、すなわち、コーディング順データを受信する。一実施形態例では、エンコーダは、コーディング順データを、符号化されたデータのビットストリームに追加するか、または埋め込む。別の実施形態例では、コーディング順データは、ビットストリーム外のサイド情報として送信されるが、この実施形態では、デコーダはまた、コーディング順データを適用して、符号化されたデータの正しい部分に対するコーディング順を決定するように、デコーダがコーディング順データを符号化されたデータに相関させることを可能にする相関情報も受信する。第１の実施形態の場合、コーディング順データは、符号化されたデータの各フレームまたはスライスを送信する前にビットストリーム内に埋め込まれてもよく、それにより、デコーダが、ビットストリームからコーディング順データを回収または抽出し、対応するフレームまたはスライスに対する符号化されたデータのエントロピー復号を試行する前に、適用コーディング順を決定することを可能にする。
【０１５２】
コーディング順データは、コーディング順自体を特定する情報を含んでもよい。例えば、コーディング順データは、順方向または逆方向のいずれか一方で、４×４変換ブロックの１６個の係数がどの順番で符号化されたかを示すデータを含んでもよい。別の実施例では、コーディング順データは、そこからデコーダがコーディング順を決定することができる、データを含んでもよい。そのような実施例では、デコーダは、コーディング順を決定する際にエンコーダによって行われるものと同一のプロセスを行う。
【０１５３】
エンコーダが、それぞれの係数に適用される量子化ステップサイズに基づいてコーディング順を決定する、一実施形態例では、コーディング順データは、それぞれの係数に対する量子化ステップサイズ情報を含んでもよい。この点に関して、コーディング順データは、データが量子化された変換領域係数を正しく逆量子化することを可能にするように、ビットストリームの中で送信される量子化ステップサイズデータである。デコーダは、量子化された変換領域係数をエントロピー符号化するために使用されるコーディング順を決定するために、量子化ステップサイズ情報を使用する。
【０１５４】
ここで、符号化されたデータを復号する方法５００を示す図１５を参照する。符号化されたデータは、フレーム毎またはスライス毎に動的に決定されるコーディング順を使用してエントロピー符号化される、量子化された変換領域係数を含む。符号化されたデータは、符号化されたデータに挿入されたコーディング順データを含む。ステップ５０２では、デコーダが符号化されたデータを受信する。これは、通信システムを介した、符号化されたデータの受信の結果として発生してもよい。符号化されたデータは、有線または無線ネットワーク上で伝送されるビットストリームの形態であってもよい。別の実施例では、符号化されたデータは、磁気または光ディスク等のコンピュータ可読媒体上に記憶されてもよく、ステップ５０２でデコーダによって媒体から読み出されてもよい。
【０１５５】
ステップ５０４では、デコーダが、符号化されたデータからコーディング順データを抽出する。コーディング順データは、いくつかの実施形態では、量子化された変換領域係数をエントロピー符号化するために使用されるコーディング順を詳述する、明確な情報を含んでもよい。他の実施形態では、コーディング順データは、そこからデコーダが使用されるコーディング順を判定してもよい、データを含んでもよい。例えば、コーディング順データは、量子化された変換領域係数のブロックのそれぞれの係数に使用される量子化ステップサイズを含んでもよく、コーディング順は、量子化ステップサイズに基づいて決定されてもよい。１つの場合では、コーディング順は、増大する量子化ステップサイズに基づいてもよい。ステップ５０６は、コーディング順を決定する動作を示す。
【０１５６】
ステップ５０８では、デコーダが、続けて、符号化されたデータをエントロピー復号し、ステップ５０６で決定されたコーディング順によって特定される順番で、量子化された変換領域係数を回収する。
【０１５７】
ステップ５１０では、デコーダが、続けて、例えば、再構築された残余データを作成するように、量子化された変換領域係数を逆量子化および逆変換し、必要に応じて空間または動き補償を適用し、再構築されたフレーム／スライスを出力することによって、ビデオのピクセルデータの再構築を完了する。
【０１５８】
ここで、エンコーダ９００の実施形態例の簡易ブロック図を示す、図１３を参照する。エンコーダ９００は、プロセッサ９０２と、メモリ９０４と、符号化アプリケーション９０４とを含む。符号化アプリケーション９０６は、メモリ９０４に記憶され、本明細書で説明されるもの等のステップまたは動作を行うようにプロセッサ９０２を構成するための命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。例えば、符号化アプリケーション９０６は、Ｈ．２６４規格を使用して符号化される、ビデオビットストリームを符号化し、出力してもよい。符号化アプリケーション９０６は、フィードバックループ内でイントラコード化されたブロックのインループ非ブロック化を行うように構成される、インループ非ブロック化構成要素またはモジュール９０８を含んでもよい。符号化アプリケーション９０６は、本明細書で説明されるように、フレーム毎に係数に対する量子化ステップサイズを適合的に選択するように構成される、適合量子化器モジュール３００を含んでもよい。符号化アプリケーション９０６は、本明細書で説明されるように、改訂コンテキストモデルを使用して、量子化された残余および他のデータをエントロピー符号化するように構成される、エントロピーエンコーダ２６を含んでもよい。符号化アプリケーション９０６、非ブロック化モジュール９０８、適合量子化器モジュール３００、および／またはエントロピーエンコーダ２６は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ可読媒体上に記憶されてもよいことが理解されるであろう。
【０１５９】
ここで、デコーダ１０００の実施形態例の簡易ブロック図を示す、図１４も参照されたい。デコーダ１０００は、プロセッサ１００２と、メモリ１００４と、復号アプリケーション１００６とを含む。復号アプリケーション１００６は、メモリ１００４に記憶され、本明細書で説明されるもの等のステップまたは動作を行うようにプロセッサ１００２を構成する命令を含有する、コンピュータプログラムまたはアプリケーションを含んでもよい。例えば、復号アプリケーション１００６は、Ｈ．２６４規格を使用して符号化される、ビデオビットストリームを復号化し、表示してもよい。復号アプリケーション１００６は、イントラコード化されたブロックのインループ非ブロック化を行うように構成される、インループ非ブロック化構成要素またはモジュール１００８を含んでもよい。復号アプリケーション１００６および／または非ブロック化モジュール１００８は、コンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ可読媒体上に記憶されてもよいことが理解されるであろう。
【０１６０】
本願によるデコーダおよび／またはエンコーダは、サーバ、好適にプログラムされた汎用コンピュータ、セットトップテレビボックス、テレビ放送機器、およびモバイルデバイスを無制限に含む、いくつかのコンピュータデバイスに実装されてもよいことが理解されるであろう。デコーダまたはエンコーダは、本明細書で説明される機能を実行するようにプロセッサを構成するための命令を含有する、ソフトウェアを介して実装されてもよい。ソフトウェア命令は、ＣＤ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を含む、任意の好適なコンピュータ可読メモリ上に記憶されてもよい。
【０１６１】
本明細書で説明されるエンコーダ、ならびにエンコーダを構成するための説明された方法／プロセスを実装する、モジュール、ルーチン、プロセス、スレッド、または他のソフトウェア構成要素は、標準コンピュータプログラミング技法および言語を使用して実現されてもよいことが理解されるであろう。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング慣例、データ構造、他のそのような実装詳細に限定されない。当業者であれば、説明されたプロセスは、特定用途向け集積チップ（ＡＳＩＣ）として揮発性または不揮発性メモリに記憶される、コンピュータ実行可能コードの一部として実装されてもよいことを認識するであろう。
【０１６２】
説明された実施形態のある適合および修正を行うことができる。したがって、上記で論議された実施形態は、限定的ではなく例示的と見なされる。
【図１】
0005303659.tif 000036
【図２】
0005303659.tif 000037
【図３】
0005303659.tif 000038
【図４】
0005303659.tif 000039
【図５】
0005303659.tif 000040
【図６】
0005303659.tif 000041
【図７】
0005303659.tif 000042
【図８】
0005303659.tif 000043
【図９】
0005303659.tif 000044
【図１０】
0005303659.tif 000045
【図１１】
0005303659.tif 000046
【図１２】
0005303659.tif 000047
【図１３】
0005303659.tif 000048
【図１４】
0005303659.tif 000049
【図１５】
0005303659.tif 000050