説明

画像処理プログラム、画像処理方法、画像処理装置、撮像装置

【課題】複数枚の画像間に生じた揺らぎに対してロバストな超解像処理を実現する。
【解決手段】本発明の画像処理プログラムは、位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する画像処理方法であって、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップ(S43)と、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップ(S48)と、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成ステップ(S411)とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理プログラム、画像処理方法、画像処理装置、撮像装置に関する。
【背景技術】
【0002】
従来、サブピクセルオーダーの位置ずれを含む複数枚の低解像度画像から、相対的に解像度の高い画像(超解像画像)を生成する超解像処理が知られている(特許文献1、非特許文献1等を参照。)。
【0003】
特に、これらの文献で説明されている再構成型超解像処理では、複数枚の低解像度画像の各画素を位置合わせしたのち、それらを合成して仮の合成画像を生成すると、その仮の合成画像に基づき超解像画像の評価・更新を繰り返す最適化処理により、その超解像画像を真値へと近づけることで、最終の合成画像(超解像画像)を取得している。
【0004】
因みに、この再構成型超解像処理において、仮の合成画像から最終の合成画像を取得するための最適化処理が、再構成処理に相当する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−127241号公報
【非特許文献】
【0006】
【非特許文献1】矢口陽一、田中正行、奥富正敏、”全自動全画面超解像−ワンセグ放送への適用−”, 第14回画像センシングシンポジウム(SSII2008)講演論文集、2008年6月
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、複数枚の画像の撮影期間内に撮影条件(露出、ホワイトバランス調整量、ISO感度などの組み合わせ)の揺らぎが生じた場合には、再構成処理後の超解像画像が真値から著しく外れる虞がある。
【0008】
本発明は、上記問題に鑑みてなされたものであり、複数枚の画像間に生じた揺らぎに対してロバストな超解像処理を実行することのできる画像処理プログラム、画像処理方法、画像処理装置、撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の画像処理プログラムは、位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する処理をコンピュータに実行させる画像処理プログラムであって、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成ステップとを含むことを特徴とする。
【0010】
本発明の画像処理方法は、位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する画像処理方法であって、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成ステップとを含むことを特徴とする。
【0011】
本発明の画像処理装置は、位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する画像処理装置であって、前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解手段と、前記分解手段により画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化手段と、前記平均化手順により生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成手段とを備えたことを特徴とする。
【0012】
本発明の撮像装置は、被写体を撮像して画像を生成する撮像手段と、前記撮像手段が生成した複数枚の画像を処理する本発明の画像処理装置とを備えたことを特徴とする。
【発明の効果】
【0013】
本発明によれば、複数枚の画像間に生じた揺らぎに対してロバストな超解像処理を実行することのできる画像処理方法、画像処理プログラム、画像処理装置、撮像装置が実現する。
【図面の簡単な説明】
【0014】
【図1】コンピュータ1の構成を示す図である。
【図2】制御部15による超解像処理のフローチャートである。
【図3】制御部15による位置合わせ処理のフローチャートである。
【図4】制御部15によるマップ作成処理のフローチャートである。
【図5】第1実施形態の制御部15による合成処理のフローチャートである。
【図6】周波数分解処理を説明する図である。
【図7】第1実施形態の超解像処理の効果を説明する図である。
【図8】第2実施形態の制御部15による合成処理のフローチャートである。
【図9】第2実施形態の超解像処理の効果を説明する図である。
【図10】ベイヤ配列を説明する図である。
【図11】電子カメラ100の構成を示す図である。
【発明を実施するための形態】
【0015】
[第1実施形態]
以下、本発明の第1実施形態として画像処理機能を搭載したコンピュータを説明する。
【0016】
図1は、本実施形態のコンピュータ1の構成を示す図である。図1に示すとおりコンピュータ1には、取得部11、記録部12、画像表示部13、操作部14、制御部15などが備えられる。
【0017】
取得部11は、有線、無線、記録媒体用のドライブなどを介して、電子カメラなどの外部機器や記録媒体から画像を取得する。
【0018】
記録部12は、取得部11が取得した画像や、制御部15から指定された画像などを、不図示のメモリ(内部メモリ又は外部メモリ)に対して記録する。
【0019】
画像表示部13は、液晶表示素子などの画像表示素子を備え、制御部15から指定された画像を適当な形式で表示する。
【0020】
操作部14は、電源釦、マウス、キーボードなどを有し、ユーザから各種の指示を受け付けて制御部15へ伝達する。
【0021】
制御部15は、制御部15の動作に必要なプログラムを予め記憶しており、このプログラムと、ユーザから入力された指示とに従って、コンピュータ1の各部を制御すると共に、取得部11が取得した画像や、不図示のメモリに記録された画像に対して各種の画像処理を施す。この画像処理の1つに、位置ずれを含む複数の画像から、それら画像の各々よりも解像度の高い合成画像を生成する超解像処理(後述)がある。
【0022】
なお、制御部15が予め記憶するプログラムは、有線、無線を経由したインターネットを介して取得したものであってもよいし、記録媒体などを介して取得したものであってもよい。
【0023】
図2は、制御部15による超解像処理のフローチャートである。以下、図2の各ステップを順に説明する。
【0024】
ステップS1:制御部15は、ユーザから入力された指示に従い、超解像処理の対象となる画像群を不図示のメモリから読み込む。この画像群は、同一被写体を撮像装置で撮影して得られた画像群であって、サブピクセルオーダーの位置ずれを互いに有している。
【0025】
なお、この画像群は、動画像ファイル(圧縮および非圧縮を含む)に含まれる複数フレーム分の画像であってもよいし、複数の静止画像ファイルの各々の画像であってもよい。或いは、動画像ファイルに含まれる1又は複数フレーム分の画像と、1又は複数の静止画像ファイルの画像との組み合わせであってもよい。また、この画像群は、カラー画像であってもモノクロ画像であってもよい。また、カラー画像であった場合、その形式は、色補間前の形式(RAW形式)であっても、色補間後の形式であってもよい。但し、以下の説明では、画像群は、3枚以上のモノクロ画像であると仮定する。
【0026】
ステップS2:制御部15は、位置合わせ処理(図3)を実行することにより、画像群のうち、基準となる1枚の低解像度画像(以下、「基準画像」と称する)と、残り複数枚の画像(以下、「ターゲット画像」と称する)の各々との間で位置合わせ処理を行う。以下の説明では、位置合わせ後のターゲット画像を「位置合わせ画像」と称し、基準画像の画像番号を「0」とおき、複数枚の位置合わせ画像の画像番号を「1」、「2」、…とおく。
【0027】
ステップS3:制御部は、マップ作成処理(図4)を実行することにより、1枚の基準画像及び複数枚の位置合わせ画像の各々に関する位置合わせマップを作成する。
【0028】
ステップS4:制御部15は、合成処理(図5)を実行することにより、複数枚の位置合わせ画像と1枚の基準画像とから1枚の超解像画像を生成し、それを最終の合成画像とする。
【0029】
ステップS5:制御部15は、最終の合成画像を記録部12へ送出することにより不図示のメモリへ記録し、フローを終了する。なお、制御部15は、記録前に必要に応じてその合成画像に対して圧縮処理を施してもよい。
【0030】
図3は、制御部15による位置合わせ処理のフローチャートである。以下、図3の各ステップを順に説明する。
【0031】
ステップS11:制御部15は、1枚の基準画像と複数枚のターゲット画像とを読み込む。
【0032】
ステップS12:制御部15は、1枚の基準画像及び複数枚のターゲット画像の各々を、複数の小領域に分割する。
【0033】
ステップS13:制御部15は、画像番号iを初期値1に設定する。これにより、1番目のターゲット画像が位置合わせの対象に設定される。
【0034】
ステップS14:制御部15は、領域番号jを初期値1に設定する。これにより、1番目の小領域が位置合わせの対象に設定される。
【0035】
ステップS15:制御部15は、i番目のターゲット画像のj番目の小領域をターゲットに設定すると共に、基準画像のj番目の小領域をテンプレートに設定する。続いて制御部15は、ターゲットをずらしながら(並進及び回転させながら)、ターゲットの絵柄とテンプレートの絵柄との一致度が最も高まるようなターゲットのずらし量(並進量及び回転量)を探索する。続いて制御部15は、そのずらし量に基づき、ターゲットに属する各画素の位置合わせ後の座標を算出する。これによって、i番目のターゲット画像のj番目の小領域の各画素の位置合わせ(位置合わせ後の座標の算出)が完了する。
【0036】
なお、本ステップにおける位置合わせには、Lucas−Kanade法、HS法、Block Matching法など、公知の何れかの手法を適用することができる。
【0037】
また、本実施形態では、ターゲット画像の位置合わせを小領域毎に行ったが、画像全体に対して一括に行ってもよいことは言うまでもない。
【0038】
ステップS16:制御部15は、ターゲットとテンプレートとの間の差分を、ターゲットのエラー値として算出する。また、ターゲットとテンプレートとの画素毎の差分を、ターゲットに属する各画素の仮のエラー値として算出する。そして、ターゲットのエラー値と、各画素の仮のエラー値との重み付け和を、各画素の最終のエラー値として算出する。これによって、i番目のターゲット画像のj番目の小領域のエラー値分布(エラー値マップ)が算出されたことになる。
【0039】
なお、本ステップでは、重み付け和の代わりに、重み付け積、単純和、単純積の何れかを使用してもよい。
【0040】
ステップS17:制御部15は、i番目のターゲット画像の全ての小領域の位置合わせが完了したか否かを判別し、完了した場合はステップS19へ移行し、完了していなかった場合は、ステップS18へ移行する。
【0041】
ステップS18:制御部15は、領域番号jをインクリメントしてからステップS15へ戻る。
【0042】
ステップS19:制御部15は、全てのターゲット画像の位置合わせが完了したか否かを判別し、完了した場合はフローを終了し、完了していなかった場合は、ステップS110へ移行する。
【0043】
ステップS110:制御部18は、画像番号iをインクリメントしてからステップS14へ戻る。
【0044】
以上のフローによると、複数枚のターゲット画像の各々の位置合わせ後の画像(位置合わせ画像)が求まる。なお、複数枚の位置合わせ画像の各々では、画素の座標間隔が不均一となっており、位置合わせ画像の個々の画素は固有のエラー値を有している。
【0045】
図4は、制御部15によるマップ作成処理のフローチャートである。以下、図4の各ステップを順に説明する。
【0046】
ステップS21:制御部15は、画像番号iを初期値1に設定する。これにより、1番目の位置合わせ画像が処理対象に設定される。
【0047】
ステップS22:制御部15は、i番目の位置合わせ画像の各画素のエラー値を読み込む。
【0048】
ステップS23:制御部15は、i番目の位置合わせ画像の各画素のエラー値を、その画素の座標に応じて、前述した超解像画像の画像空間(超解像画像空間)上へ投影(マッピング)することにより、超解像画像と同サイズのエラー値マップを作成する。
【0049】
なお、位置合わせ画像における各画素の座標間隔は不均一であるので、エラー値マップ上では、エラー値を有した画素(有効画素)とエラー値を有していない画素(非有効画素)とが不規則的に混在することになる。
【0050】
ステップS24:制御部15は、全ての位置合わせ画像に関するエラー値マップの作成が完了したか否かを判別し、完了した場合はステップS26へ移行し、完了していなかった場合は、ステップS25へ移行する。
【0051】
ステップS25:制御部15は、画像番号iをインクリメントしてからステップS22へ戻る。したがって、制御部15は、全ての位置合わせ画像の各々に関するエラー値マップを取得する。
【0052】
ステップS26:制御部15は、全ての位置合わせ画像の各々に関するエラー値マップの画素値(エラー値)が0〜1の範囲に収まるよう、それらのエラー値マップに対して規格化係数を乗算し、それらのエラー値マップを規格化する。このようにして規格化されたエラー値マップが、前述した位置合わせマップである。これによって、全ての位置合わせ画像の各々に関する位置合わせマップが完成する。なお、本ステップにおける制御部15は、基準画像の位置合わせマップとして、全ての画素値(エラー値)が0となった位置合わせマップを作成する。なぜなら、基準画像は位置合わせの基準であったので、基準画像の全画素のエラー値はゼロとなるはずである。
【0053】
図5は、制御部15による合成処理のフローチャートである。以下、図5の各ステップを順に説明する。
【0054】
ステップS41:制御部15は、1枚の基準画像と複数枚の位置合わせ画像とからなる一連の画像を合成対象画像として読み込むと共に、それら複数枚の合成対象画像の各々の位置合わせマップ(前述)を読み込む。
【0055】
ステップS42:制御部15は、画像番号iを初期値0に設定する。これにより、0番目の合成対象画像が処理対象に設定される。
【0056】
ステップS43:制御部15は、i番目の合成対象画像を周波数分解する。合成対象画像の周波数分解は、例えば以下の手順(a)〜(d)により行われる。
【0057】
(a)制御部15は、合成対象画像(図6A)に対して平滑化効果のある空間周波数フィルタ処理を施すことにより、合成対象画像(図6A)から第1周波数成分(図6B)を抽出する。なお、この空間周波数フィルタ処理では、井戸型フィルタ、バイラテラルフィルタ、ガウシアンフィルタなど、平滑化効果のある公知の何れかの空間周波数フィルタを使用することができる。
【0058】
(b)制御部15は、第1周波数成分(図6B)に対して平滑化効果のある空間周波数フィルタ処理を施すことにより、第1周波数成分(図6B)から第2周波数成分(図6C)を抽出する。なお、この空間周波数フィルタ処理でも、井戸型フィルタ、バイラテラルフィルタ、ガウシアンフィルタなど、平滑化効果のある公知の何れかの空間周波数フィルタを使用することができる。また、この手順(b)で使用される空間周波数フィルタのサイズは、手順(a)で使用された空間周波数フィルタのサイズと同じであっても異なってもどちらでも構わない。また、この手順(b)で使用される空間周波数フィルタの種類は、手順(b)で使用された空間周波数フィルタの種類と同じであっても異なってどちらでも構わない。
【0059】
(c)制御部15は、合成対象画像(図6A)から第1周波数成分(図6B)を減算することにより、第1差分画像(図6D)を生成する。
【0060】
(d)制御部15は、第1周波数成分(図6B)から第2周波数成分(図6C)を減算することにより、第2差分画像(図6E)を生成する。
【0061】
したがって、第1差分画像(図6D)と、第2差分画像(図6E)と、第2周波数成分(図6C)とを加算すると、合成対象画像(図6A)を復元することができる。よって、本ステップでは、第1差分画像(図6D)と、第2差分画像(図6E)と、第2周波数成分(図6C)とを、分解後の各空間周波数成分とする。以下、最も高階層である第1差分画像(図6D)を「第1階層のバンド画像」と称し、次に高階層である第2差分画像(図6E)を「第2階層のバンド画像」と称し、最も低階層である第2周波数成分(図6C)を「第3階層のバンド画像」と称す。因みに、このように或る画像を最も低階層の空間周波数成分と階層間の差分画像との和で表現する方法を一般に、「ラプラシアンピラミッド表現」という。
【0062】
なお、本ステップでは、複数階層のバンド画像の表現方法としてラプラシアンピラミッド表現を採用したが、他の表現方法を採用してもよい。また、本ステップでは、分解後のバンド画像の階層数を3としたが、2又は4以上としてもよい。但し、以下の説明では、階層数が3であると仮定する。
【0063】
ステップS44:制御部15は、第1階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影(マッピング)することにより、第1階層のバンド画像のサイズを、超解像画像と同サイズに変換(アップスケーリング)する。また、制御部15は、第2階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影(マッピング)することにより、第2階層のバンド画像のサイズを、超解像画像と同サイズに変換(アップスケーリング)する。また、制御部15は、第3階層のバンド画像の各画素を、その画素の座標に応じて、超解像画像空間上へ投影(マッピング)することにより、第3階層のバンド画像のサイズを、超解像画像と同サイズに変換(アップスケーリング)する。
【0064】
なお、バンド画像の生成元となった合成対象画像が(基準画像ではなく)位置合わせ画像であった場合、サイズ変換後のバンド画像上では、画素値を有した画素(有効画素)と、画素値を有していない画素(非有効画素)とが不規則的に混在することになる。
【0065】
一方、バンド画像の生成元となった合成対象画像が基準画像であった場合、サイズ変換後のバンド画像上では、画素値を有した画素(有効画素)と、画素値を有していない画素(非有効画素)とが規則的に配列することになる。
【0066】
なお、本実施形態では、周波数分解するステップS43を、投影するステップS43の前段で行ったが、投影するステップS43の後段で行ってもよい。但し、前段で行った方が、周波数分解の対象となる画像の画素数を抑えることができるので、周波数分解に要する演算量を抑えることができる。
【0067】
ステップS45:制御部15は、全ての合成対象画像に対する周波数分解が完了したか否かを判別し、完了した場合はステップS47へ移行し、完了していなかった場合は、ステップS46へ移行する。
【0068】
ステップS46:制御部15は、画像番号iをインクリメントしてからステップS43へ戻る。したがって、周波数分解は、複数枚の合成対象画像の各々について行われる。
【0069】
ステップS47:制御部15は、階層番号kを初期値1に設定する。これにより、第1階層が処理対象に設定される。
【0070】
ステップS48:制御部15は、複数枚の合成対象画像の各々に関する第k階層のバンド画像を参照し、それら複数枚のバンド画像を画像間で平均化することにより、第k階層の平均バンド画像を生成する。
【0071】
この際、制御部15は、複数枚のバンド画像の間で共通の座標を有した複数の画素の平均値を算出し、その平均値を、平均バンド画像の対応する画素の画素値とする。但し、制御部15は、共通の座標を有した複数の画素の中に非有効画素が存在していた場合は、その非有効画素を平均化の対象から外す。
【0072】
また、制御部15は、その平均化に重み付け平均を採用する。この際、制御部15は、各画素に付与すべき重みを、前述した位置合わせマップの対応する画素値(エラー値)に従って決定する。具体的には、エラー値の大きい画素ほど小さな重みを付与し、エラー値の小さい画素ほど大きな重みを付与する。このようにすれば、位置合わせ精度の高い画素(すなわち信頼性の高い画素)を平均バンド画像に対して強く反映させることができる。
【0073】
ステップS49:制御部15は、全ての階層に関する平均化が完了したか否かを判別し、完了した場合はステップS411へ移行し、完了していなかった場合はステップS410へ移行する。
【0074】
ステップS410:制御部15は、階層番号kをインクリメントしてからステップS48へ戻る。したがって、平均バンド画像は、複数階層の各々について生成される。
【0075】
ステップS411:制御部15は、複数階層の各々について生成された平均バンド画像を参照し、それら複数枚の平均バンド画像を加算することにより、1枚の仮の合成画像を生成する。
【0076】
ステップS412:制御部15は、ステップS411で生成された仮の合成画像に対して再構成処理(最適化処理)を施すことにより超解像画像を生成し、それを最終の合成画像とする。仮の合成画像に対する再構成処理は、以下の手順(e)〜(h)により行われる。
【0077】
(e)制御部15は、基準画像に対してサイズ拡大処理を施すことにより、超解像画像と同じサイズの基準画像を作成する。なお、この基準画像は、再構成処理の初期画像として使用されるものなので、厳密なものである必要は無い。よって、このサイズ拡大処理は、画素の補間を伴うものであっても構わない。
【0078】
(f)制御部15は、サイズ拡大後の基準画像を、最適化処理の初期画像(超解像画像の初期値)に設定する。なお、再構成処理の繰り返し回数の増大を無視できるのであれば、超解像画像の初期画像として他の画像を使用しても構わない。
【0079】
(g)制御部15は、現時点における超解像画像Xと、仮の合成画像Yとを、例えば式(1)で表される評価関数に当てはめることにより、現時点における超解像画像Xの評価値εを算出する。
【0080】
【数1】

なお、式(1)におけるPSFは、前述した撮像装置に固有の点拡がり関数(点像分布関数)である。また、式(1)におけるΣは、仮の合成画像上の全ての有効画素に関する和を表している。
【0081】
(h)制御部15は、評価値εに応じて超解像画像を更新しながら手順(g)を繰り返すことで、評価値εが最小となるような超解像画像を見出し、その超解像画像を、最終の合成画像とする。
【0082】
なお、本ステップでは、超解像画像から推定される画素値と、仮の合成画像の画素値との間の2乗誤差を表す評価関数を使用し、その評価関数から算出される評価値εが最小となるように超解像画像を最適化する方法(ML法)を採用したが、事後確率最大化法(MAP法)などの他の方法を採用してもよい。因みに、MAP法を採用する場合は、評価関数として以下の式を使用すればよい。
【0083】
【数2】

この評価関数は、ML法の評価関数に対して超解像画像の事前情報を示す第二項を加えたものである。
【0084】
図7は、本実施形態の超解像処理の効果を説明する図である(なお、図7では、合成対象画像の枚数を3とした。)。
【0085】
図7に示すとおり、本実施形態の超解像処理では、複数枚のターゲット画像の各々を基準画像に対して位置合わせすることにより(図7A、図7B)、複数枚の位置合わせ画像を生成し、それら1枚の基準画像及び複数枚の位置合わせ画像を、合成対象画像とする。
【0086】
続いて、本実施形態の超解像処理では、それら複数枚の合成対象画像の各々を、複数階層の空間周波数成分(バンド画像)へと分解し(図7C、図7D、図7E)、超解像画像と同サイズに変換する(図7F、図7G、図7H)。
【0087】
そして、本実施形態の超解像処理では、生成された複数階層のバンド画像を、階層毎に画像間で平均化することで(図7I)、各階層の平均バンド画像を生成し、それらの平均バンド画像を加算することにより(図7J)、仮の合成画像を生成する。
【0088】
このような平均化処理(図7I)によると、複数枚の合成対象画像(1枚の基準画像及び複数枚の位置合わせ画像)の間に生じていた撮影条件(露出、ホワイトバランス調整量、ISO感度などの組み合わせ)の揺らぎの影響は、除去される。
【0089】
しかも、その平均化処理(図7I)は、同じ階層のバンド画像同士で行われるので、合成対象画像(1枚の基準画像及び複数枚の位置合わせ画像)の各々に含まれていた高周波数成分(微細構造)が鈍ってしまうという問題は発生しない。
【0090】
したがって、本実施形態の平均化処理によると、複数枚の合成対象画像(1枚の基準画像及び複数枚の位置合わせ画像)の各々に含まれていた微細構造を維持しつつ、揺らぎの影響のみを除去することができる。
【0091】
したがって、本実施形態の超解像処理によると、仮の合成画像を良好に生成することができる。
【0092】
また、本実施形態の平均化処理は、重み付け平均であり、その重みは位置合わせマップに従って設定されるので、複数枚の合成対象画像に含まれる信頼性の高い画素を、平均バンド画像に対して強く反映させることができる。
【0093】
そして、本実施形態の超解像処理では、以上のとおり生成された良好な仮の合成画像に対して再構成処理を施すので(図7L)、再構成処理後の超解像画像が真値から著しく外れる可能性は低く抑えられる。
【0094】
因みに、図7Kは、再構成処理の初期画像として使用される基準画像のサイズ拡大処理を表している。
【0095】
なお、本実施形態では、画像処理機能を搭載したコンピュータを説明したが、画像処理機能を搭載した他の機器、例えばディジタルフォトフレーム、プリンタなどにも本発明は適用可能である。
【0096】
[第2実施形態]
以下、本発明の第2実施形態としてコンピュータを説明する。なお、本実施形態は第1実施形態の変形例であるので、ここでは第1実施形態との相違点のみを説明する。相違点は、合成処理の一部にある。
【0097】
図8は、本実施形態の制御部15による合成処理のフローチャートである。
【0098】
図8に示すとおり、本実施形態の合成処理のフローチャートは、図7におけるフローチャートにおいて、ステップS411、S412の代わりに、ステップS412’、ステップS411’を挿入したものである。以下、ステップS412’、S411’を説明する。
【0099】
ステップS412’:制御部15は、複数階層の各々について生成された平均バンド画像に対して階層毎の再構成処理(最適化処理)を施すことにより、複数階層の超解像バンド画像を生成する。各階層の再構成処理は、上述した手順(f)〜(h)と同様に行われる。但し、各階層の再構成処理の初期画像は、例えば次のとおり設定される。
【0100】
すなわち、制御部15は、基準画像に対してサイズ拡大処理を施してから、ステップS43と同様の周波数分解を行うことにより、複数階層の基準バンド画像を生成し、そのうち第1階層の基準バンド画像を、第1階層の再構成処理の初期画像に設定し、第2階層の基準バンド画像を、第2階層の再構成処理の初期画像に設定し、第3階層の基準バンド画像を、第3階層の再構成処理の初期画像に設定する。
【0101】
ステップS411’:制御部15は、階層毎の再構成処理で生成された、複数階層の超解像バンド画像を参照し、それら複数階層の超解像バンド画像を加算することにより、1枚の合成画像を生成する。この合成画像が、本実施形態における最終の合成画像(超解像画像)である。
【0102】
図9は、本実施形態の超解像処理の効果を説明する図である(なお、図9では、合成対象画像の枚数を3とした。)。また、図9において図7における処理と同じものには同じ符号を付した。
【0103】
図9に示すとおり、本実施形態の超解像処理では、階層毎の平均バンド画像を生成した後、それらを合成する前に、階層毎に再構成処理を行う点(図9L’、図9J’)において、第1実施形態の超解像処理とは異なる。
【0104】
しかし、本実施形態の超解像処理においても、複数階層のバンド画像を、階層毎に画像間で平均化するので(図9I)、第1実施形態の超解像処理と同様の効果を得ることができると考えられる。
【0105】
[第3実施形態]
以下、本発明の第3実施形態として画像処理機能を搭載した電子カメラを説明する。
【0106】
図11は、電子カメラ100の構成を示す図である。図11に示すとおり電子カメラ100は、撮影レンズ部111、撮像部113、画像表示部114、記録部115、操作部116、制御部117などを備える。なお、撮像部113、画像表示部114、記録部115、制御部117は、バスを介して相互に接続される。
【0107】
撮影レンズ部111は、被写体からの光束を結像する。
【0108】
撮像部113は、CCD等の撮像素子112、撮像素子112の駆動回路などを備え、撮像素子112の撮像面を、撮影レンズ部111による光束の結像面の近傍に配置している。
【0109】
撮像部113は、制御部117からの指示に応じて撮像素子112を駆動し、被写体の像を表す画像を取得すると共に、制御部117からの指示に応じて、撮像素子112の露出量や、取得した画像へ乗算すべきゲイン値(ISO感度)などを設定する。
【0110】
画像表示部114は、液晶表示素子などの画像表示素子を備え、制御部117から指定された画像を適当な形式で表示する。
【0111】
記録部115は、制御部117から指定された画像を、不図示のメモリ(内部メモリ又は外部メモリ)に対して記録する。
【0112】
操作部116は、レリーズボタンなどを有し、ユーザから各種の指示を受け付けて制御部117へと伝達する。
【0113】
制御部117は、制御部117の動作に必要なプログラムを予め記憶しており、このプログラムと、ユーザから入力された指示とに従って、電子カメラ100の各部を制御すると共に、撮像部113が取得した画像、又は、不図示のメモリに記録された画像に対して画像処理を施す。この画像処理には、ホワイトバランス調整処理、色補間処理、超解像処理などがある。また、制御部117は、ユーザからの指示、画像の内容、被写体の状況の少なくとも1つに応じて、撮影条件(露出、ホワイトバランス調整量、ISO感度などの組み合わせ)を、設定することもできる。
【0114】
なお、制御部117が予め記憶するプログラムは、有線、無線を経由したインターネットを介して取得したものであっても良いし、記録媒体などを介して取得したものであっても良い。
【0115】
ここで、本実施形態の制御部117が実行する超解像処理には、上述した何れかの実施形態の超解像処理が含まれる。したがって、本実施形態の電子カメラ100は、撮像部113で取得した複数の画像や、不図示のメモリに記録された複数の画像に対して、上述した何れかの実施形態の超解像処理を施すことができる。
【0116】
[実施形態の変形例]
なお、上述した何れかの実施形態の制御部は、次のように動作してもよい。
【0117】
すなわち、制御部は、超解像処理の実行に先立ち、超解像処理の対象となる画像群の各々に付与された撮影情報に基づき、その画像群の間で撮影条件(露出、ホワイトバランス調整量、ISO感度などの組み合わせ)の揺らぎが発生しているか否かを判別する。そして、制御部は、揺らぎが発生していた場合には、上述した超解像処理(マルチバンド超解像処理)を実行し、揺らぎが発生していなかった場合には、通常の超解像処理を実行する。このように、マルチバンド超解像処理の発現を必要なときのみに制限すれば、処理の効率化を図ることができる。
【0118】
なお、ここでいう「通常の超解像処理」とは、マルチバンド超解像処理において、複数の合成対象画像を周波数分解せずに合成することで仮の合成画像を生成するものである。この合成の方法には、公知の何れかの合成方法を適用することができる。
【0119】
また、第3実施形態の制御部は、電子カメラの制御であるので、上述した判別を画像群の撮影期間中にリアルタイムで行ってもよい。
【0120】
また、上記した何れかの実施形態では、超解像処理の対象となる画像群がモノクロ画像であると仮定したが、その画像群が色補間後のカラー画像であった場合には、超解像処理をカラー画像の色成分毎(RGB別)に実施すればよい。
【0121】
但し、位置合わせ処理については、特定の色成分(例えばG成分)の画素(G画素)の位置合わせを最初に行い、その画素の位置合わせ結果に基づき、他の色成分(B、R成分)の画素(B画素、R画素)の位置合わせ結果を導出してもよい。この際には、G画素と、B画素と、R画素との位置関係が考慮される。
【0122】
また、超解像処理の対象となる画像群が色補間前のカラー画像(例えばベイヤ配列の画像)であった場合は、以下の2通りの何れかの方法を採用することができる。
【0123】
(1)位置合わせ処理については色成分毎(RGB別)に行うが、周波数分解を行う前に、位置合わせ画像に対して色補間処理(ベイヤ配列の場合はデベイヤ処理)を施す方法。
【0124】
(2)位置合わせ処理については色成分毎(RGB別)に行い、周波数分解についても色成分毎に行う方法。その場合、周波数分解における色成分毎の空間周波数フィルタ処理は、例えば次のとおり行えばよい。すなわち、G画素に対する空間周波数フィルタ処理では、そのG画素を中心とした所定範囲内の複数のG画素を参照画素として使用し、B画素に対する空間周波数フィルタ処理では、そのB画素を中心とした所定範囲内の複数のB画素を参照画素として使用し、R画素に対する空間周波数フィルタ処理では、そのR画素を中心とした所定範囲内の複数のR画素を参照画素として使用する。
【0125】
なお、ベイヤ配列(図10参照)ではG画素の配置密度とR画素又はB画素の配置密度とが異なるので、G画素の参照範囲と、B画素又はR画素の参照範囲とが異なるサイズに設定されてもよい(図10に点線で示すのは、B画素の参照範囲の例である。)。
【0126】
また、上述した何れかの実施形態では、位置合わせ処理の実行されるタイミングを周波数分解処理の前としたが、周波数分解処理の後であってもよい。つまり、位置合わせ処理の実行されるタイミングは、平均化処理より前の任意のタイミングでよい。
【符号の説明】
【0127】
1…コンピュータ、11…取得部、12…記録部、13…画像表示部、14…操作部、15…制御部

【特許請求の範囲】
【請求項1】
位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する処理をコンピュータに実行させる画像処理プログラムであって、
前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、
前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、
前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成ステップと
を含むことを特徴とする画像処理プログラム。
【請求項2】
請求項1に記載の画像処理プログラムにおいて、
前記分解ステップの前又は後のタイミングで前記複数枚の画像の位置合わせを行う位置合わせステップを更に含む
ことを特徴とする画像処理プログラム。
【請求項3】
請求項1又は請求項2に記載の画像処理プログラムにおいて、
前記分解ステップでは、
前記複数枚の画像の各々を、ラプラシアンピラミッド表現された複数階層の空間周波数成分へと分解する
ことを特徴とする画像処理プログラム。
【請求項4】
請求項1〜請求項3の何れか一項に記載の画像処理プログラムにおいて、
前記平均化ステップでは、
前記平均化に重み付け平均を採用する
ことを特徴とする画像処理プログラム。
【請求項5】
請求項4に記載の画像処理プログラムにおいて、
前記平均化ステップでは、
前記重み付け平均の重みを、前記複数枚の画像の各々の位置合わせ精度に基づき設定する
ことを特徴とする画像処理プログラム。
【請求項6】
請求項1〜請求項5の何れか一項に記載の画像処理プログラムにおいて、
前記合成ステップでは、
前記合成画像に対して再構成処理を施す
ことを特徴とする画像処理プログラム。
【請求項7】
請求項1〜請求項5の何れか一項に記載の画像処理プログラムにおいて、
前記合成ステップでは、
前記合成を行う前に、前記階層毎の平均空間周波数成分の各々に対して再構成処理を施す
ことを特徴とする画像処理プログラム。
【請求項8】
請求項1〜請求項7の何れか一項に記載の画像処理プログラムにおいて、
前記複数枚の画像の間に揺らぎが発生しているか否かを判別し、発生していなかった場合には、前記分解ステップの動作を制限する制限ステップを更に含む
ことを特徴とする画像処理プログラム。
【請求項9】
位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する画像処理方法であって、
前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解ステップと、
前記分解ステップにより画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化ステップと、
前記平均化ステップにより生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成ステップと
を含むことを特徴とする画像処理方法。
【請求項10】
位置ずれを含む複数枚の画像から、それら画像の各々よりも解像度の高い合成画像を生成する画像処理装置であって、
前記複数枚の画像の各々を周波数分解し、複数階層の空間周波数成分を画像毎に生成する分解手段と、
前記分解手段により画像毎に生成された複数階層の空間周波数成分を、階層毎に画像間で平均化し、階層毎の平均空間周波数成分を生成する平均化手段と、
前記平均化手順により生成された前記階層毎の平均空間周波数成分を合成し、合成画像を生成する合成手段と
を備えたことを特徴とする画像処理装置。
【請求項11】
被写体を撮像して画像を生成する撮像手段と、
前記撮像手段が生成した複数枚の画像を処理する請求項10に記載の画像処理装置と
を備えたことを特徴とする撮像装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−226489(P2012−226489A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92232(P2011−92232)
【出願日】平成23年4月18日(2011.4.18)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】