(57)【特許請求の範囲】
【請求項１】
基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法であって、
長さ及び方向が前記基準領域における位置の関数である１次元フィルタを使用して前記基準領域を空間的に変動するステップと、
前記空間的に変動された基準領域と前記サンプル領域とを比較することで前記基準領域と前記サンプル領域との前記変位を測定するステップと
を有することを特徴とする方法。
【請求項２】
基準画像の基準領域と関連するサンプル画像のサンプル領域との変位を補正する方法であり、低速走査方向及び高速走査方向に走査することで前記画像が取得される方法であって、
長さが前記基準領域における位置の関数である複素カーネル値を有する１次元フィルタを使用して前記低速走査方向に平行する方向に前記基準領域を空間的に変動するステップと、
前記空間的に変動された基準領域と前記サンプル領域とを比較することで前記基準領域と前記サンプル領域との間の特定の方向でシフト及び変倍係数を測定するステップと、
前記基準画像と前記サンプル画像との間の重複領域を判定するステップと、
前記重複領域におけるシフトを推定するステップと、
前記推定及び前記測定されたシフト、並びに前記特定の方向の変倍係数を使用して前記サンプル領域を補正するステップと
を有することを特徴とする方法。
【請求項３】
基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法であって、
長さ及び角度が前記基準領域における位置の関数である１次元フィルタを使用して前記基準領域を空間的に変動するステップと、
前記フィルタリング済基準領域の各画素値を前記角度により判定された範囲で回転される場合に対応する画素位置に交差する画素から判定された平均画素値で置換するステップと、
前記基準領域の前記置換された画素を前記サンプル領域の画素と比較することで前記基準領域と前記サンプル領域との前記変位を測定するステップと、
を有することを特徴とする方法。
【請求項４】
基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する方法であって、
長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して前記基準領域を空間的に変動してフィルタリング済基準領域を形成するステップと、
前記フィルタリング済基準領域と前記サンプル領域とを相関するステップと、
前記相関されたフィルタリング済基準領域及びサンプル領域の最大相関値の位相を判定するステップと、
前記基準領域と前記サンプル領域との間の前記空間歪みパラメータを推定するために前記最大相関値の前記位相を使用するステップと
を有することを特徴とする方法。
【請求項５】
基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する方法であって、
長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して前記基準領域を空間的に変動して複素フィルタリング済基準領域を形成するステップと、
前記複素フィルタリング済基準領域及び前記サンプル領域を画素単位で乗算し且つ結果として得られる複素画素値を加算して前記領域に対するマッチングパラメータ値を形成するステップと、
前記マッチングパラメータ値の位相を判定するステップと、
前記基準領域と前記サンプル領域との間の空間歪みパラメータを推定するために前記マッチングパラメータ値の前記位相を使用するステップと
を有することを特徴とする方法。
【請求項６】
基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する装置であって、
長さ及び方向が前記基準領域における位置の関数である１次元フィルタを使用して前記基準領域を空間的に変動する手段と、
前記空間的に変動された基準領域と前記サンプル領域とを比較することで前記基準領域と前記サンプル領域との前記変位を測定する手段と
を有することを特徴とする装置。
【請求項７】
前記１次元フィルタは複素カーネル値であることを特徴とする請求項６記載の装置。
【請求項８】
前記基準領域及び前記サンプル領域は、相関を使用して前記領域を一致させる手段で比較され、前記一致させる手段は、
前記基準領域及び前記サンプル領域の相関の最大相関値の場所を判定する手段と、
前記基準領域と前記サンプル領域との前記変位を推定するために前記最大相関値の前記場所を使用する手段とを含むことを特徴とする請求項７記載の装置。
【請求項９】
前記最大相関値の位相は、前記基準領域と前記サンプル領域との間の空間歪みパラメータを更に判定するために使用されることを特徴とする請求項８記載の装置。
【請求項１０】
前記領域を前記比較することは、前記領域上でシフト推定を実行することを含むことを特徴とする請求項６記載の装置。
【請求項１１】
前記シフト推定は、勾配を利用したシフト推定を含むことを特徴とする請求項１０記載の装置。
【請求項１２】
前記基準領域及び前記サンプル領域は関連画像の対応する領域であることを特徴とする請求項６記載の装置。
【請求項１３】
基準画像の基準領域と関連するサンプル画像のサンプル領域との変位を補正する装置であり、低速走査方向及び高速走査方向に走査することで前記画像が取得される装置であって、
長さが前記基準領域における位置の関数である複素カーネル値を有する１次元フィルタを使用して前記低速走査方向に平行する方向に前記基準領域を空間的に変動する手段と、
前記空間的に変動された基準領域と前記サンプル領域とを比較することで前記基準領域と前記サンプル領域との間の特定の方向でシフト及び変倍係数を測定する手段と、
前記基準画像と前記サンプル画像との間の重複領域を判定する手段と、
前記重複領域におけるシフトを推定する手段と、
前記推定及び前記測定されたシフト、並びに前記特定の方向の変倍係数を使用して前記サンプル領域を補正する手段と
を有することを特徴とする装置。
【請求項１４】
基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する装置であって、
長さ及び角度が前記基準領域における位置の関数である１次元フィルタを使用して前記基準領域を空間的に変動する手段と、
前記フィルタリング済基準領域の各画素値を前記角度により判定された範囲で回転される場合に対応する画素位置に交差する画素から判定された平均画素値で置換する手段と、
前記基準領域の前記置換された画素を前記サンプル領域の画素と比較することで前記基準領域と前記サンプル領域との前記変位を測定する手段と
を有することを特徴とする装置。
【請求項１５】
基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する装置であって、
長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して前記基準領域を空間的に変動してフィルタリング済基準領域を形成する手段と、
前記フィルタリング済基準領域と前記サンプル領域とを相関する手段と、
前記相関されたフィルタリング済基準領域及びサンプル領域の最大相関値の位相を判定する手段と、
前記基準領域と前記サンプル領域との間の前記空間歪みパラメータを推定するために前記最大相関値の前記位相を使用する手段と
を有することを特徴とする装置。
【請求項１６】
前記基準領域及び前記サンプル領域は、関連画像の対応する領域であることを特徴とする請求項１５記載の装置。
【請求項１７】
基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する装置であって、
長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して前記基準領域を空間的に変動して複素フィルタリング済基準領域を形成する手段と、
前記複素フィルタリング済基準領域及び前記サンプル領域を画素単位で乗算し且つ結果として得られる複素画素値を加算して前記領域に対するマッチングパラメータ値を形成する手段と、
前記マッチングパラメータ値の位相を判定する手段と、
前記基準領域と前記サンプル領域との間の空間歪みパラメータを推定するために前記マッチングパラメータ値の前記位相を使用する手段と
を有することを特徴とする装置。
【請求項１８】
前記基準領域と関連付けられたシフト推定値を受信する手段と、前記サンプル領域を判定するために前記シフト推定値を使用する手段とを更に有することを特徴とする請求項１７記載の装置。
【請求項１９】
請求項６乃至１８のいずれか一項に記載の装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの類似する画像間の相対シフト又は他の空間の小さな歪みの推定方法に関する。
【背景技術】
【０００２】
多くのアプリケーションは、類似する一対の２次元画像の間での相対空間歪みの測定を必要とする。多くの場合、各対は、「基準」画像と呼ばれてもよいオリジナルの忠実な表現及び「ターゲット」画像と呼ばれてもよいこのオリジナルの劣化表現から構成される。
【０００３】
基準画像と比較したターゲット画像の劣化は、多くの形態をとりうる。例として、ターゲット画像は、基準画像の印刷／走査バージョンであってもよく、映像系列の一部に移動した特性であってもよく、あるいは基準画像から種々の条件下で撮像されたデジタル写真から取得されてもよい。
【０００４】
「基準」及び「ターゲット」という用語は、いくつかのアプリケーションに対して入れ替え可能であり、２つの画像間に品質の相違がなくてもよい。場合によっては、２つの画像は、単一の画像又は一連の画像から取得されてもよい。
【０００５】
品質の低下は、２つの画像間の空間歪みのために起こる可能性がある。歪みを推定することにより、歪みに対処したり、歪みを補正したりできる。多くの空間歪み推定方法の基礎はシフト推定であり、推定は、一方の画像を他方の画像と最適に位置合わせするのに必要な平行移動から成る。
【０００６】
空間歪みが単なる平行移動ではない場合、シフト推定は、それぞれ基準画像及びターゲット画像から抽出された一対の基準タイルとターゲットタイル（パッチとも呼ばれる）の間の平行移動を判定するために使用されてよい。画像中の多数の場所からのシフト推定値の集合は、より複雑な空間歪み、例えば回転、変倍、任意のアフィン歪み、透視歪み及び樽型歪み等の非線形歪みを判定するために使用されてよい。
【０００７】
タイル間の空間歪みの測定は多くのアプリケーションをサポートする。そのような測定は、印刷デバイス及び走査デバイス又はそのいずれかにおいて位置合わせ品質を直接測定するため、印刷デバイス又は走査デバイスの調整を補助するため、あるいは一方の画像を他方の画像に対して直接位置合わせするように２つの画像を正確に位置合わせすること及び印刷されたコピーとオリジナルとの直接比較を可能にする前処理ステップとして使用されてよい。この比較により、印刷の品質の評価及び更に印刷された出力に欠陥がないという検証が可能となる。そのような測定は、回転角度又は倍率がシステムにおいて別の物理的変数の代理を示す画像化システムの物理的状態に関する情報を更に提供できる。
【０００８】
いくつかの技術は、相関、位相相関、最小二乗法及び勾配を利用したシフト推定（ＧＢＳＥ）を含むそのようなシフト推定のために使用されている。
【０００９】
(×)により示された相関演算は、２つのタイルを比較する方法であり、多数のシフト位置において２つのタイルにおける対応する画素の積の合計を算出する。
ｈ＝ｆ (×) ｇ⇔ｈ（ｘ，ｙ）＝Σi,jｆ（ｉ，ｊ）・ｇ（ｘ＋ｉ，ｙ＋ｊ）
２つのタイル間に最大マッチングオーバラップの位置が存在する場合、相関の値はこの位置において最大となる。
【００１０】
フーリエ変換を使用して効率的に相関を実行できる。ここで、Ｆ（ｆ）はｆのフーリエ変換であり、Ｆ−１（ｆ）は逆フーリエ変換であり、Ｆ（ｇ）＊はｇのフーリエ変換の共役である。
ｆ (×) ｇ＝Ｆ−１（（Ｆ（ｆ）・Ｆ（ｇ）＊）
容易に検出可能な急峻な相関ピークを実現するために、相関積の各項が、単位絶対値(unit modulus)を持つ複素数値により置換される位相相関が使用されてよく、(＾×)により示される。
f (＾×) g=F-1(((F(f)・F(g)*)(u,v))/|(F(f)・F(g)*)(u,v)|)
基準タイル及びターゲットタイルに対する前処理ステップは、シフト推定方法である位相相関を補助するために必要である。位相相関演算において、タイルのエッジは、強い線分に非常に類似して見える可能性があるため、非常に強い特徴を形成する可能性がある。この結果、一方のタイルのエッジと他方のタイルのエッジとの一致により原点に、又は一方のタイルのエッジと他方のタイルの線の特徴との一致によりどこか他の位置に「偽」の相関ピークが形成されるかもしれない。この影響を緩和するために、エッジ画素上でパディング、ハイパスフィルタリング及びハーフハン窓等の組合せを使用して２つのタイルを前処理できる。そのような技術は当技術分野において既知である。タイルエッジに近接する画素にハーフハン窓等の窓を適用することを本発明においてヘッジングと呼ぶ場合もある。
【００１１】
シフト推定のために適切な細部を含むタイルを選択することが更に必要である。タイルは、少なくとも２つの実質的に異なる角度の向きの十分な高周波数情報又は中間周波数情報を含まなければならない。高周波数情報がタイルに存在しない場合、相関ピークは、広範になって入力タイルのあらゆる照明勾配による歪みを受けやすくなり、不正確なシフト推定を招く可能性が高い。周波数成分が実質的に単一の方向に存在する場合、シフト推定は、タイルの特徴部分に直交する方向で不正確になる。タイルが線又は点線のグリッド等の周期的な特徴部分を含む場合、マッチングのずれに不明確さが存在する可能性があり、場合によっては結果として更に間違ったシフト推定を招く。
【００１２】
２つのタイルが互いに対してシフトされ、且つシフト推定のために適切な細部を有するものとして選択されている場合、相関ピークは、２つのタイル間のシフトに直接対応する原点からの変位に現れる。
【００１３】
いくつかの位置において基準画像及びターゲット画像の対応する部分のタイルを測定することにより、単なるシフトより複雑な広範囲の変形を測定できる。
【００１４】
例えば、３つの非共線位置において相対シフトを測定することにより、２つのタイルに関連するアフィン変換を導出できる。多くの点において相対シフトを測定することにより、ある広範囲の変形への最小二乗適合が導出されてもよく、あるいは完全な「歪み（ワープ）マップ」が、一方の画像の全ての画素を他方の画像の画素位置に関連させうる１つ又は双方の画像に対して推定されてもよい。
【００１５】
多くのアプリケーションにおいて、測定されている２つのタイル間に小さな相対回転があるのが一般的である。例えば回転は、スキャナプラテン上のページの回転又は印刷中に供給経路内部の紙の回転、あるいはカメラの僅かな位置合わせ誤差により発生する可能性がある。
【００１６】
２つのタイル間の小さな相対回転を導入することにより、シフト推定に著しい悪影響を及ぼす可能性がある。例えば、１２８×１２８タイルの場合、測定された位相相関の正確度は、０°における０．０２画素以下の誤差から１°における０．１５画素及び２°におけるほぼ画素全体の誤差に低下する。
【００１７】
個々のタイルへの小さな回転の影響は別にして、小さな回転により、２つの画像間の局所的なシフトは画像全体にわたり著しく変化しうる。例えば、８．５インチ×１１インチのはがきサイズの１枚の用紙の６００ｄｐｉの走査は、約５，１００画素×６，６００画素の寸法を有する。基準画像と走査されたターゲット画像との間の１°の相対回転の結果、ページの上部と下部との差は１００画素を上回る局所的なシフトとなる。そのようなシフトにより、１２８×１２８サイズの２つのタイル間の一般的な重複が実質的に減少するため、これらのタイルに対するシフト推定の正確度は大幅に低下する。
【００１８】
シフト推定への回転の２つの悪影響、すなわち低下する正確度及びより大きなシフトの双方が相まって、シフト推定の正確度は、シフト推定が完全に失敗する可能性が高いほどに大幅に低下する。
【００１９】
そのような影響は、グローバル変換が導出されうる前に基準画像及びターゲット画像の対応する位置においていくつかの潜在的に不正確な測定が行われなければならないことを要求する。基準タイルとターゲットタイルとの間の潜在的に未知のシフトのため、相対的にシフトしたタイルにおいて十分な重複があることを保証するために、厳密に対応するタイルにおけるシフトを推定するのに必要なサイズよりはるかに大きなサイズのタイルを抽出することが更に必要である。
【００２０】
相関への回転及び変倍の影響を減少するために、空間的に変動するぼけが提案されている。しかし、そのようなぼけは、タイルのど真ん中を除いて基準タイルのほぼ全ての高周波数を除去する。急峻な相関ピークを提供するのがタイルの高周波数であるため、この動作により、シフト推定の正確度は更に大幅に低下しうる。
【００２１】
回転及び変倍に対する何らかのロバスト性を与えるＧＢＳＥ方法に対して、補正手段が提案されている。しかし、そのような手段は、測定されているタイルの最大シフトが単一の画素を下回る場合にのみ有効である。２°の回転下において、タイルの上部から下部へのシフトの差は、６４×６４タイルの場合に２画素であり、１２８×１２８タイルの場合に４．５画素である。
【００２２】
２つの単純な技術により、シフト推定方法への回転の影響を減少できる。より小さなタイルを使用することにより、シフト推定への回転の影響を減少できるが、推定できる最大シフトも小さくなる。測定前に双方のタイルをダウンサンプリングすることにより、シフト推定への回転の影響を更に減少できるが、測定されたシフトが真のシフトの一部にすぎないため、正確度も低下する。
【００２３】
尚、相対画像変倍は、シフト推定への回転の影響と同様の影響を有する。しかし、光学デバイス及び印刷デバイスの倍率が処理を開始する前に既知であるために必要に応じて自動的に補正されうるため、一般に相対変倍は、多くのアプリケーションにおいて割引されうる。
【００２４】
最小二乗法は、タイルの対に対して回転、変倍及びシフト、又はそれらの少なくともいずれかをモデル化し且つ測定できるが、一般にそのような方法は、反復検索を含み、非常に低速でありうる。
【００２５】
対数極座標変換及び多数の相関を含むフーリエ技術は、非常に広範囲にわたり回転、変倍及び平行移動を推定するために更に使用されてよいが、更に非常に低速である。
【００２６】
上述の方法を用いて回転に対する何らかのロバスト性を実現できるが、一般にこのロバスト性は測定の正確度を犠牲にし、これらの方法は、単一の測定だけを使用して回転角度又は変倍を直接推定する方法を提供しない。
【発明の概要】
【００２７】
本発明の第１の態様によれば、基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法であって、長さ及び方向が基準領域における位置の関数である１次元フィルタを使用して基準領域を空間的に変動することと、空間的に変動された基準領域とサンプル領域とを比較することで基準領域とサンプル領域との変位を測定することとを備える方法が提供される。
【００２８】
１次元フィルタは、複素カーネル値を含むことが好ましい。基準領域及びサンプル領域は、相関を使用して領域を一致させることで比較されることが望ましく、一致させることは、基準領域及びサンプル領域の相関の最大相関値の位置を決定することと、基準領域とサンプル領域との変位を推定するために最大相関値の位置を使用することとを含む。最大相関値の位相は、基準領域とサンプル領域との間の空間歪みパラメータを更に決定するために使用されることが好ましい。フィルタの関数は、半径及び角度の関数であるのが有利である。フィルタの方向は、半径に垂直であるか、半径に平行であるかのいずれか一方であることが好ましい。また、フィルタの長さは半径に比例することが望ましい。
【００２９】
前記方法は、単一の相関で基準領域とサンプル領域との間のシフト及び回転を推定することを更に備えてもよい。この方法は、単一の動作で基準領域とサンプル領域との間のシフト及び変倍係数を推定することを更に備えてもよい。領域を比較することは、領域上でシフト推定を実行することを含むことが望ましい。ここで、シフト推定は、勾配を利用したシフト推定を含んでもよい。一般に、基準領域及びサンプル領域は関連画像の対応する領域である。
【００３０】
本発明の別の態様によれば、基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法が提供される。この方法は、基準領域の中央の所定の半径の外側の画素値をゼロに設定することで変形された基準領域を形成することであり、ゼロに設定された画素が変形された基準領域の７５％を超える領域を占有することと、変形された基準領域の画素とサンプル領域の画素とを比較することで基準領域とサンプル領域との変位を測定することとを含む。
【００３１】
本発明の別の態様によれば、基準画像の基準領域と関連するサンプル画像のサンプル領域との変位を補正する方法であり、低速走査方向及び高速走査方向に走査することで画像が取得される方法が提供される。この方法は、長さが基準領域における位置の関数である複素カーネル値を有する１次元フィルタを使用して低速走査方向に平行する方向に基準領域を空間的に変動することと、空間的に変動された基準領域とサンプル領域とを比較することで基準領域とサンプル領域との間の特定の方向でシフト及び変倍係数を測定することと、基準画像とサンプル画像との間の重複領域を判定することと、重複領域におけるシフトを推定することと、推定及び測定されたシフト、並びに特定の方向の変倍係数を使用してサンプル領域を補正することとを含む。
【００３２】
本発明の別の態様によれば、基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法が提供される。この方法は、長さ及び角度が基準領域における位置の関数である複素カーネル値を有することが好ましい１次元フィルタを使用して基準領域を空間的に変えることと、フィルタリング済基準領域の各画素値を、角度で決定された範囲で回転した場合に対応する画素位置に交差する画素から決定された平均画素値で置換することと、基準領域の置換された画素をサンプル領域の画素と比較することで基準領域とサンプル領域との変位を測定することとを備える。
【００３３】
本発明の別の態様によれば、基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する方法であって、長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して基準領域を空間的に変えてフィルタリング済基準領域を形成することと、フィルタリング済基準領域とサンプル領域との相関をとることと、相関がとられたフィルタリング済基準領域及びサンプル領域の最大相関値の位相を判定することと、基準領域とサンプル領域との間の空間歪みパラメータを推定するために最大相関値の位相を使用することとを備える方法が提供される。
【００３４】
別の態様において、基準画像の基準領域とサンプル画像のサンプル領域との変位を測定する方法が開示され、前記方法は、単一のパラメータにより説明された空間変換に従って基準領域を空間的に変えて複数の空間変換済領域を形成することと、空間変換済領域をオーバレイしてフィルタリング済領域を形成することと、フィルタリング済領域とサンプル領域とを比較することで基準領域とサンプル領域との変位を測定することとを含む。オーバレイすることは、空間変換済領域の要素単位の平均を判定することを含むことが好ましい。
【００３５】
別の態様において、基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する方法であって、長さ及び方向が基準画像における位置の関数である複素カーネル値を含む１次元フィルタを使用して基準領域を空間的に変えて複素フィルタリング済基準領域を形成することと、複素フィルタリング済基準領域及びサンプル領域を画素単位で乗算し且つ結果として得られる複素画素値を加算して領域に対するマッチングパラメータ値を形成することと、マッチングパラメータ値の位相を判定することと、基準領域とサンプル領域との間の空間歪みパラメータを推定するためにマッチングパラメータ値の位相を使用することとを備える方法が開示される。この方法は、基準領域と関連付けられたシフト推定値を受信することと、サンプル領域を判定するためにシフト推定値を使用することとを更に備えてもよい。
【００３６】
更なる一態様において、基準画像の基準領域とサンプル画像のサンプル領域との間の空間歪みパラメータを測定する方法であって、空間的に変更済の複素フィルタリング済基準領域を受信することと、複素フィルタリング済基準領域及びサンプル領域を画素単位で乗算し且つ結果として得られる複素画素値を加算して領域に対するマッチングパラメータ値を形成することと、マッチングパラメータ値の位相を判定することと、基準領域とサンプル領域との間の空間歪みパラメータを推定するためにマッチングパラメータ値の位相を使用することとを有する方法が開示される。
【００３７】
他の態様が更に開示される。
【図面の簡単な説明】
【００３８】
次に、以下の図面を参照して本発明の少なくとも１つの実施形態を説明する。
【図１】図１は、回転を用いてシフト推定を補助するために使用されたｂｒｏｓｃフィルタに関連する位置の幾何学配列を示す図である。
【図２】図２は、シフト推定のために画像内で選択された基準タイル及び不正確さを回避するためにこれらの基準タイルがシフトされる方法を示す図である。
【図３】図３は、シフトを推定するために使用される恐竜の基準画像及びターゲット画像内で選択された基準タイル及び回転角度の第１の推定が後続のシフト推定を改善する方法を示す図である。
【図４】図４は、変倍を用いてシフト推定を補助するために使用されたｂｒｏｓｃフィルタに関連する位置の幾何学配列を示す図である。
【図５Ａ】、
【図５Ｂ】、
【図５Ｃ】、
【図５Ｄ】図５Ａ〜図５Ｄは、ｂｒｏｓｃ回転フィルタを点のグリッド及び恐竜の足に適用した結果を示す図である。
【図６】図６は、単一のパラメータを取るあらゆる空間変換に与えられたロバスト相関を支援するようにタイルをフィルタリングする方法を示すフローチャートである。
【図７】図７は、ｂｒｏｓｃフィルタを使用して回転、変倍又は他の変換のうちの１つ及びシフトの双方を測定する方法を示すフローチャートである。
【図８】図８は、プリンタ出力チェッカシステムの一例を示す概略ブロック図である。
【図９】図９は、回転角度の初期推定のためにｂｒｏｓｃフィルタを使用して２つの文書を位置合わせする方法を示すフローチャートである。
【図１０】図１０は、ｂｒｏｓｃフィルタを使用する焦点ぼけからの深さの測定システムの概略的なフローチャートを示す。
【図１１】図１１は、画像登録を補助するためにｂｒｏｓｃフィルタを使用する眼撮像システムの概略的なフローチャートを示す。
【図１２Ａ】、
【図１２Ｂ】図１２Ａ及び図１２Ｂは、説明した配列が実行されてもよい汎用コンピュータを示す概略ブロック図である。
【図１３】図１３は、ｂｒｏｓｃフィルタを使用して回転、変倍又は他の変換がある状態でシフトを測定する方法を示すフローチャートである。
【図１４】図１４は、ｂｒｏｓｃフィルタリング済タイルの集合を作成する方法を示すフローチャートである。
【図１５】図１５は、ｂｒｏｓｃフィルタを使用して回転、変倍又は他の変換のうちの１つを測定する方法を示すフローチャートである。
【図１６】図１６は、ｂｒｏｓｃフィルタを使用して回転、変倍又は他の変換のうちの１つ及びシフトの双方を測定する方法を示すフローチャートである。
【図１７】図１７は、あるｂｒｏｓｃ変換推定方法で使用するためのターゲットタイル領域の抽出を示す図である。
【図１８】図１８は、あるｂｒｏｓｃ変換推定方法で使用するためのターゲットタイルサブ領域及びフィルタリング済タイルサブ領域に対する調整を示す図である。
【図１９】図１９は、変換されたタイルをオーバレイすることでｂｒｏｓｃフィルタリング済タイルを作成する方法を示す概略的なフローチャートである。
【図２０】図２０は、多数の空間変換パラメータを測定するためにｂｒｏｓｃフィルタリング済タイルを作成する方法を示す概略的なフローチャートである。
【発明を実施するための形態】
【００３９】
図１２Ａ及び図１２Ｂは、説明されるシフト推定の種々の構成が実施されうる汎用コンピュータシステム２２００を示す。
【００４０】
図１２Ａに示されるように、コンピュータシステム２２００は、コンピュータモジュール２２０１、キーボード２２０２、マウスポインタデバイス２２０３、スキャナ２２２６、カメラ２２２７及びマイク２２８０等の入力デバイス、並びにプリンタ２２１５、表示装置２２１４及びスピーカ２２１７を含む出力デバイスを備える。カメラ２２２７は、説明される方法で処理される画像の発信源であってもよい。外部変復調器（モデム）送受信機デバイス２２１６は、接続２２２１を介して通信ネットワーク２２２０と通信するためにコンピュータモジュール２２０１により使用されてもよい。通信ネットワーク２２２０は、インターネット、セルラ電気通信ネットワーク等のワイドエリアネットワーク（ＷＡＮ）又は専用ＷＡＮであってもよい。接続２２２１が電話線である場合、モデム２２１６は従来の「ダイヤルアップ」モデムであってもよい。あるいは、接続２２２１が大容量（例えば、ケーブル）接続である場合、モデム２２１６はブロードバンドモデムであってもよい。無線モデムは、通信ネットワーク２２２０に無線接続するために更に使用されてもよい。
【００４１】
コンピュータモジュール２２０１は、一般に、少なくとも１つのプロセッサユニット２２０５及びメモリユニット２２０６を含む。例えばメモリユニット２２０６は、半導体ランダムアクセスメモリ（ＲＡＭ）及び半導体読み出し専用メモリ（ＲＯＭ）を有してもよい。コンピュータモジュール２２０１は、ビデオディスプレイ２２１４、スピーカ２２１７及びマイク２２８０に結合するオーディオ／ビデオインタフェース２２０７、キーボード２２０２、マウス２２０３、スキャナ２２２６、カメラ２２２７及び必要に応じてジョイスティック又はヒューマンインタフェースデバイス（不図示）に結合する入出力（Ｉ／Ｏ）インタフェース２２１３、並びに外部モデム２２１６及びプリンタ２２１５用のインタフェース２２０８を含む複数のＩ／Ｏインタフェースを更に備える。ある実装において、モデム２２１６は、インタフェース２２０８等のコンピュータモジュール２２０１内に組み込まれてもよい。コンピュータモジュール２２０１は、接続２２２３を介してコンピュータシステム２２００がローカルエリアネットワーク（ＬＡＮ）として既知であるローカルエリア通信ネットワーク２２２２に接続できるようにするローカルネットワークインタフェース２２１１を更に有する。図１２Ａに示されるように、ローカル通信ネットワーク２２２２は、一般にいわゆる「ファイアウォール」デバイス又は同様の機能性を備えたデバイスを含むワイドネットワーク２２２０に接続２２２４を介して更に結合してもよい。ローカルネットワークインタフェース２２１１は、イーサネット（登録商標）回路カード、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線装置又はＩＥＥＥ８０２．１１無線装置を備えてもよいが、多数の他の種類のインタフェースがインタフェース２２１１に対して実施されてもよい。ネットワーク２２２０及び２２２２は、説明される方法で処理される画像の発信源であってもよい。
【００４２】
Ｉ／Ｏインタフェース２２０８及び２２１３は、直列接続性及び並列接続性のいずれか一方又は双方を提供してもよい。一般に直列接続性は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に従って実現され、対応するＵＳＢコネクタ（不図示）を有する。記憶装置２２０９が提供され、一般に記憶装置２２０９は、ハードディスクドライブ（ＨＤＤ）２２１０を含む。フロッピディスクドライブ及び磁気テープドライブ（不図示）等の他の記憶装置が更に使用されてもよい。オプションのディスクドライブ２２１２は、一般に、データの不揮発性ソースとして動作するように提供される。例えば、光ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイディスク（登録商標）、ＵＳＢ−ＲＡＭ、取り外し可能な外部ハードドライブ及びフロッピディスク等のポータブルメモリ装置は、システム２２００に対する適切なデータソースとして使用されてもよい。
【００４３】
コンピュータモジュール２２０１の構成要素２２０５〜２２１３は、一般に、当業者に既知であるコンピュータシステム２２００の動作の従来のモードをもたらす方法で相互接続バス２２０４を介して通信する。例えばプロセッサ２２０５は、接続２２１８を使用してシステムバス２２０４に結合される。同様に、メモリ２２０６及び光ディスクドライブ２２１２は、接続２２１９によりシステムバス２２０４に結合される。説明する構成が実装可能なコンピュータの例には、ＩＢＭのＰＣ及び互換性のあるもの、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎｓ、Ａｐｐｌｅ  Ｍａｃ（登録商標）又は同様のコンピュータシステムが含まれる。
【００４４】
変位及び空間歪みの測定の方法は、コンピュータシステム２２００を使用して実現されてもよい。説明する図１〜図１１及び図１３〜図２０の処理は、コンピュータシステム２２００内で実行可能な１つ以上のソフトウェアアプリケーションプログラム２２３３として実現されてもよい。特に、シフト推定の方法のステップは、コンピュータシステム２２００内で実行されるソフトウェア２２３３で命令２２３１（図１２Ｂを参照）により実施される。ソフトウェア命令２２３１は、各々が１つ以上の特定のタスクを実行する１つ以上のコードモジュールとして形成されてもよい。ソフトウェアは２つの別個の部分に更に分割されてもよく、第１の部分及び対応するコードモジュールはシフト推定方法を実行し、第２の部分及び対応するコードモジュールは、第１の部分とユーザとの間のユーザインタフェースを管理する。
【００４５】
例えばソフトウェアは、以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２２００にロードされ、コンピュータシステム２２００により実行される。そのようなソフトウェアを有するコンピュータ可読媒体又はコンピュータ可読媒体上に記録されたコンピュータプログラムは、コンピュータプログラム製品である。コンピュータシステム２２００においてコンピュータプログラムを使用することにより、画像におけるシフト推定に有利な装置を実施することが好ましい。
【００４６】
一般にソフトウェア２２３３は、ＨＤＤ２２１０又はメモリ２２０６に格納される。ソフトウェアは、コンピュータ可読媒体からコンピュータシステム２２００にロードされ、コンピュータシステム２２００により実行される。従って、例えばソフトウェア２２３３は、光ディスクドライブ２２１２により読み出される光学的に読み出し可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）２２２５上に格納されてもよい。
【００４７】
いくつかの例において、アプリケーションプログラム２２３３は、１つ以上のＣＤ−ＲＯＭ２２２５にエンコードしてユーザに供給されて対応するドライブ２２１２を介して読み出されてもよいか、あるいはユーザによりネットワーク２２２０又は２２２２から読み出されてもよい。さらに、ソフトウェアはまた、他のコンピュータ可読媒体からコンピュータシステム２２００にロードできる。コンピュータ可読記憶媒体は、実行及び処理又はそのいずれかをするために記録された命令及びデータ又はそのいずれかをコンピュータシステム２２００に提供するあらゆる非一時的な有形記憶媒体を示す。そのような記憶媒体の例には、フロッピディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイ（登録商標）ディスク、ハードディスクドライブ、ＲＯＭ又は集積回路、ＵＳＢメモリ、光磁気ディスク、あるいは例えばＰＣＭＣＩＡカード等のコンピュータ可読カードが含まれ、そのようなデバイスは、コンピュータモジュール２２０１の内部又は外部にある。ソフトウェア、アプリケーションプログラム、命令及びデータ又はそれらの少なくともいずれかをコンピュータモジュール２２０１に提供することに更に関係してもよい一時的又は非一時的なコンピュータ可読伝送媒体の例には、無線送信チャネル又は赤外線送信チャネル及び別のコンピュータ又はネットワーク化されたデバイスへのネットワーク接続、並びに電子メール送信及びウェブサイト上等に記録された情報を含むインターネット又はイントラネットが含まれる。
【００４８】
上述したアプリケーションプログラム２２３３の第２の部分及び対応するコードモジュールは、ディスプレイ２２１４上にレンダリングされるかあるいは表される１つ以上のグラフィカルユーザインタフェース（ＧＵＩ）を実現するように実行されてもよい。一般にキーボード２２０２及びマウス２２０３を操作することにより、コンピュータシステム２２００及びアプリケーションのユーザは、ＧＵＩと関連付けられたアプリケーションに制御コマンド及び入力又はそのいずれかを提供するように機能的に適応可能な方法でインタフェースを操作してもよい。他の形式の機能的に適応可能なユーザインタフェース、例えばスピーカ２２１７を介して出力された音声プロンプト及びマイク２２８０を介して入力されたユーザボイスコマンドを利用するオーディオインタフェースが更に実現されてもよい。
【００４９】
図１２Ｂは、プロセッサ２２０５及び「メモリ」２２３４を示す詳細な概略ブロック図である。メモリ２２３４は、図１２Ａのコンピュータモジュール２２０１によりアクセスされうる全てのメモリモジュール（ＨＤＤ２２１０及び半導体メモリ２２０６を含む）の論理的な集約を示す。
【００５０】
コンピュータモジュール２２０１の電源が最初に投入される場合、自己診断（ＰＯＳＴ）プログラム２２５０が実行する。一般にＰＯＳＴプログラム２２５０は、図１２Ａの半導体メモリ２２０６のＲＯＭ２２４９に格納される。ソフトウェアを格納するＲＯＭ２２４９等のハードウェアデバイスは、ファームウェアと呼ばれる場合もある。ＰＯＳＴプログラム２２５０は、コンピュータモジュール２２０１内のハードウェアを調査して適切に機能することを保証し、一般に、正しく動作するためにＲＯＭ２２４９に更に格納されたプロセッサ２２０５、メモリ２２３４（２２０９、２２０６）及び基本入出力システム（ＢＩＯＳ）ソフトウェアモジュール２２５１をチェックする。ＰＯＳＴプログラム２２５０が正常に実行したら、ＢＩＯＳ２２５１は図１２Ａのハードディスクドライブ２２１０を起動する。ハードディスクドライブ２２１０を起動することにより、ハードディスクドライブ２２１０上に常駐するブートストラップローダプログラム２２５２がプロセッサ２２０５を介して実行する。これにより、オペレーティングシステム２２５３は、ＲＡＭメモリ２２０６にロードされると動作を開始する。オペレーティングシステム２２５３は、プロセッサ２２０５により実行可能なシステムレベルのアプリケーションであり、プロセッサ管理、メモリ管理、デバイス管理、ストレージ管理、ソフトウェアアプリケーションインタフェース及び汎用ユーザインタフェースを含む種々のハイレベルな機能を遂行する。
【００５１】
オペレーティングシステム２２５３は、メモリ２２３４（２２０９、２２０６）を管理し、コンピュータモジュール２２０１上で実行する処理又はアプリケーションの各々が別の処理に割り当てられたメモリと衝突することなく実行する十分なメモリを有することを保証する。また、図１２Ａのシステム２２００で使用可能な種々のメモリは、各処理が効率的に実行できるように適切に使用されなければならない。従って、集約メモリ２２３４は、メモリの特定の部分が割り当てられる方法を示すことを意図せず（特に記載されない限り）、コンピュータシステム２２００によりアクセス可能なメモリの概略図及びそのようなメモリが使用される方法を提供する。
【００５２】
図１２Ｂに示されるように、プロセッサ２２０５は、制御ユニット２２３９、演算論理装置（ＡＬＵ）２２４０及びキャッシュメモリと呼ばれる場合もあるローカルメモリ又は内部メモリ２２４８を含む多数の機能モジュールを含む。一般にキャッシュメモリ２２４８は、レジスタ部に複数の記憶レジスタ２２４４〜２２４６を含む。１つ以上の内部バス２２４１は、これらの機能モジュールを機能的に相互接続する。一般にプロセッサ２２０５は、接続２２１８を使用してシステムバス２２０４を介して外部デバイスと通信する１つ以上のインタフェース２２４２を更に有する。メモリ２２３４は、接続２２１９を使用してバス２２０４に結合される。
【００５３】
アプリケーションプログラム２２３３は、条件付き分岐命令及びループ命令を含んでもよい一連の命令２２３１を含む。プログラム２２３３は、プログラム２２３３を実行するために使用されるデータ２２３２を更に含んでもよい。命令２２３１及びデータ２２３２は、それぞれ、記憶場所２２２８、２２２９、２２３０及び２２３５、２２３６、２２３７に格納される。命令２２３１及び記憶場所２２２８〜２２３０の相対的なサイズに依存して、特定の命令は、記憶場所２２３０に示された命令により示されたように単一の記憶場所に格納されてもよい。あるいは、命令は、記憶場所２２２８及び２２２９に示された命令部分により示されたように、各々が別個の記憶場所に格納される多数の部分にセグメント化されてもよい。
【００５４】
一般にプロセッサ２２０５は、そこで実行される命令の集合を与えられる。プロセッサ２２０５は、命令の別の集合を実行することにより自身が反応する後続の入力を待つ。各入力は、入力デバイス２２０２、２２０３の１つ以上により生成されたデータ、ネットワーク２２２０、２２０２のうちの一方を介して外部ソースから受信したデータ、記憶装置２２０６、２２０９のうちの一方から検索したデータ又は対応する読み取り装置２２１２に挿入された記憶媒体２２２５から検索したデータを含む多数のソースのうちの１つ以上から提供されてもよく、その全てが図１２Ａに示される。いくつかの例において、命令の集合を実行した結果、データが出力される。実行することは、データ又は変数をメモリ２２３４に格納することを更に含んでもよい。
【００５５】
開示されるシフト推定の構成は、対応する記憶場所２２５５、２２５６、２２５７においてメモリ２２３４に格納される入力変数２２５４を使用する。シフト推定の構成は、対応する記憶場所２２６２、２２６３、２２６４においてメモリ２２３４に格納される出力変数２２６１を生成する。中間変数２２５８は、記憶場所２２５９、２２６０、２２６６及び２２６７に格納されてもよい。
【００５６】
図１２Ｂのプロセッサ２２０５を参照すると、レジスタ２２４４、２２４５、２２４６、演算論理装置（ＡＬＵ）２２４０及び制御ユニット２２３９は、プログラム２２３３を構成する命令集合において命令毎に「フェッチ、デコード及び実行」サイクルを実行するのに必要なマイクロ動作のシーケンスを実行するように共に動作する。フェッチ、デコード及び実行サイクルの各々は、以下を含む。
【００５７】
（ａ）記憶場所２２２８、２２２９、２２３０からの命令２２３１をフェッチする、すなわち読み取るフェッチ動作
（ｂ）制御ユニット２２３９がフェッチされた命令を判定するデコード動作
（ｃ）制御ユニット２２３９及びＡＬＵ２２４０又はそのいずれかが命令を実行する実行動作
その後、次の命令に対する更なるフェッチ、デコード及び実行サイクルが実行されてもよい。同様に、制御ユニット２２３９が値を記憶場所２２３２に格納するかあるいは書き込むことにより、格納サイクルが実行されてもよい。
【００５８】
図１〜図１１及び図１３〜図２０の処理におけるステップ又はサブプロセスの各々は、プログラム２２３３の１つ以上の部分と関連付けられ、プログラム２２３３の示された部分に対して命令集合において命令毎にフェッチ、デコード及び実行サイクルを実行するようにプロセッサ２２０５のレジスタ部２２４４、２２４５、２２４７、ＡＬＵ２２４０及び制御ユニット２２３９が共に動作することで実行される。
【００５９】
シフト推定の方法は、シフト推定の機能又はサブ機能を実行する１つ以上の集積回路等の専用ハードウェアで代わりに実現されてもよい。そのような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ又は１つ以上のマイクロプロセッサ及び連想メモリを備えてもよい。
【００６０】
変倍及び回転がシフト推定の劣化をもたらしている根本的な理由は、画像の２つのタイルが互いに対して回転している場合に、比較されている２つのタイルにわたり多数の個別のマルチ画素シフトが存在することである。
【００６１】
相関方法を使用する場合、これらの多数のシフトは、相関画像において多数の相関ピークとして現れる。各ピークは、タイルについて対応する位置の各々における細部の量に依存して強度が異なる。比較されているタイルの内容が最適な相関挙動のために選択可能であるとは限らないため、最強の相関ピークに反映されたようなシフト推定の実際の測定位置は、タイルのどこであってもよい。
【００６２】
勾配に基づいたシフト推定方法を使用する場合、シフト推定は１画素より小さいシフトに対してのみ作用する。１画素よりも大きく変位されるタイルの領域のシフト推定への影響は未知であり、シフト推定を損なう可能性が高い。
【００６３】
上述したように、シフト推定中に単に３２×３２サイズ等の非常に小さなタイルを使用することで、１つのタイル中に多数の変位を有することの影響を制限できる。しかし、そのようなタイルを使用することにより、シフト推定を特徴づける画像情報の量を制限し、ダウンサンプリングが使用されない限り、この例において測定可能な最大変位は１６画素に制限される。
【００６４】
本発明において、先に識別されたシフト推定に関する問題を改善する好適な方法を開示する。２つの比較的単純な方法は、最大可能変位測定を制限せずに回転に対するロバスト性を持つ測定を提供し、２つのいくらかより複雑な方法は、回転に対する優れたロバスト性を提供し、他の利点を更に有する。
【００６５】
最初の２つの方法は、何らかの回転及び変倍への耐性も取り入れつつ、大きな変位を測定する機能を提供する。双方の方法は、シフト推定を基準タイルの中心の狭い領域の情報に限定することに依存する。
【００６６】
提示される全ての方法において、ロバスト性は、シフト推定を開始する前に基準タイルを処理することで実現される。基準タイルを処理することはいくつかの利点を有する。例えば、タイルがデジタル方式で生成される場合、タイルは雑音を免れることができ、そのタイルの処理は、ターゲット画像が取得される前に実行できる。使用可能な基準画像と使用可能なターゲット画像との間に実質的な時間遅延がある場合、基準タイルの処理は遅延時間内に実行でき、実行されているどのタスクにもいかなる実時間を追加する必要もない。しかし、代わりにターゲットタイルを処理するのが望ましいアプリケーションがあってもよい。
【００６７】
第１の技術において、基準タイルにおける所定の半径を持つ中心ディスクの外側の画素は、特定の範囲の角度内の回転（例えば±２°）が、いかなる非ゼロ画素もひとつの画素より大きくシフトしないようにゼロにされる。小さな角度の場合、このディスクの半径は、回転角度範囲の正弦に反比例する。２°の回転において、２８画素の直径を持つディスクに対して良好な結果が本発明者により得られた。１２８タイル×１２８タイルに対するＲＭＳシフト推定誤差は、元の基準タイルに対して約１．２４画素であり、中心ディスクすなわち所定の半径の外側でゼロにされた基準タイルに対して約０．０９画素であった。尚、離散フーリエ変換のラップアラウンド特性のために発生する、反対側で重複するタイルからの相関信号を回避するために、相関の前に最大７５％の領域までタイルを埋め込むことは一般的である。
【００６８】
適切な回転ロバスト性及び大きな最大シフト推定の双方を提供するために、一般にそのようなディスクは、７５％より大きな領域に埋め込まれる。
【００６９】
第２の技術において、基準タイルは、タイルの中心に近接する画素を強調し且つタイルのエッジに接近する画素の振幅をゼロにするように減少する窓関数を乗ぜられる。ガウス窓又はハニング窓等の異なる窓関数が使用されてもよく、窓関数に対して最適な幅は、所望の範囲を含む回転角度の異なる画像コンテンツを含む場合にシフト推定を実行することで実験的に判定されうる。２°の回転において、この第２の技術に対するＲＭＳシフト推定誤差は、再度１２８タイル×１２８タイルに対して約０．１０画素であった。
【００７０】
これら双方の技術は、狭い範囲の倍率及びある範囲のアスペクト比、更には恒等変換に十分に近い任意の空間変換の連続に対しても有効である。
【００７１】
これらの方法は、空間変換の下でシフト推定の正確度を向上させる一方で、基準タイルの中心の外側の画素情報を除去又は軽視する望ましくない特徴を有する。雑音がある状態で空間変換が純粋な平行移動である場合、シフト推定誤差がタイルの幅に反比例してよいため、より大きな基準タイルはより高度なシフト推定の正確度を提供する。しかし、基準タイルの画素をゼロにするかあるいはそれに窓を付けることにより、窓のサイズが基準タイルの幅ではなく角度範囲により制限されるために実現可能な正確度は制限される。従って、基準タイルを拡大してもシフト推定の正確度は向上しない。
【００７２】
ターゲットタイルのある回転が正確度に悪影響を及ぼしていない状態で基準タイル全体にわたり位置合わせ情報を保持できる方法を有することが好ましいだろう。
【００７３】
本発明において、基準タイルの中心の外側で実質的に画像情報を更に保持する小さな空間変換の下でロバストシフト推定を提供する更なる手法を開示する。この技術は、本明細書において「最適な回転又は変倍」の省略形である「ｂｒｏｓｃ」法と呼ばれ、実ｂｒｏｓｃフィルタ及び複素ｂｒｏｓｃフィルタによりそれぞれ形成された２つの方法として提示される。
【００７４】
ｂｒｏｓｃ法は、タイルの回転の中心に近接する画素が広域的なシフト以外の回転中に実質的に移動しないが、この中心から遠く離れた更なる画素が更に比例して移動して小さな回転角度でも１画素よりも大きくシフトするという事実に依存する。この方法は、ある角度の範囲にわたり作用でき、２α°の全角度範囲を与える回転角度の特定の範囲±α内で動作するように最初に較正される。例えば、この方法の一例は、α＝３であり、６°の範囲を与える±３°間の全ての角度θに対して動作する。
【００７５】
ある角度の範囲にわたる回転中、タイルの各画素は、その画素を含む円の弧に沿って且つ回転の中心における原点と共に移動する。各画素の中心において、この弧は、その画素を通る円の半径に直交し、弧の長さは、回転の中心からの画素の距離に比例する。回転の中心（０、０）に対する位置（ｘ、ｙ）における画素の場合、半径ベクトルはｖr＝（ｘ、ｙ）であり、この半径に直交する２つの単位ベクトルは以下の通りである。
ｖ~1＝（−ｙ，ｘ）／√（ｘ2＋ｙ2）  及び  ｖ~2＝（ｙ，−ｘ）／√（ｘ2＋ｙ2）
回転中の各画素の運動のこのような知識を使用して、フィルタリング済基準タイルは、シフト推定の下でより適切な正確度を提供するテンプレートとして元の基準タイルから作成できる。フィルタの目的は、所望の範囲内の全ての回転角度において強い相関を有する画像を作成することである。従って、フィルタが適用されるタイルの確立した又は仮定した寸法と揃わない方向にフィルタが適用される可能性があるとしても、フィルタは１つの寸法を逸脱するだけである。
【００７６】
この効果を実現するために、実ｂｒｏｓｃフィルタのアプリケーションにおいて、フィルタリング済画像の各画素は、角度範囲による回転、判定を実数領域に限定する平均値の使用を通して、その画素すなわち画素位置に交差する画素の平均値により置換される。回転したターゲット画像との相関中、フィルタリング済基準画像の画素は、ターゲット画像の全ての重複画素との部分的な一致を含む。この実ｂｒｏｓｃフィルタの影響は、フィルタリング済画像との相関精度が０°においてフィルタリングされていない画像との相関精度より低いが、回転範囲内の回転角度に対してフィルタリングされていない画像よりはるかに高いことである。フィルタリング済基準タイルとターゲットタイルとの間の相関によりシフトが測定される場合、相関ピークの幅は、範囲全体にわたり一貫して狭いままであり、フィルタリング済基準タイルの回転の中心とターゲット画像中の対応する場所との間のシフトを適切に推定する。フィルタのために使用された回転の中心がタイルの中心にある場合、相関は、フィルタリング済基準タイルの中心とターゲット画像中の対応する場所との間の距離を正確に測定する。
【００７７】
狭い角度範囲（例えば１０°未満）の場合、各画素を通る弧は、その画素を通り、半径に直交し且つ長さが２ｒ  ｓｉｎ  αである直線又は線分により近似されうる。より良い弧への近似は、曲率の中心に少しでも近接する位置を中心とすることであるが、この効果を原因として提供される改善はごく僅かである。
【００７８】
ナイキスト周波数の周期が０°又は９０°以外の角度において２画素より短いため、ナイキスト標本抽出率はこれらの角度において１画素未満であり、適切な標本抽出を実現するための画素間の所望の間隔はベクトル（-y/(|x|+|y|), x/(|x|+|y|)）である。所望の長さを実現するためのフィルタの画素数は、（｜ｘ｜＋｜ｙ｜）．２ｓｉｎ  αである。これらのベクトルは、全ての画素位置に対して算出されなければならないが、幸いこれらの算出は、タイル全体にわたり一定である長さの倍率ｓｉｎ  α以外の単純な演算のみを必要とする。
【００７９】
フィルタを評価するために線分に沿って進んでいる間、一般に所望のサンプリング位置は厳密な画素位置ではない。この場合、最近接画素が代わりに使用される。最近接画素値ではなく補間画素値を使用するより複雑なフィルタが使用可能であるが、実質的にフィルタの有効性は向上せず、実質的にフィルタを算出するのにかかる時間が長くなる。
【００８０】
尚、ｂｒｏｓｃフィルタは、１次元であるために各タイル位置において１方向にのみ高周波数を減衰し、入力タイル上の全ての位置において何らかの高周波エネルギーが残るため、適切なシフト推定に必要な情報を保持する。
【００８１】
図１は、１画素のフィルタリングに対する幾何学構成を示す。図１は、フィルタの回転の中心１１０２を有するフィルタリングされる基準タイル１１０１を示す。この例において、回転の中心１１０２は基準タイル１１０１の中心に対応する。一般に基準タイル１１０１は、例えばコンピュータ２２０１のメモリ２２０６に一時的に格納された画像の構成要素である。図１は、フィルタリングされる画素の位置１１０３及びフィルタ角度範囲を設定する半角α１１０４を更に示す。回転の中心から画素への半径１１０５、画素１１０３を通る半径１１０５を含む円１１０８、画素が角度範囲だけ回転中に移動する弧１０６を更に示し、１１０７は、弧１１０６への近似である線分１１０７を示す。
【００８２】
要約すると、回転に対する１次元空間変動フィルタ（spatially-varying filter）は、ＨＤＤ２２１０等に格納され且つメモリ２２０６の中間記憶装置を含むプロセッサ２２０５により実行可能なソフトウェアアプリケーションとして実現されることが好ましい以下のステップを使用して算出されうる。
【００８３】
１．入力は、角度範囲の半分α１１０４、回転の中心（０、０）１１０２を含むタイルｔ（ｘ、ｙ）１１０１である、
２．一辺に対する長さの倍率ｓ＝ｓｉｎ  αとする、
３．入力タイルの画素ｔ（ｘ、ｙ）１１０３毎に、
ａ．開始位置ｐ~＝（ｘ，ｙ）１１０３とする、
ｂ．サンプリングステップd~ = （-y/(|x|+|y|), x/(|x|+|y|)）とする
ｃ．フィルタの片側のサンプル数ｎ＝ｒｏｕｎｄ（ｓ．（｜ｘ｜＋｜ｙ｜））とする、
ｄ．線に沿う画素の合計ａ＝Σk=-1n t(p~+k.d~)とする、
ｅ．出力画素ｕ（ｘ，ｙ）＝ａ／（２ｎ＋１）とする、
４．出力は、入力タイルと同一のサイズのフィルタリング済タイルｕ（ｘ，ｙ）である。
【００８４】
出力フィルタリング済タイルは、フィルタリング済画像の一部としてメモリ２２０６に格納されてもよい。尚、各出力画素を評価する場合、フィルタは、前にフィルタリングされた画素の位置の画素を使用する。従って、入力タイルｔを格納するために使用されたメモリ２２０６のメモリバッファとは別個の、メモリ２２０６内のメモリバッファに出力タイルｕを格納する必要がある。あるいはメモリ２２０６は、処理されている現在の行又は列を含むストリップバッファとして部分的に動作するように構成されてもよい。これにより、ｕ及びｔに対して別個のタイルバッファを割り当てることなくフィルタを評価できる。
【００８５】
４°の合計角度範囲である±２°間の角度の場合、このフィルタは、α＝４°のより広範な半角度範囲と共に使用される場合に非常に有効である。
【００８６】
この空間変動１次元フィルタを使用することにより、相関を使用するシフト推定のためにより正確な基準を提供する変形された基準タイルを作成する。しかし、この空間変動１次元フィルタを使用することにより、基準タイルに対するターゲットタイルの回転を同時に測定する手段を全く提供しない。
【００８７】
特定のフィルタが更に向上することにより、回転角度を推定する方法を提供できる。その結果、上述の複素ｂｒｏｓｃフィルタが得られる。尚、フィルタリング済基準タイルを−２°だけ回転しているターゲットタイルと相関させる場合、相関は、ターゲットタイルと−２°の回転を示すフィルタのこれらの構成要素との間で最強となる。これは、フィルタの合計範囲が±２°である場合には、フィルタの最端部のひとつにおける画素である。フィルタにおける各画素は、複素位相により符号化された回転の角度を示す。例えば、フィルタの合計範囲が±２°である場合、−２°回転した画素に対してφ＝−９０°すなわち（０＋ｉ）、−１°に対してφ＝−４５°、０°に対してφ＝０°、１°に対してφ＝４５°、あるいは２°に対してφ＝９０°を割り当ててよい。特定の画素におけるフィルタが１度毎に１カーネル画素である場合、このフィルタカーネルは、画素毎の周波数の線形位相４５°であり、±２°間の回転角度に対して１８０°の位相範囲を含む。１度毎の画素数がフィルタの現在の半径に従って変化するため、カーネルの周波数は半径に反比例し、カーネルの位相は半径に正比例する。
【００８８】
フィルタカーネルが複素数であるため、フィルタリング済基準画像も複素数である。従って、シフト推定相関は実数ではなく複素数である。しかし、相関が高速フーリエ変換（ＦＦＴ）を使用して実現される場合、ＦＦＴがいずれの場合においても複素変換であるため、複素相関は容易に実現できる。
【００８９】
相関の後、ターゲットタイルの回転角度は、相関ピークの複素位相において符号化される。上述の例において、−２°だけのターゲットタイルの回転の結果、名目上−９０°の複素位相の複素数の相関ピークが得られるはずであり、−２°〜２°の角度θの場合、θだけの回転の結果、名目上４５θ°の複素位相の複素数の相関ピークが得られるはずである。例えば、ターゲットタイルが−１．５°だけ回転した場合、相関ピークの位相φは、おおよそφ＝−６７．５°となる。
【００９０】
いくつかの理由から、回転角度と相関ピークの位相との間で期待される相関は厳密ではない。第１に、複素数フィルタカーネルの周波数が半径に反比例するため、フィルタカーネルの未補正周波数はタイルの中心付近でエイリアスを生じる。エイリアスの発生を防止するため、フィルタカーネルの最大周波数は、ｄφ／ｄｘ＝９０°に設定される。第２に、タイルの回転の中心付近では、カーネル幅が狭すぎるためにいかなるフィルタリングも全く実行できず、純粋な実数値、すなわち０°の位相に対してバイアスが生じる。
【００９１】
角度推定に対するこれらの問題は概ね推定修正角の線形尺度に帰着することが実験的観察で示されるため、それらの問題の影響は容易に打ち消すことができる。経験値は、特定のタイルサイズに対する位相からの角度推定を補正するために導出されてもよい。例えば、１２８×１２８タイルの場合、本発明者は、位相推定に１．１７５を掛けることで理論値を使用するより正確な結果が得られると判定した。
【００９２】
フィルタの位相範囲は、更に注意深く選択されなければならない。雑音が位相推定を乱すため、位相範囲は、信号対雑音比（ＳＮＲ）を高く維持するように広く選択されなければならない。しかし、不明確さが生じるため、３６０°と大きい位相範囲は使用できず、＋２°の角度は＋１８０°の位相に対応し、−２°の角度は−１８０°の位相に対応するが、これらの２つの位相は区別不可能である。
【００９３】
最大周波数が画素毎に９０°に制限され、且つフィルタカーネルの位相範囲が２１５°に設定される最適な結果が得られている。
【００９４】
表１は、他の方法と比較された複素ｂｒｏｓｃフィルタ及び実ｂｒｏｓｃフィルタを含むいくつかの結果の例を示す。テストは、異なる種類の５つの１２８×１２８サンプルタイル、すなわち大きなテキスト、密なテキスト、平滑な画像、詳細な画像及び画像／テキストの組合せを使用した。タイルは、最大±２５画素及び±２°間の角度のいくつかのシフトを含むように処理された。
【表１】
0005568123.tif 000002
結果は、複素ｂｒｏｓｃ法が角度範囲全体にわたり最も正確であることを示す。
【００９５】
複素ｂｒｏｓｃは更に、他の方法より大きなピーク値を有するため、雑音及び他の画像歪みがある状態で他の方法よりロバスト性が高い可能性が高い。
【００９６】
角度推定もまた、複素法において非常に正確であり、±２°の範囲の角度に対して０．０４°のＲＭＳ推定誤差である。複素ｂｒｏｓｃ法のみが角度推定を与えるため、表１において他の技術を「Ｘ」として示す。
【００９７】
複素ｂｒｏｓｃフィルタリング済パッチとターゲットパッチとの位置合わせが既知である場合、回転の角度を推定する別の有利な方法は、複素ｂｒｏｓｃフィルタリング済パッチの、適切なターゲットパッチとの要素単位の乗算を合計する、又は複素ｂｒｏｓｃフィルタリング済パッチのサブ領域の、適切なターゲットパッチのサブ領域との要素単位の乗算を合計する方法である。結果として得られる複素数値の位相は、上述の複素相関方法を用いるのと同一の方法で回転推定を提供する。
【００９８】
乗算及び加算に適したターゲットパッチは、ｂｒｏｓｃフィルタリング済パッチを作成するために入手したのと同一のデータ又は同様のデータを含むターゲットパッチであるが、データは潜在的に回転されている。データの一部のみがｂｒｏｓｃフィルタリング済パッチのデータに対応するターゲットパッチは、乗算及び加算を同一のデータ又は同様のデータを含むか或いはそれらから入手されたターゲットパッチ及びｂｒｏｓｃフィルタリング済パッチのサブ領域に制限することで更に使用されてよい。尚、サブ領域は２つのパッチ内の種々のオフセットにあってもよい。また、要素単位の演算について対応する要素は、各サブ領域内において同一の相対オフセット（しかし、必ずしも全てのパッチ内の同一のオフセットではない）を含む要素である。同様に、対応するデータがターゲットパッチ及びｂｒｏｓｃフィルタリング済パッチの双方のパッチ内の同一のオフセット又は同様のオフセットに配置される場合、角度は、データの一部のみがｂｒｏｓｃフィルタリング済パッチのデータに対応するターゲットパッチの要素単位の乗算を合計することで推定できる。この場合、対応しないデータは、ターゲットパッチ又はｂｒｏｓｃフィルタリング済パッチにおいてゼロであるのが理想であるが、必ずしもそうではない。図１５、図１７及び図１８を参照して、適切なｂｒｏｓｃフィルタリング済データ及びターゲットデータを取得することを後で更に詳細に説明する。
【００９９】
回転推定のために複素相関を介してこの技術を使用する利点は、計算速度である。２つのパッチの要素単位の乗算の合計を算出することは、実相関又は複素相関を使用して同一のサイズのパッチの相関を算出することより何倍も速い。
【０１００】
画像間のシフトが予期されないアプリケーションの場合、回転は、各画像内の同一の場所から抽出されたパッチを乗算及び合計することで推定できる。画像間に既知のシフトがあるアプリケーションの場合、回転は、そのシフトで又は概ねそのシフトで互いからオフセットした場所において画像から抽出されたパッチを乗算及び合計することで推定されうる。
【０１０１】
画像間のシフトが他に知られていないアプリケーションの場合、シフト推定技術は、画像回転を推定するために乗算及び合計技術を適用する適切なパッチを見つけるために使用されてよい。本発明の他の場所で説明したシフト推定技術が使用されてよい。適切な別のシフト推定技術も従来技術において既知である。
【０１０２】
１つの有用な手法は、ｂｒｏｓｃフィルタリング済パッチの実数バージョンの相関によりシフトを推定する手法である。２つの実数値化されたパッチ間の相関は、約半数の演算を複素数値化されたパッチとの相関として使用して実現されてよいため、約半分の時間で算出されうる。２つのパッチの要素単位の乗算の合計を算出するための時間が、一般に相関の時間の一部であるため、複素数値化された要素単位の乗算及び合計（回転推定のための）が後続する実数値化された相関（シフト推定のための）は、複素相関である時間のおおよそ半分で算出されうる。図１６を参照して、この手法を本発明において後で説明する。
【０１０３】
この手法の欠点は、実数値化されたシフト推定が複素数値化された推定より正確でない可能性があることである。また、シフトが画素より小さい（サブ画素）要素を含む場合、乗算及び加算回転推定は、複素相関により算出されたものより正確でない可能性がある。後者の不正確さを改善する方法は、複素ｂｒｏｓｃフィルタリング済パッチのサブ画素シフトバージョンを予め算出して回転推定のために最近接パッチを選択することによるものである。図１５を参照して、この技術を後で補足説明する。
【０１０４】
本開示の他の場所において、変倍、せん断及び樽型歪み等を含む回転以外の変換を推定するｂｒｏｓｃ法を説明する。上述の乗算及び合計方法は、回転推定の際に他の種類の変換のパラメータを推定するために更に使用されてよい。例えば、Ｘ方向の変倍を符号化するｂｒｏｓｃフィルタリング済パッチが作成される場合、そのパッチの適切なターゲットパッチとの要素単位の乗算を合計する結果得られる複素位相は、Ｘ変倍推定を提供する。
【０１０５】
変換パラメータ推定に対する乗算及び合計技術の本明細書における説明は、複素位相が特定の変換を符号化する複素数値化されたタイルを使用するが、２次元ベクトル要素のパッチにおける変換又は２つの別個の実数値化されたパッチにわたる変換の符号化等の他の同様の符号化又は同等の符号化が使用されてよいことは、当業者には明らかなはずである。同様に、乗算された要素を集約するために合計が使用されることが好ましいが、他の集約方法により有用な結果を更に得られてもよい。
【０１０６】
多くの場合、ｂｒｏｓｃ法は、シフト推定の正確度を向上し且つ回転角度を推定するように作用するが、ｂｒｏｓｃフィルタを適用した後に補正又は角度推定が失敗する可能性がある場合もある。２つの非常に一般的な例には、タイルの３／４がひとつの色かつ残りの１／４が異なるひとつの色を持つ角部と、９０°で交わる２つの線の角部とが含まれる。双方の例において、タイル内の全ての勾配は、タイルに適用された１次元（１ｄ）フィルタに平行であり、そのため強度にフィルタリングされ、フィルタに直交する勾配はない。ｂｒｏｓｃフィルタは１次元であるが、タイルに関して種々の向きで適用されてもよく、適用した１次元でのみぼける。
【０１０７】
この場合、タイルの高周波数成分の殆どがフィルタにより破壊された結果、相関の障害が発生する可能性がある。
【０１０８】
このような場合、ｂｒｏｓｃフィルタが適用される前に、基準タイルの半径に平行方向および直交（垂直）方向の両方向の勾配のエネルギーを算出することにより検出されうる。エネルギーの算出は、半径に平行な単位ベクトルと半径に直交する単位ベクトルの両方を用いて各勾配ベクトルのドット積の平方の合計を算出することで行える。直交エネルギーと平行エネルギーの比率が所定の閾値より小さく且つ／あるいは大きい場合、タイルは問題となる可能性が高い。本発明者による実験を通して判定されたように比の閾値に対して提案された値は、最小許容率として０．３３、最大許容率として３．００である。
【０１０９】
潜在的に問題となるタイルが検出される場合、タイルの中心について新しい場所が選択されるべきである。１つの手法は、タイルの測定位置を、殆どの勾配エネルギーを含む半平面に向かう方向でタイルの幅の１／４シフトする手法であり、その半平面は、その範囲の８個の点において評価される。
【０１１０】
このシフトに影響を及ぼしうる方法を示す一例を図２に示す。
【０１１１】
図２は、ターゲット画像と比較するために準備中の処理される基準画像１２０１を示す。基準画像１２０１は、白の領域又は背景に黒の輪郭１２０２を持つ空の矩形を含む。パッチ選択処理は、基準画像１２０１に適用され、シフト推定のために使用できる適切な２次元位置合わせ機能を含むタイル１２０３、１２０４、１２０５及び１２０６の選択を識別する。
【０１１２】
しかし、タイル１２０３、１２０４、１２０５及び１２０６の各々は、対応する中心において矩形１２０２の角部を含む。従って、ｂｒｏｓｃフィルタカーネルに平行する方向に殆ど勾配エネルギーを含まないため、潜在的な問題となる。
【０１１３】
タイル１２０３、１２０４、１２０５及び１２０６の各々の位置は、望ましくは新しい測定位置を得るようにシフトされるべきである。
【０１１４】
タイル１２０３は、タイル１２０３の中心に対応する測定位置１２０７を含むタイル１２０８として別個に示される。最大勾配エネルギーを含む半平面が南東の半平面にあるため、測定位置を、タイルの幅の１／４南東にシフトして、中心１２０９を含み且つタイル１２１０として示された新しいタイル位置１２０８を得るべきである。
【０１１５】
タイル１２０３、１２０４、１２０５及び１２０６の各々は、角部の特徴を含むために全て同様に処理されるべきである。その結果、各タイルは、それぞれ南東、南西、北東及び北西にシフトされる。
【０１１６】
ｂｒｏｓｃフィルタは、ターゲットタイルが回転される代わりに±２％等の狭い範囲内で変倍される場合に更に使用されてもよい。しかし、回転の中心周りの円の接線方向にフィルタを適用する代わりに、フィルタは、変倍の固定点から半径に平行する方向に適用される。
【０１１７】
図４は、変倍ロバスト性のための１画素のフィルタリングに対する幾何学構成を示す。図４において、変倍の中心１４０２を有するフィルタリングされる基準タイル１４０１が示される。この例において、変倍の中心１４０２は基準タイル１４０１の中心である。画素１４０３の位置は、それぞれ最小倍率及び最大倍率に対応する最小位置１４０４及び最大位置１４０５と共にフィルタリングされ、円１４０６はフィルタリングされる画素１４０３を通過する。線分１４０８は、画素１４０３が変倍中に移動する点を示すように示される。
【０１１８】
変倍に対する１次元空間変動フィルタは、上述したようにコンピュータ２２０１で実行可能なソフトウェアで実現されることが好ましい以下のステップを使用して算出されうる。
【０１１９】
１．入力は、倍率範囲ｓ％、および回転の中心（０、０）１４０２を含むタイルｔ（ｘ、ｙ）１４０１である、
２．入力タイルの画素ｔ（ｘ、ｙ）１４０３毎に、
ａ．開始位置ｐ~＝（ｘ-ｓ％，ｙ-ｓ％）１４０５とする、
ｂ．終了位置ｑ~＝（ｘ＋ｓ％，ｙ＋ｓ％）１４０６とする、
ｃ．サンプリングステップd~ = （y/(|x|+|y|), x/(|x|+|y|)）とする、
ｄ．ａ＝Σk:p~＜= p~+kd~＜=q~ t(p~+k.d~)とする、
ｅ．出力画素ｕ（ｘ，ｙ）＝ａ／ＭＡＸ（k＋１）とする、
３．出力は、入力タイルと同一のサイズのフィルタリング済タイルｕ（ｘ、ｙ）である。
【０１２０】
回転の例に対するフィルタと同様に、線形位相関数はカーネル係数として使用されてよく、結果として得られる相関ピークの位相は倍率の関数である。接線勾配と半径方向の勾配の比率を算出することにより、角部又は円の特徴を含むタイルをチェックする必要があることもある。
【０１２１】
回転及び変倍以外では、ｂｒｏｓｃ法は、シフト推定を改善し且つ画素が実質的に線に沿って局所的に移動する空間変換のあらゆる集合に対して変換パラメータを推定するように変形されうる。そのような変換の他の例は、ひとつの軸周りの回転を組み込む透視投影、アスペクト比変更、樽型歪み及び糸巻き型歪みまたはそのいずれか、あるいは画像せん断である。
【０１２２】
１つのパラメータのみにおいて変化し且つ個々の画素の移動がおおよそ線に沿っているあらゆる空間変換に対してｂｒｏｓｃフィルタを算出するための一般的な方法が説明できる。この変倍方法及び回転方法の双方は、他の多くの方法と共にこの形態で表されうる。
【０１２３】
この一般的なｂｒｏｓｃ方法に対する動作は、コンピュータ２２０１で実行可能なソフトウェアで更に実現されてもよい図６の方法１６９９により示され、４つの入力１６００で開始する。
【０１２４】
１．入力１  １６０１は、単一の実数パラメータｖを取る変換を使用して位置ｘ~を位置ｙ~にマッピングする空間変換ｆ（ｘ~，ｖ）→ｙ~であり、ｖ＝０の場合、変換は恒等変換ｆ（ｘ~，０）→ｘ~である
例えばｆは、点ｘ~を回転角度ｖだけ回転してもよく、点ｘ~を倍率（１＋ｖ）で変倍してもよく、あるいは回転角度ｖだけｘ軸周りに回転した後に観測面に点を投影することで透視投影を適用してもよい。変換がおおよそ対称である、すなわち、
ｆ（ｘ~，ｖ）−ｘ~≒ｘ~−ｆ（ｘ~，−ｖ）
であるなら一層よい。
【０１２５】
２．入力２  １６０２は、タイル又は画像ｔ（ｘ~）→ｗである、
３．入力３  １６０３は、パラメータに対するパラメータ範囲ｖであり、ｖ＞０である、
４．入力４  １６０４は、カーネルに対する位相範囲φであり、０≦φ＜πである、
５．方法１６９９は、ステップ１６０５で入力タイルの次の位置ｘ~を処理する準備をする、
６．ステップ１６０６は、ｂｒｏｓｃフィルタに対するパラメータを算出する、
ａ．ステップ１６０７は、開始位置ｐ0~＝ｆ（ｘ~，−ｖ）及び終了位置ｐ1~＝ｆ（ｘ~，＋ｖ）を設定する、
ｂ．ステップ１６０８は、方向ベクトルｒ~＝（ｐ1~−ｐ0~）／２を設定する、
ｃ．ステップ１６０９は、サンプリングｄ~＝ｒ~／（|ｒx~|＋|ｒy~|）を設定する
ｄ．ステップ１６１０は、位相δ＝（φ|ｒ~|）／|ｄ~|を設定する、
ｅ．ステップ１６１１は、半カーネルの点の数
【数１】
0005568123.tif 000003
を設定する、
７．ステップ１６１２は、累算器値をａ＝ｔ（ｘ~）に設定する
８．１≦ｋ≦ｎの場合、ステップ１６１３は、フィルタリング済値を累算器に加算する（複素数）
ａ←ａ＋Σk=1nｔ（ｘ~＋ｋ.ｄ~）.ｅkiδ＋Σk=1nｔ（ｘ~−ｋ.ｄ~）.ｅ-kiδ、
９．ステップ１６１４は、画素（複素数）ｕ（ｘ~）＝ａ／（２ｎ＋１）を出力する、
１０．ステップ１６１５において、より多くの位置がある場合（１６１６）、方法１６９９はステップ１６０５（上述の５．）に戻る、
１１．より多くの位置がない場合（１６１７）、ステップ１６１８において、方法１６９９はフィルタリング済タイルｕ．を出力する、
１２．方法１６９９はステップ１６１９で終了する。
【０１２６】
図５Ａ〜図５Ｄは、２つの画像の例、すなわち図５Ａの点のグリッド１５０１及び図３の恐竜の画像からの図５Ｃのタイル１５０７でｂｒｏｓｃフィルタを実行した結果を示す。尚、この例は、一般にｂｒｏｓｃフィルタと共に適用されるウインドウ化及びハイパスフィルタを含まない。
【０１２７】
図５Ｂは、ｂｒｏｓｃフィルタを点のグリッド１５０１に適用した結果１５０２を示す。尚、フィルタカーネルは線に沿って適用されるが、フィルタリング済画像は点を弧に変換する。これは、所与の画素と交差するカーネルを含む画素が、それ自体が弧である所望のカーネル形状に近似する弧上で発生するために生じる。タイルの中心の近くでは、フィルタが短いために弧は短く、タイルのエッジの近くでは、フィルタはより長く、それに対応して弧はより長い。
【０１２８】
図５Ｄは、ｂｒｏｓｃフィルタを恐竜の画像からのタイル１５０７に適用した結果１５０８を示す。ここでも、タイルの中心の近くでは、フィルタは短くて実質的に画像を変更せず、タイルのエッジの近くでは、フィルタはより長くて実質的にタイルを変更する。しかし、画像はフィルタの方向でぼやけるが、フィルタの方向に直交する方向に依然として高周波数の位置合わせ情報が存在する。
【０１２９】
複素ｂｒｏｓｃフィルタが使用される場合、カーネル値は複素数となる。図５Ａ及び図５Ｂのグリッド点の例において、位置１５０３の点は、点１５０５と１５０６との間の複素フィルタカーネルにより拡散される。フィルタリング済位置１５０４は、位相がゼロであり且つカーネル値が正の実数である複素フィルタの中心を乗ぜられたほぼ位置１５０３からの寄与を含む。位置１５０５は、位相が最小である複素カーネルの一方の端からの寄与を含み、位置１５０６は、位相が最大であり且つ位置１５０５における符号とは逆である複素カーネルの他方の端を乗ぜられた位置１５０３からの寄与を含む。
【０１３０】
次に、図１９を参照して、ｂｒｏｓｃフィルタリング済タイルを生成する別の方法を説明する。方法１６９９及び図６において説明したように、タイルの各位置において空間変動１Ｄフィルタを適用するのではなく、各々が単一の実数パラメータを取る空間変換により開始タイルから変換されたタイルの集合が作成される。これらのタイルは、好ましくはそれらを平均化することでオーバレイされ、ｂｒｏｓｃフィルタリング済タイルを作成する。
【０１３１】
適切な空間変換は、単一の実数パラメータｖを取る変換を使用して位置ｘ~を位置ｙ~にマッピングするｆ（ｘ~，ｖ）→ｙ~として説明されうる変換であり、ｖ＝０の場合、変換は恒等変換ｆ（ｘ~，０）→ｘ~である。上述したように、ｆは、点ｘ~を回転角度ｖだけ回転し且つ点ｘ~を倍率（１＋ｖ）で変倍することを含む種々の動作を説明できる。
【０１３２】
空間変換されたタイルの集合を作成する処理は、コンピュータ２２０１で実行可能なソフトウェアで実現されることが好ましい。実現例が所定の空間変換ｆ（ｘ~，ｖ）→ｙ~に従ってタイルを変換してよいいくつかの方法がある。１つの方法は、空間変換を使用して供給元タイルの全ての画素を供給先タイルの場所にマッピングし、その結果を補間する方法である。別の方法は、供給先タイルの全ての画素が空間変換の逆を使用して供給元タイルの場所からマッピングされる逆マッピングを使用する方法である。複数のステップの手法は、いくつかの変換に適していてもよい。例えば回転は、Ｙ方向のせん断が後続するＸ方向のせん断として実現されうる。
【０１３３】
図１９は、空間変換されたタイルの集合１９０２０から作成されたｂｒｏｓｃフィルタリング済タイル１９４０の一例を示す。開始タイル１９０１０は、そのパラメータｖのｎ個の個別のステップで空間変換ｆに従って変換される。ｖmaxは変換範囲の半分、すなわち−ｖmax≦ｖ≦＋ｖmaxである。この結果、ｎ個の変換されたタイルの集合１９２０（元のタイル１９０１０を含み、恒等変換に対応する）が得られる。ｂｒｏｓｃフィルタリング済タイル１９０４０は、タイルの集合１９０２０の要素単位の平均によりオーバレイステップ１９０３０で算出される。個別の変換ステップの数ｎは、変換するタイル１９０１０のサイズ及び空間変換ｆの種類に基づいてエイリアスの発生を回避するように選択されることが好ましい。
【０１３４】
変換されたタイルが全て実数値化される場合、変換されたタイルを平均化する結果、実数値化されたｂｒｏｓｃフィルタリング済タイルが得られる。複素数値化されたｂｒｏｓｃフィルタリング済タイルを作成するために、変換パラメータは、各タイルに位相φの異なる単位複素数を掛けることで符号化される。ここで、φは、変換パラメータｖのステップに対応するｎ個の個別のステップで変動し、φmaxは位相範囲の半分、すなわち−φmax≦φ≦＋φmaxである。このようなパラメータ符号化は、オーバレイステップ１９０３０の前又は最中に行われてよい。尚、この方法により生成されたタイルは、方法１６９９により生成されたタイルに類似するが、一般的に同一ではない。これは、方法１６９９により戻されたタイルの各画素を作成するのに使用するサンプルの数を変更することに大いに起因する。
【０１３５】
図７は、ｂｒｏｓｃフィルタがタイルのシフト推定でどのように使用されてよいかを示し且つ空間変換の１つのパラメータを測定する方法１７９９を示す。方法１７９９は、画像を測定することに等しく適用可能であり、上述したようにコンピュータ２２０１で実行可能なソフトウェアとして実現されることが好ましい。
【０１３６】
１．図７において、１７０１は入力基準タイルであり、１７０２は入力ターゲットタイルである。
【０１３７】
２．上述したように、タイル１７０１及び１７０２の双方は、低周波数を除去し且つタイルのエッジをヘッジすることでそれぞれフィルタリングされる（１７０３及び１７０４）。
【０１３８】
３．次に、ｂｒｏｓｃフィルタは、ステップ１７０５でフィルタリング済基準タイルに適用される。
【０１３９】
４．２つのフィルタリング済タイルは、直接相関、位相相関及び効率性のために適宜高速フーリエ変換を使用してステップ１７０６で相関され、原点ｏ~１７０８を含む相関画像１７０７を得る。
【０１４０】
５．相関ピーク１７０９は、その最大値を見つけることで相関画像１７０７において識別される。
【０１４１】
６．次に、相関ピークの構造は、相関ピーク１７０９の近傍を調査し、ピーク位置ｘ~を推定するように補間し、且つそのピーク位置で複素位相φを推定することにより、画素より小さい位置に対してステップ１７１０で推定される。
【０１４２】
７．測定されたピーク位置ｘ~及び複素位相φから、ステップ１７１１は、推定シフト１７１２ｓ~＝ｘ~−o~及び１次元変換のパラメータ１７１３ｖ＝Ｋ．φを算出する。Ｋは、タイルサイズ、位相範囲、パラメータ範囲及び空間変換の種類を含むｂｒｏｓｃフィルタを算出するために使用されたパラメータに対するｖの誤差を最小限にするように算出された定数である。
【０１４３】
図１３〜図１８は、タイルのシフト推定及び空間変換の１つのパラメータの測定のためにｂｒｏｓｃフィルタを使用する別の方法を示す。
【０１４４】
図１３は、タイルのシフト推定のために実数値化されたｂｒｏｓｃフィルタを使用する方法１３０００を示す。方法１３０００は方法１７９９に類似するが、方法１３０００において、実数相関は、方法１７９９で使用された複素相関の代わりに使用される。従って、方法１３０００は、単独ではシフト推定のみに適している。パラメータ推定は、方法１４０００及び１５０００のステップ等の更なるステップを必要とする。方法１３０００は、画像を測定することに等しく適用可能であり、上述したようにコンピュータ２２０１で実行可能なソフトウェアとして実現されることが好ましい。
【０１４５】
１．図１３において、１３００１は入力基準タイルであり、１３００２は入力ターゲットタイルである。
【０１４６】
２．上述したように、タイル１３００１及び１３００２の双方は、低周波数を除去し且つタイルのエッジをヘッジすることでそれぞれフィルタリングされる（１３００３及び１３００４）。
【０１４７】
３．次に、実数ｂｒｏｓｃフィルタは、ステップ１３００５でフィルタリング済基準タイルに適用され、実数値化されたｂｒｏｓｃフィルタリング済タイルを作成する。ステップ１３００５の一部、あるいはフィルタリングステップ１３００３又は１３００４の一部として、タイルのいくつかの領域を他の領域よりも強調するように更なるフィルタリングが適用されてもよい。例えばｂｒｏｓｃフィルタリングは、各画素におけるｂｒｏｓｃフィルタの長さに基づいてその画素の振幅を減少することを含んでもよく、最長の長さは、結果として最大の減少をもたらす（最長の長さが最も少ない相関情報を搬送するため）。
【０１４８】
４．２つのフィルタリング済タイルは、位相相関等の相関方法及び効率性のために適宜高速フーリエ変換を使用してステップ１３００６で相関され、原点ｏ~１３００８を含む相関画像１３００７を得る。
【０１４９】
５．相関ピーク１３００９は、その最大値を見つけることで相関画像１３００７において識別される。
【０１５０】
６．次に、相関ピークの構造は、相関ピーク１３００９の近傍を調査し、且つピーク位置ｘ~を推定するように補間することにより、サブ画素位置に対してステップ１３０１０で推定される。
【０１５１】
７．測定されたピーク位置ｘ~から、ステップ１３０１１は、推定シフト１３０１２ｓ~＝ｘ~−o~を算出する。
【０１５２】
図１４は、ｂｒｏｓｃフィルタリング済タイルを生成する方法１４０００又は図１５の方法１５０００等のパラメータ推定方法に使用するのに適したタイルの集合を示す。方法１４０００は、コンピュータ２２０１で実行可能なソフトウェアとして実現されることが好ましい。
【０１５３】
１．図１４において、１４０１０は入力基準タイルである。
【０１５４】
２．上述したように、タイル１４０１０は、低周波数を除去し且つタイルのエッジをヘッジすることで必要に応じてフィルタリングされる（１４０２０）。尚、ここで適用されたフィルタリングは、相関のために使用されることを意図したタイルに対するフィルタリングと同一でなくてもよい。
【０１５５】
３．次に、複素ｂｒｏｓｃフィルタは、ステップ１４０３０でフィルタリング済基準タイルに適用され、複素数値化されたｂｒｏｓｃフィルタリング済タイルを作成する。このステップ１４０３０の一部又はフィルタリングステップ１４０１０の一部として、タイルのいくつかの領域を他の領域よりも強調するように更なるフィルタリングが適用されてもよい。例えばｂｒｏｓｃフィルタリングは、各画素におけるｂｒｏｓｃフィルタの長さに基づいてその画素の振幅を減少することを含んでもよく、最短の長さは、最も少ないパラメータ符号化情報を搬送するため、結果として最大の減少をもたらす。
【０１５６】
４．ステップ１４０４０はオプションである。ステップ１４０４０は、各タイルが１つ又は双方の次元でサブ画素（半端な）シフトを被ったステップ１４０３０で生成されたｂｒｏｓｃフィルタリング済タイルの多くのコピーを作成する。例えば、各次元及び全ての組合せの集合｛０．０、＋０．２５、−０．２５、−０．５｝からのサブ画素シフトを範囲に含むために、ステップ１４０４０において、結果として１６個のタイルを得る。一般に、使用されたサブ画素ステップサイズが小さいほど（すなわち、生成されたタイルの数が多いほど）、図１５の方法１５０００等のより正確な方法は、ステップ１４０４０により生成されたタイルを供給される場合に符号化空間パラメータを推定できる。高品質のサブ画素シフトされたｂｒｏｓｃフィルタリング済タイルのコピーは、適用された線形位相と組み合わせてフーリエ変換を使用するか又は空間領域において高品質のｓｉｎｃフィルタを使用して生成されうる。ステップ１４０４０により生成されたタイルは、必要に応じてトリミングされてもよい。それにより、方法１４０００の前のステップでより大きなタイルを使用でき、適切にシフトされたタイルを生成するためにより多くのデータを提供できる。
【０１５７】
５．１４０５０は方法１４０００の出力、すなわちオプションのステップ１４０４０又はステップ１４０３０により直接（ステップ１４０４０が実行されない場合）生成された複素ｂｒｏｓｃフィルタリング済タイルの集合である。集合の各タイルは、実質的に同一のｂｒｏｓｃフィルタリング済タイルであるが、各々が異なるサブ画素量（ゼロを含む）だけシフトされる。各タイルは、それを生成したシフトの量と更に関連付けられる。ステップ１４０４０がスキップされた場合、１４０５０は、黙示的にゼロサブ画素シフトと関連付けられた単一のｂｒｏｓｃフィルタリング済タイルとなる。
【０１５８】
図１５は、タイルの空間変換の１つのパラメータを測定するためにｂｒｏｓｃフィルタを使用する方法１５０００を示す。方法１５０００は、画像を測定することに等しく適用可能であり、上述したようにコンピュータ２２０１で実行可能なソフトウェアとして実現されることが好ましい。
【０１５９】
１．方法１５０００への入力は、各々がサブ画素シフトと関連付けられる１つ以上の複素ｂｒｏｓｃフィルタリング済タイル１５０１０である。そのようなタイル又はタイルの集合は、図１４に示された方法１４０００により生成されることが好ましい。
【０１６０】
２．方法１５０００への別の入力は、ターゲットタイル１５０２０である。方法１５０００が画像間のシフトを推定するために使用される場合、この入力は、代わりにターゲット画像内の領域になりうる。
【０１６１】
３．方法１５０００への別の入力は、入力ｂｒｏｓｃフィルタリング済タイル１５０１０（一般に、ゼロサブ画素シフトと関連付けられたｂｒｏｓｃフィルタリング済タイル）の１つからターゲットタイル１５０２０への期待シフト１５０３０又は同様にターゲット画像内の領域である。いくつかのアプリケーションにおいて、期待シフト１５０３０は、ゼロ等の既知の値であってもよい。他のアプリケーションにおいて、期待シフト１５０３０は、図１３の１３０００等の方法により推定されていてもよい。
【０１６２】
４．ステップ１５０４０において、期待シフト１５０３０の整数バージョンが算出される。これは、期待シフト１５０３０及びｂｒｏｓｃフィルタリング済タイル１５０１０と関連付けられたサブ画素シフトに関する情報の双方を使用して算出されることが好ましい。サブ画素シフトが一定の間隔をあけて配置される場合、この情報は、隣接サブ画素シフト間のステップサイズ（距離）又は各次元のサブ画素シフトの数を含んでもよい。
【０１６３】
整数シフトと期待シフト１５０３０との差がｂｒｏｓｃフィルタリング済タイル１５０１０と関連付けられたサブ画素シフトの１つとできるだけ近い整数シフトが算出されることが好ましい。一様に間隔が空いたサブ画素シフトについては、これは、各次元のシフトに同一の次元のサブ画素シフトの数を掛け、その結果を最も近い整数に丸め、丸められた結果を同じサブ画素シフトの数で割り、割られた結果を最も近い整数に丸めることで算出されうる。例えば、ｂｒｏｓｃフィルタリング済タイルが各次元及び全ての組合せ（各次元で一様の間隔が空いた４つのシフト）の集合｛０．０、＋０．２５、−０．２５、−０．５｝からのサブ画素シフトと関連付けられ、且つ予想シフトが（＋７．４、−２．２）である場合、好適な整数シフトは（＋８、−２）であり、整数シフトと期待シフトとの差は（−０．６、＋０．２）であり、最も近い関連サブ画素シフトは（−０．５、＋０．２５）である。１つのｂｒｏｓｃフィルタリング済タイル１５０１０だけが供給される場合（暗黙裡にゼロのサブ画素シフトと関連付けられている）、整数値は丸めにより算出されることが好ましい。
【０１６４】
５．ステップ１５０５０において、適切なタイル及び必要に応じてそのタイルのサブ領域は、ｂｒｏｓｃフィルタリング済タイル１５０１０から選択される。ステップ１５０４０で算出された整数シフトと予想シフト１５０３０との差に最も近いサブ画素シフトと関連付けられたｂｒｏｓｃフィルタリング済タイルが最初に選択される。ターゲットタイルが使用可能であるアプリケーションの場合、そのタイルのサブ領域が更に算出されてもよい。適切なサブ領域は、選択されたｂｒｏｓｃフィルタリング済タイルをターゲットタイル１５０２０と同一のサイズの矩形と交差させることで算出されうる。この矩形は、ステップ１５０４０で算出された整数シフトの反転によりオフセットされている。ｂｒｏｓｃフィルタリング済タイル１８００５を使用して、サブ領域算出の一例を図１８に示す。
【０１６５】
６．ステップ１５０６０において、適切なタイル又はタイルのサブ領域は、ターゲットタイル１５０２０又はターゲット画像から取得される。
【０１６６】
ターゲットタイル１５０２０が使用される特徴部分の場合、これは、そのタイルのサブ領域を算出することを含んでもよい。適切なサブ領域は、ターゲットタイル１５０２０をターゲットタイル１５０２０と同一のサイズの矩形と交差することで算出されうる。矩形は、ステップ１５０４０で算出された整数シフトによりオフセットされている。ターゲットタイル１８０００を使用して、サブ領域算出の一例を図１８に示す。
【０１６７】
ターゲット画像内の領域が使用されるアプリケーションの場合、これは、画像から新しいタイルを抽出すること又は画像内の新しい領域を算出することを含んでもよい。適切なタイル又は領域は、ターゲット画像を画像内の既存の領域と同一のサイズの矩形と交差させることで算出されうる。矩形は、ステップ１５０４０で算出された整数シフトにより既存の領域からオフセットされている。新しいタイルを抽出することは、必要に応じて例えば高周波数又は低周波数を除去するフィルタリングを含んでもよい。ターゲット画像１７０００を使用して、タイル抽出算出の一例を図１７に示す。
【０１６８】
７．次に、ステップ１５０７０において、ステップ１５０５０により選択されたｂｒｏｓｃフィルタリング済タイルは、ステップ１５０６０で取得されたタイルにより要素単位で乗算される。ステップ１５０５０及び１５０６０がそれぞれのタイルについてサブ領域を算出した場合、要素単位の乗算はこれらのサブ領域に制限される。
【０１６９】
８．次に、ステップ１５０７０から乗算された要素は、好ましくはそれらを加算することによりステップ１５０８０で集約される。
【０１７０】
９．ステップ１５０９０は、１次元変換ｖ＝Ｋ．φのパラメータｖを算出する。式中、φは、ステップ１５０８０で算出された値の複素位相であり（±πラジアン間に包含される）、Ｋは、タイルサイズ、位相範囲、パラメータ範囲、期待画像コンテンツ及び空間変換の種類を含むｂｒｏｓｃフィルタを算出するために使用されたパラメータに対するパラメータｖの誤差を最小限にするように算出された定数である。パラメータｖは、判定されるのが望ましい１パラメータ空間変換のパラメータであり、例えば画像間の回転に対して判定されるのが望ましい実際の回転の量であるため、画像中の空間歪みを示す。
【０１７１】
図１６は、図１３、図１４及び図１５の処理１３０００、１４０００及び１５０００を使用してタイルのシフト推定及び空間変換の１つのパラメータを測定する処理１６０００を示す。
【０１７２】
処理１４０００において、１つ以上の複素数値化されたｂｒｏｓｃフィルタリング済タイル１４０５０は、図１４に示されるように基準タイル１４０１０から作成される。これらのｂｒｏｓｃフィルタリング済タイル１４０５０は、パラメータ推定のために後で使用される。
【０１７３】
次に、処理１３０００において、図１３に示されるように、実数値化されたｂｒｏｓｃフィルタリング済タイルは、ステップ１３００５で基準タイル１３００１から作成される。処理１３０００の残りの部分は、ターゲットタイル１３００２を受信し、基準タイル１３００１とターゲットタイル１３００２との間のシフトを推定する。いくつかのアプリケーションにおいて、ターゲットタイル１３００２を受信する前に複素数値化されたｂｒｏｓｃフィルタリング済タイル１４０５０と共にステップ１３００５から実数値化されたｂｒｏｓｃフィルタリング済タイルを事前に算出する利点がある。
【０１７４】
次に、処理１５０００において、処理１３０００により推定されたシフト１５０３０、１つ以上の複素数値化されたｂｒｏｓｃフィルタリング済タイル１５０１０及びターゲットタイル１５００２を使用して、空間変換パラメータが算出される。
【０１７５】
処理１６０００はステップ１６０９９で終了し、処理１３０００により測定されたシフト及び処理１５０００により測定されたパラメータを返送する。
【０１７６】
処理１６０００に関連して、基準タイル１３００１及び１４０１０は同一のタイルであることが好ましい。同様に、ターゲットタイル１３００２及び１５０２０は同一のタイルであることが好ましく、ｂｒｏｓｃフィルタリング済タイル１５０１０は、処理１４０００により作成されたｂｒｏｓｃフィルタリング済タイル１４０５０である。
【０１７７】
図１７及び図１８は、ｂｒｏｓｃフィルタリング済基準タイルからターゲットタイルへのシフトが与えられたとすると、新しいターゲットタイルが選択されてよい方法又は既存のターゲットタイル及びｂｒｏｓｃフィルタリング済基準タイルのサブ領域が算出されうる方法を示す。結果として得られるタイル又はタイルサブ領域は、ｂｒｏｓｃフィルタリング済タイルを作成するように入手されたデータと同一のデータ又は同様のデータを含むはずである。
【０１７８】
図１７において、新しいターゲットタイルが抽出されうる新しい領域１７０２０は、より大きな画像１７０００内で算出される。既存の領域１７０１０はターゲットデータを含む。新しい領域１７０２０は、基準タイルからターゲットタイルへのシフト（好ましくは整数値化された）による既存の領域１７０１０からのオフセット１７０３０である。新しい領域１７０２０は、既存の領域１７０３０と同一のサイズである。新しい領域１７０２０から抽出され、必要に応じてフィルタリングされたタイルは、ｂｒｏｓｃフィルタリング済基準タイルとの抽出されたタイルの要素単位の乗算を合計することで空間変換を測定するために使用されてよい。
【０１７９】
図１８において、ターゲットタイル１８０００のサブ領域１８０１０及びｂｒｏｓｃフィルタリング済基準タイルのサブ領域１８０１５が算出される。サブ領域１８０１０は、ターゲットタイル１８０００と同一のサイズの矩形をターゲットタイル１８０００からオフセットし（１８０２０）、且つ矩形をターゲットタイル１８０００と交差させることで算出される。このオフセット１８０２０は、基準タイルからターゲットタイルへのシフト（好ましくは整数値化された）である。サブ領域１８０１５は、ｂｒｏｓｃフィルタリング済基準タイル１８００５と同一のサイズの矩形をｂｒｏｓｃフィルタリング済基準タイル１８００５からオフセットし（１８０２５）、且つ矩形をｂｒｏｓｃフィルタリング済基準タイル１８００５と交差させることで算出される。このオフセット１８０２５は、ターゲットタイルから基準タイルへのシフト（好ましくは整数値化された）であるため、オフセット１８０２０の否定である。２つのサブ領域１８０１０及び１８０１５は、互いの要素単位の乗算を加算することで空間変換を測定するために使用されてよい。
【０１８０】
いくつかのアプリケーション及びいくつかの空間変換の場合、本明細書において開示された方法は、多数のパラメータ空間変換、すなわち多数の単一のパラメータ空間変換を測定するために使用されてよい。これは、各々が異なる空間変換を符号化する２つ以上のｂｒｏｓｃフィルタを合成することで実現しうる。フィルタを合成する好適な方法は、第１のフィルタを使用してｂｒｏｓｃフィルタリング済タイルを作成し、次に第２のフィルタを用いて第１のｂｒｏｓｃフィルタリング済タイルをフィルタリングすることで第２のｂｒｏｓｃフィルタリング済タイルを作成する方法である。実数値化されたタイルを作成するために、双方のフィルタは実数値化されることが好ましい。複素数値化されたタイルの場合、好ましくは１つの実数値化されたフィルタ及び１つの複素数値化されたフィルタを使用することにより、変換の１つのみが複素位相で符号化される。この場合、更なるｂｒｏｓｃフィルタリング済タイルが同様の画素値により作成されうるが、複素位相で異なる変換を符号化する。
【０１８１】
図２０は、Ｘ及びＹの個々の変倍を測定するのに適した複素数値化されたｂｒｏｓｃフィルタリング済タイルの作成を示す。開始タイル２００１０がＸ変倍のために実数値化されたｂｒｏｓｃフィルタによりステップ２００２０でフィルタリングされる結果、実数値化されたタイル２００３０が得られる。タイル２００１０がＹ変倍のために実数値化されたｂｒｏｓｃフィルタによりステップ２００２５で更にフィルタリングされる結果、実数値化されたタイル２００３５が得られる。タイル２００３０がＹ変倍のために複素数値化されたｂｒｏｓｃフィルタによりステップ２００４０でフィルタリングされる結果、複素数値化されたｂｒｏｓｃフィルタリング済タイル２００５０が得られる。タイル２００３５がＸ変倍のために複素数値化されたｂｒｏｓｃフィルタによりステップ２００４５でフィルタリングされる結果、複素数値化されたｂｒｏｓｃフィルタリング済タイル２００５５が得られる。タイル２００５０における画素の複素位相はＹ変倍係数を符号化し、タイル２００５５における画素の複素位相はＸ変倍係数を符号化する。
【０１８２】
タイル２００５０及び２００５５は、２度（タイル毎に１度ずつ）方法１５０００を適用することにより、図１５の１５０００等の方法で使用されてよい。タイル２００５０はＹ変倍を測定するために使用されてよく、タイル２００５５は、Ｘ及びＹで個々に変倍されたターゲットタイルのＸ変倍を測定するために使用されてよい。
【０１８３】
尚、複素数に対する別の符号化方式は、１つのタイル内で２つ以上の空間変換を符号化するために使用されてよい。例えば、３次元ベクトル又は四元数は、単一のタイル内でＸ変倍及びＹ変倍の双方を符号化するために使用されてよい。ここでは、第１のフィルタリングステップ（例えば、Ｘ変倍の場合）は、符号化方式の１つの次元で第１の変換のパラメータを符号化し、第２のフィルタリングステップ（例えば、Ｙ変倍の場合）は、符号化方式の別の次元で第２の変換のパラメータを符号化する。結果として得られるタイルは、同時に２つの空間変換を測定するために１５０００等の方法で使用されてよい。
【０１８４】
改善されたシフト方法及び角度推定方法は、種々のアプリケーションにおいて使用されてよい。１つのアプリケーションは出力チェッカ内にある。出力チェッカは、プリンタにより出力された全てのページに欠陥がないことを保証するシステムである。出力チェッカは、多くの構成を有してよいが、本明細書のために１つの構成のみを説明する。
【０１８５】
図８は、出力チェッカ１８９９の例を示す概略図であり、それを用いて１つのページを印刷し且つ出力チェックする処理を説明する。出力チェッカ１８９９は、図１２のコンピュータシステム２２００内及び場合によってはプリンタ２２１５内全体に形成されてもよい。
【０１８６】
１枚の用紙印刷媒体１８０１がデジタル印刷機構１８０７に供給される（１８０６）間、レンダリングシステム１８０２は、デジタルメモリ１８０３から媒体１８０１に印刷されるページを記述する印刷記述言語（ＰＤＬ）を読み出す（１８０４）。レンダリングシステム１８０２は、ＰＤＬをレンダリング画像としてデジタルメモリ１８０３に再度格納する（１８０５）画素に変換する。
【０１８７】
デジタル印刷機構１８０７は、デジタルメモリ１８０３からレンダリング画素を読み出し（１８０８）、電子写真印刷又はインクジェット印刷等のいくつかの物理的な複写処理を使用して画像を用紙１８１０に作成する。用紙１８０１は、デジタル印刷機構からデジタルスキャナ１８１０に供給される（１８０９）。印刷ページの画像は、全ての歪み及び印刷誤差と共にデジタル化され、デジタル化された画素は、走査画像としてデジタルメモリ１８０３に再度書き込まれる（１８１１）。
【０１８８】
レンダリングされた画像１８０５及びスキャンされた画像１８１１は、比較システム１８１２により読み出され、関連する印刷欠陥を見つけるように比較される。比較システム１８１２は２つの構成要素を含む。２つの画像を比較するには、第１に、比較できるように、近接画素を正確に対応づけて位置合わせすることが必要である。位置合わせ部１８１８は、レンダリングされた画像１８０５とスキャンされた画像１８１１との間の空間歪みを測定し、空間変換を発生させて２つを関連づける。比較部１８１９は、発生させた空間変換を使用して、存在するあらゆる印刷欠陥の程度及び範囲を示す、２つの画像の対応する画素を調査する。欠陥重大度の何らかの閾値に基づいて、印刷ページが「良好である」か又は「不良である」かに関して判断が行われる。この判断は、制御信号１８１７として用紙ハンドラ及びレンダリングシステム１８０２に伝達される。用紙がデジタルスキャナ１８１０から用紙ハンドラ１８１５に供給される（１８１６）とき、用紙ハンドラ１８１５は、用紙を誘導する場所を判断するために制御信号１８１７を使用する。信号が「良好である」場合、用紙ハンドラ１８１５は、用紙を出力容器１８２０に誘導し、そうでなければ廃棄用紙容器１８２１に誘導する。「良好な」制御信号がレンダリングシステム１８０２に送信される場合、レンダリングシステム１８０２は、次のページの印刷に進むか、あるいは印刷欠陥を回避しようと再度同一のページの再レンダリングを開始するように構成されてもよい。
【０１８９】
本発明は、特に、比較システム１８１２の位置合わせ部１８１８のみに関する。
【０１９０】
走査処理中の光学効果及び機械効果、加熱及び押下による用紙の引伸し、並びに用紙が印刷経路を介して移動する時のページの回転及び平行移動を含む印刷処理中に生じた多くの空間歪みがあるため、そのような位置合わせを計算することは難しい。
【０１９１】
次のページが印刷される前に欠陥のあるページが検出されるならば、この比較は、印刷システムに適用されるものとしてリアルタイムで（通常実質的に１秒未満で）実行されなければならない。
【０１９２】
印刷ページの空間歪みを推定する１つの方法は、印刷ページ全域にわたる適当な点でいくつかのタイルにおいてシフト推定を実行する方法である。ページを印刷する前の比較のために使用されるページ全域にわたりこれらのタイルを選択することが好都合であり、これらのタイルが位置合わせ測定の可能性のために選択され、且つ基準画像全域にわたり可能な限り一様に更に分散されるならば、位置合わせはより正確になる。この処理を「パッチ選択」と呼ぶ。
【０１９３】
小さな回転により基準画像に対するターゲット画像のタイルを実質的にシフトできるため、後続の推定のシフトを予測するために初期のシフト推定を使用することに大きな価値がある。それにより、ターゲット画像のタイルの位置をより正確に予測できる。初期のシフト推定を使用する１つの方法は、ターゲット画像と基準画像との間の最適なアフィン変換を見つけるために最小二乗法を使用する方法である。
【０１９４】
しかし、最小二乗法を使用して完全なアフィン変換を予想することは、最低３つのシフト推定を必要とし、ＲＳＴ（回転／変倍／平行移動）変換を予想することは、少なくとも２つのシフト推定を必要とする。正確な予想を実現するため、より多くの推定が行われるべきである。
【０１９５】
本発明で開示されたｂｒｏｓｃフィルタを使用すると、平行移動及び回転角度の両方が、一対のタイルから予測されうる。出力チェッカ１８９９の適用において、変倍又は変化による歪みが殆どない可能性が高いため、ｂｒｏｓｃフィルタを使用する一回の測定で、ターゲット画像と基準画像との間のあらゆる広域的な変換を実質的に予測できる。
【０１９６】
広域的なアフィン推定が良好になる際には、より高速なシフト推定方法が使用できるため、広域的な変換を判定するために使用されるタイルはより少ないことが好ましい。相関は、一対のタイル間の実質的なシフトを測定するために使用できるが、相関は非常に低速である。勾配を利用したシフト推定は、より一層高速であるが、シフトが１画素〜４画素を下回る場合にのみ使用できる。
【０１９７】
この位置合わせは、アフィン変換等の広域的な画像変換と、基準画像とターゲット画像との間の画素の画像に基づいたマッピング等の局所的な残差変換との組合せの形態をとる。
【０１９８】
図９は、出力チェッカ１８９９の一部として実現し得る位置合わせシステムの一例の動作の方法１９９９を示す。位置合わせシステム及び方法１９９９は、出力チェッカ１８９９内に格納され且つその種々の構成要素により実行されたソフトウェアとして実現されることが好ましい。
【０１９９】
位置合わせシステムの方法１９９９は、入力としてターゲット画像１９０１及び基準画像１９０２を使用する。通常、基準画像１９０２は、ターゲット画像１９０１の生成前に生成され、雑音及び欠陥がない可能性が高い。例えば、基準画像１９０２はコンピュータにより生成された「理想」の画像であってもよいが、その一方でターゲット画像１９０１は、基準画像１９０２の印刷であってもよいために印刷誤差を受けやすい。あるいはターゲット画像は、写真複写処理又はスキャン処理から取得されたコピー画像であってもよい。いずれの場合においても、２つの画像１９０１及び１９０２は、何らかの方法で劣化する可能性の高い画像コンテンツを共有するように関連する。しかし、コンテンツは同一でなくてもよい。例えば画像は、一般に映像系列からの隣接フレームであってもよい。基準画像１９０２は、シフト推定が実行されるステップ１９０３でパッチ候補を選択するために使用される。パッチ候補は、ハリスのコーナー検出器の局所最大値を選ぶことで選択されてよく、実行可能な限り多くのページにわたり分散されるように選択されてよい。
【０２００】
最適なパッチ候補は、基準画像１９０２から、以下において基準タイルと呼ぶタイルとしてステップ１９０４で選択され、ステップ１９０５を介して、基準画像１９０２の最適なパッチ候補の場所は、ターゲット画像１９０１から同様に配置されたターゲットパッチを選択するために使用される。
【０２０１】
ｂｒｏｓｃフィルタは、ステップ１９０６で基準タイルに適用され、シフト推定のために基準タイルを準備する。
【０２０２】
最適なパッチ候補の位置におけるシフト及び回転角度の双方が推定され、初期の空間変換は、ステップ１９０７でシフト及び回転角度を使用して初期化される。図７に示されるように、これは、複素相関等を使用して実行されることが好ましい。この手法の利点は、相対的に計算に手間のかかる単一の相関演算が実質的に同時に且つ別個の判定より確実に迅速に変位シフト及び回転の双方に対する値を判定することである。
【０２０３】
次に、位置合わせ推定アルゴリズムのメインループ１９９８に入り、最初にステップ１９０８において、次のパッチ候補が基準画像１９０２から選択される。ステップ１９０９において、対応するターゲットパッチは、現在の空間変換を基準画像のパッチ候補の位置に適用することで選択される。ステップ１９１０において、シフト推定は、相関、ＧＢＳＥ又は期待されたシフト量に対して適切であるような他のシフト判定方法により実行されうる基準タイル及びターゲットの場合に対して実行される。
【０２０４】
ステップ１９１１で判定されるように処理されるより多くのパッチがある場合、アルゴリズムは、ステップ１９０８でより多くのパッチを処理するようにループし、さもなければ測定されたシフト推定は、あらゆる残差シフトと共に２つの画像１９０１及び１９０２に対して広域的な変換としてステップ１９１２で出力される。これらの構成要素は、画像比較のために基準画像１９０２とターゲット画像１９０１との間の画素対画素の対応を形成するために使用できる空間変換を生じるように組み合わされて、出力チェッカ１８９９の動作を完了する。
【０２０５】
恐竜（漫画の）２つの画像１３０１及び１３０２の概略的な比較を図３に示す。
【０２０６】
基準画像１３０１は、この例において−２°だけ（すなわち２°だけ時計方向に）回転されているターゲット画像１３０２と比較される。上述したようなパッチ選択処理は、空間歪みを判定するために使用される基準画像１３０１の３つのタイル１３０３、１３０４及び１３０５を選択した。空間歪みの知識が全くない状態で、恒等変換を仮定し、ターゲット画像１３０２の選択された３つのタイルの期待される位置は、タイル１３０６、１３０７及び１３０８により示されたそれぞれの位置にある。尚、ターゲット画像１３０２のタイル１３０７及び１３０８は、基準画像１３０１のマッチングの特徴部分から実質的に変位され、画像１３０１の黒の境界の部分が欠落している結果、シフト推定誤差が生じるだろう。
【０２０７】
基準画像１３０１から抽出されたタイル１３０３が複素ｂｒｏｓｃフィルタにより処理されるならば、平行移動及び回転角度の双方は、複素数ピーク位置及びターゲット画像１３０２のマッチングタイル１３０６との相関後の位相を調査することで判定されてもよい。シフト及び回転角度の双方が既知であることにより、ターゲット画像１３０２のタイル１３０７及び１３０８の位置を再度推定できる結果、タイル１３０９及び１３１０が代わりに抽出される。正確な位置を含むこれらのタイル１３０９及び１３１０が基準画像１３０１の対応するタイル１３０４及び１３０５により適切に一致するため、タイル１３０９及び１３１０は、より適切なシフト推定をもたらす可能性が高い。精度と速度との間の妥協に応じて、ｂｒｏｓｃ法は、測定の精度を向上するために相関の前にタイル１３０４及び１３０５に対して使用されてよく、あるいはタイル１３０４及び１３０５は直接回転されてよく、あるいは結果として得られる測定誤差が許容可能であった場合には補正を実行する必要はない。
【０２０８】
十分なシフト及び回転又はそのいずれかの推定が行われた後、広域的なアフィン変換又は歪み（ワープ）が導出されて基準画像１３０１とターゲット画像１３０２との間の画素を比較するために使用されてもよい。
【０２０９】
ｂｒｏｓｃ法に対する別のアプリケーションは、システムの構成要素としてデジタルカメラにより撮像されたオブジェクトの距離又は深度を推定することである。
【０２１０】
種々の焦点位置又は種々の絞り設定で撮像された少なくとも２つの画像を使用することにより、センサにより撮像されたオブジェクトの深度に関する情報が収集できる。この技術を焦点ぼけからの深度（depth from defocus）と呼ぶ。
【０２１１】
よく知られているように、レンズによりカメラ２２２７のセンサに撮像されたオブジェクトの焦点のシャープネスは、そのレンズの焦点位置に依存する。あまり知られていないが、撮像オブジェクトの倍率は、多くの場合レンズの焦点位置に従って予測可能に変化する。
【０２１２】
矢継ぎ早にカメラにより撮像されたシーンのいくつかの関連画像を比較することにより、局所的な画像のぼけ及び局所的な画像の倍率の双方は、シーンのいくつかの位置において推定でき、これらの２つの量の関数として、これらの各位置に対して深度が推定される。
【０２１３】
いくつかのカメラレンズにおいては、焦点機構が焦点位置決めパルスをスキップできることで結果として未知の焦点位置が得られるため、焦点位置を変更することは信頼できない。この場合、真の焦点位置を算出するために局所的な倍率の測定が使用できる。
【０２１４】
推定位置は、シーン全体にわたり深度の推定を発生させるために補間し得る。この補間は、深度のマップを別個のオブジェクトにセグメント化する推定画像境界において不連続性を含む可能性がある。
【０２１５】
２つの画像の対応する位置間の相対的なぼけの変化は、ガウシアンとしてモデル化された点広がり関数を推定することで推定されうる。局所的な倍率は、いくつかの点における画像の特徴の局所的な変位を測定してそれらの変位をアフィン変換に適合させることで推定されうる。
【０２１６】
しかし、いくつかの理由により、焦点ぼけからの深さを算出することは難しい。
【０２１７】
第１に、いくつかの要因から、収集した画像に運動がある可能性が高い。カメラ２２２７自体が動いている可能性があり、シーン全体にわたり全体的な線運動を発生させるか、あるいはシーンのオブジェクト自体が動いている可能性もあり、シーンの一部において局所的な線運動を発生させる。
【０２１８】
第２に、焦点ぼけによりいくつかの画像周波数においてコントラスト反転が発生する可能性があるため、各タイルが種々の量のシャープネスを有するタイル対間のシフト推定は失敗する可能性がある。暗い値及び明るい値が実際にいくつかの空間周波数において反転されるレンズを使用する場合、コントラスト反転は一般にぼやけた画像において発生する。焦点ぼけがタイル対において異なるため、コントラスト反転周波数は各タイルにおいて異なっている可能性もある。タイルの一部が反相関される結果、これらの周波数が真のシフト位置におけるピークに悪影響を与えるため、タイル間のこのコントラスト反転のばらつきは、実質的に相関ピークを劣化させる可能性がある。この劣化は、相関ピークの拡大又は引伸しとして反映される可能性があり、あるいは環状にゆがむ可能性があり、あるいは結果として多数の最大値を有する相関ピークが発生する可能性がある。
【０２１９】
第３に、変位及びシャープネスの測定は、必ずタイル又は領域に基づく動作でなければならないが、単一のタイルの深度がそのタイルにわたり非常に顕著に変わるであろう可能性が非常に高い。
【０２２０】
第４に、変位及びシャープネスの測定は著しく画像に依存し、種々の結果は、画像の一意の領域又は鋭いエッジの近く、あるいは高度なテクスチャ領域で得られる。
【０２２１】
組み合わせで、これらの影響により多くの不正確さが生じる。出力チェッカ１８９９に対するアプリケーション１９９９と同様に、倍率の僅かな変化により、シフト推定の誤差及びタイル対間の大きな変位の双方が生じ、シフト推定が更に劣化する。一般的な重複領域が更に狭くなるにつれ、タイル対間の大きな変位は鋭度推定が更に劣化する。
【０２２２】
相関の前にタイル対の１つをフィルタリングして結果として得られる相関ピークの位相から倍率（相対変倍である）を推定するために複素ｂｒｏｓｃ法を使用することにより、これらの影響の多くを実質的に改善できる。
【０２２３】
相関が小さな倍率に対してロバスト性が高いため、タイル間の相対運動は、ｂｒｏｓｃ法を使用してより正確に推定されうる。
【０２２４】
ｂｒｏｓｃ法はコントラスト反転による影響を被りやすいが、方法（「修正ｂｒｏｓｃ法」）の小さな倍率によりこの問題を解決できる。相関画像の計算中、最後から２番目の段階は相関ピークのフーリエ変換を含む。コントラスト反転が存在する場合、このフーリエ変換のいくつかの周波数は無効とされる。修正ｂｒｏｓｃ方法によれば、全ての周波数の位相を２倍にすることで無効とされた周波数の符号（サイン）を訂正できる。このような位相の２倍化により、原点からの相関ピークの変位も２倍化して測定可能な最大変位を制限し、位相雑音の大きさも２倍化して方法の耐雑音性は低下する。複素ｂｒｏｓｃ法が使用される場合、修正ｂｒｏｓｃ法が相関ピークの位相を更に２倍にするため、ｂｒｏｓｃカーネルの周波数は、変倍測定を示す位相の周囲のラッピングを回避するように半減されるべきである。
【０２２５】
実質的に単一のタイルにわたり深度が変動する場合、ｂｒｏｓｃ法は、依然として直接相関より正確な結果をもたらすが、ｂｒｏｓｃカーネルの周波数の範囲が１８０°未満であるようにｂｒｏｓｃカーネルの周波数を減少させる必要がある可能性があるため、種々の深度からの相関ピークへの寄与が反相関されない。
【０２２６】
組み合わせて、これらの影響の全てがより正確な変位推定、すなわちより適切な画像位置合わせに寄与する結果、より正確な焦点ぼけからの深さの測定につながる。
【０２２７】
単一のタイル相関に基づいて倍率が推定できるという、ｂｒｏｓｃ法を焦点ぼけからの深さの測定に対して望ましくする更なる効果もある。ｂｒｏｓｃ法を使用しない場合、倍率は、多数の変位推定に変倍パラメータを適合させることで推定され、それによって単一のタイルに局所化された推定は決して与えられない。タイルのシャープネス及びタイルの倍率の双方が同時に且つ局所的に測定及び合成されうるため、タイルに基づく倍率推定は焦点ぼけからの深さのアルゴリズムに非常に適している。
【０２２８】
図１０は、ｂｒｏｓｃアルゴリズムのサポートによって１つの焦点ぼけからの深さの方法２０９９の動作を示す。
【０２２９】
方法２０９９は、図１２Ａのデジタルカメラ２２２７の焦点がステップ２００３で異なる焦点位置に変更され且つ第２の画像２００４が撮像される第１の焦点位置において第１の画像２００２を撮像するためにカメラ２２２７を使用する。画像２００２及び２００４は、共通又は実質的に共通のシーンコンテンツを共有するが、２つの画像間の差が焦点の変化により大きな影響を受けるという点で関連する。
【０２３０】
第１の撮像画像２００２から、焦点ぼけからの深さの測定に対して十分な細部を含むパッチ候補がステップ２００５で選択される。選択されたパッチ候補は、ステップ２００６で第１の撮像画像２００２からタイルとして抽出される。複素変倍ｂｒｏｓｃフィルタは、ステップ２００８で各パッチに適用される。
【０２３１】
対応するパッチは、ステップ２００７で第２の撮像画像２００４からタイルとして更に抽出される。
【０２３２】
第１の画像２００２からのｂｒｏｓｃフィルタリング済タイルは、ステップ２００９で第２の画像２００４からの対応するタイルに対して相関される。ステップ２００９において、シフトは、複素数のピークの位置を測定することで推定され、変倍係数又は相対倍率は、複素数のピークの複素位相を測定することで更に推定される。この手法の利点は、相対的に計算に手間のかかる単一の相関演算が実質的に同時に且つ別個の判定より確実に迅速に変位シフト及び変倍係数の双方に対する値を判定することである。
【０２３３】
第２の画像２００４の各パッチの位置は、ステップ２００９から測定されたシフトを使用してステップ２０１０で補正され、タイルは、それらの補正された位置を使用してステップ２００７で第２の画像２００４から抽出される。
【０２３４】
ステップ２００９からの倍率推定を使用し、ステップ２００６から取得された第１の撮像画像２００２からの対応するパッチとステップ２０１０から取得された第２の撮像画像２００４からの対応するパッチとの差を解析することにより、画像の深度は、ステップ２０１１でパッチ候補位置において推定される。
【０２３５】
ｂｒｏｓｃフィルタに対する別のアプリケーションは、ラスタ走査取得処理中に運動により歪められた画像からのフレームを位置合わせするのを支援することである。そのような画像取得デバイスの一例は、補償光学走査型レーザ検眼鏡（ＡＯ−ＳＬＯ）である。このデバイスは、レーザ光の非常に小さなスポットを患者の網膜に集束させ、且つ光の振幅を測定するようにこの光を画素センサに更に誘導するために補償光学系を使用する。振動機械システムを使用して、レーザスポットがラスタ走査方式で矩形領域を描くようにしてよく、それにより網膜の高解像度画像を生成する。レーザを連続的に走査して光を取得することにより、眼の狭い領域の２次元映像系列を取得できる。
【０２３６】
この映像系列のフレームレートは非常に高く、一般に６０Ｈｚであるが、眼が継続的に動いている結果、周囲をシフトする視野が一連のフレームとして収集される。映像系列のフレームを位置合わせすることにより、一般的な視野は、画像を互いに又は単一の共通の画像に位置合わせすることで多くのフレームに対して取得されうる。これは、相関型シフト推定により実現されうる。
【０２３７】
しかし、眼は、サッケードと呼ばれる非常に急速な移動を更に示すことがある。その結果、画像が収集されている間に眼がラスタ走査の下に移動する時に、非常に強い画像歪みが生じうる。
【０２３８】
この結果、いずれの方向であってもよいが一般に説明のために殆どのビデオ表示と一致する、Ｘ方向であると仮定されうるラスタ走査の低速な走査方向（すなわち、走査線に沿う）と同一の方向に眼が偶然移動する場合、非常に強い画像歪みが生じうる。そのような一例において、相補的な高速走査方向はＹ方向（すなわち、走査線間の方向）である。歪みは低速走査方向に生じる。例えば、低速ラスタ走査が毎秒１０ラジアンである場合、サッケードは毎秒２０ラジアンで眼を移動し、走査された画像は、サッケードがラスタ走査の方向と同方向に、あるいはそれと反対方向にそれぞれ移動するかに依存して５０％倍又は１５０％倍だけ変倍される。
【０２３９】
そのような大きな歪みは、フレーム間のシフト推定に非常に悪影響を及ぼす。回転又は２次元変倍と同様に、僅か５〜１０％の１次元変倍がシフト推定を害する可能性がある。
【０２４０】
シフト推定に対する回転及び変倍の影響と同様に、シフト推定に対する低速走査（Ｘ方向）の変倍の影響は、ｂｒｏｓｃフィルタを使用することで緩和されうる。回転及び変倍の場合、空間変動フィルタは、それぞれ画像半径に対して接線方向又は半径方向に適用され、フィルタの長さは半径の長さに比例する。Ｘ方向の変倍の場合、空間変動フィルタは、Ｘ軸に平行する方向に適用され、フィルタの長さは、画像の中心位置からＸ方向の距離に比例する。位相がカーネル内で直線的に変動し且つカーネルの長さに比例する複素カーネルを使用し、且つ画像の中心からの方向を変更することにより、相関型シフト推定の前にｂｒｏｓｃフィルタを使用する結果、ターゲット画像におけるＸ変倍の量に比例して変動するピークの複素位相を含む振幅ピークが得られる。回転及び変倍の例と同様に、複素位相カーネルを使用する結果、直接相関又は実ｂｒｏｓｃフィルタを使用する相関と比較してロバスト性の高いシフト推定が得られる。
【０２４１】
変倍係数を推定するために相関ピークの複素位相を使用することにより、画像内の空間歪み測定の精度を向上させる更なるシフト推定の前に、多数のサブ画像に対してより正確な位置が推定されうる。
【０２４２】
図１１は、ＡＯ−ＳＬＯデバイスから取得されたターゲットフレームを基準フレームに登録するために複素Ｘｂｒｏｓｃフィルタを使用する方法２１９９を示す。ＨＤＤ２２１０に格納され且つコンピュータ２２０１のプロセッサ２２０５により実行された方法２１９９は、例えばネットワーク２２２０又は２２２２のうちの１つを介してＡＯ−ＳＬＯデバイス２１０１から画像を受信している。
【０２４３】
方法２１９９において、ＡＯ−ＳＬＯデバイス２１０１は、適切な画質及び少ない歪みを有するように選択される基準フレーム２１０２を撮像するために使用される。
【０２４４】
複素Ｘｂｒｏｓｃフィルタは、ステップ２１０３で基準フレーム２１０２に適用され、Ｘ変倍に対してロバスト性があり且つＸ変倍推定を更に提供できるテンプレートを作成する。
【０２４５】
基準Ｘフレーム２１０２に位置合わせされるターゲットフレーム２１０４は、ＡＯ−ＳＬＯデバイス２１０１により更に取得される。フレーム２１０２及び２１０４は、関連ビデオフレームであってもよく、一般にビデオフレームに隣接する。
【０２４６】
ターゲットフレーム２１０４及びステップ２１０３からのフィルタリング済基準フレームは、ステップ２１０５で相関される。ステップ２１０５内において、相関ピークの位置及び位相は、フレーム間の相対シフト及び相対Ｘ変倍の双方を推定するために使用される。このように推定されたシフト及びＸ変倍は、フレーム２０１２及び２１０４の対応するパッチ間で「粗位置合わせ」を構成する。
【０２４７】
この相対シフト及びＸ変倍係数は、ターゲットフレーム２０１４と基準フレーム２１０２との間の重複領域を判定するために使用され、パッチの６×６グリッドは、ステップ２１０７でターゲットフレーム２１０４のパッチから抽出され、且つステップ２１０６で基準フレーム２１０２のパッチから抽出される。
【０２４８】
対応するパッチの各々に対するシフト推定は、ステップ２１０８で実行され、ターゲット画像及び基準画像の双方における重複領域に６×６グリッドに対するシフトの推定を与え、シフト推定のこの６×６グリッドは、基準画像２１０２とターゲット画像２１０４との間で「精細な位置合わせ」を構成する。
【０２４９】
ステップ２１０５から取得した粗位置合わせ及びステップ２１０８から取得した精細な位置合わせは、ステップ２１０９で組み合わされて基準フレーム２１０２を介してターゲットフレーム２１０４を登録できるようにターゲットフレーム２１０４を曲げるために使用される。
【０２５０】
ステップ２１０９のワープ処理の出力は、ＨＤＤ２２１０に格納され且つその後基準フレーム２１０２とより簡単に比較されうる補正ターゲットフレーム２１１０である。
【０２５１】
説明した構成は、コンピュータ産業及びデータ処理産業、並びに特に画像間のシフト及び小さな歪みの推定に対して適用可能である。この構成は、多くの分野に適用される。最初に、シフト、回転及び変倍を判定することにより、焦点及び被写界深度等の撮像パラメータを関連画像から判定できる。上述したように、構成は、印刷処理の出力チェック及び眼の測定のために使用されてもよい。これらの例の各々において、基準画像及びサンプル画像は既知である。
【０２５２】
この構成は、２つの画像が関連するかを判定するために更に使用されてもよい。例えば構成は、ソース画像と関連してもよい画像を画像のデータベースで検索するために使用されてもよい。これらの例において、ソース画像のみが既知である。全く関連しないデータベースの画像の場合、大きな変位が判定され、相関は、判定されないかあるいはせいぜい不十分に判定される。しかし、より密接に関連する画像の場合、比較すると変位及び相関又はそのいずれかの程度が顕著であるため、少なくともソース画像に一致する可能性が最も高い短いリストが可能になる。
【０２５３】
更なる実施例において、例えば図１４及び図１５を参照して説明した実施例に基づいて、変位を測定する説明した方法は、変更されてもよく、あるいは空間歪みパラメータを判定するために使用されてもよい。特に、空間歪みパラメータは、複素位相を使用して且つフィルタリング済基準タイルが作成された方法を認識せずに判定されてもよい。説明した乗算及び集約（加算）の手法は、シフト推定を与えられて歪みを判定するために更に使用されてよい。この手法は、シフトが測定されるのではなく既知である場合及びシフトがゼロである場合に適用可能である。また、乗算及び加算の手法は、最近接パッチを選択することを含むサブ画素シフトパッチの集合と共に実行されてもよい。
【０２５４】
図１６の開示から導出された更なる実現例は、シフト推定のために実ｂｒｏｓｃフィルタを使用するステップと、歪みパラメータ判定のために乗算して加算する手法を使用するステップとを組み合わせること（図１６）に関連する。
【０２５５】
図２０と関連付けられた別の実施例は、２つ以上のパラメータを用いた空間変換の使用を示す。ここで、特定の実施例において、変換は多数の単一のパラメータ変換に分解されうる。
【０２５６】
説明した構成は、シフト及び歪みパラメータに対する符号化として複素位相を使用する。他のパラメータ符号化が使用されてもよい。特に、乗算及び加算の手法を使用する場合（そのような手法はＦＦＴ相関に依存しないため）、例えば２次元以上のベクトル又はベクトル／複素数を使用する他の符号化は、多数の実数値化された画像を介して分裂している。
【０２５７】
上記の記述は本発明のいくつかの実施形態のみを説明し、本発明の範囲及び趣旨から逸脱せずに、変形及び変更またはそのいずれかがいくつかの実施形態に対して行なわれてもよい。実施形態は、限定するものではなく例示するものである。
【図１】
0005568123.tif 000004
【図２】
0005568123.tif 000005
【図３】
0005568123.tif 000006
【図４】
0005568123.tif 000007
【図５Ａ】
0005568123.tif 000008
【図５Ｂ】
0005568123.tif 000009
【図５Ｃ】
0005568123.tif 000010
【図５Ｄ】
0005568123.tif 000011
【図６】
0005568123.tif 000012
【図７】
0005568123.tif 000013
【図８】
0005568123.tif 000014
【図９】
0005568123.tif 000015
【図１０】
0005568123.tif 000016
【図１１】
0005568123.tif 000017
【図１２Ａ】
0005568123.tif 000018
【図１２Ｂ】
0005568123.tif 000019
【図１３】
0005568123.tif 000020
【図１４】
0005568123.tif 000021
【図１５】
0005568123.tif 000022
【図１６】
0005568123.tif 000023
【図１７】
0005568123.tif 000024
【図１８】
0005568123.tif 000025
【図１９】
0005568123.tif 000026
【図２０】
0005568123.tif 000027