(57)【要約】  デジタル画像をフィルタ処理する方法が説明されている。第１のフィルタリングパラメータに従って、デジタル画像内のノイズを平滑化し、デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルが適用される。フィルタカーネルは、それぞれのピクセルの関数となっており、それぞれのピクセルに対する閉形式を持つ。フィルタカーネルは、隣接ピクセルの第１の集合からの寄与因子を含み、フィルタカーネル内の要素の和が実質的固定値に等しくなるように、内容依存の正規化が行われる。
2008503192.tif 000002
【特許請求の範囲】
【請求項１】
デジタル画像をフィルタ処理する方法であって、第１のフィルタリングパラメータに従って、前記デジタル画像内のノイズを平滑化し、前記デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルを適用することを含み、
前記フィルタカーネルは、それぞれのピクセルの関数であり、前記それぞれのピクセルに対する閉形式を持ち、前記フィルタカーネルは、隣接ピクセルの第１の集合からの寄与因子を含み、前記フィルタカーネル内の要素の和が実質的固定値に等しくなるような内容依存の正規化を有する、方法。
【請求項２】
前記適用することは、前記それぞれのピクセルに対する単一パスを含む請求項１に記載の方法。
【請求項３】
前記適用は、フィルタ処理されたデジタル画像を出力するために、ピクセルの前記集合内のピクセル毎に実行される請求項１に記載の方法。
【請求項４】
前記フィルタカーネルをピクセルの前記集合内のそれぞれのピクセルにさらに１回または複数回適用することで、前記フィルタ処理されたデジタル画像に実質的な変化が生じないようにする請求項３に記載の方法。
【請求項５】
前記第１のフィルタリングパラメータは、平滑化と鮮鋭化との境界を決定する請求項１に記載の方法。
【請求項６】
前記第１のフィルタリングパラメータは、閾値を超える空間周波数を含む前記デジタル画像内の１つの位置におけるノイズの平滑化を減らすことにより、前記デジタル画像内のテクスチャ情報を実質的に維持する請求項１に記載の方法。
【請求項７】
前記フィルタカーネル内の非中心要素は、隣接ピクセルの前記第１の集合内のピクセルと異方性拡散方程式の離散化における前記それぞれのピクセルとの間の差の大きさを含み、前記フィルタカーネル内の中心ピクセルは、前記それぞれのピクセルに対応し、前記第１のフィルタリングパラメータは、前記異方性拡散方程式の前記離散化における時間ステップを内容依存スケールにマッピングする請求項１に記載の方法。
【請求項８】
前記異方性拡散方程式の前記離散化における伝導性は、ウェーブレット変換の関数である請求項７に記載の方法。
【請求項９】
前記ウェーブレット変換は、ルックアップテーブルとして実装される請求項８に記載の方法。
【請求項１０】
さらに、前記フィルタカーネルを使用して前記ピクセルの色を修正することを含む請求項１に記載の方法。
【請求項１１】
前記色を修正することは、色成分を含む請求項１０に記載の方法。
【請求項１２】
前記フィルタカーネルは、隣接ピクセルの第２の集合からの寄与因子を含み、さらに第２のフィルタリングパラメータに従う請求項１に記載の方法。
【請求項１３】
前記フィルタカーネルは、サイズ（２ｍ＋１）×（２ｎ＋１）のウィンドウに対応し、隣接ピクセルの前記第１の集合を含む請求項１に記載の方法。
【請求項１４】
ｍは、ｎに等しい請求項１３に記載の方法。
【請求項１５】
前記それぞれのピクセルに対するｍおよびｎは、１から５０までの範囲の正整数からなる集合から選択される請求項１３に記載の方法。
【請求項１６】
前記フィルタカーネルに対するｍおよびｎは、ピクセルサイズおよび画像解像度の関数である請求項１に記載の方法。
【請求項１７】
前記デジタル画像は、映像データを含む請求項１に記載の方法。
【請求項１８】
前記適用は、前置符号化されたデジタル画像を出力するために、ピクセルの前記集合内のピクセル毎に実行され、前記方法は、さらに予め定義された画像圧縮方法に従って前記前置符号化されたデジタル画像を圧縮することを含む請求項１に記載の方法。
【請求項１９】
デジタル画像をフィルタ処理する方法であって、フィルタリングパラメータに従って、前記デジタル画像内のノイズを平滑化し、前記デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルを適用することを含み、
フィルタ処理されたピクセルは、
【数１】
2008503192.tif 000038
に対応し、
Ｍは閉形式配列であり、該閉形式配列は、前記それぞれのピクセルの関数であり、ウィンドウサイズが（２ｍ＋１）×（２ｎ＋１）であり、ｍおよびｎは正整数であり、Ｍは、隣接ピクセルの（２ｍ＋１）×（２ｎ＋１）の集合からの寄与因子を含み、Ｕは、ピクセルの前記集合内の部分配列であり、前記それぞれのピクセルと隣接ピクセルの前記集合とを含み、
【数２】
2008503192.tif 000039
は、Ｍ内の要素とＵ内の要素の要素毎の乗算を示し、γは、配列
【数３】
2008503192.tif 000040
内の要素の和が実質的固定値に等しくなるような、内容依存正規化因子である、方法。
【請求項２０】
デジタル画像処理プロセッサであって、
メモリと、
プロセッサと、
プログラムとを備え、前記プログラムは、前記メモリ内に格納され、前記プロセッサにより実行されるように構成されており、前記プログラムは、
第１のフィルタリングパラメータに従って、前記デジタル画像内のノイズを平滑化し、前記デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルを適用する命令を含み、
前記フィルタカーネルは、それぞれのピクセルの関数であり、前記それぞれのピクセルに対する閉形式を持ち、前記フィルタカーネルは、隣接ピクセルの第１の集合からの寄与因子を含み、前記フィルタカーネル内の要素の和が実質的固定値に等しくなるような内容依存の正規化を有するデジタル画像処理プロセッサ。
【請求項２１】
デジタル画像フィルタ処理するためのコンピュータプログラム製品であって、
コンピュータ可読記憶媒体およびその中に組み込まれているコンピュータプログラムメカニズムを備え、前記コンピュータプログラムメカニズムは、
第１のフィルタリングパラメータに従って、前記デジタル画像内のノイズを平滑化し、前記デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルを適用する命令を含み、
前記フィルタカーネルは、それぞれのピクセルの関数であり、前記それぞれのピクセルに対する閉形式を持ち、前記フィルタカーネルは、隣接ピクセルの第１の集合からの寄与因子を含み、前記フィルタカーネル内の要素の和が実質的固定値に等しくなるような内容依存の正規化を有するコンピュータプログラム製品。
【請求項２２】
デジタル画像処理プロセッサであって、
メモリ手段と、
プロセッサ手段と、
プログラムメカニズムとを備え、前記プログラムメカニズムは、前記メモリ手段内に格納され、前記プロセッサ手段により実行されるように構成されており、前記プログラムメカニズムは、
第１のフィルタリングパラメータに従って、前記デジタル画像内のノイズを平滑化し、前記デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルを適用する命令を含み、
前記フィルタカーネルは、それぞれのピクセルの関数であり、前記それぞれのピクセルに対する閉形式を持ち、前記フィルタカーネルは、隣接ピクセルの第１の集合からの寄与因子を含み、前記フィルタカーネル内の要素の和が実質的固定値に等しくなるような内容依存の正規化を有するデジタル画像処理プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により本明細書に組み込まれる、２００４年６月１４日に出願した「Ｍｅｔｈｏｄｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｉｍａｇｅ  Ｃｌｅａｎ−Ｕｐ  ａｎｄ  Ｐｒｅ−ｃｏｄｉｎｇ」という表題の米国仮出願第６０／５７９，８４０号の優先権を主張するものである。
【０００２】
本発明は、一般的に、画像処理に関する関するものであり、より具体的には、画像および映像のクリーンアップおよび前置符号化（pre-coding）に関するものである。
【背景技術】
【０００３】
従来の画像ノイズ除去（または低減）アルゴリズムは、統計的方法およびカーネル法の２つに分類することができる。統計的方法のアルゴリズムの１つに、中央値フィルタリングがある。中央値フィルタリングでは、画像内のクリーンアップすべき（ノイズを含む）ピクセルの集合内のそれぞれのピクセルに対する値は、それぞれのピクセルを中心とする指定されたウィンドウ内の中央ピクセル値として決定される。中央値フィルタリングは、インパルスノイズの除去または低減に有効な場合があるが、ガウス（白色）ノイズを除去するのは困難であることが多く、ぼけた画像にすることがある（つまり、画像は平滑化される）。ぼけは、ウィンドウが大きいとき、例えばインパルスノイズの割合が高い画像内で、比較的顕著である。
【０００４】
他の統計的方法である、順序統計量（order-statistics）（ＯＳ）フィルタリングを使用すると、ぼけの量や程度を低減することができる。ＯＳフィルタリングでは、ウィンドウ内のピクセルの集合は、順序付きシーケンスとして配列され、それぞれのピクセルは、好適な所定の重みを使用してこのシーケンスの一次結合により置き換えられる。しかしならが、同じウィンドウ（形状およびサイズ）および同じ重みを画像内のそれぞれのピクセルに対し使用することができる。したがって、画像全体の鮮鋭さを保存または維持することは困難なことが多い。
【０００５】
移動平均（ＭＡ）フィルタリング、無限インパルス応答（ＩＩＲ）、または自己回帰移動平均（ＡＲＭＡ）フィルタリング（つまり、ＭＡを自己回帰帰還と併せた）、および畳み込みフィルタリングなどのカーネル法は、ガウスノイズを低減するのにより有効であるが、インパルスノイズを低減するのにはあまり有効でない場合がある。それに加えて、フィルタ係数（フィルタ重みとも呼ばれる）に応じて、カーネル法は、画像の鮮鋭さを保存する際に統計的方法に比べてなおそいっそう困難な場合がある。
【０００６】
統計的方法およびカーネル法を含む、従来の画像フィルタリングは、画像平滑化により、したがって画像の鮮鋭さを犠牲にして、ノイズ低減を行うことが多い。これにより、画像の過剰なぼけが生じうる。これらの方法を修正して、ある程度の画像鮮鋭さを保存することが試みられているが（例えば、逆グラディエントに従ってそれぞれのピクセルの畳み込みマスクを使用することにより）、このようなアプローチは、計算コストおよび複雑度の増大を伴い、また画像の多段処理（つまり、画像処理の何回もの反復）を使用することが多い。
【０００７】
画像ノイズ除去技術の最近の進歩として、「最大事後確率」（ＭＡＰ）および変分法がある。ＭＡＰアプローチは、本質的に統計的（つまり、離散的）である。変分法は、解析的であり、多くの場合、曲げまたは内部（「先験的」）エネルギー汎関数の総和として定義される、エネルギー汎関数の最小化問題として提示される。内部エネルギー汎関数は、出力画像の画質を決定するものであり、外部エネルギー汎関数は、クリーンアップすべき入力画像との近似を測定するものである。ノイズが含まれる入力画像（外部エネルギーにより支配される）と比較して出力「クリーン」画像の画質（平滑度／鮮鋭度）および忠実度（fidelity）のバランスをとるためのパラメータとして正定数が使用される。エネルギー最小化問題のオイラーラグランジュ方程式を解く最急降下法から、（等方性および異方性）拡散および拡散反応偏微分方程式（ＰＤＥ）が得られる。変分法および他の最近の関係するアプローチ（異方性拡散または拡散反応ＰＤＥの数値解など）は、通常、上述の従来のアルゴリズムに勝る改善をもたらすが、この改善は、計算コストおよび複雑さの増大を伴い、また画像の多段処理を使用することも多い。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、画像内容（画像テクスチャおよび画像エッジなど）を実質的に保持しつつ画像中のノイズを除去または低減する改善された画像処理方法が必要である。また、計算コストの低減、複雑さの低減、および画像処理における１パス化または処理段数の低減が必要である。
【課題を解決するための手段】
【０００９】
デジタル画像をフィルタ処理する方法について説明する。第１のフィルタリングパラメータに従って、デジタル画像内のノイズを平滑化し、デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルが適用される。フィルタカーネルは、それぞれのピクセルの関数であり、それぞれのピクセルに対する閉形式（closed form）を持つ。フィルタカーネルは、隣接ピクセルの第１の集合から寄与因子（contributions）を含み、フィルタカーネル内の要素の和が実質的固定値に等しくなるように内容依存の正規化（contend-dependent normalization）が行われる。言い換えると、要素の和は、固定された１つの値に等しいか、ほぼ等しい、ということである。
【００１０】
適用は、それぞれのピクセルに対する単一パスを含むことができる。適用は、フィルタ処理されたデジタル画像が出力するために、ピクセルの集合内のピクセル毎に実行することができる。フィルタカーネルをピクセルの集合内のそれぞれのピクセルにさらに１回または複数回適用することで、フィルタ処理されたデジタル画像に実質的な変化が生じないようにすることができる。
【００１１】
第１のフィルタリングパラメータは、平滑化と鮮鋭化との境界を決定することができる。第１のフィルタリングパラメータは、閾値を超える空間周波数を含むデジタル画像内の１つの位置におけるノイズの平滑化を減らすことによりデジタル画像内のテクスチャ情報を実質的に維持することができる。
【００１２】
フィルタカーネル内の非中心要素は、隣接ピクセルの第１の集合内のピクセルと異方性拡散方程式の離散化（the discretization of the anisotropic diffusion equation）におけるそれぞれのピクセルとの間の差の大きさを含むことができる。フィルタカーネル内の中心ピクセルは、それぞれのピクセルに対応しうる。第１のフィルタリングパラメータは、異方性拡散方程式の離散化における時間ステップを内容依存のスケール（content-dependent scale）にマッピングすることができる。異方性拡散方程式の離散化における伝導性（conductivity）は、ウェーブレット変換の関数であってよい。伝導関数からの離散伝導要素はルックアップテーブルとして実装することができる。
【００１３】
フィルタカーネルは、サイズ（２ｍ＋１）×（２ｎ＋１）のウィンドウに対応し、隣接ピクセルの第１の集合を含むことができる。フィルタカーネルに対するｍおよびｎは、ピクセルサイズの関数とすることができる。ｍは、ｎに等しくてもよい。
【００１４】
いくつかの実施形態では、この方法は、さらに、フィルタカーネルを使用してピクセルの色または色成分を修正することを含むことができる。
【００１５】
いくつかの実施形態では、フィルタカーネルは、隣接ピクセルの第２の集合からの寄与因子を含み、さらに第２のフィルタリングパラメータに従う。
【００１６】
デジタル画像をフィルタ処理する方法の他の実施形態では、フィルタリングパラメータに従って、デジタル画像内のノイズを平滑化し、デジタル画像内の画像エッジに関連する空間周波数を保存するために、ピクセルの集合内のそれぞれのピクセルに対しフィルタカーネルが適用される。フィルタ処理されたピクセルは
【００１７】
【数１】
2008503192.tif 000003
に対応するが、ただし、式中、Ｍは閉形式配列であり、該閉形式配列は、それぞれのピクセルの関数であり、ウィンドウサイズが（２ｍ＋１）×（２ｎ＋１）（ｍおよびｎは正整数）であり、Ｍは、隣接ピクセルの（２ｍ＋１）×（２ｎ＋１）の集合からの寄与因子を含み、Ｕは、ピクセルの集合内の部分配列であり、それぞれのピクセルと隣接ピクセルの集合とを含み、
【００１８】
【数２】
2008503192.tif 000004
は、Ｍ内の要素とＵ内の要素の要素毎の乗算を示し、γは、時間対内容依存スケール（time to content-dependent scale）であり、その結果、
【００１９】
【数３】
2008503192.tif 000005
内の要素の和が固定値に等しいかまたはほぼ等しくなるように、フィルタカーネルＭの正規化が行われる。
【００２０】
デジタル画像をフィルタ処理する方法およびフィルタ処理するための関係する装置では、ノイズを低減するととともに、画像内容を実質的に保存する。また、この方法および関係する装置は、計算コストの低減、複雑さの低減、およびデジタル画像の処理における１パス化または処理段数の低減も行う。
【００２１】
本発明をよりよく理解できるように、付属の図面とともに以下の詳細な説明が参照される。
【００２２】
図面全体を通して類似の参照番号は、対応する部分を指す。
【発明を実施するための最良の形態】
【００２３】
そこで、実施形態を詳しく参照するが、その実施例は、付属の図面に例示されている。以下の詳細な説明では、本発明を完全に理解できるように、多数の具体的詳細を述べている。しかし、当業者には、本発明は、これらの具体的詳細がなくても実施されうることは明白であろう。他の例では、これらの実施形態の態様を不必要にわかりにくくしないために、よく知られている方法、手順、コンポーネント、および回路について詳述していない。
【００２４】
画像処理方法ならびに関係する装置およびシステムについて説明する。画像処理は、画像内容を保存し、および／または高めつつ、画質を改善し（例えば、ノイズを低減または除去し）、通信帯域幅を低減し、および／またはデジタル画像またはデジタル画像の集合（映像など）の格納サイズを低減することができる、計算効率の高いフィルタカーネルを中心とする。フィルタカーネルは、ＪＰＥＧ、ＪＰＥＧ−２０００、ＭＰＥＧ、Ｈ２６３、またはＨ２６４などの画像または映像圧縮法を使用する、画像または映像圧縮システム内に前置フィルタまたは前置符号器として含むことができる。映像圧縮アプリケーションでは、フィルタカーネルは、Ｉフレーム、Ｐフレーム、Ｂフレーム、および／またはマクロブロックの前置フィルタ処理のために、さらにはいわゆる動き補償画像立方体（motion compensated image cubes）の三次元前置フィルタ処理において、使用することができる。フィルタカーネルは、スキャナ、プリンタ、デジタルカメラ（携帯電話、他の携帯デバイス、および／またはスタンドアロンのカメラで使用される）、およびビデオカメラ、さらに画像の後処理で使用することができる。フィルタカーネルは、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積回路などの、ソフトウェアおよび／またはハードウェアで実装することができる。いくつかの実施形態では、フィルタカーネルは、閉形式を有することができる。フィルタカーネルは、１パスで、それぞれの画像に対応するピクセルの集合に適用され、フィルタ処理された画像を生成することができる。続いてフィルタカーネルをフィルタ処理済み画像に適用することで、フィルタ処理済み画像を実質的に変更のないままにすることができる。例えば、１つまたは複数の空間周波数における大きさの変化は、前置フィルタ処理値の５から１０％未満とすることができる。フィルタカーネルが複数回適用された場合、フィルタカーネルに関連する１つまたは複数の平滑化／鮮鋭度パラメータは、変更されなくてもよいし、または修正されてもよい。
【００２５】
フィルタカーネルは、非線形であり、内容依存である（そのため、内容依存フィルタまたはＣＤＦとも呼ばれる）。画像内のピクセルのそれぞれの集合について、二次元ＣＤＦは、サイズ（２ｍ＋１）×（２ｎ＋１）（任意の正整数ｍおよびｎについて）のウィンドウまたはフィルタに対応する。ＣＤＦは、異方性拡散モデルおよび／または異方性拡散反応モデル（anisotropic diffusion-reaction model）に基づく。異方性拡散モデル内の伝導性の項のグラディエント演算は、水平および／または垂直方向のウェーブレット変換により置き換えることができる。多数の反復ステップを必要とする、結果として得られた偏微分方程式（ＰＤＥ）の数値解を計算するのではなくて、１つまたは複数の時間−スケール変換が導入される。これらの変換は、ＰＤＥの離散化における定数時間ステップパラメータを、一般に画像または画像の部分集合内のそれぞれのピクセルごとに変わる１つまたは複数の内容依存スケールにマッピングする。このマッピングは、ウィンドウ内の中心ピクセルとウィンドウ内の隣接ピクセルの１つまたは複数の集合内のそれぞれのピクセルとの間の差に基づき、および／またはウェーブレット変換によるものである。したがって、一般に、結果として得られるＣＤＦは、処理すべきそれぞれのピクセルついて異なる、つまり、フィルタ係数またはフィルタ重みは、ピクセル値（またはより一般的に、局所的画像内容）が異なれば異なる。しかし、ＣＤＦは、閉形式を持ちうる。そのようなものとして、それぞれのピクセルの画像処理は、単一演算で実行することができる、つまり、ＣＤＦは、１パスフィルタとすることができる。いくつかの実施形態では、ＣＤＦは、複数のパスで実装することができるが、（最大１００個の演算または段を使用する）従来の画像フィルタよりも少ない演算または段で済む。
【００２６】
ＣＤＦの構築時における時間−スケール変換（時間−スケールマッピングとも呼ばれる）は、ＣＤＦの所望のウィンドウサイズに応じて、異なる形態をとりうる。ウィンドウサイズは、画像内のピクセルサイズおよび／または画像解像度に従う。例えば、ピクセルサイズが小さい場合（高解像度）、画像内のノイズは、複数ピクセルに及ぶ可能性がある。結果として、このような状況では、大きなウィンドウを使用することができる。複数のフィルタウィンドウサイズ（３×３ウィンドウを含む）に対する微分に関する以下の説明は、任意のウィンドウサイズまで広げることができ、さらに、三次元画像内の画像ノイズを除去または低減する三次元ウィンドウのフィルタまで広げることもできる。そのようなものとして、微分は、一般的アプローチを示すと考えられる。時間−スケール変換は、画像の平滑化／鮮鋭度を調整するために使用することができる少なくとも１つのパラメータを含むことができる。少なくとも１つのパラメータは、事前に定義するか、または自動的におよび／または手作業で調整することができる。調整は、照度、シャッター速度、および／または画像内の画像内容に従う。少なくとも１つのパラメータは、閾値を超える空間周波数を含む画像内の１つの位置におけるノイズの平滑化を減らすことにより、画像内のテクスチャ情報を維持することができる。
【００２７】
次に、デジタル画像をフィルタ処理するプロセスならびに関係する装置およびシステムのいくつかの実施形態に注目する。図１は、デジタル画像をフィルタ処理するプロセスの一実施形態１００を例示する流れ図である。隣接ピクセルの第１の集合を含むフィルタカーネルのウィンドウサイズが、フィルタリングプロセスのために決定される（１１２）。ＣＤＦ用のフィルタカーネルなどのフィルタカーネルが、隣接ピクセルの第１の集合内のそれぞれのピクセルについて決定または構築される（１１０）。フィルタカーネルは、１のフィルタリングパラメータに応じて、ノイズを平滑化し、画像エッジに関連する空間周波数を保存する。フィルタカーネルに関連する伝導性は、オプションのウェーブレット変換を使用して決定される（１１４）。隣接するピクセルの第２の集合からのフィルタカーネルへの寄与因子は、第２のフィルタリングパラメータに従って適宜決定されることができる（１１６）。フィルタカーネルは、隣接ピクセルの第１の集合内のそれぞれのピクセル（中心ピクセルを含む）に適用され、フィルタ処理済みデジタルピクセルを生成する（１１８）。それぞれのピクセルの色は、対応するフィルタカーネルを使用して適宜修正される（１２０）。このプロセスは、ピクセルの集合内の追加のピクセルについて、１回または複数回反復することができる（１２２）。このプロセスは、１つまたは複数の色チャネルについて１回または複数回反復することができる。それぞれの色チャネルは、ＲＧＢ、ＹＣｂＣｒ、ＹＵＶ、またはＹＩＱ色チャネルとすることができる。プロセス１００は、画像内のピクセルの少なくとも１つの部分集合について少なくとも１回の反復を含む複数回の反復を行うことができる。いくつかの実施形態では、並列プロセッサまたは回路を使用して、複数のピクセルを並列に処理することができる。プロセス１００は、それよりも少ない演算または追加の演算を含むことができる。更に、２つまたはそれ以上の演算を組み合わせること、および／または演算の順序を変更することができる。
【００２８】
図２は、デジタル画像をフィルタ処理するプロセス２００の一実施形態を例示する流れ図である。クライアントデバイス２１０（例えば、イメージセンサを含むデバイス）は、ピクセルの集合をサーバデバイス（例えば、プロセッサ、ＤＳＰ、またはＡＳＩＣを含むデバイス）２１２に送信する（２１４）。該ピクセルの集合が受信される（２１６）。オプションとして、１つまたは複数のフィルタカーネルが、ピクセルの集合内のそれぞれのピクセルについて決定または構築される（２１８）。それぞれのフィルタカーネルが、ピクセルの集合内のそれぞれのピクセルに適用され、フィルタ処理済みデジタル画像が生成される（２２０）。フィルタ処理済みデジタル画像は、クライアントデバイス２１０に送信される（２２２）。該フィルタ処理済みデジタル画像が受信される（２２４）。プロセス２００は、それよりも少ない演算または追加の演算を含むことができる。更に、２つまたはそれ以上の演算を組み合わせること、および／または演算の順序を変更することができる。
【００２９】
図３は、クライアントコンピュータ、クライアントデバイス、またはサーバデバイス（例えば、プロセッサ、ＤＳＰ、またはＡＳＩＣを含むデバイス）３００の一実施形態を例示するブロック図である。クライアントコンピュータ、クライアントデバイス、またはサーバデバイス３００は、少なくとも１つのデータプロセッサ、ビデオプロセッサ、および／または中央演算処理装置（ＣＰＵ）３１０、１つまたは複数のオプションのユーザインターフェース３１４、他のコンピュータ、サーバおよび／またはデバイス４００（図４）と通信するための通信またはネットワークインターフェース３２２、メモリ３２４、およびこれらのコンポーネントを互いに結合するための１つまたは複数の通信バスまたは信号線３１２を備えることができる。少なくとも１つのデータプロセッサ、ビデオプロセッサ、および／または中央演算処理装置（ＣＰＵ）３１０は、マルチスレッドおよび／または並列処理をサポートすることができる。ユーザインターフェース３１４は、１つまたは複数のディスプレイ３１６、キーボード３１８、および／またはポインタ３２０（マウスなど）を備えることができる。クライアントまたはサーバデバイス３００は、ピクセルの集合の少なくとも部分集合に対しローリングキャッシュとして使用することができる１つまたは複数のキャッシュメモリ３０８を備えることができる。
【００３０】
メモリ３２４は、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、１つまたは複数のフラッシュディスクドライブ、１つまたは複数の光ディスクドライブ、および／または１つまたは複数の磁気ディスク記憶デバイスを含む、高速ランダムアクセスメモリおよび／または不揮発性メモリを含むことができる。メモリ３２４は、基本システムサービスを処理しハードウェア依存のタスクを実行するためのプロシージャ（つまり、命令セット）を含む、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ９、またはＷＩＮＤＯＷＳなどの、オペレーティングシステム３２６を格納することができる。メモリ３２４は、さらに、ネットワーク通信モジュール３２８内に通信プロシージャ（または命令セット）を格納することもできる。通信プロシージャは、１つまたは複数のコンピュータ、サーバ、および／またはデバイス４００と通信するために使用される（図４）。
【００３１】
メモリ３２４は、さらに、画像処理モジュール３３０（または命令セット）、ウェーブレット変換モジュール３３６（または命令セット）、色変換モジュール３３８（または命令セット）、ＪＰＥＧまたはＭＰＥＧなどの符号化／復号化モジュール３４０（または命令セット）、ピクセルの１つまたは複数の集合３４２、および／または１つまたは複数のフィルタ処理済みデジタル画像３４４を含む、要素、またはそのような要素の部分集合または上位集合を含むこともできる。画像処理モジュール３３０は、フィルタカーネルジェネレータ３３２および／または１つまたは複数のフィルタカーネル３３４を含むことができる。いくつかの実施形態では、メモリ３２４は、さらに、フィルタ処理済み圧縮画像３５２を生成すべく、画像または映像圧縮法（ＪＰＥＧ、ＪＰＥＧ−２０００、ＭＰＥＧ、Ｈ２６３、またはＨ２６４など）を使用してフィルタ処理済みデジタル画像３４４を圧縮するために使用される、画像圧縮モジュール３５０を備える。
【００３２】
図３は、クライアントまたはサーバ３００を多数の個別アイテムとして示しているが、図３は、本明細書で説明されている実施形態の構造概略としてではなく、クライアントまたはサーバ３００内に存在しうる様々な特徴の機能を説明するものとして意図されている。実際、当業者であれば理解するように、クライアントまたはサーバ３００の機能を多数のサーバまたはクライアント上に分散させ、クライアントまたはサーバの様々なグループがこれらの機能の特定の部分集合を実行するようにできる。図３に別々に示されているアイテムを組み合わせること、いくつかのアイテムを別に分けること、および／または追加のアイテムを含めることができる。
【００３３】
図４は、カメラ、デジタルカメラ、またはビデオカメラを備える携帯電話などのデバイス４００の一実施形態を例示するブロック図である。デバイス４００は、１つまたは複数のデータプロセッサ、ビデオプロセッサ、および／または中央演算処理装置（ＣＰＵ）４１０、１つまたは複数のオプションのユーザインターフェース４１４、１つまたは複数のイメージセンサ４１８、他のコンピュータ、サーバおよび／またはデバイス４００と通信するための通信またはネットワークインターフェース４２２（ＵＳＢなど）、メモリ４２４、およびこれらのコンポーネントを互いに結合するための１つまたは複数の通信バスまたは信号線４１２を備えることができる。１つまたは複数のデータプロセッサ、ビデオプロセッサ、および／または中央演算処理装置（ＣＰＵ）４１０は、マルチスレッドおよび／または並列処理をサポートすることができる。ユーザインターフェース４１４は、１つまたは複数のディスプレイ４１６、および／または１つまたは複数のキーまたはキーパッドを備えることができる。デバイス４００は、さらに、電源４２０を備えることもできる。デバイス４００は、ピクセルの集合の少なくとも部分集合に対しローリングキャッシュとして使用することができる１つまたは複数のキャッシュメモリ４０８を備えることができる。
【００３４】
メモリ４２４は、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、１つまたは複数のフラッシュディスクドライブ、１つまたは複数の光ディスクドライブ、および／または１つまたは複数の磁気ディスク記憶デバイスを含む、高速ランダムアクセスメモリおよび／または不揮発性メモリを含むことができる。メモリ４２４は、ＬＩＮＵＸ、ＯＳ９、ＵＮＩＸ、またはＷＩＮＤＯＷＳ、あるいは、工業用または商用デバイス上で使用するに好適なリアルタイムオペレーティングシステム（例えば、Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．社のＶｘＷｏｒｋｓ）などの、組み込みオペレーティングシステム４２６を格納することができる。組み込みオペレーティングシステム４２６は、基本システムサービスを処理しハードウェア依存のタスクを実行するためのプロシージャ（つまり、命令セット）を含むことができる。メモリ４２４は、さらに、通信モジュール４２８内に通信プロシージャ（または命令セット）を格納することもできる。通信プロシージャは、１つまたは複数のコンピュータ、サーバ、および／またはデバイス４００と通信するために使用される。
【００３５】
メモリ４２４は、さらに、画像処理モジュール４３０（または命令セット）、ウェーブレット変換モジュール４３６（または命令セット）、色変換モジュール４３８（または命令セット）、ＪＰＥＧまたはＭＰＥＧなどの符号化／復号化モジュール４４０（または命令セット）、１つまたは複数のピクセルの集合４４２を含む、要素、またはそのような要素の部分集合または上位集合を含むこともできる。画像処理モジュール４３０は、フィルタカーネルジェネレータ４３２および／または１つまたは複数のフィルタカーネル４３４を含むことができる。デバイス４００は、さらに、１つまたは複数のフィルタ処理済みデジタル画像４４４も含むことができる。フィルタ処理済みデジタル画像４４４は、メモリ４２４、またはフラッシュメモリなどの別個の不揮発性メモリに格納することができ、これは取り外し可能であってもよい。いくつかの実施形態では、メモリ４２４は、さらに、フィルタ処理済みおよび圧縮画像４５２を生成すべく、画像または映像圧縮法（ＪＰＥＧ、ＪＰＥＧ−２０００、ＭＰＥＧ、Ｈ２６３、またはＨ２６４など）を使用してフィルタ処理済みデジタル画像４４４を圧縮するために使用される、画像圧縮モジュール４５０を備える。
【００３６】
図４は、デバイス４００を多数の個別アイテムとして示しているが、図４は、本明細書で説明されている実施形態の構造概略としてではなく、デバイス４００内に存在しうる様々な特徴の機能を説明するものとして意図されている。図４に別々に示されているアイテムを組み合わせること、いくつかのアイテムを別に分けること、および／または追加のアイテムを含めることができる。
【００３７】
図５は、デジタル画像または映像をフィルタ処理するプロセスの一実施形態５００を例示する流れ図である。ノイズを含む画像が受信される（５１０）。オプションとして、画像は前処理され（５１２）、該前処理は、アナログデジタル変換（必要な場合）および／または色変換を含む。１つまたは複数のフィルタカーネルが複数のチャネルに適用される（５１４）。それぞれの色空間内の画像がクリーンアップされる（５１６）。画像は、例えばＪＰＥＧまたはＭＰＥＧ圧縮を使用して、符号化される（５１８）。流れ図５００は、それよりも少ない演算または追加の演算を含むことができる。更に、２つまたはそれ以上の演算を組み合わせること、および／または演算の順序を変更することができる。
【００３８】
次に、ＣＤＦのフィルタカーネルに注目する。すでに説明されているように、ノイズ除去または低減を行う従来の画像処理は、ＭＡＰおよび変分法を含む。異方性拡散ＰＤＥとともに、異方性拡散反応ＰＤＥに基づくアプローチは、変分法に使用される。ここで、エネルギー汎関数は、拡散モデルの対応する伝導関数ｃが定数ではないように最小化され、その結果、非線形ＰＤＥが得られる。一般に、このような非線形ＰＤＥは、反復プロセスを使用して数値的に解かれる。
【００３９】
いくつかの従来のアプローチでは、伝導性ｃを関数ｃ（ｐ）＝φ’（ｐ）／ｐと定義することにより、異方性拡散ＰＤＥに基づいてアプローチを拡張するが、この関数はφ（０）＝０である微分可能非減少関数φ（ｐ）に対応する。（φ（ｐ）が内部エネルギー汎関数の内部エネルギー密度関数である場合、最小エネルギー問題においてオイラーラグランジュ方程式を解くための最急降下法は、外部エネルギーの離散公式に対する異方性拡散ＰＤＥおよび外部エネルギーの連続公式に対する拡散反応ＰＤＥが得られる）。ｐ６１０の関数としての関数φ”（ｐ）６１２（二重引用符”は二階導関数であることを示す）は、図６に例示されており、ただし、ｐ＝｜∇ｕ｜は空間グラディエントｕの大きさであり、ある時点における異方性拡散方程式の（未知の）解である。内部エネルギー密度関数に対するポピュラーな選択の１つとして、φ（ｐ）＝ｐがある。この選択について、対応する伝導性関数はｃ（ｐ）＝１／ｐである。ｐ６１０の小さな値は、画像内容の高速拡散に対応する。その結果、画像テクスチャおよび軽度の画像エッジなどの画像詳細は、画像処理中に失われる可能性がある。ｐ６１０の大きな値は、画像内容の中のエッジの鮮鋭化に対応する。これらの上下限の間に連続的な変化があるが、遷移パラメータｐ０６１４と呼ばれるゼロ交差は、２つの領域に分離する。
【００４０】
図７は、画像エッジ上のある１つの点における横方向単位ベクトルｔ７１０および法線方向単位ベクトルｎ７１２を含む、局所座標７００を例示するブロック図である。ｐ＝｜∇ｕ｜（図６）が遷移パラメータｐ０６１４よりも大きい場合、鮮鋭化は、法線方向単位ベクトルｎ７１２にそった逆方向拡散のため生じる。法線方向単位ベクトルｎ７１２は、（未知の）解ｕのグラディエントの方向の単位ベクトルであり、横方向単位ベクトルｔ７１０は、右手の法則に従ってｎに直交する。ｐ＝｜∇ｕ｜（図６）が遷移パラメータｐ０６１４よりも小さい場合（図６）、最小の拡散が法線方向単位ベクトルｎ７１２にそって生じ、したがってぼけはあまり見えない。遷移パラメータｐ０６１４を適切に選択する場合、画像ノイズを除去または低減しつつ、画像鮮鋭度を維持するか、または高めることができる。しかし、すでに説明されているように、異方性拡散ＰＤＥに基づくこれらのモデルおよび他のモデルでは、複雑度が増しており、また数値解を求めるために使用される計算量が増える。典型的には、非線形異方性拡散ＰＤＥのこれらの解および他の解では、何回もの反復または多段画像処理を使用する。例えば、一定の時間ステップパラメータΔｔを使用してＰＤＥを離散化し、非線形差分方程式をたてることができる。ノイズを含む入力画像は、ＰＤＥの初期条件として使用される。「クリーンな」出力画像に対応する、数値解は、典型的には、多数の反復ステップまたは演算（最大１００回またはそれ以上）を伴い、また反復プロセスを終了させるための停止時間のアドホックな選択に依存する。
【００４１】
後述のＣＤＦの微分では、異方性拡散ＰＤＥが離散化される。他の実施形態では、拡散反応ＰＤＥなどの、関係する非線形ＰＤＥは、離散化することができる。ノイズを含む画像を初期条件として使用する。伝導性関数ｃ（ｐ）は、ｐ＝｜∇ｕ｜の関数として定義される。例示的な実施形態では、伝導性関数は
【００４２】
【数４】
2008503192.tif 000006
または
【００４３】
【数５】
2008503192.tif 000007
とすることができる。
【００４４】
ＰＤＥを数値的に解く代わりに、時間パラメータをピクセル依存スケールにマッピングする。このスケールを使用すると、停止時刻を使用しなくて済み、画像処理を１パスで実行できるようになる。例示的な一実施形態として、３×３フィルタウィンドウを考える。３×５、５×５、および７×７のフィルタウィンドウに対する結果も示される。当業者には明らかなように、フィルタサイズの大きなＣＤＦだけでなく、三次元ＣＤＦも構築できる。
【００４５】
以下で求められる、ＣＤＦは、水平と垂直の両方向に有限フィルタ長を持つ（ＣＤＦの三次元実施形態は、第３方向にも有限長を持つ）。フィルタ処理された画像の少なくとも１つの部分集合内のそれぞれのピクセルは、それ独自のＣＤＦフィルタを持つことができる。いくつかの実施形態では、これらのＣＤＦフィルタは、水平方向および垂直方向に対称的な形状を持つウィンドウに対応する。ウィンドウは、（２ｍ＋１）×（２ｎ＋１）個のピクセルに対応しうるが、ｍおよびｎは、任意の正整数である（三次元実施形態については、第３の方向の次元はｑである）。例示的な一実施形態では、ｍおよびｎは、それぞれ１から５０までの範囲の正整数である（また、三次元実施形態については、ｑは、１から１０までの範囲の正整数とすることができる）。いくつかの実施形態では、ｍは、ｎに等しい、つまり、ウィンドウは正方形とすることができる。いくつかの実施形態では、ウィンドウは長方形とすることができる。いくつかの実施形態では、ウィンドウは、偶数個×奇数個のピクセルまたは奇数個×偶数個のピクセルなどの非対称的形状とすることもできる。ＣＤＦは、上述の形式（formalism）よりもいくつか多い追加の機能を組み込む。このプロセスでは、画像処理は、単一パス、つまり、非反復的方法で実装することができる。
【００４６】
ＣＤＦがより効果的であるためには、いくつかの実施形態において、ウィンドウ内のエントリは任意のゼロフィルタ係数または重みを持たなくてもよい。例えば、３×３フィルタを設計する場合、フィルタ行列
【００４７】
【数６】
2008503192.tif 000008
内のコーナーエントリは、異方性拡散モデルの伝導性関数に応じて決定される。そのため、いくつかの実施形態では、ウィンドウ内の中心ピクセルに関して地理的方向（geographic directions）のすべてが、ウィンドウのサイズに従って離散化され、それにより、ウィンドウ内のすべての要素に対するエントリが決定される。
【００４８】
未知の解ｕの空間グラディエントの大きさの関数である伝導性関数ｃ（｜∇ｕ｜）の使用は、難題をもたらす可能性がある。特に、未知の解ｕは、入力画像データを最初に表すために使用されるので、これは、ノイズで汚染されている場合があり、ｕの空間グラディエント値は不正確で、強い変動を示すことがある。これに対処するために、離散伝導性関数における入力画像の空間グラディエントは、水平および／または垂直方向の入力画像のウェーブレット変換により置き換えることができる。他の実施形態では、伝導性関数における入力画像の空間グラディエントは、グラディエント演算が適用される前に、（未知の）解ｕに対しガウス畳み込みが実行されるように修正することができる。ＣＤＦは１パスで適用することができるが、ＣＤＦが複数回適用される場合、後におこる反復は、フィルタ処理された画像がもはやノイズを含まないため、上述の伝導性関数ｃ（｜∇ｕ｜）の修正版を使用しても使用しなくてもよい。
【００４９】
それに加えて、時間−スケール変換（時間−スケールマッピングともいう）が導入される。これらの変換は、異方性拡散ＰＤＥの離散化における定数時間ステップパラメータΔｔ（これ以降λで表す）を、１つまたは複数のピクセル依存スケールにマッピングする。これらのスケールは、ノイズを含む入力画像内の中心ピクセルとともにフィルタウィンドウ内の隣接ピクセルの関数として公式化される。以下で詳しく説明されるように、時間−スケール変換は、画像平滑化／鮮鋭化調整を決定する１つまたは複数のパラメータに関連付けられる。１つまたは複数のパラメータを使用して、いくつかの異なる画像エッジの鮮鋭度を実質的に変えずに、感じの良いぼけ効果を生み出すことができる。時間−スケール変換を使用することで、異方性拡散または他のＰＤＥを数値的に解かずに、ＣＤＦのフィルタカーネルを構築することができる。その結果、ＣＤＦを適用して、画像からノイズを除去または低減する場合、反復ステップおよび停止時刻ｋは必要ない。
【００５０】
離散化の後、異方性拡散ＰＤＥは、
【００５１】
【数７】
2008503192.tif 000009
として表すことができるが、ただし、
【００５２】
【数８】
2008503192.tif 000010
は、入力画像の（ｉ，ｊ）番目のピクセルを表し、
【００５３】
【数９】
2008503192.tif 000011
は、ｋ回反復した（またはｋ反復時間ステップ）後の差分方程式の解（（ｉ，ｊ）番目のピクセル位置の）を表し、定数時間ステップパラメータはΔｔにより表され、隣接するピクセル距離はｈにより表される。
【００５４】
【数１０】
2008503192.tif 000012
および
【００５５】
【数１１】
2008503192.tif 000013
は、隣接するピクセルの第１の集合に関連付けられている、東（Ｅ）、南（Ｓ）、西（Ｗ）、および北（Ｎ）の地理的方向または向きにそって、伝導性関数ｃ（｜∇ｕ｜）を離散化することを表している。これ以降、これらは、離散伝導性関数と呼ぶ。伝導性関数ｃ（｜∇ｕ｜）は、空間座標（ｘ，ｙ）および時刻変数ｔを持つ、未知の解ｕ＝ｕ（ｘ，ｙ，ｔ）のグラディエントの関数であるため、差分方程式は、未知の解にも依存し、したがって、画像内容依存である。上記式において、∂Ｅ、∂Ｓ、∂Ｗ、∂Ｎは、ピクセルに適用される１階空間差分を表す。特に、
【００５６】
【数１２】
2008503192.tif 000014
となる。差分方程式は、
【００５７】
【数１３】
2008503192.tif 000015
として再び表すことができる。この差分方程式は、反復ピクセル依存フィルタリングプロセスとして書き換えることができ、フィルタは行列テンプレート
【００５８】
【数１４】
2008503192.tif 000016
により表され、離散伝導性関数
【００５９】
【数１５】
2008503192.tif 000017
および
【００６０】
【数１６】
2008503192.tif 000018
は、隣接ピクセルの第１の集合とともに中心ピクセルの関数、つまり、
【００６１】
【数１７】
2008503192.tif 000019
である。したがって、
【００６２】
【数１８】
2008503192.tif 000020
は、ピクセル位置（ｉ，ｊ）にも依存する。ただし、表記を簡単にするため、下付ｉ、ｊは示されていない。反復的な既存のフィルタリングアプローチでは、反復フィルタリングプロセス（ｋ＝０，１，２，．．．）は、構成要素毎（component-wise）の行列乗算（エントリ毎の乗算または要素毎の乗算ともいう）と、その後に続く、結果として得られるすべての行列構成要素つまり
【００６３】
【数１９】
2008503192.tif 000021
の総和により記述することができるが、ただし、
【００６４】
【数２０】
2008503192.tif 000022
は、ｋ回反復の後のフィルタウィンドウに対応するピクセルの集合内の中心ピクセルである。
【００６５】
３×３フィルタウィンドウを持つＣＤＦに対するフィルタカーネルを構築するために、北東（ＮＥ）、南東（ＳＥ）、南西（ＳＷ）、および北西（ＮＷ）の方向の隣接ピクセルの第２の集合も離散化される。差分方程式は、これら４つの追加のピクセルを含むように拡張できる。
【００６６】
【数２１】
2008503192.tif 000023
ただし、ｖは、独立に調整することができるパラメータ、または、１つの自由パラメータのみが画像平滑化／鮮鋭化調整に使用されるように、λ＝Δｔに結合できるパラメータである。差分方程式は、αを画像平滑化／鮮鋭化調整に対応するパラメータとする内容依存スケール値
【００６７】
【数２２】
2008503192.tif 000024
を定義することにより、また定数時間ステップパラメータΔｔをピクセル依存の、したがって画像内容依存のスケール
【００６８】
【数２３】
2008503192.tif 000025
にマッピングする時間−スケール変換
【００６９】
【数２４】
2008503192.tif 000026
を導入することにより、ＣＤＦにおいて変更することができる。ノイズを含む入力画像をクリーンアップするための結果として得られるＣＤＦは、
【００７０】
【数２５】
2008503192.tif 000027
である。表記
【００７１】
【数２６】
2008503192.tif 000028
は、構成要素毎の行列乗算を表し、表記Σは、結果の行列のすべての構成要素またはエントリにわたる総和を示す。反復指数ｋは、もはや存在しないことに留意されたい。３×３  ＣＤＦは、行列テンプレート
【００７２】
【数２７】
2008503192.tif 000029
により表すことができ、他の画像平滑化／鮮鋭化パラメータμ＝αｖが導入されている（上述のように、パラメータαは、パラメータμに結合することができ、その結果、画像平滑化／鮮鋭化調整の単一の自由パラメータが得られる）。例示的な一実施形態では、μ＝α／４である。ＣＤＦは、さらに、
【００７３】
【数２８】
2008503192.tif 000030
として明示的に書き出すことができる。フィルタ重みは、隣接ピクセルと中心ピクセルとの間の差の大きさと、隣接ピクセルの第１の集合または隣接ピクセルの第２の集合に対応するパラメータ（αまたはμ）との積であることに留意されたい。また、内容依存スケール値ｋｉｊは、中心ピクセルに相対的であり、これにより、フィルタ重みまたは要素の和が固定値に等しいか、または近似的に等しくなるように、行列Ｆｉｊが確実に正規化されることにも留意されたい。フィルタ重みの和は、数値処理のアーティファクトなどにより、固定値からわずかに異なることがある。ＣＤＦ内の非中心要素は、入力画像の平滑化を決定することができる。
【００７４】
同様に、３×５、５×５、および７×７のウィンドウに対するＣＤＦを決定または構築することができる。３×５ウィンドウでは、ＣＤＦは、
【数２９】
2008503192.tif 000031
として定式化できる。追加の方向（ＮＥ−Ｅ、Ｅ−Ｅ、ＳＥ−Ｅ、ＳＷ−Ｗ、Ｗ−Ｗ、ＮＷ−Ｗ）は、インデックス（ｉ＋２，ｊ＋１）．．．（ｉ−２，ｊ＋１）を使用することにより考慮されており、隣接ピクセルの追加の集合に対応する追加の平滑化／鮮鋭化パラメータが含まれていることに留意されたい。ＣＤＦのこの式で使用されている４つのパラメータ（α、β、γ、ω）を結び合わせて、１つまたは２つの独立パラメータを作ることができる。典型的な比は、１／２、１／４、３／４、３／８、５／８、７／８、１／１６、３／１６、５／１６、７／１６、９／１６、１１／１６、１３／１６、１５／１６、１／３２、３／３２、５／３２、７／３２、９／３２、１１／３２、１３／３２、１５／３２、１７／３２、１９／３２、２１／３２、２３／３２、２５／３２、２７／３２、２９／３２、および３１／３２を含む。５×５ウィンドウでは、ＣＤＦは、
【数３０】
2008503192.tif 000032
として定式化できる。ＣＤＦのこの式で使用されている５つのパラメータ（α、β、λ、ω、ν）を結び合わせて、１つまたは２つの独立パラメータを作ることができる。典型的な比は、１／２、１／４、３／４、３／８、５／８、７／８、１／１６、３／１６、５／１６、７／１６、９／１６、１１／１６、１３／１６、１５／１６、１／３２、３／３２、５／３２、７／３２、９／３２、１１／３２、１３／３２、１５／３２、１７／３２、１９／３２、２１／３２、２３／３２、２５／３２、２７／３２、２９／３２、および３１／３２を含む。７×７ウィンドウでは、ＣＤＦは、
【数３１】
2008503192.tif 000033
として定式化できる。ＣＤＦのこの式で使用されている９つのパラメータ（α、β、λ、ω、ν、κ、δ、χ、γ）を結び合わせて、１つまたは２つの独立パラメータを作ることができる。典型的な比は、１／２、１／４、３／４、３／８、５／８、７／８、１／１６、３／１６、５／１６、７／１６、９／１６、１１／１６、１３／１６、１５／１６、１／３２、３／３２、５／３２、７／３２、９／３２、１１／３２、１３／３２、１５／３２、１７／３２、１９／３２、２１／３２、２３／３２、２５／３２、２７／３２、２９／３２、３１／３２、１／６４、３／６４、５／６４、７／６４、９／６４、１１／６４、１３／６４、１５／６４、１７／６４、１９／６４、２１／６４；２３／６４、２５／６４、２７／６４、２９／６４、３１／６４、３３／６４、３５／６４、３７／６４、３９／６４、４１／６４、４３／６４、４５／６４、４７／６４、４９／６４、５１／６４、５３／６４、５５／６４、５７／６４、５９／６４、６１／６４、６３／６４、および６５／６４を含む。
【００７５】
次に、ウェーブレット変換の実施形態に注目する。図８は、すでに説明されているウェーブレット変換を含む、フィルタカーネルを決定または構築するプロセスの一実施形態８００を例示する流れ図である。画像ｕが受信される（８１０）。ｕとローパスフィルタＬとの畳み込みを使用して、フィルタ処理された画像（Ｌ＊ｕ）が生成される（８１２）。いくつかの実施形態では、水平方向および／または垂直方向のＬの重み総和は、有限値を持つことができる。（Ｌ＊ｕ）の差分演算は、水平または垂直方向のｕのウェーブレット変換である。このウェーブレット変換が２つの方向のうちの１つで適用されない場合、代わりにその方向に１階差分演算を使用することができる。いくつかの実施形態では、他のウェーブレット変換を使用することができる。ウェーブレット変換（｜∂（Ｌ＊ｕ）｜）の大きさ、または１階差分が、決定される（８１４）。この値は、それぞれの伝導性レベルＩに合わせて、量子化することができる（８１６）。ウェーブレット変換（１階差分演算の代わり）は、ノイズを含む入力画像に使用することができる。これらの結果は、対応する伝導性ｃ（ｉ＊２ｍ−ｎ）にマッピングされる（８１８）。流れ図５００は、それよりも少ない演算または追加の演算を含むことができる。更に、２つまたはそれ以上の演算を組み合わせること、および／または演算の順序を変更することができる。
【００７６】
図８に例示されているように、ノイズを含む入力画像を修正して、伝導性関数に関連付けられている離散伝導性要素を生成することができる。例示的な一実施形態では、離散グラディエント演算に対する１階差分の代わりに、例えば、レベル／伝導性チャートとともにｕのローパスフィルタリングの差分演算を適用することにより、ウェーブレット変換を実装することができる。例示的な一実施形態では、ｃ（｜∇ｕ｜）の空間グラディエントを、ｕの何らかの離散スプライン−ウェーブレット変換により置き換えられる。例えば、ｃ（｜∇ｕ｜）における∇ｕは、∂（Ｌ＊ｕ）≡Ｗｕで置き換えることができるが、ただし、Ｌは、何らかの望ましいカージナルＢスプラインに関連付けられているローパスフィルタであり、表記＊は、標準畳み込み演算を表し、Ｗｕは、離散ウェーブレット変換演算を表す。演算ＬおよびＷは、ノイズを含む入力画像ｕの中心ピクセルに関して、それぞれの（地理的）方向で決定することができる。例えば、
ＷＥｕｉ，ｊ＝∂Ｅ（Ｌ＊ｕ）ｉ，ｊ、ＷＳｕｉ，ｊ＝∂Ｓ（Ｌ＊ｕ）ｉ，ｊ、ＷＷｕｉ，ｊ＝∂Ｗ（Ｌ＊ｕ）ｉ，ｊ、ＷＮｕｉ，ｊ＝∂Ｎ（Ｌ＊ｕ）ｉ，ｊ，
ＷＮＥｕｉ，ｊ＝∂ＮＥ（Ｌ＊ｕ）ｉ，ｊ、ＷＳＥｕｉ，ｊ＝∂ＳＥ（Ｌ＊ｕ）ｉ，ｊ、ＷＳＷｕｉ，ｊ＝∂ＳＷ（Ｌ＊ｕ）ｉ，ｊ、ＷＮＷｕｉ，ｊ＝∂ＮＷ（Ｌ＊ｕ）ｉ，ｊ
である。他の実施形態では、所望の離散化を得るために差分演算が適用される前に、ガウス畳み込みをｕのローパスフィルタとして使用することができる。
【００７７】
表１は、伝導性レベル／伝導性関数チャートの一実施形態を例示しており、これは、伝導性レベルを離散伝導性要素の値に関連付ける。入力画像がチャネル毎にｒビットのグレーレベルを持ち（典型的には、ｒ＝８）、伝導性レベルがｓビットに量子化される場合（ｓは、ｒ以下であり、典型的には１から８までの範囲である）、ｐ＝｜∇ｕ｜の範囲はシーケンス［０，．．．，２ｒ−１］である。このシーケンスが、２ｒ−ｓ［０，．．．，２ｓ−１］に量子化される場合、伝導性関数ｃ（ｐ）は、［０，．．．，２ｓ−１］を［ｃ（０），ｃ（２ｒ−ｓ），．．．，ｃ（２ｒ−ｓ（２ｓ−１））］にマッピングする。前述のように、伝導性関数の典型的な実施例は、ｃ（ｐ）＝ｅ−ｐ／Ｋ、
【００７８】
【数３２】
2008503192.tif 000034
およびｃ（ｐ）＝Ｋ２／（Ｋ２＋ｐ２）を含み、Ｋは、すべての画像ピクセルに対して正定数であるか、または隣接ピクセル値に応じて適合させることができる（画像平滑さ／鮮鋭さの調整のため）。Ｋの例示的な実施形態では、大域的スカラーとして（as a global scalar）、Ｋは、５０とすることができる。多くの画像について、この数値は、画像内のグラディエント値の大きさのほぼ９０％よりも大きい。結果として得られるチャートは、図１３および１４を参照しつつ以下で説明されているように、ルックアッププロシージャにおいて使用することができ、そこでは、ノイズを含む１ビット画像（０ビット「黒色」部分と１ビット「白色」部分とを分離する単一画像エッジを伴う）が入力画像とみなされ、それぞれの（中心）ピクセルは、画像エッジ（図１３）上のピクセルであり、画像エッジ（図１４）上のピクセルではない。
【００７９】
【表１】
2008503192.tif 000035
【００８０】
次に、ＣＤＦの決定または構築およびその使用を例示する追加の実施形態に注目する。図９は、画像、画像タイル、またはサイズ５×５のＰもしくはＢフレーム（映像圧縮における）のマクロブロックなどの画像ブロック内の、ピクセルの集合９００を例示するブロック図である。図１０、１１、および１２は、５×５画像タイル内のノイズを除去または低減するため、それぞれ、Ａ、Ｂ、およびＣのラベルが付いているピクセルの集合に対する最大３×３までのウィンドウを持つ対応する二次元ＣＤＦの構築を例示している。図９のピクセルの集合Ａは、図１０のコーナーピクセルｕ００に対するＣＤＦの構築および適用を例示している。図９のピクセルの集合Ｂは、図１１の境界ピクセルｕi０に対するＣＤＦの構築および適用を例示している。図９のピクセルの集合Ｃは、図１２の内部中心ピクセルｕｉｊに対するＣＤＦの構築および適用を例示している。ラベルＡが付いているピクセルの集合について、中心ピクセルは、ピクセル９００の集合内のコーナーピクセルである。したがって、これは、その隣接要素の３つのピクセル値に基づく値で置き換えられる。ラベルＢが付いているピクセルの集合では、中心ピクセルは、ピクセルの集合９００内の境界ピクセルであり、その隣接要素の５つのピクセル値に基づく値で置き換えられる。ラベルＣが付いているピクセルの集合では、中心ピクセルは、ピクセルの集合９００内の内部ピクセルであり、その隣接要素の８つのピクセル値に基づく値で置き換えられる。
【００８１】
図１０は、ＣＤＦ用のフィルタカーネルを構築し、該ＣＤＦをコーナーピクセルｕ００に適用するプロセスの一実施形態１０００を例示する流れ図である。１階差分演算がピクセルの集合１０１０に適用されて要素１０１２を生成し、これが、レベルおよび伝導性チャート（表１に示されているようなもの）を使用してマッピングされ、離散伝導性要素１０１４を生成する。フィルタカーネル１０１６は、離散伝導性要素１０１４の定義済み部分集合に平滑化および鮮鋭化パラメータであるαおよびμを乗算することにより、構築される。例示的な実施形態では、αは約０．０６２５から１までの範囲であり、μは、ほぼ０と１の間にある。例えば、α＝０．２５およびμ＝０．０６２５である。要素１０１６は、ピクセルの集合１０１０と要素毎に乗算され１０２２、要素１０２４を生成する。要素１０２４は、総和され（１０２５）、値ｒ０，０１０２６を生成する。要素１０１６は、さらに、総和され１０１８、正規化値とも呼ばれる、時間スケール値ｋ０，０１０２０を生成する。値ｒ０，０と時間スケール値ｋ０，０１０２０との比１０２７は、対応する出力フィルタ処理ピクセル値１０２８である。
【００８２】
図１１は、ＣＤＦ用のフィルタカーネルを構築し、該ＣＤＦを境界ピクセルｕｉ０に適用するプロセスの一実施形態１１００を例示する流れ図である。１階差分演算がピクセルの集合１１１０に適用されて要素１１１２を生成し、これが、レベルおよび伝導性チャート（表１に示されているようなもの）を使用してマッピングされ、離散伝導性要素１１１４を生成する。フィルタカーネル１１１６は、離散伝導性要素１１１４の定義済み部分集合に平滑化および鮮鋭化パラメータであるαおよびμを乗算することにより、構築される。要素１１１６は、ピクセルの集合１１１０と要素毎に乗算され１１２２、要素１１２４を生成する。要素１１２４は、総和され（１１２５）、値ｒｉ，０１１２６を生成する。要素１１１６は、総和され１１１８、正規化値とも呼ばれる、時間スケール値ｋｉ，０１１２０を生成する。値ｒｉ，０と時間スケール値ｋｉ，０１１２０との比１１２７は、入力ピクセル値ｕｉ，０に対応する出力フィルタ処理ピクセル値１１２８である。
【００８３】
図１２は、ＣＤＦ用のフィルタカーネルを構築し、該ＣＤＦを内部（中心）ピクセルｕｉｊに適用するプロセスの一実施形態１２００を例示する流れ図である。１階差分演算がピクセルの集合１２１０に適用されて要素１２１２を生成し、これが、レベルおよび伝導性チャート（表１に示されているようなもの）を使用してマッピングされ、離散伝導性要素１２１４を生成する。フィルタカーネル１２１６は、離散伝導性要素１２１４の定義済み部分集合に平滑化および鮮鋭化パラメータであるαおよびμを乗算することにより、構築される。フィルタカーネル１２１６の要素は、ピクセルの集合１２１０と要素毎に乗算され１２２２、要素１２２４を生成する。要素１２２４は、総和され（１２２５）、値ｒｉ，ｊ１２２６を生成する。要素１２１６は、総和され（１２１８）、時間スケール値ｋｉ，ｊ１２２０を生成する。値ｒｉ，ｊ１２２６と時間スケール値ｋｉ，ｊ１２２０との比１２２７を計算して、入力ピクセル値ｕｉ，ｊに対応する出力フィルタ処理ピクセル値１２２８（ｒｉ，ｊ／ｋｉ，ｊ）を生成する。
【００８４】
図１３は、ＣＤＦ用のフィルタカーネルを構築し使用するプロセスの一実施形態１３００を例示する流れ図である。１階差分演算が、中心ピクセルが（画像タイルまたは配列内の）画像エッジ上に配置されているピクセルの集合１３１０に適用され、要素１３１１を生成する。この実施例におけるピクセルの集合１３１０は、画像の明暗領域の間の垂直エッジを表す。要素１３１１は、対応する伝導性レベルに量子化されて、離散伝導性関数値１３１２を生成し、レベルおよび伝導性チャート（表１に示されているようなもの）を使用してマッピングされ、要素１３１４を生成する。要素１３１４の定義済み部分集合に平滑化および鮮鋭化パラメータであるαおよびμを乗算し、フィルタカーネル１３１６を生成する。ピクセルの集合１３１０は、フィルタカーネル１３１６と要素毎に乗算され（１３２２）、要素１３２４を生成する。要素１３２４は、総和され（１３２５）、値ｒｉ，ｊ＝２８．９３１６（１３２６）を生成する。フィルタカーネル要素１３１６は、総和され（１３１８）、時間スケール値ｋｉ，ｊ＝３．００５１（１３２０）を生成する。値ｒｉ，ｊ１３２６と時間スケール値ｋｉ，ｊ１３２０との比１３２７を計算して、入力ピクセル値ｕｉ，ｊに対応する出力フィルタ処理ピクセル値１３２８（ｒｉ，ｊ／ｋｉ，ｊ＝９．６２７５）を生成する。この実施例では、フィルタ処理されたピクセル１３２８は、値１０に量子化することができる。実施形態１３００では、α＝０．５、μ＝０．２５、Ｋ＝５０であり、伝導性関数は、
【００８５】
【数３３】
2008503192.tif 000036
となるように選択される。
【００８６】
図１４は、ＣＤＦ用のフィルタカーネルを構築し使用するプロセスの一実施形態１４００を例示する流れ図である。１階差分演算が、中心ピクセルが画像エッジ上にないピクセルの集合１４１０に適用されて、要素１４１１を生成し、対応する伝導性レベルに量子化されて、離散伝導性関数値１４１２を生成し、レベルおよび伝導性チャート（表１に示されているようなもの）を使用してマッピングされ、要素１４１４を生成する。要素１４１４の定義済み部分集合に平滑化および鮮鋭化パラメータであるαおよびμを乗算し、要素毎に（または項毎に）乗算して、フィルタカーネル（ＣＤＦ）１４１６を生成する。初期中心ピクセル＝２３０を持つ入力画像ブロック１４１０は、ＣＤＦ１４１６により要素毎に乗算され１４２２、要素１４２４を生成する。要素１４２４が、総和され（１４２５）、値ｒｉ，ｊ（９２１．８２６）１４２６を生成し、ＣＤＦの要素１４１６が、総和され１４１８、時間スケール値ｋｉ，ｊ（３．９９５）１４２０を生成する。値ｒｉ，ｊ１４２６と時間スケール値ｋｉ，ｊ１４２０との比１４２７を計算して、入力ピクセル値ｕｉ，ｊに対応する出力フィルタ処理ピクセル値（２３０．７４５）１４２８を生成する。フィルタ処理されたピクセル１４２８は、値２３１に量子化することができる。実施形態１４００では、α＝０．５、μ＝０．２５、Ｋ＝５０であり、伝導性関数は、
【００８７】
【数３４】
2008503192.tif 000037
となるように選択される。
【００８８】
ＣＤＦは、画像内のノイズを除去または低減するための前置符号器として使用することができ、該画像は、ビデオシーケンスのＩフレームであってよい。例えば、図１５の実施形態１５００では、画像の８×８タイル１５１２またはＩフレームは、ＣＤＦ１５１４により処理される。画像のフィルタ処理された画像タイルまたはＩフレーム１５１６は、符号器１５１８に送られる。符号器１５１８は、離散コサイン変換（ＤＣＴ）１５２０、量子化１５２２、およびエントロピー符号化１５２４を含む。より小さなビットレートを持つ符号化されたビットストリーム１５２６が出力される。流れ図１５００は、それよりも少ない演算または追加の演算を含むことができる。更に、２つまたはそれ以上の演算を組み合わせること、および／または演算の順序を変更することができる。
【００８９】
それぞれのＣＤＦは、ＭＪＰＥＧ、ＭＰＥＧ−１、２、４、７、およびＨ２６３、ＡＶＣ、またはＨ２６４などの既存の符号器内に、前置符号器として組み込むことができる。それぞれのＣＤＦまたはＣＤＦの集合を使用して生成されるフィルタ処理済み画像は、既存の復号器と互換性を持つことができる。ＣＤＦ用のそれぞれのフィルタカーネルを使用して、動き推定補償においてＩフレーム、Ｐフレーム、および／またはマクロブロックをクリーンアップすることができる。図１６は、そのようなプロセスの一実施形態１６００を例示するブロック図である。フィルタカーネル１６１２は、動き補償Ｐフレーム１６０８に適用され、フィルタ処理済みＩフレーム１６１０（これは図１５に例示されていた）から差し引かれる１６１４。ＤＣＴ１６１８および量子化１６２０が、結果として得られるフィルタ処理済みＢ／Ｐフレーム１６１６に適用される。
【００９０】
図１７は、フレーム１７１２などのデジタル画像または画像タイルをフィルタ処理する１７１８、特に動き補償用の１６×１６マクロブロックをフィルタ処理する１７１８、プロセスの一実施形態１７００を例示するブロック図である。いくつかの実施形態では、前のＩまたはＰフレーム１７１０を使用して、動きベクトル１７１６＿１を決定し、および／またはその後のＰまたはＢフレーム１７１４を使用して、動きベクトル１７１６＿２を決定する。前者は、フレーム１７１２がＰフレームである場合に発生し、後者は、フレーム１７１２がＢフレームである場合に発生しうる。
【００９１】
図１８は、画像立方体と呼ばれる、三次元デジタル画像をフィルタ処理または前置符号化するプロセス１８００の一実施形態を例示する流れ図である。プロセス１８００において、動き推定および補償がＰフレームおよびＢフレーム（図１７に例示されていた）に適用されビデオフレーム１８１０、１８１２、１８１４を作成した後、三次元ＣＤＦを生成して適用し１８１６、３つの連続するビデオフレーム１８１０、１８１２、１８１４に基づく立方体などの画像立方体から、雑音を低減または除去する。ＭＪＥＰなどのいくつかの実施形態では、ビデオフレーム１８１０、１８１２、および１８１４はＩフレームである。いくつかの実施形態では、ＣＤＦ用のフィルタカーネルは、画像立方体を構成するＩ、Ｐ、および／またはＢフレームの混合に適用することができる。
【００９２】
ＣＤＦ用のフィルタカーネルを、１つまたは複数の画像、または１つまたは複数の画像の１つまたは複数の部分集合に適用し、画像エッジに関連するテクスチャおよび／または空間周波数などの画像内容をほぼ変化しないようにしつつ、ノイズを低減または除去することができる。これは、図１９に例示されており、フィルタ処理されていないデジタル画像および本発明の一実施形態を使用動きベクトルして生成されたフィルタ処理済みデジタル画像を示している。
【００９３】
本発明の特定の実施形態の前記説明は、例示および説明を目的として提示されている。これらは、網羅的（exhaustive）であること、または本発明を開示した正確な形態だけに限ることを意図されていない。むしろ、上記の教示を鑑みて多くの修正および変更が可能であることが理解されるであろう。これらの実施形態は、本発明の原理およびその実用的用途を最もよく説明するために選択され、記述されており、それにより、当業者は、考え付く特定の用途に適しているような様々な修正とともに、本発明および様々な実施形態を最もよく利用することができる。
【図面の簡単な説明】
【００９４】
【図１】デジタル画像をフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図２】デジタル画像をフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図３】クライアントまたはサーバの一実施形態を例示するブロック図である。
【図４】デバイスの一実施形態を例示するブロック図である。
【図５】デジタル画像をフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図６】遷移パラメータを例示するブロック図である。
【図７】画像エッジ上の一点の局所座標を例示するブロック図である。
【図８】フィルタカーネルを決定するプロセスの一実施形態を例示する流れ図である。
【図９】画像タイル内のピクセルの集合を例示するブロック図である。
【図１０】画像タイルのコーナーのピクセルへのフィルタカーネルを構築するプロセスの一実施形態を例示する流れ図である。
【図１１】画像タイルの境界上のピクセルへのフィルタカーネルを構築するプロセスの一実施形態を例示する流れ図である。
【図１２】画像タイルの内部のピクセルへのフィルタカーネルを構築するプロセスの一実施形態を例示する流れ図である。
【図１３】フィルタカーネルを構築し使用するプロセスの一実施形態を例示する流れ図である。
【図１４】フィルタカーネルを構築し使用するプロセスの一実施形態を例示する流れ図である。
【図１５】デジタル画像をフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図１６】映像圧縮のため、または映像圧縮時に、ＰまたはＢフレームをフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図１７】映像圧縮のため、または映像圧縮時に、マクロブロックをフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図１８】三次元デジタル画像をフィルタ処理するプロセスの一実施形態を例示する流れ図である。
【図１９】フィルタ処理をしていないデジタル画像、およびフィルタ処理済みデジタル画像の実施形態を例示するブロック図である。
【図１】
2008503192.tif 000041
【図２】
2008503192.tif 000042
【図３】
2008503192.tif 000043
【図４】
2008503192.tif 000044
【図５】
2008503192.tif 000045
【図６】
2008503192.tif 000046
【図７】
2008503192.tif 000047
【図８】
2008503192.tif 000048
【図９】
2008503192.tif 000049
【図１０】
2008503192.tif 000050
【図１１】
2008503192.tif 000051
【図１２】
2008503192.tif 000052
【図１３】
2008503192.tif 000053
【図１４】
2008503192.tif 000054
【図１５】
2008503192.tif 000055
【図１６】
2008503192.tif 000056
【図１７】
2008503192.tif 000057
【図１８】
2008503192.tif 000058
【図１９】
2008503192.tif 000059
【国際調査報告】
2008503192.tif 000060