(57)【要約】【課題】  画像中の、動物体を含む領域または動物体を含まない領域を正確に抽出する。【解決手段】  ステップＳ１５において、コンピュータは、リファレンス画像の各ブロックについて、ターゲット画像の対応する領域への移動量を表す動きベクトルＶBMと、アフィンパラメータのアフィン変換により、変換前のブロックから、変換後のブロックへの移動量を表す動きベクトルＶGMとの差分ベクトルＶDを算出し、ステップＳ１６において、その差分ベクトルＶDの終点の分布密度に基づいて、動物体または非動物体が表示されたブロックを抽出する。本発明は、例えば、画像中の動物体の領域を検出する画像処理に適用できる。【選択図】図７
2005321902.tif 000002
【特許請求の範囲】
【請求項１】
第１と第２の画像の画像処理を行う画像処理装置において、
前記第１の画像を複数のブロックに分割する分割手段と、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出手段と、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出手段と、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段と、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記抽出手段により抽出された前記非動物体が表示された前記ブロックを用いて、前記第１と第２の画像の位置関係を表す第２の位置関係パラメータを算出する位置関係パラメータ算出手段をさらに備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータによって、前記第１の位置関係パラメータを更新する更新手段をさらに備え、
前記第２の動きベクトル算出手段において、前記更新手段により更新された前記第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出し、
前記差分ベクトル算出手段において、前記第１と第２の動きベクトルの差分ベクトルを算出し、
前記抽出手段において、前記差分ベクトルの終点の分布密度に基づいて、前記非動物体が表示された前記ブロックを抽出し、
前記位置関係パラメータ算出手段において、前記抽出手段により抽出された前記ブロックを用いて、前記第２の位置関係パラメータを算出し、
前記更新手段において、前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータによって、前記第１の位置関係パラメータを更新する
ことを所定の条件が満たされるまで繰り返す
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記所定の条件は、前記第１と第２の位置関係パラメータとの差が所定の閾値以下となることである
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータを出力する出力手段をさらに備える
ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記抽出手段は、前記差分ベクトルの終点の分布密度が最大の領域に、その終点が位置する前記差分ベクトルのブロックを抽出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記差分ベクトルの終点の分布密度が最大の領域を、前記差分ベクトルの終点の分布密度が集中する領域として求める領域算出手段をさらに備える
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記差分ベクトルの終点の分布密度が集中する領域は、所定の点を中心とする所定の半径の円の領域である
ことを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記差分ベクトルの終点の分布密度が集中する領域は、原点を中心とする円の領域である
ことを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
第１と第２の画像の画像処理を行う画像処理方法において、
前記第１の画像を複数のブロックに分割する分割ステップと、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出ステップと
を含むことを特徴とする画像処理方法。
【請求項１１】
第１と第２の画像に対して画像処理をコンピュータに行わせるプログラムであって、
前記第１の画像を複数のブロックに分割する分割ステップと、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１２】
第１と第２の画像に対して画像処理をコンピュータに行わせるプログラムにおいて、
前記第１の画像を複数のブロックに分割する分割ステップと、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、画像中の、例えば、動物体を含む領域を正確に抽出することができるようにする画像処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
ユーザが、デジタルビデオカメラやデジタルスチルカメラなどのカメラで撮影（撮像）を行う場合、カメラ本体を三脚などで固定せずに、手持ちの状態で撮影（撮像）を行うと、物体に対してカメラが動く(揺れる)ことにより、撮像された画像（以下、単に、画像という）が、揺れているようにみえてしまう、いわゆる手振れが生じることがある。
【０００３】
この手振れによる画像の揺れを低減させるために、時系列に連続した複数枚の画像間で、ある画像を基準（基準画像）として、その基準画像に対する他の画像の画像全体の動きを表すパラメータを求め、得られたパラメータを用いて他の画像を補正する（基準画像に位置を合わせる）処理が行われる。この処理は、例えば、手振れ補正などと呼ばれている。
【０００４】
ここで、基準画像に対する他の画像の画像全体の動きを表すパラメータは、基準画像と他の画像との位置関係を表すパラメータであるともいえる。なお、以下において、基準画像は、位置合わせ(補正)のために参照される画像であるので、基準画像をリファレンス画像という。また、以下において、基準画像（リファレンス画像）に合わせて位置が補正される他の画像をターゲット画像という。
【０００５】
リファレンス画像とターゲット画像の２枚の画像間において、手振れによって生じる画像の揺れの成分には、大まかには、物体に対してカメラを向けた状態で、カメラが左右にずれた場合に生じる平行移動成分と、カメラが時計方向または反時計方向に回転した場合に生じるレンズの光軸を中心とする回転成分とがある。さらに厳密には、カメラのレンズの光軸に垂直な軸の回りの回転成分や、カメラの奥行き方向の移動による拡大縮小成分もある。
【０００６】
このような手振れが生じているリファレンス画像とターゲット画像との位置合わせには、例えばアフィン変換が用いられる。従って、リファレンス画像とターゲット画像との２枚の画像どうしの位置関係を表すパラメータとしては、例えば、アフィン変換のパラメータであるアフィンパラメータがある。
【０００７】
アフィン変換では、リファレンス画像上の位置（ｘ，ｙ）と、ターゲット画像上の位置（ｘ’，ｙ’）との位置関係は、次の式（１）で表される。
【０００８】
【数１】
2005321902.tif 000003
・・・・（１）
【０００９】
ここで、式（１）において、例えば、ａ＝Ｋ×cosθ，ｂ＝−Ｋ×sinθ，ｃ＝Ｋ×sinθ，ｄ＝Ｋ×cosθとした場合、式（１）の左辺は、位置（ｘ，ｙ）に対して、角度θの回転、（ｓ，ｔ）の平行移動、Ｋ倍の拡大縮小を施すアフィン変換を表す。
【００１０】
なお、以下では、式（１）のアフィン変換の行列（ａ，ｂ，ｃ，ｄ）と２次元ベクトル（ｓ，ｔ）を合わせて、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）と表す。
【００１１】
アフィンパラメータは、例えば、リファレンス画像を複数のブロックに分割し、そのブロックの動きベクトルを検出することによって求められる。即ち、例えば、リファレンス画像のブロックの動きベクトルによって、リファレンス画像の各画素（の位置）（ｘ，ｙ）を、ターゲット画像上に移動したときの、その移動後の位置（ｘ’’，ｙ’’）と、式（１）によって、リファレンス画像の各画素（ｘ，ｙ）を、ターゲット画像上の位置に変換したときの、その変換後の位置（ｘ’，ｙ’）との自乗誤差の総和を最小にする式（１）のアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）が求められる。
【００１２】
しかしながら、リファレンス画像やターゲット画像に撮像（投影）されている物体のなかに、動いている物体（以下、動物体という）がある場合、一般的には、画像中の動物体の動き（動きベクトル）と、手振れによる画像全体の動きとは異なるために、上述したアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めるのに、動物体の領域の画素を用いてしまうと、その動物体の動きの影響によって、正確なアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めることが困難となる。
【００１３】
従って、画像中に動物体がある場合、その動物体の部分（領域）を抽出して除外し、動物体の部分が除外された画像のみを用いて、手振れによる画像全体の動きを表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求める必要がある。
【００１４】
従来の、動物体を含む領域を除外して、手振れを補正する技術は、例えば、特許文献１で提案されている。
【００１５】
特許文献１では、画像全体の動きを検出するのに、画像を複数のブロックに分割して得られる各ブロックの水平方向の動きベクトルと垂直方向の動きベクトルだけを考慮している。
【００１６】
即ち、特許文献１では、画像全体が４つの領域に分割され、その４つの領域それぞれが、さらに小さな複数のブロックに分割される。そして、４つの領域それぞれの各ブロックについて、動きベクトルＶが求められる。
【００１７】
さらに、４つの各領域において、各ブロックの動きベクトルＶの水平方向の値ＶXiと、全ブロックの動きベクトルＶの水平方向の平均値ＶXAVRとの差の絶対値｜ＶXi−ＶXAVR｜と、各ブロックの動きベクトルＶの垂直方向の値ＶYiと、全ブロックの動きベクトルＶの垂直方向の平均値ＶYAVRとの差の絶対値｜ＶYi−ＶYAVR｜との和の、全ブロックについての総和、即ち、Σ（｜ＶXi−ＶXAVR｜＋｜ＶYi−ＶYAVR｜）が、発散度として求められる。
【００１８】
そして、４つの領域の各発散度のうち、発散度が小さい２つの領域が選択され、その選択された２つの領域の動きベクトルＶの平均が、画像全体の動きベクトル、即ち、画像全体の動きを表すパラメータとして計算される。換言すれば、４つの各領域の発散度のうち、発散度が大きい２つの領域が、動物体を含む領域として、画像全体の動きを表すパラメータの計算から除外される。
【００１９】
【特許文献１】特開平０７−０３８８００号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
しかしながら、特許文献１の方法では、例えば、ユーザが静止物体（動物体でない物体である非動物体）を撮像した場合（動物体が画像に投影されていない場合）において、手振れにレンズの光軸を中心とする回転成分が含まれているときには、手振れの回転の揺れによる動きベクトルは、画像の中心（回転中心）付近にある静止物体については、ほぼ０となるが、画像の中心から離れた位置にある静止物体については、ある程度の大きさとなる。この場合、ある程度の大きさの動きベクトルが得られる領域は、その領域に表示されている物体が静止物体であっても、動物体が表示されている領域とみなされ除外されてしまうことになる。
【００２１】
このように画像全体の動きを表すパラメータを求めるのに、静止物体が表示されている領域が除外されてしまうと、パラメータの精度が劣化することになる。
【００２２】
本発明は、このような状況に鑑みてなされたものであり、画像中の、例えば、動物体を含む領域等を、精度良く抽出することができるようにするものである。
【課題を解決するための手段】
【００２３】
本発明の画像処理装置は、第１の画像を複数のブロックに分割する分割手段と、ブロックから、第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出手段と、第１と第２の画像の位置関係を表す第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出手段と、ブロックについて、第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段と、差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含むブロックを抽出する抽出手段とを備えることを特徴とする。
【００２４】
この画像処理装置には、抽出手段により抽出された非動物体が表示されたブロックを用いて、第１と第２の画像の位置関係を表す第２の位置関係パラメータを算出する位置関係パラメータ算出手段をさらに設けることができる。
【００２５】
この画像処理装置には、位置関係パラメータ算出手段により算出された第２の位置関係パラメータによって、第１の位置関係パラメータを更新する更新手段をさらに設け、第２の動きベクトル算出手段において、更新手段により更新された第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出し、差分ベクトル算出手段において、第１と第２の動きベクトルの差分ベクトルを算出し、抽出手段において、差分ベクトルの終点の分布密度に基づいて、非動物体が表示されたブロックを抽出し、位置関係パラメータ算出手段において、抽出手段により抽出されたブロックを用いて、第２の位置関係パラメータを算出し、更新手段において、位置関係パラメータ算出手段により算出された第２の位置関係パラメータによって、第１の位置関係パラメータを更新することを所定の条件が満たされるまで繰り返すことができる。
【００２６】
所定の条件は、第１と第２の位置関係パラメータとの差が所定の閾値以下とすることができる。
【００２７】
この画像処理装置には、位置関係パラメータ算出手段により算出された第２の位置関係パラメータを出力する出力手段をさらに設けることができる。
【００２８】
抽出手段には、差分ベクトルの終点の分布密度が最大の領域に、その終点が位置する差分ベクトルのブロックを抽出させることができる。
【００２９】
この画像処理装置には、差分ベクトルの終点の分布密度が最大の領域を、差分ベクトルの終点の分布密度が集中する領域として求める領域算出手段をさらに設けることができる。
【００３０】
差分ベクトルの終点の分布密度が集中する領域は、所定の点を中心とする所定の半径の円の領域とすることができる。
【００３１】
差分ベクトルの終点の分布密度が集中する領域は、原点を中心とする円の領域とすることができる。
【００３２】
本発明の画像処理方法は、第１の画像を複数のブロックに分割する分割ステップと、ブロックから、第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、第１と第２の画像の位置関係を表す第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、ブロックについて、第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含むブロックを抽出する抽出ステップとを含むことを特徴とする。
【００３３】
本発明の記録媒体に記録されているプログラムは、第１の画像を複数のブロックに分割する分割ステップと、ブロックから、第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、第１と第２の画像の位置関係を表す第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、ブロックについて、第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含むブロックを抽出する抽出ステップとを含むことを特徴とする。
【００３４】
本発明のプログラムは、第１の画像を複数のブロックに分割する分割ステップと、ブロックから、第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップと、第１と第２の画像の位置関係を表す第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップと、ブロックについて、第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップと、差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含むブロックを抽出する抽出ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００３５】
本発明においては、第１の画像が複数のブロックに分割され、そのブロックから、第２の画像の対応する領域への移動量を表す第１の動きベクトルが算出され、第１と第２の画像の位置関係を表す第１の位置関係パラメータによりブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルが算出される。そして、ブロックについて、第１と第２の動きベクトルの差分ベクトルが算出され、その差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含むブロックが抽出される。
【発明の効果】
【００３６】
本発明によれば、画像中の、例えば、動物体を含む領域等を正確に抽出することができる。
【発明を実施するための最良の形態】
【００３７】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３８】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３９】
請求項１に記載の画像処理装置は、
第１と第２の画像の画像処理を行う画像処理装置（例えば、図１のコンピュータ１１）において、
前記第１の画像を複数のブロックに分割する分割手段（例えば、図７のステップＳ１１の処理を行うコンピュータ１１のCPU３１）と、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出手段（例えば、図７のステップＳ１２の処理を行うコンピュータ１１のCPU３１）と、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出手段（例えば、図７のステップＳ１４の処理を行うコンピュータ１１のCPU３１）と、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出手段（例えば、図７のステップＳ１５の処理を行うコンピュータ１１のCPU３１）と、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出手段（例えば、図７のステップＳ１６の処理を行うコンピュータ１１のCPU３１）と
を備えることを特徴とする。
【００４０】
請求項２に記載の画像処理装置は、
前記抽出手段により抽出された前記非動物体が表示された前記ブロックを用いて、前記第１と第２の画像の位置関係を表す第２の位置関係パラメータを算出する位置関係パラメータ算出手段（例えば、図７のステップＳ１７の処理を行うコンピュータ１１のCPU３１）をさらに備える
ことを特徴とする。
【００４１】
請求項３に記載の画像処理装置は、
前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータによって、前記第１の位置関係パラメータを更新する更新手段（例えば、図７のステップＳ１９の処理を行うコンピュータ１１のCPU３１）をさらに備え、
前記第２の動きベクトル算出手段において、前記更新手段により更新された前記第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出し、
前記差分ベクトル算出手段において、前記第１と第２の動きベクトルの差分ベクトルを算出し、
前記抽出手段において、前記差分ベクトルの終点の分布密度に基づいて、前記非動物体が表示された前記ブロックを抽出し、
前記位置関係パラメータ算出手段において、前記抽出手段により抽出された前記ブロックを用いて、前記第２の位置関係パラメータを算出し、
前記更新手段において、前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータによって、前記第１の位置関係パラメータを更新する
ことを所定の条件が満たされるまで繰り返す
ことを特徴とする。
【００４２】
請求項５に記載の画像処理装置は、
前記位置関係パラメータ算出手段により算出された前記第２の位置関係パラメータを出力する出力手段（例えば、図７のステップＳ１８において、YESと判定された場合の処理を行うコンピュータ１１のCPU３１）をさらに備える
ことを特徴とする。
【００４３】
請求項７に記載の画像処理装置は、
前記差分ベクトルの終点の分布密度が最大の領域を、前記差分ベクトルの終点の分布密度が集中する領域として求める領域算出手段（例えば、図１３のステップＳ４１の処理を行うコンピュータ１１のCPU３１）をさらに備える
ことを特徴とする。
【００４４】
請求項１０に記載の画像処理方法は、
第１と第２の画像に対して画像処理を行う画像処理方法において、
前記第１の画像を複数のブロックに分割する分割ステップ（例えば、図７のステップＳ１１）と、
前記ブロックから、前記第２の画像の対応する領域への移動量を表す第１の動きベクトルを算出する第１の動きベクトル算出ステップ（例えば、図７のステップＳ１２の処理を行うコンピュータ１１のCPU３１）と、
前記第１と第２の画像の位置関係を表す第１の位置関係パラメータにより前記ブロックを変換したときの、その変換前のブロックから、変換後のブロックへの移動量を表す第２の動きベクトルを算出する第２の動きベクトル算出ステップ（例えば、図７のステップＳ１４）と、
前記ブロックについて、前記第１と第２の動きベクトルの差分ベクトルを算出する差分ベクトル算出ステップ（例えば、図７のステップＳ１５）と、
前記差分ベクトルの終点の分布密度に基づいて、動物体または非動物体を含む前記ブロックを抽出する抽出ステップ（例えば、図７のステップＳ１６）と
を含むことを特徴とする。
【００４５】
請求項１１に記載の記録媒体のプログラム、請求項１２に記載のプログラムの各ステップの具体例も、請求項１０に記載の画像処理方法の各ステップの発明の実施の形態における具体例と同様である。
【００４６】
以下、図を参照して、本発明の実施の形態について説明する。
【００４７】
図１は、本発明を適用した画像処理装置の一実施の形態の構成例を示している。
【００４８】
図１の画像処理装置は、コンピュータ１１と、そのコンピュータ１１に画像を供給するデジタルカメラ（デジタルビデオカメラ）１２とで構成されている。また、コンピュータ１１は、インターネット１３に接続されている。
【００４９】
CPU（Central Processing Unit）３１、メモリ３２、ディスプレイコントローラ３３、入力機器インタフェース３４、ネットワークインタフェース３５、および外部機器インタフェース３６は、バス３７を介して相互に接続されている。
【００５０】
CPU３１は、HDD（Hard Disk Drive）４１に記憶されているオペレーティングシステム（OS）を実行し、そのオペレーティングシステムの制御の下で、各種のプログラム（アプリケーションプログラム）を実行する。例えば、CPU３１は、デジタルカメラ１２から外部機器インタフェース３６を介して供給される複数の画像（の画像データ）を、HDD４１に記憶（保存）させる。また、CPU３１は、デジタルカメラ１２から供給された、または、HDD４１に記憶されている複数の画像のうちの、所定の画像をリファレンス画像とするとともに、他の画像をターゲット画像として、リファレンス画像とターゲット画像との位置関係を算出する処理を行う。以下、この処理を位置関係算出処理という。位置関係算出処理では、リファレンス画像またはターゲット画像に動物体が投影されている場合には、画像中の動物体の領域が抽出され、その動物体の領域を除外して、即ち、動物体でない物体である非動物体の領域のみを用いて、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）が求められる。
【００５１】
メモリ３２は、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３１が実行すべきオペレーティングシステムのプログラムや、その他のアプリケーションプログラム、デバイスドライバなどが不揮発的に記憶されている。
【００５９】
また、本実施の形態では、上述したように、コンピュータ１１が、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求める位置関係算出処理を行うが、この位置関係算出処理を行うプログラムも、HDD４１に記憶（インストール）されている。
【００６０】
メディアドライブ４２には、ＣＤ（Compact Disc）やＭＯ（Magneto-Optical disc）、ＤＶＤ（Digital Versatile Disc）などの可般型のディスク４３が装着される。そして、メディアドライブ４２は、ディスク４３のデータ記録面にアクセスし、そこに記録されているプログラムやデータを読み出し、また、外部機器インタフェース３６から供給されたデータなどをディスク４３に書き込む（記録する）。
【００６１】
ディスク４３は、主に、プログラムやデータのバックアップをとるためや、プログラムまたはデータの販売、流通、配布などを目的として移動するために使用される。従って、リファレンス画像とターゲット画像との位置関係を算出する位置関係算出処理を行うプログラムも、ディスク４３に記録した形で、販売等することができる。
【００６２】
以上のように構成されるコンピュータ１１は、例えば、デジタルカメラ１２から供給された、時系列に撮像された複数枚の画像、または、HDD４１に記憶されている複数枚の画像などを対象として、位置関係算出処理を行う。即ち、コンピュータ１１は、所定の１枚の画像をリファレンス画像とするとともに、他の画像をターゲット画像として、リファレンス画像とターゲット画像との位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を算出する。
【００６３】
そして、コンピュータ１１は、そのアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を用いて、ターゲット画像を変換することにより、リファレンス画像に対するターゲット画像の補正された画像の位置情報、例えば、リファレンス画像上のターゲット画像の四隅の座標値などを、手振れを補正するための情報として、外部機器インタフェース３６を介してデジタルカメラ１２などに供給（出力）することができる。
【００６４】
なお、コンピュータ１１は、例えば、米ＩＢＭ社のパーソナル・コンピュータ“ＰＣ／ＡＴ（Personal Computer/Advanced Technology）”の互換機又は後継機を採用することができる。勿論、コンピュータ１１は、他のアーキテクチャを備えたコンピュータでも良い。また、コンピュータ１１と同様の構成は、デジタルカメラ１２内に内蔵することが可能である。この場合、デジタルカメラ１２内で、位置関係算出処理、さらには、その位置関係算出処理によって得られるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を用いた手振れ補正などが行われる。
【００６５】
次に、コンピュータ１１による位置関係算出処理について具体的に説明する。
【００６６】
図２は、リファレンス画像５１とターゲット画像５２を示している。
【００６７】
ここで、リファレンス画像５１については、リファレンス画像５１の左下の点を原点Ｏとして、右方向をＸ方向とするとともに、上方向をＹ方向とするＸＹ座標系を、リファレンス画像５１の座標系と定義する。ターゲット画像５２についても、ターゲット画像５２の左下を原点Ｏ’として、同様に、ＸＹ座標系を定義する。
【００６８】
図２のリファレンス画像５１とターゲット画像５２とは、例えば、時系列に連続する画像であり、デジタルカメラ１２で撮像された画像や、デジタルスチルカメラ等で高速撮像された画像である。ここで、先の時刻に撮像された画像をリファレンス画像５１とするとともに、後の時刻に撮像された画像をターゲット画像５２とする。
【００６９】
リファレンス画像５１とターゲット画像５２には、撮像の対象となっている物体６１と、物体６１の背後に背景６２とが投影（表示）されている。また、物体６１は、リファレンス画像５１とターゲット画像５２の撮像が行われた間に移動しており、従って、動物体である。
【００７０】
ターゲット画像５２の原点Ｏ’における物体６１の位置は、手振れと物体６１の移動により、リファレンス画像５１の原点Ｏに対する物体６１の位置とは異なる位置に投影されている。また、ターゲット画像５２の原点Ｏ’における背景６２の位置は、手振れにより、リファレンス画像５１の原点Ｏに対する背景６２の位置とは異なる位置に投影されている。
【００７１】
ここで、位置関係算出処理では、手振れによって生じたずれに対応する、リファレンス画像５１上の位置（ｘ，ｙ）と、ターゲット画像５２上の位置（ｘ’，ｙ’）との位置関係が、上述の式（１）で与えられるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）として求められる。
【００７２】
図２のリファレンス画像５１とターゲット画像５２の例では、例えば、コンピュータ１１は、リファレンス画像５１上の点Ａの位置（ｘ，ｙ）と、それに対応するターゲット画像５２上の点Ａ’の位置（ｘ’，ｙ’）との位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）が求められる。
【００７３】
しかしながら、リファレンス画像５１とターゲット画像５２との間の対応する位置には、背景６２の対応する点どうしの位置関係のように、手振れのみによるずれが生じている場合と、物体６１の対応する点どうしの位置関係のように、手振れによるずれと物体６１が移動することによるずれの両方が生じている場合とがある。従って、リファレンス画像５１とターゲット画像５２との画像全体を用いてアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めると、物体６１の移動によるずれの影響を受けたアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）が得られることになる。
【００７４】
以上から、手振れによるずれのみに対応する、画像どうしの位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めるときには、画像の各位置（領域）のうちの、動物体である物体６１が表示されている位置（領域）のデータを除外する必要がある。
【００７５】
そこで、コンピュータ１１は、位置関係算出処理において、画像から、動物体の領域を除外する処理を行う。
【００７６】
即ち、コンピュータ１１は、位置関係算出処理において、初めに、図３に示すように、リファレンス画像５１を、複数のブロックblkに分割する。なお、リファレンス画像５１とターゲット画像５２とを、適当な縮小率で縮小し、その縮小したリファレンス画像５１を複数のブロックblkに分割してもよい。
【００７７】
ここで、リファレンス画像５１のブロックblkのうち、Ｘ方向に左からｈ＋１番目で、Ｙ方向に下からｋ＋１番目のブロックを、ブロックblk（ｈ，ｋ）と表す。また、ブロックblk（ｈ，ｋ）の中心位置を、（Cx（ｈ，ｋ），Cy（ｈ，ｋ））と表す。なお、Cx（ｈ，ｋ）とCy（ｈ，ｋ）は、それぞれＸ座標とＹ座標である。
【００７８】
位置関係算出処理では、コンピュータ１１は、リファレンス画像５１の各ブロックblk（ｈ，ｋ）について、ターゲット画像５２内で対応する領域としての、ブロックblk（ｈ，ｋ）と同一形状のブロックblk’（ｈ，ｋ）を検出するブロックマッチングを行う。
【００７９】
即ち、コンピュータ１１は、例えば、リファレンス画像５１上のブロックblk（ｈ，ｋ）をテンプレートとして、ターゲット画像５２から、ブロックblk（ｈ，ｋ）に一番類似している（一致度の高い）領域を検出する。具体的には、例えば、ブロックblk（ｈ，ｋ）の各画素と、ターゲット画像５２の、ブロックblk（ｈ，ｋ）と同一形状の領域の対応する画素との画素値の自乗誤差等の総和を最小にする領域が、ブロックblk（ｈ，ｋ）に対応するブロックblk’（ｈ，ｋ）として、ターゲット画像５２から検出される。
【００８０】
なお、ブロックblk’（ｈ，ｋ）の中心位置を、（Cx’（ｈ，ｋ），Cy’（ｈ，ｋ））と表す。
【００８１】
次に、位置関係算出処理では、コンピュータ１１は、リファレンス画像５１上のブロックblk（ｈ，ｋ）の中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））から、ブロックマッチングで検出されたターゲット画像５２上のブロックblk’（ｈ，ｋ）の中心位置（Cx’（ｈ，ｋ），Cy’（ｈ，ｋ））への、ブロックblk（ｈ，ｋ）の移動量を表す動きベクトルＶBM（ｈ，ｋ）を算出する。ここで、動きベクトルＶBM（ｈ，ｋ）の（ｈ，ｋ）は、動きベクトルＶBM（ｈ，ｋ）が、リファレンス画像５１上のブロックblk（ｈ，ｋ）について算出された動きベクトルであることを表す。なお、ブロックblk（ｈ，ｋ）の位置（ｈ，ｋ）を特に区別する必要がない場合には、単に、動きベクトルＶBMという。また、動きベクトルＶBMのＸ成分、Ｙ成分それぞれを、ＶBMX，ＶBMYとする。さらに、上述のようなブロックマッチングにより得られる動きベクトルＶBMを、以下、適宜、マッチング動きベクトルＶBMという。
【００８２】
コンピュータ１１は、上述したマッチング動きベクトルＶBM（ｈ，ｋ）の算出を、リファレンス画像５１の全ブロックblk（ｈ，ｋ）に対して行う。但し、リファレンス画像５１の各ブロックblk（ｈ，ｋ）のうち、テクスチャが少ない（アクティビティが小さい）ブロックblk（ｈ，ｋ）については、ターゲット画像５２の対応する正確なブロックblk’（ｈ，ｋ）を検出することが難しいので、そのようなブロックblk（ｈ，ｋ）は、予めブロックマッチングの対象から除外する。即ち、例えば、輝度値の分散が所定の閾値ＴｈPV以下のブロックblk（ｈ，ｋ）が、テクスチャが少ないブロックblk（ｈ，ｋ）であるとして、ブロックマッチングの対象から除外される。
【００８３】
次に、位置関係算出処理では、コンピュータ１１は、後述するようにして、動物体を含まないでブロックblk（ｈ，ｋ）を用いて求められる新たなアフィンパラメータＰnewを、現在のアフィンパラメータＰcur＝（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）として、リファレンス画像５１の全ブロックblk（ｈ，ｋ）（マッチング動きベクトルＶBM（ｈ，ｋ）が求められた全ブロックblk（ｈ，ｋ））について、現在のアフィンパラメータＰcur＝（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）のアフィン変換による、変換後の位置と、変換前の位置との間の動きベクトルＶGM（ｈ，ｋ）を算出する。
【００８４】
なお、位置関係算出処理の開始直後は、まだ、新たなアフィンパラメータＰnewが求められていないため、現在のアフィンパラメータＰcurとしては、アフィンパラメータの初期値が用いられる。
【００８５】
アフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）としては、例えば、リファレンス画像５１とターゲット画像５２との間に、手振れが生じていないとした場合のアフィンパラメータ（１，０，０，１，０，０）などを採用することができる。なお、アフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）としては、他に適切な値があれば、他の値を採用してもよい。
【００８６】
リファレンス画像５１のブロックblk（ｈ，ｋ）を、アフィンパラメータ（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）によってアフィン変換したときの、その変換後と変換前との位置の間の動きベクトルＶGM（ｈ，ｋ）＝（ＶGMX，ＶGMY）は、例えば、ブロックblk（ｈ，ｋ）中心位置（Cx（ｈ，ｋ），Cy（ｈ，ｋ））に注目すると、式（２）で表される。
【００８７】
【数２】
2005321902.tif 000004
・・・・（２）
【００８８】
ここで、動きベクトルＶGM（ｈ，ｋ）を、上述のマッチング動きベクトルＶBM（ｈ，ｋ）と区別するために、以下、適宜、変換動きベクトルＶGM（ｈ，ｋ）という。なお、ブロックblk（ｈ，ｋ）の位置（ｈ，ｋ）を特に区別する必要がない場合には、単に、変換動きベクトルＶGMという。また、ＶGMX，ＶGMYそれぞれは、変換動きベクトルＶGMのＸ成分、Ｙ成分である。
【００８９】
次に、位置関係算出処理では、コンピュータ１１は、リファレンス画像５１の全ブロックblk（ｈ，ｋ）について、マッチング動きベクトルＶBM（ｈ，ｋ）と、変換動きベクトルＶGM（ｈ，ｋ）との差分ベクトルＶD（ｈ，ｋ）＝ＶBM（ｈ，ｋ）−ＶGM（ｈ，ｋ）を算出する。
【００９０】
図４は、リファレンス画像５１の各ブロックblk（ｈ，ｋ）について、コンピュータ１１が、マッチング動きベクトルＶBM（ｈ，ｋ）、変換動きベクトルＶGM（ｈ，ｋ）、および差分ベクトルＶD（ｈ，ｋ）のそれぞれを求めた例を示している。なお、図４では、リファレンス画像５１が４×４（横×縦）の１６個のブロックblk（ｈ，ｋ）に分割された例を示している。
【００９１】
図４において、斜線を付していないブロックblk（ｈ，ｋ）は、テクスチャが少ないblk（ｈ，ｋ）であるとして、ブロックマッチングの対象から除外されたブロックを示しており、斜線を付してあるブロックblk（ｈ，ｋ）は、ブロックマッチングの対象とされ、マッチング動きベクトルＶBMが求められたブロックを示している。
【００９２】
また、図４では、ブロックblk（ｈ，ｋ）の中心を始点とする実線の矢印が、リファレンス画像５１とターゲット画像５２とから計算されたマッチング動きベクトルＶBM（ｈ，ｋ）を表している。さらに、ブロックblk（ｈ，ｋ）の中心を始点とする点線の矢印が、現在のアフィンパラメータＰcur＝（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）のアフィン変換に基づいて計算された変換動きベクトルＶGM（ｈ，ｋ）を表している。
【００９３】
各ブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）は、例えば、図４右側に示すように、マッチング動きベクトルＶBM（ｈ，ｋ）の終点と、変換動きベクトルＶGM（ｈ，ｋ）の終点とを結ぶベクトルで表される。
【００９４】
ブロックblk（ｈ，ｋ）に動物体が含まれていない場合、現在のアフィンパラメータＰcurがある程度正しければ、動物体が含まれていないブロックblk（ｈ，ｋ）のマッチング動きベクトルＶBMと、現在のアフィンパラメータＰcurによるアフィン変換に基づいて求められた変換動きベクトルＶGMとは、さほど差がなく、差分ベクトルＶD（の大きさ）は小さくなる。一方、ブロックblk（ｈ，ｋ）に動物体が含まれている場合、そのブロックblk（ｈ，ｋ）の差分ベクトルＶD（の大きさ）は、動物体の動きの影響を受けて大きくなる。
【００９５】
図４では、そのような差分ベクトルＶD（の大きさ）が大きいブロックblk（ｈ，ｋ）が、丸で囲まれている。
【００９６】
位置関係算出処理では、動物体の領域を除外する処理が行われ、これにより、リファレンス画像５１の（差分ベクトルＶDが計算された）各ブロックblk（ｈ，ｋ）について得られた、差分ベクトルＶD（ｈ，ｋ）に基づいて、動物体を含まないブロックblk（ｈ，ｋ）（手振れだけによるずれが生じているブロックblk（ｈ，ｋ））、または動物体を含むブロックblk（ｈ，ｋ）が抽出（分離）され、動物体を含まないブロックblk（ｈ，ｋ）以外のブロック、即ち、動物体を含むブロックblk（ｈ，ｋ）が除外される。
【００９７】
ここで、リファレンス画像５１の各ブロックblk（ｈ，ｋ）について算出された差分ベクトルＶD（ｈ，ｋ）に基づいて、動物体を含むブロックblk（ｈ，ｋ）または動物体を含まないブロックblk（ｈ，ｋ）を抽出する第１と第２の２つの抽出方法を説明する。なお、以下の説明では、リファレンス画像５１の全ブロックblk（ｈ，ｋ）とは、必要に応じて、テクスチャが少ないブロックblk（ｈ，ｋ）が除外されたブロックblk（ｈ，ｋ）を意味するものとする。
【００９８】
図５を参照して、第１の抽出方法を説明する。
【００９９】
図５は、リファレンス画像５１の２次元の差分ベクトルＶDの終点をプロットしたＸＹ座標系を示している。なお、差分ベクトルＶDの終点のＸ座標とＹ座標とは、差分ベクトルＶDのＸ成分とＹ成分とに、それぞれ等しい。
【０１００】
動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）は、上述したように、現在のアフィンパラメータＰcurがある程度正しければ、微小な大きさとなるので、その終点は、図５に示すように、原点付近の領域７１に集中して分布する。
【０１０１】
一方、（同一の）動物体を含むブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）は、動物体の動きの影響を受け、ある程度の大きさのベクトルとなり、原点からある程度離れた領域７２に集中して分布する。
【０１０２】
従って、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点の分布が集中する、例えば、原点を中心Ｑとする半径ｒの円８１を設定することにより、その円８１をいわば境界線として、円８１内に終点が分布する差分ベクトルＶD（ｈ，ｋ）を、動物体を含まないブロックblk（ｈ，ｋ）として抽出するとともに、円８１外に分布する差分ベクトルＶD（ｈ，ｋ）を、動物体を含むブロックblk（ｈ，ｋ）として抽出することができる。ここで、半径ｒは、例えば、円８１が原点付近に分布が集中する差分ベクトルＶDの終点を囲むことができる程度の大きさに設定される。この大きさは、例えば、シミュレーション等によって決定することができる。
【０１０３】
なお、リファレンス画像５１とターゲット画像５２の２枚の画像が撮像された撮像時刻の時間間隔が長いことなどによって、リファレンス画像５１とターゲット画像５２において、手振れにより生じているずれのずれ量が、極端に大きい場合、現在のアフィンパラメータＰcurに、アフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）がセットされており、そのアフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）が、上述したように、手振れが生じていない場合のアフィンパラメータ（１，０，０，１，０，０）であるときには、現在のアフィンパラメータＰcurは、ある程度正しいとは言えないので、即ち、現在のアフィンパラメータＰcurが、リファレンス画像５１とターゲット画像５２との位置関係を、ある程度正しく表しているとは言えないので、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）であっても、その終点が、原点付近に分布しない。
【０１０４】
このような場合の対処については、後述する。
【０１０５】
また、ここでは、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）の終点を囲む円８１によって、動物体を含まないブロックblk（ｈ，ｋ）を抽出することにしたが、動物体を含まないブロックblk（ｈ，ｋ）の抽出には、円８１の他、円以外の形状の図形（例えば、楕円や、正方形、長方形など）を用いることが可能である。
【０１０６】
次に、第２の抽出方法を説明する。
【０１０７】
第２の抽出方法では、コンピュータ１１は、リファレンス画像５１の各ブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）それぞれの大きさ（スカラ）を求め、その差分ベクトルＶD（ｈ，ｋ）の大きさの小さい順（昇順）に、差分ベクトルＶD（ｈ，ｋ）を並べる（ソートする）。ここで、大きさがｉ番目に大きい差分ベクトルＶD（ｈ，ｋ）のblk（ｈ，ｋ）を、以下、適宜、ブロックblki（ｉ＝１，２，・・）と表す。
【０１０８】
なお、ブロックblkiの差分ベクトルＶDの大きさを｜ＶD｜と表すこととすると、差分ベクトルＶDの大きさ｜ＶD｜は、次式（３）で求められる。
【０１０９】
【数３】
2005321902.tif 000005
・・・・（３）
【０１１０】
式（３）において、ＶDXは、差分ベクトルＶDのＸ成分を、ＶDYは、差分ベクトルＶDのＹ成分を、それぞれ表している。
【０１１１】
図６は、差分ベクトルＶDの大きさ｜ＶD｜を、その昇順に並べたソート結果（のグラフ）を示している。なお、図６では、リファレンス画像５１において、差分ベクトルＶDが計算されたブロックblkiの個数は、Ｎ個である。
【０１１２】
図６のグラフの横軸は、リファレンス画像５１内の差分ベクトルＶDが計算されたブロックblkiのサフィックスｉを表し、以下、適宜、ブロック番号ｉという。図６のグラフでは、差分ベクトルＶDの大きさ｜ＶD（ｉ）｜が、左から小さい順に並べられている。また、縦軸は、ブロックblkiの差分ベクトル差分ベクトルＶDの大きさ｜ＶD（ｉ）｜を表している。ここで、ＶD（ｉ）は、ブロック番号ｉのブロックblkiの差分ベクトルＶDの大きさ｜ＶD｜を表す。
【０１１３】
図４を参照して説明したように、ブロックblk（ｈ，ｋ）内に動物体が含まれていない場合、そのブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜は小さくなる。従って、動物体が含まれていないブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜は、ブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜を小さい順に並べたときの順番が最初の方（図６の左側）に位置する。一方、動物体が含まれているブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜は、ブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜を小さい順に並べたときの順番が最後の方（図６の右側）に位置する。
【０１１４】
そして、動物体が含まれているブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD（ｉ）｜は、平均的に大きく、動物体が含まれていないブロックblk（ｈ，ｋ）差分ベクトルＶDの大きさ｜ＶD（ｉ）｜は、平均的に小さい。従って、ブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜を昇順に並べた場合、動物体が含まれていないブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜と、動物体が含まれているブロックblk（ｈ，ｋ）の差分ベクトルＶDの大きさ｜ＶD｜との境界部分には、図６に示すような、他の部分とは異なる不連続な段差Ｇが生じる。
【０１１５】
従って、図６の不連続な段差Ｇを検出することにより、動物体が含まれていないブロックblk（ｈ，ｋ）のブロック群９１と、動物体が含まれているブロックblk（ｈ，ｋ）のブロック群９２とを分離することができる。
【０１１６】
即ち、差分ベクトルＶDの大きさ｜ＶD｜を昇順に並べ、ブロック番号ｉを、その昇順に、順次、注目番号とする。そして、注目番号ｉの差分ベクトルＶD（ｉ）の大きさ｜ＶD（ｉ）｜と、その注目番号ｉの右隣のブロック番号ｉ＋１の差分ベクトルＶD（ｉ＋１）の大きさ｜ＶD（ｉ＋１）｜とを比較していくことで、不連続な段差Ｇを検出し、その段差Ｇが検出されたときの注目番号ｉによって、動物体が含まれていないブロックblk1乃至blki、または動物体が含まれているブロックblki+1乃至blkNを抽出することができる。
【０１１７】
第２の抽出方法を採用する場合、コンピュータ１１は、注目番号ｉについて、式（４）が成立するか否かを判定し、式（４）が成立する場合、注目番号ｉ以下のブロック番号のブロックblk1乃至blkiを、動物体を含まないブロックとして抽出、または、注目番号ｉより大きいブロック番号、即ち、ｉ＋１以上のブロック番号のブロックblki+1乃至blkNを、動物体を含むブロックとして抽出する。
【０１１８】
【数４】
2005321902.tif 000006
・・・・（４）
【０１１９】
ここで、式（４）におけるＴｈGは、図５の原点付近の領域７１と、原点からある程度離れた領域７２との間の距離に対応する閾値である。
【０１２０】
以上のように、動物体の領域を除外する処理では、第１または第２の抽出方法を用いて、リファレンス画像５１の差分ベクトルＶDが計算された各ブロックblk（ｈ，ｋ）から、動物体を含まないブロックblk（ｈ，ｋ）、または動物体を含むブロックblk（ｈ，ｋ）を抽出し、動物体を含むブロックblk（ｈ，ｋ）（動物体を含まないブロックblk（ｈ，ｋ）以外のブロック）を除外する。
【０１２１】
そして、位置関係算出処理では、コンピュータ１１は、動物体を含むブロックblk（ｈ，ｋ）が除外(抽出)された残りのブロック、即ち、動物体を含まないブロックblk（ｈ，ｋ）のみを用いて、リファレンス画像５１とターゲット画像５２との位置関係を表す、上述の式（１）で与えられるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を算出する。
【０１２２】
即ち、位置関係算出処理では、コンピュータ１１は、リファレンス画像５１の動物体を含むブロックblk（ｈ，ｋ）が除外され、動物体を含まない全ブロックblk（ｈ，ｋ）を用い、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）のアフィン変換による変換動きベクトルＶGMと、マッチング動きベクトルＶBMとが一致するようなアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求める。
【０１２３】
但し、ブロックマッチングでのマッチング動きベクトルＶBMの検出の誤差等のために、動物体を含まないブロックblk（ｈ，ｋ）の変換動きベクトルＶGMとマッチング動きベクトルＶBMとのすべてが完全に一致するアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めることは困難である。
【０１２４】
そこで、位置関係算出処理では、コンピュータ１１は、例えば、変換動きベクトルＶGMと、マッチング動きベクトルＶBMとの自乗誤差の、動物体を含まない全てのブロックblk（ｈ，ｋ）についての総和が最小となるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を、最小自乗法により求める。
【０１２５】
即ち、変換動きベクトルＶGMとマッチング動きベクトルＶBMとの自乗誤差は、その変換動きベクトルＶGMとマッチング動きベクトルＶBMとの差分ベクトルＶDに等しい。そこで、位置関係算出処理では、コンピュータ１１は、式（５）の自乗誤差の総和Ｅを最小にするアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求める。
【０１２６】
【数５】
2005321902.tif 000007
・・・・（５）
【０１２７】
ここで、式（５）のΣは、リファレンス画像５１の動物体を含まない（差分ベクトルＶDが計算された）ブロックblk（ｈ，ｋ）についての総和を表す。
【０１２８】
また、式（５）のＶBMXとＶBMYそれぞれは、上述したように、リファレンス画像５１とターゲット画像５２とから求められた各ブロックblk（ｈ，ｋ）のマッチング動きベクトルＶBM（ｈ，ｋ）のＸ成分とＹ成分である。
【０１２９】
さらに、式（５）のＶGMXとＶGMYそれぞれは、変換動きベクトルＶGM（ｈ，ｋ）のＸ成分とＹ成分であり、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を変数とする式（６）で与えられる。
【０１３０】
【数６】
2005321902.tif 000008
・・・・（６）
【０１３１】
ここで、式（６）のCx（ｈ，ｋ）とCy（ｈ，ｋ）のそれぞれは、ブロックblk（ｈ，ｋ）の中心位置のＸ座標とＹ座標を表す。
【０１３２】
式（５）の自乗誤差の総和Ｅを最小にするアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）は、自乗誤差の総和Ｅを、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）で偏微分した式を求め、その式を０とした方程式を解くことで求めることができる。
【０１３３】
ここで、式（５）の自乗誤差の総和Ｅを最小にするアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）をアフィンパラメータＰnew＝（ａnew，ｂnew，ｃnew，ｄnew，ｓnew，ｔnew）とする。このアフィンパラメータＰnewが、上述した新たなアフィンパラメータＰnewである。
【０１３４】
位置関係算出処理では、例えば、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができるまで、現在のアフィンパラメータＰcurを、新たなアフィンパラメータＰnewに更新し、さらに、式（５）の自乗誤差の総和Ｅを最小にする新たなアフィンパラメータＰnewを求める処理を繰り返すことにより、アフィンパラメータＰnewとして、正確なアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求める。
【０１３５】
ここで、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができる場合としては、例えば、式（７）（で表される条件）を満たす場合を採用することができる。
【０１３６】
【数７】
2005321902.tif 000009
・・・・（７）
【０１３７】
式（７）は、アフィンパラメータＰnewと現在のアフィンパラメータＰcurの各成分がどれだけ一致しているか（近似度）を判定する式である。なお、式(７)のＴｈPは、所定の閾値であり、例えば、シミュレーション等により適切な値を求めて設定することができる。また、閾値ＴｈPは、ユーザの操作に応じて設定するようにすることも可能である。
【０１３８】
さらに、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができる場合としては、式（７）の他に、次の式（８）（で表される条件）を満たす場合を採用してもよい。
【０１３９】
【数８】
2005321902.tif 000010
・・・・（８）
【０１４０】
式（８）は、リファレンス画像５１の動物体を含まないブロックblk（ｈ，ｋ）の全体の新たなアフィンパラメータＰnewのアフィン変換に基づいて計算された変換動きベクトルＶGMと、マッチング動きベクトルＶBMとが、どれだけ一致しているか（近似度）を判定する式である。
【０１４１】
なお、式（８）において、Σは、リファレンス画像５１の動物体を含まないブロックblk（ｈ，ｋ）についての総和を表し、Ｎｕｍは、リファレンス画像５１の動物体を含まないブロックblk（ｈ，ｋ）の個数を表す。
【０１４２】
次に、図７のフローチャートを参照して、コンピュータ１１による位置関係算出処理について、さらに説明する。この位置関係算出処理は、ユーザの操作により、例えば、キーボード３９またはマウス４０などから、位置関係算出処理を開始するコマンドが入力されたときに開始される。また、コンピュータ１１は、位置関係算出処理の対象とするリファレンス画像５１とターゲット画像５２を、既に認識（取得）しているものとする。
【０１４３】
始めに、ステップＳ１１において、コンピュータ１１（のCPU３１）は、リファレンス画像５１を複数のブロックblk（ｈ，ｋ）に分割する。また、ステップＳ１１では、コンピュータ１１は、リファレンス画像５１の複数のブロックblk（ｈ，ｋ）のうちの、輝度値の分散が所定の閾値より小さいブロックblk（ｈ，ｋ）を、以降の処理の対象から除外して、ステップＳ１２に進む。
【０１４４】
ここで、ステップＳ１１において、輝度値の分散が小さいブロックblk（ｈ，ｋ）をブロックマッチングの対象から除外するのは、輝度値の分散が小さいブロックblk（ｈ，ｋ）は、テクスチャが少ないブロックblk（ｈ，ｋ）であり、正確なブロックマッチング等を行うことができないからである。ステップＳ１１以降では、ステップＳ１１において除外されなかったブロックblk（ｈ，ｋ）のみを対象として処理が行われる。
【０１４５】
ステップＳ１２において、コンピュータ１１は、ステップＳ１１で除外されなかったリファレンス画像５１上の各ブロックblk（ｈ，ｋ）をテンプレートとして、ターゲット画像５２との間でブロックマッチングを行うことにより、各ブロックblk（ｈ，ｋ）のマッチング動きベクトルＶBMを算出し、ステップＳ１３に進む。
【０１４６】
ステップＳ１３において、コンピュータ１１は、現在のアフィンパラメータＰcur＝（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）を初期化して、ステップＳ１４に進む。
【０１４７】
即ち、ステップＳ１３では、コンピュータ１１は、現在のアフィンパラメータＰcur＝（ａcur，ｂcur，ｃcur，ｄcur，ｓcur，ｔcur）に、予め設定されているアフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）（例えば、（１，０，０，１，０，０）など）を代入する。アフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）は、例えば、コンピュータ１１のHDD４１等に予め記憶されていてもよいし、ユーザが、キーボード３９またはマウス４０などを操作することにより、あるいは、外部機器インタフェース３６を介して、コンピュータ１１に入力されてもよい。
【０１４８】
ステップＳ１４において、コンピュータ１１は、リファレンス画像５１の（ブロックマッチングの対象から除外されなかった）各ブロックblk（ｈ，ｋ）を、現在のアフィンパラメータＰcurによりアフィン変換し、その変換前のブロックblk（ｈ，ｋ）から変換後のブロックblk’（ｈ，ｋ）へのベクトルである変換動きベクトルＶGMを算出し、ステップＳ１５に進む。
【０１４９】
ステップＳ１５において、コンピュータ１１は、ステップＳ１２でマッチング動きベクトルＶBMが計算されたリファレンス画像５１の各ブロックblk（ｈ，ｋ）について、そのマッチング動きベクトルＶBMと、ステップＳ１４の現在のアフィンパラメータＰcurのアフィン変換で求められた変換動きベクトルＶGMとの差分ベクトルＶD＝ＶBM−ＶGMを算出し、ステップＳ１６に進む。
【０１５０】
ステップＳ１６において、コンピュータ１１は、ステップＳ１５で算出された差分ベクトルＶDの終点の分布状態に基づき、動物体の領域を除外する処理を行って、ステップＳ１７に進む。ステップＳ１６の動物体の領域を除外する処理では、上述した第１または第２の抽出方法により、動物体を含むブロックblk（ｈ，ｋ）が抽出され、その抽出されたブロックblk（ｈ，ｋ）が、後段のステップＳ１７の処理の対象から除外される。なお、第１の抽出方法による動物体の領域を除外する処理については、図１３で後述し、第２の抽出方法による動物体の領域を除外する処理については、図１５で後述する。
【０１５１】
ステップＳ１７において、コンピュータ１１は、差分ベクトルＶDが計算されたリファレンス画像５１のブロックblk（ｈ，ｋ）のうち、動物体を含むブロックblk（ｈ，ｋ）が除外されて残った全てのブロックblk（ｈ，ｋ）（ステップＳ１６の処理の結果残った全てのブロックblk（ｈ，ｋ））についての、差分ベクトルＶDの大きさ｜ＶD｜の自乗の総和、即ち、式（５）の自乗誤差の総和Ｅを最小にする新たなアフィンパラメータＰnewを算出し、ステップＳ１８に進む。
【０１５２】
ステップＳ１８において、コンピュータ１１は、新たなアフィンパラメータＰnewが収束したかどうか、即ち、ステップＳ１７で算出したアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができるかどうかを、例えば、式（７）または式（８）が満たされるかどうかによって判定する。
【０１５３】
ステップＳ１８において、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができないと判定された場合、ステップＳ１９に進み、コンピュータ１１は、新たなアフィンパラメータＰnewを、現在のアフィンパラメータＰcurに代入することにより、現在のアフィンパラメータＰcurを更新して、ステップＳ１４に戻る。そして、ステップＳ１８において、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができると判定されるまで、ステップＳ１４乃至Ｓ１９の処理が繰り返される。
【０１５４】
ここで、ステップＳ１４乃至Ｓ１９が繰り返される場合のステップＳ１６では、差分ベクトルＶDが求められたブロックblk（ｈ，ｋ）を対象に、動物体を除外する処理が行われる。但し、ステップＳ１６では、既に行われたステップＳ１６の処理により除外されたブロックblk（ｈ，ｋ）を除いたブロックblk（ｈ，ｋ）を対象に、動物体を除外する処理を行っても良い。
【０１５５】
一方、ステップＳ１８において、新たなアフィンパラメータＰnewと、現在のアフィンパラメータＰcurとの差異がないとみなすことができると判定された場合、新たなアフィンパラメータＰnew（または、現在のアフィンパラメータＰcur）が、リファレンス画像５１とターゲット画像５２との間の位置関係を表す、手振れのずれを補正するための、正確なアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）として、例えば、デジタルカメラ１２等に出力され、位置関係算出処理を終了する。
【０１５６】
なお、ここでデジタルカメラ１２に出力されるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）は、リファレンス画像５１を、ターゲット画像５２を基準とする位置に位置合わせするアフィンパラメータである。従って、ターゲット画像５２を、リファレンス画像５１を基準とする位置に位置あわせするには、デジタルカメラ１２に出力されるアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）によるアフィン変換の逆変換を行うアフィンパラメータを求める必要がある。この逆変換を行うアフィンパラメータは、コンピュータ１１で求めても良いし、デジタルカメラ１２で求めても良い。
【０１５７】
以上のように、位置関係算出処理では、リファレンス画像５１が複数のブロックblkに分割され、各ブロックblkについて、マッチング動きベクトルＶBMと、変換動きベクトルＶGMとが算出される。ここで、マッチング動きベクトルＶBMは、リファレンス画像５１の各ブロックblk（ｈ，ｋ）から、ターゲット画像５２の対応する領域への移動量を表す動きベクトルであり、変換動きベクトルＶGMは、リファレンス画像５１とターゲット画像５２の位置関係を表すアフィンパラメータＰcurのアフィン変換により各ブロックblk（ｈ，ｋ）を変換したときの、その変換前のブロックblk（ｈ，ｋ）から、変換後のブロックblk’（ｈ，ｋ）への移動量を表す動きベクトルである。
【０１５８】
さらに、位置関係算出処理では、マッチング動きベクトルＶBMと変換動きベクトルＶGMとの差分ベクトルＶD（＝ＶBM−ＶGM）が算出される。そして、その差分ベクトルＶDの終点の分布状態に基づいて、即ち、現在のアフィンパラメータＰcurが、ある程度正しければ、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDが、原点付近に集中することに基づいて、原点を動物体を含むブロックblk（ｈ，ｋ）が抽出、除外され、その結果残ったブロックblk（ｈ，ｋ）を用いて、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）が求められる。
【０１５９】
従って、動物体を含むブロックblk（ｈ，ｋ）（または動物体を含まないブロックblk（ｈ，ｋ））を正確に抽出し、さらに、動物体を含まないブロックblk（ｈ，ｋ）のみを用いて、リファレンス画像５１とターゲット画像５２との位置関係を正確に表す、即ち、動物体の動きの影響のない、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めることができる。
【０１６０】
なお、図７の位置関係算出処理では、ステップＳ１８において、新たなアフィンパラメータＰnewが収束したと判定されるまでステップＳ１４乃至Ｓ１９の処理を繰り返すようにしたが、その他の条件が満たされるまで、即ち、例えば、予め設定された所定回数（例えば、３回程度）だけステップＳ１４乃至Ｓ１９の処理が行われるまで、ステップＳ１４乃至Ｓ１９の処理を繰り返して終了するようにしてもよい。
【０１６１】
ところで、上述した第１の抽出方法では、動物体を含むブロックblk（ｈ，ｋ）、または、動物体を含まないブロックblk（ｈ，ｋ）を抽出する際、図５で説明したように、差分ベクトルＶDの終点がプロットされるＸＹ座標系上の原点を中心Ｑとする円８１（の円周）を境界線とし、その円８１内に終点がプロットされている差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）が、動物体を含まないブロックとして抽出され、または、その円８１外に終点がプロットされている差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）が、動物体を含むブロックとして抽出される。
【０１６２】
ところが、上述したように、現在のアフィンパラメータＰcurに対して、最初に設定されるアフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）が、ある程度正しいとは言えず、真のアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）とかけ離れている場合、そのようなアフィンパラメータの初期値（ａ0，ｂ0，ｃ0，ｄ0，ｓ0，ｔ0）を用いて、ブロックblk（ｈ，ｋ）の変換動きベクトルＶGMを求め、さらに差分ベクトルＶDを求めたときには、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）の終点の分布が、原点付近に集中しない。
【０１６３】
即ち、図８は、現在のアフィンパラメータＰcurが真のアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）とかけ離れているために、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点が原点に集中しない場合の、差分ベクトルＶD（ｈ，ｋ）の終点の分布を示している。
【０１６４】
図８では、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）の終点は、原点から比較的離れた領域１０１に分布し、動物体を含むブロックblk（ｈ，ｋ）の差分ベクトルＶD（ｈ，ｋ）の終点は、原点から比較的近い領域１０２に分布している。
【０１６５】
このため、図８では、領域１０１内の、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点のいくつかと、領域１０２内の、動物体を含むブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点のすべてが、原点を中心Ｑとする半径ｒの円８１の内側に含まれている。
【０１６６】
従って、原点を中心とする円８１を用い、その円８１内に終点がある差分ベクトルＶDのブロックblk（ｈ，ｋ）を、動物体を含まないブロックとして抽出したのでは、動物体を含むブロックblk（ｈ，ｋ）が、誤って、動物体を含まないブロックとして抽出される問題が生じ得る。
【０１６７】
そこで、この問題を解消すべく、動物体の領域を除外する処理では、原点を中心Ｑとするのではなく、各ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点をＸＹ座標系上にプロットしたときの分布状態から、動物体を含むブロックblk（ｈ，ｋ）と、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑを決定することができる。
【０１６８】
そこで、図９乃至図１２を参照して、各ブロックblkの差分ベクトルＶDを２次元のＸＹ座標値とみなし、その終点を、ＸＹ座標系上にプロットしたときの分布状態から、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑを決定する処理（以下、抽出円の中心決定処理という）について説明する。
【０１６９】
抽出円の中心決定処理では、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点の集合の中心（重心）の座標と、ＸＹ座標系上の一定面積当たりの差分ベクトルＶDの終点の個数が最大の座標、即ち、差分ベクトルＶDの終点の分布密度が最大となる座標とは一致すると仮定する。
【０１７０】
なお、画像においては、一般に、非動物体の領域（動物体の領域でない領域）は、動物体の領域よりも十分に広いことが多いので、上述の仮定をしても問題はない。
【０１７１】
抽出円の中心決定処理では、上述の仮定を前提に、リファレンス画像５１の（ブロックマッチングの対象から除外されなかった）各ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点の分布密度が最大となる座標Ｖgが、円８１の中心Ｑとして求められる。
【０１７２】
差分ベクトルＶDの終点の分布密度が最大となる座標Ｖgは、単純には、例えば、次のようにして求めることができる。
【０１７３】
即ち、図９に示すように、コンピュータ１１は、ある差分ベクトルＶDの終点１１１を、注目点として選択し、その注目点１１１を中心とする半径Ｒの円１１２内に終点が位置する差分ベクトルＶDの個数をカウントする。図９の例では、注目点１１１を中心とする半径Ｒの円１１２内には、注目点１１１を含めて、６個の差分ベクトルＶDの終点があり、注目点１１１については、その注目点１１１を中心とする半径Ｒの円１１２内に終点が差存在する差分ベクトルＶDのカウント数が６となる。
【０１７４】
コンピュータ１１は、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点を、順次、注目点として、上述の差分ベクトルＶDのカウントを行う。そして、コンピュータ１１は、カウント数が最大となる差分ベクトルＶDの終点を、終点の分布密度が最大となる座標Ｖgとして求める。
【０１７５】
但し、このやり方では、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点に対して、差分ベクトルＶDの数をカウントする必要があるため、計算量が多くなる。従って、例えば、特に、リアルタイム性を要求されるようなアプリケーションや、計算能力が十分ではない環境では、このやり方は不向きである。
【０１７６】
そこで、コンピュータ１１では、例えば、次のようにして、計算量を削減して、抽出円の中心決定処理を行う（終点の分布密度が最大となる座標Ｖgを求める）ことができる。
【０１７７】
即ち、図１０に示すように、コンピュータ１１は、ある差分ベクトルＶDの終点１５１を、注目点として選択し、その注目点１５１を中心とする半径Ｒaの円１５２内に終点が位置する差分ベクトルＶDを、円１５２に属する差分ベクトルＶDとして求める。
【０１７８】
次に、コンピュータ１１は、注目点１５１を中心とする半径Ｒaの円１５２に属する差分ベクトルＶD以外の差分ベクトルＶDの終点のなかから、１つの差分ベクトルＶDの点１６１を、新たな注目点として選択し、その注目点１６１を中心とする半径Ｒaの円１６２内に位置する差分ベクトルＶDを、円１６２に属する差分ベクトルＶDとして求める。
【０１７９】
コンピュータ１１は、図１０に示すように、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点がいずれかの円に属するようになるまで、同様の処理を行う。
【０１８０】
なお、図１０では、ＸＹ座標系上にプロットされている差分ベクトルＶDの終点のうち、注目点として選択され、円の中心になった点を、円に属する（黒丸で示される）終点と区別するために、三角形で表している。
【０１８１】
また、以下では、注目点として選択され、円の中心になった差分ベクトルＶDの終点を、選択点Ｕjという。そして、選択点Ｕjを中心とする半径Ｒaの円の内側の領域を領域Ｃjとする。但し、選択点Ｕjを中心とする半径Ｒaの円の内側の領域のうちの、すでに他の選択点Ｕk（ｊ≠ｋ）の領域Ｃkとなっている部分は、領域Ｃjに含めないことにする。従って、差分ベクトルＶDの終点は、必ず１つの選択点Ｕjの領域Ｃjにのみ属する。
【０１８２】
ここで、ｊとｋは、ＸＹ座標系上にある選択点を識別するインデックスであり、例えば、図１０では、１１個の選択点があるので、ｊ，ｋ＝１，２，・・・，１１である（ｊ≠ｋ）。
【０１８３】
なお、コンピュータ１１は、例えば、リファレンス画像５１の左上から右下までのブロックblk（ｈ，ｋ）を、いわばラスタスキャン順に、注目ブロックとして選択し、その注目ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点が、既にいずれかの選択点Ｕjを中心とする円に属しているかどうかを判定する。そして、注目ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点が、いずれかの選択点Ｕjを中心とする円に属していると判定された場合には、コンピュータ１１は、ラスタスキャン順で、次のブロックblk（ｈ，ｋ）を、注目ブロックとして選択する。一方、注目ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点が、選択点Ｕjを中心とする円のいずれにも属していないと判定された場合には、コンピュータ１１は、その注目ブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点を、選択点（新たな注目点）Ｕjとして選択し、選択点Ｕjを中心とする半径Ｒaの円の領域Ｃjにあり、かつ、他の選択点Ｕkの領域Ｃkに属していない差分ベクトルＶDの終点を、選択点Ｕjの領域Ｃjに属する差分ベクトルＶDの終点として求める。そして、コンピュータ１１は、ラスタスキャン順で、次のブロックblk（ｈ，ｋ）を、注目ブロックとして選択し、以下、リファレンス画像５１のすべてのブロックblk（ｈ，ｋ）を注目ブロックとするまで、同様の処理を繰り返す。
【０１８４】
このようにして、図１１に示すように、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点がいずれかの選択点Ｕjの領域Ｃjに属する状態とされた後、コンピュータ１１は、図１１に示すように、ＸＹ座標系上にプロットされている選択点Ｕjのなかから、ある１つの選択点Ｕjを、注目点として選択し、その注目点Ｕjを中心とする半径Ｒbの円ＣＣ内に位置する、注目点Ｕjを除くすべての選択点Ｕkを検出する。ここで、図１１では、選択点Ｕ2が、注目点として選択され、注目点Ｕ2を中心とする半径Ｒbの円ＣＣが点線で示されている。さらに、図１１では、注目点Ｕ2を中心とする半径Ｒbの円ＣＣの円内に位置する他の選択点Ｕkとして、選択点Ｕ3，Ｕ6、およびＵ8が検出されている。
【０１８５】
その後、コンピュータ１１は、注目点Ｕjの領域Ｃjと、注目点Ｕjを中心とする半径Ｒbの円ＣＣ内に検出された他の選択点Ｕkの領域Ｃkとで構成される領域ＲＲj内に位置する差分ベクトルＶDの終点の個数ＰＮjをカウントする。図１１では、注目点Ｕ2の領域Ｃ2と、注目点Ｕ2を中心とする半径Ｒbの円ＣＣ内に検出された他の選択点Ｕ3，Ｕ6，Ｕ8それぞれの領域Ｃ3，Ｃ6，Ｃ8とで構成される、斜線で示されている領域ＲＲ2内に位置する差分ベクトルＶDの終点（黒丸と三角でプロットされている点）の個数ＰＮ2がカウントされている。
【０１８６】
コンピュータ１１は、選択点Ｕjの領域ＲＲj内に位置する差分ベクトルＶDの終点の個数ＰＮjのカウントを、ＸＹ座標系上の全ての選択点について行い、カウント数ＰＮjが最大の選択点Ｕjを求める。
【０１８７】
そして、コンピュータ１１は、最大のカウント数ＰＮjを与える選択点Ｕjの領域ＲＲj内に位置する差分ベクトルＶDの終点についての重心座標Ｖgを、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出するのに使用する円８１の中心Ｑとして求める。これにより、終点の分布密度が大きい領域を求め、さらに、その領域に終点が分布している差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）を、動物体を含まないブロックとして抽出することができる。
【０１８８】
図１１の例において、選択点Ｕ2の領域ＲＲ2内に位置する差分ベクトルＶDの終点の個数ＰＮ2が、すべての選択点Ｕjのなかで最大であったとすると、図１２に示すように、バツ印で示される、選択点Ｕ2の領域ＲＲ2内に位置する差分ベクトルＶDの終点の重心座標Ｖgが、円８１の中心Ｑとして求められる。
【０１８９】
次に、図１３のフローチャートを参照して、第１の抽出方法による、図７のステップＳ１６の動物体の領域を除外する処理について説明する。
【０１９０】
初めに、ステップＳ４１において、コンピュータ１１（のCPU３１）は、図７の位置関係算出処理において動物体の領域を除外する処理が、１回目の処理であるか否かを判定する。ここで、図７の位置関係算出処理において、動物体の領域を除外する処理が、１回目の処理であるということは、現在のアフィンパラメータＰcurに、真のアフィンパラメータとはかけ離れているかもしれないアフィンパラメータの初期値が設定されている。
【０１９１】
そこで、ステップＳ４１において、動物体の領域を除外する処理が、１回目の処理であると判定された場合、ステップＳ４２に進み、コンピュータ１１は、上述した抽出円の中心決定処理、即ち、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑとして、差分ベクトルＶDの終点の分布密度が最大の重心座標Ｖgを求める処理を行って、ステップＳ４４に進む。
【０１９２】
一方、ステップＳ４１において、動物体の領域を除外する処理が、１回目の処理ではないと判定された場合、ステップＳ４３に進み、コンピュータ１１は、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑを、差分ベクトルＶDの終点をプロットしたＸＹ座標系の原点にセットして、ステップＳ４４に進む。
【０１９３】
ここで、２回目以降の動物体の領域を除外する処理では、図７のステップＳ１９で、少なくとも１回のアフィンパラメータＰcurの更新が行われている。そして、少なくとも１回のアフィンパラメータＰcurの更新が行われていれば、現在のアフィンパラメータＰcurは、ある程度正しいアフィンパラメータになっており、図７のステップＳ１４で、そのようなアフィンパラメータＰcurのアフィン変換で求められる、動物体を含まないブロックblk（ｈ，ｋ）の変換動きベクトルＶGMは、マッチング動きベクトルＶBMに近いものとなっている。従って、差分ベクトルＶD（＝ＶBM−ＶGM）も０に近く、その終点は、原点付近に集中する。そこで、２回目以降の動物体の領域を除外する処理では、差分ベクトルＶDの終点の分布密度が最大の重心座標Ｖgを求めることをせずに、ステップＳ４３において、原点が、差分ベクトルＶDの終点が集中する領域としての円８１の中心Ｑにセットされる。但し、２回目以降の動物体の領域を除外する処理においても、差分ベクトルＶDの終点の分布密度が最大となる重心座標Ｖgを、円８１の中心Ｑとするようにしてもよい。
【０１９４】
ステップＳ４４において、コンピュータ１１は、図５または図１２を参照して説明したように、原点、または差分ベクトルＶDの終点の分布密度が最大の重心座標Ｖgを中心Ｑとする半径ｒの円８１、即ち、差分ベクトルＶDの終点の分布密度が高い領域である円８１を境界線として、円８１内に終点が分布する差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）を、動物体を含まないブロックblk（ｈ，ｋ）として抽出し、または円８１外に終点が分布する差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）を、動物体を含むブロックblk（ｈ，ｋ）として抽出し、動物体を含むブロックblk（ｈ，ｋ）を、図７のステップＳ１７で新たなアフィンパラメータＰnewを求めるのに用いる対象から除外して、処理を戻る。
【０１９５】
ここで、ステップＳ４４では、差分ベクトルＶDの終点と円８１の中心Ｑとの距離｜ＶD−Ｑ｜が、閾値（半径）ｒよりも大となる差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）を、動物体を含むブロックであるとして抽出し、または距離｜ＶD−Ｑ｜が閾値ｒ以下となる差分ベクトルＶDに対応するブロックblk（ｈ，ｋ）を、動物体を含まないブロックとして抽出する。従って、中心Ｑとする円８１の半径ｒは、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する閾値であると捉えることもできる。
【０１９６】
以上のように、図１３の動物体の領域を除外する処理では、差分ベクトルＶDの終点の分布密度に基づいて、即ち、動物体を含まないブロックblk（ｈ，ｋ）の差分ベクトルＶDの終点の分布が特定の領域に集中することに基づいて、動物体または非動物体を含むブロックblk（ｈ，ｋ）を抽出する。
【０１９７】
なお、中心Ｑとする円８１の半径ｒを所定の固定値とすると、画像に含まれるノイズの影響によっては、動物体を含まないブロックblk（ｈ，ｋ）が、動物体を含むblk（ｈ，ｋ）として除外されてしまうこともあり得る。そこで、半径ｒの円８１内に含まれる差分ベクトルＶDの終点の個数をカウントし、その個数が少ない場合（所定の閾値以下である場合）には、半径ｒの値を少し大きめの値に変更し、その変更後の半径ｒの円８１内に含まれる差分ベクトルＶDの終点の個数を再カウントすることを、その個数が所定の閾値以上となるまで繰り返すことができる。このように、円８１の半径ｒを可変にすることにより、さらに精度の良い動物体または非動物体の抽出が可能となる。
【０１９８】
また、図１３の動物体の領域を除外する処理においては、ステップＳ４１において、動物体の領域を除外する処理が、１回目の処理であるか否かを判定し、１回目の処理であると判定された場合には、差分ベクトルＶDの終点の分布密度が最大の重心座標Ｖgを求める処理を行うようにしたが、１回目の処理から、２回目以降の処理と同様に、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑを、差分ベクトルＶDの終点をプロットしたＸＹ座標系の原点としてもよい。この場合、図１３のステップＳ４１とＳ４２の処理を省略することができ、ステップＳ４３とＳ４４の処理を行うだけでよい。
【０１９９】
次に、図１４のフローチャートを参照して、図１３のステップＳ４２における抽出円の中心決定処理、即ち、動物体を含むブロックblk（ｈ，ｋ）、または動物体を含まないブロックblk（ｈ，ｋ）を抽出する円８１の中心Ｑとして、差分ベクトルＶDの終点の分布密度が最大となる重心座標Ｖgを求める処理について説明する。
【０２００】
初めに、ステップＳ６１において、コンピュータ１１は、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点が、いずれかの選択点Ｕjを中心とする半径Ｒaの円（円の内側の領域が図１１の領域Ｃjとされる円）に属しているか否かを判定する。
【０２０１】
ステップＳ６１において、選択点Ｕjを中心とするいずれの円にも属さない差分ベクトルＶDの終点が、まだ存在すると判定された場合、ステップＳ６２に進み、コンピュータ１１は、いずれの円にも属していない差分ベクトルＶDの終点を、新たな選択点Ｕjとして選択し、その選択点Ｕjを中心とする半径Ｒaの円内にある差分ベクトルＶDの終点を、選択点Ｕjを中心とする円に属する終点として認識するとともに、その円の内側の領域であって、他の領域Ｃjになっていない領域を、図１１で説明した領域Ｃjとして認識し、ステップＳ６１に戻る。
【０２０２】
一方、ステップＳ６１において、ＸＹ座標系上にプロットされているすべての差分ベクトルＶDの終点がいずれかの選択点Ｕjを中心とする半径Ｒaの円に属していると判定された場合、ステップＳ６３に進み、コンピュータ１１は、ＸＹ座標系上のすべての選択点Ｕjについて、選択点Ｕjの領域Ｃjと、その選択点Ｕjを中心とする半径Ｒbの円ＣＣ内に存在するすべての他の選択点Ｕkの領域Ｃkとで構成される、図１１で説明した領域ＲＲj内に位置する差分ベクトルＶDの終点の個数ＰＮjをカウントして、ステップＳ６４に進む。
【０２０３】
ステップＳ６４において、コンピュータ１１は、カウント数ＰＮjが最大となる選択点Ｕjの領域ＲＲj内に位置する差分ベクトルＶDの終点の重心座標Ｖgを、円８１の中心Ｑとして求めて、処理を戻る。
【０２０４】
次に、図１５のフローチャートを参照して、第２の抽出方法による、図７のステップＳ１６の動物体の領域を除外する処理について説明する。
【０２０５】
初めに、ステップＳ８１において、コンピュータ１１は、リファレンス画像５１の各ブロックblk（ｈ，ｋ）の差分ベクトルＶDそれぞれの大きさ｜ＶD｜を算出し、その差分ベクトルＶDの大きさ｜ＶD｜を昇順に並べて（ソートして）、ステップＳ８２に進む。
【０２０６】
ステップＳ８２において、コンピュータ１１は、ステップＳ８１のソートによって昇順に並んでいる大きさ｜ＶD（１）｜，｜ＶD（２）｜，・・・，｜ＶD（Ｎ）｜について、ブロック番号ｉの小さい順に、式（４）を満たすかどうかを判定し、これにより、差分ベクトルの大きさ｜ＶD（ｉ＋１）｜と｜ＶD（ｉ）｜との差（の大きさ）が、所定の閾値ＴｈG以上となるブロック番号ｉを検出する。
【０２０７】
ここで、式（４）を満たすブロック番号ｉが複数存在する場合には、例えば、最初または最後に検出されたブロック番号ｉ、あるいは、差分ベクトルの大きさ｜ＶD（ｉ＋１）｜と｜ＶD（ｉ）｜との差が最大のブロック番号ｉが選択される。
【０２０８】
ステップＳ８２において、コンピュータ１１は、式（４）を満たすブロック番号ｉを検出した後、そのブロック番号ｉ以下のブロック番号１乃至ｉのブロックblk1乃至blkiを、動物体を含まないブロックとして抽出し、または、ブロック番号ｉの次のブロック番号ｉ＋１以降のブロックblki+1乃至blkNを、動物体を含むブロックとして抽出して、動物体を含むブロックblki+1乃至blkNを、図７のステップＳ１７で新たなアフィンパラメータＰnewを求めるのに用いる対象から除外し、処理を戻る。
【０２０９】
以上のように、位置関係算出処理では、第１または第２の抽出方法により、動物体を含むブロックまたは動物体を含まないブロックを抽出し、動物体を含むブロックを、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めるのに用いる対象から除外するようにしたので、手振れによって生じた平行移動や回転を補正する、正確な位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めることができる。
【０２１０】
さて、従来の特許文献１で提案されている方法では、上述したように、画像全体が４つの領域に分割され、その４つの領域それぞれが、さらに小さな複数のブロックに分割される。そして、各領域内の各ブロックについて、動きベクトルＶが求められる。
【０２１１】
さらに、４つの各領域において、発散度を求め、得られた４つの領域の各発散度のうち、発散度が小さい方の２つの領域が選択され、その選択された２つの領域の平均の動きベクトルが、画像全体の動きベクトル、即ち、画像全体の動きを表すパラメータとして計算される。
【０２１２】
しかしながら、４つの領域すべてに動物体を含んでいる場合は、この方法では、動物体を正確に分離することができない。即ち、手振れによる正確な画像全体の動きを表すパラメータ（アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ））を求めることができない。
【０２１３】
これに対して、位置関係算出処理では、差分ベクトルＶDの終点をプロットしたＸＹ座標系上の、動物体を含まないブロックの差分ベクトルＶDの終点の集合の重心の座標と、一定面積当たりの差分ベクトルＶDの終点の個数が最大の座標、即ち、差分ベクトルの分布密度が最大となる座標は、一般に、ほぼ一致するという仮定に基づき、差分ベクトルＶDの終点の分布密度が最大になる領域に終点が存在する差分ベクトルＶDに対応するブロックを、動物体を含まないブロックとして抽出するので、例えば、そのブロック以外のブロックである動物体を含むブロックを除外することができ、正確な画像全体の動きを表すパラメータを求めることができる。
【０２１４】
なお、ある動物体Ｚが画像全体に対して占める割合が、他の物体と比較して大きい場合には、その動物体Ｚを含むブロックの差分ベクトルＶDが多くなるため、その終点の分布密度が高くなる結果、位置関係算出処理によれば、動物体Ｚの動きベクトルが、画像全体の動きを表すパラメータとして求められることになる。
【０２１５】
さらに、例えば、一定速度で移動中の車（動物体）に対して追従させるようにカメラを向けながら連続撮像（撮影）をする、いわば、移動中の車を流し撮りするような場合、移動中の車は、画枠に対して静止しているか、またはゆっくりと移動しているように見えることになる。そして、移動中の車が画像全体に対して占める割合が、背景などの静止物体と比較して大きいときには、位置関係算出処理によれば、連続撮像された画像において、移動中の車の位置合わせを行うパラメータを、画像全体の動きを表すパラメータとして求めることができる。
【０２１６】
また、上述した説明では、リファレンス画像５１とターゲット画像５２の２つの画像間の位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）を求めたが、２つの画像間で回転と平行移動のみの移動しかないと分かっている（近似することができる）場合には、式（１）において、ａ＝ｄ＝cosθ，−ｂ＝ｃ＝sinθとした次式（９）で表されるアフィン変換のアフィンパラメータ（θ，ｓ，ｔ）を求めるようにすることができる。また、アフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）のうちの任意の成分を所定の値により固定したアフィンパラメータを求めるようにすることもできる。
【０２１７】
【数９】
2005321902.tif 000011
・・・・（９）
【０２１８】
以上のようにして求められた、２枚の画像間の位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）は、例えば、複数枚の画像を重ね合わせる処理に用いることができる。これにより、例えば、高速撮像によって得られる、露光時間が短く、暗い複数の画像を重ね合わせて、手振れのない、かつ、鮮明な(明るい)画像を得ることができる。
【０２１９】
また、２枚の画像間の位置関係を表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）は、例えば、物体に対するデジタルカメラ１２の動きを表していることから、角速度センサや加速度センサなどのメカ的なセンサを用いることなしに、デジタルカメラ１２の動きを表すアフィンパラメータ（ａ，ｂ，ｃ，ｄ，ｓ，ｔ）によって、光学的に手振れを補正することが可能である。
【０２２０】
さらに、画像を撮像するデジタルカメラ１２等の固体撮像素子にCMOS（Complementary Mental Oxide Semiconductor）イメージセンサを用いて画像を撮像した場合、その画像（出力画像）は、スキュー歪を持つことがある。コンピュータ１１の位置関係算出処理では、アフィン変換によって画像の位置合わせを行っているため、スキュー歪を持った画像の位置合わせも可能である。
【０２２１】
ここで、動物体を含むブロックまたは動物体を含まないブロックを抽出する処理は、アフィンパラメータを求める位置関係算出処理以外の処理にも適用可能である。
【０２２２】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２２３】
【図１】本発明を適用した画像処理装置の一実施の形態の構成例を示すブロック図である。
【図２】リファレンス画像５１とターゲット画像５２を示す図である。
【図３】ブロックマッチングを説明する図である。
【図４】差分ベクトルＶDを説明する図である。
【図５】第１の抽出方法を説明する図である。
【図６】第２の抽出方法を説明する図である。
【図７】位置関係算出処理を説明するフローチャートである。
【図８】差分ベクトルＶDの終点の分布を説明する図である。
【図９】第２の抽出方法の抽出円の中心決定処理を説明する図である。
【図１０】第２の抽出方法の抽出円の中心決定処理を説明する図である。
【図１１】第２の抽出方法の抽出円の中心決定処理を説明する図である。
【図１２】第２の抽出方法の抽出円の中心決定処理を説明する図である。
【図１３】動物体の領域を除外する処理を説明するフローチャートである。
【図１４】抽出円の中心決定処理を説明するフローチャートである。
【図１５】動物体の領域を除外する処理を説明するフローチャートである。
【符号の説明】
【０２２４】
１１    コンピュータ，  １２    デジタルカメラ，  １３    インターネット，  ３１    CPU，  ３２    メモリ，  ４１    HDD，  ４３    ディスク
【図１】
2005321902.tif 000012
【図２】
2005321902.tif 000013
【図３】
2005321902.tif 000014
【図４】
2005321902.tif 000015
【図５】
2005321902.tif 000016
【図６】
2005321902.tif 000017
【図７】
2005321902.tif 000018
【図８】
2005321902.tif 000019
【図９】
2005321902.tif 000020
【図１０】
2005321902.tif 000021
【図１１】
2005321902.tif 000022
【図１２】
2005321902.tif 000023
【図１３】
2005321902.tif 000024
【図１４】
2005321902.tif 000025
【図１５】
2005321902.tif 000026