(57)【要約】【課題】複数の画像を重ね合わせて合成する際の位置合わせ精度を向上する。【解決手段】基準画像中に基準領域が設定され、基準領域に対応する領域を参照画像内にて探索する領域である探索領域が設定される。この基準領域および対応する探索領域から移動ベクトルを導出した場合の信頼性が導出される。このとき、信頼性は、２軸方向の各軸成分に分解して導出される。各基準領域に対応する領域が探索領域内において探索されて移動ベクトルＭＶ１〜ＭＶ４が導出される。移動ベクトルＭＶ３は、上記２軸方向の軸成分の移動ベクトルに分解され、各軸成分のベクトルＭＶ３ｘ’、ＭＶ３ｙ’が導出される。各軸成分の信頼性のうち、所定の閾値よりも低いものがある場合、この軸成分の信頼性は低いと判定され、低いと判定された軸成分の信頼性に対応する軸成分の移動ベクトル（ＭＶ３ｙ’）は補正される（ＭＶ４ｙ’）。【選択図】図９
2011182084.tif 000002
【特許請求の範囲】
【請求項１】
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出部と、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出部で導出された移動ベクトルを２軸方向に沿う軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正処理部と
を有することを特徴とする画像処理装置。
【請求項２】
前記移動ベクトル補正部は、前記２軸方向の軸成分として、前記移動ベクトル測定領域設定部で設定された前記基準領域および対応する探索領域のうちの少なくともいずれかのエッジ勾配方向に沿う軸成分の移動ベクトルと、当該エッジ勾配方向と直交する方向に沿う軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正するように構成されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記移動ベクトル補正部は、前記２軸方向の軸成分として、画像を構成する画素の配列の、列方向に沿う軸成分の移動ベクトルと行方向に沿う軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正するように構成されることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムであって、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを２軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有することを特徴とする画像処理プログラム。
【請求項５】
複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムであって、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを２軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有することを特徴とする画像処理プログラム。
【請求項６】
前記移動ベクトル補正ステップにおいて、前記２軸方向に分解された各軸成分として、前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域のうちの少なくともいずれかのエッジ勾配方向に沿う軸成分の移動ベクトルと、当該のエッジ勾配方向と直交する方向に沿う軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正することを特徴とする請求項４または５に記載の画像処理プログラム。
【請求項７】
前記移動ベクトル補正ステップにおいて、前記２軸方向に分解された各軸成分として、画像を構成する画素の配列の、列方向に沿う軸成分の移動ベクトルと行方向に沿う軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正することを特徴とする請求項４または５に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子撮影装置等の画像入力機器で生成された複数の画像を合成する際に用いられる画像処理の技術に関する。
【背景技術】
【０００２】
像ブレを低減する、画像のダイナミックレンジを拡大する、あるいは、撮像素子の画素数や撮影レンズの解像性能を上回る解像度の画像を得るための技術として、複数の画像を位置合わせして重ね合わせ、合成する技術（以下では、複数の画像を位置合わせ合成することを「複数の画像を合成する」と称する）が知られている。
【０００３】
像ブレを低減するには、適正露光量が得られるシャッタ秒時よりも短い時間で露光動作を行うことを比較的短時間の間に複数回行う。このように撮影を行うことにより、ひとつ一つの画像は露光量不足の画像ではあっても、像ブレの少ないものを得ることが可能となる。このようにして得られた複数の画像を合成することにより、適正な露光量で像ブレの少ない画像を得ることができる。この技術を以下では電子ブレ補正技術と称する。
【０００４】
ダイナミックレンジ拡大は、複数回の露光動作を行い、その際に標準的な露光量に対して不足気味の露光量、過剰気味の露光量それぞれでもって露光動作を行う。不足気味の露光量で得られる画像は、ハイライト部分の白飛びが抑制され、過剰気味の露光量で得られる画像はシャドー部分の黒つぶれが抑制される。これら複数の画像を合成することにより、黒つぶれや白飛びが抑制された、ダイナミックレンジの広い画像を得ることが可能となる。この技術を以下ではダイナミックレンジ拡大技術と称する。
【０００５】
撮像素子の画素数や撮影レンズの解像性能を上回る解像度の画像を得るためには、複数の撮影で得られた複数の画像を合成し、それによって互いの画像で欠落している情報を補完しあう。それにより、１回の撮影で得られる画像が有する解像度よりも高い解像度の画像を得ることができる。この技術を以下では超解像技術と称する。
【０００６】
上記のように、複数の画像を合成する技術は、画像処理分野において基本的な技術であり、様々な方法が提案されている。
【０００７】
特許文献１には、電子ブレ補正の技術が開示されている。特許文献１の技術では、画像の移動ベクトルや倍率変動量について、画像の代表値を求めて画像の位置ずれを補正する。しかし、現実の撮影においては、一連の複数の露光動作を行っている間に撮影者の手ブレや被写体ブレが発生する。そのため、複数の画像のそれぞれにおいて、被写体の写っている位置（被写体位置）が変化する。撮影者の手ブレに起因する被写体位置の変化は、画像内で一様な全体的な動きとなる。したがって、画像の代表的な位置で移動ベクトルを求め、位置合わせすることにより複数の画像の合成を容易に行うことができる。一方、被写体ブレでは、被写体中の動く部分だけが複数の画像間で位置ずれを生じる。このような、局所的に生じる位置ずれは、特許文献１に開示されるような、複数画像間の全体的な動きを補正する方式では、補正をすることは困難である。
【０００８】
この問題に対処するため、特許文献２、特許文献３には、撮影者の手ブレに起因した画像の全体的な位置ずれとともに、被写体の動きに起因した局所的な動きも同時に補正する手法が提案されている。特許文献２、特許文献３に開示される手法は、画像を小領域に分割し、各領域での移動ベクトルを求めたうえで、画像を滑らかに変形するものである。このようにすることにより、画像全体に存在するブレ（手ブレ）と画像内に局所的に存在するブレ（被写体ブレ）を同時に補正することが可能となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−３１９５７８号公報
【特許文献２】特開２００６−０９９４６７号公報
【特許文献３】特許第３９３５５００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述の手法では、各領域で求められた移動ベクトルの信頼性の判定処理が性能に大きく影響する。例えば、移動ベクトルを正しく求めることが困難な領域として、図１に例示されるものがある。図１は、複数の画像を位置合わせする際に移動ベクトルを正しく求めることが困難な領域を有する画像の例を示す図である。
【００１１】
図１において、低コントラスト領域１、繰り返しパターン領域２、開口問題領域３などが示される。開口問題領域は、コントラストはあるものの、位置合わせの手がかりが足りない領域と定義することができる。このような領域では、テンプレートマッチングの処理に際して本来の対応位置とは異なる位置をマッチング位置として検出してしまうことがある。その結果、求められる移動ベクトルが必ずしも正確なものではない場合を生じる。このような不正確な移動ベクトルの影響によって、合成された画像が不自然なものとなることがある。
【００１２】
特許文献２には、画像を格子状に分割し、各格子点で移動ベクトルを求め、さらに各格子点の輝度勾配の大きさに応じて重み付けしたうえで、格子を変形する技術が開示される。これによって、低コントラスト領域１など輝度勾配が小さい領域で求めた移動ベクトルの悪影響を抑制している。しかし、特許文献２の技術では、繰り返しパターン領域２や開口問題領域３などで求めた移動ベクトルに対する配慮が必ずしも十分とは云えない。
【００１３】
特許文献３には、画像を小領域に分割し、各領域で移動ベクトルを求め、それら移動ベクトルについて、エッジの大きさあるいはコーナー角度などに応じた信頼度と、周囲の移動ベクトルとの相関を表す相関度によって重み付けをしながら移動ベクトルを円滑化する技術が開示される。
【００１４】
特許文献３に開示される手法では、低コントラスト領域１、繰り返しパターン領域２、開口問題領域３で求めた移動ベクトルを用いない。したがって、これらの領域で求められる移動ベクトルに生じる誤差の影響を排除できる可能性がある。しかし、それらの排除した移動ベクトルが有する情報を活用することができず、かえって、位置合わせの手がかりが少なくなってしまう恐れがある。その結果、位置合わせ処理の安定を欠く場合がある。
【００１５】
本発明は、上記の課題に鑑みてなされたものであり、移動ベクトルの信頼性をより詳しく評価し、信頼性の低い移動ベクトルからも位置合わせに有効な情報を抽出して活用することで、より安定した画像位置合わせ結果を得ることの可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１の態様によれば、基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出部と、
前記移動ベクトル測定領域設定部で設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出部と、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出部で導出された移動ベクトルを２軸方向に沿う軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正処理部と
を有することにより上述した課題を解決する。
【００１７】
本発明の第２の態様は、複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムである。この画像処理プログラムが、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを２軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有する。
【００１８】
本発明の第３の態様は、複数の画像間の位置ずれを減じて重ね合わせる処理をコンピュータに実行させるための画像処理プログラムである。この画像処理プログラムが、
基準画像中に基準領域を設定し、前記基準領域に対応する領域を参照画像内にて探索する領域である探索領域を設定する移動ベクトル測定領域設定ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域に対応する領域を前記探索領域内において探索し、移動ベクトルを導出する移動ベクトル導出ステップと、
前記移動ベクトル測定領域設定ステップで設定された前記基準領域および対応する探索領域から移動ベクトルを導出した場合の、当該導出された移動ベクトルの信頼性を、前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析することにより導出する信頼性導出ステップと、
前記基準領域および対応する探索領域のうちの少なくともいずれかの領域を解析して得られる解析結果に基づいて、前記移動ベクトル導出ステップで導出された移動ベクトルを２軸方向の軸成分に分解して各軸成分の移動ベクトルを導出し、前記各軸成分の移動ベクトルのうち、より信頼性が低い軸成分の移動ベクトルを補正する移動ベクトル補正ステップと
を有する。
【発明の効果】
【００１９】
本発明によれば、１軸方向だけにでも信頼性が高いと判定される場合には、その軸方向の成分の移動ベクトルを有効に活用することが可能となり、複数の画像間の位置ずれを減じることが可能となる。
【図面の簡単な説明】
【００２０】
【図１】テンプレートマッチングによる正確な位置合わせが見込める画像要素、正確な位置合わせが難しい画像要素の例を説明する図である。
【図２】第１の実施の形態の画像処理部が撮影装置に組み込まれる例を説明する概略ブロック図である。
【図３】第１の実施の形態の画像処理部が有する位置合わせ処理部の内部構成例を説明する概略ブロック図である。
【図４】位置合わせの処理の対象となる画像を模式的に示す図であり、（ａ）は基準画像を、（ｂ）は参照画像を示す図である。
【図５】基準画像のテンプレート領域内における画像要素のパターンと、このパターンをテンプレートとして導出される移動ベクトルの信頼性との関係を説明する図であり、（ａ）は２軸方向の両軸成分とも信頼性が高い例を、（ｂ）は１軸方向の軸成分のみ信頼性が高い例を、（ｃ）および（ｄ）は２軸方向の両軸成分とも信頼性が低い例を示す図である。
【図６】信頼性導出処理の手順を説明する概略フローチャートである。
【図７】開口問題領域判定処理の手順を説明する概略フローチャートである。
【図８】画像パターンのエッジ勾配方向と、導出される移動ベクトルの信頼性が高くなる方向との関係を説明する図である。
【図９】移動ベクトル補正処理部で行われる移動ベクトル補正処理を概念的に説明する図であり、（ａ）は補正処理前の移動ベクトルを示し、（ｂ）は補正処理後の移動ベクトルを示す。
【図１０】移動ベクトル補正処理によって低信頼性方向の軸成分の移動ベクトルに補正処理がなされる様子を説明する図である。
【図１１】移動ベクトル補間処理を概念的に説明する図であり、（ａ）は基準画像を、（ｂ）は参照画像を示す。
【図１２】複数の画像を合成する処理手順を説明する概略フローチャートである。
【図１３】第２の実施の形態おいて、基準画像のテンプレート領域内における画像要素のパターンと、このパターンをテンプレートとして導出される移動ベクトルの信頼性との関係を説明する図であり、（ａ）はＸ軸、Ｙ軸に沿う両軸方向の成分とも信頼性が高い例を、（ｂ）はＸ軸に沿う軸方向の成分だけ信頼性が高い例を、（ｃ）はＹ軸に沿う軸方向の成分だけ信頼性が高い例を、（ｄ）、（ｅ）はＸ軸、Ｙ軸に沿う両軸方向の成分とも信頼性が低い例を示す図である。
【図１４】第２の実施の形態における信頼性導出処理の手順を説明する概略フローチャートである。
【図１５】第２の実施の形態において、移動ベクトル補正処理部で行われる移動ベクトル補正処理を概念的に説明する図であり、（ａ）は補正処理前の移動ベクトルを示し、（ｂ）は補正処理後の移動ベクトルを示す。
【図１６】第３の実施の形態の画像処理部が撮影装置に組み込まれる例を説明する概略ブロック図であり、移動ベクトル補間処理および画像合成処理は外部処理装置により行われる例を説明する図である。
【図１７】第３の実施の形態の画像処理部が有する位置合わせ処理部の内部構成例を説明する概略ブロック図である。
【図１８】第４の実施の形態の画像処理部が撮影装置に組み込まれる例を説明する概略ブロック図である。
【図１９】第４の実施の形態の画像処理部が有する位置合わせ処理部の内部構成例を説明する概略ブロック図である。
【図２０】第４の実施の形態の信頼性導出処理の手順を説明する概略フローチャートである。
【図２１】第４の実施の形態における複数の画像を合成する処理手順を説明する概略フローチャートである。
【図２２】第４の実施の形態の画像処理部が有する位置合わせ処理部のもう一つの内部構成例を説明する概略ブロック図である。
【図２３】第４の実施の形態における複数の画像の合成処理手順の別例を説明する概略フローチャートである。
【発明を実施するための形態】
【００２１】
−  第１の実施の形態  −
図２は、本発明の第１の実施の形態の画像処理部を有する撮影装置１００の構成を概略的に示す図である。図２中、各構成要素を結ぶ線に付される矢印はデータの流れの向きを示している。撮影装置１００は、ユーザによる１回の撮影操作（レリーズスイッチを押下する操作）に応答して一連の複数回の露光動作を行うことが可能に構成される。そして撮影装置１００は、複数回の露光動作で生成された複数コマ分の画像に対して位置合わせ、合成の処理を行い、ダイナミックレンジの拡大された画像、ブレの抑制された画像などを生成可能に構成される。なお、ここで「位置合わせ」とは、同様の被写体を有する複数の画像間において、対応関係にある画素や領域を特定する処理を示し、本実施形態においては、基準画像の或る領域に対して対応関係にある画素または領域を参照画像内で特定する処理をいう。
【００２２】
撮影装置１００は、光学系１０４と、撮像部１０５と、アナログフロントエンド（以下ＡＦＥ）１０６と、信号処理回路１０７と、記憶部１０８と、ＣＰＵ１０９と、画像処理部３００とを有し、これらの要素がシステムバス１１０を介して電気的に接続される。
【００２３】
記憶部１０８は、ＲＡＭ１０８ＡとＲＯＭ１０８Ｂとを有する。ＲＯＭ１０８Ｂは、フラッシュメモリ等で構成される。ＲＯＭ１０８Ｂには、撮影パラメータと、画像処理パラメータ（これらのパラメータについては後で説明する）と、画像処理プログラムとが記憶される。ＲＯＭ１０８Ｂにはまた、撮影して得られた画像データが記憶される。なお、記憶部１０８は、撮影装置１００に対して着脱自在に装着されるメモリカードやハードディスクドライブ等の記憶媒体を含んでいてもよい。その場合、画像データはＲＯＭ１０８Ｂまたは記憶媒体に記憶可能である。
【００２４】
ＲＡＭ１０８Ａは、ワークエリアとして用いられる。例えば、上記の画像処理プログラムはＲＯＭ１０８Ｂから読み出されてＲＡＭ１０８Ａにコピーされ、その画像処理プログラムがＣＰＵ１０９によって逐次読み込まれ、解釈、実行される。画像処理部３００は専用のハードウェアロジックや特定用途向け集積回路（ＡＳＩＣ）で構成することも可能であるが、以下ではＣＰＵ１０９が上記の画像処理プログラムを解釈、実行することにより画像処理部３００が構成されるものとして説明をする。
【００２５】
ＲＯＭ１０８Ｂに記憶される撮影パラメータのうち、焦点距離、シャッタ速度、絞り（Ｆ値）等に関連するものが光学系１０４に出力される。光学系１０４は被写体像を撮像部１０５の受光面上に形成する焦点距離可変のレンズと、シャッタ速度および絞りを調節可能なシャッタユニットとを含む。光学系１０４は、ＲＯＭ１０８Ｂから読み出される上記焦点距離、シャッタ速度、絞り等に関連するパラメータに基づいて焦点距離、シャッタ速度、絞り等を調節可能に構成される。
【００２６】
撮像部１０５は、ＣＣＤ、またはＣＭＯＳ等のイメージセンサで構成される。撮像部１０５は、ダイクロイックプリズム等の色分解光学系と複数のイメージセンサとを有する、いわゆる多板式の構成を有していてもよいし、受光面上に赤、緑、青等のオンチップカラーフィルタが形成されるイメージセンサを有する、いわゆる単板式の構成を有していてもよい。以下では、撮像部１０５が単板式の構成を有していて、イメージセンサがベイヤ配列のオンチップカラーフィルタを有するものとして説明をする。撮像部１０５は、光学系１０４で形成された被写体像を光電変換してアナログ画像信号を生成する。
【００２７】
ＲＯＭ１０８Ｂに記憶される上記撮影パラメータのうち、ＩＳＯ感度（アンプゲイン）等に関するものがＡＦＥ１０６に出力される。ＡＦＥ１０６は、撮像部１０５から出力されるアナログ画像信号に相関二重サンプリング、増幅、Ａ／Ｄ変換等の処理をしてデジタル画像信号を生成し、ＲＡＭ１０８Ａに一時的にストアする。このとき、ＡＦＥ１０６は、撮像部１０５から出力されるアナログ画像信号を、ＲＯＭ１０８Ｂから出力されるアンプゲインのパラメータに基づくゲイン設定で増幅する。
【００２８】
信号処理回路１０７は、上述のようにＡＦＥ１０６から出力されてＲＡＭ１０８Ａにストアされたデジタル画像信号に対して、ノイズ除去やデモザイキング、階調補正の処理などを行い、画像データを生成する。画像データは、記憶部１０８（ＲＡＭ１０８ＡまたはＲＯＭ１０８Ｂ）にストアされる。上述した一連の処理は、露光動作が１回行われる度に行われる。複数の露光動作が連続して行われる場合、露光回数分だけ上記の処理が行われる。
【００２９】
画像処理部３００は、位置合わせ処理部３０９と、画像合成処理部３１０とを有する。ＲＯＭ１０８Ｂに記憶されるパラメータのうち、画像処理パラメータが位置合わせ処理部３０９によって読み出される。位置合わせ処理部３０９は、一連の複数回の露光動作が行われて生成される複数コマ分の画像データに対して、上記画像処理パラメータに基づいて以下に詳述するように移動ベクトル導出の処理を行う。位置合わせ処理部３０９は、導出された移動ベクトルの情報を記憶部１０８に出力する。
【００３０】
画像合成処理部３１０は、記憶部１０８に記憶される複数コマ分の画像データと移動ベクトルの情報とをもとに画像合成の処理を行い、合成画像を生成する。生成された合成画像は、表示装置やプリンタ等に出力することができる。記憶部１０８がメモリカードやハードディスク等の記憶媒体を含む場合、生成された合成画像を記憶媒体に記憶することも可能である。
【００３１】
図３は、位置合わせ処理部３０９の内部構成を示す。図４は、画像処理部３００で合成処理される対象の二つの画像を模式的に示す。図４において、（ａ）は基準画像を、（ｂ）は参照画像、すなわち基準画像に重ね合わせる画像を示す。基準画像とは、位置合わせに際しての基準となる画像である。基準画像に対して基準座標系が設定される。参照画像とは、基準画像中の画像要素と参照画像中の画像要素とが重なり合うように変形の処理を行う対象の画像である。
【００３２】
図４に示されるように、基準画像上にテンプレートが複数設けられる。テンプレートは、参照画像中で基準画像中の画像要素と一致する画像要素を見つけ出す処理をする際の基準となる画像要素である。基準画像上にはまた、テンプレートの存在する位置を節点として位置合わせ基準ブロックが設けられる。
【００３３】
図４（ａ）では、互いに隣接しあう４つのテンプレートで囲われる１つの矩形領域に対応して位置合わせ基準ブロックが１つ設けられる例が示されている。しかし、位置合わせ基準ブロックは三つのテンプレートで囲われる三角形状のものであってもよいし、任意の形状の多角形状を有していてもよい。また、各位置合わせ基準ブロックは互いに同じ形状や面積を有していても、異なる形状や面積を有していてもよい。例えば、観察者に注目される対象が存在する確率の高い画面中央部では位置合わせ基準ブロックを小さめに設定し、画面周辺部では位置合わせ基準ブロックを大きめに設定してもよい。同様に、画像内の空間周波数の高めの領域においては位置合わせ基準ブロックを小さめに設定し、空間周波数の低めの領域においては位置合わせ基準ブロックを大きめに設定する、といったことも可能である。
【００３４】
また、二つの画像を重ねて１つの大きなパノラマ画像を得るような用途においては、画像を重ね合わせる部分にのみテンプレートや位置合わせ基準ブロックが設けられるものであってもよい。
【００３５】
図４（ｂ）に示される参照画像において、基準画像上に設けられる各テンプレートに対応して探索領域が設けられる。探索領域とは、基準画像上に設けられる各テンプレートと一致する画像要素を参照画像内で探索する際の探索範囲を規定する領域である。
【００３６】
図３を参照して、位置合わせ処理部３０９は、移動ベクトル測定領域設定部３１１と、位置合わせ基準領域設定部３１２と、移動ベクトル導出部３１３と、信頼性導出部３１４と、移動ベクトル補正処理部３１５と、移動ベクトル補間処理部３１６とを有する。
【００３７】
移動ベクトル測定領域設定部３１１は、記憶部１０８から読み出された画像サイズ、位置合わせテンプレート数、探索範囲などの画像処理パラメータをもとに、移動ベクトル導出処理をするためのテンプレート領域や探索領域などの移動ベクトル測定領域を設定する。つまり、移動ベクトル測定領域設定部３１１は、基準画像上に複数のテンプレートを設定し、参照画像上に探索領域を設定する。
【００３８】
位置合わせ基準領域設定部３１２は、記憶部１０８から読み出された画像サイズ、領域分割数などの画像処理パラメータをもとに、基準画像を複数の小領域に分割して位置合わせ基準ブロックを得る。図４（ａ）に示される例では、基準画像上において互いに隣接し合う４つのテンプレートで囲われる矩形状の領域が１つの位置合わせ基準ブロックとなる。図４（ａ）では、６つの位置合わせ基準ブロックが示されている。
【００３９】
移動ベクトル導出部３１３は、移動ベクトル測定領域設定部３１１で設定された移動ベクトル設定領域のそれぞれにおいて、基準画像と参照画像とのテンプレートマッチングの処理を行う。そして、それぞれの移動ベクトル測定領域に対応する移動ベクトルを導出する。テンプレートマッチング処理とは、テンプレートを探索領域内で走査しながら一致指標を演算し、一致指標が最も高くなる位置を検出する処理である。ここでは、一致指標が最も高くなる位置とテンプレートの対応位置との位置ずれを計算し、位置ずれの方向と位置ずれ量とを規定する移動ベクトルとして出力する。尚、一致指標としては、SAD(Sum of Absolute intensity Difference)、SSD(Sum of Squared intensity Difference)、NCC(Normalized Cross-Correlation)など公知の技術を用いてよい。
【００４０】
信頼性導出部３１４は、移動ベクトル導出部３１３で導出される移動ベクトルそれぞれの信頼性を導出する。ここで図５を参照してテンプレート中の画像要素が有するパターンの例を説明する。図５（ｃ）に例示される低コントラスト画像、あるいは図５（ｄ）に例示される繰り返しパターン画像をテンプレートとしてテンプレートマッチングを行うと、本来のものとは異なる移動ベクトルを導出する可能性が高くなる。
【００４１】
つまり、テンプレート中の画像要素がこのような低コントラスト画像や繰り返しパターンの画像である場合、導出される移動ベクトルの信頼性は画像中のどの方向に対しても低い。ここで、導出される移動ベクトルの信頼性とは、導出される移動ベクトルが、本来あるべき向きおよび大きさに一致する確率や可能性と定義することができる。あるいは、正確な移動ベクトルが導出される確率や可能性と定義してもよい。
【００４２】
図５（ａ）に示されるような画像、すなわち二つの方向、理想的には互いに直交する二つの方向に対して明確なパターン境界を有する画像をテンプレートとしてテンプレートマッチングを行うと、対応位置を一意に見つけ出すことができる。つまり、図５（ａ）のような画像要素から導出される移動ベクトルの信頼性は、任意の２軸方向に対して高い。
【００４３】
図５（ｂ）に示されるような画像要素、すなわち、ある１方向に沿う直線状のパターン境界を有する画像をテンプレートとしてテンプレートマッチングを行うと、パターン境界に直交する方向には位置ずれ量を正しく導出することができる。しかし、パターン境界に沿う方向には位置合わせの手がかりがなく位置ずれ量を正しく求めることができない。従って、図５（ｂ）に示されるような画像要素から導出される移動ベクトルの信頼性は、パターン境界に直交する１軸方向だけに高く、パターン境界に平行な方向には低い。このように、１方向のみにしか移動ベクトルを正確に求められない領域は一般に「開口問題領域」と称される。
【００４４】
信頼性導出部３１４は、基準画像のテンプレート中の画像要素、参照画像の探索領域中の画像要素のうち、少なくともいずれかを解析して信頼性を導出することができる。以下では理解を容易にするため、信頼性導出部３１４は、テンプレート中の画像要素を解析して信頼性を導出するものとして説明をする。
【００４５】
信頼性導出部３１４の処理フローを図６に示す。図６に示される処理は、画像処理部３００を実施するための画像処理プログラムがＣＰＵ１０９により実行されて、この画像処理プログラム中で信頼性導出処理が呼び出されときにＣＰＵ１０９により実行される。
【００４６】
Ｓ６００においてＣＰＵ１０９は、現在選択されているテンプレートの領域の画像を解析し、低コントラストの領域であるか否かの判定をする。例えば領域内の画像に対して画素ごとに微分強度の絶対値を求める。その微分強度の絶対値の総和を閾値と比較し、微分強度の絶対値の総和が閾値よりも高い場合はコントラストが高く、微分強度の絶対値の総和が閾値以下である場合はコントラストが低いと判定することが可能である。
【００４７】
Ｓ６００での判定が肯定されると処理はＳ６０２に進む一方、否定されるとＳ６０４に進む。Ｓ６０４においてＣＰＵ１０９は、現在選択されているテンプレートの領域の画像が繰り返しパターンを有するものであるか否かの判定を行う。具体的には、現在選択されているテンプレートの領域の画像について自己相関を演算する。そして、相関値の極大位置が周期的に発生する場合や、極大位置にばらつきがある場合、繰り返し領域と判定する。
【００４８】
Ｓ６０４での判定が肯定された場合、処理はＳ６０２に進む一方、否定された場合にはＳ６０６に進む。Ｓ６００およびＳ６０４での判定が肯定された場合の分岐先であるＳ６０２においてＣＰＵ１０９は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は２軸方向ともに低いと決定し、この決定に関連する属性を、現在処理対象となっているテンプレートに対して付与する。
【００４９】
Ｓ６０４での判定が否定された場合の分岐先であるＳ６０６においてＣＰＵ１０９は、現在選択されているテンプレートの領域の画像が開口問題領域であるか否かの判定を行う。Ｓ６０６で行われる開口問題領域判定の処理について、図７を参照して説明する。図７は、Ｓ６０６で行われる開口問題判定処理の内容を説明するフローチャートである。
【００５０】
Ｓ７００においてＣＰＵ１０９は、Ｘ方向、つまり画像を構成する、二次元配列された画素の、行方向に微分処理を行う。Ｓ７０２においてＣＰＵ１０９は、Ｙ方向、つまり上記二次元配列された画素の、列方向に微分処理を行う。ここでの微分処理は、１次微分系の処理であり、例えばSobelフィルタやPrewitフィルタなどでよい。
【００５１】
Ｓ７０４においてＣＰＵ１０９は、Ｓ７００、Ｓ７０２で求められたＸ方向微分値ｄｘｉｊおよびＹ方向微分値ｄｙｉｊをもとに、エッジ勾配方向θｉｊを求める。ここでｉ、ｊは画素の行方向、列方向の位置を表す。エッジ勾配方向θｉｊは、以下の式で求めることができる。
【００５２】
θｉｊ＝ｔａｎ-1（ｄｙｉｊ／ｄｘｉｊ）    …    式（１）
【００５３】
Ｓ７０６においてＣＰＵ１０９は、現在選択されているテンプレートの領域の画像内の全ての画素についてＳ７００からＳ７０４の処理を行ったか否かを判定し、この判定が否定される間、処理はＳ７００に戻る。一方、Ｓ７０６での判定が肯定されると処理はＳ７０８に進む。
【００５４】
Ｓ７０８においてＣＰＵ１０９は、上述のようにして求められたθｉｊを統計処理し、θｉｊの分散（θｉｊの分布のばらつき）を求める。そして、このθｉｊの分散が予め定められた閾値を越すか否かを判定する。
【００５５】
Ｓ７０８での判定が肯定された場合、処理はＳ７１０に進み、「２軸方向に信頼性が高い」との判定結果を返して図７の処理を終え、リターンする。一方、Ｓ７０８での判定結果が否定された場合、処理はＳ７１２に進み、「開口問題領域」との判定結果と、導出される動きベクトル中、高い信頼性が得られる方向θの情報を返して図７の処理を終え、リターンする。
【００５６】
ここで、高い信頼性が得られる方向θについて図８を参照して説明する。図８に例示されるような画像のパターンで高い位置合わせ精度が期待できるのは、パターンの境界が延在する方向に直交する方向である。その方向を表す角度θを用いて、上述した高い信頼性が得られる方向の角度θを規定することができる。この角度θは、例えば以下のようにして求めることが可能である。すなわち、信頼性を導出する対象の領域内の全画素について上記式（１）に基づいてθｉｊを求める。これらのθｉｊを統計処理し、最頻値をθとすることが可能である。あるいは、これらのθｉｊの平均値や中央値をθとすることも可能である。
【００５７】
Ｓ７１０の処理が行われた場合、図６のＳ６０６での判定は否定されて処理はＳ６１０に分岐する。Ｓ７１２での処理が行われた場合、図６でのＳ６０６の判定は肯定されて処理はＳ６０８に分岐する。
【００５８】
Ｓ６０８においてＣＰＵ１０９は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は１軸方向にのみ高く、信頼性の高い方向はθであると決定し、この決定に関連する属性を現在選択されているテンプレートに対して付与する。
【００５９】
Ｓ６１０においてＣＰＵ１０９は、現在選択されているテンプレートで導出される移動ベクトルの信頼性は２軸方向とも高いと決定し、この決定に関連する属性を現在選択されているテンプレートに対して付与する。
【００６０】
Ｓ６１２においてＣＰＵ１０９は、基準画像内の全てのテンプレートに対して信頼性導出のための解析を完了したか否かの判定を行う。この判定が否定される間、Ｓ６００からＳ６１０の処理を繰り返し行う。Ｓ６１２の判定が肯定されると、ＣＰＵ１０９はリターンする。
【００６１】
移動ベクトル補正処理部３１５は、移動ベクトル導出部３１３で導出された移動ベクトルと信頼性導出部３１４で導出された信頼性とをもとに、移動ベクトルを必要に応じて補正する処理を行う。なお、ここで「移動ベクトルを補正する」とは当該移動ベクトルを他の移動ベクトルと置換したり、他の移動ベクトルを用いて導出された移動ベクトルと置換したり、当該移動ベクトルと他の移動ベクトルを用いて導出された移動ベクトルと置換したり、当該移動ベクトルのみを用いて導出された移動ベクトルと置換すること等を含む。
【００６２】
移動ベクトル補正処理部３１５で行われる処理内容について図９を参照して説明する。本処理は、移動ベクトル導出部３１３で導出された移動ベクトルと、信頼性導出部３１４で導出された信頼性をもとに、移動ベクトルに補正を加える処理である。
【００６３】
図９（ａ）および図９（ｂ）にはそれぞれ、相隣り合う４つの領域のテンプレート（テンプレート１、テンプレート２、テンプレート３、テンプレート４）が示されている。各テンプレート中には画像のパターンと、当該のテンプレートに対応して求められた移動ベクトルＭＶ１、ＭＶ２、ＭＶ３、ＭＶ４が示されている。図９（ａ）が補正処理前の状態を、図９（ｂ）が補正処理後の状態を示す。
【００６４】
以下では、テンプレート１、テンプレート２、テンプレート３、テンプレート４のみの移動ベクトルに対し、必要に応じて補正を加える例について説明する。しかし、実際には基準画像中の全テンプレートの移動ベクトルに対し、必要に応じて補正が加えられる。
【００６５】
テンプレート１およびテンプレート４は、信頼性導出部３１４によって導出される信頼性が２軸方向とも高いものとなる画像要素を有する例が示されている。テンプレート２は、信頼性導出部３１４によって導出される信頼性が２軸方向とも低いものとなる画像要素を有する例が示されている。そしてテンプレート３は、開口問題領域、すなわち、信頼性導出部３１４によって導出される信頼性が１軸方向にのみ高いものとなる画像要素を有する例が示されている。
【００６６】
信頼性が２軸方向とも高いテンプレート１およびテンプレート４では、移動ベクトル補正処理の前後で変化は無く、それぞれＭＶ１、ＭＶ４のままとなっている。そして、テンプレート２およびテンプレート３では、以下に説明するように補正が加えられる。
【００６７】
２軸方向とも信頼性が低いテンプレート２を用いて移動ベクトル導出部３１３で求められた移動ベクトルは、図９（ａ）で示されるようにＭＶ２である。この移動ベクトルＭＶ２の信頼性は２軸方向ともに低い。この場合、テンプレート２の周囲に存在するテンプレート中から信頼性が２軸とも高いテンプレートの移動ベクトルをテンプレート２における補正後の移動ベクトルとする。
【００６８】
例えば図９（ｂ）に示されるように、テンプレート２の隣に位置し、信頼性が２軸方向ともに高いテンプレート１の移動ベクトルＭＶ１をテンプレート２に対応する補正後の移動ベクトルとする。このように移動ベクトルを補正することにより、より好ましい位置合わせの結果を得ることが期待できる。
【００６９】
続いて、信頼性が１軸方向にのみ高く、高信頼性方向がθであるテンプレート３における移動ベクトルの補正について説明する。先にも説明したように、高信頼性方向においては信頼性の高い移動量を求めることができるが、高信頼性方向と直交する方向には信頼性の高い移動量を求めることができない。そこで、補正処理前の移動ベクトルＭＶ３を、図９（ａ）に示されるように高信頼性方向に沿う軸成分の移動ベクトルＭＶ３ｘ’と、高信頼性方向と直交する方向に沿う軸成分の移動ベクトルＭＶ３ｙ’とに分解する。なお、本明細書中では高信頼性方向と直交する方向を低信頼性方向と称する。
【００７０】
高信頼性方向に沿う軸成分の移動ベクトルＭＶ３ｘ’および低信頼性方向に沿う軸成分の移動ベクトルＭＶ３ｙ’は、以下のようにして求めることができる。テンプレートの画像要素を構成する画素の配列の行方向（ｘ軸方向）および列方向（ｙ軸方向）で画定されるｘｙ座標系における、移動ベクトルＭＶ３のｘ軸方向に沿う軸成分をＭＶ３ｘ、ｙ軸方向に沿う軸成分をＭＶ３ｙとする。
【００７１】
これらのｘ軸方向に沿う軸成分の移動ベクトルＭＶ３ｘおよびｙ軸方向に沿う軸成分の移動ベクトルＭＶ３ｙを、上記の角度θだけ回転させた、高信頼性方向（ｘ’軸方向）および低信頼性方向（ｙ’軸方向）で画定されるｘ’ｙ’座標系における２軸方向に沿う軸成分の移動ベクトルＭＶ３ｘ’、ＭＶ３ｙ’を座標回転の処理により求める。この座標回転の処理には以下の式（２）を用いることができる。つまり、式（２）においてｘ＝ＭＶ３ｘ、ｙ＝ＭＶ３ｙとして求められたｘ’、ｙ’がＭＶ３ｘ’、ＭＶ３ｙ’となる。
【００７２】
【数１】
2011182084.tif 000003
【００７３】
式（２）で求められた２軸成分の移動ベクトルのうち、低信頼性方向に沿う軸成分のベクトルＭＶ３ｙ’については、高い信頼性が期待できない。この場合、テンプレート３の近隣に存在するテンプレート中から、テンプレート３の低信頼性方向に対して十分な信頼性を有するテンプレートを探索する。図９の例では、テンプレート４がそのようなテンプレートに該当する。
【００７４】
なお、テンプレート３の低信頼性方向に対して、近隣のテンプレートが十分な信頼性を有するかどうかの判定には以下のようにすることが可能である。すなわち、補正対象のテンプレート（テンプレート３）の近隣に位置するテンプレート（本例ではテンプレート４）の高信頼性方向が、補正対象のテンプレートの低信頼性方向に対して例えば４５度以上、好ましくは６０度以上の角度差を有しているか否かを判定基準とすることが可能である。あるいは、補正対象のテンプレートの近隣に存在するテンプレートの中から、２軸方向共に信頼性の高いものを探索してもよい。
【００７５】
次に、図９（ａ）に示されるように、移動ベクトルＭＶ４についても上記の式（２）を用い、移動ベクトルＭＶ４の、テンプレート３の低信頼性方向に沿う軸成分のベクトルを求める。このようにして求められたのが図９（ａ）におけるＭＶ４ｙ’である。
【００７６】
続いて、図９（ｂ）に示されるように、テンプレート３の移動ベクトルＭＶ３の、低信頼性方向に沿う軸成分のベクトルＭＶ３ｙ’を上述のようにして求められたＭＶ４ｙ’に置き換える。以下、図９（ｂ）に示されるテンプレート３の移動ベクトルを拡大して示す図１０を参照して説明する。以上のように移動ベクトルを補正処理した結果、移動ベクトルＭＶ３に対応する高信頼性方向に沿う軸成分のベクトルはＭＶ３ｘ’のまま変わらず、低信頼性方向に沿う軸方向のベクトルはＭＶ３ｙ’からＭＶ４ｙ’に補正される。これら２つの軸方向の成分のベクトルＭＶ３ｘ’、ＭＶ４ｙ’を合成したものが補正後の移動ベクトルＭＶ３ｎｅｗとなる。
【００７７】
上記２つの軸方向成分のベクトルＭＶ３ｘ’、ＭＶ４ｙ’に対して式（３）を用いて座標変換処理を行い、補正後の移動ベクトルＭＶ３ｎｅｗの、ｘｙ座標軸に沿う軸方向成分のベクトルＭＶ３ｘｎｅｗ、ＭＶ３ｙｎｅｗを求める。つまり、式（３）においてｘ’＝ＭＶ３ｘ’、ｙ’＝ＭＶ４ｙ’として求められたｘ、ｙがＭＶ３ｎｅｗのｘｙ座標軸に沿う軸方向成分のベクトルＭＶ３ｘｎｅｗ、ＭＶ３ｙｎｅｗとなる。
【００７８】
【数２】
2011182084.tif 000004
【００７９】
以上では、移動ベクトル３の低信頼性方向に沿う軸成分ＭＶ３ｙ’を、テンプレート３の近隣に位置するテンプレート４の移動ベクトルＭＶ４の軸成分ＭＶ４ｙ’に置き換える例について説明した。しかし、本発明はこれに限られるものではなく、上記の例においてＭＶ３ｙ’とＭＶ４ｙ’とを相加平均あるいは相乗平均して補正後の軸成分のベクトルを求めても良い。このとき、単純平均のみならず、加重平均等の処理をして補正後の軸成分のベクトルを求めてもよい。
【００８０】
また、テンプレート３の近隣に、テンプレート３の低信頼性方向に沿う軸成分の信頼性の比較的高いテンプレートが複数あるとき、それら複数のテンプレートそれぞれに対応する移動ベクトルに基づいてテンプレート３の移動ベクトルに補正を加えても良い。
【００８１】
再び図３を参照し、移動ベクトル補間処理部３１６は、参照画像内の探索領域ごとに求められた移動ベクトル（必要に応じて補正されたもの）をもとに、画素毎の移動ベクトルを導出する。つまり、１つの位置合わせ基準ブロックの４つのコーナー部に位置するテンプレートごとに導出された移動ベクトルをもとに、その位置合わせ基準ブロック内に存在する全画素のひとつ一つに対応する移動ベクトルを導出する。
【００８２】
このとき、移動ベクトルを求める対象の画素の位置と、４つのテンプレートの中心位置との距離の遠近に応じて補間処理を行い、画素ひとつ一つに対応する移動ベクトルを求める。上記の処理を全ての位置合わせ基準ブロックに対応して行う。このようにして、参照画像を構成する画素のひとつ一つに対応して移動ベクトルが求められる。
【００８３】
移動ベクトル補間処理部３１６における上記処理の詳細について図１１を参照して説明する。図１１（ａ）には基準画像が、図１１（ｂ）には参照画像が示される。移動ベクトル補正処理部３１５において必要に応じて補正処理が行われた後の移動ベクトルが図１１（ａ）内の対応するテンプレートに重ねて示されている。
【００８４】
なお、図１１（ａ）に示される移動ベクトルについては見やすくするために絶対値を大きくして（有向線分の長さを長くして）示してある。以下の説明において、画像の左上隅に位置する画素の画素位置を（０，０）とし、右方向および下方向に向かうにつれて座標値が増加するものとする。例えば、図１１（ａ）の基準画像上で左上の隅に位置するテンプレートの画像要素が縦横それぞれ１００画素からなり、画素位置（１０１、１０１）から画素位置（２００、２００）に位置するものとする。
【００８５】
テンプレートマッチングの処理をした結果、上記テンプレートと一致する画像要素は参照画像中の画素位置（１５１、１５１）から画素位置（２５０、２５０）に位置していたとする。この場合、導出される移動ベクトルは、（−５０、−５０）となる。これに対応する移動ベクトルは、図１１（ａ）の左上隅のテンプレート上に示されるような、左上方向に向くものとなる。
【００８６】
以上からあきらかなように、移動ベクトルは、変形前のテンプレート対応領域の画像要素をどの方向にどのくらいの距離（画素数）だけずらす、つまり変形させると基準画像上のテンプレート内の画像要素と重なり合うかを示している。移動ベクトルは、各テンプレートに対応して導出されている。図１１（ｂ）の参照画像中には、変形前の参照画像中におけるテンプレート対応領域が白抜きの矩形で示されている。そして、図１１（ａ）に示される移動ベクトルに対応して、各テンプレート対応領域をどのように動かすかが、ハッチングを施した矩形で示されている。
【００８７】
ところで、以下で説明する補間処理に際して、上記の移動ベクトルは各テンプレートを画定する領域の中心（重心、あるいは図心）に位置する１つの画素に対して付与されるものであると考える。上記の、各テンプレートを画定する領域の中心（重心、あるいは図心）に位置する１つの画素以外の画素に対する移動ベクトルは、公知の補間処理や外挿処理によって求めることができる。本明細書中では、補間処理や外挿処理を総称して単に補間処理と称する。
【００８８】
参照画像内の画素のそれぞれに対応して補間処理をすることにより導出された、画素ごとの移動ベクトルで規定される方向および距離に画素位置をずらすように参照画像を変形し、変形後の画像を基準画像と重ね合わせることにより、ずれが抑制された鮮鋭な画像を得ることが可能となる。
【００８９】
なお、図１１においては近隣の４つのテンプレートを節点として１つのメッシュが切られて矩形状の位置合わせ基準ブロックが形成されているが、位置合わせ基準ブロックの形状は先にも説明したように任意の多角形とすることが可能である。また、それぞれの位置合わせ基準ブロックは、互いに同じ寸法、同じ形状を有していても、異なる寸法、形状を有していてもよい。
【００９０】
図２に示される画像合成処理部３１０は、移動ベクトル補間処理部３１６で導出された画素ごとの移動ベクトルに基づき、参照画像を変形する。その結果、変形前の４つのテンプレート領域で囲われる位置合わせ基準ブロックは図１１（ｂ）に示されるように変形する。画像合成処理部３１０は、このように変形された参照画像を基準画像に重ね合わせて画像合成を行う。なお、図１１（ｂ）を参照すると、変形後の参照画像は、基準画像に対して一見ずれているように見えるかもしれないが、そうではない。図１１（ｂ）に示される参照画像を変形した結果、変形後の参照画像は図１１（ａ）に示される基準画像と同じものとなる。その結果、ずれを殆ど生じることなく重ね合わせることができるようになる。
【００９１】
以上に説明した、複数の画像を合成する処理を行うための画像処理プログラムについて図１２を参照して説明する。図１２は、ＣＰＵ１０９により実行される、複数の画像の合成処理をするための画像処理手順を説明する概略フローチャートである。この画像処理手順を実行するためのプログラムは、先にも説明したように、ＲＯＭ１０８Ｂに記憶される。あるいは、このプログラムは、メモリカードや磁気ディスク、光ディスク、あるいは光磁気ディスク等の、コンピュータによって読み取り可能な記憶媒体に収容されていてもよい。また、ネットワーク等の通信回線を通じて上記プログラムをダウンロードし、ＲＯＭ１０８Ｂに記憶することも可能である。
【００９２】
上記プログラムが磁気ディスク、光ディスク、あるいは光磁気ディスク等の、コンピュータによって読み取り可能な記憶媒体に収容されている場合、これらの記憶媒体中から情報を読み出すためのドライブ装置を撮影装置１００が内蔵していてもよいし、外部のドライブ装置と接続可能に構成されていてもよい。上記プログラムがメモリカード等に収容されている場合、撮影装置１００は、これらのメモリカード等から情報を読み出すためのインターフェース等を備えればよい。
【００９３】
Ｓ１２００においてＣＰＵ１０９は、移動ベクトル測定領域設定の処理を行う。この処理は、図３を参照して説明した移動ベクトル測定領域設定部３１１で行われる処理に相当する。Ｓ１２０２においてＣＰＵ１０９は、位置合わせ基準領域設定の処理を行う。この処理は、図３を参照して説明した位置合わせ基準領域設定部３１２での処理に相当する。
【００９４】
Ｓ１２０４においてＣＰＵ１０９は移動ベクトル導出の処理を行う。この処理は、図３を参照して説明した移動ベクトル導出部３１３での処理に相当する。Ｓ１２０６においてＣＰＵ１０９は信頼性導出の処理を行う。この処理は、図３を参照して説明した信頼性導出部３１４での処理に相当する。
【００９５】
Ｓ１２０８においてＣＰＵ１０９は、移動ベクトル補正の処理を行う。この処理は、図３を参照して説明した移動ベクトル補正処理部３１５での処理に相当する。Ｓ１２１０においてＣＰＵ１０９は、移動ベクトル補間の処理を行う。この処理は、図３を参照して説明した移動ベクトル補間処理部３１６での処理に相当する。
【００９６】
Ｓ１２１２においてＣＰＵ１０９は、画像合成の処理を行う。この処理は画像合成処理部３１０での処理に相当する。Ｓ１２１２の処理を完了し、ＣＰＵ１０９は参照画像を変形して基準画像に重ね合わせる処理を完了する。このとき、３以上の数の画像を重ね合わせる場合には、重ね合わせる画像の数に応じて（３枚の画像に対して２回、４枚の画像に対して３回、…）図１２の処理が繰り返し行われる。
【００９７】
図１２に示すフローチャートの処理中、Ｓ１２０４における移動ベクトル導出処理およびＳ１２０６における信頼性導出処理については、処理の順番を逆転させてもよい。つまり、Ｓ１２０４で信頼性導出処理を行い、Ｓ１２０６で移動ベクトル導出処理を行っても良い。
【００９８】
また、Ｓ１２１２の処理を省略することも可能である。つまり、図２の撮影装置１００中、画像合成処理部３１０を省略することが可能である。
【００９９】
この場合、画像データが画素ごとの移動ベクトルの情報とともに記憶部１０８あるいはメモリカードなどに記憶される。ここでは、画像データに画素ごとの移動ベクトルの情報等が組み合わされたものを説明の便宜上、データセットと称する。画像合成処理部３１０は、パーソナルコンピュータやストレージビューワ等の中に含まれるものとすることが可能である。上記データセットは、有線あるいは無線の通信手段を介して、あるいはメモリカードを介してパーソナルコンピュータやストレージビューワ等に移される。そして、これらのパーソナルコンピュータやストレージビューワ等内の画像合成処理部３１０において、上記データセットをもとに画像合成の処理を行い、合成画像を生成することもできる。
【０１００】
以上に説明した、複数の画像を合成する処理では、画像を複数の小領域に分割して得られた位置合わせ基準ブロックごとに移動ベクトルが求められるので、例えば複数の画像間で被写体の一部が動いてしまった場合でも好ましい結果を得ることができる。例えば、複数の画像間で背景の自動車が移動していたり、被写体である人物の腕が動いていたりする場合でも、画像を局所的に変形させることが可能なので画像合成の精度を向上させることが可能となる。
【０１０１】
以上に説明したように、本発明の第１の実施の形態によれば、従来は十分に活用されているとは言えなかった「１軸方向のみ信頼性が高い」移動ベクトルについて、高信頼性方向に沿う軸成分のベクトルを有効に活用することが可能となる。このとき、低信頼方向に沿う軸成分のベクトルについては近隣のテンプレートから得られる移動ベクトルの情報を利用することにより、画像の位置合わせ処理を安定化することが可能となる。
【０１０２】
−  第２の実施の形態  −
第１の実施の形態においては、任意の２つの軸方向に沿って分解された二成分の信頼性を用いる例について説明した。つまり、信頼性を、図５（ａ）に示される「２軸方向とも信頼性が高い」、図５（ｂ）に示される「１軸方向だけ信頼性が高い」、そして図５（ｃ）、図５（ｄ）に示される「２軸方向とも信頼性が低い」の３つのパターンに分類して処理をするものについて説明した。そして、図５（ｂ）に示されるような、画像を構成する画素の配列の方向に対してパターン境界が斜めに延在する場合には、このパターン境界に直交する方向に信頼性が高いと分類する例について説明した。
【０１０３】
これに対し、第２の実施の形態においては、画像を構成する画素の配列の、列方向に沿う信頼性および行方向に沿う信頼性を用いる例について説明する。以下では画像を構成する画素の配列の行方向をＸ軸方向、列方向をＹ軸方向と称する。なお、第２の実施の形態の画像処理部を有する撮影装置も、第１の実施の形態で図２および図３を参照して説明したものと同様の構成を有するのでその図示および説明を省略する。
【０１０４】
第２の実施の形態における第１の実施の形態との相違点は、信頼性導出部３１４および移動ベクトル補正処理部３１５における処理内容のみである。以下、これらの相違点を中心に説明をする。
【０１０５】
第２の実施の形態において信頼性導出部３１４（図３）は、図１３の（ａ）から（ｅ）を参照して以下に説明するように４つのパターンに分類して処理をする。図１３（ａ）に示されるような画像要素は、Ｘ軸方向、Ｙ軸方向の双方に対して明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うとＸ軸方向、Ｙ軸方向ともに信頼性の高い移動ベクトルを導出することが可能である。つまり、図１３（ａ）に示されるような画像要素から導出される移動ベクトルの信頼性はＸ軸方向、Ｙ軸方向ともに高いと判定される。
【０１０６】
図１３（ｂ）に例示される画像要素は、Ｙ軸方向に明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うと、Ｘ軸方向に信頼性の高い移動ベクトルを導出することが可能である。しかし、Ｙ軸方向には位置合わせの手がかりが無く、位置ずれ量を正しく求めることができない。つまり、図１３（ｂ）に示されるような画像要素から導出される移動ベクトルの信頼性はＸ軸方向だけに信頼性が高いと判定される。
【０１０７】
図１３（ｃ）に例示される画像要素は、Ｘ軸方向に明確なパターン境界を有する。このような画像要素でテンプレートマッチングを行うと、Ｙ軸方向に信頼性の高い移動ベクトルを導出することが可能である。しかし、Ｘ軸方向には位置合わせの手がかりが無く、位置ずれ量を正しく求めることができない。つまり、図１３（ｃ）に示されるような画像要素から導出される移動ベクトルの信頼性はＹ軸方向だけに信頼性が高いと判定される。
【０１０８】
図１３（ｄ）に例示される低コントラスト画像、あるいは図１３（ｅ）に例示される繰り返しパターン画像をテンプレートとしてテンプレートマッチングを行うと、本来のものとは異なる移動ベクトルを導出する恐れがある。したがって、テンプレート中の画像要素がこのような低コントラスト画像や繰り返しパターンの画像である場合、導出される移動ベクトルの信頼性はＸ軸方向およびＹ軸方向の双方に対して信頼性が低いと判定される。
【０１０９】
図１３に示されるもの以外に、テンプレート中の画像要素が有するパターン境界がＸ軸方向またはＹ軸方向に対して斜めに延在する場合もある。それらについては、以下で図１４を参照して説明する信頼性導出部３１４の処理により、上述した信頼性のうちのいずれかがそれぞれのテンプレートに対して付与される。つまり、パターン境界の延在方向が角度的にＸ軸方向に近ければ、Ｙ軸方向に対して信頼性が高いと判定される。同様に、パターン境界の延在方向が角度的にＹ軸方向に近ければ、Ｘ軸方向に対して信頼性が高いと判定される。
【０１１０】
なお、第２の実施の形態においても、画像処理部３００は専用のハードウェアロジックや特定用途向け集積回路（ＡＳＩＣ）で構成することが可能であるが、以下ではＣＰＵ１０９が上記の画像処理プログラムを解釈、実行することにより画像処理部３００が構成されるものとして説明をする。
【０１１１】
信頼性導出部３１４の処理フローを図１４に示す。図１４に示される処理は、画像処理部３００を実施するための画像処理プログラムがＣＰＵ１０９により実行されて、この画像処理プログラム中で信頼性導出処理が呼び出されときにＣＰＵ１０９により実行される。図１４の処理が１回実行されると、１つの基準画像内の全てのテンプレートに対応して信頼性が導出される。
【０１１２】
ＣＰＵ１０９は、Ｓ１４００においてＸ軸方向の微分処理を行い、Ｓ１４０２においてＹ軸方向の微分処理を行う。なお、上記のＸ軸方向の微分処理およびＹ軸方向の微分処理においては、微分値の絶対値が導出されるものとする。Ｓ１４０４においてＣＰＵ１０９は、領域内の全画像の微分処理を完了したか否かの判定を行い、この判定が否定される間、Ｓ１４００からＳ１４０４までの処理を繰り返し行う。
【０１１３】
Ｓ１４０４での判定が肯定された場合に、ＣＰＵ１０９はＳ１４０６においてＸ軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。Ｓ１４０６での判定が肯定されると処理はＳ１４０８に進む一方、否定されるとＳ１４１４に進む。
【０１１４】
Ｓ１４０８においてＣＰＵ１０９は、Ｙ軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。Ｓ１４０８での判定が肯定されると処理はＳ１４１０に進む一方、否定されるとＳ１４１２に進む。Ｓ１４０６での判定が否定された場合の分岐先であるＳ１４１４においてＣＰＵ１０９は、Ｙ軸方向の微分値の総和が所定の閾値を越しているか否かの判定を行う。Ｓ１４１４での判定が肯定されると処理はＳ１４１６に進む一方、否定されるとＳ１４１８に進む。
【０１１５】
ここでＳ１４０６、Ｓ１４０８、Ｓ１４１４において判定処理が行われる際の閾値について説明する。Ｘ軸方向、またはＹ軸方向の微分値の総和がこれらの閾値を上回っているときに解析対象の領域内の画像要素が十分なコントラストを有する、つまり信頼性が高いと判定できるように閾値は予め定められる。つまり、Ｓ１４０６においてはＸ軸方向の信頼性が高いか否かの判定がなされ、Ｓ１４０８、Ｓ１４１４においてはＹ軸方向の信頼性が高いか否かの判定がなされる。
【０１１６】
なお、繰り返しパターンであるか否かの判定方法については第１の実施の形態で説明したので説明を省略するが、上記Ｘ軸方向、Ｙ軸方向の微分値の総和が所定の閾値を上回っているか否かの判定に際して繰り返しパターンの判定も行うことが望ましい。その場合、Ｘ軸方向およびＹ軸方向の少なくともいずれかの方向に繰り返しパターンが検出されたときにＳ１４０６、Ｓ１４０８、Ｓ１４１４の判定が否定されるようにすればよい。
【０１１７】
上記Ｓ１４０６、Ｓ１４０８、Ｓ１４１４における判定結果の組み合わせに応じて、以下で説明するＳ１４１０、Ｓ１４１２、Ｓ１４１６、Ｓ１４１８のうち、いずれかの処理に分岐する。
【０１１８】
Ｓ１４１２の処理は、Ｓ１４０６でＸ軸に沿う軸方向の信頼性は高いと判定され、Ｓ１４０８でＹ軸に沿う軸方向の信頼性は低いと判定された場合に行われる処理である。ＣＰＵ１０９はＳ１４１２において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はＸ軸に沿う軸方向にのみ信頼性が高い開口問題領域であると判定し、この決定に関連する属性をそのテンプレートに対して付与する。
【０１１９】
Ｓ１４１０の処理は、Ｓ１４０６でＸ軸に沿う軸方向の信頼性は高いと判定され、Ｓ１４０８でＹ軸に沿う軸方向の信頼性は高いと判定された場合に行われる処理である。ＣＰＵ１０９はＳ１４１０において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はＸ軸に沿う軸方向、Ｙ軸に沿う軸方向の２軸方向に信頼性が高いと判定し、この決定に関連する属性をそのテンプレートに対して付与する。
【０１２０】
Ｓ１４１６の処理は、Ｓ１４０６でＸ軸に沿う軸方向の信頼性は低いと判定され、Ｓ１４１４でＹ軸に沿う軸方向の信頼性は高いと判定された場合に行われる処理である。ＣＰＵ１０９はＳ１４１６において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はＹ軸に沿う軸方向にのみ信頼性が高い開口問題領域であると判定し、この決定に関連する属性をそのテンプレートに対して付与する。
【０１２１】
Ｓ１４１８の処理は、Ｓ１４０６でＸ軸に沿う軸方向の信頼性は低いと判定され、Ｓ１４１４でＹ軸に沿う軸方向の信頼性は低いと判定された場合に行われる処理である。ＣＰＵ１０９はＳ１４１８において、現在選択されているテンプレートで導出される移動ベクトルの信頼性はＸ軸に沿う軸方向、Ｙ軸に沿う軸方向とも信頼性が低いと判定し、この決定に関連する属性をそのテンプレートに対して付与する。
【０１２２】
以上に説明したＳ１４１２、Ｓ１４１０、Ｓ１４１６およびＳ１４１８の処理のうち、いずれかの処理を終えると処理はＳ１４２０に進む。ＣＰＵ１０９はＳ１４２０において、全てのテンプレートに対する信頼性の付与を完了したか否かの判定を行い、その判定が否定される間は上述したＳ１４００からＳ１４１８までの処理を繰り返し行う。Ｓ１４２０の判定が肯定されるとＣＰＵ１０９はリターンする。
【０１２３】
移動ベクトル補正処理部３１５で行われる処理内容について図１５を参照して説明する。図１５に示される処理は、第１の実施の形態で図９を参照して説明したものと類似する。しかし、図１５に示される処理は、以下の説明から明らかになるように、第１の実施の形態における処理に比べて簡略化されている。
【０１２４】
ＣＰＵ１０９は、移動ベクトル導出部３１３で導出された移動ベクトルと、信頼性導出部３１４で導出された信頼性をもとに、移動ベクトルに補正を加える。図１５（ａ）および図１５（ｂ）にはそれぞれ、相隣り合う４つの領域のテンプレート（テンプレート１、テンプレート２、テンプレート３、テンプレート４）が示されている。
【０１２５】
各テンプレート中には画像のパターンと、当該のテンプレートに対応して求められた移動ベクトルＭＶ１、ＭＶ２、ＭＶ３、ＭＶ４が示されている。図１５（ａ）が補正処理前の状態を、図１５（ｂ）が補正処理後の状態を示す。以下では、テンプレート１、テンプレート２、テンプレート３、テンプレート４の移動ベクトルのみに対し、必要に応じて補正を加える例について説明する。しかし、実際には基準画像中の全テンプレートの移動ベクトルに対し、必要に応じて補正を加える。
【０１２６】
テンプレート１およびテンプレート４は、信頼性導出部３１４によって導出される信頼性がＸ軸に沿う軸方向およびＹ軸に沿う軸方向の２軸方向に高いものとなるパターンの画像要素を有する例が示されている。テンプレート２は、信頼性導出部３１４によって導出される信頼性が２軸方向とも低いものとなるパターンの画像要素を有する例が示されている。そしてテンプレート３は、開口問題領域、さらに詳しくは、信頼性導出部３１４によって導出される信頼性がＸ軸に沿う軸方向にのみ高いものとなるパターンの画像要素を有する例が示されている。
【０１２７】
信頼性がＸ軸に沿う軸方向、Ｙ軸に沿う軸方向ともに高いテンプレート１およびテンプレート４では、移動ベクトル補正処理の前後で変化は無く、それぞれＭＶ１、ＭＶ４のままとなっている。そして、テンプレート２およびテンプレート３では、以下に説明するように補正が加えられる。
【０１２８】
２軸方向とも信頼性が低いテンプレート２を用いて移動ベクトル導出部３１３で求められた移動ベクトルＭＶ２の信頼性は、２軸方向ともに低い。この場合、テンプレート２の周囲に存在するテンプレート中から信頼性がＸ軸に沿う軸方向、Ｙ軸に沿う軸方向ともに高いテンプレートの移動ベクトルを補正後の移動ベクトルとする。例えば図１５（ｂ）に示されるように、テンプレート２の隣に位置し、信頼性がＸ軸に沿う軸方向、Ｙ軸に沿う軸方向ともに高いテンプレート１の移動ベクトルＭＶ１を、テンプレート２に対応する補正後の移動ベクトルとする。このように移動ベクトルを補正することにより、より好ましい位置合わせの結果を得ることが期待できる。
【０１２９】
続いて、信頼性がＸ軸に沿う軸方向にのみ高いテンプレート３における移動ベクトルの補正について説明する。ＣＰＵ１０９は、補正処理前の移動ベクトルＭＶ３を、図１５（ａ）に示されるようにＸ軸に沿う軸成分の移動ベクトルＭＶ３ｘと、Ｙ軸に沿う軸成分の移動ベクトルＭＶ３ｙとに分解する。
【０１３０】
テンプレート３はＸ軸に沿う軸方向にのみ信頼性が高いので、Ｘ軸に沿う軸成分の移動ベクトルＭＶ３ｘに対しては補正が行われない。一方、Ｙ軸に沿う軸成分の信頼性は低いので、テンプレート３の近隣に存在するテンプレート中から、テンプレート３の低信頼性方向（本例ではＹ軸に沿う軸方向）に対して十分な信頼性を有するテンプレートを探索する。図１５の例では、テンプレート４がそのようなテンプレートに該当する。そして、図１５（ｂ）に示されるように、テンプレート３の移動ベクトルＭＶ３のＹ軸に沿う軸成分のベクトルＭＶ３ｙをテンプレート４のＹ軸方向に沿う軸成分のベクトルＭＶ４ｙに置き換える。その結果、テンプレート３の移動ベクトルはＭＶ３からＭＶ３ｎｅｗに補正される。
【０１３１】
以上では、移動ベクトル３のＹ軸に沿う軸成分ＭＶ３ｙを、テンプレート３の近隣に位置するテンプレート４に対応する移動ベクトルＭＶ４のＹ軸に沿う軸成分ＭＶ４ｙに置き換える例について説明した。しかし、本発明はこれに限られるものではなく、上記の例においてＭＶ３ｙとＭＶ４ｙとを相加平均あるいは相乗平均して補正後のベクトル成分を求めても良い。このとき、単純平均のみならず、加重平均等の処理をして補正後のベクトル成分を求めてもよい。
【０１３２】
また、テンプレート３の近隣に、Ｙ軸に沿う軸成分の信頼性の比較的高いテンプレートが複数あるとき、それら複数のテンプレートのそれぞれから得られる移動ベクトルに基づいてテンプレート３の移動ベクトルに補正を加えても良い。
【０１３３】
図１５（ａ）、図１５（ｂ）には示されていないが、Ｙ軸に沿う軸成分の信頼性のみが高いテンプレートに対応する移動ベクトルに対しても、上述したのと同様の方法によって補正をすることができる。
【０１３４】
なお、複数の画像を合成するための一連の処理を行う画像処理プログラムについては、図１２を参照して第１の実施の形態で説明したものと同様であるので、図示および説明を省略する。
【０１３５】
以上に説明したように、第２の実施の形態においては、第１の実施の形態で説明したような、移動ベクトルをテンプレート内の画像要素のエッジ勾配方向に沿う軸成分（高信頼性方向に沿う軸成分）とエッジ勾配方向に直交する方向に沿う軸成分（低信頼性方向に沿う軸成分）とに分解することは行わない。代わりに、移動ベクトルをＸ軸方向成分とＹ軸方向成分とに分解し、このＸ軸方向、Ｙ軸方向の信頼性の高低に応じて補正処理がなされる。このようにすることにより、第１の実施の形態で行われているアークタンジェントの計算や座標変換の処理を省くことが可能となるので、計算コストを削減することが可能となる。
【０１３６】
第２の実施の形態においても、図１２に示すフローチャート中、Ｓ１２１２の処理を省略することも可能である。つまり、図２の撮影装置１００中、画像合成処理部３１０を省略することが可能である。そして、第１の実施の形態と同様に、パーソナルコンピュータやストレージビューワ等が画像合成処理部３１０を有するものとすることが可能である。
【０１３７】
なお、撮像部１０５の画素の配列が千鳥状の配列であったり、矩形でない多角形をタイル状に敷き詰めたような配列であったりする場合もある。その場合、テンプレートの輪郭形状を矩形として、上記Ｘ軸方向、Ｙ軸方向はその矩形形状の横の辺、縦の辺に沿う方向としてもよい。あるいは、矩形の輪郭形状を有する基準画像、参照画像の横の辺、縦の辺に沿う方向としてもよい。要するに、第１の実施の形態で説明した処理中のアークタンジェントの演算、座標変換のための行列演算等を省略可能となるように上記Ｘ軸方向、Ｙ軸方向を定めればよい。
【０１３８】
−  第３の実施の形態  −
第１および第２の実施の形態においては、画像処理部３００が位置合わせ処理部３０９と画像合成処理部３１０とを有していて、画像処理部３００が合成画像を生成可能に構成される。また、第１および第２の実施の形態において、位置合わせ処理部３０９は、移動ベクトル補間処理部３１６を有していて、画素ごとの移動ベクトルを記憶部１０８に出力するように構成されている。
【０１３９】
これに対して、第３の実施の形態においては、図１６に示されるように、画像処理部３００Ａは内部に画像合成処理部３１０を有していない。また、位置合わせ処理部３０９Ａは、図１７に示されるように移動ベクトル補間処理部３１６を有していない。画像処理部３００Ａは、画素ごとの移動ベクトルではなく、移動ベクトル補正処理部３１５（図１７）で処理された、補正後の移動ベクトルを記憶部１０８に出力する。
【０１４０】
なお、図１６に示される撮影装置１００Ａが有する構成要素中、図２に示される撮影装置１００が有するものと同様の構成要素には同じ符号を付してその説明を省略する。同様に、図１７に示される位置合わせ処理部３０９Ａが有する構成要素中、図３に示される位置合わせ処理部３０９が有するものと同様の構成要素には同じ符号を付してその説明を省略する。
【０１４１】
外部処理装置３５０は、パーソナルコンピュータやストレージビューワ、あるいはデジタルフォトフレーム等とすることが可能である。外部処理装置３５０は、移動ベクトル補間処理部３１６と画像合成処理部３１０とを有する。撮影装置１００Ａから外部処理装置３５０へ、画像データが転送される。画像データの転送には、有線あるいは無線の通信手段を用いることが可能である。あるいは、撮影装置１００Ａに装着されたメモリカード内に画像データがストアされて、そのメモリカードを外部処理装置３５０に装着することにより、画像データが転送されるものであってもよい。この画像データには、補正後の基準ベクトルと、位置合わせ基準ブロックの情報とが含まれる。
【０１４２】
位置合わせ処理部３０９Ａの内部構成を図１７に示す。図３に示される、第１および第２の実施の形態における位置合わせ処理部３０９との相違点は、先にも説明したように、図３における移動ベクトル補間処理部３１６が位置合わせ処理部３０９Ａでは省かれる点である。
【０１４３】
撮影装置１００Ａ、外部処理装置３５０は、以上に説明したような構成を有しており、撮影装置１００Ａが移動ベクトルの補正まで行い、以降の処理については外部処理装置３５０が行う。画像合成処理部３１０で生成された合成画像は、表示装置やプリンタ等の画像出力機器に出力される。
【０１４４】
第３の実施の形態においても、画像処理部３００Ａは専用のハードウェアロジックや特定用途向け集積回路（ＡＳＩＣ）で構成することが可能であるが、以下ではＣＰＵ１０９が上記の画像処理プログラムを解釈、実行することにより画像処理部３００Ａが構成されるものとして説明をする。
【０１４５】
画像処理部３００Ａにおいては、図１２に示されるフローチャート中の処理のうち、Ｓ１２００からＳ１２０８までの処理に相当する処理が行われる。そして、Ｓ１２１０およびＳ１２１２の処理に相当する処理は外部処理装置３５０で行われる。
【０１４６】
以上に説明したように、画像処理部３００Ａにおいては移動ベクトル補間の処理が行われないので、画像処理部３００Ａにおける処理負荷の軽減が可能となる。加えて、ＲＡＭ１０８Ａの記憶容量を節約することが可能となる。
【０１４７】
なお、第１、第２の実施の形態と同様に、図１２に示されるＳ１２０４における移動ベクトル導出処理、Ｓ１２０６における信頼性導出処理を、図１２に示されるのとは逆の順番で行うようにしてもよい。
【０１４８】
−  第４の実施の形態  −
第１から第３の実施の形態においては、基準画像に参照画像を重ね合わせるための位置合わせ処理をする都度、基準画像中の各テンプレートに対応して信頼性が導出される例について説明した。
【０１４９】
例えば、３枚の画像を位置合わせして重ね合わせる処理をする場合、一例として以下のような処理が、第１から第３の実施の形態では行われる。すなわち、一枚目の画像を基準画像とし、二枚目の画像を参照画像としたとき、一枚目の画像に基づいて信頼性が導出される。そして、一枚目、二枚目の画像をもとに移動ベクトルの補正や補間の処理が行われ、位置合わせ、合成の処理が行われる。次に、上記の合成された画像に基づいて新たに信頼性が導出される。そして上記の合成された画像と三枚目の画像とをもとに移動ベクトルの補正や補間の処理が行われ、位置合わせ、合成の処理が行われる。
【０１５０】
これに対して、第４の実施の形態においては、上記と同じく３枚の画像を位置合わせして重ね合わせる処理をする場合を例に説明すると、最初に３枚の画像のうちのいずれか１枚の画像をもとに信頼性が導出される。
【０１５１】
この画像は一枚目から三枚目の画像のうち、いずれであっても良い。撮影開始直後から画像処理が行われる場合には、一枚目の画像から信頼性を導出することが処理時間を短縮する上で望ましい。
【０１５２】
あるいは、一連の撮影が完了した後に画像処理が行われる場合、二枚目、すなわち一連の撮影で得られる複数枚の画像中、撮影開始タイミングと撮影完了タイミングとの中間のタイミング近傍で得られた画像とすることが望ましい。理由は、二枚目の画像が、一枚目、三枚目の画像に対して時間的に概ね等間隔のタイミングで撮影されているからである。それにより、一枚目の画像と二枚目の画像との差、二枚目の画像と三枚目の画像との差は、一枚目の画像と三枚目の画像との差よりも少ない、つまり画像の一致度が高いことが期待できるからである。
【０１５３】
そして、上述のように特定の１枚の画像をもとに導出された信頼性を、その後複数回行われる移動ベクトル修正の処理に際して共通して用いることにより、信頼性導出に係る処理負荷を低減することが可能となる。重ね合わせられる画像が４枚、５枚、…と増えるにつれて、この効果は顕著となる。
【０１５４】
図１８は、第４の実施の形態の画像処理部３００Ｂを有する撮影装置１００Ｂの構成を示すブロック図である。図１９は、位置合わせ処理部３０９Ｂの構成を示すブロック図である。図１８に示される撮影装置１００Ａが有する構成要素中、図２に示される撮影装置１００が有するものと同様の構成要素には同じ符号を付してその説明を省略する。同様に、図１９に示される位置合わせ処理部３０９Ｂが有する構成要素中、図３に示される位置合わせ処理部３０９が有するものと同様の構成要素には同じ符号を付してその説明を省略する。
【０１５５】
図１８を参照して、画像処理部３００Ｂは位置合わせ処理部３０９Ｂと画像合成処理部３１０とを有する。画像処理部３００Ｂは専用のハードウェアロジックや特定用途向け集積回路（ＡＳＩＣ）で構成することも可能であるが、以下ではＣＰＵ１０９が画像処理プログラムを解釈、実行することにより画像処理部３００Ｂが構成されるものとして説明をする。
【０１５６】
図１９を参照して、位置合わせ処理部３０９Ｂ内の信頼性導出部３１４Ａは、第１あるいは第２の実施の形態における信頼性導出部３１４と同様の処理を行い、画像中に設けられる複数のテンプレートのそれぞれに対応して信頼性を導出する。このとき、信頼性導出部３１４Ａは、先にも説明したように、予め定められた１枚の画像に対応して信頼性を導出する点が他の実施の形態のものと異なる。そして、その後複数回にわたって位置合わせのための一連の処理が行われる際に、信頼性導出部３１４Ａで導出された上記信頼性が共通して用いられる。
【０１５７】
位置合わせ処理部３０９Ｂからは、画素ごとの移動ベクトルが複数の参照画像のそれぞれに対応して出力される。画像合成処理部３１０は、画像データと画素ごとの移動ベクトルとをもとに画像合成の処理を行い、合成画像を生成する。
【０１５８】
画像合成のための一連の処理を行う画像処理プログラムを図２０および図２１に示す。図２０および図２１は、ＣＰＵ１０９で実行される信頼性導出処理および複数の画像を合成する処理の手順を概略的に示すフローチャートである。
【０１５９】
図２０のフローチャートを参照して信頼性導出の処理手順について説明する。図２０の処理は、上述したように、予め定められた１枚の画像に対して行われる処理である。Ｓ１２００においてＣＰＵ１０９は、移動ベクトル測定領域設定処理を行う。この処理は、図１２のＳ１２００における処理と同様の処理である。Ｓ２０００においてＣＰＵ１０９は、信頼性導出の処理を行う。この処理で導出される信頼性は、第１の実施の形態で説明した、高信頼性方向および低信頼性方向に沿う２軸方向の軸成分に分解されるものであってもよいし、第２の実施の形態で説明したＸ軸方向およびＹ軸方向に沿う２つの軸成分に分解されるものであってもよい。以上の処理を終えてＣＰＵ１０９は信頼性導出処理を完了する。
【０１６０】
図２１のフローチャートを参照して画像合成の処理について説明する。図２１に示されるフローチャート中、図１２に示される処理と同様の処理には、図１２での各処理ステップに付される符号と同じ符号を付してその詳細な説明を省略する。そして、図１２での処理との違いを中心に説明をする。
【０１６１】
図２１の処理においては、図１２の処理におけるＳ１２０６の処理が無い。その代わりに、例えば３回の画像合成処理が行われる場合、図２１の処理が３回行われる訳であるが、その際に図２０の処理によって得られた信頼性が図２１の処理を行う都度、一律に適用される。
【０１６２】
以上のように、第４の実施の形態では、予め定められた１枚の画像中のテンプレートに対応して信頼性を導出し、それを保持しておくので、位置合わせ、画像重ね合わせの処理を複数回にわたって行う場合に処理負荷を低減することが可能となる。すなわち、処理時間を短縮することが可能となる。これにより、一回の撮影を終えてから次の撮影が可能となるまでの待ち時間を短縮することが可能となる。また、連続撮影時における単位時間あたりの撮影可能コマ数（コマ速）を増すことが可能となる。また、複数の画像を合成する処理がパーソナルコンピュータ等、外部の処理装置で行われる場合には、画像の処理を開始してからモニタ表示装置等に画像が表示されるまでの待ち時間を短縮することが可能となる。
【０１６３】
ところで、第４の実施の形態の画像処理部３００Ｂで画像合成の処理が行われる場合、例えば被写体が人間で、一連の撮影動作中に腕や顔などが大きく動いてしまった場合、あるいは被写体が花で、一連の撮影動作中に風の影響で花が揺れてしまった場合等に望ましい処理結果が得られない可能性がある。
【０１６４】
例えば、信頼性導出のために用いた画像中のあるテンプレートには腕の一部の画像が含まれていて、二軸方向に信頼性が高いとの信頼性が付与されたとする。ところが、参照画像中における当該のテンプレートに対応する領域には腕の画像が含まれておらず、背景の無地の画像しか写っていなかったとする。
【０１６５】
このような場合、テンプレートマッチングで得られる動きベクトルの信頼性は、信頼性と必ずしも一致しない。このような状況に対処するためには、位置合わせ処理部を図２２に示されるような構成とすることが望ましい。図２２に示される位置合わせ処理部３０９Ｃが有する構成要素中、図３に示される位置合わせ処理部３０９が有するものと同様の構成要素には同じ符号を付してその説明を省略する。
【０１６６】
図２２に示される位置合わせ処理部３０９Ｃは、以下に説明する点で図１９に示される位置合わせ処理部３０９Ｂと異なる。すなわち、位置合わせ処理部３０９Ｃは、位置合わせ処理部３０９Ｂの移動ベクトル導出部３１３が移動ベクトル導出部３１３Ａに置き換えられ、妥当性検証部３１７をさらに有する。
【０１６７】
移動ベクトル導出部３１３Ａは、テンプレートマッチングの処理を行って移動ベクトルを導出するのに加えて、テンプレートマッチングの一致度を導出する処理を行う。つまり、基準画像内のテンプレートの画像要素と一致する画像要素を参照画像内で見出した後、テンプレートの画像要素と、テンプレートの画像要素に一致すると判定された画像要素との一致度を導出する。この一致度の導出は、公知の技術を利用可能である。
【０１６８】
妥当性検証部３１７は、移動ベクトル導出部３１３Ａで導出される一致度の情報に基づき、移動ベクトル導出部３１３Ａで導出される移動ベクトルの妥当性を検証する。つまり、予め定められた閾値よりも上記一致度が低い（一致度が比較的低い）場合には、求められた移動ベクトルの信頼性は低いと判定する。そして、現在、判定対象となっているテンプレートに対して付与されている信頼性が「２軸方向の軸成分双方の信頼性が高い」、「１軸方向の軸成分のみ信頼性が高い」といったものであっても、当該の信頼性を「２軸方向の軸成分双方の信頼性が低い」に変更する。つまり、妥当性検証部３１７は、移動ベクトル導出部３１３Ａで導出されるテンプレートマッチング処理結果の一致度をもとに、信頼性を必要に応じて補正する処理を行う。
【０１６９】
移動ベクトル補正処理部３１５Ａは、補正前の移動ベクトルと補正後の信頼性とに基づき、移動ベクトルを必要に応じて補正する処理を行う。
【０１７０】
図２３は、ＣＰＵ１０９で実行される画像合成処理の処理手順を概略的に示すフローチャートである。図２３に示されるフローチャート中、図１２に示される処理と同様の処理には、図１２での各処理ステップに付される符号と同じ符号を付してその詳細な説明を省略する。そして、図１２での処理との違いを中心に説明をする。
【０１７１】
図２３の画像合成処理においては、図１２の画像合成処理におけるＳ１２０６の処理（信頼性導出処理）が無い。その代わりに、例えば３回の画像合成処理が行われる場合、図２１の処理が３回行われる訳であるが、その際に図２０の処理によって得られた信頼性が図２１の処理を行う都度、一律に適用される。この点は図２１に示されるものと同様である。
【０１７２】
さらに、図２３の画像合成処理においては、図１２、あるいは図２１の画像合成処理におけるＳ１２０４の処理（移動ベクトル導出処理）がＳ１２０３の処理（移動ベクトル導出・一致度導出処理）に置き換えられ、Ｓ１２０５の処理（妥当性検証・信頼性補正処理）が追加される。
【０１７３】
Ｓ１２０３においてＣＰＵ１０９は、移動ベクトル導出および一致度導出の処理を行う。この処理は、図２２を参照して説明した移動ベクトル導出部３１３Ａでの処理に相当する。ＣＰＵ１０９はＳ１２０５において、妥当性検証および信頼性導出の処理を行う。この処理は、図２２を参照して説明した妥当性検証部３１７での処理に相当する。
【０１７４】
被写体が静物である場合、図１９から図２１を参照して説明した画像合成の処理を行うと効果的である。一方、被写体が動きを有するものである場合、図２２および図２３を参照して説明した画像合成の処理を行うことにより、より好ましい結果を得ることができる。
【０１７５】
以上、第４の実施の形態では、撮影装置１００Ｂが画像処理部３００Ｂを有するものとして説明をしたが、撮影装置１００Ｂとは別の外部処理装置内に画像処理部３００Ｂに相当するものを有していてもよい。あるいは、画像処理部３００Ｂが有する機能の一部を外部処理装置が有していてもよい。
【産業上の利用可能性】
【０１７６】
本発明に係る画像処理の技術は、デジタルスチルカメラ、デジタルムービーカメラなどに適用することが可能である。さらには、携帯電話、パーソナルコンピュータ、あるいは携帯情報端末装置などに組み込まれるカメラなどに適用することが可能である。
【符号の説明】
【０１７７】
１００、１００Ａ、１００Ｂ    撮影装置
１０４    光学系
１０５    撮像部
１０６    アナログフロントエンド（ＡＦＥ）
１０７    信号処理回路
１０８    記憶部
１０８Ａ    ＲＡＭ
１０８Ｂ    ＲＯＭ
１０９    ＣＰＵ
１１０    システムバス
３００、３００Ａ、３００Ｂ    画像処理部
３０９、３０９Ａ、３０９Ｂ、３０９Ｃ    位置合わせ処理部
３１０    画像合成処理部
３１１    移動ベクトル測定領域設定部
３１２    位置合わせ基準領域設定部
３１３、３１３Ａ    移動ベクトル導出部
３１４、３１４Ａ    信頼性導出部
３１５、３１５Ａ    移動ベクトル補正処理部
３１６    移動ベクトル補間処理部
３１７    妥当性検証部
３５０    外部処理装置
ＭＶ１、ＭＶ２、ＭＶ３、ＭＶ４    移動ベクトル
【図２】
2011182084.tif 000005
【図３】
2011182084.tif 000006
【図４】
2011182084.tif 000007
【図５】
2011182084.tif 000008
【図６】
2011182084.tif 000009
【図７】
2011182084.tif 000010
【図８】
2011182084.tif 000011
【図９】
2011182084.tif 000012
【図１０】
2011182084.tif 000013
【図１１】
2011182084.tif 000014
【図１２】
2011182084.tif 000015
【図１３】
2011182084.tif 000016
【図１４】
2011182084.tif 000017
【図１５】
2011182084.tif 000018
【図１６】
2011182084.tif 000019
【図１７】
2011182084.tif 000020
【図１８】
2011182084.tif 000021
【図１９】
2011182084.tif 000022
【図２０】
2011182084.tif 000023
【図２１】
2011182084.tif 000024
【図２２】
2011182084.tif 000025
【図２３】
2011182084.tif 000026
【図１】
2011182084.tif 000027