(57)【特許請求の範囲】
【請求項１】
複数の画像間の動きベクトルを検出する動きベクトル検出手段と、画像に第１画角領域を決定する第１の決定手段と、前記第１画角領域内で検出された動きベクトルを用いて幾何変形量を算出する第１の算出手段と、前記第１の算出手段で算出された幾何変形量から前記第１画角領域で生じている動き成分を解析する第１の解析手段と、前記画像に前記第１画角領域に包含され且つ前記第１画角領域よりも狭い第２画角領域を決定する第２の決定手段と、前記第２画角領域の幾何変形量を算出するために使用する動きベクトルの画角領域の範囲を第３画角領域として決定する第３の決定手段と、前記第３画角領域の動きベクトルを用いて第２画角領域の幾何変形量を算出する第２の算出手段と、を有する画像処理装置であって、
前記第３の決定手段は、前記第１の解析手段で解析された動き成分の結果から前記第３画角領域を決定することを特徴とする画像処理装置。
【請求項２】
前記第１の算出手段により算出される幾何変形量及び前記第２の算出手段により算出される幾何変形量は、並進成分、回転成分、拡大縮小成分、あおり成分の少なくとも１つの動き成分であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の決定手段は、画像中に存在する移動体が含まれないように前記第１画角領域を設定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の決定手段は、画像中に存在する所定のコントラスト値よりも小さい領域が含まれないように前記第１画角領域を設定することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記第２の決定手段は、画像認識処理により得られる画像中に存在する特定の被写体領域を包含する領域を前記第２画角領域として設定することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記第２の算出手段は、前記第１画角領域における前記回転成分の絶対値、前記あおり成分の絶対値、前記拡大縮小成分の絶対値の少なくとも１つが所定値よりも大きい場合、前記第１画角領域内で検出された動きベクトルを用いて前記第２画角領域の幾何変形量を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記第２の算出手段は、前記第１画角領域における前記並進成分の絶対値が大きい場合、前記第２画角領域内から検出された動きベクトルを用いて前記第２画角領域の幾何変形量を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記第３の決定手段は、前記動き成分が大きくなるに従って、前記第３画角領域を大きくすることを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項９】
前記第２の算出手段は、前記第２画角領域内が非剛体で占められていた場合、前記第１画角領域内で検出された動きベクトルの中で前記第２画角領域に含まれない動きベクトルを用いて前記第２画角領域の幾何変形量を算出することを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項１０】
前記第２の算出手段は、前記第２画角領域内の被写体に焦点が合っていない場合に、前記第１画角領域内で検出された動きベクトルの中で第２画角領域に含まれない動きベクトルを用いて前記第２画角領域の幾何変形量を算出することを特徴とする請求項１乃至７の何れか一項に記載の画像処理装置。
【請求項１１】
前記第２の算出手段は、前記第２画角領域の幾何変形量を算出するのに使用する動きベクトルの検出位置が前記第２画角領域から離れるに従って、前記幾何変形量の算出時の重み付けを小さくすることを特徴とする請求項１乃至１０の何れか一項に記載の画像処理装置。
【請求項１２】
複数の画像間の動きベクトルを検出する動きベクトル検出手段と、動きベクトルの検出に用いた画像の第１の領域に対する幾何変形量を算出する算出手段と、を有し、
前記算出手段は、前記第１の領域を含んでいて前記第１の領域よりも広い第２の領域における前記第１の領域以外の領域で検出された動きベクトルを用いて、前記第１の領域に対する幾何変形量を算出することを特徴とする画像処理装置。
【請求項１３】
請求項１乃至１２の何れか一項に記載の画像処理装置と、前記動きベクトルを出力する撮像素子とを有する撮像装置。
【請求項１４】
複数の画像間の動きベクトルを検出する動きベクトル検出工程と、画像に第１画角領域を決定する第１の決定工程と、前記第１画角領域内で検出された動きベクトルを用いて幾何変形量を算出する第１の算出工程と、前記第１の算出工程で算出された幾何変形量から前記第１画角領域で生じている動き成分を解析する第１の解析工程と、前記画像に前記第１画角領域に包含され且つ前記第１画角領域よりも狭い第２画角領域を決定する第２の決定工程と、前記第２画角領域の幾何変形量を算出するために使用する動きベクトルの画角領域の範囲を第３画角領域として決定する第３の決定工程と、前記第３画角領域の動きベクトルを用いて第２画角領域の幾何変形量を算出する第２の算出工程と、を有する画像処理方法であって、
前記第３の決定工程は、前記第１の解析工程で解析された動き成分の結果から前記第３画角領域を決定することを特徴とする画像処理方法。
【請求項１５】
複数の画像間の動きベクトルを検出する動きベクトル検出工程と、動きベクトルの検出に用いた画像の第１の領域に対する幾何変形量を算出する算出工程と、を有し、
前記算出工程は、前記第１の領域を含んでいて前記第１の領域よりも広い第２の領域における前記第１の領域以外の領域で検出された動きベクトルを用いて、前記第１の領域に対する幾何変形量を算出することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間的に連続した複数枚の画像間の幾何変形量を算出する技術を搭載した画像処理装置に関する。その画像処理装置を装備したデジタルカメラ、等の撮像装置に関する。
【背景技術】
【０００２】
スポーツ観戦や野鳥観察等においては、一般的に望遠レンズを使用して遠方に存在している被写体を大きく写して撮影を行う。
【０００３】
この際、手ぶれ補正や位置合わせ合成処理を行うために、望遠レンズから得られる画像を用いてフレーム画像間の幾何変形量の算出を行うと、画像上に現れる見かけの移動量が大きいため、画像間の移動量を検出することが困難となる。
【０００４】
また、望遠レンズでは得られる画像の画角が狭いため、意図してフレーミングやカメラワークを行うことが困難となる。
【０００５】
そこで、撮影は広角レンズを用いて行い、得られた広角画像の中から所望の望遠画角に相当する領域を切り出して表示を行うことで見かけの変形量が小さい広角画像上で変形量の検出を行う手法がある。
【０００６】
さらに、広角レンズを用いることで所望の望遠画角領域よりも広い範囲の画像を撮影できるため、望遠画角領域の周囲の状況を把握することが可能となり、フレーミングやカメラワークも容易に行なうことが可能となる。
【０００７】
特許文献１に記載の画像処理装置は、広角で撮影した画像の中央部で検出された動きベクトルから画像中の任意の領域の動きベクトルを推定し、その領域に対して幾何変形量の算出を行なっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１６０３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の特許文献は画像の中央部で検出された動きベクトルから画像周辺部の幾何変形量を算出しているのみであり、画像全体の動きや周辺部の位置による局所的な動きを考慮していない。
【００１０】
そこで、本発明は幾何変形量算出の対象となる任意の領域に対して、画面全体の幾何変形量を解析することで、任意の領域の幾何変形量を精度良く算出するために使用するべき画像中の動きベクトルを決定する。
【００１１】
これにより、画面全体の動きと任意の領域の動きに応じて適切な幾何変形量を算出することが可能となる方法を提案するものである。
【課題を解決するための手段】
【００１２】
本発明の一側面としての画像処理装置は、  複数の画像間の動きベクトルを検出する動きベクトル検出手段と、画像に第１画角領域を決定する第１の決定手段と、前記第１画角領域内で検出された動きベクトルを用いて幾何変形量を算出する第１の算出手段と、前記第１の算出手段で算出された幾何変形量から前記第１画角領域で生じている動き成分を解析する第１の解析手段と、前記画像に前記第１画角領域に包含され且つ前記第１画角領域よりも狭い第２画角領域を決定する第２の決定手段と、前記第２画角領域の幾何変形量を算出するために使用する動きベクトルの画角領域の範囲を第３画角領域として決定する第３の決定手段と、前記第３画角領域の動きベクトルを用いて第２画角領域の幾何変形量を算出する第２の算出手段と、を有する画像処理装置であって、前記第３の決定手段は、前記第１の解析手段で解析された動き成分の結果から前記第３画角領域を決定することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、入力画像中の特定の領域に対する幾何変形量を算出するために必要となる動きベクトルを決定する。
【００１４】
これにより、画面全体から検出された動きベクトルの全てを使用したり、特定の領域内で検出された動きベクトルのみを使用して幾何変形量を算出したりする場合に対して、より良好な幾何変形量を算出することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例１である撮像装置の構成を示すブロック図
【図２】実施例１の撮像装置の動作を示すフローチャート
【図３】テンプレートマッチング概要図
【図４】フレーム画像間で生じた幾何変形の模式図
【図５】局所的な幾何変形量による位置合わせ結果
【図６】移動体が存在する場合の第１画角領域の概要図
【図７】移動体が存在する場合の第１画角領域の大きさの決定方法
【図８】低コントラスト領域が存在する場合の第１画角領域の概要図
【図９】低コントラスト領域が存在する場合の第１画角領域の大きさの決定方法
【図１０】第２画角領域を中心にして配置された第１画角領域の概要図
【図１１】使用ベクトル決定概要図
【図１２】第２画角領域内にピントが合っていない場合のベクトル決定法
【図１３】本発明の実施例２である撮像装置の構成を示すブロック図
【図１４】実施例２の撮像装置の動作を示すフローチャート
【図１５】動き成分の大きさと第１画角領域の大きさの関係を示す表
【発明を実施するための形態】
【００１６】
〔実施例１〕
図１に、本発明の実施例１である画像処理装置の構成を示す。
【００１７】
同図において、１０１は被写体像を形成する撮像光学系であり、１０２は光学系１０１により形成された被写体像を光電変換するＣＣＤセンサやＣＭＯＳセンサ等の撮像素子である。
【００１８】
１０３は撮像素子１０２から出力される電気信号から映像信号を形成するカメラ信号処理部である。カメラ信号処理部１０３は、不図示のＡ／Ｄ変換部、オートゲイン制御部（ＡＧＣ）、オートホワイトバランス部を含み、デジタル信号を形成する。
【００１９】
撮像素子１０２及びカメラ信号処理部１０３により、画像の取得を行う撮像系が構成される。１０４は、映像信号、動きベクトルの検出結果、幾何変形量の算出結果を一時的に記憶保持するメモリである。
【００２０】
動きベクトル検出部１０５は、現像処理部１０３及びメモリ１０４から入力される２枚の画像間の動きベクトルを検出する。１０６は第１の決定部であり、画面の全体的な幾何変形量を算出する対象となる領域を決定する。
【００２１】
第１の算出部１０７は、第１画角領域の幾何変形量を算出し、第１の解析部１０８において、幾何変形量に含まれている動き成分の解析を行う。
【００２２】
第２の決定部は、画像中で最終的に幾何変形量を算出する領域を決定する。
【００２３】
１１０は使用ベクトル決定部であり、第１の解析部１０８での幾何変形量の解析結果及び第２の決定部１０９で決定された画角領域に基づいて、第２画角領域の幾何変形量を算出するために必要となる動きベクトルを決定する。
【００２４】
１１１は、動きベクトル検出部１０５で検出された動きベクトルの中から動きベクトル決定部１１０で決定された動きベクトルを用いて第２画角領域の幾何変形量を算出する。
【００２５】
出力部１１２では、第２の算出部１１１において算出された幾何変形量をメモリ１０４に記憶する。
【００２６】
そして、メインマイコン１１３は光学系１０１や各演算部の動作に対する制御を行う。
【００２７】
以上のように構成された撮像装置の動作を図２に示すフローチャートを用いて説明する。
【００２８】
図２において、ステップＳ２０１では、光学系１０１によって形成された被写体像を撮像素子１０２において被写体輝度に応じたアナログ信号として出力し、カメラ信号処理部１０３の処理を施すことで映像信号を生成させる。
【００２９】
カメラ信号処理部１０３は、不図示のＡ／Ｄ変換部によってアナログ信号を、例えば１２ビットのデジタル信号に変換する。
【００３０】
さらに、不図示のＡＧＣ及びＡＷＢによって信号レベル補正や白レベル補正が行われたデジタル映像信号は、メモリ１０４に記憶保持される。
【００３１】
本実施例の撮像装置では、所定のフレームレートで順次フレーム画像が生成され、メモリ１０４に記憶保持されたフレーム画像は動きベクトル検出部１０５に入力される。また、メモリ１０４において記憶保持されているフレーム画像も順次更新される。
【００３２】
ステップＳ２０２では、動きベクトル検出部１０５において、入力された２枚のフレーム画像間での動きベクトルの検出を行う。
【００３３】
本実施例では、動きベクトル検出方法の一例としてテンプレートマッチングを用いた方法について説明する。図３にテンプレートマッチングの概要図を示す。
【００３４】
同図において、（ａ）は原画像、（ｂ）は参照画像であり、これらの画像はメモリ１０４に記憶保持されている画像データである。
【００３５】
そして、図３の３０１に示すように原画像中の任意の位置にテンプレートブロックを配置し、テンプレートブロック３０１と参照画像の各領域との相関値を算出する。
【００３６】
このとき、参照画像の全領域に対して相関値を算出するのでは演算量が膨大なものとなるため、実際には３０２に示すように参照画像上で相関値を算出する矩形領域をサーチ範囲として設定する。
【００３７】
ここで、サーチ範囲３０２の位置や大きさについては特に制限は無いが、サーチ範囲３０２の内部にテンプレートブロック３０１の移動先に相当する領域が含まれていないと正しい動きベクトルを検出することは出来ない。
【００３８】
本実施例では、相関値の算出方法の一例として差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ＳＡＤと略す）を使用する。ＳＡＤの計算式を式１に示す。
【００３９】
【数１】
0006525693.tif 000002
【００４０】
式１において、ｆ（ｉ，ｊ）はテンプレートブロック３０１内の座標（ｉ，ｊ）における画素値を表しており、ｇ（ｉ，ｊ）はサーチ範囲３０２において相関値算出の対象となるブロック３０３内の各画素値を表す。
【００４１】
ＳＡＤでは両ブロック内の各画素値ｆ（ｉ，ｊ）及びｇ（ｉ，ｊ）について差の絶対値を計算し、その総和を求めることで相関値Ｓ＿ＳＡＤを得ることが出来る。
【００４２】
従って、相関値Ｓ＿ＳＡＤの値が小さいほど両ブロック間の画素値の差分が小さい、つまりテンプレートブロック３０１と相関値算出領域３０３のブロック内のテクスチャが類似していることを表している。
【００４３】
本実施例では、相関値の一例としてＳＡＤを使用しているが、この方法に限るものではなく、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いても良い。
【００４４】
ただし、ＳＡＤ以外の相関値を使用する場合には、その特性に応じて相関値が小さいほど類似度が高い場合と、大きいほど類似度が高い場合の２通りがあるため、それに応じて以降の処理も変更する必要がある。
【００４５】
テンプレートブロック３０１とサーチ範囲３０２との間で相関値を算出し、その値が最も小さくなる位置を判定する。
【００４６】
そして、原画像上のテンプレートブロックが参照画像においてどの位置に移動したか、つまり画像間の動きベクトルを検出することが可能となる。
【００４７】
以上のような動きベクトル検出処理を、入力されたフレーム画像間の複数の座標位置で行なう。
【００４８】
動きベクトルの検出位置については、格子状に等間隔で配置する方法やコーナーのような特徴点上に配置する方法があり、その範囲は画像全域を覆うように配置する方法や、後述の第１画角領域内に配置する方法がある。そして、検出された動きベクトル群はメモリ１０４及び第１の算出部１０７に伝送される。
【００４９】
ステップＳ２０２では、２枚のフレーム画像間において第１画角領域を設定し、その領域に対する幾何変形量の算出を行う。
【００５０】
ここで、本実施例における第１画角領域とは、後述の第２画角領域として決定される最終的に幾何変形量を取得したい画角領域に対して良好な幾何変形量を算出するために必要となる、第２画角領域よりも広範囲の領域のことである。
【００５１】
ここでは、まず本実施例における第１画角領域の決定方法について説明する。
【００５２】
図４はある２枚のフレーム画像で生じた動きを模式的に示したものである。
【００５３】
ある時刻に撮影されたフレーム画像（ａ）に対して、撮像装置の動きにより次のフレーム画像（ｂ）で回転の動きが生じたとする。
【００５４】
同図（ａ）において、４０１は最終的に幾何変形量を取得する対象となる第２画角領域を表している。
【００５５】
また、４０２はフレーム画像（ｂ）における第２画角領域であり、４０３はフレーム間での回転の動きを検出した動きベクトル群を模式的に示したものである。
【００５６】
ここで、第２画角領域４０１と４０２の間で生じている幾何変形量を算出するために、４０２の内部で検出された動きベクトル４０４を用いて幾何変形量を算出した場合を考える。
【００５７】
この場合、動きベクトル４０４は左下の方向への動きを表しているため、それを使用して算出される幾何変形量も左下方向への並進成分のみとなる。
【００５８】
このとき、算出された幾何変形量を用いてフレーム画像間の第２画角領域の位置合わせを行なった場合の第２画角領域内の被写体の状態を図５に示す。
【００５９】
同図において、５０１は図４（ａ）における第２画角領域４０１の内部に存在する被写体であり、５０２は図４（ｂ）における第２画角領域４０２の内部に存在する被写体である。
【００６０】
図５に示したように、動きベクトル４０４のような局所的な動きベクトルのみを用いて算出された幾何変形量を用いて位置合わせを行うと、並進の動きについては正しく位置を合わせることが出来る。
【００６１】
しかしながら、フレーム画像全体が回転することによって生じている主被写体の傾きについては補正されずそのまま残ってしまうため、結果として精度良く位置合わせを行うことは出来ない。
【００６２】
以上のことは、画像中の広い範囲の動きを考慮せず、局所的な領域から検出された動きベクトルを使用して主被写体の幾何変形量を算出したことが原因となっている。
【００６３】
また、図４の４０３に示した画像全域から検出された全ての動きベクトルを使用して幾何変形量を算出する。
【００６４】
そうすると、第２画角領域から離れた位置に存在する移動体、遠近競合領域、検出に失敗したベクトル等の影響により、幾何変形量の精度が低下する可能性が生じる。
【００６５】
そこで本ステップでは、第２画角領域の幾何変形量を精度良く算出するために、フレーム画像中のどの程度の画角領域について幾何変形量を算出するかを第１画角領域として決定する。
【００６６】
第１画角領域に対する幾何変形量を精度良く算出するためには、第１画角領域内において撮像装置の動きとは異なる動きを示す動きベクトルが除外されるように第１画角領域を決定する必要がある。
【００６７】
第１画角領域の決定方法としては、図６に示すようにフレーム画像間の差分情報を用いて検出された第２画角領域の外に存在している移動物体が入らないようにする方法がある。
【００６８】
図６（ａ）において、６０１は第２画角領域を示しており、６０２は第２画角領域外に存在する移動物体とする。
【００６９】
そして、同図（ｂ）は（ａ）の次フレームにおいて回転の動きが生じている状態を表しており、６０３は移動体６０２で検出された動きベクトルを示している。
【００７０】
移動体６０２で検出された動きベクトルは画像全体の回転の動きを表すベクトル群６０４とは異なる動きをしているため幾何変形量算出時の誤差要因となる。
【００７１】
従って、この場合には第１画角領域を６０５のように設定して移動体の動きベクトルを除外することで第１画角領域に対する幾何変形量を精度良く算出することが可能となる。
【００７２】
このとき、第１画角領域は、検出された移動体の位置や大きさに応じて自動で設定することが可能である。
【００７３】
図７に第１画角領域設定方法をグラフに示す。同図において、グラフの縦軸は移動体と第２画角領域との距離であり、横軸は第１画角領域の大きさを示している。
【００７４】
第１画角領域の大きさ及び位置は、その内部に第２画角領域が含まれていて、画像外にはみ出さないように出来る限り広く設定する。
【００７５】
よって、より画面全体の動きを反映した幾何変形量を算出することが出来る。
【００７６】
そのためには、図７に示したように第１画角領域の大きさは、移動体と第２画角領域の距離に正比例するように設定すれば良い。
【００７７】
このとき、複数の移動体が検出された場合には、最も第２画角領域に近い移動体との距離を用いて第１画角領域の設定を行うようにする。
【００７８】
ここで、移動体が第２画角領域の内部に入り込んでしまう距離の場合には、第１画角領域は第２画角領域よりも広い範囲での幾何変形量を算出するためのものなので、第２画角領域よりも小さくはならないようにする。
【００７９】
以上のようにすることで、図６（ｂ）の６０５に示したような移動体領域を除外しつつ、出来る限り広い範囲に第１画角領域を設定することが出来る。
【００８０】
また、画素値の分散値によりフレーム画像中に存在する低コントラスト領域を判定して、その領域が含まれないように第１画角領域を決定する方法がある。
【００８１】
図８（ａ）はある時刻において撮影されたフレーム画像であり、（ｂ）はその次のフレームにおいて回転の動きが生じた場合を示したものであり、８０１は（ａ）における第２画角領域を表している。
【００８２】
同図（ｂ）の８０２に示すような、テクスチャの無い空や地面といった領域における検出に失敗した動きベクトルを除外して第１画角領域８０３を設定することにより、良好な幾何変形量を算出することが出来る。
【００８３】
このとき、第１画角領域は、上述の移動体が存在する場合と同様に、検出された低コントラスト領域の位置や大きさに応じて自動で設定することが可能である。
【００８４】
図９に第１画角領域設定方法をグラフに示す。同図において、グラフの縦軸は低コントラスト領域と第２画角領域との距離であり、横軸は第１画角領域の大きさを示している。
【００８５】
図９に示すように第１画角領域の大きさは、低コントラスト領域と第２画角領域の距離に正比例するように設定すれば良い。
【００８６】
このとき、複数の低コントラスト領域が検出された場合には、最も第２画角領域に近い低コントラスト領域との距離を用いて第１画角領域の設定を行うようにする。
【００８７】
ここで、低コントラスト領域が第２画角領域の内部に入り込んでしまう場合には、第１画角領域は第２画角領域よりも広い範囲での幾何変形量を算出するためのものなので、第２画角領域よりも小さくはならないようにする。
【００８８】
以上のようにすることで、図８（ｂ）の８０３に示したような低コントラスト領域を除外しつつ、出来る限り広い範囲に第１画角領域を設定することが出来る。
【００８９】
以上では、画像中の移動体や低コントラスト領域に応じて第１画角領域を自動で設定する方法について述べたが、その他の方法として撮影者が撮像装置の液晶モニタを見ながら手動で設定しても良い。
【００９０】
第１画角領域を決定する他の方法としては、図１０に示すように第２画角領域１００１が常に中心に位置するように第１画角領域１００２を決定するようにしても良い。
【００９１】
これにより第２画角領域の幾何変形に重きをおいて第１画角領域の幾何変形量を算出することが出来る。
【００９２】
また、第１画角領域の大きさについては、例えば前フレームにおける第１画角領域の幾何変形量の解析結果に基づいて現フレームの第１画角領域の大きさを決定することも出来る。
【００９３】
図１５に前フレームにおける幾何変形量の各動き成分の大きさと、現フレームで設定する第１画角領域の大きさの関係を示す。
【００９４】
図１５より、前フレームでの幾何変形量において並進の成分が主であった場合には現フレームの第１画角領域を狭くすることで、幾何変形量算出の誤差要因となる並進以外の動きを検出している動きベクトルが入りこむ可能性を低減することが出来る。
【００９５】
逆に、前フレームにおける幾何変形量が回転成分やあおり成分、そして拡大縮小成分の動き成分のどれか一つでも主たる動き成分であった場合には、並進の動き成分の大きさに関わらず現フレームでの第１画角領域を広くする。
【００９６】
回転成分、あおり成分、そして拡大縮小成分の動き成分は、画像中の各領域において一定の規則を持つ大きさ及び方向の動きベクトルとして検出されるため、可能な限り広い範囲の動きベクトルを使用した方が精度良く幾何変形量を算出することが出来る。
【００９７】
第１画角領域における回転成分の絶対値、あおり成分の絶対値、拡大縮小成分の絶対値の少なくとも１つが所定値よりも大きい場合、第１画角領域内で検出された動きベクトルを用いて前記第２画角領域の幾何変形量を算出する。
【００９８】
また、全ての動き成分が小さい場合には、画像中に存在する移動体や検出に失敗した動きベクトルの影響を受けやすくなるため、第１画角領域を狭くすることでそれらの影響を受けないようにする。
【００９９】
そして、並進成分が大きく、回転成分、あおり成分、そして拡大縮小成分が小さい場合には、幾何変形量の算出において、並進成分に対して、その他の動き成分の影響度は小さいため、第１画角領域は上述の全ての動き成分が小さい場合と比較して広く設定出来る。
【０１００】
どの動き成分が主たる動きであるかの判定については、例えば各動き成分について主たる動きとしての判定値を設定する。
【０１０１】
そして、動き成分の大きさがゼロであれば判定値はゼロ、つまり主たる動きではないと判定し、動き成分の大きさが大きくなるに従って判定値の値を大きくする。
【０１０２】
各動き成分の判定値について比較を行い、例えば判定値が大きい方から２つの成分を主たる動き成分であると判定したり、最も判定値が大きいものを主たる動きと判定する。
【０１０３】
また、主たる動きの判定方法の別の例としては、予め定められた閾値に対して動き成分の方が大きければ主たる動きであると判定するようにしても良い。
【０１０４】
本実施例においては、フレーム画像中のどこに第１画角領域を決定するかについて述べたが、第１画角領域を撮影画角と同じとすることで、フレーム画像全体の幾何変形量を算出するようにしても良い。
【０１０５】
また、本実施例においては、第１画角領域を矩形領域として表しているが、これに限るものではなく、円形や台形等のどのような形状でも問題は無い。
【０１０６】
また、第２画角領域はステップＳ２０５において決定する。第２画角領域決定部１０９において、フレーム画像中で最終的に幾何変形量を算出する対象となる画角領域を第２画角領域として決定する。
【０１０７】
第２画角領域の決定方法としては、撮影者がライブビュー画像等を見ながら、手動で任意の被写体や領域を指定し、それを包含出来るような範囲を決定する。
【０１０８】
これにより、最終的に幾何変形量を算出したい領域を第２画角領域として決定することが出来る。
【０１０９】
以上のようにして検出された動きベクトルを用いて、第１画角領域幾何変形量算出部１０７では、第１画角領域の幾何変形量を算出する。以下に動きベクトル群を用いた幾何変形量の算出方法について説明する。
【０１１０】
本実施例では、幾何変形のモデルとしてホモグラフィ行列を画像変形量とした場合の算出方法について説明する。現フレーム画像上のある点ａ、
【０１１１】
【数２】
0006525693.tif 000003
【０１１２】
が次フレームにおいて点ａ′、
【０１１３】
【数３】
0006525693.tif 000004
【０１１４】
に移動したとする。ここで、添え字Ｔは転置行列であること示す。
【０１１５】
式２の点ａと式３の点ａ′の対応関係は、ホモグラフィ行列Ｈを用いることにより、
【０１１６】
【数４】
0006525693.tif 000005
【０１１７】
と表すことができる。
【０１１８】
ホモグラフィ行列Ｈは画像間の並進、回転、変倍、せん断、あおりによる変形量を示す行列式であり、以下の式により表すことができる。
【０１１９】
【数５】
0006525693.tif 000006
【０１２０】
ホモグラフィ行列Ｈの各要素は、ステップＳ２０４で得られる動きベクトル群、つまりフレーム画像間における代表点の対応関係を用いて、最小二乗法等の統計的処理を適用することにより算出することが出来る。
【０１２１】
このようにして求められたホモグラフィ行列Ｈは、撮像装置の動きによる画像の変形量を表している。
【０１２２】
本実施例においては、第１画角領域の幾何変形量を表すモデルとしてホモグラフィ行列について説明したがこれに限るものではなく、ヘルマート行列やアフィン行列等の他のモデルを使用しても良い。
【０１２３】
ステップＳ２０４では、第１の算出部１０７から取得される幾何変形量を用いて、フレーム画像間における第１画角領域の幾何変形量にどのような動き成分が含まれているかについて解析を行う。
【０１２４】
本実施例では、幾何変形量から各動き成分を抽出する方法の一例としてホモグラフィ行列を各動き成分に分解する方法について説明する。
【０１２５】
式５に示したホモグラフィ行列Ｈはフレーム画像間における並進ｔ、回転Ｒ、拡大縮小ｓ、せん断Ｋ、あおりｖの動きを表すことが可能であり、下式のように変形することが出来る。
【０１２６】
【数６】
0006525693.tif 000007
【０１２７】
ただし、各変数は以下の通りである。
【０１２８】
【数７】
0006525693.tif 000008
【０１２９】
【数８】
0006525693.tif 000009
【０１３０】
【数９】
0006525693.tif 000010
【０１３１】
【数１０】
0006525693.tif 000011
【０１３２】
ここで、θは光軸周りの回転角、ｂ及びφはせん断の係数を表している。
【０１３３】
また、行列Ａは式１４に示す関係を有する。
【０１３４】
【数１１】
0006525693.tif 000012
【０１３５】
次に、ＲおよびＫの算出方法について説明する。まず、式１４を変形することにより得られる式１５からＲＫを求める。
【０１３６】
【数１２】
0006525693.tif 000013
【０１３７】
そして、Ｋが上三角行列であるという性質を利用し、ＱＲ分解によりＲおよびＫの分離を行うことで最終的に行列Ａを算出する。
【０１３８】
これにより、フレーム画像間における並進ｔ、回転Ｒ、拡大縮小ｓ、せん断Ｋ、あおりｖの動き成分を得ることが出来る。
【０１３９】
そして、各動き成分の大きさについて判定処理を行うことで、第１画角領域の幾何変形量を解析する。
【０１４０】
判定の方法としては例えば、各動き成分について予め定められた閾値よりも大きな動き量であった場合にはその動き成分は第１画角領域おける主たる動き成分であると判定する。
【０１４１】
その他にも、各動き成分について実際に各画素の移動量を個別に算出して、その移動量の比率等からどの移動量が幾何変形量全体の中で最も多くの割合を占めているかを判定して主たる動きを決定しても良い。
【０１４２】
本実施例では、幾何変形量を解析するためにホモグラフィ行列を動き成分に分解する方法について説明したが、これに限るものではなく、例えばホモグラフィ行列の各成分を動き成分であると近似して判定を行うといった方法を用いても良い。
【０１４３】
以上のようにして算出された第１画角領域の幾何変形量の解析結果は、使用ベクトル決定部１１０に伝送される。
【０１４４】
ステップＳ２０５では、前述の方法により、最終的に幾何変形量を算出する対象となる領域を第２画角領域として決定する。
【０１４５】
以上のようにして決定された第２画角領域の位置及び範囲の情報は使用動きベクトル決定部１１０に伝送される。
【０１４６】
ステップＳ２０６では、第１の解析部１０８から得られる第１画角領域の幾何変形量の解析結果及び第２の決定部１０９から得られる第２画角領域の情報を用いて第２画角領域の幾何変形量を算出する。
【０１４７】
本ステップでは、まず、ベクトル決定部１１０において第２画角領域の幾何変形量を算出するために使用する動きベクトルを決定する。
【０１４８】
ここで、第１の解析部１０８から得られた解析結果において、例えば、回転、あおり、そして拡大縮小のいずれか又は複数の動き成分が第１画角領域における主たる動きであると判定されたとする。
【０１４９】
それぞれの動き成分が主たる動き成分であるかどうかを判定する方法としては、例えば各動き成分について主たる動きとしての判定値を設定する。
【０１５０】
そして、動き成分の大きさがゼロであれば判定値はゼロ、つまり主たる動きではないと判定し、動き成分の大きさが大きくなるに従って判定値の値を大きくする。
【０１５１】
各動き成分の判定値について比較を行い、例えば判定値が大きい方から２つの成分を主たる動き成分であると判定したり、最も判定値が大きいものを主たる動きと判定する。
【０１５２】
また、その他の判定方法としては、各動き成分が予め定められた閾値との比較を行い、閾値よりも大きい動きを有する動き成分を画像中での主たる動き成分であると判定しても良い。図１１に使用ベクトル決定の概要図を示す。
【０１５３】
同図（ａ）において１１０１は第１画角領域、１１０２は第２画角領域を示している。
【０１５４】
そして、回転、あおり、拡大縮小のいずれか又は複数の動き成分が主たる動きであると判定された場合には、１１０３に示すような第２画角領域１１０２よりも広い範囲で検出された動きベクトルを使うようにする。
【０１５５】
これにより、第２画角領域の動きを並進のみの動きであると誤判定したり、第２画角領域から離れた位置にある移動物体の動きベクトルや低コントラスト領域での検出失敗ベクトルの影響を受けたりすることなく良好な幾何変形量を算出することが出来る。
【０１５６】
それに対して、第１画角領域における幾何変形の主たる動き成分が並進の成分であると判定された場合には、図１１（ｂ）の１１０４に示すように第２画角領域内で検出された動きベクトルを用いて第２画角領域の幾何変形量を算出する。
【０１５７】
これにより、第１画角領域が並進の動きのみをしているのであれば、第２画角領域の幾何変形量も並進の動きのみである。
【０１５８】
よって、第２画角領域内で検出された動きベクトルだけを幾何変形量の算出に使用することで第２画角領域の並進の動きを精度良く算出することが出来る。
【０１５９】
また、１１０３や１１０４に示した使用ベクトルの範囲の決定方法の例としては、主たる動き成分の種類に加えて、その主たる動き成分の大きさに応じて決定することが出来る。
【０１６０】
例えば、各動き成分の大きさが大きくなるに従って、使用する動きベクトルの範囲１１０３を広くする。
【０１６１】
これにより、大きな動き量の場合にはより多くの動きベクトルを使用して幾何変形量を算出することになるため、より高精度に幾何変形量を算出することが可能となる。
【０１６２】
逆に、主たる動き成分の大きさが小さい場合には使用する動きベクトルの数が少なくでも幾何変形量の算出精度に大きな影響は出ることは無く、演算コストの削減効果が期待できる。
【０１６３】
ここで、使用ベクトル決定方法の他の例としては、第２画角領域内の被写体の状態により決定することができる。
【０１６４】
画像認識処理により得られる画像中に存在する特定の被写体領域を包含する領域を前記第２画角領域として設定する。
【０１６５】
例えば、フレーム間での第２画角領域内の各画素値の差分を計算し、差分値が予め定められた閾値よりも大きい画素が第２画角領域のどの程度の割合であるかを算出する。
【０１６６】
それにより、第２画角領域内に動きの大きい非剛体が存在しているかどうかを判定することが出来る。
【０１６７】
このときの閾値は任意に設定すれば良く、例えば差分値が１０以上の画素が第２画角領域内の総画素の８０％以上を占めていたら、第２画角領域の大部分が非剛体に占められていると判定すれば良い。
【０１６８】
この場合の使用ベクトル決定の概要図を図１２に示す。図１２において、１２０１は非剛体領域を含む第２画角領域、１２０２は使用動きベクトル群の存在範囲、１２０３は第２画角領域内で検出された動きベクトルを示している。
【０１６９】
非剛体上で検出される動きベクトルは画像全体の動きとは異なる上に、各フレーム間で不定の動きとなるため、それらを使用すると良好な幾何変形量を得ることが出来ない可能性がある。
【０１７０】
従って、第２画角領域内に非剛体が存在しているような場合には、図１２に示すように１２０２の中の使用ベクトル群の中でも第２画角領域内の動きベクトルは使用せずに、第２画角領域の幾何変形量を算出するようにする。
【０１７１】
第２画角領域内のベクトルを使用しない状況としては非剛体の存在の他に、第２画角領域内の被写体に焦点が合っていない場合がある。
【０１７２】
このような場合においても、第２画角領域内で検出される動きベクトルの精度は低いため幾何変形量の算出時の誤差の要因となり得る。
【０１７３】
従って、第２画角領域内の動きベクトルを使わないようにすることで第２画角領域の幾何変形量を精度良く算出することが出来る。
【０１７４】
第２画角領域内の被写体に焦点が合っているかどうかの判定については、第２画角領域内の画素値の分散値が予め定められた閾値以下であったら焦点が合っていないと判定すれば良い。
【０１７５】
その他の方法としては、撮影時のＡＦパラメータから画像中のどの領域に焦点が合っているかで判定することが出来る。
【０１７６】
第２の算出部１１１では、画像中に存在する所定のコントラスト値よりも小さい領域が含まれないように前記第１画角領域を設定しても良い。
【０１７７】
以上のようにして決定された使用ベクトルの情報は、第２の算出部１１１に伝送される。
【０１７８】
第２の算出部１１１では、使用ベクトル決定部１１０で決定された動きベクトルを用いて第２画角領域の幾何変形量を算出する。
【０１７９】
第２画角領域の幾何変形量の算出方法は、第１の算出部１０７における幾何変形量の算出処理と同様のことを行なえば良い。
【０１８０】
図２において、ステップＳ２０７では、第２の算出部１１１において算出された幾何変形量をメモリ１０４に記憶したり、不図示の外部記憶装置に伝送したりする。
【０１８１】
以上説明したように、フレーム画像中の特定の画角領域に対する幾何変形量を算出する際に、その周辺の領域も含めてどの位置で検出された動きベクトルを使用するかを適応的に決定する。
【０１８２】
これにより、フレーム画像中の特定の画角領域の幾何変形量を精度良く算出することが可能となる。
【０１８３】
〔実施例２〕
図１３に、本発明の実施例２である撮像装置の構成を示す。
【０１８４】
本実施例では、異なる２つの光学系から得られる画像及び動きベクトルを用いて幾何変形量の算出を行う。
【０１８５】
同図において、図１に示した構成要素と共通するものについては、図１と同符号を付す。
【０１８６】
本実施例の撮像装置は、図１に示した構成において、第２の光学系１３０１、第２の撮像素子１３０２、第２の現像処理部１３０３、第２の動きベクトル検出部１３０５を有する。
【０１８７】
さらに、本実施例では第２の決定部１０９の替わりに、第２の判定部１３０４を有する。
【０１８８】
また、本実施例におけるフローチャートを図１４に示す。本実施例では、図１４において実施例１と異なる処理を行う部分についてのみ説明する。
【０１８９】
ステップＳ２０１からＳ２０４は、図２におけるＳ２０１からＳ２０４と同じである。
【０１９０】
ステップＳ１３０１では、第２の判定部１３０４において、第２の光学系１３０１から取得されたフレーム画像が、第１の光学系１０１から取得された画像中のどの領域に相当するかを第２画角領域として判定する。
【０１９１】
ここで、第１の光学系１０１は、第２の光学系１３０１よりも広角な画像を取得することが可能であり、第２の光学系から得られる画像は第１の光学系から得られる画像中の一部の画角領域を撮影しているものとする。
【０１９２】
第２画角領域の判定方法としては、まず撮像装置から得られるそれぞれの光学系の位置姿勢情報から互いの相対的な位置関係を把握する方法がある。
【０１９３】
第１の光学系１０１の方向に対する第２の光学系１３０１の方向が分かれば、第１の光学系から得られる画像中のどの領域を第２の光学系が撮像しているのかを知ることが出来る。
【０１９４】
そして、同様に撮像装置から得られるそれぞれの光学系の焦点距離情報を用いることで、第２の光学系１３０１が第１の光学系１０１から得られる画像中のどの程度の範囲を撮像しているのかを算出することが出来る。
【０１９５】
また、第２画角領域の判定方法としてそれぞれの光学系から得られる画像情報を用いる方法もある。
【０１９６】
それぞれの画像からテクスチャのコーナー等の特徴点を抽出して、その特徴点について特徴量を求める。
【０１９７】
そして、特徴点のマッチング処理を行うことにより、第１の光学系１０１から得られた画像中のどこに第２の光学系１３０１から得られる画像と一致する領域があるかを判定することができる。
【０１９８】
ステップＳ１４０２では、第２の動きベクトル検出部１３０５において、第２の光学系１３０１から得られた画像に対して動きベクトルの検出を行う。
【０１９９】
動きベクトルの検出方法については、実施例１で述べた動きベクトル検出部１０５と同様の処理を行なえば良い。
【０２００】
ステップＳ２０６では、第１の解析部１０８から得られる第１画角領域の幾何変形量の解析結果及び第２の判定部１３０４から得られる第２画角領域の情報を用いて第２の光学系から得られる画像の幾何変形量を算出する。
【０２０１】
算出の方法は、実施例１におけるステップＳ２０６と同様の処理を行なえば良いが、第２画角領域内の動きベクトルとして、第２の動きベクトル検出部１３０５で検出された第２の光学系１３０１から得られた画像に対する動きベクトルを使用するようにする。
【０２０２】
この際、第１と第２の光学系はそれぞれ焦点距離が異なっているため、実空間上では同じ動きをしている被写体を撮像していたとしても、画像上に現れる見かけの動き量は異なる。
【０２０３】
そのため、使用ベクトルを決定して第２画角領域の幾何変形量を算出する際には、動きベクトルに対して焦点距離に応じた換算処理を施すことで見かけの動き量を揃える必要がある。
【０２０４】
動き量を揃える方法としては、例えば見かけの動き量は焦点距離に比例するとして一方の動きベクトルをもう一方の動きベクトルに合わせても良いし、それ他の方法として、それぞれの動きベクトルを焦点距離で正規化する等の方法を用いても良い。
【０２０５】
図１４におけるステップＳ２０７は図２におけるＳ２０７と同じである。
【０２０６】
ここまで、実施例２における本提案の動作について述べた。
【０２０７】
実施例１では一つの光学系から得られた画像に対して、任意の画角領域の幾何変形量を算出する方法について述べた。
【０２０８】
それに対して本実施例では、異なる焦点距離を持つ複数の光学系において、広角の画像から得られる動きベクトル情報を利用して、望遠の画像の幾何変形量を良好に算出する方法について述べた。
【０２０９】
これにより、例えば実施例１のように広角の画像の一部を第２の画角領域として抽出するよりも高解像度の第２画角領域の画像とそれに対する幾何変形量を算出することが出来る。
【０２１０】
また、本実施例では一つの撮像装置に複数の光学系を有する場合について述べたが、異なる撮像装置で撮影した画像間についても本実施例と同様の方法により幾何変形量を算出することが可能となる。
【０２１１】
ここで、本件の用途としてはスポーツ観戦や野鳥観察のように遠距離の被写体を撮影する場合が挙げられる。そして、広角画像から被写体領域を切り出して望遠画像として表示する際に、画像上で被写体に生じているぶれを良好に補正した画像を生成することが挙げられる。
【０２１２】
さらに、その他の用途としては、例えば、監視カメラへの適用がある。
【０２１３】
監視カメラでの撮影において、広角で撮影している画像から不審者等の注目領域を切り出して表示する際に、本件の手法を用いることとする。よって、注目領域内の被写体に対して良好にぶれが補正された画像を生成することが可能となる。
【０２１４】
これにより、注目領域内の被写体に対する視認性が高まると共に、後段の処理として行なわれる顔識別処理や追尾処理を精度良く実行することが可能となる。
【０２１５】
（他の実施形態）
本発明の目的は以下のようにしても達成できる。すなわち、前述した各実施形態の機能を実現するための手順が記述されたソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給する。そしてそのシステムまたは装置のコンピュータ（またはＣＰＵ、ＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行するのである。
【０２１６】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
【０２１７】
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどが挙げられる。また、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等も用いることができる。
【０２１８】
また、コンピュータが読み出したプログラムコードを実行可能とすることにより、前述した各実施形態の機能が実現される。さらに、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施形態の機能が実現される場合も含まれる。
【０２１９】
更に、以下の場合も含まれる。まず記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う。
【０２２０】
また、本発明はデジタルカメラのような撮影を主目的とした機器にかぎらず、携帯電話、パーソナルコンピュータ（ラップトップ型、デスクトップ型、タブレット型など）、ゲーム機など、撮像装置を内蔵もしくは外部接続する任意の機器に適用可能である。従って、本明細書における「撮像装置」は、撮像機能を備えた任意の電子機器を包含することが意図されている。
【符号の説明】
【０２２１】
１０７  第１の算出部
１０８  第１の解析部
１１０  動きベクトル決定部
１１１  第２の解析部
【図１】
0006525693.tif 000014
【図２】
0006525693.tif 000015
【図３】
0006525693.tif 000016
【図４】
0006525693.tif 000017
【図５】
0006525693.tif 000018
【図６】
0006525693.tif 000019
【図７】
0006525693.tif 000020
【図８】
0006525693.tif 000021
【図９】
0006525693.tif 000022
【図１０】
0006525693.tif 000023
【図１１】
0006525693.tif 000024
【図１２】
0006525693.tif 000025
【図１３】
0006525693.tif 000026
【図１４】
0006525693.tif 000027
【図１５】
0006525693.tif 000028