(57)【特許請求の範囲】
【請求項１】
複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する処理をコンピュータに実行させる画像処理プログラムであって、
前記複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、
前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、
前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、
前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成ステップと、
前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成ステップと、
を含む画像処理プログラム。
【請求項２】
請求項１に記載の画像処理プログラムにおいて、
前記分解ステップの前又は後のタイミングで前記複数枚の画像の位置合わせを行う位置合わせステップを更に含む画像処理プログラム。
【請求項３】
請求項１又は請求項２に記載の画像処理プログラムにおいて、
前記分解ステップでは、
前記複数枚の画像の各々を、ラプラシアンピラミッド表現された複数階層の空間周波数成分へと分解する画像処理プログラム。
【請求項４】
請求項１から請求項３のいずれか１項に記載の画像処理プログラムにおいて、
前記平均化ステップでは、
前記平均化に重み付け平均を採用する画像処理プログラム。
【請求項５】
請求項４に記載の画像処理プログラムにおいて、
前記平均化ステップでは、
前記重み付け平均の重みを、前記複数枚の画像の各々の位置合わせ精度に基づき設定する画像処理プログラム。
【請求項６】
請求項１から請求項５のいずれか１項に記載の画像処理プログラムにおいて、
前記第１の合成ステップでは、
前記合成画像に対して再構成処理を施す画像処理プログラム。
【請求項７】
請求項１から請求項５のいずれか１項に記載の画像処理プログラムにおいて、
前記第１の合成ステップでは、
前記合成を行う前に、前記階層毎の平均空間周波数成分の各々に対して再構成処理を施す画像処理プログラム。
【請求項８】
請求項１から請求項７のいずれか１項に記載の画像処理プログラムにおいて、
前記複数階層の空間周波数成分は、
元画像に対して空間フィルタ処理を行うことで抽出される第１周波数成分を前記元画像から減算した第１差分画像と、
前記第１周波数成分に対して空間フィルタ処理を行うことで抽出される第２周波数成分と、
前記第１周波数成分から前記第２周波数成分を減算した第２差分画像と、
を含む画像処理プログラム。
【請求項９】
請求項１から請求項８のいずれか１項に記載の画像処理プログラムにおいて、
前記撮影条件は、露出、ホワイトバランス調整量、ＩＳＯ感度のいずれかを含む画像処理プログラム。
【請求項１０】
複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、
前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、
前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、
前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成する第１の合成ステップと、
前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成する第２の合成ステップと、
を含む画像処理プログラム。
【請求項１１】
複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する画像処理方法であって、
複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、
前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、
前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、
前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成ステップと、
前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成ステップと、
を含む画像処理方法。
【請求項１２】
複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する画像処理装置であって、
複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別手段と、
前記判別手段により前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解手段と、
前記分解手段により画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化手段と、
前記平均化手段により生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成手段と、
前記判別手段により前記撮影条件が変化していないと判別された場合に、前記分解手段による前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成手段と、
を備えた画像処理装置。
【請求項１３】
被写体を撮像して画像を生成する撮像手段と、
前記撮像手段が生成した複数枚の画像を処理する請求項１２に記載の画像処理装置と、
を備えた撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理方法、画像処理装置、撮像装置に関する。
【背景技術】
【０００２】
従来、サブピクセルオーダーの位置ずれを含む複数枚の低解像度画像から、相対的に解像度の高い画像（超解像画像）を生成する超解像処理が知られている（特許文献１、非特許文献１等を参照。）。
【０００３】
特に、これらの文献で説明されている再構成型超解像処理では、複数枚の低解像度画像の各画素を位置合わせしたのち、それらを合成して仮の合成画像を生成すると、その仮の合成画像に基づき超解像画像の評価・更新を繰り返す最適化処理により、その超解像画像を真値へと近づけることで、最終の合成画像（超解像画像）を取得している。
【０００４】
因みに、この再構成型超解像処理において、仮の合成画像から最終の合成画像を取得するための最適化処理が、再構成処理に相当する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２７２４１号公報
【非特許文献】
【０００６】
【非特許文献１】矢口陽一、田中正行、奥富正敏、”全自動全画面超解像−ワンセグ放送への適用−”， 第14回画像センシングシンポジウム（ＳＳＩＩ２００８）講演論文集、２００８年６月
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数枚の画像の撮影期間内に撮影条件（露出、ホワイトバランス調整量、ＩＳＯ感度などの組み合わせ）の揺らぎが生じた場合には、再構成処理後の超解像画像が真値から著しく外れる虞がある。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、複数枚の画像間に生じた揺らぎに対してロバストな超解像処理を実行することのできる画像処理プログラム、画像処理方法、画像処理装置、撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理プログラムは、複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する処理をコンピュータに実行させる画像処理プログラムであって、複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成ステップと、前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成ステップと、を含む。
また、本発明の画像処理プログラムは、複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成する第１の合成ステップと、前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成する第２の合成ステップと、を含む。
【００１０】
本発明の画像処理方法は、複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する画像処理方法であって、複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別ステップと、前記判別ステップにより前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成ステップと、前記判別ステップにより前記撮影条件が変化していないと判別された場合に、前記分解ステップによる前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成ステップと、を含む。
【００１１】
本発明の画像処理装置は、複数枚の画像から、前記複数枚の画像の各々よりも解像度の高い合成画像を生成する画像処理装置であって、複数枚の画像の撮影期間内に撮影条件が変化したか否かを判別する判別手段と、前記判別手段により前記撮影条件が変化していると判別された場合に、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解手段と、前記分解手段により画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化手段と、前記平均化手段により生成された前記階層毎の平均空間周波数成分を合成して前記合成画像を生成する第１の合成手段と、前記判別手段により前記撮影条件が変化していないと判別された場合に、前記分解手段による前記複数枚の画像に対する周波数分解を実行せずに前記複数枚の画像を合成して前記合成画像を生成する第２の合成手段と、を備える。
【００１２】
本発明の撮像装置は、被写体を撮像して画像を生成する撮像手段と、前記撮像手段が生成した複数枚の画像を処理する本発明の画像処理装置と、を備える。
【発明の効果】
【００１３】
本発明によれば、複数枚の画像間に生じた揺らぎに対してロバストな超解像処理を実行することのできる画像処理方法、画像処理プログラム、画像処理装置、撮像装置が実現する。
【図面の簡単な説明】
【００１４】
【図１】コンピュータ１の構成を示す図である。
【図２】制御部１５による超解像処理のフローチャートである。
【図３】制御部１５による位置合わせ処理のフローチャートである。
【図４】制御部１５によるマップ作成処理のフローチャートである。
【図５】第１実施形態の制御部１５による合成処理のフローチャートである。
【図６】周波数分解処理を説明する図である。
【図７】第１実施形態の超解像処理の効果を説明する図である。
【図８】第２実施形態の制御部１５による合成処理のフローチャートである。
【図９】第２実施形態の超解像処理の効果を説明する図である。
【図１０】ベイヤ配列を説明する図である。
【図１１】電子カメラ１００の構成を示す図である。
【発明を実施するための形態】
【００１５】
［第１実施形態］
以下、本発明の第１実施形態として画像処理機能を搭載したコンピュータを説明する。
【００１６】
図１は、本実施形態のコンピュータ１の構成を示す図である。図１に示すとおりコンピュータ１には、取得部１１、記録部１２、画像表示部１３、操作部１４、制御部１５などが備えられる。
【００１７】
取得部１１は、有線、無線、記録媒体用のドライブなどを介して、電子カメラなどの外部機器や記録媒体から画像を取得する。
【００１８】
記録部１２は、取得部１１が取得した画像や、制御部１５から指定された画像などを、不図示のメモリ（内部メモリ又は外部メモリ）に対して記録する。
【００１９】
画像表示部１３は、液晶表示素子などの画像表示素子を備え、制御部１５から指定された画像を適当な形式で表示する。
【００２０】
操作部１４は、電源釦、マウス、キーボードなどを有し、ユーザから各種の指示を受け付けて制御部１５へ伝達する。
【００２１】
制御部１５は、制御部１５の動作に必要なプログラムを予め記憶しており、このプログラムと、ユーザから入力された指示とに従って、コンピュータ１の各部を制御すると共に、取得部１１が取得した画像や、不図示のメモリに記録された画像に対して各種の画像処理を施す。この画像処理の１つに、位置ずれを含む複数の画像から、それら画像の各々よりも解像度の高い合成画像を生成する超解像処理（後述）がある。
【００２２】
なお、制御部１５が予め記憶するプログラムは、有線、無線を経由したインターネットを介して取得したものであってもよいし、記録媒体などを介して取得したものであってもよい。
【００２３】
図２は、制御部１５による超解像処理のフローチャートである。以下、図２の各ステップを順に説明する。
【００２４】
ステップＳ１：制御部１５は、ユーザから入力された指示に従い、超解像処理の対象となる画像群を不図示のメモリから読み込む。この画像群は、同一被写体を撮像装置で撮影して得られた画像群であって、サブピクセルオーダーの位置ずれを互いに有している。
【００２５】
なお、この画像群は、動画像ファイル（圧縮および非圧縮を含む）に含まれる複数フレーム分の画像であってもよいし、複数の静止画像ファイルの各々の画像であってもよい。或いは、動画像ファイルに含まれる１又は複数フレーム分の画像と、１又は複数の静止画像ファイルの画像との組み合わせであってもよい。また、この画像群は、カラー画像であってもモノクロ画像であってもよい。また、カラー画像であった場合、その形式は、色補間前の形式（ＲＡＷ形式）であっても、色補間後の形式であってもよい。但し、以下の説明では、画像群は、３枚以上のモノクロ画像であると仮定する。
【００２６】
ステップＳ２：制御部１５は、位置合わせ処理（図３）を実行することにより、画像群のうち、基準となる１枚の低解像度画像（以下、「基準画像」と称する）と、残り複数枚の画像（以下、「ターゲット画像」と称する）の各々との間で位置合わせ処理を行う。以下の説明では、位置合わせ後のターゲット画像を「位置合わせ画像」と称し、基準画像の画像番号を「０」とおき、複数枚の位置合わせ画像の画像番号を「１」、「２」、…とおく。
【００２７】
ステップＳ３：制御部は、マップ作成処理（図４）を実行することにより、１枚の基準画像及び複数枚の位置合わせ画像の各々に関する位置合わせマップを作成する。
【００２８】
ステップＳ４：制御部１５は、合成処理（図５）を実行することにより、複数枚の位置合わせ画像と１枚の基準画像とから１枚の超解像画像を生成し、それを最終の合成画像とする。
【００２９】
ステップＳ５：制御部１５は、最終の合成画像を記録部１２へ送出することにより不図示のメモリへ記録し、フローを終了する。なお、制御部１５は、記録前に必要に応じてその合成画像に対して圧縮処理を施してもよい。
【００３０】
図３は、制御部１５による位置合わせ処理のフローチャートである。以下、図３の各ステップを順に説明する。
【００３１】
ステップＳ１１：制御部１５は、１枚の基準画像と複数枚のターゲット画像とを読み込む。
【００３２】
ステップＳ１２：制御部１５は、１枚の基準画像及び複数枚のターゲット画像の各々を、複数の小領域に分割する。
【００３３】
ステップＳ１３：制御部１５は、画像番号ｉを初期値１に設定する。これにより、１番目のターゲット画像が位置合わせの対象に設定される。
【００３４】
ステップＳ１４：制御部１５は、領域番号ｊを初期値１に設定する。これにより、１番目の小領域が位置合わせの対象に設定される。
【００３５】
ステップＳ１５：制御部１５は、ｉ番目のターゲット画像のｊ番目の小領域をターゲットに設定すると共に、基準画像のｊ番目の小領域をテンプレートに設定する。続いて制御部１５は、ターゲットをずらしながら（並進及び回転させながら）、ターゲットの絵柄とテンプレートの絵柄との一致度が最も高まるようなターゲットのずらし量（並進量及び回転量）を探索する。続いて制御部１５は、そのずらし量に基づき、ターゲットに属する各画素の位置合わせ後の座標を算出する。これによって、ｉ番目のターゲット画像のｊ番目の小領域の各画素の位置合わせ（位置合わせ後の座標の算出）が完了する。
【００３６】
なお、本ステップにおける位置合わせには、Ｌｕｃａｓ−Ｋａｎａｄｅ法、ＨＳ法、Ｂｌｏｃｋ  Ｍａｔｃｈｉｎｇ法など、公知の何れかの手法を適用することができる。
【００３７】
また、本実施形態では、ターゲット画像の位置合わせを小領域毎に行ったが、画像全体に対して一括に行ってもよいことは言うまでもない。
【００３８】
ステップＳ１６：制御部１５は、ターゲットとテンプレートとの間の差分を、ターゲットのエラー値として算出する。また、ターゲットとテンプレートとの画素毎の差分を、ターゲットに属する各画素の仮のエラー値として算出する。そして、ターゲットのエラー値と、各画素の仮のエラー値との重み付け和を、各画素の最終のエラー値として算出する。これによって、ｉ番目のターゲット画像のｊ番目の小領域のエラー値分布（エラー値マップ）が算出されたことになる。
【００３９】
なお、本ステップでは、重み付け和の代わりに、重み付け積、単純和、単純積の何れかを使用してもよい。
【００４０】
ステップＳ１７：制御部１５は、ｉ番目のターゲット画像の全ての小領域の位置合わせが完了したか否かを判別し、完了した場合はステップＳ１９へ移行し、完了していなかった場合は、ステップＳ１８へ移行する。
【００４１】
ステップＳ１８：制御部１５は、領域番号ｊをインクリメントしてからステップＳ１５へ戻る。
【００４２】
ステップＳ１９：制御部１５は、全てのターゲット画像の位置合わせが完了したか否かを判別し、完了した場合はフローを終了し、完了していなかった場合は、ステップＳ１１０へ移行する。
【００４３】
ステップＳ１１０：制御部１８は、画像番号ｉをインクリメントしてからステップＳ１４へ戻る。
【００４４】
以上のフローによると、複数枚のターゲット画像の各々の位置合わせ後の画像（位置合わせ画像）が求まる。なお、複数枚の位置合わせ画像の各々では、画素の座標間隔が不均一となっており、位置合わせ画像の個々の画素は固有のエラー値を有している。
【００４５】
図４は、制御部１５によるマップ作成処理のフローチャートである。以下、図４の各ステップを順に説明する。
【００４６】
ステップＳ２１：制御部１５は、画像番号ｉを初期値１に設定する。これにより、１番目の位置合わせ画像が処理対象に設定される。
【００４７】
ステップＳ２２：制御部１５は、ｉ番目の位置合わせ画像の各画素のエラー値を読み込む。
【００４８】
ステップＳ２３：制御部１５は、ｉ番目の位置合わせ画像の各画素のエラー値を、その画素の座標に応じて、前述した超解像画像の画像空間（超解像画像空間）上へ投影（マッピング）することにより、超解像画像と同サイズのエラー値マップを作成する。
【００４９】
なお、位置合わせ画像における各画素の座標間隔は不均一であるので、エラー値マップ上では、エラー値を有した画素（有効画素）とエラー値を有していない画素（非有効画素）とが不規則的に混在することになる。
【００５０】
ステップＳ２４：制御部１５は、全ての位置合わせ画像に関するエラー値マップの作成が完了したか否かを判別し、完了した場合はステップＳ２６へ移行し、完了していなかった場合は、ステップＳ２５へ移行する。
【００５１】
ステップＳ２５：制御部１５は、画像番号ｉをインクリメントしてからステップＳ２２へ戻る。したがって、制御部１５は、全ての位置合わせ画像の各々に関するエラー値マップを取得する。
【００５２】
ステップＳ２６：制御部１５は、全ての位置合わせ画像の各々に関するエラー値マップの画素値（エラー値）が０〜１の範囲に収まるよう、それらのエラー値マップに対して規格化係数を乗算し、それらのエラー値マップを規格化する。このようにして規格化されたエラー値マップが、前述した位置合わせマップである。これによって、全ての位置合わせ画像の各々に関する位置合わせマップが完成する。なお、本ステップにおける制御部１５は、基準画像の位置合わせマップとして、全ての画素値（エラー値）が０となった位置合わせマップを作成する。なぜなら、基準画像は位置合わせの基準であったので、基準画像の全画素のエラー値はゼロとなるはずである。
【００５３】
図５は、制御部１５による合成処理のフローチャートである。以下、図５の各ステップを順に説明する。
【００５４】
ステップＳ４１：制御部１５は、１枚の基準画像と複数枚の位置合わせ画像とからなる一連の画像を合成対象画像として読み込むと共に、それら複数枚の合成対象画像の各々の位置合わせマップ（前述）を読み込む。
【００５５】
ステップＳ４２：制御部１５は、画像番号ｉを初期値０に設定する。これにより、０番目の合成対象画像が処理対象に設定される。
【００５６】
ステップＳ４３：制御部１５は、ｉ番目の合成対象画像を周波数分解する。合成対象画像の周波数分解は、例えば以下の手順（ａ）〜（ｄ）により行われる。
【００５７】
（ａ）制御部１５は、合成対象画像（図６Ａ）に対して平滑化効果のある空間周波数フィルタ処理を施すことにより、合成対象画像（図６Ａ）から第１周波数成分（図６Ｂ）を抽出する。なお、この空間周波数フィルタ処理では、井戸型フィルタ、バイラテラルフィルタ、ガウシアンフィルタなど、平滑化効果のある公知の何れかの空間周波数フィルタを使用することができる。
【００５８】
（ｂ）制御部１５は、第１周波数成分（図６Ｂ）に対して平滑化効果のある空間周波数フィルタ処理を施すことにより、第１周波数成分（図６Ｂ）から第２周波数成分（図６Ｃ）を抽出する。なお、この空間周波数フィルタ処理でも、井戸型フィルタ、バイラテラルフィルタ、ガウシアンフィルタなど、平滑化効果のある公知の何れかの空間周波数フィルタを使用することができる。また、この手順（ｂ）で使用される空間周波数フィルタのサイズは、手順（ａ）で使用された空間周波数フィルタのサイズと同じであっても異なってもどちらでも構わない。また、この手順（ｂ）で使用される空間周波数フィルタの種類は、手順（ｂ）で使用された空間周波数フィルタの種類と同じであっても異なってどちらでも構わない。
【００５９】
（ｃ）制御部１５は、合成対象画像（図６Ａ）から第１周波数成分（図６Ｂ）を減算することにより、第１差分画像（図６Ｄ）を生成する。
【００６０】
（ｄ）制御部１５は、第１周波数成分（図６Ｂ）から第２周波数成分（図６Ｃ）を減算することにより、第２差分画像（図６Ｅ）を生成する。
【００６１】
したがって、第１差分画像（図６Ｄ）と、第２差分画像（図６Ｅ）と、第２周波数成分（図６Ｃ）とを加算すると、合成対象画像（図６Ａ）を復元することができる。よって、本ステップでは、第１差分画像（図６Ｄ）と、第２差分画像（図６Ｅ）と、第２周波数成分（図６Ｃ）とを、分解後の各空間周波数成分とする。以下、最も高階層である第１差分画像（図６Ｄ）を「第１階層のバンド画像」と称し、次に高階層である第２差分画像（図６Ｅ）を「第２階層のバンド画像」と称し、最も低階層である第２周波数成分（図６Ｃ）を「第３階層のバンド画像」と称す。因みに、このように或る画像を最も低階層の空間周波数成分と階層間の差分画像との和で表現する方法を一般に、「ラプラシアンピラミッド表現」という。
【００６２】
なお、本ステップでは、複数階層のバンド画像の表現方法としてラプラシアンピラミッド表現を採用したが、他の表現方法を採用してもよい。また、本ステップでは、分解後のバンド画像の階層数を３としたが、２又は４以上としてもよい。但し、以下の説明では、階層数が３であると仮定する。
【００６３】
ステップＳ４４：制御部１５は、第１階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影（マッピング）することにより、第１階層のバンド画像のサイズを、超解像画像と同サイズに変換（アップスケーリング）する。また、制御部１５は、第２階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影（マッピング）することにより、第２階層のバンド画像のサイズを、超解像画像と同サイズに変換（アップスケーリング）する。また、制御部１５は、第３階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影（マッピング）することにより、第３階層のバンド画像のサイズを、超解像画像と同サイズに変換（アップスケーリング）する。
【００６４】
なお、バンド画像の生成元となった合成対象画像が（基準画像ではなく）位置合わせ画像であった場合、サイズ変換後のバンド画像上では、画素値を有した画素（有効画素）と、画素値を有していない画素（非有効画素）とが不規則的に混在することになる。
【００６５】
一方、バンド画像の生成元となった合成対象画像が基準画像であった場合、サイズ変換後のバンド画像上では、画素値を有した画素（有効画素）と、画素値を有していない画素（非有効画素）とが規則的に配列することになる。
【００６６】
なお、本実施形態では、周波数分解するステップＳ４３を、投影するステップＳ４３の前段で行ったが、投影するステップＳ４３の後段で行ってもよい。但し、前段で行った方が、周波数分解の対象となる画像の画素数を抑えることができるので、周波数分解に要する演算量を抑えることができる。
【００６７】
ステップＳ４５：制御部１５は、全ての合成対象画像に対する周波数分解が完了したか否かを判別し、完了した場合はステップＳ４７へ移行し、完了していなかった場合は、ステップＳ４６へ移行する。
【００６８】
ステップＳ４６：制御部１５は、画像番号ｉをインクリメントしてからステップＳ４３へ戻る。したがって、周波数分解は、複数枚の合成対象画像の各々について行われる。
【００６９】
ステップＳ４７：制御部１５は、階層番号ｋを初期値１に設定する。これにより、第１階層が処理対象に設定される。
【００７０】
ステップＳ４８：制御部１５は、複数枚の合成対象画像の各々に関する第ｋ階層のバンド画像を参照し、それら複数枚のバンド画像を画像間で平均化することにより、第ｋ階層の平均バンド画像を生成する。
【００７１】
この際、制御部１５は、複数枚のバンド画像の間で共通の座標を有した複数の画素の平均値を算出し、その平均値を、平均バンド画像の対応する画素の画素値とする。但し、制御部１５は、共通の座標を有した複数の画素の中に非有効画素が存在していた場合は、その非有効画素を平均化の対象から外す。
【００７２】
また、制御部１５は、その平均化に重み付け平均を採用する。この際、制御部１５は、各画素に付与すべき重みを、前述した位置合わせマップの対応する画素値（エラー値）に従って決定する。具体的には、エラー値の大きい画素ほど小さな重みを付与し、エラー値の小さい画素ほど大きな重みを付与する。このようにすれば、位置合わせ精度の高い画素（すなわち信頼性の高い画素）を平均バンド画像に対して強く反映させることができる。
【００７３】
ステップＳ４９：制御部１５は、全ての階層に関する平均化が完了したか否かを判別し、完了した場合はステップＳ４１１へ移行し、完了していなかった場合はステップＳ４１０へ移行する。
【００７４】
ステップＳ４１０：制御部１５は、階層番号ｋをインクリメントしてからステップＳ４８へ戻る。したがって、平均バンド画像は、複数階層の各々について生成される。
【００７５】
ステップＳ４１１：制御部１５は、複数階層の各々について生成された平均バンド画像を参照し、それら複数枚の平均バンド画像を加算することにより、１枚の仮の合成画像を生成する。
【００７６】
ステップＳ４１２：制御部１５は、ステップＳ４１１で生成された仮の合成画像に対して再構成処理（最適化処理）を施すことにより超解像画像を生成し、それを最終の合成画像とする。仮の合成画像に対する再構成処理は、以下の手順（ｅ）〜（ｈ）により行われる。
【００７７】
（ｅ）制御部１５は、基準画像に対してサイズ拡大処理を施すことにより、超解像画像と同じサイズの基準画像を作成する。なお、この基準画像は、再構成処理の初期画像として使用されるものなので、厳密なものである必要は無い。よって、このサイズ拡大処理は、画素の補間を伴うものであっても構わない。
【００７８】
（ｆ）制御部１５は、サイズ拡大後の基準画像を、最適化処理の初期画像（超解像画像の初期値）に設定する。なお、再構成処理の繰り返し回数の増大を無視できるのであれば、超解像画像の初期画像として他の画像を使用しても構わない。
【００７９】
（ｇ）制御部１５は、現時点における超解像画像Ｘと、仮の合成画像Ｙとを、例えば式（１）で表される評価関数に当てはめることにより、現時点における超解像画像Ｘの評価値εを算出する。
【００８０】
【数１】
0005909865.tif 000002
なお、式（１）におけるＰＳＦは、前述した撮像装置に固有の点拡がり関数（点像分布関数）である。また、式（１）におけるΣは、仮の合成画像上の全ての有効画素に関する和を表している。
【００８１】
（ｈ）制御部１５は、評価値εに応じて超解像画像を更新しながら手順（ｇ）を繰り返すことで、評価値εが最小となるような超解像画像を見出し、その超解像画像を、最終の合成画像とする。
【００８２】
なお、本ステップでは、超解像画像から推定される画素値と、仮の合成画像の画素値との間の２乗誤差を表す評価関数を使用し、その評価関数から算出される評価値εが最小となるように超解像画像を最適化する方法（ＭＬ法）を採用したが、事後確率最大化法（ＭＡＰ法）などの他の方法を採用してもよい。因みに、ＭＡＰ法を採用する場合は、評価関数として以下の式を使用すればよい。
【００８３】
【数２】
0005909865.tif 000003
この評価関数は、ＭＬ法の評価関数に対して超解像画像の事前情報を示す第二項を加えたものである。
【００８４】
図７は、本実施形態の超解像処理の効果を説明する図である（なお、図７では、合成対象画像の枚数を３とした。）。
【００８５】
図７に示すとおり、本実施形態の超解像処理では、複数枚のターゲット画像の各々を基準画像に対して位置合わせすることにより（図７Ａ、図７Ｂ）、複数枚の位置合わせ画像を生成し、それら１枚の基準画像及び複数枚の位置合わせ画像を、合成対象画像とする。
【００８６】
続いて、本実施形態の超解像処理では、それら複数枚の合成対象画像の各々を、複数階層の空間周波数成分（バンド画像）へと分解し（図７Ｃ、図７Ｄ、図７Ｅ）、超解像画像と同サイズに変換する（図７Ｆ、図７Ｇ、図７Ｈ）。
【００８７】
そして、本実施形態の超解像処理では、生成された複数階層のバンド画像を、階層毎に画像間で平均化することで（図７Ｉ）、各階層の平均バンド画像を生成し、それらの平均バンド画像を加算することにより（図７Ｊ）、仮の合成画像を生成する。
【００８８】
このような平均化処理（図７Ｉ）によると、複数枚の合成対象画像（１枚の基準画像及び複数枚の位置合わせ画像）の間に生じていた撮影条件（露出、ホワイトバランス調整量、ＩＳＯ感度などの組み合わせ）の揺らぎの影響は、除去される。
【００８９】
しかも、その平均化処理（図７Ｉ）は、同じ階層のバンド画像同士で行われるので、合成対象画像（１枚の基準画像及び複数枚の位置合わせ画像）の各々に含まれていた高周波数成分（微細構造）が鈍ってしまうという問題は発生しない。
【００９０】
したがって、本実施形態の平均化処理によると、複数枚の合成対象画像（１枚の基準画像及び複数枚の位置合わせ画像）の各々に含まれていた微細構造を維持しつつ、揺らぎの影響のみを除去することができる。
【００９１】
したがって、本実施形態の超解像処理によると、仮の合成画像を良好に生成することができる。
【００９２】
また、本実施形態の平均化処理は、重み付け平均であり、その重みは位置合わせマップに従って設定されるので、複数枚の合成対象画像に含まれる信頼性の高い画素を、平均バンド画像に対して強く反映させることができる。
【００９３】
そして、本実施形態の超解像処理では、以上のとおり生成された良好な仮の合成画像に対して再構成処理を施すので（図７Ｌ）、再構成処理後の超解像画像が真値から著しく外れる可能性は低く抑えられる。
【００９４】
因みに、図７Kは、再構成処理の初期画像として使用される基準画像のサイズ拡大処理を表している。
【００９５】
なお、本実施形態では、画像処理機能を搭載したコンピュータを説明したが、画像処理機能を搭載した他の機器、例えばディジタルフォトフレーム、プリンタなどにも本発明は適用可能である。
【００９６】
［第２実施形態］
以下、本発明の第２実施形態としてコンピュータを説明する。なお、本実施形態は第１実施形態の変形例であるので、ここでは第１実施形態との相違点のみを説明する。相違点は、合成処理の一部にある。
【００９７】
図８は、本実施形態の制御部１５による合成処理のフローチャートである。
【００９８】
図８に示すとおり、本実施形態の合成処理のフローチャートは、図７におけるフローチャートにおいて、ステップＳ４１１、Ｓ４１２の代わりに、ステップＳ４１２’、ステップＳ４１１’を挿入したものである。以下、ステップＳ４１２’、Ｓ４１１’を説明する。
【００９９】
ステップＳ４１２’：制御部１５は、複数階層の各々について生成された平均バンド画像に対して階層毎の再構成処理（最適化処理）を施すことにより、複数階層の超解像バンド画像を生成する。各階層の再構成処理は、上述した手順（ｆ）〜（ｈ）と同様に行われる。但し、各階層の再構成処理の初期画像は、例えば次のとおり設定される。
【０１００】
すなわち、制御部１５は、基準画像に対してサイズ拡大処理を施してから、ステップＳ４３と同様の周波数分解を行うことにより、複数階層の基準バンド画像を生成し、そのうち第１階層の基準バンド画像を、第１階層の再構成処理の初期画像に設定し、第２階層の基準バンド画像を、第２階層の再構成処理の初期画像に設定し、第３階層の基準バンド画像を、第３階層の再構成処理の初期画像に設定する。
【０１０１】
ステップＳ４１１’：制御部１５は、階層毎の再構成処理で生成された、複数階層の超解像バンド画像を参照し、それら複数階層の超解像バンド画像を加算することにより、１枚の合成画像を生成する。この合成画像が、本実施形態における最終の合成画像（超解像画像）である。
【０１０２】
図９は、本実施形態の超解像処理の効果を説明する図である（なお、図９では、合成対象画像の枚数を３とした。）。また、図９において図７における処理と同じものには同じ符号を付した。
【０１０３】
図９に示すとおり、本実施形態の超解像処理では、階層毎の平均バンド画像を生成した後、それらを合成する前に、階層毎に再構成処理を行う点（図９Ｌ’、図９Ｊ’）において、第１実施形態の超解像処理とは異なる。
【０１０４】
しかし、本実施形態の超解像処理においても、複数階層のバンド画像を、階層毎に画像間で平均化するので（図９Ｉ）、第１実施形態の超解像処理と同様の効果を得ることができると考えられる。
【０１０５】
［第３実施形態］
以下、本発明の第３実施形態として画像処理機能を搭載した電子カメラを説明する。
【０１０６】
図１１は、電子カメラ１００の構成を示す図である。図１１に示すとおり電子カメラ１００は、撮影レンズ部１１１、撮像部１１３、画像表示部１１４、記録部１１５、操作部１１６、制御部１１７などを備える。なお、撮像部１１３、画像表示部１１４、記録部１１５、制御部１１７は、バスを介して相互に接続される。
【０１０７】
撮影レンズ部１１１は、被写体からの光束を結像する。
【０１０８】
撮像部１１３は、ＣＣＤ等の撮像素子１１２、撮像素子１１２の駆動回路などを備え、撮像素子１１２の撮像面を、撮影レンズ部１１１による光束の結像面の近傍に配置している。
【０１０９】
撮像部１１３は、制御部１１７からの指示に応じて撮像素子１１２を駆動し、被写体の像を表す画像を取得すると共に、制御部１１７からの指示に応じて、撮像素子１１２の露出量や、取得した画像へ乗算すべきゲイン値（ＩＳＯ感度）などを設定する。
【０１１０】
画像表示部１１４は、液晶表示素子などの画像表示素子を備え、制御部１１７から指定された画像を適当な形式で表示する。
【０１１１】
記録部１１５は、制御部１１７から指定された画像を、不図示のメモリ（内部メモリ又は外部メモリ）に対して記録する。
【０１１２】
操作部１１６は、レリーズボタンなどを有し、ユーザから各種の指示を受け付けて制御部１１７へと伝達する。
【０１１３】
制御部１１７は、制御部１１７の動作に必要なプログラムを予め記憶しており、このプログラムと、ユーザから入力された指示とに従って、電子カメラ１００の各部を制御すると共に、撮像部１１３が取得した画像、又は、不図示のメモリに記録された画像に対して画像処理を施す。この画像処理には、ホワイトバランス調整処理、色補間処理、超解像処理などがある。また、制御部１１７は、ユーザからの指示、画像の内容、被写体の状況の少なくとも１つに応じて、撮影条件（露出、ホワイトバランス調整量、ＩＳＯ感度などの組み合わせ）を、設定することもできる。
【０１１４】
なお、制御部１１７が予め記憶するプログラムは、有線、無線を経由したインターネットを介して取得したものであっても良いし、記録媒体などを介して取得したものであっても良い。
【０１１５】
ここで、本実施形態の制御部１１７が実行する超解像処理には、上述した何れかの実施形態の超解像処理が含まれる。したがって、本実施形態の電子カメラ１００は、撮像部１１３で取得した複数の画像や、不図示のメモリに記録された複数の画像に対して、上述した何れかの実施形態の超解像処理を施すことができる。
【０１１６】
［実施形態の変形例］
なお、上述した何れかの実施形態の制御部は、次のように動作してもよい。
【０１１７】
すなわち、制御部は、超解像処理の実行に先立ち、超解像処理の対象となる画像群の各々に付与された撮影情報に基づき、その画像群の間で撮影条件（露出、ホワイトバランス調整量、ＩＳＯ感度などの組み合わせ）の揺らぎが発生しているか否かを判別する。そして、制御部は、揺らぎが発生していた場合には、上述した超解像処理（マルチバンド超解像処理）を実行し、揺らぎが発生していなかった場合には、通常の超解像処理を実行する。このように、マルチバンド超解像処理の発現を必要なときのみに制限すれば、処理の効率化を図ることができる。
【０１１８】
なお、ここでいう「通常の超解像処理」とは、マルチバンド超解像処理において、複数の合成対象画像を周波数分解せずに合成することで仮の合成画像を生成するものである。この合成の方法には、公知の何れかの合成方法を適用することができる。
【０１１９】
また、第３実施形態の制御部は、電子カメラの制御であるので、上述した判別を画像群の撮影期間中にリアルタイムで行ってもよい。
【０１２０】
また、上記した何れかの実施形態では、超解像処理の対象となる画像群がモノクロ画像であると仮定したが、その画像群が色補間後のカラー画像であった場合には、超解像処理をカラー画像の色成分毎（ＲＧＢ別）に実施すればよい。
【０１２１】
但し、位置合わせ処理については、特定の色成分（例えばＧ成分）の画素（Ｇ画素）の位置合わせを最初に行い、その画素の位置合わせ結果に基づき、他の色成分（Ｂ、Ｒ成分）の画素（Ｂ画素、Ｒ画素）の位置合わせ結果を導出してもよい。この際には、Ｇ画素と、Ｂ画素と、Ｒ画素との位置関係が考慮される。
【０１２２】
また、超解像処理の対象となる画像群が色補間前のカラー画像（例えばベイヤ配列の画像）であった場合は、以下の２通りの何れかの方法を採用することができる。
【０１２３】
（１）位置合わせ処理については色成分毎（ＲＧＢ別）に行うが、周波数分解を行う前に、位置合わせ画像に対して色補間処理（ベイヤ配列の場合はデベイヤ処理）を施す方法。
【０１２４】
（２）位置合わせ処理については色成分毎（ＲＧＢ別）に行い、周波数分解についても色成分毎に行う方法。その場合、周波数分解における色成分毎の空間周波数フィルタ処理は、例えば次のとおり行えばよい。すなわち、Ｇ画素に対する空間周波数フィルタ処理では、そのＧ画素を中心とした所定範囲内の複数のＧ画素を参照画素として使用し、Ｂ画素に対する空間周波数フィルタ処理では、そのＢ画素を中心とした所定範囲内の複数のＢ画素を参照画素として使用し、Ｒ画素に対する空間周波数フィルタ処理では、そのＲ画素を中心とした所定範囲内の複数のＲ画素を参照画素として使用する。
【０１２５】
なお、ベイヤ配列（図１０参照）ではＧ画素の配置密度とＲ画素又はＢ画素の配置密度とが異なるので、Ｇ画素の参照範囲と、Ｂ画素又はＲ画素の参照範囲とが異なるサイズに設定されてもよい（図１０に点線で示すのは、Ｂ画素の参照範囲の例である。）。
【０１２６】
また、上述した何れかの実施形態では、位置合わせ処理の実行されるタイミングを周波数分解処理の前としたが、周波数分解処理の後であってもよい。つまり、位置合わせ処理の実行されるタイミングは、平均化処理より前の任意のタイミングでよい。
【符号の説明】
【０１２７】
１…コンピュータ、１１…取得部、１２…記録部、１３…画像表示部、１４…操作部、１５…制御部
【図１】
0005909865.tif 000004
【図２】
0005909865.tif 000005
【図３】
0005909865.tif 000006
【図４】
0005909865.tif 000007
【図５】
0005909865.tif 000008
【図６】
0005909865.tif 000009
【図７】
0005909865.tif 000010
【図８】
0005909865.tif 000011
【図９】
0005909865.tif 000012
【図１０】
0005909865.tif 000013
【図１１】
0005909865.tif 000014