(57)【要約】  ビデオフレームデータを符号化及び／又は復号するための方法及び装置を開示する。一実施形態においては、ビデオ符号化器は、変換されたフレームデータを処理するノイズフィルタリングモジュールを備えており、このモジュールは、複数の変換係数それぞれの信号パワーを推定し、各係数の信号パワーを少なくとも一つの閾値と比較し、変換係数それぞれの値を、信号パワーと少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定することによって、複数の変換係数の信号推定を実行する。【選択図】  図７
2008541672.tif 000002
【特許請求の範囲】
【請求項１】
ビデオフレームにおけるデータを符号化するためのビデオ符号化器であって、
変換されたフレームデータに対して動作するノイズフィルタリングモジュールであって、複数の変換係数それぞれの信号パワーを推定し、前記変換係数それぞれの前記信号パワーを少なくとも一つの閾値と比較し、前記変換係数それぞれの値を、前記信号パワーと前記少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定することによって、前記複数の変換係数に対する信号推定を実行する、該ノイズフィルタリングモジュール、
を備えるビデオ符号化器。
【請求項２】
複数の変換係数それぞれの信号パワーを推定するステップと、
前記変換係数それぞれの前記信号パワーを少なくとも一つの閾値と比較するステップと、
前記変換係数それぞれの値を、前記信号パワーと前記少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定するステップと、
を含む方法。
【請求項３】
命令を格納する一つ以上のコンピュータ可読媒体を有する製品であって、該命令がシステムによる実行時に、該システムに、
複数の変換係数それぞれの信号パワーを推定するステップと、
前記変換係数それぞれの前記信号パワーを少なくとも一つの閾値と比較するステップと、
前記変換係数それぞれの値を、前記信号パワーと前記少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定するステップと、
を含む方法を実行させる製品。
【請求項４】
ビデオフレームデータに対してノイズ低減を行うための方法であって、
メモリからフレームデータを取得するステップと、
前記フレーム内のマスク下のサンプルに変換を適用し、変換係数を生成するステップと、
前記変換係数に対してノイズ低減を行うステップと、
前記ノイズ低減が行われた変換係数に逆変換を適用するステップと、
前記ノイズ低減が行われたフレームサンプルであってフレーム内の位置に対応する該フレームサンプルをフィルタリングして、該位置におけるフィルタリングされたデータサンプルを得るステップと、
を含む方法。
【請求項５】
命令を格納する一つ以上のコンピュータ可読媒体を有する製品であって、該命令がシステムによる実行時に、該システムに、ビデオフレームデータに対するノイズ低減を行う方法であって、
メモリからフレームデータを取得するステップと、
前記フレーム内のサンプルに変換を適用して、変換係数を生成するステップと、
前記変換係数に対してノイズ低減を行うステップと、
前記ノイズ低減が行われた変換係数に逆変換を適用するステップと、
前記ノイズ低減が行われたフレームサンプルであってフレーム内の位置に対応する該フレームサンプルをフィルタリングし、該位置におけるフィルタリングされたデータサンプルを得るステップと、
を含む該方法を実行させる製品。
【請求項６】
フレームの空間データを、信号処理に適する別の領域に変換する変換モジュールと、
フレームデータに対応する変換係数のノイズ低減された推定値を、信号パワーを推定し、前記推定された信号パワーを一つ以上の閾値と比較し、前記変換係数を、前記比較の結果、ノイズパワー、及び閾値に従って調整することによって、生成する推定器モジュールと、
前記ノイズ低減された変換係数に逆変換を適用し、前記マスク下の前記データをその元の領域に戻す逆変換モジュールと、
各フレーム位置におけるフィルタリングされたサンプルを、前記推定器による処理によって得られるその推定値を組み合わせることによって取得する、フィルタモジュールと、
を備えるノイズフィルタリングモジュール。
【請求項７】
信号パワーを推定する手段と、
前記推定された信号パワーを一つ以上の閾値と比較する手段と、
信号の変換係数値を、前記信号の変換係数値と一つ以上の閾値との比較の結果に従って、且つ、前記推定された信号パワーの値と、ノイズのパワーと、前記一つ以上の閾値とに基づいて、調整する手段と、
を備える推定器モジュール。
【請求項８】
ビデオフレームにおけるデータを復号するビデオ復号器であって、
変換されたフレームデータに対して動作するノイズフィルタリングモジュールであって、複数の変換係数それぞれの信号パワーを推定し、前記変換係数それぞれの前記信号パワーを少なくとも一つの閾値と比較し、前記変換係数それぞれの値を、前記信号パワーと前記少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定することによって、複数の変換係数に対する信号推定を実行する、該ノイズフィルタリングモジュール、
を備えるビデオ復号器。
【請求項９】
フレームデータのブロックの予測誤差を復号するステップと、
前記ブロックに関連付けられている動きベクトルを復号するステップと、
前記ブロックに対する動き補償を、前記動きベクトルと基準フレームとを使用し実行し、予測ブロックを求めるステップと、
前記予測ブロックと前記予測誤差とを使用して前記ブロックを再構築するステップと、
前記フレームデータから複数の変換係数を生成し、前記変換係数に応じて前記変換係数の信号パワーの推定値を一つ以上の閾値と比較してノイズ低減された変換係数を生成し、ノイズ低減されたサンプルをフィルタリングして再構築されたフレームサンプルを生成することによって、再構築されたブロックサンプルをフィルタリングするステップと、
を含む、復号方法。
【請求項１０】
命令を格納する一つ以上のコンピュータ可読媒体を有する製品であって、該命令がシステムによる実行時に、該システムに、
フレームデータのブロックの予測誤差を復号するステップと、
前記ブロックに関連付けられている動きベクトルを復号するステップと、
前記ブロックに対する動き補償を、前記動きベクトルと基準フレームとを使用して実行し、予測ブロックを求めるステップと、
前記予測ブロックと前記予測誤差とを使用して前記ブロックを再構築するステップと、
前記フレームデータから複数の変換係数を生成し、前記変換係数に応じて前記変換係数の信号パワーの推定値を一つ以上の閾値と比較してノイズ低減された変換係数を生成し、ノイズ低減されたサンプルをフィルタリングして再構築されたフレームサンプルを生成することによって、再構築されたブロックサンプルをフィルタリングするステップと、
を含む復号方法を実行させる製品。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本特許出願は、「ビデオ符号化におけるノイズフィルタリングの方法及び装置（Ｍｅｔｈｏｄ  Ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｎｏｉｓｅ  Ｆｉｌｔｅｒｉｎｇ  ｉｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）」と題して２００５年５月２０日に出願された対応の仮特許出願第６０／６８３，２４０号の優先権を主張するものであり、当該仮特許出願を参照することによって援用するものである。
【発明の分野】
【０００２】
[0002]本発明は、ビデオ符号化の分野に関するものであり、より詳細には、本発明は、ビデオ符号化におけるノイズフィルタリングを、係数の信号パワーの推定と、それら推定値と一つ以上の閾値との比較とに基づいて、実行することに関するものである。
【発明の背景】
【０００３】
[0003]ハイブリッドビデオ符号化の従来方法では、ビデオフレームを、シーケンス中の他のフレームを参照することなく単独で符号化するか、或いは、ビデオフレームをシーケンス中の既に符号化されて再構築されている他のフレームから予測することによって符号化する。このプロセスは、通常、画像のブロックレベルで動作する。何れの場合にも、符号化プロセス後に再構築されたフレームには、符号化プロセスによって生じる歪みが含まれており、歪みはノイズとしてモデル化することができる。このノイズは、ブロッキングアーチファクト及びリンギングアーチファクトといった符号化アーチファクトとして視覚的に現れることがある。ビデオの符号化器及び復号器によって一般に使用されるフレームストアに格納されている再構築されたフレームの幾つかは、シーケンス中の他のフレームを予測するための基準フレームとして更に使用され、それ以外のフレームは使用されない。前者の場合、フレームストアに格納されている再構築されたフレームの品質は、それを表示する上で重要であるのみならず、その予測プロセスにおける使用が、参照のために当該フレームに依存するフレームであって以降に符号化されるフレームの品質にも影響する。後者の場合、基準フレームとして更には使用されないフレームの品質は、それを表示する上で重要である。従って、何れの場合にも、符号化ノイズを除去する手順は、再構築されたビデオシーケンスの品質、及び、客観的な符号化効率の向上のために有益である。
【０００４】
[0004]最近のコーデックの殆どには、符号化の結果としてのノイズのレベルを低減する何らかのタイプのフィルタリングが含まれている。これらのフィルタリングは、コーデックにおける符号化ループの外側又は内側で動作することができる。符号化ループの内側で動作するループフィルタの場合には、一般的に、符号化器と復号器とにおいて同じ利用可能データを使用して同じオペレーションを実行し、従って、そのフィルタリングに固有の副情報を符号化器から復号器に明示的に送信する必要がない。一般に使用されるノイズフィルタリング方法としては、再構築されたフレームデータの単純なローパスフィルタリングであって画像を平滑化して符号化アーチファクトの出現を低減させるローパスフィルタや、画像の局所的な特性（例：ブロックの縁部）に基づいて自身の強度を適合させるループフィルタが挙げられる。
【０００５】
[0005]符号化ループの外側でのフィルタリング手法、例えば、再構築された（ノイズが含まれる）フレームの復号器におけるローパスフィルタリングは、通常、復号後のビデオシーケンスの全体的な画質を十分に向上させることができない。「画像符号化におけるブロッキング効果の低減（Ｒｅｄｕｃｔｉｏｎ  ｏｆ  Ｂｌｏｃｋｉｎｇ  Ｅｆｆｅｃｔｓ  ｉｎ  Ｉｍａｇｅ  Ｃｏｄｉｎｇ）」（Ｈ．Ｃ．Ｒｅｅｖｅ、Ｊ．Ｓ．Ｌｉｍ）（Ｏｐｔ．Ｅｎｇ．，Ｖｏｌ．２３、Ｎｏ．１、ｐ．３４〜３７、１９８４年１／２月）を参照されたい。符号化器における符号化ループと復号器における復号ループの内側でフィルタリングを実行するループ内フィルタは、優れた性能を有している詳しくは、「Ｈ．２６４／ＡＶＣビデオ符号化規格の概要（Ｏｖｅｒｖｉｅｗ  ｏｆ  ｔｈｅ  Ｈ．２６４／ＡＶＣ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ）」（Ｗｉｅｇａｎｄら）（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌ．１３、Ｉｓｓｕｅ：７、ｐ．５６０〜５７６、２００３年７月）を参照されたい。これらのフィルタは、通常、ビデオコーデックが使用する量子化方式と、フィルタリングする信号の特性とに基づいて、フィルタリングの強度を発見的方式で適合させる。更に、これらのフィルタは符号化ループの中で動作するため、予測に使用する基準フレームの品質が向上し、従って、符号化プロセスの効率が向上する。
【０００６】
[0006]発見的に処理を行なうものとは対照的に、ノイズからの信号推定であって特定の信号モデルを使用する信号推定に基づくフィルタリング手法が存在する。詳しくは、「確率、確率変数、及び確率過程（Ｐｒｏｂａｂｉｌｉｔｙ，Ｒａｎｄｏｍ  Ｖａｒｉａｂｌｅｓ，ａｎｄ  Ｓｔｏｃｈａｓｔｉｃ  Ｐｒｏｃｅｓｓｅｓ）」（Ａ．Ｐａｐｏｕｌｉｓ）（３ｒｄ  ｅｄｉｔｉｏｎ、Ｎｅｗ  Ｙｏｒｋ、ＭｃＧｒａｗ−Ｈｉｌｌ、１９９１年）を参照されたい。
【０００７】
[0007]変換領域において動作する過完備のノイズ低減手法は、フレーム内の同じサンプル位置に対して複数の再構築されたインスタンス（推定値）を求め、これらを組み合わせて（例：平均する）推定の品質を高めることができるという利点を更に提供する。「推移不変ノイズ低減・除去（Ｔｒａｎｓｌａｔｉｏｎ  Ｉｎｖａｒｉａｎｔ  Ｄｅｎｏｉｓｉｎｇ）」（Ｒ．Ｒ．Ｃｏｉｆｒｎａｎ、Ｄ．Ｌ．Ｄｏｎｏｈｏ）（Ｗａｖｅｌｅｔｓ  ａｎｄ  Ｓｔａｔｉｓｔｉｃｓ，Ｓｐｒｉｎｇｅｒ  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｓｔａｔｉｓｔｉｃｓ  １０３、ｐ．１２５〜１５０、Ｎｅｗ  Ｙｏｒｋ、Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ）を参照されたい。既存のノイズ低減方法は、符号化ノイズから信号を取り出すことを試みるものであり、そのコアに信号推定器を有する。通常、問題の統計的情報は正確には既知ではないので、未知条件（ｕｎｋｎｏｗｎｓ）について何らかの想定を行い、信号を推定する方式を選択する必要がある。最も有名な方式の一つは、未知条件の予想され得る最悪の状況時の信号推定値を最適化し、結果としてロバストな推定器をもたらすものである。詳しくは、「有界なデータ不確実性における決定論的パラメータの線形ミニマックスリグレット推定（Ｌｉｎｅａｒ  Ｍｉｎｉｍａｘ  Ｒｅｇｒｅｔ  Ｅｓｔｉｍａｔｉｏｎ  ｏｆ  Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｐａｒａｍｅｔｅｒｓ  ｗｉｔｈ  Ｂｏｕｎｄｅｄ  Ｄａｔａ  Ｕｎｃｅｒｔａｉｎｔｉｅｓ）」（Ｙ．Ｃ．Ｅｌｄａｒ、Ａ．Ｂ．−Ｔａｌ、Ａ．Ｎｅｍｉｒｏｖｓｋｉ）（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ、Ｖｏｌ．５２、Ｎｏ．８、２００４年８月）を参照されたい。この設計制約下では、最悪のシナリオに対してパフォーマンスが最適化されるため、結果としての推定器が控えめすぎる傾向にあることが周知である。
【０００８】
[0008]符号化ノイズフィルタリングの従来方法のパフォーマンスは、これらフィルタリング方法に固有の幾つかの特性と、ノイズの性質に関して成された仮定とによって、制限されている。符号化アーチファクトを低減するために適用される単純なローパスフィルタリング手法は、ビデオフレームにおける多様な視覚情報を扱うには有効ではなく、ビデオシーケンスに対するパフォーマンスが大きく変動する傾向にある（パフォーマンス制御の欠如）。ビデオ符号化における適応的なループ境界内フィルタリングでは、発見的手法を使用し、場合によっては最適なソリューションが保証しない。また、信号モデルの使用に基づく既存のノイズ低減・除去手法では、信号及びノイズの性質に関する非現実的な仮定の下に、具体的には、信号とノイズとが相関していないと仮定することによって、推定器を決定する。この仮定は、画像及びビデオの符号化において発生する信号ノイズ及び符号化ノイズにはあてはまらない。これらのフィルタリング手法は既存の問題の条件に適合していないので、そのパフォーマンスは高くない。
【発明の概要】
【０００９】
[0009]本明細書では、ビデオフレームデータを符号化及び／又は復号する方法及び装置を開示する。一実施形態においては、ビデオ符号化器は、ノイズフィルタリングモジュールを備えており、このモジュールは、変換されたフレームデータに対して動作し、複数の変換係数それぞれの信号パワーを推定し、各係数の信号パワーを少なくとも一つの閾値と比較し、各変換係数の値を、信号パワーと少なくとも一つの閾値との比較の結果に少なくとも部分的に基づいて設定することによって、複数の変換係数に対して信号推定を実行する。
【００１０】
[0010]本発明は、以下の詳細な説明と、本発明の様々な実施形態の添付の図面とから、更に完全に理解されるであろう。しかしながら、これらの実施形態は、本発明をそれら特定の実施形態に限定するものではなく、説明及び理解のみを目的としているものと理解されたい。
【本発明の詳細な説明】
【００１１】
[0022]ビデオ符号化及び復号用の信号ノイズ低減手法を実施する装置及び方法を開示する。一実施形態においては、フィルタリング装置は、ビデオコーデックによって生成される再構築されたフレームデータに対して動作し、そのフィルタリングプロセスは、フレームデータに対応する過完備の変換領域において行われる。符号化プロセスによって生じるノイズからの信号の推定は、この変換領域において実行される。一実施形態においては、この推定プロセスは、変換係数に対応する信号パワーを推定するステップと、推定された信号パワーを一つ以上の閾値と比較するステップと、比較の結果に基づいて変換係数を調整するステップと、を含んでいる。従って、推定プロセスでは、推定された信号パワーと、ノイズ出力と、（一つ以上の）閾値の値とを使用する。
【００１２】
[0023]一実施形態においては、過完備表現の下では、処理するフレーム内のデータサンプル位置のそれぞれについて、推定プロセスによって生成されるときに、その位置におけるサンプルの複数の推定値が対応する。各データサンプルのこれら初期推定値を更にフィルタリングし、処理するビデオフレーム内の位置におけるデータサンプルの最終的な推定値を得る。そのようなフィルタリングは、平均化であってもよい。
【００１３】
[0024]このように、過完備の変換領域における適応的な推定を使用して、符号化プロセス中に生じるノイズから信号を取り出す。一実施形態においては、信号パワーを推定するためのノイズフィルタにおける推定器は、符号化プロセスにおける信号及びノイズに関する仮定に基づいて動作する。また、一実施形態において、信号推定器は、例えば上述した従来技術の推定器の欠点が回避されるように、ロバスト性とパフォーマンスとの間のバランスが達成されるように設計されている。
【００１４】
[0025]この信号ノイズ低減手法を使用する結果として、ビデオフレームフィルタリングの従来技術の手法と比較して、客観的なレート・歪みパフォーマンスが向上し、更に、復号後のビデオフレームの主観的な（視覚的な）品質が高まる。
【００１５】
[0026]以下の説明では、本発明をより完全に説明するために、数多くの詳細部分を記載してある。しかしながら、当業者には、これらの特定の詳細部分を使用せずに本発明を実施できることが明らかであろう。周知の構造及び装置については、本発明が曖昧になることがないように、詳細に示すのではなくブロック図形式で示してある。
【００１６】
[0027]以下の詳細な説明の一部は、コンピュータメモリ内のデータビットに対する操作のアルゴリズム及び記号表現の形式で提示してある。このようなアルゴリズムによる説明及び表現は、データ処理の技術分野における当業者が、自身の開発内容の要旨を他の当業者に最も効果的に伝えるために使用する手段である。アルゴリズムは、本明細書において、及び一般的には、目的の結果に達する首尾一貫した一連のステップとして認識される。これらのステップは、物理量の物理的操作を必要とするステップである。通常（ただし絶対的ではないが）、これらの数量は、格納、伝送、結合、比較、その他の操作を行うことのできる電気信号又は磁気信号の形式をとる。これらの信号を、例えばビット、値、要素、記号、文字、術語、数字として表現することは、主として、一般的に使用されているという理由から、場合によっては便利であることが実証されている。
【００１７】
[0028]しかしながら、上記及び同様の表現の何れも、該当する物理量が関連付けられるものであり、物理量に付された便利なラベルにすぎないことを認識しておく必要がある。以下の説明から明らかであるように、特に明記しない限りは、説明全体を通じて、「処理する」、「計算する」、「決定する」、「表示する」等の用語を用いての説明は、コンピュータシステムのレジスタ及びメモリ内で物理的（電子的）数量として表されているデータを操作して、コンピュータシステムのメモリ又はレジスタ、或いはそれ以外の、そのような情報の記憶装置、伝送装置、又は表示装置において同様に物理量として表される他のデータに変換する、コンピュータシステム、又は類似する電子計算装置の動作及び処理を意味しているものと理解されたい。
【００１８】
[0029]本発明は、本明細書における動作を実行する装置にも関する。この装置は、必要な目的のために専用に構築することができ、或いは、格納されているコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを備えていてもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体、例えば、以下に限定されないが、任意のタイプのディスク（例：フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク）、ＲＯＭ（読取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光カード、或いは、電子的命令を格納するのに適しており、それぞれがコンピュータシステムのバスに結合されている任意のタイプの媒体、に格納することができる。
【００１９】
[0030]本明細書に提示したアルゴリズム及び表示は、特定のコンピュータ或いはその他の装置に本質的に関連するものではない。本明細書における教示内容によるプログラムは、様々な汎用システムにおいて使用することができ、或いは、場合によっては、必要な方法ステップを実行するための専用の装置を構築することが好都合であることもわかっている。これらの様々なシステムの必要な構造は、以下の説明から明らかになるであろう。更に、本発明は、特定のプログラミング言語に関連して説明していない。本明細書に説明した本発明の教示内容は、様々なプログラミング言語を使用して実施できることが理解されるであろう。
【００２０】
[0031]機械可読媒体には、機械（例：コンピュータ）が読むことのできる形式で情報を格納又は伝送する任意のメカニズムが含まれる。例えば、機械可読媒体としては、読取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスのほか、電気、光、音響、又はその他の形式の伝搬信号（例：搬送波、赤外線信号、デジタル信号）等が挙げられる。
【００２１】
＜ビデオ符号化器の実施形態の概要＞
[0032]一実施形態においては、ビデオ符号化器はフィルタリングモジュールを含んでおり、このフィルタリングモジュールは、符号化ノイズを低減又は排除する目的でフレームデータを処理し、従って、符号化プロセスの客観的な品質と主観的な品質の双方を向上させる。ノイズフィルタは、過完備ベースでフレームデータを表現することによって構築される領域において、ノイズが含まれるフレームデータからビデオ信号を取り出すように動作する適応的な推定手法を使用する。本明細書に説明した装置及び方法は、フレームデータの過完備ベースの表現において、既存の従来技術とは異なる方式で推定オペレーション及びフィルタリングオペレーションを実行し、これらの装置及び方法を使用する結果として、従来技術と比較してパフォーマンスを向上させる。従来技術との差異としては、以下に限定されないが、ノイズから信号を取り出すために使用される推定器の構造、推定器が使用する他の変数の推定と、上述したように、表示を目的として、或いは参照及び表示の双方を目的として使用するフィルタリングされた最終的なデータサンプルを求めるために、推定器が生成する信号推定値を処理するために使用されるフィルタの構造、が挙げられる。
【００２２】
[0033]本明細書に説明した推定手法及び／又はフィルタリングプロセスを使用する結果として、データ符号化の効率が高まり、これが符号化プロセスの優れたレート・歪み特性に反映され、更に、符号化アーチファクトが低減又は排除されることにより、従来技術の方法と比較して復号後のビデオシーケンスの視覚的な品質が向上する。
【００２３】
[0034]図１は、ビデオ符号化器の一実施形態のブロック図である。以下、図１を参照する。ビデオ符号化器は、動き推定モジュール（ＭＥＭ）１２９と、動き補償予測モジュール（ＭＣＰＭ）１３１と、メモリ１２３と、変換符号化モジュール（ＴＣＭ）１１４と、動きデータ処理モジュール（ＭＤＰＭ）１２７と、ノイズフィルタモジュール（ＮＦＭ）１２５と、フレームストア（ＦＳ）（例：メモリ）１２６と、スイッチ１１８，１２４，１２８，１４１，１４２と、を備えている。変換符号化器１１４は、変換モジュール１１１と、量子化器モジュール１１２と、エントロピ符号化モジュール１１３と、を含んでいる。変換符号化器１１４に入力されるフレームデータは、ビデオフレーム、又はＤＦＤ（ｄｉｓｐｌａｃｅｄ  ｆｒａｍｅ  ｄｉｆｆｅｒｅｎｃｅ）フレームによって構成することができる。ＤＦＤフレームは、ビデオ符号化器において、ビデオフレームのデータと、ＭＣＰＭ１３１が生成して出力するその予測との間の差をとることによって得られる。この差は、ビデオフレーム１０１と、Ｉフレーム又はフレーム内ブロックとを受け取る減算器１０３から出力される（スイッチ１４１が閉じているとき）。ＭＣＰＭ１３１は、フレームストア１２６に格納されている動き補償後の再構築されたビデオフレームから成るデータに基づいて、予測を生成する。動き補償は、動き推定モジュール１２９が生成する動き情報を使用して行われる。このプロセスは、図１におけるスイッチの構成（後述する）によって有効になる。或いは、ビデオ符号化器（ＶＣ）が、予測を使用せずにビデオフレームを直接的に符号化するときには（従来の符号化器のフレーム内符号化モードに相当する）、ＭＥＭ１２９、ＭＣＰＭ１３１、及びＭＤＰＭ１２７は使用されない。
【００２４】
[0035]ビデオ符号化器は、一般には、ブロックに分割されたフレームデータ（ブロック内の各位置における輝度値及び色差値から成る）に対して連続的に動作する。
【００２５】
[0036]図２は、ビデオ符号化プロセスの一実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。
【００２６】
[0037]図２において、フレームからのブロックが、以下に説明するプロセスによって、現在のフレームの全てのブロックが処理されるまで連続的に読み取られて処理される。図２を参照すると、このプロセスでは、処理ロジックは、最初に、現在のフレーム内のブロックにインデックスを付けるために使用するインデックス変数ｉを１に設定する（処理ブロック２０１）。次いで、処理ロジックは、現在のフレームからブロックｃ（ｉ）を読み取る（処理ブロック２０２）。
【００２７】
[0038]ビデオ符号化器の動作の最初の段階では、図１におけるスイッチは以下のように構成されている。すなわち、スイッチ１４１、１４２、及び１２８は、処理するブロックのタイプに応じて、開いているか又は閉じている（フレーム内符号化するブロックの場合は開いており、従来のビデオプロセスのように予測するブロックの場合には閉じている）。スイッチ１２４は開いている。
【００２８】
[0039]更に、処理ロジックは、インデックスｋを１に初期化し（インデックスｋは、現在のブロックｃ（ｉ）に対応する探索領域内の位置）（処理ブロック２０３）、動き推定探索領域内の位置ｋに対応する基準フレーム内の基準ブロックｂ（ｋ）を取得する（処理ブロック２０４）。動き推定プロセスを実行し、このプロセスによって、フレームストアからの基準フレーム内の探索領域内の候補の位置を連続的に探索し、現在のブロックｃ（ｉ）に最良に整合する基準ブロックを識別する。整合の程度の量を使用して、ブロックｃ（ｉ）とブロックｂ（ｋ）との間の差を定量化する。動き推定プロセスは、現在のブロックｃ（ｉ）と基準ブロックｂ（ｋ）との間の差の量ｄ（ｉ，ｋ）が最小になるように、基準フレーム内の探索領域内のブロックｂ（ｋ）を見つけることを試みる。この位置は、現在のブロックｃ（ｉ）を起点とし基準フレーム内の基準ブロックｂ（ｋ）を指す動きベクトルｍｖ（ｉ，ｋ）によって指定される。
【００２９】
[0040]処理ロジックは、ブロックｃ（ｉ）とブロックｂ（ｋ）との間の差の測度ｄ（ｉ，ｋ）を計算し、それをメモリに格納する（処理ブロック２０５）。一実施形態においては、差ｄ（ｉ，ｋ）は、例えば、ｃ（ｉ）とｂ（ｋ）のサンプルの間の差の絶対値の合計によって定量化する。このように、現在のブロックｃ（ｉ）について、探索領域の内側の位置ｋを、対応する基準ブロックｂ（ｋ）を取得してｄ（ｉ，ｋ）を計算することによって調べ、誤差ｄ（ｉ，ｋ）をメモリに格納する。
【００３０】
[0041]次いで、処理ロジックは、変数ｋを１だけインクリメントし（処理ブロック２０６）、変数ｋがＫ（探索領域内の位置の総数）より小さいか又は等しいかを調べる（処理ブロック２０７）。現在のブロックｃ（ｉ）に対応する、基準フレームの探索領域位置の全てをまだ調べていない（すなわちｋ＜Ｋ）場合、処理ロジックは処理ブロック２０４に戻り、プロセスがそこから続行する。全てを調べた（すなわちｋがＫより小さくない）場合、処理ロジックは処理ブロック２０８に進み、最良の、すなわちｃ（ｉ）とｂ（ｋ）との間のｄ（ｉ，ｋ）が最小である整合ブロックｂ（ｎ）を見つける。一実施形態においては、現在のブロックｃ（ｉ）に対応する基準フレームからのＫ個の探索領域位置の全てを処理した後、ＭＥＭ１２９の処理ロジックは、メモリに格納されている一連の値ｄ（ｉ，ｋ）のうち最小の誤差ｄｍｉｎを見つける。この誤差ｄｍｉｎは、座標が動きベクトルｍｖ（ｉ）によって指定される特定の基準ブロック（ｂｍｉｎと表す）に対応する。
【００３１】
[0042]その後、処理ロジックは、動きベクトルｍｖ（ｉ，ｎ）をメモリに格納し（処理ブロック２０９）、ブロックｃ（ｉ）の符号化モードｍ（ｉ）を決定して格納する（処理ブロック２１０）。ブロックｃ（ｉ）の符号化モードｍ（ｉ）は、フレーム内符号化又は予測符号化である。一実施形態においては、ＭＥＭ１２９の処理ロジックは、ブロックｃ（ｉ）のサンプルをフレーム内符号化するときの符号化計算量と、ブロックｃ（ｉ）をブロックｂｍｉｎを基準に予測的に符号化する計算量とを比較することによって、現在のブロックｃ（ｉ）の符号化モードｃｍｏｄｅ（ｉ）を決定する。前者の計算量の方が小さい場合、ブロックｃ（ｉ）のモードを「フレーム内（ＩＮＴＲＡ）」とマークし、そうでない場合、現在のブロックを予測ブロックとしてマークする。
【００３２】
[0043]ブロックｃ（ｉ）の符号化モードが「フレーム内」でない場合、動きベクトルｍｖ（ｉ）をメモリに格納する。また、現在のブロックのモードｃｍｏｄｅ（ｉ）もメモリに書き込む。処理ロジックがインデックス変数ｉを１だけインクリメントすることにより、プロセスは現在のフレーム内の次のブロックｃ（ｉ）に進み（処理ブロック２１１）、ｉがＮ（現在のフレーム内のブロックの総数）より小さいかを調べる（処理ブロック２１２）。インデックスｉがＮより小さい場合、処理ロジックは処理ブロック２０２に移行し、プロセスはそこから続行する。インデックスｉがＮより小さくない場合、処理ロジックは処理ブロック２１３に移行し、インデックス変数ｉを１に設定する。
【００３３】
[0044]現在のフレーム内の全てのブロックを上述したように処理した時点で、動き補償プロセスを開始する。動き補償プロセスでは、最初に、処理ロジックが、現在のフレームから元の現在のブロックｃ（ｉ）を読み取る（処理ブロック２１４）。一実施形態においては、ブロックを連続的に読み取る。処理ロジックは、ブロックｃ（ｉ）の符号化モードが「フレーム内」であるかを調べる（処理ブロック２１５）。一実施形態においては、これは、ＭＣＰＭ１３１の処理ロジックが行う。ブロックｃ（ｉ）の符号化モードが「フレーム内」である場合、処理ロジックは処理ブロック２１９に移行する。「フレーム内」ではない場合、処理ロジックは、ｍｖ（ｉ，ｎ）を使用して動き補償を実行し、基準フレームからブロック予測子（ｂｌｏｃｋ  ｐｒｅｄｉｃｔｏｒ）ｂ（ｉ）をフェッチし（処理ブロック２１６）、次式に従って予測誤差ｅ（ｉ）を計算する（処理ブロック２１７）。
【数１】
2008541672.tif 000003
この式において、予測ブロックｐ（ｉ）は、ＭＣＰＭ１３１がブロックｃ（ｉ）用にメモリに格納されている動きベクトルｍｖ（ｉ）を使用することによって、生成される。処理ロジックは、動き情報をエントロピ符号化し（処理ブロック２１８）、処理ブロック２１９に移行する。一実施形態においては、現在のブロックに対応する動きベクトルデータをＭＤＰＭ１２７に送って処理し（例：近傍のブロックの動きベクトルに対してＤＰＣＭ符号化する）、エントロピ符号化器モジュール１１３に送って符号化する。
【００３４】
[0045]処理ブロック２１９において、処理ロジックは、ｃ（ｉ）の符号化モードをエントロピ符号化する。次いで、処理ロジックは、モードｍ（ｉ）に応じてブロックデータｃ（ｉ）又はｅ（ｉ）を変換符号化し（処理ブロック２２０）、現在のブロックを再構築し（処理ブロック２２１）、それをメモリ（例：メモリ１２３）に書き込む（処理ブロック２２２）。
【００３５】
[0046]現在のフレーム内の全てのブロックに対して、上述したプロセスが繰り返される。そのために、次いで、処理ロジックは、インデックスｉを１だけインクリメントし（処理ブロック２２３）、インデックスｉがＮ（現在のフレーム内のブロックの総数）より小さいかを調べる（処理ブロック２２４）。Ｎより小さい場合、処理は処理ブロック２１４に移行し、プロセスはそこから続行する。Ｎより小さくない場合、処理ロジックは、メモリ（例：メモリ１２３）内のノイズが含まれるフレームデータをフィルタリングし（処理ブロック２２５）、フィルタリングしたデータをフレームストア（例：フレームストア１２６）に格納する（処理ブロック２２６）。その後、プロセスは終了する。
【００３６】
[0047]現在のフレーム内の全てのブロックを処理した後、スイッチ１２４を閉じる。メモリ１２３に格納されている再構築されたフレームデータを、以下に説明するようにノイズフィルタモジュール１２５によって処理する。ノイズフィルタモジュール１２５は、自身が処理したデータをフレームストア１２６に格納する。
【００３７】
＜ノイズフィルタリング＞
[0048]図３は、ノイズフィルタリングモジュールの一実施形態（例：図１のノイズフィルタリングモジュール１２５）のブロック図である。以下、図３を参照する。このノイズフィルタリングモジュールは、メモリ３０１と、空間マスク位置生成モジュール（ＭＰＧＭ）３０２と、変換モジュール（ＴＭ）３０３と、推定器モジュール（ＥＭ）３０４と、メモリ３０５と、逆変換モジュール（ＩＴＭ）３０６と、メモリ３０７と、フィルタモジュール（ＦＭ）３０８と、を備えている。メモリ３０１は、マスク位置生成器３０２にマスク構造３１０を提供する。マスク位置生成器３０２は、これに応答して、フレーム内位置３１１を示し、これらの位置を、変換モジュール３０３と、逆変換モジュール３０６と、フィルタ３０８とに提供する。変換モジュール３０３は、復号されたフレームデータ３１２に変換を適用し、マスク位置生成器３０２によって示されたマスク下のサンプルの変換係数３１３を生成する。推定器３０５は、変換係数３１３を受け取り、これに応じて、ノイズ低減された変換係数３１４を生成する。ノイズ低減された変換係数３１４をメモリ３０５に格納する。次いで、逆変換モジュール３０６が、ノイズ低減された変換係数に、マスク位置生成器３０２からのマスクに基づいて逆変換を適用し、マスク下のノイズ低減されたサンプル３１５を生成する。これらサンプルはメモリ３０７に格納される。フィルタモジュール３０８は、ノイズ低減されたサンプル３１５に、マスク位置生成器３０２からのマスクに基づいてフィルタリングを実行し、再構築されたフレームサンプル３１６を生成する。
【００３８】
[0049]ノイズフィルタモジュールへの入力は、メモリモジュール１２３に格納されている再構築されたフレームデータ３１２（例：復号されたフレームデータ）から成る。ノイズフィルタモジュールは、フィルタリングされたフレームデータ３１６（例：再構築されたフレームサンプル）をフレームストア１２６に出力する。ノイズフィルタモジュールのオペレーションは、図４、図５、図６に記載したフローチャートによって示したように進行する。
【００３９】
[0050]図４は、ノイズフィルタリングプロセスの実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。一実施形態においては、処理ロジックは、図３のノイズフィルタモジュールの推定器３０４の一部である。
【００４０】
[0051]ノイズフィルタモジュールが実行するプロセスは、最初のステップとして、メモリ（例：１２３）に格納されている再構築されたフレームデータを取得する。処理ロジックは、再構築されたフレームデータを使用して、変数Ｖのセットを計算する（処理ブロック４０１）。これら補助変数Ｖのセットは、推定プロセスにおいて更に使用される。推定器は、符号化プロセスによって生じる量子化ノイズの量を、コーデックが使用する量子化方式に基づいて計算する。本明細書においては、符号化プロセスにおいて使用する量子化ステップサイズをｑによって表す。一実施形態においては、処理ロジックは、補助変数を次式によって計算する
【数２】
2008541672.tif 000004
この式において、αは定数、ν２はノイズ出力の推定値を表す。推定器の処理ロジックは、符号化器において使用する符号化方式の特性に基づいて、変数ｂの値も決定する。この場合、ｂは、ｂ＝βν２として計算する。ここで、βは定数である。別の実施形態においては、処理ロジックは、追加の補助変数を以下のように計算する。
【数３】
2008541672.tif 000005
ここれ、μは選択可能な定数である。
【００４１】
[0052]更に別の実施形態においては、処理ロジックは、以下の補助変数を計算する。
【数４】
2008541672.tif 000006
ここで、μは選択可能な定数である。
【００４２】
[0053]次いで、処理ロジックは、サポート領域Ｒを有するマスクＳを設定する（処理ブロック４０２）。マスクのサイズ（サポート領域Ｒ）は、例えば、符号化プロセスにおいて使用するブロックのサイズに等しくすることができる。
【００４３】
[0054]その後、処理ロジックは、（ｉ，ｊ）をフレーム内のブロックの位置に初期化する（処理ブロック４０３）。このブロック位置（ｉ，ｊ）は、ビデオコーデックがフレームを符号化／復号するのに慣習的に使用されるブロックのグリッド上に位置しており、メモリ（例：メモリ１２３）からの現在フィルタリングしているフレーム内で選択する。
【００４４】
[0055]更に、処理ロジックは、（ｍ，ｎ）を、（ｉ，ｊ）を含んだその周囲の位置に初期化する（処理ブロック４０４）。位置（ｍ，ｎ）は、マスクＳを（ｉ，ｊ）に対してシフトさせる位置を表す。次いで、処理ロジックは、マスクＳをフレーム内の位置（ｍ，ｎ）に移動させる（処理ブロック４０５）。
【００４５】
[0056]処理ロジックは、マスクＳ下のサンプルに変換Ｔ（例：離散コサイン変換（ＤＣＴ））を適用し（処理ブロック４０６）、変換後の係数に対し、推定器の処理ロジックを使用してノイズ低減を行う（処理ブロック４０７）。この実施形態では、マスクＳの現在の位置によってカバーされるデータサンプルに対応するＮ個の変換係数を、ｓ（ｋ）（ｋ＝１，．．．，Ｎ）によって表す。結果としての変換係数を、推定器モジュールの処理ロジックによって処理する。図７及び図８のフローチャートは、この動作の相異なる実施形態を示しており、以下ではこれらの実施形態について更に詳しく説明する。
【００４６】
[0057]図７のフローチャートでは、推定器モジュールの処理ロジックは、変換係数ｓ（ｋ）を取得し、値ｓ２（ｋ）を計算することによって信号パワーを推定する。次いで、処理ロジックは、この信号パワーを閾値と比較し、係数ｓ（ｋ）に対応する推定値ａ（ｋ）を以下のように求める。
【数５】
2008541672.tif 000007
【００４７】
[0058]次いで、推定器の処理ロジックは、次式に従って、処理後の変換係数ｐ（ｋ）を求める。
【数６】
2008541672.tif 000008
【００４８】
[0059]代替の実施形態においては、推定器の処理ロジックは、図８のフローチャートに示したプロセスを使用し、前に定義した補助変数Ｖを利用し、係数ｓ（ｋ）のそれぞれの推定値を、以下のように計算する。
【数７】
2008541672.tif 000009
【００４９】
[0060]次いで、推定器の処理ロジックは、処理後の変換係数ｐ（ｋ）を以下のように求める。
【数８】
2008541672.tif 000010
【００５０】
[0061]代替の実施形態においては、推定器の処理ロジックは、同じく図８のフローチャートに示したプロセスを使用し、係数ｓ（ｋ）のそれぞれに対して、処理後の係数ｐ（ｋ）の値を以下のように計算する。
【数９】
2008541672.tif 000011
図８については、後に更に詳しく説明する。
【００５１】
[0062]図７又は図８のどちらのプロセスを使用した場合にも、処理ロジックは、係数ｐ（ｋ）をメモリ（例：メモリ３０５）に格納する。全ての係数を処理していなければ、上述したプロセスを繰り返す。
【００５２】
[0063]次いで、処理ロジックは、マスクＳ下の処理済み変換係数ｐ（ｋ）に逆変換Ｔ−１（例：逆ＤＣＴ変換）を適用し（処理ブロック４０８）、フレームにおけるマスクＳの現在の位置（ｍ，ｎ）に対応するサンプルｒ（ｋ）を得る。処理ロジックは、マスクＳ下のこれらの処理済みサンプルをメモリ（例：メモリ３０７）に格納する（処理ブロック４０９）。
【００５３】
[0064]次いで、処理ロジックは、（ｍ，ｎ）を次の位置に設定し（処理ブロック４１０）、サポート領域Ｒ内の全ての位置（ｍ，ｎ）を処理したかを調べる（処理ブロック４１１）。ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理していない場合、処理は処理ブロック４０５に移行し、（ｉ，ｊ）に対するマスクＳの次のシフト位置（ｍ，ｎ）を選択し、上述したプロセスを繰り返す。
【００５４】
[0065]ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理した場合、処理ブロックは処理ブロック４１２に移行し、フレーム内のブロックグリッド上の次のブロック位置（ｉ，ｊ）を選択し、フレーム内の処理中のブロックのブロック位置（ｉ，ｊ）の全てを処理したかを調べる（処理ブロック４１３）。全てを処理していない場合、処理ロジックは処理ブロック４０４に移行し、プロセスはそこから続行する。全てを処理した場合、処理は処理ブロック４１４に移行する。このようにして、ブロック位置（ｉ，ｊ）の全てを処理するまで、上記のプロセスを繰り返す。
【００５５】
[0066]処理ブロック４１４において、処理ロジックは、フレーム内のサンプル位置のそれぞれに対応する再構築バージョンを、フィルタ（例：フィルタ３０８）を使用してフィルタリングし（処理ブロック４１４）、処理している現在のフレームのフィルタリングされたデータサンプルｆ（ｘ，ｙ）を、フレームストア（例：フレームストア１２６）に書き込む（処理ブロック４１５）。一実施形態においては、処理ロジックは、現在のフレーム内のサンプルのそれぞれに対応する、メモリ（例：メモリ３０７）に格納されている処理済みサンプルをフィルタリングする。一実施形態においては、このフィルタリングは、ノイズフィルタモジュール１２５のフィルタ３０８が実行する。従って、ノイズフィルタモジュール１２５によって処理している現在のフレーム内の位置（ｘ，ｙ）のそれぞれに対して、推定器３０４によってメモリ３０７に格納されている、複数の処理済みの再構築されたサンプルｒｌ（ｘ，ｙ）が存在する。ここで、ｌ＝１，．．．，Ｌは、マスクＳがフレーム内のブロックグリッド位置の周囲を占有できる位置をインデックス化しており、そのような位置のそれぞれにおいて、マスクＳのサポート領域Ｒにサンプル位置（ｘ，ｙ）が含まれる。一実施形態においては、フィルタは、フレーム位置（ｘ，ｙ）に対応する入力データｒｌ（ｘ，ｙ）に対して、以下のように加重平均演算を実行する。
【数１０】
2008541672.tif 000012
この式において、ｗｌは、推定器の処理ロジックによって生成される統計情報に基づいて選択する重みである。一実施形態においては、全ての重みは、ｗｌ＝１／Ｌとして選択され、平均化演算に相当するものとする。代替の実施形態においては、重みは、マスクＳの位置ｌにおいて推定器を適用することで得られる処理後の係数ｐ（ｋ）のうち値がゼロである係数の数に比例するように選択する。
【００５６】
[0067]次いで、プロセスが終了する。
【００５７】
[0068]図５は、ノイズフィルタリングモジュールによって実行されるノイズフィルタリングプロセスの代替の実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。一実施形態においては、処理ロジックは、図３のノイズフィルタモジュールの推定器３０４の一部である。
【００５８】
[0069]以下、図５を参照する。このプロセスでは、最初に、処理ロジックが、サポート領域Ｒを有するマスクＳを生成する（処理ブロック５０１）。マスクのサイズ（サポート領域Ｒ）は、例えば、符号化プロセスにおいて使用するブロックのサイズに等しくすることができる。
【００５９】
[0070]処理ロジックは、変数Ｖ（ｋ）のセットを計算する（処理ブロック５０２）。変換（例：ＤＣＴ）をマスクＳ下のサンプルに適用する（処理ブロック３０３において）ので、そのような変換の場合に慣習的に行われるように、変換係数を順位付けることができる。この順位をｋによって表す。この実施形態においては、変数ｖ（ｋ）は、マスクＳ下で生成される変換係数の順位ｋに依存する。この補助変数ｖ（ｋ）のセットは、推定プロセスにおいて更に使用される。処理ロジックは、コーデックが使用する量子化方式に基づいて、符号化プロセスによって生じる量子化ノイズの量を計算する。本明細書においては、符号化プロセスにおいて使用する量子化ステップサイズをｑによって表す。この場合、処理ロジックは、変数を次式によって計算する。
【数１１】
2008541672.tif 000013
この式において、αは、様々な要因（例：マスクＳの内側の係数ｓ（ｋ）の順位ｋ）に基づいて適合させることができる（この場合はα＝α（ｋ））。例えば、順位の高い係数に対してはαを大きくする。νがｋの関数であるならば、ｂも係数の順位ｋの関数となり、ｂ（ｋ）＝βν２（ｋ）である。別の実施形態においては、処理ロジックは、マスクＳ（Ｓの中の位置）下の変換係数の順位ｋに依存する追加の補助変数を以下のように計算する。
【数１２】
2008541672.tif 000014
上式において、μは選択可能な定数である。
【００６０】
[0071]或いは、別の実施形態においては、処理ロジックは以下の補助変数を計算する。
【数１３】
2008541672.tif 000015
上式において、μは選択可能な定数である。
【００６１】
[0072]次いで、処理ロジックは、（ｉ，ｊ）を、フレーム内のブロックの位置に初期化する（処理ブロック５０３）。一実施形態においては、ビデオコーデックがフレームを符号化／復号するのに慣習的に使用するブロックのグリッド上に位置しているブロック位置（ｉ，ｊ）を、メモリ（例：メモリ１２３）からの現在フィルタリングしているフレーム内で選択する。
【００６２】
[0073]更に、処理ロジックは、（ｍ，ｎ）を、（ｉ，ｊ）を含んだその周囲の位置に初期化する（処理ブロック５０４）。位置（ｍ，ｎ）は、マスクＳを（ｉ，ｊ）に対してシフトさせる位置である。次いで、処理ロジックは、マスクＳをフレーム内の位置（ｍ，ｎ）に移動させる（処理ブロック５０５）。
【００６３】
[0074]処理ロジックは、マスクＳ下のサンプルに変換Ｔ（例：ＤＣＴ）を適用し（処理ブロック５０６）、変換係数に対してノイズ低減を行う（処理ブロック５０７）。この実施形態では、マスクＳの現在の位置によってカバーされるデータサンプルに対応するＮ個の変換係数を、ｓ（ｋ）（ｋ＝１，．．．，Ｎ）によって表す。結果としての変換係数を、推定器モジュールの処理ロジックによって処理する。図７及び図８のフローチャートは、このオペレーションの相異なる実施形態を示しており、以下ではこれらの実施形態について更に詳しく説明する。
【００６４】
[0075]図７のフローチャートでは、推定器モジュールの処理ロジックは、変換係数ｓ（ｋ）を取得し、値ｓ２（ｋ）を計算することによって信号パワーを推定する。次いで、処理ロジックは、この信号パワーを閾値と比較し、係数ｓ（ｋ）に対する推定値を以下のように求める。
【数１４】
2008541672.tif 000016
【００６５】
[0076]次いで、推定器の処理ロジックは、次式に従って、処理後の変換係数ｐ（ｋ）を求める。
【数１５】
2008541672.tif 000017
【００６６】
[0077]代替の実施形態においては、推定器の処理ロジックは、図８のフローチャートに示したプロセスを使用し、補助変数を利用して、係数ｓ（ｋ）のそれぞれの推定値を以下のように計算する。
【数１６】
2008541672.tif 000018
【００６７】
[0078]次いで、推定器の処理ロジックは、処理後の変換係数ｐ（ｋ）を以下のように求める。
【数１７】
2008541672.tif 000019
【００６８】
[0079]代替の実施形態においては、推定器の処理ロジックは、同じく図８のフローチャートに示したプロセスを使用し、処理後の係数ｐ（ｋ）の値を以下のように計算する。
【数１８】
2008541672.tif 000020
【００６９】
[0080]図８については、後に更に詳しく説明する。
【００７０】
[0081]図７又は図８のどちらのプロセスを使用した場合にも、処理ロジックは、係数ｐ（ｋ）を（例えばメモリ３０５に）格納する。全ての係数を処理していなければ、上述したプロセスを繰り返す。
【００７１】
[0082]ノイズ低減を行った後、処理ロジックは、マスクＳ下の変換係数ｐ（ｋ）に逆変換Ｔ−１（例：逆ＤＣＴ変換）を適用し（処理ブロック５０８）、フレームにおけるマスクＳの現在の位置（ｍ，ｎ）に対応するサンプルｒ（ｋ）を得て、マスクＳ下の再構築されたサンプルをメモリ（例：メモリ３０７）に格納する（処理ブロック５０９）。
【００７２】
[0083]次いで、処理ロジックは、（ｍ，ｎ）を次の位置に設定し（処理ブロック５１０）、サポート領域Ｒ内の全ての位置（ｍ，ｎ）を処理したかを調べる（処理ブロック５１１）。ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理していない場合、処理は処理ブロック５０５に移行し、（ｉ，ｊ）に対するマスクＳの次のシフト位置（ｍ，ｎ）を選択し、上述したプロセスを繰り返す。
【００７３】
[0084]ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理した場合、処理ブロックは処理ブロック５１２に移行し、フレーム内のブロックグリッド上の次のブロック位置（ｉ，ｊ）を選択し、フレーム内の処理中のブロックのブロック位置（ｉ，ｊ）の全てを処理したかを調べる（処理ブロック５１３）。全てを処理していない場合、処理ロジックは処理ブロック５０４に移行し、プロセスはそこから続行する。全てを処理した場合、処理は処理ブロック５１４に移行する。このようにして、ブロック位置（ｉ，ｊ）の全てを処理するまで、上記のプロセスを繰り返す。
【００７４】
[0085]処理ブロック５１４において、処理ロジックは、フレーム内のサンプル位置のそれぞれに対応する再構築されたバージョンを、フィルタを使用してフィルタリングする（処理ブロック５１４）。一実施形態においては、使用するフィルタはフィルタ３０８である。従って、ノイズフィルタモジュール１２５によって処理している現在のフレーム内の位置（ｘ，ｙ）のそれぞれに対して、推定器によってメモリ３０７に格納されている、複数の処理済みの再構築されたサンプルｒｌ（ｘ，ｙ）が存在する。ここで、ｌ＝１，．．．，Ｌは、マスクＳがフレーム内のブロックグリッド位置の周囲を占有できる位置をインデックス化しており、そのような位置のそれぞれにおいて、マスクＳのサポート領域Ｒにサンプル位置（ｘ，ｙ）が含まれる。一実施形態においては、フィルタ３０８は、フレーム位置（ｘ，ｙ）に対応する入力データｒｌ（ｘ，ｙ）に対して、以下のように加重平均演算を実行する。
【数１９】
2008541672.tif 000021
この式において、ｗｌは、推定器によって生成される統計情報に基づいて選択する重みである。一実施形態においては、全ての重みを、ｗｌ＝１／Ｌとして選択する。代替の実施形態においては、重みは、マスクＳの位置ｌにおいて推定器を適用した結果としての処理後の係数ｐ（ｋ）のうち値がゼロである係数の数に比例するように選択する。
【００７５】
[0086]処理ロジックは、処理している現在のフレームに用に得られたフィルタリング済みのデータサンプルｆ（ｘ，ｙ）を、フレームストア（例：フレームストア１２６）に書き込む（処理ブロック５１５）。
【００７６】
[0087]その後、プロセスが終了する。
【００７７】
[0088]図６は、ノイズフィルタリングモジュールによって実行されるノイズフィルタリングプロセスの更に別の代替実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。
【００７８】
[0089]以下、図６を参照し、このプロセスでは、最初に、処理ロジックが、サポート領域Ｒを有するマスクＳを生成する（処理ブロック６０１）。一実施形態においては、マスクのサイズ（サポート領域Ｒ）は、符号化プロセスにおいて使用するブロックのサイズに等しくすることができる。
【００７９】
[0090]次いで、処理ロジックは、（ｉ，ｊ）を、フレーム内のブロックの位置に初期化する（処理ブロック６０２）。一実施形態においては、ビデオコーデックがフレームを符号化／復号するのに慣習的に使用するブロックのグリッド上に位置しているブロック位置（ｉ，ｊ）は、メモリ（例：メモリ１２３）からの現在フィルタリングしているフレーム内で選択する。
【００８０】
[0091]更に、処理ロジックは、（ｍ，ｎ）を、（ｉ，ｊ）を含んだその周囲の位置に初期化する（処理ブロック６０３）。位置（ｍ，ｎ）は、マスクＳを（ｉ，ｊ）に対してシフトさせる位置である。処理ロジックは、マスクＳをフレーム内の位置（ｍ，ｎ）に移動させる（処理ブロック６０４）。
【００８１】
[0092]推定器の処理ロジックは、現在のマスク位置において３０３によって生成される変換係数の順位ｋと、フレーム内のマスクＳの位置（ｍ，ｎ）とに依存する変数Ｖ（ｍ，ｎ，ｋ）のセットを計算する（処理ブロック６０５）。これら補助変数のセットは、推定プロセスにおいて更に使用される。処理ロジックは、符号化プロセスによって生じる量子化ノイズの量を、コーデックが使用する量子化方式に基づいて計算する。本明細書においては、符号化プロセスにおいて使用する量子化ステップサイズをｑによって表す。この場合、処理ロジックは、変数を以下のように計算する。
【数２０】
2008541672.tif 000022
この式において、αは、様々な要因（例：マスクＳの内側の係数ｓ（ｋ）の順位ｋ、（ｉ，ｊ）の周囲のマスクＳの位置（ｍ，ｎ）に基づいて適合させることができる（この場合、α＝α（ｍ，ｎ，ｋ））。例えば、順位の高い係数に対してはαを大きくする。ｖが（ｍ，ｎ，ｋ）の関数であるならば、ｂも係数の順位（ｍ，ｎ，ｋ）の関数となり、ｂ（ｍ，ｎ，ｋ）＝βν２（ｍ，ｎ，ｋ）である。別の実施形態においては、処理ロジックは、マスクＳ（Ｓの中の位置）にマッピングされる変換係数の順位（ｍ，ｎ，ｋ）に依存する追加の補助変数を、以下のように計算する。
【数２１】
2008541672.tif 000023
上式において、μは選択可能な定数である。
【００８２】
[0093]或いは、別の実施形態においては、処理ロジックは以下の補助変数を計算する。
【数２２】
2008541672.tif 000024
上式において、μは選択可能な定数である。
【００８３】
[0094]処理ロジックは、マスクＳ下のサンプルに変換Ｔ（例：ＤＣＴ）を適用し（処理ブロック６０６）、変換後の係数に対し、推定器の処理ロジックを使用してノイズ低減を行う（処理ブロック６０７）。この実施形態では、マスクＳの現在の位置によってカバーされるデータサンプルに対応するＮ個の変換係数を、ｓ（ｍ，ｎ，ｋ）（ｋ＝１，．．．，Ｎ）によって表す。結果としての変換係数を、推定器モジュールの処理ロジックによって処理する。図７及び図８のフローチャートは、このオペレーションの相異なる実施形態を示しており、以下ではこれらの実施形態について更に詳しく説明する。
【００８４】
[0095]図７のフローチャートでは、推定器モジュールの処理ロジックは、変換係数ｓ（ｍ，ｎ，ｋ）を取得し、値ｓ２（ｍ，ｎ，ｋ）を計算することによって信号パワーを推定する。次いで、処理ロジックは、この信号パワーを閾値と比較し、係数ｓ（ｍ，ｎ，ｋ）に対する推定値を以下のように求める。
【数２３】
2008541672.tif 000025
【００８５】
[0096]次いで、推定器の処理ロジックは、次式に従って、処理後の変換係数ｐ（ｍ，ｎ，ｋ）を求める。
【数２４】
2008541672.tif 000026
【００８６】
[0097]代替の実施形態においては、推定器の処理ロジックは、図８のフローチャートに示したプロセスを使用し、補助変数を利用し、係数ｓ（ｍ，ｎ，ｋ）のそれぞれの推定値を、以下のように計算する。
【数２５】
2008541672.tif 000027
【００８７】
[0098]次いで、推定器の処理ロジックは、処理後の変換係数ｐ（ｍ，ｎ，ｋ）を以下のように求める。
【数２６】
2008541672.tif 000028
【００８８】
[0099]代替の実施形態においては、推定器の処理ロジックは、同じく図８のフローチャートに示したプロセスを使用し、処理後の係数ｐ（ｍ，ｎ，ｋ）の値を以下のように計算する。
【数２７】
2008541672.tif 000029
【００８９】
[00100]図８については、後に更に詳しく説明する。
【００９０】
[00101]図７又は図８のどちらのプロセスを使用した場合にも、処理ロジックは、係数ｐ（ｋ）をメモリ（例：メモリ３０５）に格納する。全ての係数が処理されていなければ、上述したプロセスを繰り返す。
【００９１】
[00102]次いで、処理ロジックは、マスクＳ下の変換係数に逆変換Ｔ−１を適用し（処理ブロック６０８）、フレームにおけるマスクＳの現在の位置（ｍ，ｎ）に対応するサンプルｒ（ｍ，ｎ，ｋ）を得る。処理ロジックは、マスクＳ下のこれらの再構築されたサンプルをメモリ（例：メモリ３０７）に格納する（処理ブロック６０９）。
【００９２】
[00103]次いで、処理ロジックは、（ｍ，ｎ）を次の位置に設定し（処理ブロック６１０）、サポート領域Ｒ内の全ての位置（ｍ，ｎ）を処理したかを調べる（処理ブロック６１１）。ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理していない場合、処理は処理ブロック６０５に移行し、（ｉ，ｊ）に対するマスクＳの次のシフト位置（ｍ，ｎ）を選択し、上述したプロセスを繰り返す。
【００９３】
[00104]ブロック位置（ｉ，ｊ）の周囲のマスクＳの位置の全てを処理した場合、処理ブロックは処理ブロック６１２に移行し、フレーム内のブロックグリッド上の次のブロック位置（ｉ，ｊ）を選択し、フレーム内の処理中のブロックのブロック位置（ｉ，ｊ）の全てを処理したかを調べる（処理ブロック６１３）。全てを処理していない場合、処理ロジックは処理ブロック６０４に移行し、プロセスはそこから続行する。全てを処理した場合、処理は処理ブロック６１４に移行する。このようにして、ブロック位置（ｉ，ｊ）の全てを処理するまで、上記のプロセスを繰り返す。
【００９４】
[00105]処理ブロック６１４において、処理ロジックは、フレーム内のサンプル位置のそれぞれに対応する再構築されたバージョンを、フィルタ（例：フィルタ３０８）を使用してフィルタリングし（処理ブロック６１４）、処理している現在のフレームのフィルタリングされたデータサンプルｆ（ｘ，ｙ）を、フレームストア（例：フレームストア１２６）に書き込む（処理ブロック６１５）。一実施形態においては、処理ロジックは、現在のフレーム内の各サンプルに対応する、メモリ（例：メモリ３０７）に格納されている推定されたサンプルをフィルタリングする。一実施形態においては、このフィルタリングは、ノイズフィルタモジュール１２５のフィルタ３０８が実行する。従って、ノイズフィルタモジュール１２５によって処理している現在のフレーム内の位置（ｘ，ｙ）のそれぞれに対して、推定器３０４によってメモリに格納されている、複数の処理済みの再構築されたサンプルｒｌ（ｘ，ｙ）が存在する。ここで、ｌ＝１，．．．，Ｌは、マスクＳがフレーム内のブロックグリッド位置の周囲を占有できる位置をインデックス化しており、そのような位置のそれぞれにおいて、サンプル位置（ｘ，ｙ）が含まれる。一実施形態においては、フィルタは、フレーム位置（ｘ，ｙ）に対応する入力データｒｌ（ｘ，ｙ）に対して、以下のように加重平均演算を実行する。
【数２８】
2008541672.tif 000030
この式において、ｗｌは、推定器の処理ロジックによって生成される統計情報に基づいて選択する重みである。一実施形態においては、全ての重みを、ｗｌ＝１／Ｌとして選択する。代替実施形態においては、重みは、マスクＳの位置ｌにおいて推定器を適用した結果としての処理後の係数ｐ（ｋ）のうち値がゼロである係数の数に比例するように選択する。
【００９５】
[00106]次いで、プロセスが終了する。
【００９６】
＜推定プロセスの例＞
[00107]図７は、推定プロセスの一実施形態のフローチャートである。推定プロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。
【００９７】
[00108]以下、図７を参照する。このプロセスでは、処理ロジックは、最初に変換係数を取得し（処理ブロック７０１）、変換係数の信号パワーを推定する（処理ブロック７０２）。一実施形態においては、変換係数の二乗を計算することによって信号パワーを推定する。
【００９８】
[00109]次いで、処理ロジックは、信号パワーが閾値よりも小さいかを調べる（処理ブロック７０３）。閾値の一実施形態は、上の段落[0052]に説明したものである。閾値よりも小さい場合に、処理ロジックは、係数を０に設定し（処理ブロック７０４）、処理が処理ブロック７０６に移行し、係数を格納する。閾値よりも小さくない場合、処理ロジックは、信号パワー、ノイズ出力、及び閾値に基づいて、上述したロジックを実行することによって係数の値を調節し（処理ブロック７０５）、処理が処理ブロック７０６に移行し、係数を格納する。
【００９９】
[00110]処理ロジックは、係数を格納した後、全ての係数を処理したかを調べる（処理ブロック７０７）。処理していない場合、処理ロジックは処理ブロック７０１に移行し、プロセスはこのポイントから続行する。全ての係数を処理した場合、プロセスは終了する。
【０１００】
[00111]図８は、推定プロセスの代替の実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。
【０１０１】
[00112]以下、図８を参照する。このプロセスでは、処理ロジックは、最初に変換係数を取得し（処理ブロック８０１）、変換係数の信号パワーを推定する（処理ブロック８０２）。一実施形態においては、変換係数の二乗を計算することによって信号パワーを推定する。次いで、処理ロジックは、信号パワーが閾値よりも小さいかを調べる（処理ブロック８０３）。閾値の一実施形態は、上の段落[0071]に説明したものである。閾値よりも小さい場合、処理ロジックは、係数を０に設定し（処理ブロック８０４）、処理が処理ブロック８０６に移行し、係数を格納する。閾値よりも小さくない場合、処理ロジックは、信号パワーが第２の閾値より小さいかを調べる（処理ブロック８０５）。この閾値の実施形態は、上の段落[0093]に説明したものである。第２の閾値よりも小さい場合、処理ロジックは、信号パワー、ノイズ出力、及び閾値に基づいて、上述したロジックを実行することによって係数の値を調節し（処理ブロック８０６）、処理が処理ブロック８０８に移行し、係数を格納する。第２の閾値よりも小さくない場合、処理ロジックは、係数を変更せずそのままにし（処理ブロック８０７）、処理ブロック８０８に移行して係数を格納する。
【０１０２】
[00113]処理ロジックは、係数を格納した後、全ての係数を処理したかを調べる（処理ブロック８０９）。処理していない場合、処理ロジックは処理ブロック７０１に移行し、プロセスはこのポイントから続行する。全ての係数を処理した場合、プロセスは終了する。
【０１０３】
＜ビデオ復号器の例＞
[00114]図９は、ビデオ復号器（ＶＤ）の一実施形態のブロック図である。以下、図９を参照する。ビデオ復号器は、変換復号器９１３と、加算器９０４と、メモリモジュール９０５と、動き補償・予測モジュール（ＭＣＰＭ）９０７と、動きデータ処理モジュール（ＭＤＰＭ）９０８と、フレームストア９０９と、ノイズフィルタモジュール（ＮＦＭ）９０６と、スイッチ９４１〜９４３と、を備えている。一実施形態においては、変換復号器９１３は、エントロピ復号器９０１と、逆量子化器９０２と、逆変換モジュール９０３と、を含んでいる。
【０１０４】
[00115]ビデオ復号器は、図１０のフローチャートを参照しながら以下に説明するプロセスに従って、ビデオフレームデータを再構築する。スイッチ９４２及びスイッチ９４３は、従来の符号化プロセスの動作と同様に、復号するブロックのタイプ（フレーム内符号化されている、又は予測符号化されている）に応じて開いているか、又は閉じている。スイッチ９４１は、最初は開いている。
【０１０５】
[00116]図１０は、ビデオ復号プロセスの一実施形態のフローチャートである。このプロセスは処理ロジックによって実行される。処理ロジックは、ハードウェア（回路、専用ロジック等）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で実行されるもの等）、又は双方の組合せを備えることができる。
【０１０６】
[00117]以下、図１０を参照する。このプロセスは、最初に、処理ロジックが、インデックス変数ｉを１に初期化する（処理ブロック１００１）。
【０１０７】
[00118]次いで、処理ロジックは、復号するビデオフレーム内の現在のブロックｃ（ｉ）の符号化モードを復号し（処理ブロック１００２）、ブロックｃ（ｉ）の符号化モードが「フレーム内」であるかを調べる（処理ブロック１００３）。「フレーム内」である場合、処理ロジックは、従来のプロセスに従って現在のブロックｃ（ｉ）をフレーム内復号し（処理ブロック１００４）、処理ブロック１００９に移行する。「フレーム内」ではない場合、処理ロジックは、現在のブロックｃ（ｉ）のブロック予測誤差ｅ（ｉ）を変換復号器９１３を使用して復号し（処理ブロック１００５）、現在のブロックｃ（ｉ）の動きベクトルｍｖ（ｉ）を変換復号器９１３とＭＤＰＭ９０８とを使用して復号し（処理ブロック１００６）、ｍｖ（ｉ）とフレームストア内の基準フレームとを使用して現在のブロックｃ（ｉ）の動き補償を行って予測ブロックｕ（ｉ）を求める（処理ブロック１００７）。一実施形態においては、復号された動きベクトルｍｖ（ｉ）をＭＣＰＭ９０８が使用して、フレームストア９０９に格納されている基準フレームから基準ブロック（予測子）ｕ（ｉ）をフェッチする。
【０１０８】
[00119]次いで、処理ロジックは、次式に従って現在のブロックを再構築する（処理ブロック１００８）。
【数２９】
2008541672.tif 000031
即ち、現在のブロックｒｃ（ｉ）は、予測誤差ｅ（ｉ）を予測サンプルｕ（ｉ）に加算することによって再構築される。
【０１０９】
[00120]その後、処理ロジックは、再構築されたデータをメモリ（例：メモリ９０５）に書き込む（処理ブロック１００９）。すなわち、再構築されたブロックｒｃ（ｉ）に対応するデータをメモリに書き込む。次いで、処理ロジックは、ｉを１だけインクリメントすることによって、復号している現在のフレーム内の次のブロック位置に進む（処理ブロック１０１０）。
【０１１０】
[00121]処理ロジックは、インデックス変数ｉがＮ（処理している現在のフレーム内のブロックの総数）より小さいかを調べる（処理ブロック１０１１）。小さい場合、処理ロジックは処理ブロック１００２に移行し、プロセスはそのポイントから続行する。このようにして、復号している現在のフレーム内の全てのブロックについて、上述したプロセスを繰り返す。小さくない場合、スイッチ９４１を閉じ、処理ロジックは、メモリ（例：メモリ９０５）内のフレームデータをノイズフィルタモジュール（例：ノイズフィルタモジュール９０６）を使用してフィルタリングする（処理ブロック１０１２）。一実施形態においては、ループフィルタリングモジュールが、メモリモジュール９０５に格納されている復号されたフレームデータを読み取り、ビデオ符号化器におけるループフィルタモジュール１２５について説明したプロセスと同じプロセスを実行する。次いで、処理ロジックは、フィルタリングされたデータをフレームストア（例：フレームストア９０９）に書き込む（処理ブロック１０１３）。
【０１１１】
[00122]その後、プロセスが終了する。
【０１１２】
[00123]したがって、本明細書に説明した方法及び装置を使用して求められるビデオフレームデータのフィルタリングでは、従来技術のソリューションと比較して、客観的及び主観的な（画質の）パフォーマンスが向上する。
【０１１３】
＜コンピュータシステムの例＞
[00124]図１１は、本明細書に説明した一つ以上のオペレーションを実行することのできる例示的なコンピュータシステムのブロック図である。以下、図１１を参照する。コンピュータシステム１１００は、例示的なクライアントコンピュータシステム又はサーバコンピュータシステムを備えることができる。コンピュータシステム１１００は、情報を伝えるための通信メカニズム又はバス１１１１と、バス１１１１に結合されており情報を処理するプロセッサ１１１２と、を備えている。プロセッサ１１１２はマイクロプロセッサを含んでいるが、マイクロプロセッサ（例：ＰｅｎｔｉｕｍTM、ＰｏｗｅｒＰＣTM、ＡｌｐｈａTM）に限定されない。
【０１１４】
[00125]システム１１００は、バス１１１１に結合されているおり、情報と、プロセッサ１１１２によって実行される命令とを格納するＲＡＭ（ランダムアクセスメモリ）又はその他の動的記憶装置１１０４（メインメモリと称する）を更に備えている。メインメモリ１１０４は、プロセッサ１１１２による命令の実行時に一時変数又はその他の中間情報を格納する目的にも使用することができる。
【０１１５】
[00126]更に、コンピュータシステム１１００は、バス１１１１に結合されており、静的な情報と、プロセッサ１１１２への命令とを格納するＲＯＭ（読取り専用メモリ）及び／又はその他の静的記憶装置１１０６と、データ記憶装置１１０７（例：磁気ディスク又は光ディスクと、それに対応するディスクドライブ）とを備えている。データ記憶装置１１０７は、バス１１１１に結合されており、情報及び命令を格納する。
【０１１６】
[00127]更に、コンピュータシステム１１００には、バス１１１１に結合されており、コンピュータの使用者に情報を表示するディスプレイ装置１１２１（例：ＣＲＴ（陰極線管）、液晶ディスプレイ（ＬＣＤ））を結合することができる。英数字キー及びその他のキーを有しており、情報及びコマンド選択をプロセッサ１１１２に伝える英数字入力装置１１２２も、バス１１１１に結合することができる。更なるユーザ入力装置は、バス１１１１に結合されるカーソル制御装置１１２３（例：マウス、トラックボール、トラックパッド、スタイラス、カーソル方向キー）であり、方向情報及びコマンド選択をプロセッサ１１１２に伝え、ディスプレイ１１２１上のカーソルの動きを制御する。
【０１１７】
[00128]バス１１１１に結合することのできる別の装置は、媒体（例：紙、フィルム、又は類似するタイプの媒体）上に情報を記録するために使用することのできるハードコピー装置１１２４である。バス１１１１に結合することのできる別の装置は、電話又はハンドヘルド型パームデバイス（ｈａｎｄｈｅｌｄ  ｐａｌｍ  ｄｅｖｉｃｅ）と通信するための有線／無線通信機能１１２５である。
【０１１８】
[00129]なお、本発明においては、システム１１００及び関連のハードウェアの一部又は全てを使用することができる。しかしながら、コンピュータシステムの別の構成では、これらデバイスの一部又は全てを備えてもよいことを理解されたい。
【０１１９】
[00130]この技術分野における当業者には、上記の説明を読み終えた後、本発明の数多くの変更及び修正が明らかになるであろうが、説明を目的として図示及び記載した実施形態の何れも、本発明を制限することを意図したものではないことを理解されたい。従って、様々な実施形態の細部を示したが、それらは、本発明の本質的な特徴のみを記載している特許請求の範囲を制限することを意図したものではない。
【図面の簡単な説明】
【０１２０】
【図１】ビデオ符号化器の一実施形態のブロック図である。
【図２】ビデオ符号化プロセスの一実施形態のフローチャートである。
【図３】ノイズフィルタモジュールの一実施形態のブロック図である。
【図４】ノイズフィルタリングプロセスの一実施形態のフローチャートである。
【図５】ノイズフィルタリングプロセスの別の実施形態のフローチャートである。
【図６】ノイズフィルタリングプロセスの更に別の実施形態のフローチャートである。
【図７】推定プロセスの一実施形態のフローチャートである。
【図８】推定プロセスの別の実施形態のフローチャートである。
【図９】ビデオ復号器の一実施形態のブロック図である。
【図１０】ビデオ復号プロセスの一実施形態のフローチャートである。
【図１１】コンピュータシステムの一実施形態のブロック図である。
【図１】
2008541672.tif 000032
【図２】
2008541672.tif 000033
【図３】
2008541672.tif 000034
【図４】
2008541672.tif 000035
【図５】
2008541672.tif 000036
【図６】
2008541672.tif 000037
【図７】
2008541672.tif 000038
【図８】
2008541672.tif 000039
【図９】
2008541672.tif 000040
【図１０】
2008541672.tif 000041
【図１１】
2008541672.tif 000042
【国際調査報告】
2008541672.tif 000043
2008541672.tif 000044
2008541672.tif 000045
2008541672.tif 000046
2008541672.tif 000047