(57)【要約】【課題】  複数の画像の位置合わせを行って合成した画像の劣化を抑制する。【解決手段】  ３つ以上の入力画像の１つを基準画像とし、残りを位置合わせ対象画像とする。全ての位置合わせ対象画像について、位置合わせ対象画像を分割した複数の検出ブロックにより定まる位置合わせ候補領域を確定する。そして、全ての位置合わせ対象画像の位置合わせ候補領域で共通する検出ブロックの組み合わせを位置合わせ領域とし、位置合わせ領域における動きベクトルから変換パラメータを導出することを全ての位置合わせ対象画像について行う。このようにして導出した変換パラメータを用いて位置合わせ対象画像のそれぞれと基準画像との位置合わせを行い、合成する。【選択図】  図１
2015041802.tif 000002
【特許請求の範囲】
【請求項１】
位置合わせが行われる少なくとも３つ以上の画像のうちの１つの画像である基準画像と、当該３つ以上の画像のうちの前記基準画像と異なる画像である位置合わせ対象画像のそれぞれとの位置合わせを行う画像処理装置であって、
前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を抽出する候補領域抽出手段と、
前記位置合わせ対象画像のそれぞれにおける前記位置合わせ候補領域の相関に基づいて、前記位置合わせ対象画像における前記位置合わせを行う領域である位置合わせ領域を導出する領域導出手段と、
前記位置合わせ領域における前記基準画像と前記位置合わせ対象画像との位置のずれに基づいて、前記基準画像と、前記位置合わせ対象画像との位置合わせを行う位置合わせ手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記候補領域抽出手段は、前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を１つずつ抽出し、
前記領域導出手段は、前記位置合わせ対象画像の全ての前記位置合わせ候補領域で共通する領域を、前記位置合わせ対象画像のそれぞれにおける前記位置合わせ領域として導出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記候補領域抽出手段は、前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を少なくとも２つずつ抽出し、
前記領域導出手段は、前記位置合わせ対象画像の全てから１つずつ選択される前記位置合わせ候補領域の組み合わせのうち、当該選択される前記位置合わせ候補領域の全てで共通する領域が最も大きくなる組み合わせを、前記位置合わせ対象画像のそれぞれにおける前記位置合わせ領域として導出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記候補領域抽出手段は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う前記動きベクトル検出手段と、
前記動きベクトル検出手段により検出された動きベクトルの全てまたは一部に基づいて、位置のずれを評価する仮の変換係数を導出することを、前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算手段と、
前記演算手段により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記位置合わせ対象画像のそれぞれについて行う距離導出手段と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックのうち、前記距離導出手段により導出された距離が閾値よりも大きくなるブロックを除いたブロックの組み合わせを、当該ブロックが属する前記位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記位置合わせ対象画像のそれぞれについて行うことを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記候補領域抽出手段は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル検出手段と、
前記動きベクトル検出手段により検出された動きベクトルの全てに基づいて、位置のずれを評価する仮の変換係数を導出することを、前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算手段と、
前記演算手段により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記位置合わせ対象画像のそれぞれについて行う距離導出手段と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックの中から、前記距離導出手段により導出された距離が閾値よりも大きくなるブロックを含まないブロックの組み合わせを、当該位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記位置合わせ対象画像のそれぞれについて行う特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記候補領域抽出手段は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル検出手段と、
前記位置合わせ対象画像を複数に分割したブロックの一部かつ複数のブロックに対して前記動きベクトル検出手段により検出された動きベクトルの組み合わせを、複数通り選択することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル選択手段と、
前記動きベクトル選択手段により選択された動きベクトルの組み合わせに基づいて、位置のずれを評価する仮の変換係数を導出することを、前記動きベクトルの組み合わせのそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算手段と、
前記演算手段により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記仮の変換係数のそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行う距離導出手段と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックの中から、前記距離導出手段により導出された距離が閾値よりも大きくなるブロックを除いたブロックの組み合わせを、当該ブロックが属する前記位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記距離導出手段により導出された距離のそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行うことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記位置合わせ手段により位置合わせが行われた前記基準画像と、前記位置合わせ対象画像のそれぞれとを合成する画像合成手段を有することを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
前記基準画像は、最初に入力された画像であり、
前記位置合わせ対象画像は、前記基準画像よりも後に入力された画像であることを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
位置合わせが行われる少なくとも３つ以上の画像のうちの１つの画像である基準画像と、当該３つ以上の画像のうちの前記基準画像と異なる画像である位置合わせ対象画像のそれぞれとの位置合わせを行う画像処理方法であって、
前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を抽出する候補領域抽出工程と、
前記位置合わせ対象画像のそれぞれにおける前記位置合わせ候補領域の相関に基づいて、前記位置合わせ対象画像における前記位置合わせを行う領域である位置合わせ領域を導出する領域導出工程と、
前記位置合わせ領域における前記基準画像と前記位置合わせ対象画像との位置のずれに基づいて、前記基準画像と、前記位置合わせ対象画像との位置合わせを行う位置合わせ工程と、を有することを特徴とする画像処理方法。
【請求項１０】
前記候補領域抽出工程は、前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を１つずつ抽出し、
前記領域導出工程は、前記位置合わせ対象画像の全ての前記位置合わせ候補領域で共通する領域を、前記位置合わせ対象画像のそれぞれにおける前記位置合わせ領域として導出することを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記候補領域抽出工程は、前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を少なくとも２つずつ抽出し、
前記領域導出工程は、前記位置合わせ対象画像の全てから１つずつ選択される前記位置合わせ候補領域の組み合わせのうち、当該選択される前記位置合わせ候補領域の全てで共通する領域が最も大きくなる組み合わせを、前記位置合わせ対象画像のそれぞれにおける前記位置合わせ領域として導出することを特徴とする請求項９に記載の画像処理方法。
【請求項１２】
前記候補領域抽出工程は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う前記動きベクトル検出工程と、
前記動きベクトル検出工程により検出された動きベクトルの全てまたは一部に基づいて、位置のずれを評価する仮の変換係数を導出することを、前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算工程と、
前記演算工程により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記位置合わせ対象画像のそれぞれについて行う距離導出工程と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックのうち、前記距離導出工程により導出された距離が閾値よりも大きくなるブロックを除いたブロックの組み合わせを、当該ブロックが属する前記位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記位置合わせ対象画像のそれぞれについて行うことを特徴とする請求項９〜１１の何れか１項に記載の画像処理方法。
【請求項１３】
前記候補領域抽出工程は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル検出工程と、
前記動きベクトル検出工程により検出された動きベクトルの全てに基づいて、位置のずれを評価する仮の変換係数を導出することを、前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算工程と、
前記演算工程により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記位置合わせ対象画像のそれぞれについて行う距離導出工程と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックの中から、前記距離導出工程により導出された距離が閾値よりも大きくなるブロックを含まないブロックの組み合わせを、当該位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記位置合わせ対象画像のそれぞれについて行う特徴とする請求項１０に記載の画像処理方法。
【請求項１４】
前記候補領域抽出工程は、
前記位置合わせ対象画像を複数に分割した全てのブロックにおける前記基準画像との間の動きベクトルを検出することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル検出工程と、
前記位置合わせ対象画像を複数に分割したブロックの一部かつ複数のブロックに対して前記動きベクトル検出工程により検出された動きベクトルの組み合わせを、複数通り選択することを、前記位置合わせ対象画像のそれぞれについて行う動きベクトル選択工程と、
前記動きベクトル選択工程により選択された動きベクトルの組み合わせに基づいて、位置のずれを評価する仮の変換係数を導出することを、前記動きベクトルの組み合わせのそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行う仮変換係数の演算工程と、
前記演算工程により導出された仮の変換係数を用いて前記ブロックの所定の位置の座標変換を行った点と、当該所定の位置から当該ブロックにおける前記動きベクトルに基づく位置だけ離れた点との距離を、前記位置合わせ対象画像を複数に分割した全てのブロックについて導出することを、前記仮の変換係数のそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行う距離導出工程と、を有し、
前記位置合わせ対象画像を複数に分割した全てのブロックの中から、前記距離導出工程により導出された距離が閾値よりも大きくなるブロックを除いたブロックの組み合わせを、当該ブロックが属する前記位置合わせ対象画像に対する前記位置合わせ候補領域として導出することを、前記距離導出工程により導出された距離のそれぞれ並びに前記位置合わせ対象画像のそれぞれについて行うことを特徴とする請求項１１に記載の画像処理方法。
【請求項１５】
前記位置合わせ工程により位置合わせが行われた前記基準画像と、前記位置合わせ対象画像のそれぞれとを合成する画像合成工程を有することを特徴とする請求項９〜１４の何れか１項に記載の画像処理方法。
【請求項１６】
前記基準画像は、最初に入力された画像であり、
前記位置合わせ対象画像は、前記基準画像よりも後に入力された画像であることを特徴とする請求項９〜１５の何れか１項に記載の画像処理方法。
【請求項１７】
請求項９〜１６の何れか１項に記載の画像処理方法の各工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びコンピュータプログラムに関し、特に、複数の画像の位置合わせを行うために用いて好適なものである。
【背景技術】
【０００２】
従来から、時間的に連続した複数の画像を、位置合わせをした上で合成する技術が多数提案されている。かかる技術の一例として、手振れの影響を受けない程度のシャッター速度で複数の画像を撮影し、それら複数の画像を、位置合わせを行った上で加算平均することで、電子的に手振れを補正する技術が提案されている。また、かかる技術の他の例として、露出の異なる複数の画像を撮影し、それら複数の画像を、位置合わせを行った後に、明るさに合わせて重みを変えながら合成することで、ダイナミックレンジの拡張された画像を得る技術が提案されている。
このような技術においては、画像の加重加算を行うために、画像の位置が合っていない領域では、合成された画像においてエッジ部が多重に見える等の弊害が生じる。従って、画像の位置合わせの精度の向上は必須の課題となっている。
【０００３】
そこで、特許文献１、２に記載の技術が提案されている。特許文献１では、画像間で複数の対応点を求めておき、当該複数の対応点の中から画面全体の動きを表す信頼性の高い対応点を抽出し、抽出した対応点から動きパラメータを算出し、算出した動きパラメータに基づき画像の位置合わせを行う技術が提案されている。
また、特許文献２では、複数の画像の中の特定のフレームから顔領域を予め検出しておき、当該顔領域で検出された動きベクトルの重み付けを大きくして、画面全体の移動パラメータを算出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２９８６８号公報
【特許文献２】特開２００７−８１６８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、位置合わせを行う２つの画像間で最適となる動きパラメータを算出する。しかしながら、実際の撮影シーンでは、主要な被写体と背景とのそれぞれの動きが異なる場合がある。この場合の例として、主要な被写体が人物等の移動体である場合や、主要な被写体と背景との間の距離差が原因となる場合等が挙げられる。そのような場合においては、特許文献１の技術では、次のような課題が生じる。
【０００６】
図１７は、特許文献１における画像の合成方法を説明する図である。
図１７では、３つ以上の画像が入力された場合に、位置合わせを行う各フレーム間で動きパラメータを算出する領域がばらつき、結果として合成画像１７０４の画質が劣化することを示す。図１７に示す例では、１つ目の画像１７０１（基準画像）と２つ目の画像１７０２とでは、被写体Ａで動きパラメータを算出して位置合わせを行う。一方、１つ目の画像１７０１と３つ目の画像１７０３とでは、背景Ｂで動きパラメータを算出して位置合わせを行う。このように異なる被写体Ａ、Ｂで位置合わせを行うため、合成画像１７０４では、どちらの被写体Ａ、Ｂにも位置が合わなくなる。
【０００７】
また、特許文献２では、特定のフレームで検出された顔領域に重みをつけて動きを求める。このため、前述した位置合わせ領域のばらつきという問題は低減する。しかしながら、特に、顔領域が大きな移動量を持つ移動体である場合には、顔以外の背景領域も顔の動きに合わせて位置合わせされる。このため、結果的に背景領域の位置が大きくずれ、合成画像が劣化するという課題が生じる。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、複数の画像の位置合わせを行って合成した画像の劣化を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、位置合わせが行われる少なくとも３つ以上の画像のうちの１つの画像である基準画像と、当該３つ以上の画像のうちの前記基準画像と異なる画像である位置合わせ対象画像のそれぞれとの位置合わせを行う画像処理装置であって、前記位置合わせ対象画像のそれぞれから、前記位置合わせを行う領域の候補である位置合わせ候補領域を抽出する候補領域抽出手段と、前記位置合わせ対象画像のそれぞれにおける前記位置合わせ候補領域の相関に基づいて、前記位置合わせ対象画像における前記位置合わせを行う領域である位置合わせ領域を導出する領域導出手段と、前記位置合わせ領域における前記基準画像と前記位置合わせ対象画像との位置のずれに基づいて、前記基準画像と、前記位置合わせ対象画像との位置合わせを行う位置合わせ手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数の画像の位置合わせを行って合成した画像の劣化を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】撮像装置の構成の第１の例を示すブロック図である。
【図２】位置合わせ候補領域記憶部の処理を示すフローチャートである。
【図３】ステップＳ２０４における処理を示すフローチャートである。
【図４】検出ブロックを示す図である。
【図５】ステップＳ２０５における処理を示すフローチャートである。
【図６】座標変換された点と動きベクトルが示す点との距離を示す図である。
【図７】位置合わせ候補領域を示す図である。
【図８】位置合わせ候補領域の情報を示す図である。
【図９】位置ズレ補正部における処理を示すフローチャートである。
【図１０】撮像装置の構成の第２の例を示すブロック図である。
【図１１】位置合わせ候補領域群記憶部の処理を示すフローチャートである。
【図１２】ステップＳ１１０５における処理を示すフローチャートである。
【図１３】動きベクトルの選択の方法を説明する図である。
【図１４】位置合わせ候補領域の情報を示す図である。
【図１５】位置合わせ領域決定部における処理を示すフローチャートである。
【図１６】位置合わせ領域を導出する方法を説明する図である。
【図１７】従来の画像の合成方法を説明する図である。
【発明を実施するための形態】
【００１２】
次に、図面を参照しながら、本発明の実施形態について詳細に説明する。
（第１の実施形態）
まず、第１の実施形態について説明する。
図１は、本実施形態の画像処理装置を適用可能な撮像装置の構成の一例を示すブロック図である。
【００１３】
撮像部１０１は、撮像レンズ群と、ＣＭＯＳセンサやＣＣＤセンサ等の半導体撮像素子と、を有する。撮像部１０１において、同一の被写体に対して複数回の撮影が行われ、撮影された映像信号（アナログ信号）はＡ／Ｄ変換部１０２に出力される。
Ａ／Ｄ変換部１０２は、入力された映像信号をデジタル画像データに変換し、信号処理部１０３に出力する。信号処理部１０３は、入力されたデジタル画像データに対し、階調変換やノイズ低減等の所定の処理を施し、画像処理部１０４に出力する。
【００１４】
画像処理部１０４は、入力された複数の画像データの位置合わせを行う位置合わせ部１０５と、前記位置合わせが施された画像データの合成処理を行う画像合成部１１０とを有する。尚、以下の説明では、画像処理部１０４に入力される画像データを必要に応じて「入力画像」と称し、画像処理部１０４で合成処理が行われて出力される画像データを必要に応じて「合成画像データ」と称する。
画像表示部１１１は、画像処理部１０４で生成された合成画像データを、例えば、撮像装置１００本体が備える液晶モニタに表示する。さらに、画像記憶部１１２は、画像処理部１０４で生成された画像データを、記録媒体へ記録する。
【００１５】
次に、位置合わせ部１０５について、詳細な説明を行う。位置合わせ部１０５は、メモリ部１０６、位置合わせ候補領域記憶部１０７、位置合わせ領域決定部１０８、および位置ズレ補正部１０９を有する。
メモリ部１０６には、信号処理部１０３で所定の処理が施された複数の入力画像が記憶される。本実施形態では、入力画像の数は、３つ以上である。
【００１６】
＜位置合わせ候補領域記憶部１０７＞
図２は、位置合わせ候補領域記憶部１０７における処理の流れの一例を示すフローチャートである。
まず、ステップＳ２０１において、位置合わせ候補領域記憶部１０７は、メモリ部１０６に記憶された複数の入力画像を読み出す。
次に、ステップＳ２０２において、位置合わせ候補領域記憶部１０７は、ステップＳ２０１で読み出した複数の入力画像の中から、基準画像を１つ決定する。ここで基準画像とは、位置合わせを行う際の基準となる画像である。本実施形態では、複数の入力画像の中で最初に撮像された画像（１枚目の画像）を基準画像とする。
【００１７】
次に、ステップＳ２０３において、位置合わせ候補領域記憶部１０７は、ステップＳ２０１で読み出した複数の入力画像のうち、基準画像以外の入力画像の中から、位置合わせ対象画像を１つ選択する。本実施形態では、位置合わせ対象画像は、複数の入力画像の中で最初に撮像された画像の次の画像（２枚目の画像）から撮像順に順次選択されるものとする。
次に、ステップＳ２０４において、位置合わせ候補領域記憶部１０７は、ステップＳ２０３で選択された位置合わせ対象画像の各検出ブロックにおける動きベクトルを検出する動きベクトル検出処理を行う。ステップＳ２０４における処理の詳細について、図３および図４を用いて説明を行う。図３は、ステップＳ２０４における処理の流れの一例を示すフローチャートである。図４は、検出ブロックの一例を示す図である。
【００１８】
まず、ステップＳ３０１において、位置合わせ候補領域記憶部１０７は、図４に示すように、位置合わせ対象画像４００を、水平方向にｎH分割、垂直方向にｎV分割した複数の検出ブロックに分割する。ここで、各検出ブロックをblk[0]〜blk[N-1]（ただし、Ｎ=ｎH×ｎV）で識別するものとする。
次に、ステップＳ３０２において、位置合わせ候補領域記憶部１０７は、カウンターｉの値に０（ゼロ）を設定する（ｉ＝０）。
【００１９】
次に、ステップＳ３０３において、位置合わせ候補領域記憶部１０７は、次の処理を行う。すなわち、位置合わせ候補領域記憶部１０７は、ｉ番目の検出ブロックblk[i]について、ステップＳ２０２で決定した基準画像と、ステップＳ２０３で選択した位置合わせ対象画像との間の相対的な位置ズレ量を表す動きベクトルを検出する。動きベクトルの検出は、例えば、特開２０１２−１１４７２２号公報に記載されているように、差分絶対値和を評価値としたパターンマッチング処理を行うことにより実現できるので、その詳細な説明を省略する。
次に、ステップＳ３０４において、位置合わせ候補領域記憶部１０７は、最後の検出ブロックblk[N-1]における動きベクトルを検出したか否かを判定する。この判定の結果、最後の検出ブロックblk[N-1]における動きベクトルを検出していない場合には、ステップＳ３０５に進む。ステップＳ３０５に進むと、位置合わせ候補領域記憶部１０７は、カウンターｉの値をインクリメントする。そして、ステップＳ３０３に戻り、ステップＳ３０１で分割された全ての検出ブロックblk[0]〜blk[N-1]における動きベクトルが検出されるまで、ステップＳ３０３〜Ｓ３０５の処理を繰り返し行う。
こうして、ステップＳ３０１で分割された全ての検出ブロックblk[0]〜blk[N-1]における動きベクトルが検出されると、図３のフローチャートによる処理を終了し、図２のステップＳ２０５に進む。
【００２０】
ステップＳ２０５に進むと、位置合わせ候補領域記憶部１０７は、位置合わせ候補領域となる検出ブロックを、全ての位置合わせ対象画像について導出する位置合わせ候補領域導出処理を行う。ステップＳ２０５における処理の詳細について、図５を用いて説明を行う。図５は、ステップＳ２０５における処理の流れの一例を示すフローチャートである。
【００２１】
まず、ステップＳ５０１において、位置合わせ候補領域記憶部１０７は、ステップＳ２０３で選択した位置合わせ対象画像の全ての検出ブロックにおける動きベクトルを、位置合わせ候補領域の初期状態として設定する。
次に、ステップＳ５０２において、位置合わせ候補領域記憶部１０７は、ステップＳ５０１で設定した位置合わせ候補領域に含まれる動きベクトルから、仮の変換パラメータを算出する。ここで、「仮の」と名付けている理由は、この仮の変換パラメータは、位置合わせのために画像を変形する変換パラメータとは異なることを明示するためである。仮の変換パラメータの例としては、射影変換係数やアフィン変換係数が挙げられる。
【００２２】
次に、ステップＳ５０３において、位置合わせ候補領域記憶部１０７は、カウンターｉの値に０（ゼロ）を設定する（ｉ＝０）。
図６は、仮の変換パラメータにより座標変換された点と動きベクトルが示す点との距離の一例を示す図である。
ステップＳ５０４において、位置合わせ候補領域記憶部１０７は、ステップＳ５０２で算出した仮の変換パラメータを用いて、検出ブロックblk[i]の中央座標６０１を座標変換する。
次に、ステップＳ５０５において、位置合わせ候補領域記憶部１０７は、ステップＳ５０４で座標変換した点６０２（座標）と、検出ブロックblk[i]における動きベクトル６０３が示す点（座標）との間の距離err[i]を算出する。
【００２３】
次に、ステップＳ５０６において、位置合わせ候補領域記憶部１０７は、カウンターｉの値がＮ−１であるか否かを判定する。すなわち、位置合わせ候補領域記憶部１０７は、ステップＳ２０３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]を算出したか否かを判定する。
この判定の結果、カウンターｉの値がＮ−１でない場合には、ステップＳ５０７に進む。ステップＳ５０７に進むと、位置合わせ候補領域記憶部１０７は、カウンターｉの値をインクリメントする。そして、ステップＳ５０４に戻り、ステップＳ２０３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]が算出されるまで、ステップＳ５０４〜Ｓ５０７の処理を繰り返し行う。
こうして、ステップＳ２０３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]が算出されると、ステップＳ５０８に進む。
【００２４】
次に、ステップＳ５０８において、位置合わせ候補領域記憶部１０７は、ステップＳ５０５で算出した距離err[i]の最大値が、所定の閾値よりも大きいか否かを判定する。この判定の結果、距離err[i]の最大値が、所定の閾値よりも大きい場合には、ステップＳ５０９に進む。ステップＳ５０９に進むと、位置合わせ候補領域記憶部１０７は、前記最大値をとる検出ブロックを、位置合わせ候補領域から除外する。そして、ステップＳ５０２に戻る。ステップＳ５０２では、ステップＳ５０９で除外した位置合わせ候補領域を除く位置合わせ候補領域に含まれる動きベクトルから、仮の変換パラメータを算出する。そして、距離err[i]の最大値が、所定の閾値よりも大きくないと判定されるまで、前述したようにしてステップＳ５０２〜Ｓ５０８の処理を繰り返す。そして、ステップＳ５０８において、距離err[i]の最大値が、所定の閾値よりも大きくないと判定されると、ステップＳ５１０に進む。
ステップＳ５１０に進むと、位置合わせ候補領域記憶部１０７は、この時点で除外されていない位置合わせ候補領域を、ステップＳ２０３で選択した位置合わせ対象画像についての最終的な位置合わせ候補領域として確定する。そして、図５のフローチャートによる処理を終了し、図２のステップＳ２０６に進む。
【００２５】
図２のステップＳ２０６に進むと、位置合わせ候補領域記憶部１０７は、全ての位置合わせ対象画像について位置合わせ候補領域を求めたか否かを判定する。この判定の結果、全ての位置合わせ対象画像について位置合わせ候補領域を求めていない場合には、ステップＳ２０３に戻る。ステップＳ２０３に戻ると、位置合わせ候補領域記憶部１０７は、未選択の位置合わせ対象画像を１つ選択する。そして、全ての位置合わせ対象画像について位置合わせ候補領域を求めたと判定されるまで、前述したようにしてステップＳ２０３〜Ｓ２０６の処理を繰り返し行う。そして、ステップＳ２０６において、全ての位置合わせ対象画像について位置合わせ候補領域を求めたと判定されると、図２のフローチャートによる処理を終了する。
以上のように本実施形態の位置合わせ候補領域記憶部１０７は、位置合わせ候補領域を抽出する候補領域抽出処理と、位置合わせ領域を導出する領域導出処理を行う。また、候補領域抽出処理では、動きベクトル検出処理と、仮変換係数の演算処理と、距離導出処理とが行われる。
【００２６】
＜位置合わせ領域決定部１０８＞
図７は、位置合わせ領域決定部１０８における処理内容の一例を説明する図であり、３つの画像について、位置合わせ候補領域になる検出ブロックと位置合わせ候補領域にならない検出ブロックをそれぞれ示す図である。図８は、位置合わせ領域決定部１０８における処理内容の一例を説明する図であり、図７に示す３つの画像について、位置合わせ候補領域の情報を表形式で示す図である。
【００２７】
図７および図８では、位置合わせ対象画像７０１ａ〜７０１ｃ（画像１〜画像３）が３つであり、ブロック分割数Ｎが１２（Ｎ＝１２）の場合を例に挙げて示す。
図７および図８に示すように、位置合わせ領域決定部１０８は、全ての位置合わせ対象画像に対する位置合わせ候補領域を入力し、入力した位置合わせ候補領域に共通（重複）する検出ブロックを抽出する。そして、位置合わせ領域決定部１０８は、抽出した検出ブロックの集合を、位置合わせ領域として決定する。図７に示す例では、グレーで塗りつぶされている検出ブロックを位置合わせ候補領域にならない検出ブロックとし、その他の検出ブロックを位置合わせ候補領域になる検出ブロックとしている。また、図７の検出ブロック内に示す数字は、検出ブロックを識別するブロック番号である。図７および図８に示す例では、ブロック番号が「０」、「１」、「５」、「６」、「７」、「１１」の６個の検出ブロックが、３つの位置合わせ対象画像に共通する位置合わせ候補領域に対応する検出ブロックである。したがって、これら６個のブロックの集合が位置合わせ領域として決定される。
【００２８】
＜位置ズレ補正部１０９＞
図９、位置ズレ補正部１０９における処理の流れの一例を示すフローチャートである。
まず、ステップＳ９０１において、位置ズレ補正部１０９は、位置合わせ対象画像を１つ選択する。ここでは、撮影順に１つずつ位置合わせ対象画像が選択されるものとする。
次に、ステップＳ９０２において、位置ズレ補正部１０９は、位置合わせ領域決定部１０８において決定された位置合わせ領域を入力し、当該位置合わせ領域で検出されている動きベクトルから、位置合わせを行うための変換パラメータを推定する。ここでは、変換パラメータは射影変換係数とし、変換パラメータの推定の手法は最小二乗法とする。
【００２９】
次に、ステップＳ９０３において、位置ズレ補正部１０９は、ステップＳ９０２で推定した変換パラメータを用いて、処理している位置合わせ対象画像の座標変換を行い、基準画像との位置合わせを実行する。
次に、ステップＳ９０４において、位置ズレ補正部１０９は、全ての位置合わせ対象画像の座標変換を行って基準画像との位置合わせを実行したか否かを判定する。この判定の結果、全ての位置合わせ対象画像の座標変換を行って基準画像との位置合わせを実行していない場合には、ステップＳ９０５に進む。ステップＳ９０５に進むと、位置ズレ補正部１０９は、処理対象の位置合わせ対象画像を未選択の位置合わせ対象画像に変更する。そして、ステップＳ９０２、Ｓ９０３の処理により、変更した位置合わせ対象画像の座標変換を行って基準画像との位置合わせを実行する。そして、ステップＳ９０４において、全ての位置合わせ対象画像の座標変換を行って基準画像との位置合わせを実行したと判定されるまで、ステップＳ９０２〜Ｓ９０５の処理を繰り返し行う。こうして、ステップＳ９０４において、全ての位置合わせ対象画像の座標変換を行って基準画像との位置合わせを実行したと判定されると、図９のフローチャートによる処理を終了する。
【００３０】
以上、位置合わせ候補領域記憶部１０７、位置合わせ領域決定部１０８、位置ズレ補正部１０９の処理により、前記複数の入力画像の位置合わせが実行される。以上が、位置合わせ部１０５の処理内容である。
【００３１】
以上説明したように、本実施形態では、３つ以上の入力画像の１つを基準画像とし、残りを位置合わせ対象画像とする。全ての位置合わせ対象画像について以下の処理を行って、位置合わせ対象画像を分割した複数の検出ブロックにより定まる位置合わせ候補領域を確定する。すなわち、各検出ブロックにおける仮の変換パラメータを用いて各検出ブロックの所定の位置を座標変換した点と、各検出ブロックの当該所定の位置から動きベクトルとに基づく位置だけ離れた点との距離err[i]との導出を行う。そして、この距離err[i]の最大値が閾値よりも大きくなる検出ブロックを含まない検出ブロックの組み合わせを探索し、探索した組み合わせを位置合わせ候補領域として確定する。次に、全ての位置合わせ対象画像の位置合わせ候補領域で共通する検出ブロック（の組み合わせ）を位置合わせ領域とし、位置合わせ領域における動きベクトルから変換パラメータを導出することを全ての位置合わせ対象画像について行う。このようにして導出した変換パラメータを用いて位置合わせ対象画像のそれぞれと基準画像との位置合わせを行い、合成する。
【００３２】
このように、位置合わせ対象画像のそれぞれに対して、位置合わせを行う候補となる領域を保持しておき、その中から、位置合わせ対象画像間で共通する部分のみを選択し、位置合わせのための変換パラメータを推定する領域とする。したがって、位置合わせ対象画像の全体を通して、最も位置の相関が大きい領域で位置合わせを行うことができる。よって、位置合わせを行う領域が画像間でばらつく悪影響を低減でき、また、局所的な移動体で位置合わせを行う悪影響も低減することができる。以上のように本実施形態では、複数の画像の位置合わせを行って合成した画像の劣化を抑制することができる。
【００３３】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、夫々の位置合わせ対象画像に対して位置合わせ候補領域を１つずつ求め、位置合わせ対象画像の位置合わせ領域で共通する検出ブロックを用いて位置合わせを行った。これに対し、本実施形態では、夫々の位置合わせ対象画像に対して位置合わせ候補領域を複数求める。そして、求めた複数の位置合わせ候補領域から、各位置合わせ対象画像で位置の相関が最も大きくなる位置合わせ候補領域の組み合わせを位置合わせ領域とする。このように本実施形態と第１の実施形態とでは、位置合わせ領域を導出する際の処理の一部が主として異なる。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図９に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００３４】
図１０は、本実施形態の画像処理装置を適用可能な撮像装置の構成の一例を示すブロック図である。
図１に示した第１の実施形態の撮像装置１００と比較すると、本実施形態の撮像装置１０００は、画像処理部１００１における位置合わせ部１００２の構成の一部が異なる。具体的に説明すると、本実施形態の撮像装置１０００は、位置合わせ候補領域記憶部１０７の代わりに、位置合わせ候補領域群記憶部１００３を有する。また、本実施形態の撮像装置１０００は、位置合わせ領域決定部１０８の代わりに、位置合わせ領域決定部１００４を有する。本実施形態の撮像装置１０００のこれら以外の構成は、第１の実施形態の撮像装置１００と同じである。従って、ここでは、位置合わせ候補領域群記憶部１００３および位置合わせ領域決定部１００４の処理内容の一例について詳細に説明を行う。
【００３５】
＜位置合わせ候補領域群記憶部１００３＞
図１１は、位置合わせ候補領域群記憶部１００３における処理の流れの一例を示すフローチャートである。図１１のフローチャートは、第１の実施形態における図２のフローチャートと対応しており、図２との差異は、図２のステップＳ２０５の位置合わせ候補領域導出処理の代わりに、ステップＳ１１０５の位置合わせ候補領域群導出処理を行う点である。
従って、ここではステップＳ１１０５の処理内容の一例について、図１２〜図１４を用いて、詳細な説明を行う。
【００３６】
図１２は、ステップＳ１１０５における処理の流れの一例を示すフローチャートである。
まず、ステップＳ１２０１において、位置合わせ候補領域群記憶部１００３は、ステップＳ１１０４で検出された各検出ブロックにおける動きベクトルを所定の順番でソートする。本実施形態では、前記所定の順番でソートするとは、位置合わせ対象画像の中央から検出ブロックまでの距離が近い検出ブロックから順番にソートすることとする。
【００３７】
次に、ステップＳ１２０２において、位置合わせ候補領域群記憶部１００３は、前記所定の順番でソートされた検出ブロックのうち、先頭の検出ブロックから所定の数の検出ブロックまでの中のＡ個の検出ブロックにおける（Ａ個の）動きベクトルを選択する。ここで選択する動きベクトルの個数（Ａ）は、後述の変換パラメータの算出が可能な数とする。
図１３は、動きベクトルの選択の方法の一例を説明する図である。具体的に図１３（ａ）は、動きベクトルのソートの基準となる位置合わせ対象画像の中央の位置（基準点１３０１）の一例を示す図である。また、図１３（ｂ）は、選択した動きベクトルの組み合わせの一例を示す図である。図１３では、検出ブロックの数Ｎが１２（Ｎ＝１２）であり、選択する動きベクトルの数Ａが３（Ａ＝３）であり、前記所定の数が１２である場合を例に挙げて示す。
【００３８】
図１３（ａ）の各検出ブロック内に示す数字は、検出ブロックを識別するブロック番号を示す。また、図１３（ｂ）において、ブロック番号の順序の欄の下に示す数字は、ブロック番号を示し、左に示すブロック番号であるほどソートの順番が上位（早い）ことを示す。また、動きベクトルの組み合わせの欄の下に示す数字は、動きベクトルの組み合わせを識別する番号である。この番号として、１から昇順に整数が与えられる。前述したように、図１３では、検出ブロックの数Ｎが１２であり、選択する動きベクトルの数Ａが３であるので、動きベクトルを選択する組み合わせは、全体で12Ｃ3通り存在する。
図１３（ｂ）では、丸（〇）が付されたブロック番号で識別される検出ブロックの動きベクトルが選択されることを示す。また、基準点１３０１からの距離が同じ複数の検出ブロックについては、ブロック番号が小さい検出ブロックであるほど上位の順番になるように（早い順番なるように）ソートされるものとする。
例えば、番号「１」の動きベクトルの組み合わせは、ブロック番号「１」、「５」、「６」の検出ブロックにおける動きベクトルの組み合わせからなる。また、ブロック番号「５」の検出ブロックにおける動きベクトルが最も早い順番になり、ブロック番号「５」の検出ブロックにおける動きベクトルが最も早い順番になる。
【００３９】
図１２の説明に戻り、ステップＳ１２０３において、位置合わせ候補領域群記憶部１００３は、ステップＳ１２０２で選択したＡ個の動きベクトルから、仮の変換パラメータを算出する。仮の変換パラメータの例としては、射影変換係数やアフィン変換係数が挙げられる。
次に、ステップＳ１２０４において、位置合わせ候補領域群記憶部１００３は、カウンターｉの値に０（ゼロ）を設定する（ｉ＝０）。
次に、ステップＳ１２０５において、位置合わせ候補領域群記憶部１００３は、ステップＳ１２０３で算出した仮の変換パラメータを用いて、検出ブロックblk[i]の中央座標を座標変換する（図６を参照）。
【００４０】
次に、ステップＳ１２０６において、位置合わせ候補領域群記憶部１００３は、ステップＳ１２０５で座標変換した点（座標）と、検出ブロックblk[i]における動きベクトルが示す点（座標）との間の距離err[i]を算出する（図６を参照）。
次に、ステップＳ１２０７において、位置合わせ候補領域群記憶部１００３は、カウンターｉの値がＮ−１であるか否かを判定する。すなわち、位置合わせ候補領域群記憶部１００３は、ステップＳ１００３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]を算出したか否かを判定する。
【００４１】
この判定の結果、カウンターｉの値がＮ−１でない場合には、ステップＳ１２０８に進む。ステップＳ１２０８に進むと、位置合わせ候補領域群記憶部１００３は、カウンターｉの値をインクリメントする。そして、ステップＳ１２０５に戻り、ステップＳ１００３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]が算出されるまで、ステップＳ１２０５〜Ｓ１２０８の処理を繰り返し行う。
こうして、ステップＳ１００３で選択した位置合わせ対象画像の全ての検出ブロックblk[0]〜blk[N-1]について距離err[i]が算出されると、ステップＳ１２０９に進む。
【００４２】
ステップＳ１２０９に進むと、位置合わせ候補領域群記憶部１００３は、距離err[i]の値が所定の閾値以下となる動きベクトルである候補ベクトルの数と、当該候補ベクトルに対応するブロック番号とを記憶する。
次に、ステップＳ１２１０において、位置合わせ候補領域群記憶部１００３は、前記ステップＳ１２０２〜Ｓ１２０９の処理を、所定の組み合わせ数だけ行ったか否かを判定する。この判定の結果、ステップＳ１２０２〜Ｓ１２０９の処理を、所定の組み合わせ数だけ行っていない場合には、ステップＳ１２０２に戻る。ステップＳ１２０２では、位置合わせ候補領域群記憶部１００３は、以下の処理を行う。すなわち、前記所定の順番でソートされた検出ブロックのうち、先頭の検出ブロックから所定の数の検出ブロックまでの中のＡ個の検出ブロックにおける（Ａ個の）動きベクトルの組み合わせであって未選択の組み合わせを選択する。そして、ステップＳ１２１０において、ステップＳ１２０２〜Ｓ１２０９の処理を、所定の組み合わせ数だけ行ったと判定されるまで、ステップＳ１２０２〜Ｓ１２１０の処理を繰り返し行う。そして、ステップＳ１２１０において、ステップＳ１２０２〜Ｓ１２０９の処理を、所定の組み合わせ数だけ行ったと判定されると、図１２のフローチャートを終了して図１１のステップＳ１１０６に進む。
【００４３】
ステップＳ１２１０の結果として、前記組み合わせの夫々に対応した候補ベクトルの集合が出力される。以下の説明では、候補ベクトルの集合を必要に応じて位置合わせ候補領域と称する。
図１４は、図１３の場合において、前記所定の組み合わせ数を１０組とした場合の位置合わせ候補領域の情報の一例を表形式で示す図である。
図１４に示す例では、夫々の組み合わせに対応した、１０個の位置合わせ候補領域が出力される。すなわち、動きベクトルの組み合わせの番号が「１１」以降の位置合わせ候補領域を求めない。尚、図１４の動きベクトルの組み合わせの番号と図１３（ｂ）の動きベクトルの組み合わせの番号は相互に対応する。例えば、図１４の番号「１」の動きベクトルの組み合わせに対応する候補ベクトルは、図１３（ｂ）の番号「１」の動きベクトルの組み合わせに対応する。
【００４４】
以下の説明では、ステップＳ１１０５により出力される複数の位置合わせ候補領域を、必要に応じて位置合わせ候補領域群と称する。以上が、ステップＳ１１０５の処理内容である。
最後に、図１１のステップＳ１１０６において、位置合わせ候補領域群記憶部１００３は、全ての位置合わせ対象画像について位置合わせ候補領域群を求めたか否かを判定する。この判定の結果、全ての位置合わせ対象画像について位置合わせ候補領域群を求めていない場合には、ステップＳ１１０３に戻る。ステップＳ１１０３に戻ると、位置合わせ候補領域群記憶部１００３は、未選択の位置合わせ対象画像を１つ選択する。そして、全ての位置合わせ対象画像につい位置合わせ候補領域群を求めたと判定されるまで、前述したようにしてステップＳ１１０３〜Ｓ１１０６の処理を繰り返し行う。そして、ステップＳ１１０６において、全ての位置合わせ対象画像について位置合わせ候補領域群を求めたと判定されると、図１１のフローチャートによる処理を終了する。
以上が、位置合わせ候補領域群記憶部１００３の処理内容の一例であり、位置合わせ候補領域群記憶部１００３の処理の結果として、図１４に例示したような位置合わせ候補領域群が、位置合わせ対象画像の数分だけ出力される。
以上のように本実施形態の位置合わせ候補領域群記憶部１００３は、位置合わせ候補領域を抽出する候補領域抽出処理と、位置合わせ領域を導出する領域導出処理を行う。また、候補領域抽出処理では、動きベクトル検出処理と、動きベクトル選択処理と、仮変換係数の演算処理と、距離導出処理とが行われる。
【００４５】
＜位置合わせ領域決定部１００４＞
図１５は、位置合わせ領域決定部１００４における処理の流れの一例を示すフローチャートである。また、図１６は、位置合わせ候補領域群記憶部１００３と位置合わせ領域決定部１００４の処理内容（位置合わせ領域を導出する方法）の一例を説明する図である。以下、位置合わせ領域決定部１００４の動作の一例を、図１５および図１６を参照しながら説明する。
【００４６】
まず、ステップＳ１５０１において、位置合わせ領域決定部１００４は、各位置合わせ対象画像の位置合わせ候補領域群の中から、候補ベクトルの数が多い順に所定の数だけ位置合わせ候補領域を抽出する。図１６では、４つの入力画像のうちの１つが基準画像１６０１であり、残りの３つが位置合わせ対象画像１６０２ａ〜１６０２ｃであり、候補ベクトルの数が上位５位までの位置合わせ候補領域を抽出する場合の例を示す。ただし、図１６において、位置合わせ候補領域群を求める際の設定は、図１３および図１４と同一とする。
【００４７】
次に、ステップＳ１５０２において、位置合わせ領域決定部１００４は、ステップＳ１５０１で抽出した位置合わせ候補領域の中から、全ての位置合わせ対象画像で共通（重複）する検出ブロックの数が最も多くなる位置合わせ候補領域の組み合わせを抽出する。共通する検出ブロックは、例えば、第１の実施形態で説明した方法（位置合わせ位置合わせ候補領域に共通する検出ブロックを抽出する方法）と同じ処理により抽出することができる（図８を参照）。
最後に、ステップＳ１５０３において、位置合わせ領域決定部１００４は、ステップＳ１５０２で抽出された位置合わせ候補領域の組み合わせを、それぞれの位置合わせ対象画像に対する位置合わせ領域とする。
図１６では、位置合わせ対象画像１６０２ａ、１６０２ｂ、１６０２ｃに対して、候補ベクトルの数が、それぞれ、３番目、１番目、２番目に多い位置合わせ候補領域の組み合わせで、共通する検出ブロックの数が最大になる場合を示す。
【００４８】
以上が、位置合わせ領域決定部１００４の処理内容である。位置合わせ領域決定部１００４の処理の結果として、位置合わせ候補領域群記憶部１００３で算出された複数の位置合わせ候補領域の中から、全ての位置合わせ対象画像間で共通の検出ブロック数が最も多くなる位置合わせ候補領域が選択される。そして、選択された位置合わせ候補領域が位置合わせ領域として出力される。すなわち、全ての位置合わせ対象画像間で位置の相関が最も大きくなるような位置合わせ候補領域が選択され、位置合わせ領域として出力される。
【００４９】
以上説明したように、本実施形態では、全ての位置合わせ対象画像について以下の処理を行って、各位置合わせ対象画像について位置合わせ候補領域を個別に導出する。すなわち、位置合わせ領域を分割した全ての検出ブロックから、所定数（複数）の検出ブロックの組み合わせを複数通り抽出する。そして、抽出した検出ブロックにおける動きベクトルから仮の変換パラメータを導出して距離err[i]を導出し、距離err[i]が閾値以下となる動きベクトルを候補ベクトルとして導出する。この候補ベクトルの導出を複数通りの検出ブロックの組み合わせのそれぞれについて行う。この候補ベクトルに対応する検出ブロックを位置合わせ候補領域とする。そして、全ての位置合わせ対象画像で共通する検出ブロックの数が最大となる位置合わせ候補領域を、全ての位置合わせ対象画像から抽出し、各位置合わせ対象画像における位置合わせ領域とする。
【００５０】
このように、位置合わせ対象画像のそれぞれに対して、位置合わせを行う候補となる複数の位置合わせ候補領域を保持しておき、その中から位置合わせ対象画像間で共通部分が大きくなるような位置合わせ候補領域の組み合わせを選択する。そして、選択した位置合わせ候補領域を位置合わせのための変換パラメータを推定する領域とする。したがって、第１の実施形態と同様に、位置合わせ対象画像の全体を通して、最も位置の相関が大きい領域で位置合わせを行うことができる。よって、位置合わせを行う領域が画像間でばらつく悪影響を低減でき、また、局所的な移動体で位置合わせを行う悪影響も低減することができる。以上のように、本実施形態においても、第１の実施形態と同様に、複数の画像の位置合わせを行って合成した画像の劣化を抑制することができる。
さらに、第１の実施形態では、各位置合わせ対象画像に対して、位置合わせ候補領域として候補ベクトルの集合を１パターンのみ求めた。これに対し、本実施形態では、複数パターンの位置合わせ候補領域を保持しておき、位置の相関が大きくなる位置合わせ候補領域を抽出する。従って、第１の実施形態と比較して、より相関の強い領域で位置合わせを行うことができる。
【００５１】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５２】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００５３】
１０７  位置合わせ候補領域記憶部、１０８  位置合わせ領域決定部、１０９  位置ズレ補正部
【図１】
2015041802.tif 000003
【図２】
2015041802.tif 000004
【図３】
2015041802.tif 000005
【図４】
2015041802.tif 000006
【図５】
2015041802.tif 000007
【図６】
2015041802.tif 000008
【図７】
2015041802.tif 000009
【図８】
2015041802.tif 000010
【図９】
2015041802.tif 000011
【図１０】
2015041802.tif 000012
【図１１】
2015041802.tif 000013
【図１２】
2015041802.tif 000014
【図１３】
2015041802.tif 000015
【図１４】
2015041802.tif 000016
【図１５】
2015041802.tif 000017
【図１６】
2015041802.tif 000018
【図１７】
2015041802.tif 000019