(57)【要約】  デジタルメディアコンテンツ（例えば、画像、ビデオ、音声等）符号器／復号器が、空間的に変化するパラメータを利用して、空間領域重複変換用の隣接変換ブロックエッジに対する重複前処理および後処理の適用を条件付ける。デジタルメディアのサブブロックに対する重複変換の本条件付き適用は、エッジ、ブロック、マクロブロックまたは他の粒度でシグナリングされうる。さらに、フレームレベルの量子化または他のビットレート関係パラメータに基づく条件付き重複変換の使用を制限することで、低ビットレート符号化でのシグナリングオーバーヘッドの影響が最小化される。【特許請求の範囲】
【請求項１】
デジタルメディアコンテンツを変換符号化／復号化する方法であって、
前記デジタルメディアコンテンツのブロックを変換符号化／復号化すること、および
変換符号化／復号化の前後に、前記デジタルメディアコンテンツの変換ブロック間のエッジのサブセットに、空間的に変化する基準に基づいて条件付きで重複フィルタを適用すること
を備えたことを特徴とする方法。
【請求項２】
条件付きで重複フィルタを適用することは、前記デジタルメディアコンテンツの隣接変換ブロック間のエッジに適用された複数の重複フィルタモード間で空間的に変化する基準に基づいて切り替えることを特徴とする請求項１に記載の方法。
【請求項３】
前記の複数の重複フィルタモードは、重複なしのフィルタリングを含むことを特徴とする請求項１に記載の方法。
【請求項４】
フレームレベルの粒度を有するビデオシーケンス内における、複数エッジの隣接変換ブロック間のエッジに適用される前記重複フィルタモードを切り替えることを備えたことを特徴とする請求項２に記載の方法。
【請求項５】
マクロブロックレベルの粒度を有するビデオシーケンス内における、複数エッジの隣接変換ブロック間のエッジに適用される前記重複フィルタモードを切り替えることを備えたことを特徴とする請求項２に記載の方法。
【請求項６】
隣接変換ブロックエッジレベルの粒度を有するビデオシーケンス内における、複数エッジの隣接変換ブロック間のエッジに適用される前記重複フィルタモードを切り替えることを備えたことを特徴とする請求項２に記載の方法。
【請求項７】
デジタルメディアコンテンツの符号器から復号器へ、隣接変換ブロックエッジ毎の基準に基づき前記重複フィルタモードをシグナリングすることを備えたことを特徴とする請求項２に記載の方法。
【請求項８】
デジタルメディアコンテンツの符号器から復号器へ、マクロブロック毎の基準に基づいて前記重複フィルタモードをシグナリングすることを備えたことを特徴とする請求項２に記載の方法。
【請求項９】
符号化されたビデオビットストリームを復号化する方法であって、
符号化されたビデオビットストリーム内のフレームの複数の符号化されたブロックのブロックデータを復号化すること、
前記復号化されたブロックデータの逆量子化を行うこと、
前記復号化されたブロックデータの変換ブロックの逆変換を行うこと、
前記符号化されたデオビットストリームの少なくとも１つのシンタックス要素から少なくとも１つの隣接変換ブロックエッジのグループに対して重複モードを判定すること、
グループに対する前記の判定された重複モードに従って複数の重複フィルタ間で切り替えること、および
前記それぞれの重複フィルタを前記グループに適用すること
を備えたことを特徴とする方法。
【請求項１０】
前記少なくとも１つのシンタックス要素は、隣接変換ブロックエッジ毎に重複モードフラグを備えたことを特徴とする請求項９に記載の方法。
【請求項１１】
前記少なくとも１つのシンタックス要素は、前記符号化されたビデオビットストリームのビットレートに関するシンタックス要素を備えたことを特徴とする請求項９に記載の方法。
【請求項１２】
前記符号化されたビデオビットストリームのビットレートに関する前記シンタックス要素は、フレームレベルの量子化パラメータであることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記少なくとも１つのシンタックス要素は、マクロブロックの粒度を有する重複モードフラグのセットを備えたことを特徴とする請求項９に記載の方法。
【請求項１４】
前記重複モードフラグのセットは、ビットプレーン符号化を使用して符号化されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記少なくとも１つのシンタックス要素は、フレームレベルの重複パラメータ、フレームベースのビットレート関係パラメータ、および空間的に変化するモードパラメータを備え、前記方法は、
前記ビットレート関係パラメータが低ビットレートを示す場合、前記それぞれのフレーム内の前記隣接変換ブロックエッジに対する重複フィルタの適用を判定すること、
前記フレームレベルの重複パラメータが重複を指定しない場合、前記それぞれのフレーム内の前記隣接変換ブロックエッジに対する重複なしフィルタの適用を判定すること、
前記フレームレベルの重複パラメータが条件付き重複を指定する場合、グループの前記空間的に変換するモードパラメータによって指定される重複フィルタの前記グループ内の前記隣接変換ブロックエッジに対する適用を判定すること、および
そうでない場合は、前記それぞれのフレーム内の前記隣接変換ブロックエッジに対する前記重複フィルタの適用を判定すること
をさらに備えたことを特徴とする請求項９に記載の方法。
【請求項１６】
前記少なくとも１つのシンタックス要素は、さらにシーケンスレベルの重複パラメータを備え、前記方法は、
前記シーケンスレベルの重複パラメータが重複を指定しない場合、前記シーケンスの全てのフレーム内における前記隣接変換ブロックエッジに対する前記重複なしフィルタの適用を判定することをさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項１７】
条件付き重複変換を使用して符号化されたビデオストリームを符号化／復号化する方法を行う処理ユニットによって実行可能なソフトウェアモジュールを有する少なくとも１つのコンピュータ読取り可能プログラム記憶媒体において、前記方法は、
重複フィルタが隣接ブロックエッジに適用されない少なくとも１つの重複なし状態、および重複フィルタが隣接ブロックエッジに適用される１つの重複状態を有する重複条件を判定することであって、その際前記重複条件はビデオシーケンス内のピクチャ上で空間的に変化すること、および
前記重複条件が前記重複状態にある場合に前記重複フィルタを隣接ブロックエッジに適用すること
を備えたことを特徴とするコンピュータ読取り可能プログラム記憶媒体。
【請求項１８】
請求項１７に記載の少なくとも１つのコンピュータ読取り可能プログラム記憶媒体であって、前記方法は、
ビットレート関係パラメータに基づいて前記重複フィルタの前記判定および前記適用を制限すること
をさらに備えたことを特徴とする媒体。
【請求項１９】
前記ビットレート関係パラメータは、フレームレベルの量子化パラメータであることを特徴とする請求項１８に記載の少なくとも１つのコンピュータ読取り可能プログラム記憶媒体。
【請求項２０】
請求項１７に記載の少なくとも１つのコンピュータ読取り可能プログラム記憶媒体であって、
前記重複条件は、マクロブロック毎の重複フラグによって前記ビデオビットストリーム内でシグナリングされ、前記判定と適用は、
前記重複フィルタを、重複条件が前記重複状態にあるとシグナリングされるマクロブロックのイントラブロックエッジに適用すること、
前記重複フィルタを、両方の重複条件が前記重複状態にあるとシグナリングされる隣接マクロブロック間のブロックエッジに適用すること
をさらに備えた特徴とする媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディアコンテンツ信号（例えば、音声、ビデオ、画像、テキスト、スピーチ等）をデジタル的に符号化、復号化、および処理する技術に関する。より詳細には、本発明は、重複変換に基づくデジタルメディアコーデックに関する。
【背景技術】
【０００２】
変換符号化は、多くの音声、画像およびビデオ圧縮システムにおいて使用される圧縮技術である。非圧縮のデジタル画像およびビデオは一般的に、２次元グリッド内に配列した画像またはビデオフレーム内の複数位置にあるピクチャエレメントまたは色のサンプルとして表現、または捉えられる。例えば、画像用の典型的なフォーマットは、グリッドとして配列した２４ビット色ピクチャエレメントサンプルのストリームから成る。各サンプルは、例えばＲＧＢ，またはＹＩＱ等、色空間内のグリッドにおける画素位置での色成分を表現する数である。様々な画像およびビデオシステムは、サンプリングの様々な異なる色解像度、空間解像度、時間解像度を使用してもよい。
【０００３】
非圧縮のデジタル画像およびビデオ信号は、相当量の記憶容量および伝送容量を消費しうる。変換符号化は、信号の空間領域表現を周波数領域（または他の類似変換領域）表現へと変換し、その後、その変換領域表現内の一般的にやや認識しにくい一定の周波数成分解像度を削減することにより、デジタル画像およびビデオのサイズを削減する。これにより一般的に、空間領域において画像またはビデオの色または空間解像度を削減することと比較して、デジタル信号の認識可能な劣化が大幅に削減される。
【０００４】
より具体的には、図１に示す典型的な変換符号化技術１００は、非圧縮のデジタル画像の画素を固定サイズの２次元ブロックに分割する。各ブロックは他のブロックと重なるかもしれない。空間周波数分析を行う線形変換１１０が各ブロックに適用され、ブロック内の間隔をあけたサンプルが周波数（または変換）係数のセットに変換される。この係数は一般的に、ブロック間隔上の対応周波数帯におけるデジタル信号の強さを表す。圧縮のため、変換係数は選択的に量子化され（すなわち、係数値の最下位ビットを落とすこと、またはより高い解像度数のセットの値をより低い解像度にマッピングすること等により、解像度が削減される）、また量子化器／エントロピー符号器１２０によって圧縮データストリームへとエントロピー符号化または可変長符号化される。逆量子化／エントロピー復号化１３０の後、変換係数は逆変換１４０して、元の色／空間サンプル画像／ビデオ信号をほぼ再構築する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
静的画像（またはビデオシーケンスにおけるイントラ符号化フレーム）を圧縮する間、ＭＰＥＧ−２、ＭＰＥＧ−４およびウィンドウズメディア等の最も一般的な標準は、画像を四角形のタイルに区分し、各画像タイルにブロック変換を適用する。与えられたパーティション（一般的にはブロックとして知られる）内の変換係数は、ブロック内の未加工データ成分によってのみ影響を受ける。量子化等の符号器側での不可逆またはロスを伴う操作が原因で、復号化された画像内にアーティファクトが現れる。これらのアーティファクトはブロックに渡って独立であり、ブロッキング効果として知られる視覚的に気に障る効果が生じる。
【０００６】
音声データに対しても同様に、重複しないブロックが独立して変換符号化される場合、量子化エラーによって、復号器で音声信号を再構築する際のブロック境界で、信号内の不連続性が生じるであろう。音声に対しては、周期的クリッキング効果が聞かれている。
【０００７】
（空間領域重複変換）
ブロッキング効果を最小化するため、クロスブロック相関を利用できる。クロスブロック相関を達成する１つの方法は、Ｈ．Ｍａｌｖａｒによる「重複変換を用いた信号処理」（１９９２年、マサチューセッツ州ノーウッド、アーテックハウス）で記述されているように、重複変換を使用することである。重複変換とは、入力が、現ブロック中のデータ要素に加えて、近隣ブロック内の少数の隣接要素にまたがる変換である。同様に、再構築側では逆変換が、近隣ブロック内の少数のデータ点と同様に、現在のブロック内の全てのデータ点に影響する。
【０００８】
２次元（２Ｄ）データの場合では重複２Ｄ変換は、左、上、右、下、およびできれば左−上、右−上、左−下、および右−下に対するブロックの選択された要素を伴う、現在のブロックの関数である。現在の変換を計算するために使用される近隣ブロック内のデータ点の数は、重複と呼ばれる。
【０００９】
重複変換は、変換領域において、従来のブロック変換後に変換領域量をマージするステップとして実装されうる。または重複変換は、重複範囲内の画素に適用される前処理段階によって、空間領域において実装されうる。これらの２つの実装は数学的に関係し、従って等価である。
【００１０】
図２に示されるように、変換領域重複変換（ＳＤＬＴ）２００は、それぞれ順方向ブロック変換１１０の前、および逆ブロック変換１４０の後に行われる、前処理ステップ２１０および後処理ステップ２２０として実装される重複変換である（例えば、Ｓｒｉｎｉｖａｓａｎらによる「デジタルメディア圧縮における空間領域重複変換の改善」米国特許出願番号１０／６２０、７４４、２００３年７月１５日掲載（以降、「改善ＳＤＬＴ特許出願」と呼ぶ）を参照のこと）。空間領域重複変換は、効率改善のため既存のブロック変換ベースの圧縮技術を改造する目的でしばしば使用される。
【課題を解決するための手段】
【００１１】
ＳＤＬＴが、非予測的な（すなわち、イントラ）方法で符号化されている他デジタルメディアコンテンツの画像（ビデオシーケンス内のフレーム等）の全ての部分に対して適用されるとき、一定の制限問題が生じる。すなわち、  
１．プレフィルタは範囲拡張的である。従って、符号器側でプレフィルタした後に、画像の一定領域が一杯になるかまたは切り取られてもよい。同様に、復号器側でオーバーフローする可能性がある。  
２．プレフィルタは尖鋭化処理（sharpening）である。局所的な高周波数成分（特にブロックエッジに並んだ画像エッジ）を伴う画像領域の符号化効率は、従って重複変換の結果減少する。
【００１２】
デジタルメディア信号処理と符号化／復号化技術とここで記述されるシステムとを使用して実装された条件付き重複変換は、これらの問題に対処するための重複プロセスをより良く制御する。この条件付き重複変換は、重複変換のプレフィルタおよびポストフィルタの選択または適用において、空間的柔軟性を考慮する。言い換えると、この重複変換は、デジタルメディアコンテンツの異なる領域（例えば、画像の別個のブロック）に対して条件付きで適用される。
【００１３】
例えば、ここで記述される条件付き重複変換の一実装は、空間的に変化するモードパラメータを使用して、復号時に適用される重複ポストフィルタの適用と範囲を指定する。ビデオコーデックでは例えば、この空間的に変化するモードパラメータは、画像内のどのブロックエッジに対して重複変換のポストフィルタが適用されるかを指定する。一実装においては、モードパラメータは、より効率的に符号化され、マクロブロック粒度をもったブールフラグとしてビデオシーケンスのイントラ符号化フレームに対して伝送される。これは、ブロックエッジ毎にモードパラメータを符号化するよりも効率的である。さらにこの実装は、ビットレートに関係する量子化パラメータに基づいて条件付き重複モードに制限を課し、低ビットレートでの条件付き重複変換を行うことの影響を最小化する。
【発明を実施するための最良の形態】
【００１４】
本発明の追加的な特徴と利点は、添付図面を参照して進められる以下の実施形態の詳細説明から明らかになるであろう。
【００１５】
以下の記述は、条件付き重複変換の実装に関する。この実装では、重複変換に関連付けられたブロックエッジフィルタが、デジタルメディアコンテンツ上で空間的に変化する基準に基づいて、条件付きで適用される。条件付き重複変換の例示的適用は、画像またはビデオの符号器および復号器にある。しかしながら、この空間領域重複変換の条件付き形態は画像またはビデオコーデックに制限されず、他のメディア符号化、復号化および／または処理システムに対して適用されうる。従って、条件付き重複変換は一般化された画像またはビデオ符号器および復号器の文脈で記述されるが、代わりとして、条件付きまたは空間的に変化する基準に基づいた重複変換の重複フィルタを利用する様々な種類のメディア信号符号化、復号化および／または処理システム（例えば、音声、ビデオ、画像等）に組み込むことができ、これは空間領域内でも変換領域内でも可能である。
【００１６】
（１．一般化されたビデオ符号器および復号器）
図３は一般化されたビデオ符号器（３００）のブロック図であり、図４は一般化されたビデオ復号器（４００）のブロック図であって、ＷＭＶ９／ＶＣ−９変換が組み込まれうる。符号器および復号器内のモジュール間の関係は、符号器および復号器内の情報の主な流れを示し、他の関係は簡単なため示されていない。特に、符号器設定、モード、テーブル等を示し、ビデオシーケンス、フレーム、マクロブロック、ブロック等に対して使用される副情報を、図３および図４は通常示さない。一般的にそのような副情報は、エントロピー符号化した後に、出力ビットストリームに送信される。出力ビットストリームのフォーマットは、ＷＭＶ（Windows Media Video）フォーマットまたは別のフォーマットでありうる。
【００１７】
符号器（３００）および復号器（４００）はブロックベースであり、４：２：０のマクロブロック形式を使用し、各マクロブロックは、４つの輝度と８×８輝度ブロック（場合によっては１つの１６×１６マクロブロックとして扱われる）および２つの８×８色差ブロックを含む。あるいは、符号器（３００）および復号器（４００）はオブジェクトベースであって、異なるマクロブロックもしくはブロックの形式を使用し、または８×８ブロックおよび１６×１６マクロブロックとは異なるサイズもしくは構成の画素のセットに対して動作を行う。
【００１８】
実装および望ましい圧縮タイプに依存して、符号器または復号器のモジュールが追加、除外、多数モジュールへ分割、他モジュールと結合、および／または類似モジュールと取り替えられうる。代替的な実施形態では、異なるモジュールおよび／または他のモジュール設定を有する符号器または復号器が、１または複数の上述の技術を行う。
【００１９】
（Ａ．ビデオ符号器）
図３は、一般的な符号器システム（３００）のブロック図である。符号器システム（３００）は現フレーム（３０５）を含むビデオフレームシーケンスを受信し、出力として圧縮ビデオ情報（３９５）を作成する。ビデオ符号器の特別な実施形態は一般的に、一般化された符号器（３００）の変形または補強バージョンを使用する。
【００２０】
符号器システム（３００）は、予測フレームおよびキーフレームを圧縮する。提示のため、図３は符号器システム（３００）を通るキーフレーム用パス、および順方向予測フレーム用パスを示す。符号器システム（３００）のコンポーネントの多くは、キーフレームと予測フレームの両方を圧縮するために使用される。これらのコンポーネントによって行われる厳密な動作は、圧縮される情報のタイプに依存して変化しうる。
【００２１】
予測フレーム（ｐフレーム、双方向予測であるｂフレーム、またはインター符号化フレームとも呼ばれる）は１または複数の他フレームからの予測（または差分）の観点から表現される。予測残差は、予測されたものと元のフレームとの間の差分である。対照的に、キーフレーム（ｉフレーム、イントラ符号化フレームとも呼ばれる）は、他のフレームを参照せずに圧縮される。
【００２２】
現フレーム（３０５）が順方向予測フレームである場合、動き推定器（３１０）が現フレーム（３０５）のマクロブロックまたは他の画素のセットの動きを参照フレームに関して推定する。この参照フレームは、フレームストア（３２０）にバッファされた再構築された前フレーム（３２５）である。代替的な実施形態において、参照フレームが後フレームであるか、または現フレームが双方向的に予測される。動き推定器（３１０）は、副情報として動きベクトル等の動き情報（３１５）を出力する。動き補償器（３３０）は、動き情報を再構築された前フレーム（３２５）に適用し、動き補償された現フレーム（３３５）を形成する。しかしながら、予測が完全であることは稀で、動き補償された現フレーム（３２５）と元の現フレーム（３０５）の差分が予測残差（３４５）である。あるいは、動き推定器および動き補償器は、別のタイプの動き推定／補償を適用する。
【００２３】
周波数変換器（３６０）は、空間領域ビデオ情報を周波数領域（すなわち、スペクトル）データに変換する。ブロックベースのビデオフレームに対して周波数変換器（３６０）は、以下の節で記述する、離散コサイン変換（「ＤＣＴ」）に類似した特性を有する変換を適用する。いくつかの実施形態では、周波数変換器（３６０）は、キーフレームに対する空間予測残差ブロックに周波数変換を適用する。周波数変換器（３６０）は、８×８、８×４、４×８または他のサイズの周波数変換を適用できる。
【００２４】
量子化器（３７０）はその後、スペクトルデータ係数のブロックを量子化する。量子化器は、フレーム単位の基準または他の基準に基づき変化するステップサイズを有するスペクトルデータに、均一量子化、スカラー量子化を適用する。あるいは、量子化器は、例えば不均一量子化、ベクトル量子化、もしくは非適応量子化等、別のタイプの量子化をスペクトルデータ係数に適用し、または、周波数変換を使用しない符号器システムにおける空間領域データを直接量子化する。適応量子化に加え、符号器（３００）はレート制御に対して、フレーム棄却、適応フィルタリング、または他の技術を使用できる。
【００２５】
再構築された現フレームが次の動き推定／補償に必要とされた場合、逆量子化器（３７６）は量子化されたスペクトルデータ係数に対して逆量子化を行う。逆周波数変換器（３６６）はその後、周波数変換器（３６０）の動作の逆を行い、再構築された予測残差（予測フレームに対する）または再構築されたキーフレームを作成する。現フレーム（３０５）がキーフレームであった場合、再構築されたキーフレームは再構築された現フレームと捉えられる（不図示）。現フレーム（３０５）が予測フレームであった場合、再構築された予測残差は動き補償された現フレーム（３３５）に追加され、再構築された現フレームが形成される。フレームストア（３２０）は、次フレームの予測に使用するため、再構築された現フレームをバッファする。いくつかの実施形態では、符号器は再構築されたフレームに対してデブロッキングフィルタを適用し、適応的にフレームのブロック内の不連続性を平滑化する。
【００２６】
エントロピー符号器（３８０）は、一定の副情報（例えば、動き情報（３１５）、量子化ステップサイズ）と同様に量子化器（３７０）の出力も圧縮する。典型的なエントロピー符号化技術には、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、ＬＺ符号化、辞書符号化、およびそれらの組み合わせが含まれる。エントロピー符号器（３８０）は一般的に、異なる符号化技術を異なる種類の情報（例えば、ＤＣ係数、ＡＣ係数、異なる種類の副情報）に対して使用し、それを特定の符号化技術内の複数の符号テーブルから選択できる。
【００２７】
エントロピー符号器（３８０）は圧縮ビデオ情報（３９５）をバッファ内に置く。バッファレベルのインジケータは、ビットレート適応モジュールにフィードバックされる。圧縮ビデオ情報（３９５）は一定のまたは相対的に一定のビットレートでバッファ（３９０）から空乏化され、そのビットレートで次のストリーミング用に格納される。あるいは、符号器システム（３００）は圧縮直後に圧縮ビデオ情報を流す。
【００２８】
バッファ（３９０）の前または後に、圧縮ビデオ情報（３９５）はネットワーク上での伝送のためにチャネル符号化される。チャネル符号化は、圧縮ビデオ情報（３９５）に対してエラー検出データおよび訂正データを適用できる。
【００２９】
（Ｂ．ビデオ復号器）
図４は、一般的なビデオ復号器システム（４００）のブロック図である。復号器（４００）は、ビデオフレームの圧縮シーケンスに対する情報（４９５）を受信し、再構築されたフレーム（４０５）を含む出力を作成する。ビデオ復号器の特定の実施形態は一般的に、一般化された復号器（４００）の変形または補強バージョンを使用する。
【００３０】
復号器システム（４００）は、予測フレームおよびキーフレームを圧縮解除する。提示のため、図４は復号器システム（４００）を通るキーフレーム用パス、および順方向予測フレーム用パスを示す。復号器システム（４００）のコンポーネントの多くは、キーフレームと予測フレームの両方を圧縮するために使用される。これらのコンポーネントによって行われる厳密な動作は、情報が圧縮される型に依存して変化しうる。
【００３１】
バッファ（４９０）は、圧縮ビデオシーケンスに対する情報を受信し、エントロピー復号器（４８０）が受信した情報を利用できるようにする。バッファ（４９０）は一般的に、時間とともに全く一定の割合で情報を受信して、バンド幅または伝送における短期間の変化を平滑化するためのジッタバッファを含む。バッファ（４９０）は、再生バッファおよび他のバッファを同様に含むことができる。あるいは、バッファ（４９０）は変化する割合で、情報を受信する。バッファ（４９０）の前または後に、圧縮ビデオ情報はエラー検出および訂正のために、チャネル復号化および処理されうる。
【００３２】
エントロピー復号器（４８０）は、符号器で行われたエントロピー符合化の逆を一般的に適用して、エントロピー符号化された副情報（例えば、動き情報、量子化ステップサイズ）と同様に、エントロピー符号化された量子化データをエントロピー復号化する。エントロピー復号化技術には、算術復号化、差分復号化、ハフマン復号化、ランレングス復号化、ＬＺ復号化、辞書復号化、およびそれらの組み合わせが含まれる。エントロピー復号器（４８０）は頻繁に、異なる復号化技術を異なる種類の情報（例えば、ＤＣ係数、ＡＣ係数、異なる種類の副情報）に対して使用し、それを特定の復号化技術内の複数の符号テーブルから選択できる。
【００３３】
再構築されるフレーム(４０５)が順方向予測フレームである場合、動き補償器（４３０）は動き情報（４１５）を参照フレーム（４２５）に適用し、フレーム（４０５）が再構築される予測（４３５）を形成する。例えば、動き補償器（４３０）はマクロブロック動きベクトルを使用して、参照フレーム（４２５）内のマクロブロックを見つける。フレームバッファ（４２０）は前の再構築されたフレームを、参照フレームとして使用するため格納する。あるいは、動き補償器は別のタイプの動き補償を適用する。動き補償器による予測が完全であることは稀で、従って復号器（４００）も予測残差を再構築する。
【００３４】
復号器が次の動き補償用の再構築されたフレームを必要とする場合、フレームストア（４２０）は次フレームの予測で使用するための再構築されたフレームをバッファする。いくつかの実施形態では、符号器は再構築されたフレームに対してデブロッキングフィルタを適用し、適応的にフレームのブロック内の不連続性を平滑化する。
【００３５】
逆量子化器（４７０）は、エントロピー復号化データを逆量子化する。一般的に逆量子化器は、フレーム単位基準または他の基準に基づき変化するステップサイズを有するエントロピー復号化データに、均一逆量子化、スカラー逆量子化を適用する。あるいは逆量子化器は、例えば不均一量子化、ベクトル量子化、もしくは非適応的量子化等、別のタイプの逆量子化をデータに適用し、または、逆周波数変換を使用しない復号器システムにおける空間領域データを直接逆量子化する。
【００３６】
逆周波数変換器（４６０）は量子化された、周波数領域データを空間領域ビデオ情報に変換する。ブロックベースのビデオフレームに対して、逆周波数変換器（４６０）は以下の節で記述される逆変換を適用する。いくつかの実施形態では、逆周波数変換器（４６０）は逆周波数変換を、キーフレームに対する空間予測残差ブロックに適用する。逆周波数変換器（４６０）は８×８、８×４、４×８、または他のサイズの逆周波数変換を適用できる。
【００３７】
（２．条件付き重複変換）
再び図２に関して、一般的な前空間領域重複変換が符号器／復号器２００により画像上で行われた際、前処理および後処理フィルタ段階２１０、２２０が画像の隣接ブロックエッジ全てに適用される。８×８ブロックを使用して符号化されたＭ×Ｎサイズの画素から成る画像は、輝度チャネル単体で、隣接する８×８ブロック間に約Ｍ＊Ｎ／３２個の別のエッジを有する。先行技術の符号器／復号器２００が空間領域重複変換を画像に適用する箇所で、フィルタ段階２１０、２２０が画像のそれらの隣接ブロックエッジの各々に適用される。
【００３８】
（Ａ．隣接ブロックエッジ毎の重複モードシグナリング）
図５に示す条件付き重複変換の第１の実装において、符号器に対する図である図５に示されるように、符号器は各隣接ブロックエッジに対応する別の記号（重複モード記号５１０）を送信し、重複フィルタ（Ｍｎ）５２０−５２２（フィルタを通りぬける場合がある、すなわちフィルタリングが適用されない）の選択を定義する。符号器において、様々な基準に基づいてフィルタを選択できる。これらの基準は、例えば、フィルタの結果が範囲外であるか否か、平滑化テスト、速度偏差（rate distortion）最適化基準、およびこれらの基準の組み合わせを含む。このスイッチは重複フィルタの「モード」と呼ばれ、モードはプレフィルタおよびポストフィルタが適用される「条件」を判定する。図５は、スイッチ設定を判定し、フィルタリングされる各ブロックエッジに対して送られる、重複モードパラメータを示す。
【００３９】
各プレフィルタおよびポストフィルタに独立してフラグをつけることを許すことの不利な点の１つは、フィルタリングモードに関連するオーバーヘッドが増加することである。例えば、３２０×２４０のサイズのビデオが３０ｆ／ｓで符号化されていると仮定する。さらに、１つのＩフレーム（イントラ符号化フレーム）が毎秒送信されると仮定する。従って、毎秒、ビデオの中におよそ３６００個の８×８イントラブロックエッジがある。（いくつかのブロックは画像境界にある可能性があり、従って隣接ブロックエッジではないため、この数字は近似値である。）単一ビットの重複モード記号（１ビットのオーバーヘッド）が各エッジに送信された場合でも、これは符号化されたビットストリーム内での３．６ｋｂｐｓビットレート（図３の圧縮ビデオ情報１９５）を超過し、無意味ではない。
【００４０】
（Ｂ．ビットレートベースおよびブロック毎の重複モードシグナリング）
別の実装例では、符号化ビットレートに基づき、かつブロック毎の重複モード記号を使用するようなシグナリングスキームを使用して、コーデックは重複モードにシグナリングするためにより低いオーバーヘッドを実施する。このシグナリングスキームは以下のシンタックス要素を利用する。すなわち、フレームレベルの量子化パラメータ（ＱＰ）、フレームレベルの重複フラグ、およびマクロブロックレベルの重複モードフラグである。他のビデオ符号化シンタックスを使用するコーデックにおいて、個々のブロックエッジ、またはブロックエッジのグループに対する条件付き重複変換モードは、他のシンタックススキームおよび要素を使用して符号化されることができる。例えば、フレームの符号化ビットレートまたは量子化に関係する別のシンタックス要素が使用できる。
【００４１】
図６および図７に関して、圧縮ビデオビットストリーム１９５（図３）は、圧縮プログレッシブビデオフレームまたは別のピクチャのシーケンスに対する情報を含む。ビットストリームは、図４の復号器（４００）等の復号器によって復号される、いくつかの階層レイヤに組織される。最上位レイヤはシーケンスレイヤで、フレームシーケンス全体に対する情報を有する。加えて、各圧縮ビデオフレームは、３つの階層レイヤに構造化されるデータから成る。上から下に向かって、各レイヤはピクチャ、マクロブロック、およびブロックである。
【００４２】
図６はシーケンスレイヤ６００用のシンタックス図であり、シーケンスレイヤ６００はピクチャレイヤのデータを伴うシーケンスヘッダ６１０を含む（図７を参照）。シーケンスヘッダ６１０は、復号器によって処理され、シーケンスの復号に使用されるいくつかのシーケンスレベルの要素を含む。これらの要素には、マクロブロック量子化（ＤＱＵＡＮＴ）要素６２０、量子化器指定子（ＱＵＡＮＴＩＺＥＲ）要素６３０、および重複変換フラグ（ＯＶＥＲＬＡＰ）要素６４０が含まれる。ＤＱＵＡＮＴ６２０は、量子化ステップサイズがフレーム内で変化しうるか否かを示す２ビットのフィールドである。ＤＱＵＡＮＴには３つの可能な値がある。ＤＱＵＡＮＴ＝０ならば、フレームあたり１つの量子化ステップサイズ（すなわち、フレーム量子化ステップサイズ）のみが使用されうる。ＤＱＵＡＮＴ＝１またはＤＱＵＡＮＴ＝２ならば、フレーム内の各マクロブロックを異なるように量子化することが可能である。
【００４３】
ＱＵＡＮＴＩＺＥＲ６３０は、シーケンスに使用される量子化器を示す２ビットの固定長符号（「ＦＬＣ」）である。量子化器タイプは次の表１に従って符号化される。
【００４４】
【表１】
2007506293.tif 000002
【００４５】
（重複変換フラグ（ＯＶＥＲＬＡＰ）（１ビット））
ＯＶＥＲＬＡＰ６４０は、以下で詳細に記述されるように、重複変換が使用されるか否かを示す１ビットのフラグである。ＯＶＥＲＬＡＰが１ならば重複変換が使用され、そうでなければ使用されない。
【００４６】
図７は、インターレースイントラ符号化フレーム用（「インターレースＩフレーム」）のピクチャレイヤ７００に対するシンタックス図である。プログレッシブＩフレーム、ＰピクチャおよびＢフレームのような、他のピクチャに対するシンタックス図は、多くの同様なシンタックス要素を有する。ピクチャレイヤ７００は、マクロブロックレイヤに対するデータを伴うピクチャヘッダ７１０を含む。ピクチャヘッダ７１０は、復号器によって処理され、対応フレームの復号化に使用されるいくつかのピクチャレベルの要素を含む。これらの要素のいくつかは、その存在がシーケンスレベルの要素または先行ピクチャレベルの要素によってシグナリングまたは暗示される場合にのみ、存在する。
【００４７】
図示したビットストリームシンタックスにおいて、フレームレベルの量子化パラメータ（ＱＰ）はピクチャ量子化器スケール（ＰＱＵＡＮＴ）の形で存在し、上述したシーケンスレベルのシンタックス要素ＱＵＡＮＴＩＺＥＲによって指定されるように、ピクチャレイヤシンタックス内で暗示的または明示的にシグナリングされうる。いずれの場合でも、ピクチャ量子化器スケール（ＰＱＵＡＮＴ）はピクチャ画像量子化器指数（ＰＱＩＮＤＥＸ）要素７２０から変換される。ＰＱＩＮＤＥＸ７２０は、フレーム全体に対して量子化器スケール指数をシグナリングする５ビットのフィールドである。これは全てのピクチャタイプ内に存在する。陰量子化器（implicit quantizer）が使用される場合、ＰＱＩＮＤＥＸは、フレームに対して使用されるピクチャ量子化器スケール（ＰＱＵＡＮＴ）および量子化器（３ＱＰまたは５ＱＰデットゾーン）の両方を指定する。表２は、ＰＱＩＮＤＥＸがどのようにＰＱＵＡＮＴおよび陰モードの量子化器に変換されるかを示す。
【００４８】
【表２】
2007506293.tif 000003
【００４９】
量子化器がシーケンスまたはフレームレベルで明示的にシグナリングされる場合、表３で示されるように、ＰＱＩＮＤＥＸがピクチャ量子化ステップサイズＰＱＵＡＮＴに変換される。
【００５０】
【表３】
2007506293.tif 000004
【００５１】
あるいは、表３に示される変換の代わりに、量子化器がシーケンスまたはフレームレベルで明示的にシグナリングされるとき、１から３１までの全てのＰＱＩＮＤＥＸ値に対して、ＰＱＵＡＮＴはＰＱＩＮＤＥＸと等しい。
【００５２】
ピクチャヘッダはさらに、条件付き重複フラグ（ＣＯＮＤＯＶＥＲ）要素７３０および条件付き重複マクロブロックパターンフラグ（ＯＶＥＲＦＬＡＧＳ）要素７４０を含む。この条件付き重複フラグ要素は以下で詳細に議論されるように、Ｉピクチャにのみ存在し、ＯＶＥＲＬＡＰがオンで、かつＰＱＵＡＮＴが一定範囲内にある場合にのみ存在する。ＯＶＥＲＦＬＡＧＳシンタックス要素はＩピクチャ内にのみ存在し、ＣＯＮＤＯＶＥＲがバイナリ値１１を有する場合にのみ存在する。ＯＶＥＲＦＬＡＧＳはビットプレーンとして符号化され、未加工モードにおいて、各マクロブロックがローカル情報ＯＶＥＲＦＬＡＧＭＢを伝えることを要求する。
【００５３】
（重複モードルール）
条件付き重複変換のこの第２の実装例において、符号器（図５）は、下記で列挙するようにイントラフレーム内の重複モードフラグに対していくつかの制約を課すことで、オーバーヘッドを制限する。
【００５４】
１．重複モードはバイナリ量であるよう設定される。ＦＡＬＳＥ値は、重複フィルタリングが適用されない（すなわち、プレフィルタおよびポストフィルタがフィルタを通り抜ける）ことを示し、ＴＲＵＥ値は、上で参照した改善ＳＤＬＴ特許出願における空間領域重複変換に対して定義されたように、重複フィルタリング段階が適用されることを示す。他の実装においては、重複フィルタモード数は図５に示したように、マクロブロック毎の追加オーバーヘッドを犠牲にすることで、より多くなることができる。
【００５５】
２．量子化閾値（ＱＴＨ）より大きい、またはＱＰ＞ＱＴＨ（すなわち、低ビットレートから非常に低いビットレートに対して）を満たす、フレームベースの量子化パラメータ（ＱＰ）の一定値（例えば、表２または表３から判定されたピクチャ量子化器スケール（ＰＱＵＡＮＴ））に対して、重複条件がイントラブロック間の全てのエッジに対してＴＲＵＥに設定される。図示した実装において、８という量子化閾値が使用されるが、代替的な実装では異なる量子化閾値を使用できる。
【００５６】
３．もしくは、ＱＰ≦ＱＴＨ（すなわち、高ビットレートから非常に高いビットレートに対して）を満たす一定のフレームベースの量子化パラメータ値に対して、フレーム内の各イントラマクロブロックがバイナリ重複モードフラグと関連付けられる。このフラグと関連付けられる重複フィルタルールは、前方に列挙される。
【００５７】
予測符号化フレーム（Ｐフレーム）内のイントラブロックおよびマクロブロックに対して、重複モードが量子化パラメータ（ＱＰ）単体から暗示的に導出される。このことは、符号化モードの選択においてＰフレームがＩフレームよりも非常に多くの自由度を考慮するので、合理的である。
【００５８】
図８のフロー図で示されるように、重複モードフラグは以下のように、第２の実装において符号化および復号化される。
【００５９】
１．重複モードが送信されず、さらに第１決定ブロック８１０におけるシーケンスレベルの重複フラグ（図６のＯＶＥＲＬＡＰ６４０）がＦＡＬＳＥに設定される場合は、重複は行われない（８５０）。
【００６０】
２．決定ブロック８２０においてＱＰ＞ＱＴＨの場合、重複モードフラグは暗示的にＴＲＵＥであり、シーケンスレベルの重複フラグ（ＯＶＥＲＬＡＰ６４０）は決定ブロック８１０においてＴＲＵＥである。この場合、重複はピクチャ（８７０）における隣接ブロックエッジ全てに対して行われる。
【００６１】
３．決定ブロック８２０においてＱＰ≦ＱＴＨの場合、３つの可能性（ａ、ｂまたはｃ）の１つを示すフレームレベルのフラグ（図７のＣＯＮＤＯＶＥＲ７３０）が送信され、以下に示すように動作が実行される。  
ａ．フレームに対して重複なし（８５０）
ｂ．フレーム内で全てのマクロブロックが重複（８７０）
ｃ．「条件付き重複」−マクロブロック毎の重複モードフラグ（図７のＯＶＥＲＦＬＡＧＳ７４０）が送信される（８６０）。  
これは、理解を簡単にするためフロー図において２つのバイナリ決定に分割される。
【００６２】
４．条件付き重複が示される場合、重複モードフラグは、イントラフレーム内の各イントラマクロブロックに送信されるバイナリフラグ（すなわち、ＯＶＥＲＦＬＡＧシンタックス要素）である。
【００６３】
（条件付き重複）
重複モードがマクロブロック毎にシグナリングされるので、複数のエッジが各条件付き重複フラグによって参照される。図示した実装においては、マクロブロックのサイズは（輝度チャネルに対して）１６×１６画素であり、変換ブロックサイズは８×８画素である。色差チャネルは８×８ブロックサイズに対する半分の空間解像度を有する。従って、エッジはマクロブロックに対して内部にあってもよく（すなわち、輝度チャネルに対するマクロブロック内の各変換ブロック間のエッジ）、または（輝度チャネルエッジのおよそ半分、および全ての色差チャネルエッジに対して）２つのマクロブロックにまたがってもよい。図９に図示するマクロブロックに対してシグナリングされた重複モードフラグの例によって図示されるように、プレ／ポストフィルタをエッジに適用するか否かを判定するルールは、以下に列挙される。
【００６４】
１．重複モードフラグがＦＡＬＳＥであるマクロブロック、またはイントラ符号化でないマクロブロックの内部マクロブロックエッジに対しては、プレフィルタリングまたはポストフィルタリングは適用されない。  
２．マクロブロック内の内部８×８イントラブロックエッジの全ては、マクロブロックがイントラ符号化され、対応する重複モードフラグがＴＲＵＥの場合は、プレ／ポストフィルタリングされる。  
３．２つのマクロブロックにまたがる８×８ブロックエッジは、下記を満たす場合のみフィルタリングされる。  
ａ．２つの８×８ブロックエッジがイントラブロックであり、かつ
ｂ．２つのマクロブロックの重複モードフラグ双方がＴＲＵＥである。
【００６５】
（重複モードシグナリング）
条件付き重複変換のこの第２図示された実装におけるイントラフレームのマクロブロック全てはイントラである。重複モードはフレームレベルの量子化パラメータＱＰに基づいて送信されるので、重複モードフラグは全てのマクロブロックに対して送信されるか、またはどのマクロブロックに対しても送信されないかのどちらかである。全てのマクロブロックに対して送信される場合、重複モードフラグはＭ×Ｎ画像（Ｍ、Ｎは１６の倍数と仮定）に対して（Ｍ／１６）＊（Ｎ／１６）のサイズのビットプレーンを構成する。
【００６６】
図示された条件付き重複変換の実装は、効率的な符号化メカニズム（「ビットプレーン」符号化と呼ばれ、以下で記述する）を使用し、マクロブロック毎の重複モードフラグを送信する。これは、重複モードフラグのビットプレーン表現が高度な空間的相関関係を有する、すなわち、垂直または水平方向の隣接ビットが高い確率で等しい値であるという仮定に依存している。この仮定は重複フラグに対して真であると分かる―現実世界の画像およびビデオに対して、重複モードフラグにおいて同様に明白であるように、十分な空間的連続性があると期待することは合理的である。
【００６７】
ビットプレーン符号化メカニズム（以下でより完全に記述される）は、イントラフレームに対する重複モードシグナリングを符号化するために使用される。フレーム全体に対する重複モードフラグは、タイリングの集まりの１つおよび符号テーブルを使用してフレームレベルで結合符号化される。ただし、マクロブロックヘッダと共に送信されるマクロブロックあたり１ビットで「未加工で」それらが符号化される場合は除く。
【００６８】
（ビットプレーン符号化）
ビットプレーン符号化においては、マクロブロック毎の条件付き重複フラグ等のマクロブロック特定のバイナリ情報は、マクロブロック毎に１つのバイナリ記号に符号化されることがある。これらの場合、フィールドまたはフレーム内の全てのマクロブロックに対する状態は、ビットプレーンとして符号化され、そのフィールドまたはフレームのヘッダに入れて伝送される。このルールに対する１つの例外は、ビットプレーン符号化モードが未加工モードと設定される場合であり、この場合、各マクロブロックに対する状態は記号あたり１ビットとして符号化され、マクロブロックレベルで他のマクロブロックレベルのシンタックスとともに伝送される。
【００６９】
フィールド／フレームレベルのビットプレーン符号化は、２次元バイナリ配列を符号化するために使用される。各配列のサイズはｒｏｗＭＢ×ｃｏｌＭＢであり、ここでｒｏｗＭＢおよびｃｏｌＭＢはそれぞれ、問題としているフィールドまたはフレーム内のマクロブロック行の数およびマクロブロック列の数である。ビットストリーム内で、各配列は連続ビットのセットとして符号化される。７つのモードのうち１つは各配列を符号化するために使用される。７つのモードは、  
１．未加工モード―情報は記号あたり１ビットで符号化され、ＭＢレベルのシンタックスの一部として伝送される。  
２．通常−２モード―２つの記号が結合的に符号化される。  
３．差分−２モード―ビットプレーンの差分符号化の後、２つの残差記号が結合的に符号化される。  
４．通常−６モード―６つの記号が結合的に符号化される。  
５．差分−６モード―ビットプレーンの差分符号化の後、６つの残差記号が結合的に符号化される。  
６．行スキップモード―１ビットスキップして、設定ビットなしで行をシグナリングする。および、  
７．列スキップモード―１ビットスキップして、設定ビットなしで列をシグナリングする。  
フィールドまたはフレームレベルでのビットプレーンに対するシンタックス要素は、以下のシーケンス内にある。すなわち、ＩＮＶＥＲＴ、ＩＭＯＤＥ、およびＤＡＴＡＢＩＴＳである。
【００７０】
（反転フラグ（ＩＮＶＥＲＴ））
ＩＮＶＥＲＴのシンタックス要素は１ビットの値であり、設定された場合、ビットプレーンがゼロビットよりも多くの設定ビットを有することを示す。ＩＮＶＥＲＴおよびそのモードに依存して、復号器は、元のビットプレーンを再作成するため、解釈されたビットプレーンを反転する。このビットの値は未加工モードが使用される場合は無視されるものとすることに注意する。ＩＮＶＥＲＴの値がビットプレーンの復号化においてどう使用されるかは、以下に提供する。
【００７１】
（符号化モード（ＩＭＯＤＥ））
ＩＭＯＤＥのシンタックス要素は、ビットプレーンを符号化するために使用される符号化モードを示す可変長の値である。表４は、ＩＭＯＤＥのシンタックス要素を符号化するために使用される符号テーブルである。ＩＭＯＤＥの値がビットプレーンの復号化においてどう使用されるかは、以下に記述する。
【００７２】
【表４】
2007506293.tif 000005
【００７３】
（ビットプレーン符号化ビット（ＤＡＴＡＢＩＴＳ））
ＤＡＴＡＢＩＴＳのシンタックス要素は、ビットプレーンに対する記号のストリームを符号化する可変サイズのシンタックス要素である。ビットプレーンを符号化するために使用される方法は、ＩＭＯＤＥの値により決定される。７つの符号化モードは、以下の項で記述される。
【００７４】
（未加工モード）
このモードでは、ビットプレーンは、マクロブロックのラスタスキャン順でスキャンされる記号あたり１ビットで符号化され、マクロブロックレイヤの一部分として送信される。あるいは、その情報はフィールドまたはフレームレベルにおいて未加工モードで符号化され、ＤＡＴＡＢＩＴＳはｒｏｗＭＢ×ｃｏｌＭＢビットの長さである。
【００７５】
（通常―２モード）
ｒｏｗＭＢ×ｃｏｌＭＢが奇数の場合、最初の記号は未加工で符号化される。続く記号は対単位で、自然スキャン順に符号化される。表５のバイナリＶＬＣテーブルが、記号対を符号化するために使用される。
【００７６】
【表５】
2007506293.tif 000006
【００７７】
（差分―２モード）
上述のように、通常―２方法はビットプレーンを作成するために使用され、その後差分-1動作が以下で記述されるようにビットプレーンに適用される。
【００７８】
（通常―６モード）
通常―６モードおよび差分―６モードにおいては、ビットプレーンは６画素のグループで符号化される。これらの画素は２×３または３×２のタイルのどちらかにグループ化される。ビットプレーンはルールのセットを使用して最大限にタイル張りされ、残った画素は行スキップおよび列スキップモードの変形を使用して符号化される。２×３の「垂直」タイルは、ｒｏｗＭＢが３の倍数でｃｏｌＭＢが３の倍数でない場合に限り使用される。そうでなければ、３×２の「水平」タイルが使用される。ピクチャ上および左のエッジに沿った線形タイルを有する平面タイルに対して、タイルの符号化順序は次のパターンに従う。６要素タイルが最初に符号化され、次いで線形タイルが列スキップおよび行スキップで符号化される。配列サイズが２×３または３×２の倍数である場合、後者の線形タイルは存在せず、ビットプレーンが完全にタイル張りされる。
【００７９】
６要素の四角形タイルは不完全プレフィックス符号、すなわち、符号化に対して終端ノードの全ては使用しないプレフィックス符号、を使用して符号化される。Ｎをタイル内の設定ビット数とする。すなわち、０≦Ｎ≦６である。Ｎ＜３に対しては、ＶＬＣはタイルを符号化するために使用される。Ｎ＝３に対しては、固定長エスケープの後に５ビットの固定長符号が続き、Ｎ＞３に対しては、固定長エスケープの後にタイルを補完する符号が続く。
【００８０】
四角形タイルは６ビットの情報を含む。ｋをタイルに関連付けられた符号とする。ここで、ｋ＝ｂｉ２ｉで、ｂｉはタイル内の自然スキャン順でのｉ番目ビットのバイナリ値である。従って、０≦ｋ＜６４である。ＶＬＣと、固定長符号付きエスケープ符号との組み合わせが、ｋをシグナリングするために使用される。
【００８１】
（差分―６モード）
上述のように、通常―６方法はビットプレーンを作成するために使用され、その後差分-1動作が以下で記述されるようにビットプレーンに適用される。
【００８２】
（行スキップモード）
行スキップ符号化モードにおいては、全て０の行が１ビットのオーバーヘッドでスキップされる。シンタックスは以下の通りである。各行に対して、単一のＲＯＷＳＫＩＰビットは行がスキップされたかどうかを示す。行がスキップされた場合、次行に対するＲＯＷＳＫＩＰビットが次に来て、そうでなければ（行がスキップされなければ）、ＲＯＷＢＩＴＳビット（行内の各マクロブロックに対するビット）が次に来る。従って、行全体が０の場合、０ビットがＲＯＷＳＫＩＰ記号として送信され、ＲＯＷＢＩＴＳがスキップされる。行内に設定ビットがある場合、ＲＯＷＳＫＩＰが１に設定され、行全体が未加工で（ＲＯＷＢＩＴＳ）で送信される。行はフィールドまたはフレームの上から下へスキャンされる。
【００８３】
（列スキップモード）
列スキップは、行スキップの置換である。列はフィールドまたはフレームの左から右へスキャンされる。
【００８４】
（差分-1：：逆差分復号化）
差分モード（差分―２または差分―６）のいずれかが使用される場合、「差分ビット」のビットプレーンが、対応する通常モード（それぞれ通常―２または通常―６）を使用して、最初に復号化される。差分ビットは、元のビットプレーンを再生成するために使用される。再生成プロセスは、バイナリアルファベット上の２−Ｄ  ＤＰＣＭである。位置（ｉ、ｊ）におけるビットを再生成するため、予測器ｂｐ（ｉ、ｊ）が以下のように（位置（ｉ、ｊ）におけるビットｂ（ｉ、ｊ）から）生成される。
【００８５】
【数１】
2007506293.tif 000007
【００８６】
差分符号化モードに対しては、ＩＮＶＥＲＴに基づいたビット単位の方向反転プロセスは行われない。しかしながら、ＩＮＶＥＲＴフラグが異なるキャパシティで使用され、上に示した予測器の導出用記号Aの値を示す。より具体的には、ＩＮＶＥＲＴが０に等しい場合はＡが０に等しく、ＩＮＶＥＲＴが１に等しい場合はＡが１に等しい。ビットプレーンの実際の値は、予測器と復号化された差分ビット値との排他論理和をとることで得られる。上の式では、ｂ（ｉ、ｊ）は、最終復号化後（すなわち、通常―２／通常−６を行って、予測器との差分排他論理和をとった後）のｉｊ番目の位置におけるビットである。
【００８７】
（例示的重複フィルタ）
条件付き重複変換の第２の実装において使用される重複フィルタモードの一例では、シグナリングされる時に、復号器において非固定の１６ビット再構築に対して、重複平滑化が実行される。重複平滑化に関連付けられた転送プロセスが、画素値に対して許容できる９ビット範囲を超える可能性があるので、これは必要である。重複平滑化の結果は、重複平滑化が適用されなかった残りの画素と並べて、９ビットまでクランプされる。
【００８８】
垂直エッジ（上記の例における画素ａ０、ａ１、ｂ１、ｂ０）が最初にフィルタリングされ、その後水平エッジ（画素ｐ０、ｐ１、ｑ１、ｑ０）がフィルタリングされる。第１段階のフィルタリング（垂直エッジ平滑化）による直接の結果は、１６ビットで格納される。各エッジにまたがる４つの画素に適用されたコアフィルタは、以下の通りである。
【００８９】
【数２】
2007506293.tif 000008
【００９０】
フィルタリングされる元の画素は、（ｘ０、ｘ１、ｘ２、ｘ３）である。ｒ０とｒ１は丸めパラメータで、統計的に不偏な丸めを保証するために、３および４という値を交互にとる。元の値は、明らかに簡単に実装できるエントリを有する行列によりフィルタリングされる。丸め要素を追加した後、これらの値は３ビットだけビットシフトされ、フィルタリング後の出力（ｙ０、ｙ１、ｙ２、ｙ３）を与える。
【００９１】
水平および垂直エッジフィルタの両方に対して、ブロック内の番号付けが１から始まると仮定して、丸め値は奇数番号の列および行それぞれに対して、ｒ０＝４、ｒ１＝３である。偶数番号の列／行に対しては、ｒ０＝３、ｒ１＝４である。フィルタリングはその場での１６ビット動作として定義される。従って、元の画素が平滑化後に上書きされる。垂直エッジフィルタリングに対して、画素（ａ０、ａ１、ｂ１、ｂ０）は（ｘ０、ｘ１、ｘ２、ｘ３）に対応し、次いで（ｙ０、ｙ１、ｙ２、ｙ３）にフィルタリングされる。同様に、水平エッジフィルタリングに対して、それぞれ（ｐ０、ｐ１、ｑ１、ｑ０）と対応する。
【００９２】
２×２角のブロック内の画素は、両方向にフィルタリングされる。フィルタリングの順序はそれらの最終値を判定し、従ってその順序―垂直エッジフィルタリングの後に水平エッジフィルタリング―をビットの正確性のために維持することが重要である。概念的には、フィルタリングされる全ての画素に対して、クランピングが２方向フィルタリング段階に続いて行われる。しかしながら、クランピングとフィルタリングを組み合わせることに対してはいくつかの計算上有利な点がありうる―正確な出力を生成するようそれが慎重になされる限り、これは実装上の問題である。
【００９３】
（３．コンピューティング環境）
条件付き重複変換の上述の実装は、画像およびビデオ信号処理が行われる任意の様々なデバイス上で行われうる。これらのデバイスには、例えば、コンピュータ、画像およびビデオレコーディング、送信および受信機器、ポータブルビデオプレイヤ、ビデオ会議、ウェブビデオストリーミングアプリケーションなどが含まれる。画像およびビデオ符号化技術は、図１０に示されるような、コンピュータまたは他のコンピューティング環境（中央処理装置（ＣＰＵ）、専用グラフィックスプロセッサ、ビデオカード等上で実行されるか否かに関わらず）内で実行する画像およびビデオ処理ソフトウェアにおいてと同様、ハードウェア回路（例えば、ＡＳＩＣ、ＦＰＧＡ等の回路）において実装されうる。
【００９４】
図１０は、記述された条件付き重複変換を実装してもよい適切なコンピューティング環境（１０００）の一般的な例を図示する。本発明は、多様な汎用目的または特殊目的のコンピューティング環境で実装されてもよいので、コンピューティング環境（１０００）は、本発明の使用または機能範囲に関して制限するよう意図されたものではない。
【００９５】
図１０に関して、コンピューティング環境（１０００）は少なくとも１つの処理ユニット（１０１０）およびメモリ（１０２０）を含む。図１０において、この最も基本的な構成（１０３０）は点線内に含まれる。処理ユニット（１０１０）はコンピュータ実行可能命令を実行し、実際のまたは仮想のプロセッサであってよい。マルチ処理システムにおいては、複数の処理ユニットがコンピュータ実行可能命令を実行し、処理能力を向上させる。メモリ（１０２０）は揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）、またはその２つの何らかの組み合わせであってもよい。メモリ（１０２０）は、記述された条件付き重複変換を実装するソフトウェア（１０８０）を格納する。
【００９６】
コンピューティング環境は追加的な特徴を有してもよい。例えば、コンピューティング環境（１０００）はストレージ（１０４０）、１または複数の入力デバイス（１０５０）、１または複数の出力デバイス（１０６０）、１または複数の通信接続（１０７０）を含む。バス、コントローラ、またはネットワークのような相互接続メカニズム（不図示）が、コンピューティング環境（１０００）のコンポーネントを相互接続する。一般的にはオペレーティングシステムソフトウェア（不図示）が、コンピューティング環境（１０００）で実行する他ソフトウェアに対する動作環境を提供し、コンピューティング環境（１０００）のコンポーネントの活動を調整する。
【００９７】
ストレージ（１０４０）は取り外し可能または取り外し不可能であってよく、磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報の格納に使用もしくはコンピューティング環境（１０００）内でアクセスされうる他の任意の媒体を含む。ストレージ（１０４０）は、量子化行列を生成および圧縮する音声符号器を実装する、ソフトウェア（１０８０）用の命令を格納する。
【００９８】
（複数の）入力デバイス（１０５０）は、キーボード、マウス、ペン、またはトラックボール、音声入力デバイス、スキャンニングデバイス、またはコンピューティング環境（１０００）に対する入力を提供する別のデバイス等、タッチ入力デバイスであってよい。音声に対しては、（複数の）入力デバイス（１０５０）は、サウンドカードまたは、アナログもしくはデジタル形態の音声入力を受け付ける同様のデバイス、 またはコンピューティング環境に対して音声サンプルを提供するＣＤ−ＲＯＭリーダーであってよい。（複数の）出力デバイス（１０６０）はディスプレイ、プリンタ、スピーカ、ＣＤライター、またはコンピューティング環境（１０００）からの出力を提供する別のデバイスであってよい。
【００９９】
（複数の）通信接続（１０７０）は、別のコンピューティングエンティティに対して、通信媒体上の通信を可能とする。通信媒体は、コンピュータ実行可能命令、圧縮音声またはビデオ情報、または変調データ信号における他のデータ等の情報を運ぶ。変調データ信号は、信号内情報を符号化するというような方法で設定または変更される１または複数の特性を有する信号である。制限ではなく例として、通信媒体は、電気、光学、ＲＦ、赤外線、音響、または他のキャリアで実装される、有線または無線技術を含む。
【０１００】
本明細書での変換および符号化／復号化技術は、コンピュータ読取り可能媒体の一般的なコンテキストで記述されうる。コンピュータ読取り可能媒体は、コンピューティング環境内でアクセスされうる利用可能な任意の媒体である。制限ではなく例として、コンピューティング環境（１０００）とともに、コンピュータ読取り可能媒体はメモリ（１０２０）、ストレージ（１０４０）、通信媒体、およびそれらの任意の組み合わせを含む。
【０１０１】
本明細書での条件付き重複変換は、対象となる実際のまたは仮想のプロセッサ上のコンピューティング環境で実行されるプログラムモジュールに含まれるもののような、コンピュータ実行可能命令の一般的なコンテキストで記述されうる。一般的にプログラムモジュールは、特定のタスクを行う、または特定の抽象データ型を実装する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能性は、様々な実施形態で望ましいようにプログラムモジュール間で組み合わせ、または分割されてよい。プログラムモジュール用のコンピュータ実行可能命令は、ローカルまたは分散コンピューティング環境内で実行されてよい。
【０１０２】
提示のために、詳細な記述では、「判定」、「生成」、「調整」、および「適用」等の用語を使用して、コンピューティング環境内のコンピュータ動作を記述する。これらの用語は、コンピュータによって行われる動作に対する高レベルの抽象化であって、人間によって行われる行為と混同されるべきではない。これらの用語に対応する実際のコンピュータ動作は、実装しだいで変化する。
【０１０３】
我々の発明原理を適用してもよい多くの可能な実施形態の観点から、本発明と全てのそのような実施形態は、請求項とそれに対する等価物の範囲と精神から生じるものである。
【図面の簡単な説明】
【０１０４】
【図１】先行技術における典型的な変換符号化技術のブロック図である。
【図２】先行技術における空間領域重複変換に基づく符号化／復号化システムのブロック図である。
【図３】ここで記述される条件付き重複変換を利用するビデオ符号器のブロック図である。
【図４】ここで記述される条件付き重複変換を利用するビデオ復号器のブロック図である。
【図５】隣接ブロックエッジ毎の重複モードシグナリングを伴う条件付き重複変換を実装する符号器のブロック図である。
【図６】図６は、ビットレートベースおよびマクロブロック毎の重複モードシグナリングを備えた条件付き重複変換の第２の実装に従って符号器／復号器内で利用される、シーケンスレベルのシンタックスの図である。
【図７】図７は、ビットレートベースおよびマクロブロック毎の重複モードシグナリングを備えた条件付き重複変換の第２の実装に従って符号器／復号器内で利用される、フレームレベルのシンタックスの図である。
【図８】図８は、条件付き重複変換の第２の実装における、重複モードフラグのビットレートベースおよびマクロブロック毎のシグナリングを図示するフロー図である。
【図９】図９は、画像内のマクロブロックのセットに対するシグナリングされた重複モードフラグの例として重複フィルタが適用される、隣接マクロブロックエッジを図示する図である。
【図１０】図１０は、図３および図４のビデオ符号器／復号器に対する適切なコンピューティング環境のブロック図である。
【図１】
2007506293.tif 000009
【図２】
2007506293.tif 000010
【図３】
2007506293.tif 000011
【図４】
2007506293.tif 000012
【図５】
2007506293.tif 000013
【図６】
2007506293.tif 000014
【図７】
2007506293.tif 000015
【図８】
2007506293.tif 000016
【図９】
2007506293.tif 000017
【図１０】
2007506293.tif 000018
【国際調査報告】
2007506293.tif 000019
2007506293.tif 000020