JP2008226233A - カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置 - Google Patents

カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置 Download PDF

Info

Publication number
JP2008226233A
JP2008226233A JP2008016525A JP2008016525A JP2008226233A JP 2008226233 A JP2008226233 A JP 2008226233A JP 2008016525 A JP2008016525 A JP 2008016525A JP 2008016525 A JP2008016525 A JP 2008016525A JP 2008226233 A JP2008226233 A JP 2008226233A
Authority
JP
Japan
Prior art keywords
filter
kernel
input data
kernel filter
unique
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008016525A
Other languages
English (en)
Inventor
Faith M Porikli
ファティー・エム・ポリクリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2008226233A publication Critical patent/JP2008226233A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

【課題】コンピュータ実装方法がカーネルフィルタを用いて入力データをフィルタリングする。
【解決手段】カーネルフィルタを定義され、カーネルフィルタに対して一組の一意のフィルタ係数が求められる。リンクセットが、各一意のフィルタ係数に対し、リンクセットが、同一のフィルタ係数を有するカーネルフィルタにおける位置に対する相対リンクを含み、各相対リンクが一意のフィルタ係数の位置の逆数であるように構成される。各入力データポイントが、カーネルフィルタが中心を置く値を一意のフィルタ係数の各々で乗算によって処理され、乗算の結果を、相対リンクが参照するように対応する出力データポイントに加算する。
【選択図】図4

Description

本発明は、包括的にはデータをフィルタリングすることに関し、特に任意のカーネルフィルタを用いてデータをフィルタリングすることに関する。
信号及びデータ処理において、特に画像処理において、質の向上した出力データを生成するために入力データにカーネルフィルタを適用することが多い。カーネルフィルタは、データのセットのすべてのポイントに関数を適用することによって作用する。通常、カーネルフィルタは、カーネルと、カーネルに対して定義される関数とを含む。2D画像における画素の矩形エリアであることが多いカーネルは、関数に対するサポートの領域を指定する。関数は、通常、フィルタ係数の行列の形態である。行列の係数は、フィルタの応答を生成するようにカーネル内の各ポイントの寄与を求める乗算係数である。基礎となる入力データのすべてがフィルタ係数によって乗算された後、現ポイントにおける応答は、その積の和をとることによって求められる。異なるカーネル関数を選択することにより、異なるタイプのフィルタリングを実行することができる。
フィルタリングは、必要な演算量が多い可能性がある。したがって、従来の手法は、たとえばスケールスペース表現を使用して元のカーネルをより小さいカーネルの畳み込みに分解しようとする。これについては、P. Burt著、「Fast filter transforms for image processing」(Computer Vision, Graphics and Image Processing, vol.16, 20-51, 1981)を参照されたい。所与の画像に対し、線形スケール空間表現は、信号を同時に平滑化し且つサブサンプリングすることにより信号のガウスカーネルとの畳み込みによって定義される導出信号のファミリである。このように、計算効率の高い方法を得ることができる。
しかしながら、大量のカーネルのセットとの畳み込みのすべてを実施するためには大量の乗算が必要である。したがって、2Dフィルタカーネルを設計し、その後フィルタを分離可能な1次元フィルタ又はカスケード式表現の和に分解することも可能である。これについては、J. Crowley、R. Stern著、「Fast computation of the difference of low-pass transform」(IEEE Trans. Pattern Anal. Machine Intell., vol. 6, 212-222, 1984)、P. Heckbert著、「Filtering by repeated integration」(ACM SIGGRAPH Computer Graphics, vol. 20:4, 315-321, 1986)及びW. Wells著、「Efficient synthesis of Gaussian filters by cascaded uniform filters」(IEEE Trans. Pattern Anal. Machine Intell., vol. 8:2, 234-239, 1986)を参照されたい。これを、2Dカーネルの固有値拡張か又は特異値分解(SVD)の適用を使用することによって行うことができる。これについては、参照により本明細書に援用される、W. S. Lu、H. P. Wang、A. Antoniou著、「Design of 2D FIR digital filters by using the singular value decomposition」(IEEE Trans. Circuits System, vol. 37, 35-36, 1990)を参照されたい。
2Dガウス関数の分離可能性を利用することにより、非等方性すなわち方向に依存するガウスカーネルを、1次元ガウスフィルタとそれに続く非直交方向にある別のフィルタとに分解することが可能である。これについては、J. M. Geusebroek、A. Smeulders、J. Weijer著、「Fast anisotropic Gauss filtering」(IEEE Transaction on Image Processing, vol. 12:8, 2003)を参照されたい。その方法は、畳み込み方式及び再帰的方式を使用するエッジマップ及びリッジマップの高速計算を可能にする。
サムボックス(sum-box)フィルタ技法は、サムボックスフィルタの変換出力の和により或る係数に対する大きいカーネル線形フィルタに近似する。これについては、J. Shen、W. Shen、S. Castan、T. Zhang著、「Sum-box technique for fast linear filtering」(Signal Process., vol. 82:8, 1109-1126, 2002)を参照されたい。その方法は、乗算が不要である。その方法は、スケーリングされたスプライン関数に対する分析を使用する。彼らの方法により、加算のみで大きいフィルタカーネルとの畳み込みを達成することが可能になる。ボックス技法は、乗算を用いてガウスフィルタを実装することができるが、ガウスフィルタ以外の線形フィルタで使用することができない。
別の方法は、ファジィ領域強調方法及び再帰的且つ分離可能ローパスフィルタに基づく。これについては、H. Tang、T. Zhaung、E. X. Wu著、「Realizations of fast 2-D/3-D image filtering and enhancement」(IEEE Trans Medical Imaging, vol. 20:2, 32-40, 2001)を参照されたい。それらは、各画素を独立して処理し、動的範囲と局所変動とを共に変更する。その方法もまた、ガウス関数にしか適用できない。
一方法は、非局所適用ポイントを指定する適応的に求められるベクトルフィールドに基づいて非線形偏微分方程式を解く。これについては、B. Fischl、E. L. Schwartz著、「Adaptive non-local filtering: A fast alternative to anisotropic diffusion for image enhancement」(IEEE Trans. Pattern Anal. Machine Intell., vol. 21:1, 42-48, 1999)を参照されたい。彼らの方法は、画質向上を高速化するが、線形フィルタには適用できない。
多くのフィルタリング方法は、局所空間テクスチャの適応に対し方向推定を使用する。それは、非等方性フィルタリングによる方向のサンプリングを意味することが多い。線形方向スケール空間の場合、非等方性ガウス関数が最適な因果的フィルタである。方向分析は、一組の可操舵非等方性フィルタによって取り組まれている。
Freeman他は、基底フィルタの線形組合せを作成することによってフィルタを特定の方向に調整することができる条件について述べている。これについては、W. T. Freeman、E. H. Adelson著、「The design and use of steerable filters」(IEEE Trans. Pattern Anal. Machine Intell., vol. 13, 891-906, 1991)を参照されたい。彼らの枠組みによれば、非等方性ガウスを回転させるために正確な基底はない。
非等方性ガウス関数に近似する有限基底を生成する方法が、P. Peronaにより、「Steerable-scalable kernels for edge detection and junction analysis」(Image Vis. Comput., vol. 10, 663-672, 1992)において述べられている。しかしながら、基底フィルタの数が多く、基底フィルタは分離不可能であり、高い計算性能が必要である。
フィルタリングプロセスを加速するために再構成可能ハードウェア又はプロセッサ適合ソフトウェアを使用する他の方法がある。特にピラミッド表現を使用する面積和の計算に対し、画像フィルタリング方法のグラフィック処理ユニット(GPU)インプリメンテーションもまた利用可能である。これについては、J. Kruger、R. Westermann著、「Linear algebra operators for GPU implementation of numerical algorithms」(ACM Transactions on Graphics, vol. 22:3, 908-916, 2003)を参照されたい。
双線形テクスチャ補間を利用する3次Bスプラインを用いる画像の別のGPUベースフィルタリングについては、C. Sigg、M. Hadwigerにより、「Fast third-order texture filtering」(Matt Pharr編、GPU Gems 2: Programming Techniques for High-Performance Graphics, 313-329, 2005)において述べられている。その技法はテクスチャ画像に対するランダムアクセスを可能にするが、画素毎に著しい数のテクスチャルックアップを必要とする。
Strengert他は、GPUが双線形テクスチャ補間に基づくピラミッド方法を実装することができることを示し、3つの例、すなわち双2次Bスプラインフィルタリングを用いるズーミング、任意のぼかし幅の効率的な画像ぼかし、及び分散画素データの滑らか補間について述べている。これについては、M. Strengert、M. Kraus、T. Ertl著、「Pyramid Methods in GPU-Based Image Processing」(In Proc. 11th International Fall Workshop Vision, Modeling, and Visualization, 2006)を参照されたい。
要約すれば、最も高速なフィルタリング方法は、厳密にフィルタ関数の形状によって決まるか、又は微小な計算上の改善しか提供しない。
本発明は、複数の同一フィルタ係数を有するカーネルフィルタを用いて入力データをフィルタリングする方法を提供する。このようなフィルタ、たとえばガボール(Gabor)フィルタ、移動平均、グレーレベルモルフォロジカル演算子、ボリューム平滑化関数、4象限対称(quad-symmetric)フィルタ等は、多くのコンピュータイメージングタスク及びコンピュータビジョンタスクにおいて広く使用される。利点として、本発明による方法は、特定のフィルタ形状に限定されない。
本発明は、フィルタリングされた出力データが生成される時の冗長な乗算を回避するために、フィルタ係数及び隣接するデータポイントのカーネル間のオーバラップの空間配置を利用する。
本発明は、一組の一意のフィルタ係数を求め、フィルタ係数に対応する一組の相対リンクを構成する。そして、各ポイントにおける応答を累積する一方で、フィルタ係数をそれらの相対リンクを使用して適用することにより入力データを処理して、出力データを生成する。
本発明は、従来のフィルタ処理と比較した場合、平均して40%の性能向上を達成する、2重解決法、すなわち単一入力アクセス及び単一出力アクセスを提供する。計算上の利点に加えて、本方法は最小量のメモリを使用し、それにより、本方法はハードウェアインプリメンテーションに対して理想的になる。
本発明は、複数の同一係数を有するカーネルフィルタの適用を促進する新規な最小主義(minimalist)フィルタリング方法を提供する。本発明による方法は、冗長な乗算を低減するためにカーネル間のオーバラップを利用する。
本発明による最小主義フィルタリングにより、いかなるカーネルフィルタの計算負荷も平均して40%低減する。従来の方法とは対照的に、本方法は、特定のフィルタ関数に限定されない。本方法を、計算コストを増大させることなく任意の形状のカーネルで使用することができ、それは、コンピュータビジョンアプリケーションにおける形状マッチング等、テンプレート検出タスクに対する必須の特性である。
本方法を、3Dボリュメトリック平滑化及びマルチスペクトルフィルタリング等の任意の次元のデータに対して使用することができる。必要なメモリの量は非常に少なく、それにより本方法はハードウェアインプリメンテーションに対する候補になる。さらに、本方法を、並列に、又はGPU等の特定のハードウェアに実装することができる。また、本方法をピラミッド表現で使用することができる、ということも留意されるべきである。また、より低次元の分離可能基底は、最小主義フィルタリングから利益を得ることができる。
本発明の実施の形態は、図1に示すようにカーネルフィルタを用いて入力データをフィルタリングすることにより、フィルタ応答として出力データを生成する方法を提供する。カーネルフィルタは、画質が向上した出力画像を生成するために入力画像に適用されることが多い。このようなアプリケーションでは、カーネルの中心における画素の値(強度又は色)は、カーネルによってサポートされる近傍画素値によって求められる値に置き換えられる。本発明を、データが2次元であるアプリケーション例を使用して説明するが、本発明を、他の次元を有するデータで動作させることができる、ということが理解されるべきである。
図1は、本発明が使用することができるいくつかのカーネルフィルタ例を示す。通常、カーネルフィルタは、上段に示すようなフィルタ関数101と、下段に示す対応するカーネル102とを含む。フィルタ関数f(k)101は、通常フィルタ係数の行列の形態であり、カーネル102の形状Sは、ディスク、正方形又は任意であってもよい。示すカーネルフィルタ例には、ガウスフィルタ111、ガウスフィルタの上位集合でもある4象限対称フィルタ112、ガボールフィルタ113、シンク(sinc)フィルタ又はローパスフィルタ114及び任意のフィルタ115がある。対称フィルタ関数は、通常、ディスク形状カーネル内で定義される。しかしながら、実装を簡略化するために、実際には正方形カーネル又は矩形カーネルが使用されることが多い。任意の形状のカーネルの一例は、テンプレート拡張グレーレベルモルフォロジカルフィルタである。ここで、これらフィルタのうちのいくつかについて、より詳細に説明する。
ガボールフィルタ
ガボールフィルタは、ガウス関数によって乗算される調和関数によって定義されるインパルス応答を有する線形フィルタである。乗算・畳み込み特性のために、ガボールフィルタのインパルス応答のフーリエ変換は、調和関数のフーリエ変換とガウス関数のフーリエ変換との畳み込みである。
したがって、ガボールフィルタは、空間領域と周波数領域との両方において最適な局所化特性を有する。したがって、ガボールフィルタは、テクスチャセグメンテーション、ターゲット検出、虹彩認識、画像符号化及び画像表現等の多くのアプリケーションに適している。
ガボールフィルタを、s(x,x)がキャリアとして知られる調和関数であり、gがエンベロープとして知られる2Dガウス関数である場合、f(x,x)=s(x,x)g(x,x)として表すことができる。キャリアは、一般に、x’=xcosθ+xsinθである場合、実関数
Figure 2008226233
として割り当てられ、エンベロープは以下の通りである。
Figure 2008226233
上記式では、λは波長を表し、θは空間中心周波数を表し、ψは位相オフセットを表し、σx1、σx2は楕円ガウスエンベロープの標準偏差である。一般に、さまざまなスケール及び回転を有するガボールフィルタを含むフィルタバンクを使用して、すべての周波数空間がカバーされる。
4象限対称フィルタ
4象限対称フィルタは、画像雑音除去、照明補正、動き推定及びビデオ処理等のアプリケーションに対して有用な線形カーネルフィルタである。4象限対称フィルタは、カーネルの中心における画素を、近傍画素の重み付き平均によって置き換える。4象限対称フィルタを、gが任意の形状の関数であり、(x,y)がカーネルの中心である場合、
f(x,x)=g(|x−x ,x−x |)
として表すことができる。4象限対称フィルタは、2つの画素値間の距離を求めることができる限り、所与の状況に容易に適応することができる。4象限対称フィルタはまた非反復的であり、それにより、単一パスのみで十分な結果が得られる。このフィルタは非常に有用であるが、比較的低速である。妥当なサイズの画像に対する力任せな(brute-force)計算は、数十分台になる可能性がある。それでもなお、4象限対称フィルタの評価を高速化する解決法が知られており、たとえば正確な計算を実行するが特定のシナリオに制限される専用フィルタ、及び正確な結果をもたらさないか又はダウンサンプリング及びより高次元空間におけるローパスフィルタリングに依存する近似フィルタである。
最小主義フィルタリング
本発明によるカーネルフィルタは、d次元実数値デカルト空間Rにおいて定義される。フィルタは、その空間におけるデータポイントp=[x,・・・,x]を中心とするカーネルフィルタS内の入力データIを、以下のようにm次元応答ベクトル又は出力データにマップする。
I(p;S)→y(p)=[y,・・・,y
ここで、一般性を失うことなく、スカラーにマップする、すなわちm=1である線形フィルタ、したがってy(p)=yを考慮する。フィルタは、実数値係数f(p)を、カーネルSのデータポイントpの各々に割り当てる。フィルタリングされるデータは、範囲N,・・・,N内に制限され、すなわち0≦x<Nである。なお、時間成分が3次元を構成するため、単一チャネル画像フィルタはd=2で定義され、カラーフィルタ及びビデオフィルタはd=3で定義されることに留意されたい。
この表記法から、カーネルフィルタの応答を以下のように表すことができ、
Figure 2008226233
これは、相関と同じである。応答を、単一パスにおけるフィルタ係数の有界集合によって求めることができるため、カーネルフィルタはまた、有限インパルス応答(FIR)フィルタでもある。正方形カーネルが[−K/2,K/2]、[−K/2,K/2]内に制限される従来の2D画像フィルタリングの場合、応答は以下のようになる。
Figure 2008226233
応答を、符号を変えることによって畳み込みに対して変更することができる。
図2は、従来のカーネルフィルタリング方法の場合の擬似コードである。
上記式を変更なしに実装しがちであるが、本発明者は、それはまた、カーネルが同じ係数を含む場合、カーネル内のそれらの位置に関わらず、同じ係数による画素値の乗算を何回ももたらすという事実を強調する。これは、時間及び資源を消耗する。
したがって、本発明の一実施の形態による最小主義フィルタリング方法は、まず、図3A〜図3Cに示すように、一組の一意のフィルタ係数w(i=1,・・・,U)310を求める。次に、本方法は、ポイント320に基づいて、各一意のフィルタ係数wに対してリンクセットL330を、リンクセットが同一のフィルタ係数を有するフィルタにおける位置に対する相対リンクを含むように、すなわちL={lio,・・・,l}であるように構成する。
各相対リンクlijは、フィルタ係数の位置の逆数であり、すなわち、フィルタ位置が(x,x)である場合、相対リンクは、カーネルのインデックス付けに関して(−x,−x)である。一意のフィルタ係数及び相対リンクは、オフラインで又は前処理段階でカーネルフィルタに対して一度事前に求められる。
一意のフィルタ係数310及び相対リンク330を求めた後、一度に1つの入力ポイントでデータを処理する。カーネルの中心が置かれる値を一意のフィルタ係数の各々によって乗算し、その結果を相対リンクによって参照されるように複数の出力ポイントの応答に加算する。すなわち、以下の通りである。
Figure 2008226233
図3Aに示すように、最小主義フィルタリング方法は、まず、何らかの任意の形状のカーネル301における各位置に対し、一度、オフライン段階で一意のフィルタ係数w(i=1,・・・,U)310を求める。そして、本方法は、同じ係数を有するポイント320と対応する相対リンク330とを求める。すなわち、本方法は、pij=(x(i,j),x(i,j))及びlij=(−x(i,j),−x(i,j))を求める。
図3Bは、カーネル301が、たとえば線状に又は「ラスタ」スキャン順に画像342にわたって「掃引される(swept)」(340)本発明による方法のオンライン段階を示す。データポイント(画素)I(x,x)(350)に対し、ポイントは、対応する相対リンク370を使用して重み付けされる(360)。
フィルタ行列に基礎となるデータを直接乗算する代りに、最小主義フィルタリング方法は、一意のフィルタ係数を選択し、その後、各一意のフィルタ係数に対し一度だけ入力画素値を乗算する一方で、結果を、対応する相対リンクを使用して対応する出力画素に加算する。
この方法は、キャッシュのサイズが制限されるストリームプロセッサに適している。このため、アクセスされる必要のあるデータの量が最小限になる。単一入力アクセスでは、フィルタ応答は累進的に求められ、図3Cの擬似コードに示すようにカーネルにおけるポイントのすべてが処理されると、出力が生成される。
図4に示すように、ここではまた、フィルタカーネル402を用いて画像401をフィルタリングすることによりフィルタリングされた画像403を生成する二重方法について説明する。入力のカーネルサイズブロック410を、各反復で処理する。上述したように、本発明者は、一意の係数w及び相対リンクセットを見つける。二重方法は、現カーネル内の入力を取得し、各相対リンクに対するポイントの合計420を見つける。そして、本方法は、これら合計を対応する一意の係数と乗算することにより出力ポイントの値を割り当て、それら和を合計する(430)。すなわち、以下のようになる。
Figure 2008226233
図5は、単一出力アクセスでの単一出力ポイントに対する応答を求める二重方法に対する擬似コードを示す。
このように、単一出力ポイントに対するフィルタ応答を求める。画像は各一意の係数に対して一度乗算されるため、この方法は、フィルタリングをさらに加速させるためにGPUを利用することができる。
上述した方法を、デジタルプロセッサ又は特定用途向け集積回路(ASIC)で実装することができる、ということが理解されるべきである。
計算上の改良
表Aに、通常、整数加算演算のコストに対して測定される、プロセッサ演算の相対コストに関する詳細な計算複雑性分析を示す。
Figure 2008226233
表Aには、本発明の結果と共に従来の方法の基本演算の相対コストを提示する。高次元のデータになるほど配列インデックス付けのコストがそれに匹敵するようになるため、配列インデックス付けのコストも考慮する。データポイントのd次元配列の場合、データにアクセスするためには、d回の整数加算、d−1回の整数乗算が必要である。本発明者は、プロセッサ上での乗算累算ユニット(MAC)のハードウェア統合使用により、加算及び乗算のコストは同じデータタイプに対して等しいままであることに気づいた。
表Aにおいて、演算子列はさまざまな演算を示す。列Aは、S. Ouallineにより、「Practical C++ programming」(O'Reilly & Associates, ISBN: 1-56592-139-9, 1995)において述べられているような基本プロセッサ演算子の相対コストである。列Bは、ストリーミングSIMD及びPrescott算術演算を使用するP4プロセッサで実行される演算子のコストである。これについては、R. Bryant、D. O'Hallaron著、「Computer systems: a programmer's perspective」(Prentice Hall, ISBN 0-13-034074-1, 2003)を参照されたい。列Cは、C++コンパイラを実行するP4における相対コストである。これについては、J. Mathew、P. Coddington、K. Hawick著、「Analysis and development of java grande benchmarks」(Proceedings of ACM, 1999)を参照されたい。列Dは、MSVC++コンパイラを実行するIntel P4プロセッサの場合であり、これについては、F. Porikli著、「Integral histogram: a fast way to extract histograms in Cartesian spaces」(Proc. Computer Vision and Pattern Recognition Conference, vol. 1, 829-836, 2005)を参照されたい。最後の列は本発明による方法に対するコストである。
入力データが浮動小数点値であり、カーネルにおけるポイントの総数がAである、すなわち矩形カーネルA=Π の場合を想定する。従来のカーネルフィルタリング方法では、フィルタ応答を計算するために以下のタスクが必要である。
現ポイントのインデックスを見つける:A回のd次元配列インデックス付け及び2A回の加算、
現ポイントがカーネルにあるか否かを検査する:d次元配列インデックス付け及び比較、
フィルタ係数により乗算する:A回の乗算、
乗算の和を割り当てる:A−1回の加算及びd次元配列インデックス付け。
単一データポイントの場合、従来のフィルタリングでは、データ空間におけるカーネル内の寄与ポイントのインデックスを計算しそれらの値にそれぞれアクセスするために2A+(2d−1)A回の演算が必要である。非矩形カーネルを使用する場合、ポイントがカーネルに属するか否かを求めるために2つの制御条件があり得る。すなわち、より大きい適切な矩形配列とカーネルメンバシップを表すバイナリマスクとを使用することか、又はインデックス値から距離ベースの基準を計算することである。本発明者は、本発明による結果から、マスクを使用することにより計算負荷が低減することが分った。検査段階には、(2d−1)A+A=2dA回の演算が必要である。
カーネル内の各データポイントの浮動小数点値を、対応するフィルタ係数によって乗算することにより、15A回の演算となる。乗算の浮動小数点和の計算には15(A−1)回の演算が必要であり、一方で和をフィルタ応答として割り当てるためには2d−1回の演算のみが必要である。なお、先の計算が、データ内のN×・・・×Nポイントの各々に対して繰り返されることに留意されたい。そして、すべての候補に対して必要な演算の総数は以下のようになる。
Figure 2008226233
一方、最小主義フィルタリングは、同じ係数による乗算を繰り返さず、任意の形状のカーネルに対して条件付きの検査を必要としない。カーネルフィルタの適用前に、フィルタは一意の係数を求めるために前処理され、各一意の係数に対する相対リンクのセットを構成する。なお、これはオフライン段階においてそのフィルタに対し一度だけ行われることに留意されたい。すなわち、それは、実際のオンラインフィルタリングプロセス中に繰り返されない。このオフライン段階後、最小主義フィルタリングはこれらステップを必要とする。
1)現ポイント値を取得する:d次元配列インデックス付け、
2)一意の係数によって乗算する:U回の乗算、
3)ポイントのインデックスを見つける:Σl回のd次元配列インデックス付け及び2ΣL回の加算、
4)ポイント値を増分する:ΣL回の加算。
各データポイントにおいて、最小主義フィルタリングは、現データポイントの値を取得するために2d−1回の演算を採用する。そして、浮動小数点値を一意の係数の各々によって乗算し、それには15U回の演算が必要である。相対リンクの総数がカーネルにおけるポイントの総数に等しいため(Σ =A)、カーネル内のポイントのインデックスを見つけるために、相対リンクをデータポイントインデックスに変換するための2A回の整数加算と、A回の配列インデックス付けとが必要であり、それにより(2d+1)A回の演算となる。その結果、この段階の計算負荷は(2d+1)A回の演算である。
対応する乗算結果を、出力配列データポイントのフィルタ応答に加算する。これには、浮動小数点加算に対して15A回の演算が必要であり、出力配列にアクセスするために(2d−1)A回の演算が必要である。そして、演算の総数は以下のようになる。
Figure 2008226233
最小主義フィルタリングによって達成される計算上の節約のパーセンテージに対応する低減率を以下のように定義する。
Figure 2008226233
この数は、最小主義フィルタリングを使用することにより何パーセントの計算が回避されるかを表す。また、一意の係数のすべての係数に対する割当てを表すために冗長性スコアを以下のように提供する。
Figure 2008226233
量子化、対称性及び分離可能性の効果
最小主義フィルタリングの成功は、一意の係数の数がより少ないことからもたらされる。この数が大きい、すなわちカーネルにおけるポイントの総数に等しい場合、U=Aである。
このため、最小主義フィルタリングは従来のフィルタリングまで後退する。しかしながら、カーネルフィルタのほとんどすべてが有する一意の係数は非常にわずかである。量子化は、より少ない数の一意の係数を取得する適当な方法である。カーネル原点の周囲で対称な2Dカーネルフィルタの場合、最小冗長性スコアは75%である。言い換えれば、量子化が全くなくても、本発明による最小主義フィルタリング方法は、依然として、必要な計算を元の負荷の1/4まで大幅に低減する。
全体を通しての分析を提供するために、本発明者は、広く使用されるフィルタ、すなわちガウスフィルタ、4象限対称フィルタ、ガボールフィルタ、シンクフィルタ及びエッジフィルタをテストした。表Bは、21×21カーネルにおけるさまざまな2Dフィルタに対する50dBでの平均計算節約を示す。
Figure 2008226233
本発明者はまた、種々の次元のデータにおける性能変化を分析した。図6に示すように、部分的には配列アクセスコストが低減する結果として、次元が低減するに従い節約が増大する。なお、節約は次元データが低いほどはるかに高くなることに留意されたい。言い換えれば、最小主義フィルタリングは、低次元の分離可能なカーネルを使用する場合にさらに高い利得を提供する。さらに、次元が高いほど、節約はフィルタサイズに左右されなくなる。図6はまた、分離可能フィルタの場合、改善がさらに高くなることも示す。示すように、冗長係数の数が増大するに従い、計算節約が増大する。ドット601〜603は、出力にいかなる顕著な変化もない平均利得43%、40.5%及び37%を示す。
図7は、負荷及びフィルタサイズの関数として従来のフィルタリング701を本発明による最小主義2Dフィルタリング702と比較する。カーネルサイズが増大するに従い、最小主義方法はより有利になる。たとえば、フィルタサイズ30に対する負荷は約40%未満である。
図8A及び図8Bは、13×13 4象限対称カーネルを使用する50dBフィルタリングでの従来のフィルタリングと最小主義フィルタリングとの間に目に見える差がないことを示す。図8Aは、冗長性のない従来の4象限対称フィルタリングを示し、図8Bは98%冗長性を有する最小主義フィルタリングを示す。
本発明を、好ましい実施の形態の例を用いて説明したが、本発明の精神及び範囲内で他のさまざまな適応及び変更を行うことができる、ということが理解されなければならない。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内にあるこのような変形及び変更のすべてを包含することである。
本発明の実施の形態によって使用されるカーネルフィルタの図である。 従来技術によるフィルタリング方法の擬似コードのブロック図である。 本発明の一実施の形態によるフィルタリング方法のオフライン段階のブロック図である。 本発明の一実施の形態によるフィルタリング方法のオンライン段階のブロック図である。 本発明の一実施の形態によるフィルタリング方法の擬似コードのブロック図である。 本発明の一実施の形態による二重フィルタリング方法のブロック図である。 図4の二重方法の擬似コードのブロック図である。 多次元データに対するフィルタ係数における冗長性の関数として計算低減率(R)を比較するグラフである。 従来のフィルタリングと本発明の一実施の形態によるフィルタリングとに対するフィルタサイズの関数として計算負荷を比較するグラフである。 従来のフィルタリングを用いた画像である。 本発明の一実施の形態によるフィルタリングを用いた画像である。

Claims (20)

  1. カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法であって、
    d次元実数値デカルト空間RにおいてカーネルフィルタSを定義するステップであって、前記カーネルフィルタは、前記空間における入力データポイントp=[x,・・・,x]に中心を置く前記カーネルフィルタ内の入力データIを、対応するm次元出力データポイントにマップし、
    I(p;S)→y(p)=[y,・・・,y
    フィルタは、実数値係数f(p)を前記カーネルフィルタにおける前記入力データポイントpの各々に割り当てる、ステップと、
    前記カーネルフィルタに対して一組の一意のフィルタ係数w(i=1,・・・,U)を求めるステップと、
    各一意のフィルタ係数wに対しリンクセットLを、前記リンクセットが、同一のフィルタ係数を有する前記カーネルフィルタにおける位置に対する相対リンクを含みL={lio,・・・,l}、各相対リンクlijが前記一意のフィルタ係数の前記位置の逆数であるように構成するステップと、
    前記カーネルフィルタが中心を置く値を前記一意のフィルタ係数の各々で乗算によって各入力データポイントを処理し、前記乗算の結果を、前記相対リンクが参照するように前記対応する出力データポイントに加算するステップと
    Figure 2008226233
    を含む、カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法。
  2. 前記入力データは、0≦x<Nである場合、範囲N,・・・,N内に制限される、請求項1に記載の方法。
  3. 単一チャネル画像カーネルフィルタは2次元で定義され、カラーカーネルフィルタ及びビデオカーネルフィルタは3次元で定義される、請求項2に記載の方法。
  4. 前記カーネルフィルタの応答は、
    Figure 2008226233
    である、請求項1に記載の方法。
  5. m=1であり、前記カーネルフィルタはスカラーにマップし、y(p)=yである、請求項1に記載の方法。
  6. 前記カーネルフィルタにおける前記位置は(x,x)であり、前記相対リンクは、前記カーネルフィルタのインデックス付けに関して(−x,−x)である、請求項1に記載の方法。
  7. 前記一意のフィルタ係数及び前記相対リンクは、処理段階において前記カーネルフィルタに対して一度事前に求められる、請求項1に記載の方法。
  8. 各入力データポイントに対しpij=(x(i,j),x(i,j))及びlij=(−x(i,j),−x(i,j))を求めるステップ
    をさらに含む、請求項1に記載の方法。
  9. 前記入力データは画像における画素であり、前記カーネルフィルタは、選択された順序で前記画像にわたって掃引され、
    前記対応する相対リンクを使用して各入力データポイントI(x,x)を重み付けするステップをさらに含む、請求項1に記載の方法。
  10. 各入力データポイントは、各一意のフィルタ係数によって一度だけ乗算され、一方で、前記乗算の結果を、前記対応する相対リンクを使用して前記対応する出力データポイントに加算する、請求項1に記載の方法。
  11. 合計
    Figure 2008226233
    を求めるステップをさらに含む、請求項1に記載の方法。
  12. 前記カーネルフィルタは、4象限対称フィルタ、ガボールフィルタ、移動平均フィルタ、グレーレベルモルフォロジカル演算子フィルタ、ボリューム平滑化関数、ガウスフィルタ、シンクフィルタ及びローパスフィルタを含むグループから選択される、請求項1に記載の方法。
  13. 前記カーネルフィルタは任意の形状及びサイズを有する、請求項1に記載の方法。
  14. 前記カーネルフィルタは線形フィルタである、請求項1に記載の方法。
  15. 前記入力データポイントは、前記結果を前記対応する出力データポイントに累算することによって並列に同時に処理される、請求項1に記載の方法。
  16. カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法であって、
    カーネルフィルタSを定義するステップと、
    前記カーネルフィルタに対して一組の一意のフィルタ係数を求めるステップと、
    各一意のフィルタ係数に対しリンクセットを、該リンクセットが、同一のフィルタ係数を有する前記カーネルフィルタにおける位置に対する相対リンクを含み、各相対リンクが前記一意のフィルタ係数の前記位置の逆数であるように構成するステップと、
    前記カーネルフィルタが中心を置く値を前記一意のフィルタ係数の各々で乗算によって各入力データポイントを処理し、該乗算の結果を、前記相対リンクが参照するように前記対応する出力データポイントに加算するステップと
    を含む、カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法。
  17. 前記入力データは、所定の範囲内に制限される、請求項16に記載の方法。
  18. 単一チャネル画像カーネルフィルタは2次元で定義され、カラーカーネルフィルタ及びビデオカーネルフィルタは3次元で定義される、請求項17に記載の方法。
  19. 前記カーネルフィルタは任意の形状及びサイズを有する、請求項16に記載の方法。
  20. カーネルフィルタを用いて入力データをフィルタリングする装置であって、
    カーネルフィルタを定義する手段と、
    前記カーネルフィルタに対して一組の一意のフィルタ係数を求める手段と、
    各一意のフィルタ係数に対しリンクセットを、該リンクセットが、同一のフィルタ係数を有する前記カーネルフィルタにおける位置に対する相対リンクを含み、各相対リンクが前記一意のフィルタ係数の前記位置の逆数であるように構成する手段と、
    前記カーネルフィルタが中心を置く値を前記一意のフィルタ係数の各々で乗算によって各入力データポイントを処理し、該乗算の結果を、前記相対リンクが参照するように前記対応する出力データポイントに加算する手段と
    を含む、カーネルフィルタを用いて入力データをフィルタリングする装置。
JP2008016525A 2007-03-08 2008-01-28 カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置 Pending JP2008226233A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/683,482 US7826676B2 (en) 2007-03-08 2007-03-08 Method for filtering data with arbitrary kernel filters

Publications (1)

Publication Number Publication Date
JP2008226233A true JP2008226233A (ja) 2008-09-25

Family

ID=39638567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008016525A Pending JP2008226233A (ja) 2007-03-08 2008-01-28 カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置

Country Status (4)

Country Link
US (1) US7826676B2 (ja)
EP (1) EP1968009A3 (ja)
JP (1) JP2008226233A (ja)
CN (1) CN101261733A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012515385A (ja) * 2009-01-19 2012-07-05 ノキア コーポレイション 画像データのサイズを低下させるための方法および装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8417759B2 (en) * 2007-04-09 2013-04-09 DigitalOptics Corporation Europe Limited Efficient implementations of kernel computations
US8306348B2 (en) 2007-04-24 2012-11-06 DigitalOptics Corporation Europe Limited Techniques for adjusting the effect of applying kernels to signals to achieve desired effect on signal
US20090077359A1 (en) * 2007-09-18 2009-03-19 Hari Chakravarthula Architecture re-utilizing computational blocks for processing of heterogeneous data streams
AU2007219336B8 (en) * 2007-09-28 2011-07-21 Canon Kabushiki Kaisha Method and apparatus for abitrary ratio image reduction
US8086011B2 (en) * 2007-10-31 2011-12-27 Siemens Medical Solutions Usa, Inc. Reconstructing a tomographic image
US8379943B2 (en) * 2009-05-28 2013-02-19 Li-Kuo Chiu High-performance fingerprint image-processing method
US8687911B2 (en) 2009-06-24 2014-04-01 Nokia Corporation Adaptive method for processing digital images, and an image processing device
US9514103B2 (en) * 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
TWI469086B (zh) * 2011-04-26 2015-01-11 Univ Nat Cheng Kung 利用紋理特徵之影像分割法
CN102509266B (zh) * 2011-11-03 2013-09-25 上海交通大学 一种图像快速保边滤波方法
CN102722102B (zh) * 2012-06-19 2014-07-02 浙江工业大学 基于误差分析的h∞反馈与迭代学习协调控制方法
CN104103037B (zh) * 2013-04-02 2017-02-15 杭州海康威视数字技术股份有限公司 一种图像增强处理方法和装置
JP6390173B2 (ja) * 2014-06-02 2018-09-19 日本電気株式会社 情報処理装置、情報処理システム、画像処理方法、及び、プログラム
US10223333B2 (en) * 2014-08-29 2019-03-05 Nvidia Corporation Performing multi-convolution operations in a parallel processing system
US9582726B2 (en) 2015-06-24 2017-02-28 Qualcomm Incorporated Systems and methods for image processing in a deep convolution network
GB2570528B (en) * 2018-06-25 2020-06-10 Imagination Tech Ltd Bilateral filter with data model
CN109064425B (zh) * 2018-07-24 2020-08-04 浙江工业大学 一种自适应非局部总变分的图像去噪方法
CN113189634B (zh) * 2021-03-02 2022-10-25 四川新先达测控技术有限公司 一种类高斯成形方法
CN115426229B (zh) * 2022-07-21 2024-05-28 华力智芯(成都)集成电路有限公司 一种基于gmsk调制系统的快速高斯滤波的方法
GB2618869B (en) * 2022-11-30 2024-05-22 V Nova Int Ltd A method of processing source data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0225987A (ja) * 1988-07-15 1990-01-29 Fuji Xerox Co Ltd 画像処理集積回路装置
JPH09102875A (ja) * 1995-10-05 1997-04-15 Fuji Xerox Co Ltd 画像処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3274936D1 (en) * 1981-09-26 1987-02-05 Bosch Gmbh Robert Digital demodulator for frequency-modulated signals
US4528639A (en) * 1982-10-29 1985-07-09 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method of and apparatus for generating an inerstitial point in a data stream having an even number of data points
US5630037A (en) * 1994-05-18 1997-05-13 Schindler Imaging, Inc. Method and apparatus for extracting and treating digital images for seamless compositing
US6847737B1 (en) * 1998-03-13 2005-01-25 University Of Houston System Methods for performing DAF data filtering and padding
CN1294534C (zh) * 2001-02-06 2007-01-10 皇家菲利浦电子有限公司 防止图像传感器的绿色不一致
US6973218B2 (en) * 2001-04-25 2005-12-06 Lockheed Martin Corporation Dynamic range compression
US6816622B2 (en) * 2001-10-18 2004-11-09 Microsoft Corporation Generating resized images using ripple free image filtering
US7375856B2 (en) * 2002-07-01 2008-05-20 Xerox Corporation Halftone screen frequency and magnitude estimation for digital descreening of documents
US6975329B2 (en) * 2002-12-09 2005-12-13 Nvidia Corporation Depth-of-field effects using texture lookup
US7570829B2 (en) * 2005-02-17 2009-08-04 Eastman Kodak Company Selection of alternative image processing operations to maintain high image quality

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0225987A (ja) * 1988-07-15 1990-01-29 Fuji Xerox Co Ltd 画像処理集積回路装置
JPH09102875A (ja) * 1995-10-05 1997-04-15 Fuji Xerox Co Ltd 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012515385A (ja) * 2009-01-19 2012-07-05 ノキア コーポレイション 画像データのサイズを低下させるための方法および装置
US9042678B2 (en) 2009-01-19 2015-05-26 Nokia Corporation Method and apparatus for reducing size of image data

Also Published As

Publication number Publication date
US7826676B2 (en) 2010-11-02
CN101261733A (zh) 2008-09-10
US20080219580A1 (en) 2008-09-11
EP1968009A3 (en) 2009-06-17
EP1968009A2 (en) 2008-09-10
EP1968009A8 (en) 2008-10-29

Similar Documents

Publication Publication Date Title
JP2008226233A (ja) カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置
KR101137753B1 (ko) 고속의 메모리 효율적인 변환 구현 방법
Nair et al. Fast high-dimensional bilateral and nonlocal means filtering
Malinski et al. Fast adaptive switching technique of impulsive noise removal in color images
JP2009037597A (ja) 入力画像をフィルタリングして出力画像を作成する方法
Zuo et al. Convolutional neural networks for image denoising and restoration
Portilla et al. Efficient and robust image restoration using multiple-feature L2-relaxed sparse analysis priors
CN108765282B (zh) 基于fpga的实时超分辨方法及系统
CN110827212A (zh) 基于交叠组合稀疏高阶全变分的图像复原方法
Nair et al. A fast approximation of the bilateral filter using the discrete Fourier transform
Ma et al. Searching for fast demosaicking algorithms
Khan et al. Multi‐scale GAN with residual image learning for removing heterogeneous blur
Mohamed et al. A collaborative adaptive Wiener filter for image restoration using a spatial-domain multi-patch correlation model
Sugimoto et al. Constant-time bilateral filter using spectral decomposition
CN115908156B (zh) 渲染3d场景的图像的方法、图形处理单元和存储介质
CN113672612B (zh) 索引源数组中的元素
KR100633555B1 (ko) 신호 복구 방법
Das et al. A concise review of fast bilateral filtering
CN115690296A (zh) 各向异性纹理过滤
Kamenický et al. Image restoration in portable devices: Algorithms and optimization
Khandelwal et al. Accelerating local laplacian filters on fpgas
Porikli Reshuffling: a fast algorithm for filtering with arbitrary kernels
US8483505B2 (en) Rendering piece-wise smooth image from colour values along paths
Bipin et al. Image convolution optimization using sparse matrix vector multiplication technique
Alanazi Accelerated FPGA-Based Vector Directional Filter for Real-Time Color Image Denoising with Enhanced Performance.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403