(57)【要約】【課題】様々な撮像条件にて画像の十分な高精細化を行える画像処理装置を提供する。【解決手段】画像処理装置１１０は、撮像系１００，１０２により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段１１０５と、該各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段１１０４とを有する。処理手段は、撮像系における該入力画像の生成時の撮像条件に対応する応答関数であって、記憶手段から読み出した、または演算により生成した応答関数を用いて画像処理を行う【選択図】図１
2012003454.tif 000002
【特許請求の範囲】
【請求項１】
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有し、
前記処理手段は、前記撮像系における前記入力画像の生成時の撮像条件に対応する前記応答関数であって、記憶手段から読み出した、または演算により生成した応答関数を用いて前記画像処理を行うことを特徴とする画像処理装置。
【請求項２】
前記撮像条件は、前記撮像系の絞り値、撮像倍率、焦点距離および撮像光の波長のうち少なくとも１つであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、複数の前記撮像条件に対応する前記応答関数を記憶しており、
前記処理手段は、前記入力画像の生成時の撮像条件が前記複数の撮像条件と異なるときは、該記憶手段に記憶されている前記応答関数を用いた補間処理または補正処理により前記画像処理に用いる前記応答関数を生成することを特徴とする請求項１又は２に記載の画像処理装置。
装置。
【請求項４】
撮像系と、
請求項１から３のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項５】
コンピュータに、
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う画像処理ステップとを有し、
前記画像処理ステップにおいて、前記撮像系における前記入力画像の生成時の撮像条件に対応する前記応答関数であって、記憶手段から読み出した、または演算により生成した応答関数を用いて前記画像処理を行うことを特徴とする画像処理プログラム。
【請求項６】
請求項５に記載の画像処理プログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，撮像装置より取得される画像の解像度を向上させる高精細画像生成技術に関する。
【背景技術】
【０００２】
撮像系によって生成された画像を高精細化するための技術として超解像技術が知られている。再構成型に分類される超解像技術においては、撮像系における劣化過程を観測モデルとしてモデル化し、その逆問題として高精細化を行う。
【０００３】
逆問題を解く方法として、撮影画像上のエイリアシングを利用した周波数領域法や、事前情報の事後確率を最適化することにより高精細画像を推定するＭＡＰ(Maximum a posteriori)法が提案されている。また、ＰＯＣＳ(Projection onto Convex Sets)法という様々な事前情報を組み合わせることにより推定を行う手法も提案されている。
【０００４】
観測モデルは、撮像系のモーション、光学系による劣化、ＣＦ(Color Filter)およびＬＰＦ(Low-Pass Filter)の効果から求まる撮像系の応答関数と、イメージセンサにおけるサンプリングとで構成される。この観測モデルにおける実際の撮像系による劣化過程に対する再現精度が超解像技術による高精細化の精度に大きく依存することが知られており、様々な観測モデルが提案されている。
【０００５】
特許文献１には、撮像系の応答関数として、光学系による劣化を表す光学系ＰＳＦ(Point Spread Function、点像分布関数)を利用した観測モデルを使用した超解像処理が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−０９５３２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１にて開示された画像の全領域に対して単一の応答関数を使用する超解像処理では、該単一の応答関数と本来の撮像系の応答関数との差が大きくなる領域においては十分な高精細化を行うことができない。
【０００８】
さらに、絞り値、焦点距離および撮影光の波長（撮像波長）等の撮像条件が変更されたにもかかわらず、同じ応答関数を用いて超解像処理を行っても、良好な高精細画像を得ることができない可能性がある。
【０００９】
本発明は、様々な撮像条件においても画像の十分な高精細化を行えるようにした画像処理装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【００１０】
本発明の一側面としての画像処理装置は、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、該各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有する。そして、処理手段は、撮像系における該入力画像の生成時の撮像条件に対応する応答関数であって、記憶手段から読み出した、または演算により生成した応答関数を用いて画像処理を行うことを特徴とする。
【００１１】
なお、撮像系と上記画像処理装置とを有する撮像装置も本発明の他の一側面を構成する。
【００１２】
また、本発明のさらに他の一側面としての画像処理プログラムは、コンピュータに、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、該各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う画像処理ステップとを有する。そして、画像処理ステップにおいて、撮像系における入力画像の生成時の撮像条件に対応する応答関数であって、記憶手段から読み出した、または演算により生成した応答関数を用いて画像処理を行うことを特徴とする。
【００１３】
なお、上記画像処理プログラムを格納した記憶媒体も本発明の他の一側面を構成する。
【発明の効果】
【００１４】
本発明によれば、入力画像生成時の撮像条件に対応した撮像系の応答関数を用いて該入力画像に対する高精細化処理を行うことができる。これにより、様々な撮像条件にて生成された入力画像からでも、良好な高精細画像を生成することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例１である撮像装置の構成を示すブロック図。
【図２】実施例１の撮像装置の動作を示すフローチャート。
【図３】実施例１の撮像装置における画像領域分割処理を示すフローチャート。
【図４】実施例１の撮像装置における高精細画像処理を示すフローチャート。
【図５】本発明の実施例２である撮像装置の構成を示すブロック図。
【図６】実施例２の撮像装置の動作を示すフローチャート。
【図７】Ｆ値が小さい場合と大きい場合のＰＳＦを示す図。
【図８】実施例２において線形補間で生成したＰＳＦを示す図。
【図９】実施例２においてＰＳＦ補正に使用されるガウシアン関数を示す図。
【図１０】実施例２においてガウシアン関数で補正したＰＳＦを示す図。
【図１１】本発明の実施例３である画像処理装置の構成を示す概略図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１７】
図１には、本発明の実施例１である撮像装置１の構成を示している。撮像装置１は、結像光学系１００と、露光量制御部材１０１と、撮像素子１０２と、ＡＤ変換部１０３と、ズーム制御部１０４と、露光制御部１０５と、ＡＦ制御部１０６と、振れ検出部１０７とを有する。また、撮像装置１は、システム制御回路１０８と、メモリ１０９と、画像処理装置１１０と、視覚補正部１１１と、圧縮部１１２と、画像出力部１１３とを有する。ｆは撮像装置１により撮像される被写体である。
【００１８】
図１において、被写体ｆからの光は、結像光学系１００および露光量制御部材１０１を通して撮像素子１０２上に結像する。露光量制御部材１０１は、絞りやシャッタを含む。
【００１９】
撮像素子１０２は、被写体像を電気信号に変換するＣＣＤセンサやＣＭＯＳセンサ等のイメージセンサである。ＡＤ変換部１０３は、撮像素子１０２から出力されたアナログ電気信号をデジタルデータに変換する。結像光学系１００、露光量制御部材１０１、撮像素子１０２およびＡＤ変換部１０３により撮像系が構成される。
【００２０】
ズーム制御部１０４は、結像光学系１００のズーミングを制御する。露光制御部１０５は、露光制御部材１０１の動作を制御する。ＡＦ制御部１０６は、結像光学系１００のフォーカシングを制御する。
【００２１】
振れ検出部１０７は、撮像装置１の振れを検出する。システム制御回路１０８は、撮像装置１全体の動作の制御を司るマイクロコンピュータ等により構成されている。
【００２２】
メモリ１０９は、システム制御回路１０８での動作制御用のデータや処理プログラム（後述する画像処理プログラムを含む）を記憶する。
【００２３】
画像処理装置１１０は、ＡＤ変換部１０３でデジタルデータ化された撮影画像（入力画像）に対して画像精細度を増加させる、すなわち高精細化のための画像処理（高精細化処理）を行って、高精細画像を生成する。
【００２４】
視覚補正部１１１は、画像処理装置１１０により生成された高精細画像の画質を向上させるための処理、例えばトーンカーブ（ガンマ）補正、彩度強調、色相補正およびエッジ強調といった画像補正処理を行う。
【００２５】
圧縮部１１２は、視覚補正部１１１から出力された高精細画像をＪＰＥＧ等の圧縮方法により画像圧縮を行って記録用の画像サイズを小さくする。
【００２６】
画像出力部１１３は、圧縮部１１２により圧縮された画像を、不図示のモニタに表示したり半導体メモリや光ディスク等の記録媒体に記録したりする。
【００２７】
次に、画像処理装置１１０の構成について説明する。１１０１は撮像条件取得部であり、システム制御部１０８から、撮像倍率、絞り値、焦点距離等の撮像条件を取得する。
【００２８】
１００２は撮像系応答関数記憶部であり、撮像系の応答関数（以下、撮像系応答関数という）であって、複数の撮像条件に対応した複数の撮像系応答関数（撮像条件ごとの撮像系応答関数）を予め記憶している。
【００２９】
１１０３は撮像系応答関数選択部であり、撮像系応答関数記憶部１１０２に記憶されている複数の撮像系応答関数から、入力画像としての撮影画像の撮像時（生成時）の撮像条件に対応した撮像系応答関数を選択する。
【００３０】
１１０５は画像領域分割部であり、ＡＤ変換部１０３からの撮影画像を、領域分割用の撮像系応答関数を用いて複数の領域に分割する。領域分割用の撮像系応答関数については後述する。
【００３１】
１１０４は高精細画像処理部であり、画像領域分割部１１０５により取得した画像領域分割情報および撮像系応答関数選択部１１０３から取得した撮影画像の撮像時の撮像条件に対応した撮像系応答関数を用いて、入力画像に対して高精細化処理を行う。
【００３２】
次に、撮像装置１の動作について、図２のフローチャートを用いて説明する。図２は、撮像装置１により被写体ｆを撮像し、撮影画像から高精細画像を生成して画像出力部１１３から出力するまでの処理を示すフローチャートである。この処理は、システム制御回路１０８が、不図示のメモリに格納されたコンピュータプログラム（画像処理プログラム）に従って実行する。このことは、後述する他の実施例でも同じである。
【００３３】
ステップＳ２０１において、不図示の撮影開始ボタンがユーザにより操作されると、システム制御回路１０８は、露光制御部１０５に露光条件（絞り値や露光時間等）を決定させ、またＡＦ制御部１０６にフォーカシングを行わせる。決定された露光条件、フォーカス位置およびズーム位置等の撮像条件は、メモリ１０９に記憶される。
【００３４】
また、システム制御回路１０８は、振れ検出部１０７を通じて撮像装置１の手振れ等の振動が発生していることを検知した場合には、結像光学系１００内の不図示の振れ補正光学系を駆動して像振れ補正を行う。
【００３５】
そして、システム制御回路１０８は、撮像素子１０２に被写体像を光電変換させる。撮像素子１０２からは、被写体像の輝度に応じたアナログ信号が出力される。該アナログ信号は、ＡＤ変換部１０３によってデジタルデータに変換されることにより撮影画像が生成される。撮影画像は、画像処理装置１１０に伝送される。
【００３６】
次にステップＳ２０２では、システム制御回路１０８は、撮像条件取得部１１０１において、高精細化処理の対象となる撮影画像の撮像時における撮像条件を取得する。メモリ１０９には、ステップＳ２０１の段階で撮像時の撮像条件データが格納されており、撮像条件取得部１１０１からの要求に応じた撮像条件データが撮像条件取得部１１０１へと伝送される。撮像条件としては、前述したように、絞り値、撮像倍率および焦点距離のうち少なくとも１つであってもよいし、それら以外でも、撮像系応答関数が変化するようなパラメータであればよい。
【００３７】
次にステップＳ２０３では、システム制御回路１０８は、画像領域分割部１１０５に、撮影画像を、それぞれシフトインバリアント領域としての複数の領域に分割する画像領域分割処理を行わせる。ここにいうシフトインバリアント領域とは、高精細化処理について同じ撮像系応答関数を使用する領域を意味する。言い換えれば、複数のシフトインバリアント領域がある場合、該シフトインバリアント領域ごとに異なる撮像系応答関数を用いた高精細化処理が行われる。
【００３８】
画像領域分割処理について、図３（ａ）に示すフローチャートを用いて説明する。まず、ステップＳ３０１では、画像領域分割部１１０５は、ある注目画像領域の仮領域分割を行う。仮領域分割では、領域分割を試行することで得られた複数の領域（仮分割領域）の評価値を算出するために行われる。該評価値に応じて、仮分割領域をその後に正式な分割領域として使用するか否かが判定される。
【００３９】
次にステップＳ３０２では、画像領域分割部１１０５は、領域分割用の撮像系応答関数を、各仮分割領域の代表的な位置（例えば、各仮分割領域の中心画素）について生成する。領域分割用の撮像系応答関数の生成方法はどのような方法でもよく、例えば、撮像系の設計情報を用いて光線追跡により算出する方法や、予め測定して記憶した領域分割用の撮像系応答関数を読み出す方法でもよい。
【００４０】
次にステップＳ３０３では、画像領域分割部１１０５は、ステップＳ３０２で生成した各仮分割領域の領域分割用の撮像系応答関数を用いて、各仮分割領域での評価値（以下、分割評価値という）Ｉを算出する。
【００４１】
本実施例では、分割評価値Ｉは、撮像系応答関数の１つである撮像系ＭＴＦ（Modulation Transfer Function、変調伝達関数）を用いて、以下の式（１）により算出する。
【００４２】
【数１】
2012003454.tif 000003
【００４３】
ただし、ξは空間周波数であり、ＭＴＦは撮像系ＭＴＦである。ξ１とξ２はそれぞれ、空間周波数の上限下限を設定する定数である。分割評価値Ｉは、撮像系ＭＴＦを空間周波数で積分したものである。
【００４４】
式（１）で表される分割評価値Ｉを各仮分割領域について算出し、これら評価値を比較することは、領域分割用の撮像系応答関数の変化（差）を評価することに相当する。このため、次に説明するように、領域分割用の撮像系応答関数の変化に応じた画像領域の分割結果を得ることが可能になる。
【００４５】
次にステップＳ３０４では、画像領域分割部１１０５は、ステップＳ３０３により算出された各仮分割領域の分割評価値を比較する。具体的には、仮分割領域の分割評価値の差を求め、該差の絶対値が予め設定した閾値（所定値）α以上になるか否かを判定する。そして、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが少なくとも１つある場合は、ステップＳ３０５に進む。
【００４６】
ステップＳ３０５では、画像領域分割部１１０５は、仮分割領域を正式な分割領域に設定する。そして、画像領域分割部１１０５は、このようにして得られた各分割領域について（つまりは、分割領域ごとに）ステップＳ３０１からステップＳ３０５の処理を繰り返す。
【００４７】
一方、ステップＳ３０４において、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが１つもない場合には、画像領域分割部１１０５は、仮分割領域を正式な分割領域として設定しない。この場合、ステップＳ３０１にて仮分割領域に分割する前の注目画像領域をシフトインバリアント領域とする。
【００４８】
画像領域分割部１１０５は、シフトインバリアント領域となった分割領域については、画像領域分割処理を終了する。さらに、分割された全ての画像領域がシフトインバリアント領域になると、画像領域分割処理を終了する。
【００４９】
領域分割用の撮像系応答関数の変化が画像全体（全画像領域）の中心では小さく、周辺ほど大きい場合には、最終的な全画像領域７０１の領域分割結果は図３（ｂ）に示すようになる。図３（ｂ）では、領域分割用の撮像応答関数の変化に合わせて分割領域の大きさを変化させた分割結果が得られている。
【００５０】
図２に戻り、ステップＳ２０４では、システム制御回路１０８は、撮像系応答関数選択部１１０３に、撮像系応答関数記憶部１１０２に記憶されている複数の撮像系応答関数の中から、ステップＳ２０２で取得した撮像条件に対応する撮像系応答関数を選択させる。
【００５１】
ここで、撮像系応答関数記憶部１１０２への撮像系応答関数の記憶方法と、撮像条件に対応する撮像系応答関数の選択方法について説明する。
【００５２】
撮像系応答関数とは、光学系に入射した光がデジタル画像として表示、記録されるまでに経る撮像系での劣化過程を表したものである。撮像系応答関数の表現方法としては、点像分布関数ＰＳＦ(Point Spread Function)や光学的伝達関数ＯＴＦ（Optical Transfer Function）等がある。本実施例では、撮像系応答関数としてＰＳＦを用いる場合について説明するが、その他の場合でも同様の処理を適用することができる。
【００５３】
ＰＳＦは、点光源を撮像系で撮像した場合に、最終的にどのような画像となって見えるかを光の強度と広がりについての３次元形状として表現したものである。そのため、撮像時の撮像条件によっては、ＰＳＦの形状は大きく異なったものとなる。例えば、撮像時に絞りのＦ値を大きくすればＰＳＦは広くなだらかな形状になり、逆にＦ値を小さくすればＰＳＦは狭く急峻な形状になる。このように、撮像条件が異なるとＰＳＦの形状も変化するため、ある特定の撮像条件におけるＰＳＦや、ガウシアン形状で近似したＰＳＦだけを撮像装置に記憶していたのでは、多様な撮像条件の全てについて良好な高精細画像を生成することはできない。
【００５４】
そこで、本実施例では、撮像系が取り得る範囲の全ての撮像条件におけるＰＳＦを撮像系応答関数記憶部１１０２に記憶しておくことにより、どのような撮像条件においても良好な高精細画像を生成可能なＰＳＦを用いることができるようにする。つまり、撮像系応答関数記憶部１１０２は、撮像条件が設定可能な最小単位ごとに、撮影画像の各画素についてのＰＳＦを記憶する。
【００５５】
撮像条件ごとのＰＳＦは、例えば撮像装置の工場出荷時に計測したものを記憶させてもよいし、光学設計情報を用いた光線追跡により撮像条件ごとのＰＳＦを算出して記憶させてもよい。また、ユーザがテストパターンを撮像し、そこからＰＳＦを算出したり、撮像装置に対応したＰＳＦのデータをネットワークを介してダウンロードして記憶させたりする等、いかなる記憶方法であってもよい。
【００５６】
そして、撮像系応答関数選択部１１０３は、ステップＳ２０２において取得した撮像条件に対応したＰＳＦを、撮像系応答関数記憶部１１０２に記憶されているＰＳＦの中から選択する。ここで、ＰＳＦの選択に使用する撮像条件には、前述した絞り値、撮影倍率および焦点距離以外に、被写体ｆからの光（撮像光）の波長もある。波長ごとのＰＳＦを記憶している場合には、例えば撮像装置が３板式のカラーカメラであれば、撮像系応答関数記憶部１１０２より、ＲＧＢの各波長に対応するＰＳＦを選択する。さらに、白黒カメラにカラーフィルタを装着して撮影する場合等であれば、カラーフィルタの分光特性に対応した波長におけるＰＳＦを選択するようにすればよい。
【００５７】
以上のようにして、撮像系応答関数選択部１１０３によって選択された撮像条件に対応したＰＳＦは、高精細画像処理部１１０４へと送られる。
【００５８】
そして、図２のステップＳ２０５において、システム制御回路１０８は、高精細画像処理部１１０４に、撮影画像に対する高精細化処理を行わせる。このステップでの処理の詳細を、図４のフローチャートを用いて説明する。ここでは、高精細化処理として、再構成型超解像処理を行う。再構成型の超解像処理は、撮像系の劣化過程をモデル化し、その逆問題を解くことで劣化過程を経る前の高解像画像を再構成するものである。
【００５９】
まず、超解像処理を行う画像をリファレンス画像とし、該リファレンス画像と同じ撮影シーンに対して微小に被写体に対する視点位置を変化させた撮像により得られた複数の画像（視点画像）を画像処理演算部１１０３に入力する。以下の説明において、リファレンス画像と視点位置が異なる複数の画像をいずれも撮影画像といい、さらにこれらをまとめて撮影画像群と称する。また、撮影画像数をＮとする。このとき、撮像画像群に含まれる画像数は、撮像系の性能、超解像処理の拡大倍率および超解像処理後の画像（超解像画像）の用途に応じて適宜設定される。
【００６０】
ステップＳ４０１では、高精細画像処理部１１０４は、入力されたリファレンス画像を設定された拡大倍率に応じて拡大処理し、最初の推定高精細画像（以下、初期推定高精細画像という）を生成する。拡大処理としては、単純な線形補間やスプライン補間等、どのような方法を使用してもよい。
【００６１】
次にステップＳ４０２では、高精細画像処理部１１０４は、ステップＳ２０３での画像領域分割処理の結果（画像領域分割情報）、各分割領域に対応する領域分割用の撮像系応答関数および初期推定高精細画像を用いて撮像系による劣化過程を演算する。これにより、低解像画像を生成する。撮像系による劣化過程の演算には、該劣化過程をモデル化した観測モデルを使用する。観測モデルは、撮像系応答関数の１つであるＰＳＦ(Point Spread Function、点像分布関数)を用いて以下のように与えられる。
【００６２】
【数２】
2012003454.tif 000004
【００６３】
ただし、Ｘは高精細画像であり、Ｙ′ｋは劣化過程後のｋ番目の低解像画像である。＊は畳み込み演算を示し、ｎは付加的なノイズを示す。また、ＰＳＦｋは、撮影画像群のうちｋ番目の撮影画像に対する撮像系応答関数を表す。劣化過程の演算は、式（２）の右辺の第一項を用いる。なお、観測モデルは上記計算式で表されるものに限られず、撮像系の特性や超解像処理のアルゴリズムに合わせて適宜決定すればよい。  
【００６４】
劣化過程を演算する際に、画像領域分割情報を用い、演算する画素が含まれる分割領域に対応する撮像系応答関数を用いて式（２）を演算する。
【００６５】
次にステップＳ４０３では、高精細画像処理部１１０４は、劣化過程処理を演算した低解像画像群を用いて評価値（以下、超解像評価値という）Ｊを、以下の式（３）により算出する。
【００６６】
【数３】
2012003454.tif 000005
【００６７】
ただし、Ｙｋはｋ番目の撮影画像を、Ｙ′ｋはｋ番目の低解像画像を、αは拘束パラメータをそれぞれ示す。また、ｃは推定高精細画像に対する事前情報を表す行列を示し、‖‖２はＬ２ノルムを示す。
【００６８】
超解像評価値Ｊの第一項は、撮影画像と推定高精細画像を劣化させて作成した低解像画像とを比較することで、推定高精細画像の評価を行う項である。超解像評価値Ｊの第二項は、推定高精細画像の尤もらしさを評価する項であり、推定高精細画像に対する既知の情報や性質を使用して評価を行う。拘束パラメータαは、画像や撮像系に合わせて適宜設定される。行列ｃは、例えばハイパスフィルタを用いる。
【００６９】
なお、超解像評価値Ｊとしては式（３）に示されるもの以外に、Sina Farsiu他による下記の文献Ａにて説明されているバイラテラルフィルタを用いて評価したり、色の相関を用いて評価したりしてもよい。
［文献Ａ］“Multiframe Demosaicing and Super-Resolution of ColorImages”(IEEE TRANSACTION ON IMAGE PROCESSING,VOL.15,NO.1,JANUARY 2006)
次にステップＳ４０４では、高精細画像処理部１１０４は、ステップＳ４０３で算出した超解像評価値Ｊが閾値（所定値）βより小さいか否かを判定する。閾値βは、画像の種類、撮像系の性能および高精細化処理の目的に応じて適宜設定される。Ｊ≧βである場合には、ステップＳ４０５に進み、Ｊ＜βである場合には、高精細化処理を終了し、推定高精細画像を超解像画像とする。その後、図２のステップＳ２０６に進む。
【００７０】
ステップＳ４０５では、高精細画像処理部１１０４は、ステップＳ４０３で算出した超解像評価値Ｊを最適化する方向に推定高精細画像を更新する。更新方法としては、どのような方法を用いてもよいが、例えば最急降下法を用いて、
【００７１】
【数４】
2012003454.tif 000006
【００７２】
として更新すればよい。ここで、Ｘ′は更新後の高精細画像を示し、γは更新ステップサイズを設定する定数である。以下、Ｘ′を推定高精細画像としてステップＳ４０２からの処理をＪ＜βとなるまで繰り返し行い、超解像画像を得る。そして、ステップＳ２０６に進む。
【００７３】
図２のステップＳ２０６では、システム制御回路１０８は、ステップＳ２０５で生成された高精細画像を出力する処理を行う。まず、視覚補正部１１１に高精細画像に対する前述した画像補正処理を行わせる。次に、圧縮部１１２に画像補正処理後の高精細画像の圧縮処理を行わせる。そして、圧縮後の高精細画像を画像出力部１１３から出力させる。
【００７４】
以上説明したように、本実施例では、撮影画像を領域分割用の撮像系応答関数を用いて得られる分割評価値に差を持つ複数の領域に分割する。そして、領域ごとの高精細化処理において、予め記憶された撮像条件ごとの撮像系応答関数から、撮影画像の撮像時の撮像条件に対応した撮像系応答関数を選択して用いる。これにより、分割された領域ごとに撮像条件に適した撮像系応答関数を用いて高精細化処理を行うことが可能となり、単一のＰＳＦを用いた場合と比較して良好な高精細画像を生成することができる。
【実施例２】
【００７５】
図５には、本発明の実施例２である撮像装置１′の構成を示している。本実施例では、離散的に記憶してある撮像系応答関数から、実際の撮像条件に対応した撮像系応答関数を生成する。
【００７６】
図５において、図１に示した構成要素と共通する構成要素については、図１と同符号を付す。本実施例の撮像装置１′は、図１に示した構成に加えて、撮像系応答関数生成部４１０１を有する。以下、本実施例の撮像装置の動作について、図６に示すフローチャートを用いて説明する。
【００７７】
ステップＳ５０１〜ステップＳ５０３はそれぞれ、図２に示したステップＳ２０１〜Ｓ２０３と同じである。ここで、本実施例における撮像系応答関数記憶部１１０２は、撮像系応答関数を予め定められた撮像条件の間隔で離散的に記憶しておくものとする。言い換えれば、撮像系応答関数記憶部１１０２は、複数の代表的な撮像条件に対応する複数の撮像系応答関数を記憶している。
【００７８】
ステップＳ５０４では、システム制御回路１０８は、撮像系応答関数選択部１１０３に、ステップＳ５０２で取得した撮像時の撮像条件に対応した撮像系応答関数を選択させる。ただし、本実施例では、撮像系応答関数記憶部１１０２に撮像系応答関数が離散的に記憶されているために、ステップＳ５０２で取得した撮像条件に直接該当する撮像系応答関数が存在しない場合がある。この場合、撮像系応答関数選択部１１０３は、離散的に記憶されている撮像系応答関数の中から撮像時の撮像条件に近い撮像系応答関数を、１つまたは複数選択し、後段の撮像系応答関数生成部４１０１へと伝送する。
【００７９】
そして、ステップＳ５０４では、システム制御回路１０８は、撮像系応答関数生成部４１０１に、撮像時の撮像条件に近い撮像系応答関数を用いて、撮像時の撮像条件に対応した撮像系応答関数を生成させる。
【００８０】
撮像時の撮像条件に対応した撮像系応答関数の生成方法の１つとして、複数の撮像系応答関数を用いた補間処理が挙げられるが、ここでは、線形補間処理を行う方法について説明する。また、ここでは、撮像系応答関数としてＰＳＦを用いる場合について説明するが、それ以外の場合でも同様の処理を適用することができる。
【００８１】
線形補間では、撮像条件の変化に応じて線形的にＰＳＦが変化しているとして、２つのＰＳＦの間に存在するＰＳＦを算出する。撮像系応答関数選択部１１０３によって、撮像条件の１つである絞りのＦ値ａに対応する撮像系応答関数ＰＳＦ＿ａと、Ｆ値ｂに対応する撮像系応答関数ＰＳＦ＿ｂとが選択されたとする。
【００８２】
図７（ａ）にＰＳＦ＿ａの形状を示し、図７（ｂ）にＰＳＦ＿ｂの形状を示す。ＰＳＦ＿ａはＦ値が小さい場合のＰＳＦを示しており、急峻な形状を有する。それに対して、ＰＳＦ＿ｂは、Ｆ値が大きい場合のＰＳＦを示しており、ＰＳＦ＿ａに比べて広がった形状を有する。これらの図から、Ｆ値が異なるとＰＳＦの形状も大きく異なることが分かる。
【００８３】
このため、例えば、Ｆ値ａに対応するＰＳＦ＿ａを用いて実際のＰＳＦ形状がＰＳＦ＿ｂであるＦ値ｂの画像に対して高精細化処理を行ったとしても、撮像時の撮像条件に正しく対応したＰＳＦではないため、良好な高精細画像を得ることはできない。したがって、高精細化処理を行う際には、撮像条件に対応したＰＳＦを使用する必要があり、撮像系応答関数記憶部１１０２に対応するＰＳＦがない場合には、補間処理によって対応するＰＳＦを生成する必要がある。
【００８４】
線形補間処理の一例として、ステップＳ５０２において取得した絞りのＦ値ｃがＦ値ａとＦ値ｂの間にあるとした場合の該Ｆ値ｃに対応する撮像系応答関数ＰＳＦ＿ｃを算出するための計算式は以下のようになる。
【００８５】
【数５】
2012003454.tif 000007
【００８６】
ここで、式（５）のαは、Ｆ値ａとＦ値ｃの差分とＦ値ｂとＦ値ｃの差分との比率を表したものであり、ＰＳＦ＿ａおよびＰＳＦ＿ｂに対してＦ値ｃからの差分に応じた重み付けを行うことを表している。
【００８７】
図８に、Ｆ値ｃがＦ値ａとＦ値ｂのちょうど中間にある場合、つまりα＝０．５のときに式（５）を適用した結果を示す。図８より、ＰＳＦ＿ｃは、ＰＳＦ＿ａとＰＳＦ＿ｂの中間の形状を有しており、線形補間によりＦ値ａとＦ値ｂの中間にあるＦ値ｃに対応するＰＳＦが生成されていることが確認できる。
【００８８】
以上より、撮像系応答関数選択部１１０３により選択された２つのＰＳＦに対して線形補間を行うことで、撮像時の撮像条件に対応したＰＳＦを生成することができる。
【００８９】
本実施例においては、補間処理として線形補間処理を行う場合について説明したが、その他にもスプライン補間や放物線補間等の他の補間処理を行ってもよい。
【００９０】
また、撮像時の撮像条件を反映した撮像系応答関数の生成方法についての他の例として、選択した撮像系応答関数を撮像時の撮像系応答関数に補正するための補正関数を適用する補正処理がある。
【００９１】
ここでは、補正関数の例としてガウシアン関数を用いて説明する。２次元のガウシアン関数G（ｘ，ｙ）は以下の式により表すことができる。
【００９２】
【数６】
2012003454.tif 000008
【００９３】
ここで、Ｇ（ｘ，ｙ）は、図９に示すような凸型の形状を有しており、Ａはピーク値の大きさ、ＢｘおよびＢｙはそれぞれｘ方向およびｙ方向についてのピーク位置の原点からの偏移量である。また、Ｃは凸形状の広がりを調節する係数である。
【００９４】
そして、上記のガウシアン関数Ｇ（ｘ，ｙ）を用いて、ステップＳ５０４で選択したＰＳＦに対して補正処理を行う。ステップＳ５０４で取得した撮像系応答関数ＰＳＦ＿ＩＮ（ｘ，ｙ）に対して、ガウス関数Ｇ（ｘ，ｙ）を適用して、撮像時の撮像系応答関数ＰＳＦ＿ＯＵＴ（ｘ，ｙ）を生成するときの計算式は次式のようになる。
【００９５】
【数７】
2012003454.tif 000009
【００９６】
ここで、式（７）の右辺はＰＳＦ＿ＩＮ（ｘ，ｙ）とＧ（ｘ，ｙ）の同一座標位置の値同士で乗算を行うことを表している。これにより、Ｇ（ｘ，ｙ）の形状に応じてＰＳＦ＿ＩＮ（ｘ，ｙ）の形状を補正することができる。
【００９７】
本実施例では、撮像条件として絞りのＦ値に注目した場合について説明するが、他の撮像条件についても同様である。ここでは、例として図７（ｂ）に示したＰＳＦ＿ｂに対して、図９に示したガウシアン関数Ｇを用いて補正を行うことで、図７（a）のＰＳＦ＿ａと同等のＰＳＦを生成する。
【００９８】
図９は、式（６）においてＡ＝１，Ｂｘ＝Ｂｙ＝０，Ｃ＝０．３とした場合のガウシアン関数Ｇの形状を示す。そして、図７（ｂ）のＰＳＦ＿ｂをＰＳＦ＿ＩＮとして、図９のガウシアン関数Ｇを用いて式（７）により生成したＰＳＦの形状を、図１０にＰＳＦ＿ＯＵＴとして示す。
【００９９】
図１０より、ガウシアン関数Ｇを用いて補正処理を行うことで、図７（ａ）に示すＰＳＦ＿ａと同等のＰＳＦが生成できていることが確認できる。
【０１００】
ここで、補正処理の際に用いるガウシアン関数の係数Ａ，Ｂｘ，Ｂｙ，Ｃの決定方法としては、例えばステップＳ５０４にて選択したＰＳＦに対応する撮像条件と、実際の撮像時の撮像条件との差分から線形的に決定する方法がある。さらに、ガウシアン関数の各係数の決定方法についての他の例としては、どのように係数を設定すると、どのような撮像条件に対応したＰＳＦが生成できるかを事前に算出もしくは計測しておく方法もある。これらの方法により得られた各係数は、ルックアップテーブルとして記憶しておいたり、係数にフィッティングさせた多次元関数として記憶しておいたりすればよい。
【０１０１】
本実施例においては、補正関数としてガウシアン関数を用いた方法について説明したが、その他にもｓｉｎｃ関数等を使用する方法もある。また、式（７）では、補正方法としてＰＳＦと補正関数を画素位置毎に積算する方法を示したが、畳み込み積分を行っても同等の効果を得ることができる。
【０１０２】
さらに、撮像時の撮像条件に対応したＰＳＦの生成方法についての他の例として、選択したＰＳＦに対して、撮影時のＰＳＦへと補正するための補正係数を適用する方法がある。
【０１０３】
例えば、ＰＳＦの補正対象としては、ピーク値や半値幅等が挙げられるが、このような補正対象についての補正係数を取得するための一例として、事前に計測を行う方法が挙げられる。
【０１０４】
まず、ある撮像条件におけるＰＳＦを一つもしくは複数個選択し、それを基準ＰＳＦとする。そして、基準ＰＳＦ以外の撮像条件におけるＰＳＦと、基準ＰＳＦとの相違度を求める。相違度は、例えば前記のピーク値や半値幅の差分や拡大比率等で算出すればよく、その相違度を打ち消すような値が補間係数となる。このときに得られた各係数は、ルックアップテーブルとして記憶しておいたり、係数にフィッティングさせた多次元関数として記憶しておいたりすればよい。これにより、撮像系応答関数記憶部１１０２には、上記各係数と基準ＰＳＦだけを記憶しておけばよいことになる。
【０１０５】
そして、ステップＳ５０４において選択された基準ＰＳＦに対して、ステップＳ５０２において取得した撮像条件に対応した補正係数を用いて補正処理を行うことにより、撮像時の撮像条件に対応したＰＳＦを生成することが可能となる。
【０１０６】
以上のように、撮像条件ごとの撮像系応答関数を多数記憶せず、ある一定の間隔を持った離散的な撮像条件に対応する撮像系応答関数を記憶しておき、それらに対して補間処理や補正処理を施すことで、撮像時の撮像条件に対応した撮像系応答関数を生成できる。これにより、撮像系応答関数記憶部１１０２で必要となる記憶容量を削減しつつ、撮像条件に対応した撮像系応答関数を用いた良好な高精細画像を生成することができる。
【０１０７】
図５のステップＳ５０６およびステップＳ５０７は、図２に示したステップＳ２０５およびステップＳ２０６と同じである。
【実施例３】
【０１０８】
上記各実施例では、撮像装置に、画像処理装置１１０を内蔵した場合について説明したが、本発明の実施例はこれに限らない。
【０１０９】
例えば図１１に示すように、撮像装置１８０１で得られた撮影画像を、パーソナルコンピュータ１８０２に送信する。送信方法は、ケーブル方式、無線方式のいずれでもよく、インターネットやＬＡＮを介して送信してもよい。
【０１１０】
そして、パーソナルコンピュータ１８０２において、受信した撮影画像に対して、実施例１，２にて説明した画像領域分割処理や高精細化処理を行ってもよい。この場合、パーソナルコンピュータが、画像処理装置として機能する。
【０１１１】
さらに、上記実施例１，２にて説明した画像処理プログラムは、これを格納した半導体メモリや光ディスク等の記憶媒体やインターネット、ＬＡＮを介して撮像装置やパーソナルコンピュータにインストールされるようにしてもよい。
【０１１２】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【０１１３】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【産業上の利用可能性】
【０１１４】
様々な撮像条件においても撮影画像の十分な高精細化処理が行える画像処理装置を提供できる。
【符号の説明】
【０１１５】
１，１′  撮像装置
１００  結像光学系
１０２  撮像素子
１０８  システム制御回路
１１０  画像処理装置
１１０２  撮像系応答関数記憶部
１１０３  撮像系応答関数選択部
１１０４  高精細画像処理部
１１０５  画像領域分割部
【図１】
2012003454.tif 000010
【図２】
2012003454.tif 000011
【図３】
2012003454.tif 000012
【図４】
2012003454.tif 000013
【図５】
2012003454.tif 000014
【図６】
2012003454.tif 000015
【図７】
2012003454.tif 000016
【図８】
2012003454.tif 000017
【図９】
2012003454.tif 000018
【図１０】
2012003454.tif 000019
【図１１】
2012003454.tif 000020