(57)【要約】【課題】基準画像と対象画像との位置合わせを精度良く行う。【解決手段】撮像装置１００は、連続して撮像された複数の画像のうち、基準画像に対する対象画像におけるテンプレートの探索領域を対象画像の縁部の外側に出ないように限定するとともに、基準画像の着目テンプレートの内側に隣接して存する内側隣接テンプレートの内側動きベクトルを着目テンプレートの動きベクトルとして適用して、当該着目テンプレートの画素が対象画像の縁部の外側に存する場合に、当該着目テンプレートの動きベクトルを用いないで基準画像と対象画像との位置合わせを行って画像合成を行う処理を行うＣＰＵ７１を備える。【選択図】      図１
2011233168.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記動きベクトル算出手段は、前記探索領域のうち前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートについては限定された探索領域内で前記テンプレートを探索して動きベクトルを算出する手段を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置合わせ手段は、前記外側判定手段により前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記位置合わせ手段は、前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴とする請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
前記位置合わせ手段は、前記基準画像と前記対象画像との画像合成を行う画像合成手段を含むことを特徴とする請求項１〜４の何れか一項に記載の画像処理装置。
【請求項６】
前記はみ出し判定手段により前記探索領域が前記対象画像の縁部の外側にはみ出すと判定された場合に、前記探索領域を前記対象画像の縁部の外側に出ないように調整する探索領域調整手段を備え、
前記動きベクトル算出手段は、前記探索領域調整手段により調整された探索領域内で前記テンプレートを探索して動きベクトルを算出することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する第１の動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する第２の動きベクトル算出手段と、
前記第２の動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
【請求項８】
前記位置合わせ手段は、前記第１の動きベクトル算出手段により算出された前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴とする請求項７記載の画像処理装置。
【請求項９】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートの動きベクトルと、当該一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルとの差が所定の値以上であるか否かを判定する差判定手段と、
前記差判定手段により前記動きベクトルと前記内側動きベクトルとの差が所定の値以上であると判定された場合に、前記動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
前記位置合わせ手段は、前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された当該テンプレートの動きベクトルと、前記差判定手段により前記動きベクトルと前記内側動きベクトルとの差が所定の値以上でないと判定された当該一のテンプレートの動きベクトルとを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
複数の画像のうち、何れか一の基準画像と当該基準画像に対する対象画像の解像度を段階的に低減させて基準低解像度画像及び対象低解像度画像を作成する低解像度画像作成手段と、
前記低解像度画像作成手段により作成された所定段階の前記対象低解像度画像において、前記基準低解像度画像の複数のテンプレートの探索領域が前記対象低解像度画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する探索領域設定手段と、
を備えることを特徴とする画像処理装置。
【請求項１２】
前記探索領域設定手段は、前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における探索領域を設定する手段を含むことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記動きベクトル算出手段は、前記探索領域のうち前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートについては限定された探索領域内で前記テンプレートを探索して動きベクトルを算出する手段を含むことを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
前記はみ出し判定手段は、前記探索領域設定手段により設定された前記探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する手段を含み、
前記動きベクトル算出手段は、前記探索領域設定手段により設定された探索領域で前記テンプレートを探索して動きベクトルを算出する手段を含み、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする請求項１２に記載の画像処理装置。
【請求項１５】
前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象低解像度画像の縁部の外側に存するか否かを判定する外側判定手段とを備え、
前記探索領域設定手段は、前記外側判定手段により前記対象低解像度画像の縁部の外側に存すると判定された場合に、前記内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する手段を含むことを特徴とする請求項１１〜１３の何れか一項に記載の画像処理装置。
【請求項１６】
前記探索領域設定手段は、前記外側判定手段により前記対象低解像度画像の縁部の外側に存すると判定されない前記一のテンプレートの動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における探索領域を設定する手段を含むことを特徴とする請求項１５記載の画像処理装置。
【請求項１７】
前記探索領域設定手段は、前記内側テンプレートの内側動きベクトルに基づいて前記対象画像に設定する探索領域を、前記内側テンプレートの内側動きベクトル以外の動きベクトルに基づいて前記対象画像に設定する探索領域よりも大きくすることを特徴とする請求項１１〜１６の何れか一項に記載の画像処理装置。
【請求項１８】
画像処理装置に、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴とするプログラム。
【請求項１９】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する機能と、
算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴とするプログラム。
【請求項２０】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートの動きベクトルと、当該一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルとの差が所定の値以上であるか否かを判定する機能と、
前記動きベクトルと前記内側動きベクトルとの差が所定の値以上であると判定された場合に、前記動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴とするプログラム。
【請求項２１】
複数の画像のうち、何れか一の基準画像と当該基準画像に対する対象画像の解像度を段階的に低減させて基準低解像度画像及び対象低解像度画像を作成する機能と、
作成された所定段階の前記対象低解像度画像において、前記基準低解像度画像の複数のテンプレートの探索領域が前記対象低解像度画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つの画像間の特徴点対応処理を行う画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
連続する複数の画像のうち、何れか一の基準画像と対象画像の二つの画像についてテンプレートマッチングを行う場合、先ず、基準画像から所定数のテンプレート領域を設定する。そして、これらのテンプレート領域が、対象画像のどこに対応するか、テンプレート内の画素値が最適にマッチする位置を探索する。
そして、探索の結果、得られた基準画像と対象画像の間のオフセットは、動きベクトル、フローベクトルなどと呼ばれる。これらの動きベクトルを総合すれば、基準画像と対象画像の間の位置合わせ処理などが可能になる。
なお、このテンプレートは、単に所定位置のブロックである場合や、特徴抽出処理にて選ばれた特徴の高い領域である場合もある。
【０００３】
上記の技術を用いて、基準画像と対象画像の間の位置合わせ処理を行い、二つの画像を重ね合わせたとき、しばしば、画面の中心付近ではぴったりと合っているが、周縁部ではずれが目立つことがある。
この理由としては、歪曲収差などの光学的要因による歪みが周縁部で大きくなることや、周縁部のテンプレートでは探索領域が画像境界をはみ出してしまうことが挙げられる。
【０００４】
光学的要因による歪みについては、画像処理による補正によって改善することができるが、探索領域が画像境界をはみ出してしまうことを防止するために、そもそも周縁部からテンプレートをとらない方法が提案されている。
しかしながら、上記方法の場合、信頼性の低いテンプレート対応を含まない点では有効であるが、周縁部の位置合わせの精度が低下してしまうといった問題がある。
そこで、画像境界外の画像を外挿する、即ち、境界画素値をコピーして延長する方法が開発されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−７５９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の場合、画像圧縮処理では有効であるが、基準画像と対象画像との位置合わせ目的では、実世界の動きに一致しない動きベクトルが混入してしまうため、信頼性が低下してしまうといった問題がある。
【０００７】
そこで、本発明の課題は、基準画像と対象画像との位置合わせを精度良く行うことができる画像処理装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【０００９】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記動きベクトル算出手段は、前記探索領域のうち前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートについては限定された探索領域内で前記テンプレートを探索して動きベクトルを算出する手段を含むことを特徴としている。
【００１０】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記位置合わせ手段は、前記外側判定手段により前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行うことを特徴としている。
【００１１】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載の画像処理装置において、
前記位置合わせ手段は、前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴としている。
【００１２】
請求項５に記載の発明は、請求項１〜４の何れか一項に記載の画像処理装置において、
前記位置合わせ手段は、前記基準画像と前記対象画像との画像合成を行う画像合成手段を含むことを特徴としている。
【００１３】
請求項６に記載の発明は、請求項２に記載の画像処理装置において、
前記はみ出し判定手段により前記探索領域が前記対象画像の縁部の外側にはみ出すと判定された場合に、前記探索領域を前記対象画像の縁部の外側に出ないように調整する探索領域調整手段を備え、
前記動きベクトル算出手段は、前記探索領域調整手段により調整された探索領域内で前記テンプレートを探索して動きベクトルを算出することを特徴としている。
【００１４】
請求項７に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する第１の動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する第２の動きベクトル算出手段と、
前記第２の動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【００１５】
請求項８に記載の発明は、請求項７記載の画像処理装置において、
前記位置合わせ手段は、前記第１の動きベクトル算出手段により算出された前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴としている。
【００１６】
請求項９に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートの動きベクトルと、当該一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルとの差が所定の値以上であるか否かを判定する差判定手段と、
前記差判定手段により前記動きベクトルと前記内側動きベクトルとの差が所定の値以上であると判定された場合に、前記動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【００１７】
請求項１０に記載の発明は、請求項９に記載の画像処理装置において、
前記位置合わせ手段は、前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された当該テンプレートの動きベクトルと、前記差判定手段により前記動きベクトルと前記内側動きベクトルとの差が所定の値以上でないと判定された当該一のテンプレートの動きベクトルとを用いて前記基準画像と前記対象画像との位置合わせを行う手段を含むことを特徴としている。
【００１８】
請求項１１に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像と当該基準画像に対する対象画像の解像度を段階的に低減させて基準低解像度画像及び対象低解像度画像を作成する低解像度画像作成手段と、
前記低解像度画像作成手段により作成された所定段階の前記対象低解像度画像において、前記基準低解像度画像の複数のテンプレートの探索領域が前記対象低解像度画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する探索領域設定手段と、
を備えることを特徴としている。
【００１９】
請求項１２に記載の発明は、請求項１１に記載の画像処理装置において、
前記探索領域設定手段は、前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における探索領域を設定する手段を含むことを特徴としている。
【００２０】
請求項１３に記載の発明は、請求項１１又は１２に記載の画像処理装置において、
前記動きベクトル算出手段は、前記探索領域のうち前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートについては限定された探索領域内で前記テンプレートを探索して動きベクトルを算出する手段を含むことを特徴としている。
【００２１】
請求項１４に記載の発明は、請求項１２に記載の画像処理装置において、
前記はみ出し判定手段は、前記探索領域設定手段により設定された前記探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する手段を含み、
前記動きベクトル算出手段は、前記探索領域設定手段により設定された探索領域で前記テンプレートを探索して動きベクトルを算出する手段を含み、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【００２２】
請求項１５に記載の発明は、請求項１１〜１３の何れか一項に記載の画像処理装置において、
前記はみ出し判定手段により前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象低解像度画像の縁部の外側に存するか否かを判定する外側判定手段とを備え、
前記探索領域設定手段は、前記外側判定手段により前記対象低解像度画像の縁部の外側に存すると判定された場合に、前記内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する手段を含むことを特徴としている。
【００２３】
請求項１６に記載の発明は、請求項１５記載の画像処理装置において、
前記探索領域設定手段は、前記外側判定手段により前記対象低解像度画像の縁部の外側に存すると判定されない前記一のテンプレートの動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における探索領域を設定する手段を含むことを特徴としている。
【００２４】
請求項１７に記載の発明は、請求項１１〜１６の何れか一項に記載の画像処理装置において、
前記探索領域設定手段は、前記内側テンプレートの内側動きベクトルに基づいて前記対象画像に設定する探索領域を、前記内側テンプレートの内側動きベクトル以外の動きベクトルに基づいて前記対象画像に設定する探索領域よりも大きくすることを特徴としている。
【００２５】
請求項１８に記載の発明のプログラムは、
画像処理装置に、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存すると判定された場合に、前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴としている。
【００２６】
請求項１９に記載の発明のプログラムは、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する機能と、
算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴としている。
【００２７】
請求項２０に記載の発明のプログラムは、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートの動きベクトルと、当該一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルとの差が所定の値以上であるか否かを判定する機能と、
前記動きベクトルと前記内側動きベクトルとの差が所定の値以上であると判定された場合に、前記動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いないで前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴としている。
【００２８】
請求項２１に記載の発明のプログラムは、
複数の画像のうち、何れか一の基準画像と当該基準画像に対する対象画像の解像度を段階的に低減させて基準低解像度画像及び対象低解像度画像を作成する機能と、
作成された所定段階の前記対象低解像度画像において、前記基準低解像度画像の複数のテンプレートの探索領域が前記対象低解像度画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象低解像度画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルに基づいて、前記対象低解像度画像よりも解像度の高い対象画像における前記一のテンプレートの探索領域を設定する機能と、
を実現させることを特徴としている。
【発明の効果】
【００２９】
本発明によれば、基準画像と対象画像との周縁部の有効な対応情報を捨てることなく利用することができ、基準画像と対象画像との位置合わせを精度良く行うことができる。
【図面の簡単な説明】
【００３０】
【図１】本発明を適用した実施形態１の撮像装置の概略構成を示すブロック図である。
【図２】図１の撮像装置による特徴点対応処理に係るテンプレート構造体を説明するための図である。
【図３】図２の特徴点対応処理の探索領域調整処理を説明するための図である。
【図４】図２の特徴点対応処理の動きベクトル適用処理を説明するための図である。
【図５】図２の特徴点対応処理に係る動作の一例を示すフローチャートである。
【図６】変形例１の撮像装置の概略構成を示すブロック図である。
【図７】本発明を適用した実施形態２の撮像装置の概略構成を示すブロック図である。
【図８】図７の撮像装置による特徴点対応処理の低解像度画像作成処理を説明するための図である。
【図９】図７の特徴点対応処理に係る動作の一例を示すフローチャートである。
【図１０】図９の特徴点対応処理の続きを示す図である。
【発明を実施するための形態】
【００３１】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
【００３２】
［実施形態１］
図１は、本発明を適用した実施形態１の撮像装置１００の概略構成を示すブロック図である。
実施形態１の撮像装置（画像処理装置）１００は、例えば、画像を連続して撮像し、当該複数の画像に対する位置合わせ処理を行って合成するものであり、基準画像に対する対象画像ＧにおけるテンプレートＴの探索領域Ｒを対象画像Ｇの縁部の外側に出ないように限定（制限）するとともに、内側隣接テンプレートＴｂの内側動きベクトルＭｂを着目テンプレートＴａの動きベクトルとして適用して、当該着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存する場合に、当該着目テンプレートＴａの動きベクトルを用いないで基準画像と対象画像Ｇとの画像合成を行うものである。
【００３３】
具体的には、撮像装置１００は、例えば、図１に示すように、撮像部１と、撮像補助部２と、表示部３、操作部４と、記録媒体５と、ＵＳＢ端子６と、制御部７等を備えて構成されている。
【００３４】
撮像部１は、静止画像や動画像を撮像する。具体的には、撮像部１は、撮像レンズ群１１と、電子撮像部１２と、映像信号処理部１３と、画像メモリ１４と、撮影制御部１５等を備えている。
【００３５】
撮像レンズ群１１は、フォーカス機能及びズーム機能を有し、複数の撮像レンズから構成されている。
電子撮像部１２は、撮像レンズ群１１を通過した被写体像を二次元の画像信号に変換するＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等から構成されている。
映像信号処理部１３は、電子撮像部１２から出力される画像信号に対して所定の画像処理を施すものである。
画像メモリ１４は、画像処理後の画像信号を一時的に記憶する。
撮影制御部１５は、ＣＰＵ７１の制御下にて、電子撮像部１２及び映像信号処理部１３を制御する。
【００３６】
撮像補助部２は、撮像部１による被写体の撮像の際に駆動するものであり、例えば、フォーカス駆動部２１と、ズーム駆動部２２等を備えている。
【００３７】
フォーカス駆動部２１は、撮像レンズ群１１に接続されたフォーカス機構部（図示略）を駆動させる。
ズーム駆動部２２は、撮像レンズ群１１に接続されたズーム機構部（図示略）を駆動させる。
なお、フォーカス駆動部２１及びズーム駆動部２２は、撮影制御部１５に接続され、撮影制御部１５の制御下にて駆動する。
【００３８】
表示部３は、撮像部１により撮像された画像を表示するものであり、例えば、表示制御部３１と、画像表示部３２等を備えている。
表示制御部３１は、ＣＰＵ７１から適宜出力される表示データを一時的に保存するビデオメモリ（図示略）を備えている。
画像表示部３２は、表示制御部３１からの出力信号に基づいて所定の画像を表示する液晶モニタ等を備えている。
【００３９】
操作部４は、当該撮像装置１００の所定操作を行うためのものであり、例えば、シャッターボタン４１ａ等の各種操作スイッチ等を備える操作入力部４１と、入力回路４２等を備えている。
【００４０】
シャッターボタン４１ａは、撮像部１による被写体の撮像を指示する。
入力回路４２は、操作入力部４１から入力された操作信号をＣＰＵ７１に入力するためのものである。
【００４１】
記録媒体５は、例えば、カード型の不揮発性メモリ（フラッシュメモリ）やハードディスク等により構成され、画像記憶手段として、撮像部１により撮像された画像の画像ファイルＧを複数記憶する。
【００４２】
ＵＳＢ端子６は、外部機器（図示略）との接続用の端子であり、ＵＳＢケーブル（図示略）等を介してデータの送受信を行う。
【００４３】
制御部７は、撮像装置１００の各部を制御するものであり、例えば、ＣＰＵ７１と、プログラムメモリ７２と、データメモリ７３等を備えている。
【００４４】
ＣＰＵ７１は、プログラムメモリ７２に記憶された撮像装置１００用の各種処理プログラムに従って各種の制御動作を行うものである。
【００４５】
データメモリ７３は、例えば、フラッシュメモリ等により構成され、ＣＰＵ７１によって処理されるデータ等を一時記憶する。
【００４６】
具体的には、データメモリ７３には、テンプレート構造体が記憶されている。
テンプレート構造体は、図２に示すように、テンプレート関連の属性を規定するものであり、「基準画像でのｘ座標」、「基準画像でのｙ座標」、「動きベクトルのｘ成分」、「動きベクトルのｙ成分」、「限定フラグ」、「無効フラグ」等のフィールドを具備している。
【００４７】
「基準画像でのｘ座標」は、変数名を「ｘｒ」として数値で表される。
「基準画像でのｙ座標」は、変数名を「ｙｒ」として数値で表される。
「動きベクトルのｘ成分」は、変数名を「ｘｏ」として数値で表され、初期値は「０」に設定されている。
「動きベクトルのｙ成分」は、変数名を「ｙｏ」として数値で表され、初期値は「０」に設定されている。
「限定フラグ」は、「Ｔｒｕｅ」や「Ｆａｌｓｅ」といった真偽値で表され、初期値は「Ｆａｌｓｅ」に設定されている。
「無効フラグ」は、「Ｔｒｕｅ」や「Ｆａｌｓｅ」といった真偽値で表され、初期値は「Ｆａｌｓｅ」に設定されている。
【００４８】
上記のテンプレート構造体は、メモリに配列として記憶されている。
【００４９】
プログラムメモリ７２は、ＣＰＵ７１の動作に必要な各種プログラムやデータを記憶するものであり、具体的には、抽出プログラム７２ａ、探索領域設定プログラム７２ｂ、探索領域調整プログラム７２ｃ、動きベクトル算出プログラム７２ｄ、動きベクトル適用プログラム７２ｅ、外側判定プログラム７２ｆ、画像合成プログラム７２ｇ、位置合わせプログラム７２ｌ等を記憶している。
【００５０】
抽出プログラム７２ａは、ＣＰＵ７１を抽出手段として機能させるものである。即ち、抽出プログラム７２ａは、撮像部１により撮像された連続する複数の画像のうち、何れか一の画像を基準画像として、当該基準画像からテンプレートＴを複数抽出する抽出処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による抽出プログラム７２ａの実行に基づいて、基準画像から特徴点、即ち、特徴の強い領域をテンプレートＴ１、Ｔ２（例えば、９×９画素の正方形）として所定個数選択して抽出する（図３（ａ）参照）。
なお、抽出された各テンプレートＴ１、Ｔ２の中心座標（ｘｒ，ｙｒ）をテンプレート構造体の基準画像での座標として保持する（図２参照）。
【００５１】
探索領域設定プログラム７２ｂは、ＣＰＵ７１を探索領域設定手段として機能させるものである。具体的には、ＣＰＵ７１による探索領域設定プログラム７２ｂの実行に基づいて、基準画像に対する対象画像ＧにおけるテンプレートＴ１、Ｔ２の探索領域Ｒを対象画像Ｇにおいて、探索中心座標を基準画像のテンプレート座標（ｘｒ，ｙｒ）にテンプレート構造体の動きベクトル値（（ｘｏ，ｙｏ）、例えば、初期値（０，０）；図２参照）によってオフセットした座標として、探索領域Ｒをｘ成分につき「−１５〜＋１５」、ｙ成分につき「−１５〜＋１５」というように設定する処理を行う。
即ち、対象画像Ｇにおいて、探索に必要とされる画素は、左上端の座標を（ｘｒ＋ｘｏ−４−１５，ｙｒ＋ｙｏ−４−１５）及び右下端の座標を（ｘｒ＋ｘｏ＋４＋１５，ｙｒ＋ｙｏ＋４＋１５）とする矩形の画素領域（Ｒ１）である。なお、±４は、テンプレート寸法の半分を規定している（図３（ｂ）参照）。
【００５２】
探索領域調整プログラム７２ｃは、ＣＰＵ７１を探索領域調整手段として機能させるものである。即ち、探索領域調整プログラム７２ｃは、複数の画像のうち、基準画像に対する対象画像ＧにおけるテンプレートＴの探索領域Ｒによる必要画素領域を対象画像Ｇの縁部の外側に出ないように調整する探索領域調整処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、テンプレートＴ２の場所により必要画素が対象画像Ｇの境界からはみ出してしまう探索領域Ｒ２について、ＣＰＵ７１は、探索領域調整プログラム７２ｃの実行に基づいて、対象画像Ｇの縁部の外側に出ないように、テンプレートの移動する探索領域Ｒから境界外の必要画素を含む範囲を除いた矩形範囲に限定（調整）する探索領域調整処理を行う（図３（ｃ）参照）。
なお、図３（ｃ）にあっては、探索領域Ｒ２の限定されたものを探索領域Ｑ２として表す。
【００５３】
動きベクトル算出プログラム７２ｄは、ＣＰＵ７１を動きベクトル算出手段として機能させるものである。即ち、動きベクトル算出プログラム７２ｄは、探索領域調整処理にて限定された探索領域Ｒ内で、抽出処理にて抽出されたテンプレートＴを探索して動きベクトルを算出する動きベクトル算出処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による動きベクトル算出プログラム７２ｄの実行に基づいて、全ての探索領域Ｒ内でテンプレートマッチングを行って、探索の結果、最もマッチングの良いオフセットを動きベクトルとして算出する。
【００５４】
動きベクトル適用プログラム７２ｅは、ＣＰＵ７１を動きベクトル適用手段として機能させるものである。即ち、動きベクトル適用プログラム７２ｅは、動きベクトル算出処理にて算出された着目テンプレートＴａよりも内側に隣接して存する内側隣接テンプレートＴｂの内側動きベクトルＭｂを着目テンプレートＴａの動きベクトルとして適用する動きベクトル適用処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による動きベクトル適用プログラム７２ｅの実行に基づいて、限定フラグの立っている着目テンプレートＴａ、Ｔｃ（図４参照）に関して、当該着目テンプレートＴａ、Ｔｃから一定距離以内にあり、且つ、限定フラグの立っていないテンプレート（内側隣接テンプレート）Ｔｂ、Ｔｄを検索して、当該内側隣接テンプレートＴｂ、Ｔｄに係る内側動きベクトル（ｘｏ’，ｙｏ’）を着目テンプレートＴａ、Ｔｃの動きベクトルとして適用する。例えば、図４に示すように、着目テンプレートＴａの動きベクトルＭａの代わりに、内側隣接テンプレートＴｂの動きベクトルＭｂを適用するとともに、着目テンプレートＴｃの動きベクトルＭｃの代わりに、内側隣接テンプレートＴｄの動きベクトルＭｄを適用する。
なお、本実施形態にあっては、内側隣接テンプレートＴｂは、例えば一つ見つかれば良いが、複数存在する場合には、その全てに関して検索するようにしても良い。
また、一つも見つからない場合には、無効フラグを立てるようになっている。
【００５５】
外側判定プログラム７２ｆは、ＣＰＵ７１を外側判定手段として機能させるものである。即ち、外側判定プログラム７２ｆの実行に基づいて、動きベクトル適用処理にて内側動きベクトルＭｂが適用された着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存するか否かを判定する外側判定処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による外側判定プログラム７２ｆの実行に基づいて、内側動きベクトル（ｘｏ’，ｙｏ’）が適用された着目テンプレートＴａの左上端の座標（ｘｒ＋ｘｏ’−４，ｙｒ＋ｙｏ’−４）及び右下端の座標（ｘｒ＋ｘｏ’＋４，ｙｒ＋ｙｏ’＋４）がともに画像境界内に収まっているか否かを判定する。
【００５６】
位置合わせプログラム７２ｌは、ＣＰＵ７１を位置合わせ手段として機能させるものである。即ち、位置合わせプログラム７２ｌは、外側判定処理にて着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存すると判定された場合に、動きベクトル算出処理にて算出された着目テンプレートＴａの動きベクトルを用いないで基準画像と対象画像Ｇとの位置合わせ（位置ずれの補正）を行う処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による位置合わせプログラム７２ｌの実行に基づいて、内側動きベクトル（ｘｏ’，ｙｏ’）が適用された着目テンプレートＴａの左上端（ｘｒ＋ｘｏ’−４，ｙｒ＋ｙｏ’−４）及び右下端（ｘｒ＋ｘｏ’＋４，ｙｒ＋ｙｏ’＋４）の少なくとも何れか一方が対象画像Ｇの境界内に収まっていないテンプレートＴを除外して位置合わせ処理を行う。
なお、位置合わせの方法としては、撮像部１による連続撮影中において動きベクトル算出処理により算出された動きベクトルに基づいて撮像レンズ群１１に含まれている補正用レンズ又は電子撮像部１２を光軸方向と直交する方向に移動（シフト）させることにより位置合わせを行う方法や、動きベクトル算出処理により算出された動きベクトルに基づいて撮像部１により撮像された連続する複数の画像に対する切り取り範囲（トリミング範囲）を変更することにより位置合わせを行う方法がある。
【００５７】
画像合成プログラム７２ｇは、ＣＰＵ７１を画像合成手段として機能させるものである。即ち、画像合成プログラム７２ｇは、位置合わせ処理にて位置合わせが行われた基準画像と対象画像Ｇとの画像合成を行う画像合成処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
【００５８】
次に、図５を参照して特徴点対応処理について説明する。
図５に示すように、先ず、ＣＰＵ７１は、プログラムメモリ７２から抽出プログラム７２ａを読み出して実行して、基準画像から特徴の強い領域をテンプレートＴとして所定個数選択して抽出する抽出処理を実行する（ステップＳ１）。ここで、各テンプレートＴの中心の座標をテンプレート構造体の基準画像での座標として保持する。
【００５９】
次に、ＣＰＵ７１は、テンプレート構造体の限定フラグ及び無効フラグを初期化、即ち、「Ｆａｌｓｅ」とする（ステップＳ２）。
【００６０】
続けて、抽出処理にて選択された各テンプレートＴについて、探索領域Ｒの設定及び限定、動きベクトルの算出をループ（ループ１）により処理する（ステップＳ３１〜ステップＳ３６）。
【００６１】
先ず、ＣＰＵ７１は、プログラムメモリ７２から探索領域設定プログラム７２ｂを読み出して実行して、対象画像Ｇにおいてある１つのテンプレートＴについて４隅を所定の座標とする略矩形の探索領域Ｒ１、Ｒ２を設定した後、プログラムメモリ７２から探索領域調整プログラム７２ｃを読み出して実行して、設定した探索領域Ｒが対象画像Ｇの縁部の外側にはみ出してしまう探索領域Ｒ２である場合にのみ、対象画像Ｇの縁部の外側に出ないように探索領域Ｒ２を限定して、探索領域Ｑ２とする探索領域調整処理を行う（ステップＳ３２）。
ここで、探索領域Ｑ２が限定された場合には（ステップＳ３３；ＹＥＳ）、ＣＰＵ７１は、テンプレート構造体の限定フラグを立てて、「Ｔｒｕｅ」とする（ステップＳ３４）。
【００６２】
その後、ＣＰＵ７１は、プログラムメモリ７２から動きベクトル算出プログラム７２ｄを読み出して実行して、探索領域Ｒが限定されたか否かに関係なく探索領域Ｒ１、Ｑ２内でテンプレートマッチングを行って、探索の結果、最もマッチングの良いオフセットを動きベクトルとして算出する（ステップＳ３５）。
ループ１による処理（ステップＳ３１〜ステップＳ３６）をテンプレートＴの個数分だけ繰り返し実行することにより、全てのテンプレートＴについて動きベクトルが算出されると、ループ１を終了する（ステップＳ３６）。
【００６３】
次に、限定フラグの立っているテンプレートＴに関して、算出された動きベクトルの有効性をループ（ループ２）により処理する（ステップＳ４１〜Ｓ４６）。
【００６４】
先ず、ＣＰＵ７１は、ある１つのテンプレート構造体について限定フラグを参照して、限定フラグが立っているか否かを判定する（ステップＳ４２）。
ここで、限定フラグが立っている、即ち、限定フラグが「Ｔｒｕｅ」であるテンプレート（着目テンプレートＴａ、Ｔｃ）について、ＣＰＵ７１は、当該テンプレートＴから一定距離以内にあり、且つ、限定フラグの立っていない内側隣接テンプレートＴｂを検索する（ステップＳ４３）。続けて、ＣＰＵ７１は、プログラムメモリ７２から動きベクトル適用プログラム７２ｅを読み出して実行して、内側隣接テンプレートＴｂの内側動きベクトルＭｂを着目テンプレートＴａの動きベクトルとして適用し、さらに、プログラムメモリ７２から外側判定プログラム７２ｆを読み出して実行して、内側動きベクトルＭｂが適用された着目テンプレートＴａ、Ｔｃの有効性、即ち、当該着目テンプレートＴａ、Ｔｃの画素が対象画像Ｇの縁部の外側に存するか否かを判定する（ステップＳ４４）。
ここで、着目テンプレートＴａ、Ｔｃの画素が対象画像Ｇの縁部の外側に存する、即ち、着目テンプレートＴａ、Ｔｃは有効ではない（無効）と判定された場合（ステップＳ４４；無効）、ＣＰＵ７１は、テンプレート構造体の無効フラグを立てて、「Ｔｒｕｅ」として（ステップＳ４５）、ループ（ループ２）処理を終了する（ステップＳ４６）。
一方、着目テンプレートＴａ、Ｔｃの画素が対象画像Ｇの縁部の外側に存しない、即ち、着目テンプレートＴａ、Ｔｃは有効であると判定された場合（ステップＳ４４；有効）、ＣＰＵ７１は、ループ（ループ２）処理を終了する（ステップＳ４６）。
【００６５】
ループ２による処理（ステップＳ４１〜ステップＳ４６）をテンプレートＴの個数分だけ繰り返し実行することにより得られた全てのテンプレートＴの処理結果は、無効フラグの立っていないテンプレートＴの探索結果（画像対応）が、すべて有効と考えられ、ＣＰＵ７１による位置合わせプログラム７２ｌの実行に基づいて行われる基準画像と対象画像Ｇとの位置合わせ処理や、ＣＰＵ７１による画像合成プログラム７２ｇの実行に基づいて行われる基準画像と対象画像Ｇとの画像合成処理等に利用することができる。
【００６６】
以上のように、実施形態１の撮像装置１００によれば、基準画像に対する対象画像ＧにおけるテンプレートＴの探索領域Ｒが対象画像Ｇの縁部の外側にはみ出すと判定された場合に、当該探索領域Ｒを対象画像Ｇの縁部の外側に出ないように限定するとともに、探索領域Ｒが限定された着目テンプレートＴａの動きベクトルと相関性の高い内側隣接テンプレートＴｂの内側動きベクトルＭｂを当該着目テンプレートＴａの動きベクトルとして適用して、着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存する場合に当該着目テンプレートＴａの動きベクトルを用いないで、つまり、着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存しない場合に当該着目テンプレートＴａの動きベクトルを用いて基準画像と対象画像Ｇとの位置合わせや画像合成を行うことができる。
従って、基準画像と対象画像Ｇとの周縁部の大域的な相関性の高い有効な対応情報を捨てることなく利用することができ、基準画像と対象画像Ｇとの位置合わせを精度良く行うことができる。
【００６７】
なお、上記実施形態１にあっては、ループ１にて予め探索領域Ｒを限定するようにしたが、これに限られるものではなく、例えば、テンプレートマッチングを行う際に、対象画像Ｇの画素値を取得するときに対象画像Ｇの境界の内側か否かを判定して、境界外の場合には、その探索された動きベクトルの評価をせずに、限定フラグをたてるようにしても良い。
即ち、プログラムメモリ７２に、ＣＰＵ７１をはみ出し判定手段として機能させるはみ出し判定プログラム（図示略）を記憶して、ＣＰＵ７１によるはみ出し判定プログラムの実行に基づいて、複数の画像のうち、基準画像に対する対象画像ＧにおけるテンプレートＴの探索領域Ｒが対象画像Ｇの縁部の外側にはみ出すか否かを判定するはみ出し判定処理を実行する。そして、はみ出し判定処理にて、探索領域Ｒが対象画像Ｇの縁部の外側にはみ出すと判定された場合に、ＣＰＵ７１による探索領域調整プログラム７２ｃの実行に基づいて、探索領域Ｒを対象画像Ｇの縁部の外側に出ないように調整するようにしても良い。
【００６８】
また、上記実施形態１にあっては、基準画像から複数のテンプレートＴを抽出する処理を行うようにしたが、これに限られるものではなく、例えば、画像圧縮処理にて用いられるような所定のブロック群をテンプレートＴとみなすようにしても良い。
【００６９】
さらに、上記実施形態１にあっては、ループ１にて、対象画像Ｇの縁部の外側にはみ出してしまう全ての探索領域Ｒについて探索領域Ｒを限定し、限定した探索領域Ｒ内でテンプレートマッチングを行って動きベクトルとして算出するようにしたが、以下のようにしても良い。
つまり、対象画像Ｇの縁部の外側にはみ出してしまう探索領域Ｒが設定されてしまうテンプレートＴについては、ループ１におけるステップＳ３２の処理（探索領域設定処理、探索領域調整処理）とステップＳ３５の処理（動きベクトル算出処理）を行う前に、探索領域対象画像Ｇの縁部の外側にはみ出してしまう探索領域Ｒが設定されてしまう着目テンプレートＴａよりも内側の内側隣接テンプレートＴｂの内側動きベクトルＭｂを着目テンプレートＴａの動きベクトルとして適用して、当該着目テンプレートＴａの画素が対象画像Ｇの縁部の外側に存するか否かを判定して、対象画像Ｇの縁部の内側に存すると判定された着目テンプレートＴａについてのみ、ループ１におけるステップＳ３２の処理（探索領域設定処理、探索領域調整処理）とステップＳ３５の処理（動きベクトル算出処理）を行って、基準画像と対象画像Ｇとの位置合わせに用いるようにしても良い。
【００７０】
＜変形例１＞
以下に、変形例１の撮像装置２００について図６を参照して説明する。
図６に示すように、変形例１の撮像装置２００は、プログラムメモリ７２に差判定プログラム７２ｈを記憶している。
【００７１】
差判定プログラム７２ｈは、ＣＰＵ７１を差判定手段として機能させるものである。即ち、差判定プログラム７２ｈは、動きベクトル算出処理にて算出された限定フラグの立っている着目テンプレートＴａ、Ｔｃの動きベクトルＭａ、Ｍｃと、当該着目テンプレートＴａ、Ｔｃよりも内側に存する内側隣接テンプレートＴｂ、Ｔｄの内側動きベクトルＭｂ、Ｍｄとの差が所定の値以上であるか否かを判定する差判定処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による差判定プログラム７２ｈの実行に基づいて、着目テンプレートＴａ、Ｔｃの動きベクトルＭａ、Ｍｃ（ｘｏ，ｙｏ）と、内側隣接テンプレートＴｂ、Ｔｄの動きベクトルＭｂ、Ｍｄ（ｘｏ’，ｙｏ’）との差が所定の値以上であるか否か、つまり、ほぼ近似しているかどうかを判定する。
そして、着目テンプレートＴａ、Ｔｃの動きベクトルＭａ、Ｍｃ（ｘｏ，ｙｏ）と内側隣接テンプレートＴｂ、Ｔｄの動きベクトルＭｂ、Ｍｄ（ｘｏ’，ｙｏ’）との差が所定の値以上であると判定された場合に、当該着目テンプレートＴａ、Ｔｃの動きベクトルを用いないで基準画像と対象画像Ｇとの位置合わせ処理や画像合成処理を行う。即ち、対象画像Ｇの縁部の外側にはみ出さないと判定されたテンプレートの動きベクトルと、動きベクトルと内側動きベクトルとの差が所定の値以上でないと判定された当該一のテンプレートの動きベクトルとを用いて基準画像と対象画像Ｇとの位置合わせを行うようになっている。
【００７２】
このように、着目テンプレートＴａ、Ｔｃの動きベクトルＭａ、Ｍｃ（ｘｏ，ｙｏ）と、内側隣接テンプレートＴｂ、Ｔｄの動きベクトルＭｂ、Ｍｄ（ｘｏ’，ｙｏ’）がほぼ近似しているかどうかを判定することにより、着目テンプレートＴａ、Ｔｃの有効性を間接的に検査し、さらに隣接相関が強いことを検査することができる。
これにより、基準画像と対象画像Ｇとの周縁部の大域的な相関性の高い有効な対応情報を捨てることなく利用することができ、基準画像と対象画像Ｇとの位置合わせを精度良く行うことができる。
【００７３】
なお、有効性判定の他の方法としては、探索領域Ｒの左上端の座標（ｘｒ＋ｘｏ’−４，ｙｒ＋ｙｏ’−４）及び右下端の座標（ｘｒ＋ｘｏ’＋４，ｙｒ＋ｙｏ’＋４）が余裕を持って画像境界内に入っているかどうか、つまり、画像境界を中心に向かって数画素縮めてもまだ入っているかどうかを判定する方法を適用しても良いし、上記の方法を組み合わせて適用しても良い。
【００７４】
［実施形態２］
図７は、本発明を適用した実施形態２の撮像装置３００の概略構成を示すブロック図である。
実施形態２の撮像装置３００は、基準画像と対象画像Ｇの解像度を低減させて基準低解像度画像及び対象低解像度画像ＧＬを作成して、縮小階層の対象低解像度画像ＧＬにおいて設定された基準低解像度画像から抽出された複数のテンプレートＴの探索領域Ｒのいずれかの画素が対象低解像度画像ＧＬの縁部の外側に存する場合に、内側隣接テンプレートＴ３の内側動きベクトルＭ３に基づいて、対象低解像度画像ＧＬよりも解像度の高い原寸階層の画像における探索中心（探索領域）Ｃを再設定するものである。
なお、実施形態２の撮像装置３００、探索中心Ｃの再設定処理を行う以外の点では、実施形態１におけるものと略同様であり、その詳細な説明については省略するものとする。
【００７５】
即ち、実施形態２の撮像装置３００のプログラムメモリ７２には、低解像度画像作成プログラム７２ｉ、探索領域設定プログラム７２ｂ、低解像度外側判定プログラム７２ｊ、探索領域再設定プログラム７２ｋ等が記憶されている。
【００７６】
低解像度画像作成プログラム７２ｉは、ＣＰＵ７１を低解像度画像作成手段として機能させるものである。即ち、低解像度画像作成プログラム７２ｉは、連続する複数の画像に基づいて、何れか一の基準画像と当該基準画像に対する対象画像Ｇの解像度を段階的に低減させて基準低解像度画像及び対象低解像度画像ＧＬを作成する低解像度画像作成処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による低解像度画像作成プログラム７２ｉの実行に基づいて、基準画像及び対象画像Ｇの各々の縦横の画素数を１／２倍ずつすることで階層構造化させて、基準低解像度画像及び対象低解像度画像ＧＬを作成する（図８参照）。
【００７７】
探索領域設定プログラム７２ｂは、ＣＰＵ７１を探索領域設定手段として機能させるものである。即ち、探索領域設定プログラム７２ｂは、低解像度画像作成処理にて作成された所定段階の対象低解像度画像ＧＬにおいて、基準低解像度画像から抽出された複数のテンプレートＴ３、Ｔ４の探索領域Ｒ３、Ｒ４（図８参照）を設定する探索領域設定処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
【００７８】
低解像度外側判定プログラム７２ｊは、探索領域設定処理にて設定された探索領域Ｒの画素が対象低解像度画像ＧＬの縁部の外側に存するか否かを判定する低解像度外側判定処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
具体的には、ＣＰＵ７１による低解像度外側判定プログラム７２ｊの実行に基づいて、探索領域Ｒ３、Ｒ４の画素が対象低解像度画像ＧＬの境界内に収まっているか否かを判定する。
【００７９】
探索領域再設定プログラム７２ｋは、ＣＰＵ７１を探索領域設定手段として機能させるものである。即ち、探索領域再設定プログラム７２ｋは、低解像度外側判定処理にて探索領域Ｒの画素が対象低解像度画像ＧＬの縁部の外側に存すると判定された場合に、動きベクトル算出処理にて算出された着目テンプレートＴ４よりも内側に隣接して存する内側隣接テンプレートＴ３の内側動きベクトルＭ３に基づいて、対象低解像度画像ＧＬよりも解像度の高い原寸階層の画像における探索中心Ｃ４を再設定する探索領域再設定処理に係る機能をＣＰＵ７１に実現させるためのプログラムである。
即ち、ＣＰＵ７１による探索領域再設定プログラム７２ｋの実行に基づいて、限定フラグが立っているテンプレート構造体について、内側隣接テンプレートＴ３の内側動きベクトル（ｘｏ’，ｙｏ’）をテンプレート構造体の動きベクトル（ｘｏ，ｙｏ）の値として、対象低解像度画像ＧＬよりも一段階解像度の高い原寸階層の対象画像Ｇにおける探索領域の中心（ｘｒ＋ｘｏ’，ｙｒ＋ｙｏ’）を再設定する。
【００８０】
次に、図９及び図１０を参照して特徴点対応処理について説明する。
図９に示すように、先ず、ＣＰＵ７１は、プログラムメモリ７２から抽出プログラム７２ａを読み出して実行して、原寸の基準画像から特徴の強い領域をテンプレートＴとして所定個数選択して抽出する抽出処理を実行する（ステップＳ１０１）。
なお、テンプレートＴは、原寸画像でも縮小画像であっても同一の形状であり、例えば９×９画素の正方形となっている。
【００８１】
次に、ＣＰＵ７１は、プログラムメモリ７２から低解像度画像作成プログラム７２ｉを読み出して実行して、基準画像及び対象画像Ｇの各々の縦横の画素数を１／２倍ずつすることで基準低解像度画像及び対象低解像度画像ＧＬを作成する（ステップＳ１０２）。
次に、縮小階層と原寸階層を行き来させる上で、動きベクトルと座標のスケール変換が必要となるため、ＣＰＵ７１は、縮小階層の画像に対応するように、各テンプレート構造体の座標値をスケール変換するスケール変換処理を実行する（ステップＳ１０３）。
【００８２】
続けて、ＣＰＵ７１は、テンプレート構造体の限定フラグ及び無効フラグを初期化、即ち、「Ｆａｌｓｅ」とする（ステップＳ１０４）。
その後、ＣＰＵ７１は、実施形態１のステップＳ３１〜Ｓ３６のループ（ループ１）と同様のループ（ループ３）を行って、各テンプレートＴについて、縮小階層の画像について動きベクトルの算出を行う（ステップＳ１５１〜Ｓ１５６）。
【００８３】
先ず、ＣＰＵ７１は、プログラムメモリ７２から探索領域設定プログラム７２ｂを読み出して実行して、対象画像Ｇにおいてある１つのテンプレートＴについて４隅を所定の座標とする略矩形の探索領域Ｒ３、Ｒ４を設定する。
ここで、標準の探索領域Ｒ３、Ｒ４は、縮小階層においては、ｘ成分につき「−１５〜＋１５」、ｙ成分につき「−１５〜＋１５」と設定される。
その後、ＣＰＵ７１は、プログラムメモリ７２から低解像度外側判定プログラム７２ｊを読み出して実行して、テンプレートＴの探索領域Ｒ３、Ｒ４の画素が対象低解像度画像ＧＬの縁部の外側に存するか否かを判定する処理を行った後、対象低解像度画像ＧＬの縁部の外側に存すると判定された探索領域Ｒ４については、プログラムメモリ７２から探索領域調整プログラム７２ｃを読み出して実行して、対象低解像度画像ＧＬの縁部の外側に出ないように探索領域Ｒ４を探索領域Ｑ４に限定する探索領域調整処理を行う（ステップＳ１５２）。
ここで、探索領域Ｒ４が探索領域Ｑ４に限定された場合には（ステップＳ１５３；ＹＥＳ）、ＣＰＵ７１は、テンプレート構造体の限定フラグを立てて、「Ｔｒｕｅ」とする（ステップＳ１５４）。
【００８４】
その後、ＣＰＵ７１は、プログラムメモリ７２から動きベクトル算出プログラム７２ｄを読み出して実行して、対象低解像度画像ＧＬにおける探索領域Ｒが限定されたか否かに関係なく探索領域Ｒ３、Ｑ４内でテンプレートマッチングを行って、探索の結果、最もマッチングの良いオフセットを動きベクトルとして算出する（ステップＳ１５５）。
ループ３による処理（ステップＳ１５１〜ステップＳ１５６）をテンプレートＴの個数分だけ繰り返し実行することにより、全てのテンプレートＴについて動きベクトルが算出されると、ループ３を終了する（ステップＳ１５６）。
【００８５】
これにより、限定フラグの立っているテンプレートＴは、縮小階層の画像における探索領域Ｒが探索領域Ｑ４に限定されていることを表している。
【００８６】
そして、ＣＰＵ７１は、再度、スケール変換処理を実行して、各テンプレート構造体の座標値と動きベクトルを原寸階層のスケールに変換する（ステップＳ１０６）。
【００８７】
次に、原寸階層の画像についてテンプレートＴの探索処理をループ（ループ４）により実行する（ステップＳ１７１〜Ｓ１７７）。
ここで、ループ３の処理により、各テンプレート構造体の動きベクトル（ｘｏ，ｙｏ）に値が規定されているので、それによりオフセットされた座標が原寸階層の探索中心Ｃとなるが、限定フラグが立っているテンプレートＴに関しては、その探索中心の正当性が疑わしいため、探索中心Ｃ４の再設定を行う。
【００８８】
先ず、ＣＰＵ７１は、テンプレート構造体について限定フラグを参照して、限定フラグが立っているか否かを判定する（ステップＳ１７２）。
ここで、限定フラグが立っている、即ち、限定フラグが「Ｔｒｕｅ」であるテンプレート（着目テンプレートＴ４）について、ＣＰＵ７１は、当該テンプレートＴ４から一定距離以内にあり、且つ、限定フラグの立っていない内側隣接テンプレートＴ３を検索する（ステップＳ１７３）。続けて、ＣＰＵ７１は、プログラムメモリ７２から探索領域再設定プログラム７２ｋを読み出して実行して、内側隣接テンプレートＴ３の内側動きベクトルＭ３（ｘｏ’，ｙｏ’）を着目テンプレートＴ４の動きベクトル（ｘｏ，ｙｏ）の値としてテンプレート構造体を再設定する。そして、ＣＰＵ７１は、当該テンプレート構造体に基づいて、原寸階層の対象画像Ｇにおける探索領域Ｒの探索中心Ｃ４（ｘｒ＋ｘｏ’，ｙｒ＋ｙｏ’）を再設定した後（ステップＳ１７４）、探索領域Ｒを標準よりも数画素増やすように探索領域Ｒを再設定する（ステップＳ１７５）。即ち、ＣＰＵ７１は、内側隣接テンプレートＴ３の内側動きベクトルＭ３に基づいて対象画像Ｇに設定する探索領域Ｒを、内側隣接テンプレートＴ３の内側動きベクトルＭ３以外の動きベクトルに基づいて対象画像Ｇに設定する探索領域Ｒよりも大きくするようになっている。
なお、標準の探索領域Ｒは、原寸階層においては、ｘ成分につき「−２〜＋２」、ｙ成分につき「−２〜＋２」と設定する。
【００８９】
その後、ＣＰＵ７１は、プログラムメモリ７２から動きベクトル算出プログラム７２ｄを読み出して実行して、原寸階層の画像における探索中心Ｃ（探索領域Ｒ）が再設定されたテンプレート、又は探索中心Ｃ（探索領域Ｒ）が再設定されていないテンプレートについて、探索領域Ｒ内でテンプレートマッチングを行って、探索の結果、最もマッチングの良いオフセットを動きベクトルとして算出する（ステップＳ１７６）。
なお、探索中心Ｃ（探索領域Ｒ）が再設定されていないテンプレートについては、各テンプレート構造体の動きベクトル（ｘｏ，ｙｏ）によりオフセットされた座標が原寸階層の探索中心Ｃとして設定されるとともに前述した標準の探索領域Ｒが設定され、この標準の探索領域Ｒ内でテンプレートマッチングが行われることになる。
ループ４による処理（ステップＳ１７１〜ステップＳ１７７）をテンプレートＴの個数分だけ繰り返し実行することにより、全てのテンプレートＴについて動きベクトルが算出されると、ループ４を終了する（ステップＳ１７７）。
【００９０】
以上の処理の後、全テンプレートＴの探索結果（画像対応）を、ＣＰＵ７１による位置合わせプログラム７２ｌの実行に基づいて行われる基準画像と対象画像Ｇとの位置合わせ処理や、ＣＰＵ７１による画像合成プログラム７２ｇの実行に基づいて行われる基準画像と対象画像Ｇとの画像合成処理等に利用することができる。
【００９１】
以上のように、実施形態２の撮像装置３００によれば、基準画像と対象画像Ｇの解像度を低減させて基準低解像度画像及び対象低解像度画像ＧＬを作成して、縮小階層の対象低解像度画像ＧＬにおいて設定された基準低解像度画像から抽出された複数のテンプレートＴの探索領域Ｒのいずれかの画素が対象低解像度画像ＧＬの縁部の外側に存する場合に、即ち、探索領域Ｒが限定された限定フラグが立っているテンプレート構造体について、着目テンプレートＴ４の動きベクトルと相関性の高い内側隣接テンプレートＴ３の内側動きベクトルＭ３に基づいて、縮小階層の画像よりも解像度の高い原寸階層の画像における着目テンプレートＴ４の探索中心Ｃ４を再設定することができる。
即ち、本実施形態２のように、ピラミッド或いは階層探索と呼ばれる方法で探索を行う場合には、探索領域Ｒが対象画像Ｇの境界の外側にはみ出す虞がかなり高くなってしまう。具体的には、階層探索とは、先ず縮小画像間でマッチング探索を行い、その動きベクトルを探索中心として原寸画像でのマッチング探索を行うことにより、大きな動きベクトルにも対応できるようにした方法である。この場合、縮小画像でのマッチング探索と原寸画像でのマッチング探索には、個別に回路を用意することが最適であると言われているが、そのぶんコストが高くなる。ここで、コスト等の制約によりあえて同一の回路によって処理を行うならば、縮小画像でのテンプレートＴ画素数を原寸画像と同一とすることとなり、画像全体との比で考えるならば、テンプレートＴは相対的に非常に大きな寸法となり、縮小画像探索において対象画像Ｇの境界の外側にはみ出す虞がかなり高くなってしまう。
そこで、本実施形態２のように、探索領域Ｒが限定された限定フラグが立っているテンプレート構造体について、着目テンプレートＴ４の内側に隣接する内側隣接テンプレートＴ３の内側動きベクトルＭ３に基づいて、原寸階層の画像における着目テンプレートＴ４の探索中心Ｃ４を再設定することができるので、基準画像と対象画像Ｇとの周縁部の大域的な相関性の高い有効な対応情報を捨てることなく利用することができ、基準画像と対象画像Ｇとの位置合わせを精度良く行うことができる。
【００９２】
また、内側動きベクトルが設定された、実際の位置の探索に基づかないテンプレートにおいては、階層間の予測精度が通常よりも低下してしまうが、着目テンプレートＴ４の探索領域Ｒを拡大して、即ち、標準よりも数画素増やして再設定することができるので、通常よりも予測精度の低下を補うことができる。
【００９３】
なお、上記実施形態２にあっては、低解像度画像作成処理にて、原寸階層の画像から一段階解像度を低減させた縮小階層の画像のみを作成するようにしたが、３階層以上の任意の階層であっても良い。
また、最も解像度の高い階層を原寸階層としたが、これに限られるものではなく、原寸階層よりも解像度の低い階層であっても良い。
【００９４】
また、対象低解像度画像ＧＬの縁部の外側にはみ出してしまう探索領域Ｒが設定されてしまうテンプレートＴについては、動きベクトルを算出しても利用されず無駄となるため、ループ３におけるステップＳ１５２の処理（探索領域設定処理や探索領域調整処理）と、ステップＳ１５５の処理（動きベクトル算出処理）を行わないようにしても良い。
【００９５】
さらに、上記実施形態２にあっては、縮小階層及び又は原寸階層の画像にて、図５におけるステップＳ４４の着目テンプレートＴ４の画素が対象画像Ｇの縁部の外側に存するか否か、即ち、着目テンプレートＴ４の有効性を判定するようにしても良い。
具体的には、ループ３と４の間に、実施形態１のループ２（Ｓ４１〜Ｓ４６）を挿入して、原寸画像について、Ｓ１７２に対応するステップにてテンプレートＴの限定フラグの代わりに無効フラグの判断を行う。そして、縮小階層において有効と判断されたテンプレートについては、探索中心及び探索領域の再設定は行われずに、限定フラグの立っていないテンプレートと同様の処理を行う。つまり、無効と判断されたテンプレートについてのみ探索中心Ｃ及び探索領域Ｒの再設定を行う（ステップＳ１７４、Ｓ１７５）。その後、原寸階層にて、探索領域Ｒ内でテンプレートマッチングを行って、最もマッチングの良いオフセットを動きベクトルとして算出して、ループ４を終了する（ステップＳ１７６）。
【００９６】
加えて、上記実施形態にあっては、類似度や相違度を基準としてマッチングを行うようにしたが、勾配法を用いても良いし、領域ベースマッチングなら如何なるものも適用することができる。
【００９７】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、有効性判断や探索中心Ｃの再設定にて、全ての内側隣接テンプレート（図５におけるステップＳ４３や図１０におけるステップＳ１７３）を取得して検査しても良いし、また、複数存在する場合には、それらの動きベクトルの平均やメディアン等を使っても良い。
【００９８】
さらに、上記実施形態１及び２では、ＣＰＵ７１による位置合わせプログラム７２ｌの実行に基づいて基準画像と対象画像Ｇとの位置合わせ処理と、ＣＰＵ７１による画像合成プログラム７２ｇの実行に基づいて基準画像と対象画像Ｇとの画像合成処理を行うようにしたが、これに限られるものではなく、必ずしも画像合成処理を行う必要はない。即ち、ＣＰＵ７１による位置合わせプログラム７２ｌの実行に基づいて基準画像と対象画像Ｇとの位置合わせ処理のみを行うようにすることにより、手ぶれ補正等に利用することができる。
【００９９】
画像処理装置として撮像装置１００、２００、３００を例示したが、これに限られるものではなく、例えば、撮像装置１００、２００、３００をパーソナルコンピュータ等の外部機器とＵＳＢ端子を介して接続して、連続する複数の画像を外部機器に送信して、当該外部機器にて特徴点対応処理を行って基準画像と対象画像Ｇとの位置合わせを行うようにしても良い。
【０１００】
加えて、上記実施形態では、抽出手段、探索領域調整手段、動きベクトル算出手段、動きベクトル適用手段、外側判定手段、画像合成手段、差判定手段、低解像度画像作成手段、探索領域設定手段としての機能を、ＣＰＵ７１によって、所定のプログラム等が実行されることにより実現される構成としたが、これに限られるものではなく、例えば、各種機能を実現するためのロジック回路等から構成しても良い。
【符号の説明】
【０１０１】
１００、２００、３００  撮像装置（画像処理装置）
７１      ＣＰＵ（抽出手段、探索領域調整手段、動きベクトル算出手段、動きベクトル適用手段、外側判定手段、画像合成手段、差判定手段、低解像度画像作成手段、探索領域設定手段）
Ｇ        対象画像
ＧＬ      対象低解像度画像
Ｔ        テンプレート
Ｔａ、Ｔｃ、Ｔ４  着目テンプレート
Ｔｂ、Ｔｄ、Ｔ３  内側隣接テンプレート
Ｍｂ、Ｍ３  内側動きベクトル
Ｒ        探索領域
Ｃ        探索中心
【図１】
2011233168.tif 000003
【図２】
2011233168.tif 000004
【図３】
2011233168.tif 000005
【図４】
2011233168.tif 000006
【図５】
2011233168.tif 000007
【図６】
2011233168.tif 000008
【図７】
2011233168.tif 000009
【図８】
2011233168.tif 000010
【図９】
2011233168.tif 000011
【図１０】
2011233168.tif 000012
【手続補正書】
【提出日】平成23年9月5日(2011.9.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
請求項１に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルと、前記外側判定手段により前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、前記位置合わせ手段は、前記基準画像と前記対象画像との画像合成を行う画像合成手段を含むことを特徴としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
請求項４に記載の発明は、請求項２に記載の画像処理装置において、前記はみ出し判定手段により前記探索領域が前記対象画像の縁部の外側にはみ出すと判定された場合に、前記探索領域を前記対象画像の縁部の外側に出ないように調整する探索領域調整手段を備え、前記動きベクトル算出手段は、前記探索領域調整手段により調整された探索領域内で前記テンプレートを探索して動きベクトルを算出することを特徴としている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
請求項５に記載の発明の画像処理装置は、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する第１の動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する第２の動きベクトル算出手段と、
前記第１の動きベクトル算出手段により算出された前記動きベクトルと、前記第２の動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴としている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】削除
【補正の内容】
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】削除
【補正の内容】
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
請求項６に記載の発明のプログラムは、
画像処理装置を制御するコンピュータに、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルと、前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴としている。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
請求項７に記載の発明のプログラムは、
画像処理装置を制御するコンピュータに、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して第１の動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して第２の動きベクトルを算出する機能と、
算出された前記第１及び第２の動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴としている。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】削除
【補正の内容】
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】削除
【補正の内容】
【手続補正２１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルと、前記外側判定手段により前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記動きベクトル算出手段は、前記探索領域のうち前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートについては限定された探索領域内で前記テンプレートを探索して動きベクトルを算出する手段を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置合わせ手段は、前記基準画像と前記対象画像との画像合成を行う画像合成手段を含むことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記はみ出し判定手段により前記探索領域が前記対象画像の縁部の外側にはみ出すと判定された場合に、前記探索領域を前記対象画像の縁部の外側に出ないように調整する探索領域調整手段を備え、
前記動きベクトル算出手段は、前記探索領域調整手段により調整された探索領域内で前記テンプレートを探索して動きベクトルを算出することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定するはみ出し判定手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して動きベクトルを算出する第１の動きベクトル算出手段と、
前記はみ出し判定手段により前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する動きベクトル適用手段と、
前記動きベクトル適用手段により前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する外側判定手段と、
前記外側判定手段により前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して動きベクトルを算出する第２の動きベクトル算出手段と、
前記第１の動きベクトル算出手段により算出された前記動きベクトルと、前記第２の動きベクトル算出手段により算出された前記一のテンプレートの動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う位置合わせ手段と、
を備えることを特徴とする画像処理装置。
【請求項６】
画像処理装置を制御するコンピュータに、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記探索領域内で前記テンプレートを探索して動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された探索領域に対応するテンプレートの前記動きベクトルと、前記一のテンプレートの画素が前記対象画像の縁部の外側に存しないと判定された当該テンプレートの前記動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴とするプログラム。
【請求項７】
画像処理装置を制御するコンピュータに、
複数の画像のうち、何れか一の基準画像に対する対象画像における複数のテンプレートの探索領域が前記対象画像の縁部の外側にはみ出すか否かを判定する機能と、
前記対象画像の縁部の外側にはみ出さないと判定された前記探索領域内で前記テンプレートを探索して第１の動きベクトルを算出する機能と、
前記対象画像の縁部の外側にはみ出すと判定された探索領域に対応する一のテンプレートよりも内側に存する内側テンプレートの内側動きベクトルを前記一のテンプレートの動きベクトルとして適用する機能と、
前記内側動きベクトルが適用された前記一のテンプレートの画素が前記対象画像の縁部の外側に存するか否かを判定する機能と、
前記対象画像の縁部の外側に存しないと判定された前記一のテンプレートを所定の探索領域内で探索して第２の動きベクトルを算出する機能と、
算出された前記第１及び第２の動きベクトルを用いて前記基準画像と前記対象画像との位置合わせを行う機能と、
を実現させることを特徴とするプログラム。