(57)【要約】【課題】  少ない計算量で、基準画像に対するターゲット画像の位置関係を正確に求める。【解決手段】  ステップＳ３１では、コンピュータは、グローバルモーションの基準値（P０，Q０，T０，U０）の初期値を取得する。ステップＳ３２において、コンピュータは、グローバルモーションの基準値（P０，Q０，T０，U０）と、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）とで表されるグローバルモーションの値（Ｐ０＋ｄP，Ｑ０＋ｄQ，Ｔ０＋ｄT，Ｕ０＋ｄU）を引数とする統計エラー関数を求める。ステップＳ３３およびＳ３４において、コンピュータは、統計エラー関数に基づいて、基準画像とターゲット画像との位置関係を表すグローバルモーションの値（P１，Q１，T１，U１）としてのアフィン変換のパラメータを求める。本発明は、例えば、手ブレ補正などを行う画像処理に適用できる。【選択図】図１２
2005309558.tif 000002
【特許請求の範囲】
【請求項１】
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理方法において、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップと、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップと、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算ステップと
を含むことを特徴とする画像処理方法。
【請求項２】
前記エラー関数演算ステップでは、
前記ターゲット画像を複数のブロックに分割し、
前記ブロックにおける前記ターゲット画像の画素の位置が、すべて、前記基準画像の対応する位置と同一の位置関係を有するものとして、前記統計エラー関数を求める
ことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記エラー関数演算ステップでは、前記統計エラー関数の引数が、前記ターゲット画像の画素の位置と、その位置に対して、前記基準位置関係の位置関係にある前記基準画像の位置の近傍の前記基準画像の画素の位置との位置関係を表すときの、前記ターゲット画像の画素の画素値と、その画素の位置に対して前記基準位置関係の位置関係にある前記基準画像の位置の近傍の前記基準画像の画素の画素値との差異を用いて、前記統計エラー関数を求める
ことを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記統計エラー関数は、前記変数の最大次数が２次の関数であり、
前記エラー関数演算ステップでは、前記統計エラー関数の引数が、前記ターゲット画像の画素の位置と、その位置に対して前記基準位置関係の位置関係にある前記基準画像の位置の近傍の前記基準画像の３×３の画素の位置それぞれとの第１乃至第９の位置関係を表すときの、前記ターゲット画像の画素の画素値と、その画素に対して前記第１乃至第９の位置関係の前記基準画像の画素の画素値それぞれとの差異を用いて、前記統計エラー関数を求める
ことを特徴とする請求項３に記載の画像処理方法。
【請求項５】
前記統計エラー関数を最小にする前記引数を求める引数演算ステップと、
前記基準位置関係を、前記統計エラー関数を最小にする前記引数が表す位置関係に更新する更新ステップと
をさらに含み、
前記位置関係演算ステップでは、前記基準位置関係が更新された後の前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める
ことを特徴とする請求項１に記載の画像処理方法。
【請求項６】
前記エラー関数演算ステップにおいて前記統計エラー関数を求め、
前記引数演算ステップにおいて前記統計エラー関数を最小にする前記引数を求め、
前記更新ステップにおいて前記基準位置関係を更新する
ことを繰り返す
ことを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記エラー関数演算ステップにおいて前記統計エラー関数を求め、
前記引数演算ステップにおいて前記統計エラー関数を最小にする前記引数を求め、
前記更新ステップにおいて前記基準位置関係を更新する
ことを、前記引数が前記基準位置関係を表す場合の前記統計エラー関数が所定の条件を満たすまで繰り返す
ことを特徴とする請求項６に記載の画像処理方法。
【請求項８】
前記位置関係演算ステップでは、前記更新ステップにおいて更新された前記基準位置関係を、前記基準画像とターゲット画像との位置関係として求める
ことを特徴とする請求項５に記載の画像処理方法。
【請求項９】
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理装置において、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得手段と、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算手段と、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理をコンピュータに行わせるプログラムにおいて、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップと、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップと、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法および装置、並びにプログラムに関し、特に、少ない計算量で、基準画像に対するターゲット画像の位置関係を求めることができるようにする画像処理方法および装置、並びにプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラなどによる撮像(撮影)では、撮像中のデジタルビデオカメラの支持が不安定な場合に、動画像中の各画像間で微妙なブレ(ゆれ)が生じる、いわゆる、手ブレ現象が発生することがある。手ブレが発生している画像を再生して視聴すると、ユーザは、画像がぶれて（ゆれて）いるので、見にくさを感じることがある。
【０００３】
この画像のブレをなくす方法としては、例えば、撮像された複数枚の画像のうちの、１枚目の撮像画像を基準画像とするとともに、２枚目以降の撮像画像それぞれをターゲット画像として、基準画像に対して、ターゲット画像が、どのようなブレの方向（位置関係）にあるかを検出し、そのブレの方向と反対の方向にターゲット画像を補正することにより、基準画像との画像のブレをなくす、いわゆる手ブレ補正がある。この手ブレ補正のパラメータとしては、例えば、「回転、平行移動、拡大縮小」の（を表す）パラメータなどが使用される。
【０００４】
ここで、基準画像に対する、ターゲット画像の「回転、平行移動、拡大縮小」は、ターゲット画像の一部分だけではなく、ターゲット画像全体に生じるので、以下では、ターゲット画像の「回転、平行移動、拡大縮小」を、グローバルモーション（画像全体の動き）とも呼ぶことにする。
【０００５】
さて、従来から行われているグローバルモーションの値、即ち、「回転、平行移動、拡大縮小」の量を求める方法（以下、単に従来の方法という）としては、以下に示すような様々な方法がある。
【０００６】
即ち、従来の方法としては、例えば、非特許文献１や２などに開示されている、Phase Correlation、あるいは、Mellin Transformによる方法がある。これらの方法では、基準画像とターゲット画像に対して、それぞれフーリエ変換を行い、周波数空間上での位相情報より、基準画像とターゲット画像の２つの画像の位置関係、即ち、「回転、平行移動、拡大縮小」のパラメータ（グローバルモーションの値）が求められる。
【０００７】
しかしながら、これらの方法は、フーリエ変換を行うために計算量が膨大となり、実際の製品に適用するのは、現実的ではない。
【０００８】
そこで、図１は、その他の従来の方法によりグローバルモーションの値を求める処理を行う画像処理装置の機能的な構成例を示すブロック図である。
【０００９】
図１の画像処理装置は、グローバルモーション計算処理部１１で構成されており、グローバルモーション計算処理部１１は、動きベクトル検出部２１とグローバルモーション計算部２２とで構成されている。
【００１０】
動きベクトル検出部２１には、例えば、時系列に撮像された複数の撮像画像のうちの、ブレを補正するときの基準の画像となる基準画像と、基準画像に合わせてブレが補正される画像となるターゲット画像とが入力される。動きベクトル検出部２１は、ターゲット画像を複数のブロック（領域）に分割する。そして、動きベクトル検出部２１は、ターゲット画像の各ブロックに対して、基準画像内で一番類似している領域を求め、さらに、各ブロックの中心から、基準画像内の最も類似している領域の中心までの、方向と距離（長さ）を表す動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））を求めて、グローバルモーション計算部２２に出力する。
【００１１】
ここで、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））は、ターゲット画像中を複数のブロックに分割したときの、X方向（左から）にｈ＋１番目で、Y方向に（上から）ｋ＋１番目のブロック（ｈ，ｋ）についての動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））を表している。なお、Mx（ｈ，ｋ）とMy（ｈ，ｋ）は、それぞれ、動きベクトルのＸ方向とＹ方向の成分である。
【００１２】
グローバルモーション計算部２２は、動きベクトル検出部２１から供給される、各ブロックの動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））から、グローバルモーションの値（P，Q，T，U）を求めて出力する。このグローバルモーションの値（P，Q，T，U）は、図２で後述するように、上述の「回転、平行移動、拡大縮小」のパラメータに置き換え可能な、基準画像とターゲット画像との画像間の位置関係を表す。
【００１３】
図２を参照して、図１のグローバルモーション計算部２２の処理について説明する。
【００１４】
図２では、ターゲット画像FTが示されている。
【００１５】
ここで、ターゲット画像FTについては、ターゲット画像FTの左上を原点として、右方向をX方向とするとともに、下方向をY方向とするＸＹ座標系を、ターゲット画像FTの座標系と定義する。基準画像についても、同様に、基準画像のＸＹ座標系を定義する。
【００１６】
また、図２に示すように、ターゲット画像FTを複数のブロックに分割した場合の、ターゲット画像FTのX方向に左からｈ＋１番目で、Y方向に上からｋ＋１番目のブロックを、ブロックblk（ｈ，ｋ）と表し、さらに、ブロックblk（ｈ，ｋ）の中心位置（座標）を、（Cx（ｈ，ｋ），Cy（ｈ，ｋ））と表す。
【００１７】
ブロックblk（ｈ，ｋ）について、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））が検出された場合、そのブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））は、基準画像（のＸＹ座標系上）位置（Cx（ｈ，ｋ）＋Mx（ｈ，ｋ），Cy（ｈ，ｋ）＋My（ｈ，ｋ））に対応することになる。即ち、ブレによって生じたターゲット画像FTと基準画像との位置関係は、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））で表される。
【００１８】
また、このようなターゲット画像FTと基準画像との位置関係は、ターゲット画像FTのグローバルモーションによって生じているため、ターゲット画像FTのブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））に対応する基準画像の位置（Cx（ｈ，ｋ）＋Mx（ｈ，ｋ），Cy（ｈ，ｋ）＋My（ｈ，ｋ））は、グローバルモーションの値（P，Q，T，U）を用いて、式（１）で表すことができる。
【００１９】
【数１】
2005309558.tif 000003
・・・・（１）
【００２０】
ここで、式（１）の左辺は、点（位置）（Cx（ｈ，ｋ），Cy（ｈ，ｋ））に対して、角度θの回転、（T，U）の平行移動、Ｓ倍の拡大縮小を施すアフィン変換を表している。但し、式（１）において、P＝S×cosθ，Q＝S×sinθである。
【００２１】
ターゲット画像FT上のすべてのブロックblkには、基準画像に対して、同一のブレが生じるので、ターゲット画像FTのすべてのブロックblk（ｈ，ｋ）に対して、式（１）が成り立つはずである。
【００２２】
但し、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））の検出の誤差等のために、すべてのブロックblk（ｈ，ｋ）について、式（１）を満たすパラメータ（P，Q，T，U）を求めることは困難である。そこで、例えば、最小自乗法により、式（１）から得られる次式（２）を最小とするパラメータ（P，Q，T，U）が、基準画像に対するターゲット画像FTの位置関係を表すグローバルモーションの値（P，Q，T，U）として求められる。
【００２３】
【数２】
2005309558.tif 000004
・・・・（２）
【００２４】
ここで、式（２）のΣは、ターゲット画像FTの（ｈ，ｋ）のすべての組にわたる総和を表す。
【００２５】
図１のグローバルモーション計算部２２は、以上のようにして、ターゲット画像FTの各ブロックblk（ｈ，ｋ）の動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））から、グローバルモーションの値（P，Q，T，U）を求める。
【００２６】
しかしながら、図２での動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））は、ブロックblk（ｈ，ｋ）内の各点が動いた方向と距離の平均的な値となっている。つまり、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））は、ブロックblk（ｈ，ｋ）全体が移動した方向と距離を示すものであり、ブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））が動いた方向と距離そのものを正確に表しているとは限らない。従って、厳密にいうと、ブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））が動いた方向と距離を、動きベクトル（Mx（ｈ，ｋ），My（ｈ，ｋ））で、いわば近似して、最小自乗法により図２で説明したようにして求められるグローバルモーションの値（P，Q，T，U）は、正確な値ではない。
【００２７】
そこで、図３は、図１および図２で説明した方法に改良を加えた従来の方法によりグローバルモーションの値を求める画像処理装置の機能的な構成例を示すブロック図である。
【００２８】
図３の画像処理装置では、図１のグローバルモーション計算処理部１１の後段に、グローバルモーション高精度計算処理部３１が設けられている。
【００２９】
グローバルモーション計算処理部１１は、図１と同様に、グローバルモーションの値（P，Q，T，U）を求める。そして、グローバルモーション計算処理部１１が求めたグローバルモーションの値（P，Q，T，U）が、初期値（P０，Q０，T０，U０）として、グローバルモーション高精度計算処理部３１に供給される。
【００３０】
即ち、グローバルモーション計算処理部１１で求められるグローバルモーションの値（P，Q，T，U）は、グローバルモーションを正確に表していなくても、その概略を表している。つまり、グローバルモーション計算処理部１１で求められるグローバルモーションの値（P，Q，T，U）は、厳密には正確ではないが、まったく見当違いなわけではなく、大まかな値としては正確である。そこで、グローバルモーション高精度計算処理部３１は、グローバルモーション計算処理部１１から供給されたグローバルモーションの値（P０，Q０，T０，U０）を初期値として用いて、基準画像およびターゲット画像とから、正確なグローバルモーションの値（P１，Q１，T１，U１）を求めて出力する。
【００３１】
具体的には、グローバルモーション高精度計算処理部３１は、グローバルモーションの初期値（P０，Q０，T０，U０）の近辺（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）をすべて探索し、（ｄP，ｄQ，ｄT，ｄU）の中から、最適な（後述する差分自乗誤差が最小となる）値（ｄP1，ｄQ1，ｄT1，ｄU1）を求めることにより、正確なグローバルモーションの値（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）＝（P１，Q１，T１，U１）を求める。ここで、値（ｄP，ｄQ，ｄT，ｄU）それぞれは、任意の微小値で、（P０，Q０，T０，U０）からの変化量を表すので、以下では、値（ｄP，ｄQ，ｄT，ｄU）を、グローバルモーションの変化量という。
【００３２】
図４を参照して、図３のグローバルモーション高精度計算処理部３１の処理について説明する。
【００３３】
図４では、上側に基準画像FBが、下側にターゲット画像FTが、それぞれ示されている。
【００３４】
基準画像FBおよびターゲット画像FTは、ともに、X方向にW画素、Y方向にH画素のW×H画素で構成されている。ここで、基準画像FBとターゲット画像FTそれぞれのXY座標系の原点に一番近い左上の画素を（０，０）画素として、左からｉ＋１番目で、上からｊ＋１番目の画素を、（ｉ，ｊ）画素と表す。また、ターゲット画像FTの（ｉ，ｊ）画素の画素値をＧi,jとする。
【００３５】
ターゲット画像FTの（ｉ，ｊ）画素を（の位置）、グローバルモーション計算処理部１１から供給されたグローバルモーションの初期値（P０，Q０，T０，U０）によって基準画像ＦB上の位置に位置変換（アフィン変換）したときの、その基準画像FB上の位置を、図４に示すように、（Ｘ０ｉｊ，Ｙ０ｉｊ）で表す。
【００３６】
この場合、基準画像FB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）は、式（３）で表すことができる。
【００３７】
【数３】
2005309558.tif 000005
・・・・（３）
【００３８】
また、ターゲット画像FT上の（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換することにより得られる基準画像FB上の位置を、（Ｘｉｊ，Ｙｉｊ）と表すと、位置（Ｘｉｊ，Ｙｉｊ）は、式（４）で求めることができる。
【００３９】
【数４】
2005309558.tif 000006
・・・・（４）
【００４０】
いま、基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データ（画素値）を、ＧXij,Yijと表すこととすると、ターゲット画像FT上の（ｉ，ｊ）画素を、その（ｉ，ｊ）画素に真に対応する基準画像FB上の位置にアフィン変換する、正確なグローバルモーションの値（P１，Q１，T１，U１）は、例えば、式（５）に示すように、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素（の位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データＧXij,Yijとの差分自乗誤差（Ｇi,j−ＧXij,Yij）2の、ターゲット画像FTを構成するすべての画素についての総和を最小にするグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）として与えられる。
【００４１】
【数５】
2005309558.tif 000007
・・・・（５）
【００４２】
なお、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素（の位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データＧXij,Yijとの差分自乗誤差（Ｇi,j−ＧXij,Yij）2の、ターゲット画像FTを構成するすべての画素についての総和を最小にするグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）におけるｄP，ｄQ，ｄT，ｄUを、それぞれ、ｄP1，ｄQ1，ｄT1，ｄU1と表す。この場合、正確なグローバルモーションの値（P１，Q１，T１，U１）＝（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）である。
【００４３】
ここで、式（５）では、差分自乗誤差（Ｇi,j−ＧXij,Yij）2を用いているが、差分自乗誤差（Ｇi,j−ＧXij,Yij）2の代わりに、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素（の位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データＧXij,Yijとの差異を表す、例えば、差分絶対値｜Ｇi,j−ＧXij,Yij｜などを用いることが可能である。
【００４４】
ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの値（P，Q，T，U）＝（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換することにより得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データＧXij,Yijは、グローバルモーションの値（P，Q，T，U）によって異なる。
【００４５】
従って、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素（の位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における画像データＧXij,Yijとの差異も、グローバルモーションの値（P，Q，T，U）によって異なり、あるグローバルモーションの値（P，Q，T，U）に対する画素値Ｇi,jと画像データＧXij,Yijとの差異を、エラーＥｉｊ（P，Q，T，U）と表すとすると、式（５）は、式（６）で表すことができる。
【００４６】
【数６】
2005309558.tif 000008
・・・・（６）
【００４７】
グローバルモーション高精度計算処理部３１では、式（６）を満たすエラーＥｉｊ（P，Q，T，U）の引数（P，Q，T，U）が、正確なグローバルモーションの値（P１，Q１，T１，U１）として求められる。
【００４８】
【非特許文献１】B. S. Reddy and B. N. Chatterji, ”An FFT-Based Technique for Translation, Rotation, and Scale-Invariant Image Registration”, IEEE Trans. on Image Processing, vol.5 No.8, Aug. 1996
【非特許文献２】James Davis, ”Scenes with Moving Objects”, CVPR'98
【発明の開示】
【発明が解決しようとする課題】
【００４９】
図３の画像処理装置によれば、上述したようにして、正確な（精度の良い）グローバルモーションの値（P１，Q１，T１，U１）を求めることができる。
【００５０】
しかしながら、そのような正確なグローバルモーションの値（P１，Q１，T１，U１）を求めるためには、膨大な数の（ｄP，ｄQ，ｄT，ｄU）によって与えられる（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を、グローバルモーションの値（P，Q，T，U）として用い、式（６）のサメーションΣ｛Ｅｉｊ（P，Q，T，U）｝を計算しなければならない。この計算量は、膨大であり、実用的には不可能に近い。
【００５１】
以上のように、従来の方法では、正確なグローバルモーションの値（P，Q，T，U）を、少ない計算量で求めることが困難であった。
【００５２】
本発明は、このような状況に鑑みてなされたものであり、少ない計算量で、基準画像に対するターゲット画像の位置関係を正確に求めることができるようにするものである。
【課題を解決するための手段】
【００５３】
本発明画像処理方法は、基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップと、基準画像とターゲット画像との位置関係を、基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップと、統計エラー関数に基づいて、基準画像とターゲット画像との位置関係を求める位置関係演算ステップとを含むことを特徴とする。
【００５４】
エラー関数演算ステップには、ターゲット画像を複数のブロックに分割し、ブロックにおけるターゲット画像の画素の位置が、すべて、基準画像の対応する位置と同一の位置関係を有するものとして、統計エラー関数を求めさせることができる。
【００５５】
エラー関数演算ステップには、統計エラー関数の引数が、ターゲット画像の画素の位置と、その位置に対して、基準位置関係の位置関係にある基準画像の位置の近傍の基準画像の画素の位置との位置関係を表すときの、ターゲット画像の画素の画素値と、その画素の位置に対して基準位置関係の位置関係にある基準画像の位置の近傍の基準画像の画素の画素値との差異を用いて、統計エラー関数を求めさせることができる。
【００５６】
統計エラー関数は、変数の最大次数が２次の関数とすることができ、エラー関数演算ステップには、統計エラー関数の引数が、ターゲット画像の画素の位置と、その位置に対して基準位置関係の位置関係にある基準画像の位置の近傍の基準画像の３×３の画素の位置それぞれとの第１乃至第９の位置関係を表すときの、ターゲット画像の画素の画素値と、その画素に対して第１乃至第９の位置関係の基準画像の画素の画素値それぞれとの差異を用いて、統計エラー関数を求めさせることができる。
【００５７】
この画像処理方法には、統計エラー関数を最小にする引数を求める引数演算ステップと、基準位置関係を、統計エラー関数を最小にする引数が表す位置関係に更新する更新ステップとをさらに設け、位置関係演算ステップには、基準位置関係が更新された後の統計エラー関数に基づいて、基準画像とターゲット画像との位置関係を求めさせることができる。
【００５８】
エラー関数演算ステップにおいて統計エラー関数を求め、引数演算ステップにおいて統計エラー関数を最小にする引数を求め、更新ステップにおいて基準位置関係を更新することを繰り返すことができる。
【００５９】
エラー関数演算ステップにおいて統計エラー関数を求め、引数演算ステップにおいて統計エラー関数を最小にする引数を求め、更新ステップにおいて基準位置関係を更新することを、引数が基準位置関係を表す場合の統計エラー関数が所定の条件を満たすまで繰り返すことができる。
【００６０】
位置関係演算ステップには、更新ステップにおいて更新された基準位置関係を、基準画像とターゲット画像との位置関係として求めさせることができる。
【００６１】
本発明の画像処理装置は、基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得手段と、基準画像とターゲット画像との位置関係を、基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算手段と、統計エラー関数に基づいて、基準画像とターゲット画像との位置関係を求める位置関係演算手段とを備えることを特徴とする。
【００６２】
本発明のプログラムは、基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップと、基準画像とターゲット画像との位置関係を、基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップと、統計エラー関数に基づいて、基準画像とターゲット画像との位置関係を求める位置関係演算ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００６３】
本発明においては、基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値が取得され、基準画像とターゲット画像との位置関係を、基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数が求められ、その統計エラー関数に基づいて、基準画像とターゲット画像との位置関係が求められる。
【発明の効果】
【００６４】
本発明によれば、少ない計算量で、基準画像に対するターゲット画像の位置関係を正確に求めることができる。
【発明を実施するための最良の形態】
【００６５】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００６６】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００６７】
請求項１に記載の画像処理方法は、
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理方法において、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップ（例えば、図１２のステップＳ３１の処理）と、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップ（例えば、図１２のステップＳ３２の処理）と、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算ステップ（例えば、図１２のステップＳ３３の処理）と
を含むことを特徴とする。
【００６８】
請求項５に記載の画像処理方法は、
前記統計エラー関数を最小にする前記引数を求める引数演算ステップ（例えば、図１２のステップＳ３５の処理）と、
前記基準位置関係を、前記統計エラー関数を最小にする前記引数が表す位置関係に更新する更新ステップ（例えば、図１２のステップＳ３６の処理）と
をさらに含み、
前記位置関係演算ステップでは、前記基準位置関係が更新された後の前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める
ことを特徴とする。
【００６９】
請求項９に記載の画像処理装置は、
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理装置において、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得手段（例えば、図１２のステップＳ３１の処理を行う図５のコンピュータ５１のCPU７１）と、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算手段（例えば、図１２のステップＳ３２の処理を行う図５のコンピュータ５１のCPU７１）と、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算手段（例えば、図１２のステップＳ３３の処理を行う図５のコンピュータ５１のCPU７１）と
を備えることを特徴とする。
【００７０】
請求項１０に記載のプログラムは、
複数の撮像画像のうちの、１の撮像画像である基準画像と、他の１の撮像画像であるターゲット画像との位置関係を求める画像処理をコンピュータに行わせるプログラムにおいて、
前記基準画像とターゲット画像との位置関係の基準となる基準位置関係の初期値を取得する初期値取得ステップ（例えば、図１２のステップＳ３１の処理）と、
前記基準画像とターゲット画像との位置関係を、前記基準位置関係と変数とで表す引数をとり、かつ、その引数が表す位置関係の前記基準画像とターゲット画像との、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数を求めるエラー関数演算ステップ（例えば、図１２のステップＳ３２の処理）と、
前記統計エラー関数に基づいて、前記基準画像とターゲット画像との位置関係を求める位置関係演算ステップ（例えば、図１２のステップＳ３３の処理）と
を含む処理をコンピュータに実行させることを特徴とする。
【００７１】
以下、図を参照して、本発明の実施の形態について説明する。
【００７２】
図５は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。
【００７３】
図５の画像処理装置は、基準画像に対するターゲット画像の位置関係を表すパラメータ、即ち、グローバルモーションの値（P，Q，T，U）を求める処理を行うコンピュータ５１と、そのコンピュータ５１に基準画像またはターゲット画像となる撮像画像を供給するデジタルカメラ（デジタルビデオカメラ）５２とで構成されている。また、コンピュータ５１は、インターネット５３に接続されている。
【００７４】
CPU（Central Processing Unit）７１、メモリ７２、ディスプレイコントローラ７３、入力機器インタフェース７４、ネットワークインタフェース７５、および外部機器インタフェース７６は、バス７７を介して相互に接続されている。
【００７５】
CPU７１は、HDD（Hard Disk Drive）８１に記憶されているオペレーティングシステム（OS）を実行し、そのオペレーティングシステムの制御の下で、各種のプログラム（アプリケーションプログラム）を実行する。例えば、CPU７１は、デジタルカメラ５２から外部機器インタフェース７６を介して供給される複数の撮像画像（の画像データ）を、HDD８１に記憶（保存）させる。また、CPU７１は、デジタルカメラ５２から供給された、または、HDD８１に記憶されている複数の撮像画像のうちの、所定の撮像画像を基準画像とするとともに、他の撮像画像をターゲット画像として、基準画像に対するターゲット画像の位置関係を算出する処理を行う。以下、この処理を位置関係算出処理という。この位置関係算出処理では、基準画像に対するターゲット画像の位置関係を、グローバルモーションの値（P，Q，T，U）として求める。
【００７６】
メモリ７２は、CPU７１において実行されるプログラムを記憶（ロード）し、また、CPU７１が処理に必要な作業データを一時的に記憶する。なお、メモリ７２は、ROM（Read Only Memory）などの不揮発性メモリおよびDRAM（Dynamic Random Access Memory）などの揮発性メモリの両方で構成することができる。
【００７７】
ディスプレイコントローラ７３は、CPU７１から供給される描画命令に従い、ディスプレイ７８に画像を表示させる。即ち、ディスプレイコントローラ７３は、CPU７１から供給される描画命令に従い、描画データを得て、図示しないフレームバッファに書き込む。ディスプレイ７８は、フレームバッファに書き込まれた描画データに基づいて、画像を表示する。これにより、ディスプレイ７８では、HDD８１に記憶されている画像や、HDD８１に記憶されている画像をCPU７１で処理(加工)した画像などが表示され、ユーザは、そのディスプレイ７８上に表示された画像を見ることができる。
【００７８】
入力機器インタフェース７４には、キーボード（KBD）７９やマウス８０が接続されている。ユーザは、キーボード７９またはマウス８０を操作することにより、例えば、撮像画像をディスプレイ７８に表示させるコマンドや、画像処理を行わせるコマンドなどを入力することができる。入力機器インタフェース７４は、キーボード７９やマウス８０から供給される、その操作に対応した信号を、バス７７を介して、CPU７１に供給する。
【００７９】
ネットワークインタフェース７５は、例えば、ADSL(Asymmetric Digital Subscriber Line)モデムやNIC(Network Interface Card)などで構成され、インターネット５３などの広域ネットワークや、Ethernet（登録商標）に代表されるLAN（Local Area Network）などの局所的ネットワークなどとの間で通信を行うための通信制御を行う。
【００８０】
なお、インターネット５３などのネットワーク上では、図示しない複数のホスト端末またはサーバなどと呼ばれるコンピュータが、互いにトランスペアレントな状態で接続され、分散コンピューティング環境が構築されている。そのネットワーク上にあるサーバなどは、例えば、ソフトウエア（プログラム）やコンテンツデータなどをユーザに配信する配信サービスなどを行うことができる。コンピュータ５１は、ネットワークインタフェース７５を介して、例えば、インターネット５３上のサーバから、他人が撮像した画像をHDD８１にダウンロードすることができる。
【００８１】
外部機器インタフェース７６には、デジタルカメラ５２，HDD８１、およびメディアドライブ８２などの外部機器が接続されている。外部機器インタフェース７６は、デジタルカメラ５２，HDD８１、またはメディアドライブ８２それぞれとの間でのデータのやりとりを制御する。
【００８２】
HDD８１は、磁気ディスクを記録媒体として有する、ランダムアクセス可能な記憶装置（記録装置）であり、記憶容量やデータ転送速度などの点が優れている。
【００８３】
HDD８１には、各種のプログラムが実行可能な状態でインストール（記憶）されている。例えば、HDD８１には、CPU７１が実行すべきオペレーティングシステムのプログラムや、その他のアプリケーションプログラム、デバイスドライバなどが不揮発的に記憶されている。
【００８４】
また、本実施の形態では、上述したように、コンピュータ５１が、基準画像に対するターゲット画像の位置関係、即ち、グローバルモーションの値（P，Q，T，U）を求める位置関係算出処理を行うが、この位置関係算出処理を行うプログラムも、HDD８１に記憶（インストール）されている。
【００８５】
メディアドライブ８２には、ＣＤ（Compact Disc）やＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital Versatile Disc）などの可般型のディスク８３が装着される。そして、メディアドライブ８２は、ディスク８３のデータ記録面にアクセスし、そこに記録されているプログラムやデータを読み出し、また、外部機器インタフェース７６から供給されたデータなどをディスク８３に書き込む（記録する）。
【００８６】
ディスク８３は、主に、プログラムやデータのバックアップをとるためや、プログラムまたはデータの販売、流通、配布などを目的として移動するために使用される。従って、基準画像に対するターゲット画像の位置関係を算出する位置関係算出処理を行うプログラムも、ディスク８３に記録した形で、販売等することができる。
【００８７】
以上のように構成されるコンピュータ５１は、例えば、デジタルカメラ５２から供給された、時系列に撮像された複数の撮像画像、または、HDD８１に記憶されている複数枚の撮像画像などを対象として、位置関係算出処理を行う。即ち、コンピュータ５１は、所定の１枚の撮像画像を基準画像とするとともに、他の撮像画像をターゲット画像として、基準画像に対するターゲット画像のグローバルモーションの値（P，Q，T，U）を算出する。
【００８８】
なお、コンピュータ５１は、例えば、米ＩＢＭ社のパーソナル・コンピュータ”ＰＣ／ＡＴ（Personal Computer/Advanced Technology）”の互換機又は後継機を採用することができる。勿論、コンピュータ５１は、他のアーキテクチャを備えたコンピュータでも良い。また、コンピュータ５１と同様の構成は、デジタルカメラ５２内に内蔵することが可能である。この場合、デジタルカメラ５２内で、位置関係算出処理が行われる。
【００８９】
次に、コンピュータ５１による位置関係算出処理について具体的に説明する。
【００９０】
コンピュータ５１による位置関係算出処理では、ターゲット画像を複数のブロックに分割し、１つのブロック内のすべての画素は、基準画像に対して、同一の平行移動のみが行われたものであると近似する。この近似を、以下、適宜、平行移動の近似という。
【００９１】
そこで、最初に、図６と図７を参照して、平行移動の近似について説明する。
【００９２】
ターゲット画像FTは、図６に示すように、基準画像ＦBの座標系を基準とした場合、手ブレにより、座標系がずれた画像となっている。即ち、ここでは、説明を簡単にするため、基準画像ＦBとターゲット画像FTに動物体が存在しないものとすると、ターゲット画像FTは、基準画像ＦBに対して、回転、平行移動、または拡大縮小した画像となっている。
【００９３】
位置関係算出処理では、ターゲット画像FTが、所定の画素数を有する複数のブロックblkに分割される。ここで、ターゲット画像FTのX方向に左からｈ＋１番目で、Y方向に上からｋ＋１番目のブロックを、図２で説明した場合と同様に、ブロックblk（ｈ，ｋ）とする。また、ブロックblk（ｈ，ｋ）の中心位置も、図２で説明した場合と同様に、（Cx（ｈ，ｋ），Cy（ｈ，ｋ））とする。
【００９４】
位置関係算出処理では、ターゲット画像FT内のブロックblk（ｈ，ｋ）内のすべての画素が、図７に示すように、基準画像ＦBに対して、「回転、平行移動、拡大縮小」のうちの、同一の距離と方向の平行移動のみを行っていると近似する。実際の手ブレには、回転および拡大縮小の成分は、ほとんど含まれないため、撮像画像の画像サイズに対して、ブロックblk（ｈ，ｋ）の大きさを十分に小さくすれば、このような近似を行っても十分な精度を得ることができる。
【００９５】
いま、ターゲット画像FTの左からｉ＋１番目で、上からｊ＋１番目の（ｉ，ｊ）画素が、ブロックblk（ｈ，ｋ）内にあるものとして、ブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素（の位置）をアフィン変換によって基準画像ＦB上の対応する位置に移動することを考える。
【００９６】
なお、以下では、基準画像ＦBに対するターゲット画像FTの位置関係、即ち、グローバルモーションの値（P，Q，T，U）を、前述の図３および図４で説明した場合と同様に、（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）と表す。また、このグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）は、（P０，Q０，T０，U０）を基準として、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）だけ変化しているとみることができるので、（P０，Q０，T０，U０）を、以下、適宜、グローバルモーションの基準値という。
【００９７】
いま、ターゲット画像FT上の（ｉ，ｊ）画素が、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換され、基準画像ＦB上の対応する位置（Ｘｉｊ，Ｙｉｊ）に移動するものとすると、位置（Ｘｉｊ，Ｙｉｊ）は、前述の式（４）によって計算される。
【００９８】
但し、ここでは、上述したように、ターゲット画像FT内のブロックblk（ｈ，ｋ）内の各画素は、基準画像ＦBに対して、図８に示すように、平行移動の関係（ずれ）のみがあると近似することにしているので、ブロックblk（ｈ，ｋ）内の画素それぞれについて、逐一、式（４）を計算する必要はない。
【００９９】
即ち、例えば、ターゲット画像FT上のブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））に対応する基準画像ＦB上の位置は、式（４）に従い、次の式（７）で表すことができる。
【０１００】
【数７】
2005309558.tif 000009
・・・・（７）
【０１０１】
この場合、平行移動の近似により、ブロックblk（ｈ，ｋ）内の任意の（ｉ，ｊ）画素の、基準画像ＦB上の対応する位置（Ｘｉｊ，Ｙｉｊ）は、次式で表される。
【０１０２】
【数８】
2005309558.tif 000010
・・・・（８）
【０１０３】
ここで、式（８）の
【０１０４】
【数９】
2005309558.tif 000011
・・・・（９）
【０１０５】
は、（ｉ，ｊ）画素の、ブロックblk（ｈ，ｋ）の中心（Cx（ｈ，ｋ），Cy（ｈ，ｋ））からの相対位置（相対移動量）を表す２次元ベクトルである。
【０１０６】
即ち、ブロックblk（ｈ，ｋ）内の画素は、図８に示すように、同一の距離だけ、同一の方向に移動しているので、そのブロックblk（ｈ，ｋ）内のある１つの（ｉ，ｊ）画素（またはある位置）について、式（４）により、基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）を計算すれば、ブロックblk（ｈ，ｋ）内の他の画素については、式（４）により求められた位置（Ｘｉｊ，Ｙｉｊ）と２次元ベクトルとの加算によって、基準画像ＦB上のアフィン変換先の位置を求めることができる。
【０１０７】
具体的には、例えば、式（７）乃至式（９）によれば、ブロックblk（ｈ，ｋ）内の任意の（ｉ，ｊ）画素の、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によるアフィン変換後の基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）は、式（７）のアフィン変換結果と、式（９）の２次元ベクトルとの加算によって求めることができる。
【０１０８】
なお、式（８）においてブロックblk（ｈ，ｋ）内の画素ごとに異なるのは、右辺の最後の項の２次元ベクトル（ｉ，ｊ）だけなので、実装レベルでは、式（８）の右辺のうちの次式（１０）で示される部分を計算し、その計算結果に対して、２次元ベクトル（ｉ，ｊ）を加算することにより、ブロックblk（ｈ，ｋ）内の任意の（ｉ，ｊ）画素の、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によるアフィン変換後の基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）を求めるのが望ましい。
【０１０９】
【数１０】
2005309558.tif 000012
・・・・（１０）
【０１１０】
以上のように、平行移動の近似を行うことにより、ターゲット画像FT内の画素すべてについて、式（４）の行列計算をする必要がなくなり、計算量を大幅に軽減することができる。
【０１１１】
即ち、上述した式（６）のエラーＥｉｊ（P，Q，T，U）を求める場合の、ターゲット画像FT上のブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素を、基準画像ＦB上にアフィン変換した先の位置（Ｘｉｊ，Ｙｉｊ）を容易に求めることができ、その結果、式（６）のエラーＥｉｊ（P，Q，T，U）の計算量を軽減することができる。
【０１１２】
次に、平行移動の近似を行う場合であっても、式（６）のエラーＥｉｊ（P，Q，T，U）は、そのグローバルモーションの値（P，Q，T，U）のうちのグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を様々な値に変えて求める必要がある。
【０１１３】
そこで、コンピュータ５１による位置関係算出処理では、基準画像ＦBとターゲット画像FTとの位置関係を、グローバルモーションの基準値（P０，Q０，T０，U０）と、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）とによるグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）で表す引数（P，Q，T，U）（＝（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU））をとり、かつ、その引数（P，Q，T，U）が表す位置関係の基準画像ＦBとターゲット画像FTとの、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数ｆE（P，Q，T，U）を求めて処理することで、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を様々な値に変えて、エラーＥｉｊ（P，Q，T，U）を求めずに済むようにしている。
【０１１４】
ここで、統計エラー関数ｆE（P，Q，T，U）の引数（P，Q，T，U）は、グローバルモーションの基準値（P０，Q０，T０，U０）と、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）との和であるグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）である。そして、このグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）のうちの、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）が、様々な値に変えるべき変数であり、従って、統計エラー関数ｆE（P，Q，T，U）は、その引数であるグローバルモーションの値（P，Q，T，U）のうちの、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）だけを引数とする統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）と書くこともできる。
【０１１５】
ところで、統計エラー関数ｆE（P，Q，T，U）は、その引数（P，Q，T，U）が表す位置関係の基準画像ＦBとターゲット画像FTとの、対応する位置の画像データの統計的な差異を表すものであるから、引数であるグローバルモーションの値（P，Q，T，U）によって、ターゲット画像FTの（ｉ，ｊ）画素をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における基準画像ＦBの画像データＧXij,Yijと、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jとの差異としての、例えば、画像データＧXij,Yijと画素値Ｇi,jとの差分自乗誤差の、ターゲット画像FTの画素すべてについての総和などと定義することができる。
【０１１６】
なお、画像データＧXij,Yijと画素値Ｇi,jとの差異としては、その他、例えば、画像データＧXij,Yijと画素値Ｇi,jとの差分絶対値などを用いることが可能である。
【０１１７】
上述のように、統計エラー関数ｆE（P，Q，T，U）は、引数であるグローバルモーションの値（P，Q，T，U）によって、ターゲット画像FTの（ｉ，ｊ）画素をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における基準画像ＦBの画像データＧXij,Yijと、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jとの差分自乗誤差の、ターゲット画像FTの画素すべてについての総和であるため、例えば、ターゲット画像FTのある（ｉ，ｊ）画素を、グローバルモーションの値（P，Q，T，U）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）の画像データＧXij,Yijとの差分自乗誤差を、ターゲット画像FTの（ｉ，ｊ）画素のアフィン変換に用いるグローバルモーションの値（P，Q，T，U）を引数とする関数の、ターゲット画像FTの画素すべてについての総和として求めることができる。
【０１１８】
そこで、ターゲット画像FTのある１つの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素をグローバルモーションの値（P，Q，T，U）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）における基準画像ＦBの画像データＧXij,Yijとの差分自乗誤差の関数を、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）と書くこととする。
【０１１９】
ここで、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｉとｊは、ターゲット画像FTの（ｉ，ｊ）画素（の位置）を表す。また、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊは、ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの値（P，Q，T，U）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）に対応する変数であり、従って、グローバルモーションの値（P，Q，T，U）にも対応する変数である。
【０１２０】
即ち、いま、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）をすべて０とすると、グローバルモーションの値（P，Q，T，U）は、グローバルモーションの基準値（P０，Q０，T０，U０）となるが、このグローバルモーションの基準値（P０，Q０，T０，U０）によって、ターゲット画像FTの（ｉ，ｊ）画素をアフィン変換して得られる基準画像ＦB上の位置を、（Ｘ０ｉｊ，Ｙ０ｉｊ）と表すこととする。
【０１２１】
ここで、基準画像ＦB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）は、式（８）におけるｄP，ｄQ，ｄT，ｄUをすべて０として次式で表すことができる。
【０１２２】
【数１１】
2005309558.tif 000013
・・・・（１１）
【０１２３】
画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊは、ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）と、ｄP，ｄQ，ｄT，ｄUをすべて０としたアフィン変換によって得られる式（１１）の基準画像ＦB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）との差のＸ方向とＹ方向それぞれの成分である。即ち、引数ｄｘｉｊは、式ｄｘｉｊ＝Ｘｉｊ−Ｘ０ｉｊで表され、引数ｄｙｉｊは、式ｄｙｉｊ＝Ｙｉｊ−Ｙ０ｉｊで表される。
【０１２４】
以上のような、ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊを引数とする画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの基準値（P０，Q０，T０，U０）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）から、（ｄｘｉｊ，ｄｙｉｊ）だけ離れた位置（Ｘｉｊ，Ｙｉｊ）（＝（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ））に、（ｉ，ｊ）画素をアフィン変換するグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）が与えられた場合の、そのグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によって、（ｉ，ｊ）画素をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）（＝（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ））の画像データＧXij,Yijと、（ｉ，ｊ）画素の画素値Ｇi,jとの差分自乗誤差を表す。
【０１２５】
ここで、ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）は、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応するから、そのようなＸｉｊから求められる引数ｄｘｉｊと、Ｙｉｊから求められるｄｙｉｊも、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応する。
【０１２６】
従って、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応するｄｘｉｊとｄｙｉｊを引数とする画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、等価的に、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）、ひいては、グローバルモーションの値（P，Q，T，U）を引数とする関数であるということができる。
【０１２７】
ところで、図８で説明したような、ブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換した位置（Ｘｉｊ，Ｙｉｊ）は、一般的に、基準画像ＦBの画素の位置（中心位置）と一致しない場合がほとんどである。
【０１２８】
そのため、撮像画像の画像データがデジタルデータである場合、（ｉ，ｊ）画素（の位置）を基準画像ＦB上にアフィン変換して得られる位置の画像データ（画素値）は、その周辺の画素値から内挿（補間）すること等によって求める必要がある。つまり、（ｉ，ｊ）画素の画素値Ｇi,jと、（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によりアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）の画像データＧXij,Yijとの差分自乗誤差を求めるためには、位置（Ｘｉｊ，Ｙｉｊ）の周辺の画素値を用いた補間処理によって、その位置（Ｘｉｊ，Ｙｉｊ）の画像データＧXij,Yijを求めなければならず、その結果、計算量が膨大となる。
【０１２９】
そこで、コンピュータ５１による位置関係算出処理では、（ｉ，ｊ）画素（の中心位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）が、基準画像ＦBの画素（の中心位置）に一致する場合のグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換を行うことにより、上述のような補間処理を行わずに、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）、ひいては、統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）を求める。
【０１３０】
いま、（ｉ，ｊ）画素（の中心位置）をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）が、基準画像ＦBの画素（の中心位置）に一致する場合の、その基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）を、特に、整数位置と呼ぶこととすると、（ｉ，ｊ）画素に対しては、次のような整数位置が設定される。
【０１３１】
即ち、（ｉ，ｊ）画素をアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）が、整数位置となる場合のグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）は、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）が微小値であることから、（ｉ，ｊ）画素を、グローバルモーションの基準値（P０，Q０，T０，U０）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）、つまり、式（１１）で表される位置（Ｘ０ｉｊ，Ｙ０ｉｊ）に近い位置となる。
【０１３２】
そこで、（ｉ，ｊ）画素に対しては、図９に示すように、その（ｉ，ｊ）画素を、グローバルモーションの基準値（P０，Q０，T０，U０）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）に近い、例えば、３×３（横×縦）の９点の基準画像ＦB上の整数位置が設定される。
【０１３３】
なお、式（７）乃至式（１０）で説明したことから、ブロックblk（ｈ，ｋ）内の各画素を、グローバルモーションの基準値（P０，Q０，T０，U０）によりアフィン変換した位置（Ｘ０ｉｊ，Ｙ０ｉｊ）は、式（１１）のうちの式（１２）で示される部分を１回だけ計算しておけば、その式（１２）の計算結果と、ブロックblk（ｈ，ｋ）内の各画素の位置を表す２次元ベクトル（ｉ，ｊ）との加算だけで求めることができる。
【０１３４】
【数１２】
2005309558.tif 000014
・・・・（１２）
【０１３５】
図９では、位置（Ｘ０ｉｊ，Ｙ０ｉｊ）に一番近い整数位置（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ）と、その整数位置（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ）に隣接する８点の整数位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ），（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ），（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ＋１），（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ＋１），および（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ＋１）が示されている。
【０１３６】
整数位置は、上述したように、基準画像ＦB上の画素の位置（中心位置）に一致するので、整数位置の画像データは、基準画像ＦB上の、その整数位置の画素の画素値そのものである。
【０１３７】
従って、（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素に対する９個の整数位置の基準画像ＦBの画素の画素値との差分自乗誤差は、補間処理を行わずに、基準画像ＦBとターゲット画像FTの画素値をそのまま用いて、容易に求めることができる。
【０１３８】
即ち、ターゲット画像FT上の（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素に対する基準画像ＦB上の整数位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１）の画素値ＧIntX0ij-1,IntY0ij-1、整数位置（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ−１）の画素値ＧIntX0ij,IntY0ij-1、整数位置（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ−１）の画素値ＧIntX0ij+1,IntY0ij-1、整数位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ）の画素値ＧIntX0ij-1,IntY0ij、整数位置（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ）の画素値ＧIntX0ij,IntY0ij、整数位置（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ）の画素値ＧIntX0ij+1,IntY0ij、整数位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ＋１）の画素値ＧIntX0ij-1,IntY0ij+1、整数位置（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ＋１）の画素値ＧIntX0ij,IntY0ij+1、整数位置（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ＋１）の画素値ＧIntX0ij+1,IntY0ij+1それぞれとの差分自乗誤差Eａ（ｉ，ｊ），Eｂ（ｉ，ｊ），Eｃ（ｉ，ｊ），Eｄ（ｉ，ｊ），Eｅ（ｉ，ｊ），Eｆ（ｉ，ｊ），Eｇ（ｉ，ｊ），Eｈ（ｉ，ｊ），Eｉ（ｉ，ｊ）は、次の式（１３）乃至式（２１）で求めることができる。
【０１３９】
【数１３】
2005309558.tif 000015
・・・・（１３）
【０１４０】
【数１４】
2005309558.tif 000016
・・・・（１４）
【０１４１】
【数１５】
2005309558.tif 000017
・・・・（１５）
【０１４２】
【数１６】
2005309558.tif 000018
・・・・（１６）
【０１４３】
【数１７】
2005309558.tif 000019
・・・・（１７）
【０１４４】
【数１８】
2005309558.tif 000020
・・・・（１８）
【０１４５】
【数１９】
2005309558.tif 000021
・・・・（１９）
【０１４６】
【数２０】
2005309558.tif 000022
・・・・（２０）
【０１４７】
【数２１】
2005309558.tif 000023
・・・・（２１）
【０１４８】
以上の式（１３）乃至式（２１）の差分自乗誤差Eａ（ｉ，ｊ），Eｂ（ｉ，ｊ），Eｃ（ｉ，ｊ），Eｄ（ｉ，ｊ），Eｅ（ｉ，ｊ），Eｆ（ｉ，ｊ），Eｇ（ｉ，ｊ），Eｈ（ｉ，ｊ），Eｉ（ｉ，ｊ）が、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の値（関数値）となる。
【０１４９】
なお、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊは、上述したように、ターゲット画像FTの（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換して得られる式（８）の基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）と、ｄP，ｄQ，ｄT，ｄUをすべて０としたアフィン変換によって得られる式（１１）の基準画像ＦB上の位置（Ｘ０ｉｊ，Ｙ０ｉｊ）との差のＸ方向とＹ方向それぞれの成分である。即ち、引数ｄｘｉｊは、式ｄｘｉｊ＝Ｘｉｊ−Ｘ０ｉｊで表され、引数ｄｙｉｊは、式ｄｙｉｊ＝Ｙｉｊ−Ｙ０ｉｊで表される。
【０１５０】
従って、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊは、式（８）から式（１１）を減算することにより、次式で求められる。
【０１５１】
【数２２】
2005309558.tif 000024
・・・・（２２）
【０１５２】
式（２２）によれば、引数ｄｘｉｊおよびｄｙｉｊは、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を引数とする関数であり、従って、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応する。また、式（２２）では、ブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素を表す変数ｉおよびｊの項が相殺されて消去されている。従って、ブロックblk（ｈ，ｋ）内のすべての画素において、変数ｄｘｉｊおよびｄｙｉｊは、同一であり、ブロックblk（ｈ，ｋ）内のある１画素について引数ｄｘｉｊおよびｄｙｉｊを計算すれば、その計算結果は、ブロックblk（ｈ，ｋ）の他の画素に使用することができる。その結果、計算量を軽減することができる。
【０１５３】
次に、上述したように、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、その（ｉ，ｊ）画素をグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換して得られる基準画像ＦB上の位置（Ｘｉｊ，Ｙｉｊ）＝（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ）の基準画像ＦBの画像データＧXij,Yijとの差分自乗誤差を表す。
【０１５４】
画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、このように、ターゲット画像FTの位置（ｉ，ｊ）における（ｉ，ｊ）画素の画素値Ｇi,jと、基準画像ＦB上の位置（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ）における画像データＧXij,Yijとの差分自乗誤差を表すという性質上、図１０に示すように、位置に関係する引数ｄｘｉｊ，ｄｙｉｊについて、滑らかな関数となる。なお、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、理想的には、図１０に示すように、式（１３）乃至式（２１）の差分自乗誤差Eａ（ｉ，ｊ），Eｂ（ｉ，ｊ），Eｃ（ｉ，ｊ），Eｄ（ｉ，ｊ），Eｅ（ｉ，ｊ），Eｆ（ｉ，ｊ），Eｇ（ｉ，ｊ），Eｈ（ｉ，ｊ），Eｉ（ｉ，ｊ）が表す点をすべて通る面となる。
【０１５５】
そこで、本実施の形態では、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、例えば、引数ｄｘｉｊ，ｄｙｉｊそれぞれの最大次数が２次の関数として、次式で定義することとする。
【０１５６】
【数２３】
2005309558.tif 000025
・・・・（２３）
【０１５７】
ここで、Ｃ０乃至Ｃ８は、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を定義する係数である。この係数Ｃ０乃至Ｃ８は、次のようにして求めることができる。
【０１５８】
即ち、例えば、式（１３）の差分自乗誤差Eａ（ｉ，ｊ）が得られる基準画像ＦB上の位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１）が、（ｉ，ｊ）画素をグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によりアフィン変換することにより得られる位置（Ｘｉｊ，Ｙｉｊ）、つまり、（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ）であるとする。この場合、式（１３）の差分自乗誤差Ｅａ（ｉ，ｊ）が得られる基準画像ＦB上の位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１）は、図１１に示すように、アフィン変換により得られる位置（Ｘ０ｉｊ＋ｄｘｉｊ，Ｙ０ｉｊ＋ｄｙｉｊ）に一致するから、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊは、ｄｘｉｊ＝（ＩｎｔＸ０ｉｊ−１−Ｘ０ｉｊ）とｄｙｉｊ＝（ＩｎｔＹ０ｉｊ−１−Ｙ０ｉｊ）と、それぞれ表すことができる。
【０１５９】
従って、式（２３）で定義される画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊとｄｙｉｊが、ｄｘｉｊ＝（ＩｎｔＸ０ｉｊ−１−Ｘ０ｉｊ）とｄｙｉｊ＝（ＩｎｔＹ０ｉｊ−１−Ｙ０ｉｊ）であるときに、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、式（１３）の差分自乗誤差Ｅａ（ｉ，ｊ）に等しくなる。
【０１６０】
即ち、式（２４）が成り立つ。
【０１６１】
【数２４】
2005309558.tif 000026
・・・・（２４）
【０１６２】
同様にして、式（１４）乃至式（２１）の差分自乗誤差Ｅｂ（ｉ，ｊ）乃至Ｅｉ（ｉ，ｊ）について、次の式（２５）乃至（３２）が成り立つ。
【０１６３】
【数２５】
2005309558.tif 000027
・・・・（２５）
【０１６４】
【数２６】
2005309558.tif 000028
・・・・（２６）
【０１６５】
【数２７】
2005309558.tif 000029
・・・・（２７）
【０１６６】
【数２８】
2005309558.tif 000030
・・・・（２８）
【０１６７】
【数２９】
2005309558.tif 000031
・・・・（２９）
【０１６８】
【数３０】
2005309558.tif 000032
・・・・（３０）
【０１６９】
【数３１】
2005309558.tif 000033
・・・・（３１）
【０１７０】
【数３２】
2005309558.tif 000034
・・・・（３２）
【０１７１】
上述の９個の式（２４）乃至（３２）は、９個の係数Ｃ０乃至Ｃ８を未知変数とする連立方程式である。従って、式（２４）乃至（３２）の連立方程式を解くことにより、式（２３）の係数Ｃ０乃至Ｃ８を求めることができる。
【０１７２】
ところで、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）は、上述したように、微小値であるため、そのような微小値のグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応する引数ｄｘｉｊおよびｄｙｉｊも微小値となる。
【０１７３】
このように、引数ｄｘｉｊおよびｄｙｉｊが微小値である場合、式（２３）の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の引数ｄｘｉｊおよびｄｙｉｊの合計の次数が３次以上である項については、その項を無視しても、計算精度にほとんど影響しない。そこで、式（２３）は、式（３３）に示すように、最高次数が２次の２次関数で近似することができる。
【０１７４】
【数３３】
2005309558.tif 000035
・・・・（３３）
【０１７５】
ここで、ｄｘｉｊおよびｄｙｉｊは、上述したように、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）に対応する値であり、式（２２）に示したように、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）で表すことができる。式（３３）では、そのことを分かりやすくするために、ｄｘｉｊをｄｘｉｊ（ｄP，ｄQ，ｄT，ｄU）と、ｄｙｉｊをｄｙｉｊ（ｄP，ｄQ，ｄT，ｄU）と、それぞれ、ｄP，ｄQ，ｄT、およびｄUの関数として表している。
【０１７６】
上述したことから、ターゲット画像FT上の（ｉ，ｊ）画素について定式化した式（３３）の画素エラー関数E（ｉ，ｊ，ｄｘｉｊ（ｄP，ｄQ，ｄT，ｄU），ｄｙｉｊ（ｄP，ｄQ，ｄT，ｄU））の、ターゲット画像FT上のすべての画素についての総和が、統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）である。従って、統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）は、式（３４）で表すことができる。そして、ターゲット画像FTに対して求めるべき正確なグローバルモーションの値（P１，Q１，T１，U１）＝（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）は、式（３４）を最小にするグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を用いて表されるグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によって与えられる。
【０１７７】
【数３４】
2005309558.tif 000036
・・・・（３４）
【０１７８】
ここで、式（３４）のΣは、ターゲット画像FTの画素（Ｗ×Ｈ画素）すべてについての総和を表す。
【０１７９】
式（３４）の統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）は、ターゲット画像FTの各画素についての式（３３）の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の総和であり、式（３３）と同様に変数ｄｘｉｊとｄｙｉｊそれぞれの最大次数が２次の２次関数となる。従って、式（３４）の統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）が最小となる変数ｄP，ｄQ，ｄT、およびｄUの値は、式（３４）の統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）を、変数ｄP，ｄQ，ｄT，ｄUのそれぞれで偏微分し、その偏微分した式を０とする方程式を解くことで得ることができる。
【０１８０】
具体的には、ターゲット画像FT上の（ｉ，ｊ）画素それぞれに対して得られた画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ（ｄP，ｄQ，ｄT，ｄU），ｄｙｉｊ（ｄP，ｄQ，ｄT，ｄU））の総和である統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）として、例えば、式（３５）が得られたとする。
【０１８１】
【数３５】
2005309558.tif 000037
・・・・（３５）
【０１８２】
ここで、式（３５）では、ターゲット画像FT上のある（ｉ，ｊ）画素における画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ（ｄP，ｄQ，ｄT，ｄU），ｄｙｉｊ（ｄP，ｄQ，ｄT，ｄU））が、（３ｄP2＋４ｄQ2−２ｄPｄQ＋・・・）となっており、また別の（ｉ’，ｊ’）画素の画素エラー関数Ｅ（ｉ’，ｊ’，ｄｘｉ’ｊ’（ｄP，ｄQ，ｄT，ｄU），ｄｙｉ’ｊ’（ｄP，ｄQ，ｄT，ｄU））が、（５ｄP2−２ｄQ2＋１０ｄPｄQ＋・・・）となっている。さらに、式（３５）では、ターゲット画像FT上の全画素の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ（ｄP，ｄQ，ｄT，ｄU），ｄｙｉｊ（ｄP，ｄQ，ｄT，ｄU））の総和である統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）が、（１００ｄP2−６０ｄQ2＋１８ｄPｄQ＋・・・）となっている。この場合、統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）である（１００ｄP2−６０ｄQ2＋１８ｄPｄQ＋・・・）を、変数ｄP，ｄQ，ｄT，ｄUで偏微分した式それぞれが０となるときの変数ｄP，ｄQ，ｄT、およびｄUの値を求めることにより、ターゲット画像FTに対する正確なグローバルモーションの値（P１，Q１，T１，U１）を得ることができる。
【０１８３】
統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）は、ｄP，ｄQ，ｄT，ｄUを引数とする、いわば解析的な関数、即ち、変数ｄP，ｄQ，ｄT，ｄUそれぞれで偏微分することができる関数であるため、この統計エラー関数ｆE（ｄP，ｄQ，ｄT，ｄU）を用いることにより、ターゲット画像FTに対する正確なグローバルモーションの値（P１，Q１，T１，U１）を求めるにあたって、ｄP，ｄQ，ｄT、およびｄUを様々な値に変えて、差分自乗誤差を計算する必要はない。従って、コンピュータ５１による位置関係算出処理によれば、計算量を大幅に軽減することができる。
【０１８４】
次に、図１２のフローチャートを参照して、コンピュータ５１の位置関係算出処理について説明する。この位置関係算出処理は、ユーザの操作により、例えば、キーボード７９またはマウス８０などから、位置関係算出処理を開始するコマンドが入力されたときに開始される。また、コンピュータ５１は、位置関係算出処理の対象とする基準画像ＦBとターゲット画像FTを、既に認識（取得）しているものとする。
【０１８５】
初めに、ステップＳ３１において、コンピュータ５１（のCPU７１）は、グローバルモーションの基準値（P０，Q０，T０，U０）の初期値を取得し、グローバルモーションの基準値（P０，Q０，T０，U０）（としての変数）にセットして、ステップＳ３２に進む。
【０１８６】
なお、ステップＳ３１では、グローバルモーションの基準値（P０，Q０，T０，U０）の初期値としては、例えば、コンピュータ５１自身が、上述した図１のグローバルモーション計算処理部１１で説明した処理を行うことにより求めたグローバルモーションの値を採用することができる。また、その他の装置で算出されたグローバルモーションの値を、ユーザが、キーボード７９またはマウス８０などを操作することにより、あるいは、外部機器インタフェース７６を介して、コンピュータ５１に入力し、コンピュータ５１は、その入力されたグローバルモーションの値を初期値として使用してもよい。なお、手ブレ量が大きい場合には、このような所定の方法で計算されたグローバルモーションの値を初期値として使用するのが望ましい。一方、撮像画像にほとんど手ブレが生じていない場合には、グローバルモーションの基準値（P０，Q０，T０，U０）の初期値として、例えば、（１，０，０，０）を使用することもできる。
【０１８７】
ステップＳ３２において、コンピュータ５１は、グローバルモーションの基準値（P０，Q０，T０，U０）と、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）とで表されるグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）＝（P，Q，T，U）を引数とする式（３４）の統計エラー関数ｆE（P，Q，T，U）＝ｆE（ｄP，ｄQ，ｄT，ｄU）を求め、ステップＳ３３に進む。なお、ステップＳ３２における式（３４）の統計エラー関数ｆE（P，Q，T，U）＝ｆE（ｄP，ｄQ，ｄT，ｄU）を求める処理については、図１３を参照して後述する。
【０１８８】
ステップＳ３３において、コンピュータ５１は、ステップＳ３２で求められた統計エラー関数ｆE（P，Q，T，U）＝ｆE（ｄP，ｄQ，ｄT，ｄU）が所定の条件を満たすかどうか、即ち、例えば、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の統計エラー関数ｆE（P０，Q０，T０，U０）が十分に小さいかどうかを判定する。
【０１８９】
具体的には、ステップＳ３３では、統計エラー関数ｆE（P０，Q０，T０，U０）が、例えば、所定の閾値以下であるかどうかや、最小値となったかどうかが判定される。
【０１９０】
ここで、統計エラー関数ｆE（Ｐ０＋ｄP，Ｑ０＋ｄQ，Ｔ０＋ｄT，Ｕ０＋ｄU）は、式（３３）で表される画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の、ターゲット画像FTの画素すべてについての総和であるから、統計エラー関数ｆE（P０，Q０，T０，U０）が、所定の閾値以下であるかどうか等を判定するためには、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を求める必要がある。
【０１９１】
ところで、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）が、（０，０，０，０）である場合、式（２２）により、ｄｘｉｊとｄｙｉｊは、ともに０となる。従って、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、その引数であるｄｘｉｊとｄｙｉｊを０とすることによって求めることができる。
【０１９２】
なお、統計エラー関数ｆE（P０，Q０，T０，U０）が十分に小さいということは、ターゲット画像FT上の（ｉ，ｊ）画素を、現在のグローバルモーションの基準値（P０，Q０，T０，U０）によりアフィン変換した位置（Ｘｉｊ，Ｙｉｊ）の基準画像ＦB上の画素値ＧXij,Yijと、ターゲット画像FT上の（ｉ，ｊ）画素の画素値Ｇi,jとの差が、基準画像ＦBの画素すべてにわたって十分に小さく、グローバルモーションの基準値（P０，Q０，T０，U０）によるアフィン変換によって、ターゲット画像FTを、基準画像ＦBに対して正確に位置合わせすることができることを意味する。
【０１９３】
ステップＳ３３において、ステップＳ３２で求められた統計エラー関数ｆE（P，Q，T，U）＝ｆE（ｄP，ｄQ，ｄT，ｄU）が所定の条件を満たす、即ち、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の統計エラー関数ｆE（P０，Q０，T０，U０）が十分に小さいと判定された場合、ステップＳ３４に進み、コンピュータ５１は、現在のグローバルモーションの基準値（P０，Q０，T０，U０）を、ターゲット画像FTに対するグローバルモーションの値（P１，Q１，T１，U１）として出力して、処理を終わる。ここで、１回目のステップＳ３３の処理において、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の統計エラー関数ｆE（P０，Q０，T０，U０）が十分に小さいと判定された場合、ステップＳ３１でグローバルモーションの基準値（P０，Q０，T０，U０）にセットした初期値が、ターゲット画像FTに対するグローバルモーションの値（P１，Q１，T１，U１）として出力されることとなる。
【０１９４】
一方、ステップＳ３３において、ステップＳ３２で求められた統計エラー関数ｆE（P，Q，T，U）＝ｆE（ｄP，ｄQ，ｄT，ｄU）が所定の条件を満たさない、即ち、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の統計エラー関数ｆE（P０，Q０，T０，U０）がまだ大きいと判定された場合、ステップＳ３５に進み、コンピュータ５１は、ステップＳ３２で求められた統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小とする引数であるグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を解析的に求める。即ち、ステップＳ３３では、コンピュータ５１は、式（３４）の統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を、変数ｄP，ｄQ，ｄT，ｄUのそれぞれで偏微分し、その偏微分した式が０となる変数ｄP，ｄQ，ｄT、およびｄUを求めることで、式（３４）の統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）が最小となる変数ｄP1，ｄQ1，ｄT1，U1を求める。
【０１９５】
ステップＳ３５の後、ステップＳ３６に進み、コンピュータ５１は、現在のグローバルモーションの基準値（P０，Q０，T０，U０）を、ステップＳ３５で求めたグローバルモーションの値（P，Q，T，U）＝（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）に更新し、ステップＳ３２に戻る。そして、続くステップＳ３３において、グローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）を、（０，０，０，０）とした場合の統計エラー関数ｆE（P０，Q０，T０，U０）が十分に小さいと判定されるまで、上述したステップＳ３２，Ｓ３３，Ｓ３５、およびＳ３６の処理が繰り返される。
【０１９６】
次に、図１３を参照して、図１２のステップＳ３２での統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求める処理について説明する。
【０１９７】
初めに、ステップＳ５１において、コンピュータ５１は、Ｘ方向の画素の位置ｉが０≦ｉ≦Ｗ−１の範囲で表され、かつ、Ｙ方向の画素の位置ｊが０≦ｊ≦Ｈ−１の範囲で表されるターゲット画像FTを、複数のブロックblk（ｈ，ｋ）に分割して、ステップＳ５２に進む。
【０１９８】
ステップＳ５２において、コンピュータ５１は、式（１１）により、ブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素（の位置）を、現在のグローバルモーションの基準値（P０，Q０，T０，U０）により変換した位置（Ｘ０ｉｊ，Ｙ０ｉｊ）を、すべてのブロックの画素について求め、ステップＳ５３に進む。なお、ステップＳ５３では、上述した平行移動の近似により、ブロックblk（ｈ，ｋ）内のすべての画素が、同一の平行移動を行っているものとして、現在のグローバルモーションの基準値（P０，Q０，T０，U０）によりアフィン変換した位置（Ｘ０ｉｊ，Ｙ０ｉｊ）を求める計算が行われる。
【０１９９】
ステップＳ５３において、コンピュータ５１は、ステップＳ５２でターゲット画像FTの各画素について求めた位置（Ｘ０ｉｊ，Ｙ０ｉｊ）それぞれに対して、近傍の３×３の整数位置を求めて、ステップＳ５４に進む。即ち、ステップＳ５４では、ターゲット画像FTの１つの（ｉ，ｊ）画素につき、図９を参照して説明したように、９個の整数位置（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ−１），（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ），（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ），（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ），（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ＋１），（ＩｎｔＸ０ｉｊ，ＩｎｔＹ０ｉｊ＋１），および（ＩｎｔＸ０ｉｊ＋１，ＩｎｔＹ０ｉｊ＋１）が求められる。
【０２００】
ステップＳ５４において、コンピュータ５１は、ステップＳ５３で求めた９個の整数位置に対して、式（１３）乃至式（２１）で表される差分自乗誤差Eａ（ｉ，ｊ）乃至Eｉ（ｉ，ｊ）を、ターゲット画像FTの画素すべてについて計算して、ステップＳ５５に進む。
【０２０１】
ステップＳ５５において、コンピュータ５１は、ステップＳ５４で求めた式（１３）乃至（２１）の差分自乗誤差Eａ（ｉ，ｊ）乃至Eｉ（ｉ，ｊ）を用いて得られる式（２４）乃至式（３２）の連立方程式をたてて解くことにより、式（２３）で表される画素エラー関数E（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の係数Ｃ０乃至Ｃ８を、ターゲット画像FTの画素すべてについて求め、ステップＳ５６に進む。
【０２０２】
ステップＳ５６において、コンピュータ５１は、式（２３）の変数ｄｘｉｊおよびｄｙｉｊの合計の次数が３次以上である項を削除することにより、式（２３）を近似した式（３３）の画素エラー関数E（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、ターゲット画像FTの画素すべてについて求め、ステップＳ５７に進む。なお、式（２３）の画素エラー関数E（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、式（３３）の画素エラー関数E（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）に近似せずに、そのまま用いるようにしてもよい。
【０２０３】
ステップＳ５７において、コンピュータ５１は、ステップＳ５６で求めた式（３３）の画素エラー関数E（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、ターゲット画像FTの全ての画素について加算することにより、式（３４）の統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求めて、リターンする。
【０２０４】
以上のように、コンピュータ５１による位置関係算出処理によれば、基準画像ＦBとターゲット画像FTとの位置関係の基準となるグローバルモーションの基準値（P０，Q０，T０，U０）の初期値を取得し、基準画像ＦBとターゲット画像FTとの位置関係を、グローバルモーションの基準値（P０，Q０，T０，U０）と、変数であるグローバルモーションの変化量（ｄP，ｄQ，ｄT，ｄU）とで表す引数（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）をとり、かつ、その引数（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）が表す位置関係の基準画像ＦBとターゲット画像FTとの、対応する位置どうしの画像データの統計的な差異を表す統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求め、その統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）に基づいて、基準画像ＦBとターゲット画像FTとの位置関係としてのグローバルモーションの値（P１，Q１，T１，U１）を求めるようにしたので、少ない計算量で、正確なグローバルモーションの値（P１，Q１，T１，U１）を求めることができる。
【０２０５】
即ち、位置関係算出処理によれば、ターゲット画像FTを複数のブロックblk（ｈ，ｋ）に分割し、ブロックblk（ｈ，ｋ）における画素（の位置）が、すべて、同一の平行移動を行っており、従って、基準画像ＦBの対応する位置と同一の位置関係を有するものとして、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求めるので、計算量を低減することができる。
【０２０６】
さらに、位置関係算出処理によれば、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）の引数（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）が、ターゲット画像FTの（ｉ，ｊ）画素の位置（ｉ，ｊ）と、その位置（ｉ，ｊ）に対してグローバルモーションの基準値（P０，Q０，T０，U０）に対応する位置関係にある基準画像ＦBの位置（Ｘ０ｉｊ，Ｙ０ｉｊ）の近傍の画素の位置である整数位置（図９の（ＩｎｔＸ０ｉｊ−１，ＩｎｔＹ０ｉｊ−１）など）との位置関係を表すときの、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、整数位置の画素の画素値(例えば、式（１３）のＧIntX0ij-1,IntY0ij-1など)との差異としての、例えば、差分自乗誤差を用いて、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求めるので、補間処理を行わずに済み、やはり計算量を低減することができる。
【０２０７】
また、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）は、引数ｄｘｉｊとｄｙｉｊそれぞれの最大次数が２次の画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の総和であり、そのような画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、式（２３）に示したように、９個の係数Ｃ０乃至Ｃ８で定義することができる。従って、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、引数ｄｘｉｊおよびｄｙｉｊに対応するグローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）が、ターゲット画像FTの（ｉ，ｊ）画素の位置（ｉ，ｊ）と、その位置（ｉ，ｊ）に対してグローバルモーションの基準値（P０，Q０，T０，U０）に対応する位置関係にある基準画像ＦBの位置（Ｘ０ｉｊ，Ｙ０ｉｊ）の近傍の、例えば、３×３の９個の整数位置それぞれとの第１乃至第９の位置関係を表すときの、ターゲット画像FTの（ｉ，ｊ）画素の画素値Ｇi,jと、第１乃至第９の位置関係の基準画像ＦBの画素の画素値それぞれとの差異としての式（１３）乃至式（２１）の差分自乗誤差を用いて求めることができる。そして、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）は、そのような画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）の総和として求めることができる。
【０２０８】
さらに、位置関係算出処理では、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を偏微分することにより、解析的に求め、グローバルモーションの基準値（P０，Q０，T０，U０）を、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）に更新する。そして、更新後のグローバルモーションの基準値（P０，Q０，T０，U０）を用いた統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）に基づいて、基準画像ＦBとターゲット画像FTとの位置関係としての、ターゲット画像FTに対するグローバルモーションの値（P１，Q１，T１，U１）を求めるので、少ない計算量で、正確なグローバルモーションの値（P１，Q１，T１，U１）を求めることができる。
【０２０９】
即ち、第１の処理として、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求め、第２の処理として、その統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）を求め、第３の処理として、グローバルモーションの基準値（P０，Q０，T０，U０）を、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）に更新する、ことを、統計エラー関数ｆE（P０，Q０，T０，U０）が所定の条件を満たすまで繰り返すので、少ない計算量で、正確なグローバルモーションの値（P１，Q１，T１，U１）を求めることができる。
【０２１０】
ここで、第１乃至第３の処理は、繰り返さずに、１回だけ行うようにしてもよい。即ち、グローバルモーションの基準値（P０，Q０，T０，U０）に初期値をセットして求められる統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）を求め、グローバルモーションの基準値（P０，Q０，T０，U０）を、統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を最小にする引数（P０＋ｄP1，Q０＋ｄQ1，T０＋ｄT1，U０＋ｄU1）に更新し、その更新後のグローバルモーションの基準値（P０，Q０，T０，U０）を、ターゲット画像FTに対するグローバルモーションの値（P１，Q１，T１，U１）としてもよい。
【０２１１】
なお、上述の例において、ターゲット画像FT上の（ｉ，ｊ）画素が、ターゲット画像FTの周辺部の画素である場合、その（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）により変換して得られる位置（Ｘｉｊ，Ｙｉｊ）が、基準画像ＦBの領域外となってしまうことがある。これに対する対処としては、例えば、ターゲット画像FTの周辺部にＭ画素のマージンをとって、ターゲット画像FTの画素のうちの、Ｍ≦ｉ≦Ｗ−Ｍ−１、かつＭ≦ｊ≦Ｈ−Ｍ−１の範囲の画素を、位置関係算出処理の対象とするようにすればよい。
【０２１２】
なお、位置関係算出処理を行う基準画像ＦBまたはターゲット画像FTの中に、動いている物体（動物体の被写体）が撮像されている領域がある場合、この動物体の領域を、グローバルモーションの値を求めるのに用いると、手ブレ（グローバルモーション）とは関係がない動物体の動きの影響を受け、グローバルモーションの値の精度が劣化する。従って、正確な手ブレによるグローバルモーションの値を求めるためには、例えば、動物体の位置（領域）をユーザに指定してもらうなどして、位置関係算出処理の対象から動物体の領域を含むブロックblk（ｈ，ｋ）を除外して、グローバルモーションの値（P，Q，T，U）を求めるようにすればよい。また、ユーザに指定してもらう以外に、コンピュータ５１自身が、動物体の位置（領域）を検出するようにしてもよい。
【０２１３】
また、上述した例では、グローバルモーションを表す変数として、（P，Q，T，U）の４つの変数を用いたが、回転、平行移動、または拡大縮小のいずれかが発生していない、または、無視できるほど微小である場合には、対応する変数の値を１または０の定数として、実質上のグローバルモーションを表す変数（P，Q，T，U）の数を少なくすることができる。
【０２１４】
逆に、ターゲット画像FT上の（ｉ，ｊ）画素の、基準画像ＦB上の対応する位置（Ｘｉｊ，Ｙｉｊ）に対する位置関係を表すグローバルモーションは、式（３６）に示すように、（α，β，γ，δ，T，U）の６個の変数を用いて、さらに一般化して表すこともできる。
【０２１５】
【数３６】
2005309558.tif 000038
・・・・（３６）
【０２１６】
なお、以上のような位置関係算出処理は、ビデオカメラにおける手ブレ補正や、デジタルスチルカメラにおいて、高速撮像により複数枚の画像を得て加算するときの位置あわせなどに適用することができる。
【０２１７】
また、本実施の形態では、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、引数ｄｘｉｊ，ｄｙｉｊそれぞれの最大次数が２次の関数として、式（２３）で定義することとしたが、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）は、引数ｄｘｉｊ，ｄｙｉｊそれぞれの最大次数が２次以外の関数として、他の式で定義することが可能である。但し、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を、式（２３）で定義する場合には、その式（２３）における９個の係数C０乃至C８を求めるために、上述したように、９点の整数位置を設定する必要があるが、画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を他の式で定義する場合には、少なくとも、その式における求めるべき係数の数に等しい数の整数位置を設定する必要がある。
【０２１８】
ここで、通常の撮影において生じる手振れの、回転と拡大縮小の成分は、最大でも、例えば、１６０画素あたり４画素程度である。従って、ブロックblk（ｈ，ｋ）のサイズは、１７×１７画素（横×縦）（またはそれ以下）とすることができる。
【０２１９】
即ち、ターゲット画像FTのブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素を、グローバルモーションの値（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）によってアフィン変換することにより得られる基準画像FB上の位置は、上述の式（４）で表される（Ｘｉｊ，Ｙｉｊ）である。また、ターゲット画像FTのブロックblk（ｈ，ｋ）内の（ｉ，ｊ）画素を、平行移動のみを行っていると近似した基準画像FB上の位置は、上述の式（８）で表される（Ｘｉｊ，Ｙｉｊ）である。従って、平行移動の近似をしたときの誤差は、式（４）で得られる（Ｘｉｊ，Ｙｉｊ）と式（８）で得られる（Ｘｉｊ，Ｙｉｊ）との差となる。
【０２２０】
式（４）と式（８）とは、ターゲット画像FTのブロックblk（ｈ，ｋ）内の位置を表す（ｉ，ｊ）が、その中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））を表しているときに一致し、この場合、平行移動の近似を行うことにより式（８）から得られる基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）は、式（４）のアフィン変換で得られる基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）に一致するので、平行移動の近似を行うことにより式（８）から得られる基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）には、誤差は生じない。
【０２２１】
一方、平行移動の近似を行うことにより式（８）から得られる基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）において最大の誤差が生じるのは、誤差が生じないブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））から最も離れた位置（ｉ，ｊ）を、基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）に変換する場合である。
【０２２２】
そして、ブロックblk（ｈ，ｋ）のサイズが、上述したように、１７×１７画素である場合には、その中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））から最も離れたブロックblk（ｈ，ｋ）内の位置（ｉ，ｊ）は、Ｘ方向およびＹ方向のいずれについても、中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））から８画素分だけ離れた位置である。
【０２２３】
回転と拡大縮小の成分は、上述したように、１６０画素あたり４画素程度であるから、８画素あたりでは、０．２画素程度である。
【０２２４】
従って、ブロックblk（ｈ，ｋ）のサイズが、１７×１７画素である場合に、平行移動の近似を行うことにより式（８）から得られる基準画像FB上の位置（Ｘｉｊ，Ｙｉｊ）の最大の誤差は、たかだか０．２画素分であり、この程度の誤差は、グローバルモーションの値を求めるにあたって要求される精度に影響しない。
【０２２５】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２２６】
【図１】従来の画像処理装置の一例の構成を示すブロック図である。
【図２】グローバルモーション計算部２２の処理について説明する図である。
【図３】従来の画像処理装置の他の一例の構成を示すブロック図である。
【図４】グローバルモーション高精度計算処理部３１の処理について説明する図である。
【図５】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図６】平行移動の近似を説明する図である。
【図７】平行移動の近似を説明する図である。
【図８】ターゲット画像FT内のブロックblk（ｈ，ｋ）を説明する図である。
【図９】（ｉ，ｊ）画素の基準画像ＦB上の整数位置を説明する図である。
【図１０】画素エラー関数Ｅ（ｉ，ｊ，ｄｘｉｊ，ｄｙｉｊ）を説明する図である。
【図１１】（ｉ，ｊ）画素をアフィン変換することにより得られる位置（Ｘｉｊ，Ｙｉｊ）を説明する図である。
【図１２】位置関係算出処理を説明するフローチャートである。
【図１３】統計エラー関数ｆE（P０＋ｄP，Q０＋ｄQ，T０＋ｄT，U０＋ｄU）を求める処理を説明するフローチャートである。
【符号の説明】
【０２２７】
１１    グローバルモーション計算処理部，  ３１    グローバルモーション高精度計算処理部，  ５１    コンピュータ，  ５２    デジタルカメラ，  ５３    インターネット，  ７１    CPU，  ７２    メモリ，  ８１    HDD，  ８３    ディスク
【図１】
2005309558.tif 000039
【図２】
2005309558.tif 000040
【図３】
2005309558.tif 000041
【図４】
2005309558.tif 000042
【図５】
2005309558.tif 000043
【図６】
2005309558.tif 000044
【図７】
2005309558.tif 000045
【図８】
2005309558.tif 000046
【図９】
2005309558.tif 000047
【図１０】
2005309558.tif 000048
【図１１】
2005309558.tif 000049
【図１２】
2005309558.tif 000050
【図１３】
2005309558.tif 000051