画像処理装置、撮像装置および画像処理プログラム
【課題】必要なメモリ容量をできるだけ少なくしつつ、画像の十分な高精細化を行えるようにする。
【解決手段】画像処理装置110は、撮像系100,102により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段1102と、分割された各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段1103とを有する。応答関数に対して領域の分割数を減らすための重み付け処理を行った結果から評価値を得るようにしてもよい。
【解決手段】画像処理装置110は、撮像系100,102により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段1102と、分割された各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段1103とを有する。応答関数に対して領域の分割数を減らすための重み付け処理を行った結果から評価値を得るようにしてもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像系により生成された画像の高精細化を行う画像処理技術に関する。
【背景技術】
【0002】
撮像系によって生成された画像を高精細化するための技術として超解像技術が知られている。再構成型に分類される超解像技術においては、撮像系における劣化過程を観測モデルとしてモデル化し、その逆問題として高精細化を行う。
【0003】
逆問題を解く方法として、撮影画像上のエイリアシングを利用した周波数領域法や、事前情報の事後確率を最適化することにより高精細画像を推定するMAP(Maximum a posteriori)法が提案されている。また、POCS(Projection onto Convex Sets)法という様々な事前情報を組み合わせることにより推定を行う手法も提案されている。
【0004】
観測モデルは、撮像系のモーション、光学系による劣化、CF(Color Filter)およびLPF(Low-Pass Filter)の効果から求まる撮像系の応答関数と、イメージセンサにおけるサンプリングとで構成される。この観測モデルにおける実際の撮像系による劣化過程に対する再現精度が超解像技術による高精細化の精度に大きく依存することが知られており、様々な観測モデルが提案されている。
【0005】
特許文献1には、撮像系の応答関数として、光学系による劣化を表す光学系PSF(Point Spread Function、点像分布関数)を利用した観測モデルを使用した超解像処理が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−095328号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1にて開示された画像の全領域に対して単一の応答関数を使用する超解像処理では、該単一の応答関数と本来の撮像系の応答関数との差が大きくなる領域においては十分な高精細化を行うことができない。
【0008】
一方、画像を構成する全ての画素に対して画素ごとに異なる応答関数を用いて超解像処理を行えば上記のような不都合は解消される。しかし、画素ごとの応答関数を保持するメモリ量が膨大なものとなり、現実的ではない。
【0009】
本発明は、必要なメモリ容量をできるだけ少なくしつつ、画像の十分な高精細化を行えるようにした画像処理装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【0010】
本発明の一側面としての画像処理装置は、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする。
【0011】
また、本発明の他の一側面としての画像処理装置は、撮像系により生成された第1の入力画像を撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶する記憶手段と、撮像系により生成された第2の入力画像を、該記憶手段に記憶された分割結果を用いて複数の領域に分割する領域分割手段と、第2の入力画像における各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする。
【0012】
なお、撮像系と、上記画像処理装置とを有する撮像装置も、本発明の他の一側面を構成する。
【0013】
また、本発明の他の一側面としての画像処理プログラムは、コンピュータに、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行うステップとを実行させることを特徴とする。
【0014】
さらに、本発明の他の一側面としての画像処理プログラムは、撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶するステップと、撮像系により生成された第2の入力画像を、該記憶された分割結果を用いて複数の領域に分割するステップと、第2の入力画像における各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行うステップと実行させることを特徴とする。
【0015】
なお、上記画像処理プログラムを格納した記憶媒体も、本発明の他の一側面を構成する。
【発明の効果】
【0016】
本発明によれば、メモリ容量の増大を抑えつつ、様々な撮像系により生成された入力画像の十分な高精細化を行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施例1である撮像装置の構成を示すブロック図。
【図2】実施例1の撮像装置の動作を示すフローチャート。
【図3】実施例1の撮像装置における画像領域分割部の動作を示すフローチャート。
【図4】注目画像領域を4つの仮分割領域に分割する場合を説明する図。
【図5】注目画像領域を4つの分割領域に分割する場合を説明する図。
【図6】注目画像領域がシフトインバリアント領域と判定される場合を説明する図。
【図7】全画像領域をシフトインバリアント領域に分割した結果の例を示す図。
【図8】実施例1の撮像装置における画像処理演算部の動作を示すフローチャート。
【図9】撮影画像の高精細化処理の前後における空間周波数特性を示す図。
【図10】高精細化処理の空間周波数特性を示す図。
【図11】本発明の実施例4である撮像装置の構成を示すブロック図。
【図12】実施例4の撮像装置における画像領域分割部の動作を示すフローチャート。
【図13】本発明の実施例5である撮像装置における画像領域分割部の動作を示すフローチャート。
【図14】注目画像領域の分割結果と代表位置との関係を説明する図。
【図15】注目画像領域の分割結果と代表位置を含むシフトインバリアント領域との関係を説明する図。
【図16】本発明の実施例6である撮像装置の構成を示すブロック図。
【図17】実施例6の撮像装置における画像領域分割部の動作を示すフローチャート。
【図18】本発明の実施例7である画像処理装置の構成を示す概略図。
【発明を実施するための形態】
【0018】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例1】
【0019】
図1には、本発明の実施例1である撮像装置1の構成を示している。撮像装置1は、結像光学系100と、露光量制御部材101と、撮像素子102と、AD変換部103と、ズーム制御部104と、露光制御部105と、AF制御部106と、振れ検出部107とを有する。また、撮像装置1は、システム制御回路108と、メモリ109と、画像処理装置110と、視覚補正部111と、圧縮部112と、画像出力部113とを有する。fは撮像装置1により撮像される被写体である。
【0020】
図1において、被写体fからの光は、結像光学系100および露光量制御部材101を通して撮像素子102上に結像する。露光量制御部材101は、絞りやシャッタを含む。
【0021】
撮像素子102は、被写体像を電気信号に変換するCCDセンサやCMOSセンサ等のイメージセンサである。AD変換部103は、撮像素子102から出力されたアナログ電気信号をデジタルデータに変換する。結像光学系100、露光量制御部材101、撮像素子102およびAD変換部103により撮像系が構成される。
【0022】
ズーム制御部104は、結像光学系100のズーミングを制御する。露光制御部105は、露光制御部材101の動作を制御する。AF制御部106は、結像光学系100のフォーカシングを制御する。
【0023】
振れ検出部107は、撮像装置1の振れを検出する。システム制御回路108は、撮像装置1全体の動作の制御を司るマイクロコンピュータ等により構成されている。
【0024】
メモリ109は、システム制御回路108での動作制御用のデータや処理プログラム(後述する画像処理プログラムを含む)を記憶する。
【0025】
画像処理装置110は、AD変換部103でデジタルデータ化された撮影画像(入力画像)に対して画像精細度を増加させる、すなわち高精細化のための画像処理(高精細化処理)を行って、高精細画像を生成する。
【0026】
視覚補正部111は、画像処理装置110により生成された高精細画像の画質を向上させるための処理、例えばトーンカーブ(ガンマ)補正、彩度強調、色相補正およびエッジ強調といった画像補正処理を行う。
【0027】
圧縮部112は、視覚補正部111から出力された高精細画像をJPEG等の圧縮方法により画像圧縮を行って記録用の画像サイズを小さくする。
【0028】
画像出力部113は、圧縮部112により圧縮された画像を、不図示のモニタに表示したり半導体メモリや光ディスク等の記録媒体に記録したりする。
【0029】
次に、画像処理装置110の構成について説明する。1101は撮像系応答関数生成部であり、撮像系の応答関数(以下、撮像系応答関数という)を生成する。1102は画像領域分割部であり、AD変換部103からの撮影画像を、撮像系応答関数生成部1101から取得した撮像系応答関数を用いて複数の領域に分割する。
【0030】
1103は画像処理演算部であり、画像領域分割部1102により取得した画像領域分割情報を用いて、入力画像に対して高精細化処理を行う。
【0031】
次に、撮像装置1の動作について、図2のフローチャートを用いて説明する。図2は、撮像装置1により被写体fを撮像し、撮影画像から高精細画像を生成して画像出力部113から出力するまでの処理を示すフローチャートである。この処理は、システム制御回路108が、不図示のメモリに格納されたコンピュータプログラム(画像処理プログラム)に従って実行する。このことは、後述する他の実施例でも同じである。
【0032】
ステップS201において、不図示の撮影開始ボタンがユーザにより操作されると、システム制御回路108は、露光制御部105に露光条件(絞り値や露光時間等)を決定させ、またAF制御部106にフォーカシングを行わせる。決定された露光条件、フォーカス位置およびズーム位置等の撮像条件は、メモリ109に記憶される。
【0033】
また、システム制御回路108は、振れ検出部107を通じて撮像装置1の手振れ等の振動が発生していることを検知した場合には、結像光学系100内の不図示の振れ補正光学系を駆動して像振れ補正を行う。
【0034】
そして、システム制御回路108は、撮像素子102に被写体像を光電変換させる。撮像素子102からは、被写体像の輝度に応じたアナログ信号が出力される。該アナログ信号は、AD変換部103によってデジタルデータに変換されることにより撮影画像が生成される。撮影画像は、画像処理装置110に伝送される。
【0035】
次にステップS202では、システム制御回路108は、画像領域分割部1102に、撮影画像を、それぞれシフトインバリアント領域としての複数の領域に分割する画像領域分割処理を行わせる。ここにいうシフトインバリアント領域とは、高精細化処理について同じ撮像系応答関数を使用する領域を意味する。言い換えれば、複数のシフトインバリアント領域がある場合、該シフトインバリアント領域ごとに異なる撮像系応答関数を用いた高精細化処理が行われる。
【0036】
このステップS202における画像領域分割処理の詳細を、図3のフローチャートを用いて説明する。
【0037】
まず、ステップS301では、画像領域分割部1102は、仮領域分割を行う。仮領域分割では、領域分割を試行することで得られた複数の領域(仮分割領域)の評価値を算出するために行われる。該評価値に応じて、仮分割領域をその後に正式な分割領域として使用するか否かが判定される。
【0038】
仮領域分割を行った結果の例を図4に示す。図4では、注目画像領域401の仮領域分割によって得られた4つの矩形の仮分割領域を402,403,404,405で示す。仮領域分割の方法としては、4分割や9分割のような全体領域に対して整数個の矩形領域に分割する方法や、各仮分割領域の大きさを指定して分割する方法や、同心円等の矩形以外の形状を有する領域に分割する方法を用いてもよい。
【0039】
次に、ステップS302では、画像領域分割部1102は、高精細化を行う撮影画像を生成した際の撮像条件をメモリ109から取得する。撮像条件は、前述したようにズーム位置、フォーカス位置、絞り値、露光時間等、撮像系応答関数が画像領域内で変化するようなパラメータである。
【0040】
ステップS303では、画像領域分割部1102は、撮像系応答関数生成部1101から撮像系応答関数を取得する。撮像系応答関数生成部1101は、ステップS302により取得した撮像条件を用いて、各仮分割領域の代表的な位置(例えば、各仮分割領域の中心画素)における撮像系応答関数を生成する。撮像系応答関数の生成方法はどのような方法でもよく、例えば、撮像条件を反映した撮像系の設計情報を用いて光線追跡により算出する方法や、予め測定して記憶した撮像系応答関数を読み出す方法がある。
【0041】
次にステップS304では、画像領域分割部1102は、ステップS303で撮像系応答関数生成部1101から取得した各仮分割領域の撮像系応答関数を用いて、各仮分割領域での評価値(以下、分割評価値という)Iを算出する。
【0042】
本実施例では、分割評価値Iは、撮像系応答関数の1つである撮像系MTF(Modulation Transfer Function、変調伝達関数)を用いて、以下の式(1)により算出する。
【0043】
【数1】
【0044】
ただし、ξは空間周波数であり、MTFは撮像系MTFである。ξ1とξ2はそれぞれ、空間周波数の上限下限を設定する定数である。分割評価値Iは、撮像系MTFを空間周波数で積分したものである。
【0045】
式(1)で表される分割評価値Iを各仮分割領域について算出し、これら評価値を比較することは、撮像系応答関数の変化(差)を評価することに相当する。このため、次に説明するように、撮像系応答関数の変化に応じた画像領域の分割結果を得ることが可能になる。
【0046】
次にステップS305では、画像領域分割部1102は、ステップS304により算出された各仮分割領域の分割評価値Iを比較する。具体的には、仮分割領域の分割評価値Iの差を求め、該差の絶対値が予め設定した閾値(所定値)α以上になるか否かを判定する。
【0047】
ここでは、仮分割領域402,403,404,405の分割評価値をそれぞれ、I402,I403,I404,I405とする。そして、例えば、式(2)に示すように、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが少なくとも1つある場合は、ステップS306に進む。
【0048】
【数2】
【0049】
ステップS306では、画像領域分割部1102は、仮分割領域を正式な分割領域に設定する。その結果、図5に示すように、注目画像領域401から、仮分割領域402,403,404,405に対応する分割領域502,503,504,505が生成される。画像領域分割部1102は、分割領域502,503,504,505のそれぞれについて(つまりは、分割領域ごとに)ステップS301からステップS306の処理を繰り返す。
【0050】
一方、ステップS305において、以下の式(3)で示すように、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが1つもない場合には、画像領域分割部1102は、仮分割領域を正式な分割領域として設定しない。この場合、図6に示すように、仮分割領域402,403,404,405を合わせた注目画像領域401がシフトインバリアント領域602とする。
【0051】
【数3】
【0052】
画像領域分割部1102は、シフトインバリアント領域となった分割領域については、画像領域分割処理を終了する。さらに、分割された全ての画像領域がシフトインバリアント領域になると、画像領域分割処理を終了する。
【0053】
撮像系応答関数の変化が画像全体(全画像領域)の中心では小さく、周辺ほど大きい場合には、最終的な全画像領域701の領域分割結果は図7に示すようになる。図7では、撮像応答関数の変化に合わせて分割領域の大きさを変化させた分割結果が得られている。
【0054】
このような領域分割方法により、画像領域を任意の撮像系の特徴に対応したシフトインバリアント領域に分割することが可能である。そして、シフトインバリアント領域ごとに1つの撮像系応答関数を用いる(言い換えれば、シフトインバリアント領域ごとに異なる撮像系応答関数を用いる)。このため、全画素について異なる撮像系応答関数を用いる場合に比べて、該撮像系応答関数を保持(記憶)するためのメモリ容量を低減することができる。
【0055】
また、図7に示したように、撮像系応答関数の変化の大きさが画像中の位置によって大きく異なる場合には、画像領域を均等に分割する場合に比べて、後述する画像処理における高精細化をより効率的に行うことが可能である。
【0056】
次に、図2のステップS203では、システム制御回路108は、画像処理演算部1103に、撮影画像に対する高精細化処理を行わせる。このステップでの処理の詳細を、図8のフローチャートを用いて説明する。ここでは、高精細化処理として、再構成型超解像処理を行う。再構成型超解像処理は、撮像系の劣化過程をモデル化し、その逆問題を解くことで劣化過程を経る前の高解像画像を再構成するものである。
【0057】
まず、超解像処理を行う画像をリファレンス画像とし、該リファレンス画像と同じ撮影シーンに対して微小に被写体に対する視点位置を変化させた撮像により得られた複数の画像(視点画像)を画像処理演算部1103に入力する。以下の説明において、リファレンス画像と視点位置が異なる複数の画像をいずれも撮影画像といい、さらにこれらをまとめて撮影画像群と称する。また、撮影画像数をNとする。このとき、撮像画像群に含まれる画像数は、撮像系の性能、超解像処理の拡大倍率および超解像処理後の画像(超解像画像)の用途に応じて適宜設定される。
【0058】
ステップS801では、画像処理演算部1103は、入力されたリファレンス画像を設定された拡大倍率に応じて拡大処理し、最初の推定高精細画像(以下、初期推定高精細画像という)を生成する。拡大処理としては、単純な線形補間やスプライン補間等、どのような方法を使用してもよい。
【0059】
次にステップS802では、画像処理演算部1103は、ステップS202での画像領域分割処理の結果(画像領域分割情報)、各分割領域に対応する撮像系応答関数および初期推定高精細画像を用いて撮像系による劣化過程を演算して低解像画像を生成する。撮像系による劣化過程の演算には、該劣化過程をモデル化した観測モデルを使用する。観測モデルは、撮像系応答関数の1つであるPSF(Point Spread Function、点像分布関数)を用いて以下のように与えられる。
【0060】
【数4】
【0061】
ただし、Xは高精細画像であり、Y′kは劣化過程後のk番目の低解像画像である。*は畳み込み演算を示し、nは付加的なノイズを示す。また、PSFkは、撮影画像群のうちk番目の撮影画像に対する撮像系応答関数を表す。劣化過程の演算は、式(4)の右辺の第一項を用いる。なお、観測モデルは上記計算式で表されるものに限られず、撮像系の特性や超解像処理のアルゴリズムに合わせて適宜決定すればよい。 また、この劣化過程の演算の際に、撮像系応答関数としてOTF(Optical Transfer Function、光学伝達関数)を用いることも可能である。この場合、画像領域をシフトインバリアント領域に分割し領域毎に一つのOTFを使用することで、全画素について異なる撮像系応答関数を用いる場合に比べてメモリ容量低減だけでなく計算量を低減することもできる。
【0062】
劣化過程を演算する際に、画像領域分割情報を用い、演算する画素が含まれる分割領域に対応する撮像系応答関数を用いて式(4)を演算する。
【0063】
次にステップS803では、画像処理演算部1103は、劣化過程処理を演算した低解像画像群を用いて評価値(以下、超解像評価値という)Jを、以下の式(5)により算出する。
【0064】
【数5】
【0065】
ただし、Ykはk番目の撮影画像を、Y′kはk番目の低解像画像を、αは拘束パラメータをそれぞれ示す。また、cは推定高精細画像に対する事前情報を表す行列を示し、‖‖2はL2ノルムを示す。
【0066】
超解像評価値Jの第一項は、撮影画像と推定高精細画像を劣化させて作成した低解像画像とを比較することで、推定高精細画像の評価を行う項である。超解像評価値Jの第二項は、推定高精細画像の尤もらしさを評価する項であり、推定高精細画像に対する既知の情報や性質を使用して評価を行う。拘束パラメータαは、画像や撮像系に合わせて適宜設定される。行列cは、例えばハイパスフィルタを用いる。
【0067】
なお、超解像評価値Jとしては式(5)に示されるもの以外に、Sina Farsiu他による下記の文献Aにて説明されているバイラテラルフィルタを用いて評価したり、色の相関を用いて評価したりしてもよい。
[文献A]“Multiframe Demosaicing and Super-Resolution of ColorImages”(IEEE TRANSACTION ON IMAGE PROCESSING,VOL.15,NO.1,JANUARY 2006)
次にステップS804では、画像処理演算部1103は、ステップS803で算出した超解像評価値Jが閾値(所定値)βより小さいか否かを判定する。閾値βは、画像の種類、撮像系の性能および高精細化処理の目的に応じて適宜設定される。J≧βである場合には、ステップS805に進み、J<βである場合には、高精細化処理を終了し、推定高精細画像を超解像画像とする。その後、図2のステップS204に進む。
【0068】
ステップS805では、画像処理演算部1103は、ステップS803で算出した超解像評価値Jを最適化する方向に推定高精細画像を更新する。更新方法としては、どのような方法を用いてもよいが、例えば最急降下法を用いて、
【0069】
【数6】
【0070】
として更新すればよい。ここで、X′は更新後の高精細画像を示し、γは更新ステップサイズを設定する定数である。以下、X′を推定高精細画像としてステップS802からの処理をJ<βとなるまで繰り返し行い、超解像画像を得る。そして、ステップS204に進む。
【0071】
図2のステップS204では、システム制御回路108は、ステップS203で生成された高精細画像を出力する処理を行う。まず、視覚補正部111に高精細画像に対する前述した画像補正処理を行わせる。次に、圧縮部112に画像補正処理後の高精細画像の圧縮処理を行わせる。そして、圧縮後の高精細画像を画像出力部113から出力させる。
【0072】
以上説明した本実施例によれば、任意の撮像系に対応したシフトインバリアント領域を算出することが可能であり、シフトインバリアント領域ごとに保持した撮像系応答関数を用いて高精細化処理を行うことができる。このため、全画像領域で単一の撮像系応答関数を用いて高精細化処理を行う場合に比べて、各領域にて撮像系応答関数が近似できているので、より高精度に高精細画像を推定することができる。しかも、全ての画素のそれぞれに対して撮像系応答関数を保持する場合に比べて、撮像系応答関数を保持するメモリ容量を低減させることができる。
【実施例2】
【0073】
次に、本発明の実施例2について説明する。本実施例では、撮像系応答関数の変化を、人間の視覚の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。この重み付けは、画像領域の分割数(分割領域数)を減らす、すなわち分割領域ごとに保持する撮像系応答関数のメモリ容量を減らすために有効である。このことは、後述する他の重み付けを行う場合も同じである。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0074】
本実施例では、撮像系MTFと視覚の空間周波数特性を用いて算出されるCMTA(Cascaded Modulation Transfer acutance)を組み合わせて、分割評価値を算出する。ここでは、CMTAについて、高木幹雄他による下記の文献Bに記載されたものを用いて説明する。
[文献B]“新編 画像解析ハンドブック”(東京大学出版会,pp77−78)
シフトインバリアント領域は、撮像系応答関数の変化を用いて判定可能である。しかしながら、人間の視覚には特徴的な空間周波数特性があることが知られており、撮像系応答関数の変化に対して反応が大きい空間周波数と、該変化に対して反応が小さい空間周波数とが存在する。このため、視覚の空間周波数特性によって撮像系応答関数に重み付けをすることで、シフトインバリアント領域を人が撮像系応答関数の変化を知覚できない領域として、より効率的な領域分割が可能となる。
【0075】
視覚の空間周波数に対する応答関数は、CSF(Contrast Sensitivity Function)として知られている。CSFは、眼球における結像系でのローパスフィルタの特性と、網膜から脳に至る信号処理系でのバンドパスフィルタの特性を考慮してモデル化したものである。
【0076】
CSFは、例えば以下の式(7)で表される。
【0077】
【数7】
【0078】
ただし、ξは空間周波数であり、人間の視角1度の中でどれだけのコントラスト縞が見えるかを表す単位[cycle/deg]で表される。CSFは、個人差、人種、色等により変化するが、一般には、低周波側にピークがあり、かつ周波数0はピークではないという特性を有する。CSFとしては、上記モデル以外にも、G.M.Johnson他による下記の文献Cで説明されているMovshon,Barten,Dalyといったモデルがあり、どのモデルを選ぶかは精度や計算時間によって適宜選択すればよい。
[文献C]“On contrast sensitivity in an image difference model”(IS&T PICS 2002, Portland, 18-23 (2002))
ある空間周波数範囲における撮像系MTFとCSFとの積の積分値を正規化したものを主観的画質係数SQF(Subjective Quality Factor)と称し、撮像系MTFをMTFと示すと、SQFは以下の式(8)で表される。
【0079】
【数8】
【0080】
ただし、ξは空間周波数であり、ξ1およびξ2はそれぞれ、空間周波数の上限と下限を設定する定数である。SQFは撮像系応答関数をCSFで重み付けしたものである。
【0081】
Weber-Fechner’s lawを用いて、SQFを人間の感覚に対して線形に応答するようにし、それを100に規格したものがCMTAである。Weber-Fechner’s lawとは、人間の感覚は刺激の対数に比例するという法則である。よって、CMTAは、以下の式(9)に示すように定式化される。
【0082】
【数9】
【0083】
このCMTAを分割評価値として導入することにより、視覚の空間周波数特性を反映した領域分割結果を得ることが可能になる。
【0084】
このように、本実施例によれば、撮像系応答関数をCSFで重み付けして得られた分割評価値を用いることにより、人間が撮像系応答関数の変化を知覚できない画像領域に分割することが可能である。これにより、より人間の視覚特性に適合した高精細画像を推定可能になるとともに、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例3】
【0085】
次に、本発明の実施例3について説明する。本実施例では、撮像系応答関数の変化を、図2に示したステップS203で行われる高精細化処理の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0086】
高精細化処理の空間周波数特性とは、例えば、高精細化処理の手法が、撮影画像を空間周波数で帯域分割し、高周波帯域の成分のみに高精細化処理を行うように、空間周波数に応じて異なる処理を行って異なる効果を与える特性を意味する。このような高精細化処理では、大きな効果を与える空間周波数成分における撮像系MTFの寄与を強調した分割評価値を設定することにより、高精細化処理に適した領域分割が可能になる。また、特定の空間周波数成分を変調するような、恣意的な処理についても、その目的に応じた領域分割が可能になる。
【0087】
高精細化処理の空間周波数特性について図9を用いて説明する。図9の横軸は空間周波数を、縦軸は空間周波数振幅を示す。実線のグラフ901は、高精細化処理前の入力画像の空間周波数特性を示している。また、点線のグラフ902は、高精細化処理後の画像の空間周波数特性を示している。
【0088】
図9に示す高精細化処理方法は、低周波数成分と比較して高周波数成分に対して、より大きな効果を与える空間周波数特性を持つ処理である。分割評価値を算出する際には、この高精細化処理の空間周波数特性を反映した重み付けスペクトルMTFpを使用する。
【0089】
図10には、図9で示した効果を与える高精細化処理におけるMTFpの例を示す。図10の横軸は空間周波数を、縦軸は各空間周波数における重み付けの強度を示している。グラフ1001がMTFpを表す。
【0090】
MTFpの導出方法は、高精細化処理後の画像の空間周波数特性を、高精細化処理前の入力画像の空間周波数特性で除することで算出する。また、多項式を用いた近似的なモデルを使用したり、恣意的に特定の周波数成分を強調するようなモデルを使用したりしてもよく、その目的に応じて設定すればよい。
【0091】
本実施例では、分割評価値Iを、以下の式(10)を用いて算出する。
【0092】
【数10】
【0093】
ただし、ξは空間周波数を、ξ1およびξ2はそれぞれ、空間周波数の上限と下限を設定する定数である。分割評価値Iは、撮像系応答関数MTFと高精細化処理の空間周波数特性に基づくMTFpとの積を正規化したものである。この分割評価値Iを仮分割領域間で比較するは、撮像系応答関数の変化を高精細化処理の手法に適した重みを付けて評価することに相当する。このため、式(10)を用いて分割評価値Iを算出することにより、高精細化処理に適した領域分割結果を得ることが可能になる。
【0094】
このように、本実施例によれば、高精細化処理の目的に合わせた特定の空間周波数における撮像系応答関数の変化が十分に小さい画像領域に分割することが可能である。これにより、高精細化処理の効果をより十分に得ながら、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例4】
【0095】
次に、本発明の実施例4について説明する。本実施例では、撮像系応答関数の変化を、撮影画像(入力画像)の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。
【0096】
本実施例は、図11に示す撮像装置2に適用される。撮像装置2において、図1に示した撮像装置1と共通する構成要素には、図1と同じ符号を付して説明を省略する。撮像装置2は、撮像装置1に対して、画像空間周波数特性取得部11001を有する点で異なる。画像空間周波数特性取得部11001は、撮像系によって生成された撮影画像の空間周波数特性を取得する。
【0097】
次に、撮像装置2の動作について説明する。ここでは、実施例1の撮像装置1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図12のフローチャートに示す画像領域分割処理が行われる。図12のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0098】
ステップS301〜ステップS303の処理を行った後、ステップS1201では、画像領域分割部1102は、画像空間周波数特性取得部11001から高精細化処理を行う撮影画像の空間周波数特性を取得する。
【0099】
次にステップS1202では、画像領域分割部1102は、撮像系応答関数の変化に対して、ステップS1201で取得した撮影画像の空間周波数特性による重み付けを行った上で、分割評価値を算出する。
【0100】
例えば、空を撮影したときのように、空間周波数の低い低周波成分が大部分を占める撮影画像では、高精細化処理後の画像においても同様に低周波成分が高周波成分に比較して主要な部分を占めている。このような顕著に空間周波数特性に特徴がある画像に対しては、その空間周波数特性による重み付けをした分割評価値を算出することにより、撮影画像に適した領域分割が可能になる。
【0101】
分割評価値Iは、撮影画像の空間周波数特性を反映した重み付けスペクトルMTFtを用いて、以下の式(11)により算出する。MTFtは、撮影画像の空間周波数特性を多項式で近似したものである。
【0102】
【数11】
【0103】
ただし、ξは空間周波数を、ξ1とξ2はそれぞれ、空間周波数の上限下限を設定する定数である。分割評価値Iは、撮像系応答関数MTFと撮影画像の空間周波数特性に基づく重み付けスペクトルMTFtの積を正規化したものである。この分割評価値Iを仮分割領域間で比較することは、撮像系応答関数の変化を撮影画像の空間周波数特性に応じた重み付けをして評価することに相当する。このため、式(11)により算出された分割評価値Iを用いて領域分割を行うことにより、撮影画像に合わせた領域分割が可能になる。
【0104】
ステップS1202の処理が終わると、ステップS305,S306に進む。
【0105】
このように、本実施例によれば、撮影画像の空間周波数特性に合わせた特定の空間周波数における撮像系応答関数の変化が十分に小さい画像領域に分割することが可能である。これにより、撮影画像における主要な空間周波数成分に対して十分な高精細化処理を行うことができるとともに、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例5】
【0106】
次に、本発明の実施例5について説明する。本実施例では、全ての画像領域で画像領域分割処理を行うのではなく、指定した位置(以下、代表位置という)を含む画像領域でのみ画像領域分割処理を行う。そして、その結果算出された該代表位置を含むシフトインバリアント領域の領域サイズで、全画像領域を均等に分割する。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0107】
本実施例の動作について説明する。ここでは、実施例1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図13のフローチャートに示す画像領域分割処理が行われる。図13のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0108】
まずステップS1301では、画像領域分割部1102は、ユーザによる指定操作またはシステム制御回路108によって所定のアルゴリズムで指定された、画像領域上の代表位置を取得する。画像領域上の位置によって高精細化の精度や計算速度が変化するため、目的に応じて設定する。一般に、撮像系応答関数の変化が大きい画像領域の周辺部を代表位置に指定すると、比較的小さいシフトインバリアント領域に分割される。この場合、撮像系応答関数の変化に良好に対応した領域分割が行われる一方、計算量や撮像系応答関数を保持するためのメモリ容量が増大する。
【0109】
これに対して、撮像系応答関数の変化の小さい画像領域の中心部を代表位置に指定すると、比較的大きいシフトインバリアント領域に分割され、計算速度や撮像系応答関数を保持のためのメモリ容量は低減する。ただし、高精細化精度は低下する傾向がある。
【0110】
次にステップS301〜ステップS303の処理を行った後、ステップS1302では、画像領域分割部1102は、分割評価値を算出する。分割評価値の算出に関しては、実施例1〜4で説明した算出方法のいずれを用いてもよい。
【0111】
次にステップS305,S306の処理を行った後、ステップS1303では、画像領域分割部1102は、画像領域が分割されることにより得られた複数の分割領域から、代表位置を含む分割領域を選択する。ここでの処理の詳細を、図14を用いて説明する。
【0112】
図14は、ステップS306での処理の後、注目画像領域1401が分割領域1403,1404,1405,1406に分割された状態を表す。代表位置1402は分割領域1404に含まれている。
【0113】
画像領域分割部1102は、代表位置1402を含む分割領域1404に対してのみステップS301からの処理を繰り返す。こうして代表位置を含む分割領域がシフトインバリアント領域になると、ステップS1304に進む。
【0114】
ステップS1304では、画像領域分割部1102は、ステップS1303で算出した代表位置を含むシフトインバリアント領域の領域サイズを取得する。そして、該領域サイズで全画像領域を均等に分割する。均等分割の例を図15に示す。
【0115】
図15では、全画像領域1501を、代表位置1502を含むシフトインバリアント領域1503の領域サイズに合わせて均等分割を行っている。なお、代表位置を含むシフトインバリアント領域とは無関係に均等分割を行ってもよい。
【0116】
このように、本実施例によれば、撮影画像における代表位置を含む画像領域でのみ領域分割を行うことより、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。また、本実施例は、実施例1〜4にて説明した画像領域分割方法に比べて領域分割のための計算量を少なくすることができるため、小さなメモリ容量しか確保できない撮像装置において特に好適である。
【実施例6】
【0117】
次に、本発明の実施例6について説明する。本実施例は、予め様々な撮影画像(第1の入力画像:以下、分割処理済み画像という)に対して実施例1〜3および実施例5にて説明した画像領域分割方法を用いて画像領域分割処理を行った結果を記憶しておく。そして、高精細画像の生成時に、該高精細画像生成のベースとなる撮影画像(第2の入力画像:以下、処理対象画像という)に対して、該記憶した画像領域分割結果を用いて画像領域分割処理を行う。
【0118】
本実施例は、図16に示す撮像装置3に適用される。本実施例は、撮像装置3において、図1に示した撮像装置1と共通する構成要素には、図1と同じ符号を付して説明を省略する。撮像装置3は、撮像装置1に対して、領域分割結果記憶部1601を有する点で異なる。領域分割結果記憶部1601は、予め行われた分割処理済み画像の画像領域分割結果を記憶する。
【0119】
次に、撮像装置3の動作について説明する。ここでは、実施例1の撮像装置1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図17のフローチャートに示す画像領域分割処理が行われる。図17のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0120】
ステップS302の後、ステップS1701では、画像領域分割部1102は、領域分割結果記憶部1601に記憶された分割処理済み画像の画像領域分割結果から、ステップS302で取得した処理対象画像の撮像条件に対応する画像領域分割結果を取得する。取得する画像領域分割結果は、撮像条件が処理対象画像に最も近い分割処理済み画像についての画像領域分割結果でもよいし、幾つかの異なる撮像条件の分割処理済み画像についての画像領域分割結果から算出(推定)したものであってもよい。
【0121】
次にステップS1702では、画像領域分割部1102は、ステップS1701において取得した画像領域分割結果に示される各分割領域について、対応する撮像系応答関数を算出する。撮像系応答関数の算出方法は、ステップS303と同じである。なお、撮像系応答関数を算出する位置は、例えば各シフトインバリアント領域の中心位置とする。ステップS1702をの処理を行った後、画像領域分割処理を終了する。
【0122】
このように、本実施例では、他の撮影画像に対する画像領域分割結果を用いて処理対象の撮影画像に対する画像領域分割処理を行う。これにより、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。しかも、画像領域分割処理を行うための計算が必要なくなるため、高精細画像の生成に要する時間を短縮することができる。
【実施例7】
【0123】
上記各実施例では、撮像装置に、画像処理装置110を内蔵した場合について説明したが、本発明の実施例はこれに限らない。
【0124】
例えば図18に示すように、撮像装置1801で得られた撮影画像を、パーソナルコンピュータ1802に送信する。送信方法は、ケーブル方式、無線方式のいずれでもよく、インターネットやLANを介して送信してもよい。
【0125】
そして、パーソナルコンピュータ1802において、受信した撮影画像に対して、実施例1〜6にて説明した画像領域分割処理や高精細化処理を行ってもよい。この場合、パーソナルコンピュータが、画像処理装置として機能する。
【0126】
さらに、上記実施例1〜6にて説明した画像処理プログラムは、これを格納した半導体メモリや光ディスク等の記憶媒体やインターネット、LANを介して撮像装置やパーソナルコンピュータにインストールされるようにしてもよい。
【0127】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【産業上の利用可能性】
【0128】
少ないメモリ容量で、入力画像の十分な高精細化処理が行える画像処理装置を提供できる。
【符号の説明】
【0129】
1,2,3 撮像装置
100 結像光学系
101 露光制御部材
102 撮像素子
103 AD変換部
108 システム制御回路
110 画像処理装置
1101 撮像系応答関数記憶部
1102 画像領域分割部
1103 画像処理演算部
【技術分野】
【0001】
本発明は、撮像系により生成された画像の高精細化を行う画像処理技術に関する。
【背景技術】
【0002】
撮像系によって生成された画像を高精細化するための技術として超解像技術が知られている。再構成型に分類される超解像技術においては、撮像系における劣化過程を観測モデルとしてモデル化し、その逆問題として高精細化を行う。
【0003】
逆問題を解く方法として、撮影画像上のエイリアシングを利用した周波数領域法や、事前情報の事後確率を最適化することにより高精細画像を推定するMAP(Maximum a posteriori)法が提案されている。また、POCS(Projection onto Convex Sets)法という様々な事前情報を組み合わせることにより推定を行う手法も提案されている。
【0004】
観測モデルは、撮像系のモーション、光学系による劣化、CF(Color Filter)およびLPF(Low-Pass Filter)の効果から求まる撮像系の応答関数と、イメージセンサにおけるサンプリングとで構成される。この観測モデルにおける実際の撮像系による劣化過程に対する再現精度が超解像技術による高精細化の精度に大きく依存することが知られており、様々な観測モデルが提案されている。
【0005】
特許文献1には、撮像系の応答関数として、光学系による劣化を表す光学系PSF(Point Spread Function、点像分布関数)を利用した観測モデルを使用した超解像処理が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−095328号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1にて開示された画像の全領域に対して単一の応答関数を使用する超解像処理では、該単一の応答関数と本来の撮像系の応答関数との差が大きくなる領域においては十分な高精細化を行うことができない。
【0008】
一方、画像を構成する全ての画素に対して画素ごとに異なる応答関数を用いて超解像処理を行えば上記のような不都合は解消される。しかし、画素ごとの応答関数を保持するメモリ量が膨大なものとなり、現実的ではない。
【0009】
本発明は、必要なメモリ容量をできるだけ少なくしつつ、画像の十分な高精細化を行えるようにした画像処理装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【0010】
本発明の一側面としての画像処理装置は、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする。
【0011】
また、本発明の他の一側面としての画像処理装置は、撮像系により生成された第1の入力画像を撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶する記憶手段と、撮像系により生成された第2の入力画像を、該記憶手段に記憶された分割結果を用いて複数の領域に分割する領域分割手段と、第2の入力画像における各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする。
【0012】
なお、撮像系と、上記画像処理装置とを有する撮像装置も、本発明の他の一側面を構成する。
【0013】
また、本発明の他の一側面としての画像処理プログラムは、コンピュータに、撮像系により生成された入力画像を、撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行うステップとを実行させることを特徴とする。
【0014】
さらに、本発明の他の一側面としての画像処理プログラムは、撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶するステップと、撮像系により生成された第2の入力画像を、該記憶された分割結果を用いて複数の領域に分割するステップと、第2の入力画像における各領域に対して、該領域ごとに異なる応答関数を用いた画像精細度を増加させるための画像処理を行うステップと実行させることを特徴とする。
【0015】
なお、上記画像処理プログラムを格納した記憶媒体も、本発明の他の一側面を構成する。
【発明の効果】
【0016】
本発明によれば、メモリ容量の増大を抑えつつ、様々な撮像系により生成された入力画像の十分な高精細化を行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施例1である撮像装置の構成を示すブロック図。
【図2】実施例1の撮像装置の動作を示すフローチャート。
【図3】実施例1の撮像装置における画像領域分割部の動作を示すフローチャート。
【図4】注目画像領域を4つの仮分割領域に分割する場合を説明する図。
【図5】注目画像領域を4つの分割領域に分割する場合を説明する図。
【図6】注目画像領域がシフトインバリアント領域と判定される場合を説明する図。
【図7】全画像領域をシフトインバリアント領域に分割した結果の例を示す図。
【図8】実施例1の撮像装置における画像処理演算部の動作を示すフローチャート。
【図9】撮影画像の高精細化処理の前後における空間周波数特性を示す図。
【図10】高精細化処理の空間周波数特性を示す図。
【図11】本発明の実施例4である撮像装置の構成を示すブロック図。
【図12】実施例4の撮像装置における画像領域分割部の動作を示すフローチャート。
【図13】本発明の実施例5である撮像装置における画像領域分割部の動作を示すフローチャート。
【図14】注目画像領域の分割結果と代表位置との関係を説明する図。
【図15】注目画像領域の分割結果と代表位置を含むシフトインバリアント領域との関係を説明する図。
【図16】本発明の実施例6である撮像装置の構成を示すブロック図。
【図17】実施例6の撮像装置における画像領域分割部の動作を示すフローチャート。
【図18】本発明の実施例7である画像処理装置の構成を示す概略図。
【発明を実施するための形態】
【0018】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例1】
【0019】
図1には、本発明の実施例1である撮像装置1の構成を示している。撮像装置1は、結像光学系100と、露光量制御部材101と、撮像素子102と、AD変換部103と、ズーム制御部104と、露光制御部105と、AF制御部106と、振れ検出部107とを有する。また、撮像装置1は、システム制御回路108と、メモリ109と、画像処理装置110と、視覚補正部111と、圧縮部112と、画像出力部113とを有する。fは撮像装置1により撮像される被写体である。
【0020】
図1において、被写体fからの光は、結像光学系100および露光量制御部材101を通して撮像素子102上に結像する。露光量制御部材101は、絞りやシャッタを含む。
【0021】
撮像素子102は、被写体像を電気信号に変換するCCDセンサやCMOSセンサ等のイメージセンサである。AD変換部103は、撮像素子102から出力されたアナログ電気信号をデジタルデータに変換する。結像光学系100、露光量制御部材101、撮像素子102およびAD変換部103により撮像系が構成される。
【0022】
ズーム制御部104は、結像光学系100のズーミングを制御する。露光制御部105は、露光制御部材101の動作を制御する。AF制御部106は、結像光学系100のフォーカシングを制御する。
【0023】
振れ検出部107は、撮像装置1の振れを検出する。システム制御回路108は、撮像装置1全体の動作の制御を司るマイクロコンピュータ等により構成されている。
【0024】
メモリ109は、システム制御回路108での動作制御用のデータや処理プログラム(後述する画像処理プログラムを含む)を記憶する。
【0025】
画像処理装置110は、AD変換部103でデジタルデータ化された撮影画像(入力画像)に対して画像精細度を増加させる、すなわち高精細化のための画像処理(高精細化処理)を行って、高精細画像を生成する。
【0026】
視覚補正部111は、画像処理装置110により生成された高精細画像の画質を向上させるための処理、例えばトーンカーブ(ガンマ)補正、彩度強調、色相補正およびエッジ強調といった画像補正処理を行う。
【0027】
圧縮部112は、視覚補正部111から出力された高精細画像をJPEG等の圧縮方法により画像圧縮を行って記録用の画像サイズを小さくする。
【0028】
画像出力部113は、圧縮部112により圧縮された画像を、不図示のモニタに表示したり半導体メモリや光ディスク等の記録媒体に記録したりする。
【0029】
次に、画像処理装置110の構成について説明する。1101は撮像系応答関数生成部であり、撮像系の応答関数(以下、撮像系応答関数という)を生成する。1102は画像領域分割部であり、AD変換部103からの撮影画像を、撮像系応答関数生成部1101から取得した撮像系応答関数を用いて複数の領域に分割する。
【0030】
1103は画像処理演算部であり、画像領域分割部1102により取得した画像領域分割情報を用いて、入力画像に対して高精細化処理を行う。
【0031】
次に、撮像装置1の動作について、図2のフローチャートを用いて説明する。図2は、撮像装置1により被写体fを撮像し、撮影画像から高精細画像を生成して画像出力部113から出力するまでの処理を示すフローチャートである。この処理は、システム制御回路108が、不図示のメモリに格納されたコンピュータプログラム(画像処理プログラム)に従って実行する。このことは、後述する他の実施例でも同じである。
【0032】
ステップS201において、不図示の撮影開始ボタンがユーザにより操作されると、システム制御回路108は、露光制御部105に露光条件(絞り値や露光時間等)を決定させ、またAF制御部106にフォーカシングを行わせる。決定された露光条件、フォーカス位置およびズーム位置等の撮像条件は、メモリ109に記憶される。
【0033】
また、システム制御回路108は、振れ検出部107を通じて撮像装置1の手振れ等の振動が発生していることを検知した場合には、結像光学系100内の不図示の振れ補正光学系を駆動して像振れ補正を行う。
【0034】
そして、システム制御回路108は、撮像素子102に被写体像を光電変換させる。撮像素子102からは、被写体像の輝度に応じたアナログ信号が出力される。該アナログ信号は、AD変換部103によってデジタルデータに変換されることにより撮影画像が生成される。撮影画像は、画像処理装置110に伝送される。
【0035】
次にステップS202では、システム制御回路108は、画像領域分割部1102に、撮影画像を、それぞれシフトインバリアント領域としての複数の領域に分割する画像領域分割処理を行わせる。ここにいうシフトインバリアント領域とは、高精細化処理について同じ撮像系応答関数を使用する領域を意味する。言い換えれば、複数のシフトインバリアント領域がある場合、該シフトインバリアント領域ごとに異なる撮像系応答関数を用いた高精細化処理が行われる。
【0036】
このステップS202における画像領域分割処理の詳細を、図3のフローチャートを用いて説明する。
【0037】
まず、ステップS301では、画像領域分割部1102は、仮領域分割を行う。仮領域分割では、領域分割を試行することで得られた複数の領域(仮分割領域)の評価値を算出するために行われる。該評価値に応じて、仮分割領域をその後に正式な分割領域として使用するか否かが判定される。
【0038】
仮領域分割を行った結果の例を図4に示す。図4では、注目画像領域401の仮領域分割によって得られた4つの矩形の仮分割領域を402,403,404,405で示す。仮領域分割の方法としては、4分割や9分割のような全体領域に対して整数個の矩形領域に分割する方法や、各仮分割領域の大きさを指定して分割する方法や、同心円等の矩形以外の形状を有する領域に分割する方法を用いてもよい。
【0039】
次に、ステップS302では、画像領域分割部1102は、高精細化を行う撮影画像を生成した際の撮像条件をメモリ109から取得する。撮像条件は、前述したようにズーム位置、フォーカス位置、絞り値、露光時間等、撮像系応答関数が画像領域内で変化するようなパラメータである。
【0040】
ステップS303では、画像領域分割部1102は、撮像系応答関数生成部1101から撮像系応答関数を取得する。撮像系応答関数生成部1101は、ステップS302により取得した撮像条件を用いて、各仮分割領域の代表的な位置(例えば、各仮分割領域の中心画素)における撮像系応答関数を生成する。撮像系応答関数の生成方法はどのような方法でもよく、例えば、撮像条件を反映した撮像系の設計情報を用いて光線追跡により算出する方法や、予め測定して記憶した撮像系応答関数を読み出す方法がある。
【0041】
次にステップS304では、画像領域分割部1102は、ステップS303で撮像系応答関数生成部1101から取得した各仮分割領域の撮像系応答関数を用いて、各仮分割領域での評価値(以下、分割評価値という)Iを算出する。
【0042】
本実施例では、分割評価値Iは、撮像系応答関数の1つである撮像系MTF(Modulation Transfer Function、変調伝達関数)を用いて、以下の式(1)により算出する。
【0043】
【数1】
【0044】
ただし、ξは空間周波数であり、MTFは撮像系MTFである。ξ1とξ2はそれぞれ、空間周波数の上限下限を設定する定数である。分割評価値Iは、撮像系MTFを空間周波数で積分したものである。
【0045】
式(1)で表される分割評価値Iを各仮分割領域について算出し、これら評価値を比較することは、撮像系応答関数の変化(差)を評価することに相当する。このため、次に説明するように、撮像系応答関数の変化に応じた画像領域の分割結果を得ることが可能になる。
【0046】
次にステップS305では、画像領域分割部1102は、ステップS304により算出された各仮分割領域の分割評価値Iを比較する。具体的には、仮分割領域の分割評価値Iの差を求め、該差の絶対値が予め設定した閾値(所定値)α以上になるか否かを判定する。
【0047】
ここでは、仮分割領域402,403,404,405の分割評価値をそれぞれ、I402,I403,I404,I405とする。そして、例えば、式(2)に示すように、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが少なくとも1つある場合は、ステップS306に進む。
【0048】
【数2】
【0049】
ステップS306では、画像領域分割部1102は、仮分割領域を正式な分割領域に設定する。その結果、図5に示すように、注目画像領域401から、仮分割領域402,403,404,405に対応する分割領域502,503,504,505が生成される。画像領域分割部1102は、分割領域502,503,504,505のそれぞれについて(つまりは、分割領域ごとに)ステップS301からステップS306の処理を繰り返す。
【0050】
一方、ステップS305において、以下の式(3)で示すように、差の絶対値が閾値α以上になる分割評価値を有する仮分割領域の組み合わせが1つもない場合には、画像領域分割部1102は、仮分割領域を正式な分割領域として設定しない。この場合、図6に示すように、仮分割領域402,403,404,405を合わせた注目画像領域401がシフトインバリアント領域602とする。
【0051】
【数3】
【0052】
画像領域分割部1102は、シフトインバリアント領域となった分割領域については、画像領域分割処理を終了する。さらに、分割された全ての画像領域がシフトインバリアント領域になると、画像領域分割処理を終了する。
【0053】
撮像系応答関数の変化が画像全体(全画像領域)の中心では小さく、周辺ほど大きい場合には、最終的な全画像領域701の領域分割結果は図7に示すようになる。図7では、撮像応答関数の変化に合わせて分割領域の大きさを変化させた分割結果が得られている。
【0054】
このような領域分割方法により、画像領域を任意の撮像系の特徴に対応したシフトインバリアント領域に分割することが可能である。そして、シフトインバリアント領域ごとに1つの撮像系応答関数を用いる(言い換えれば、シフトインバリアント領域ごとに異なる撮像系応答関数を用いる)。このため、全画素について異なる撮像系応答関数を用いる場合に比べて、該撮像系応答関数を保持(記憶)するためのメモリ容量を低減することができる。
【0055】
また、図7に示したように、撮像系応答関数の変化の大きさが画像中の位置によって大きく異なる場合には、画像領域を均等に分割する場合に比べて、後述する画像処理における高精細化をより効率的に行うことが可能である。
【0056】
次に、図2のステップS203では、システム制御回路108は、画像処理演算部1103に、撮影画像に対する高精細化処理を行わせる。このステップでの処理の詳細を、図8のフローチャートを用いて説明する。ここでは、高精細化処理として、再構成型超解像処理を行う。再構成型超解像処理は、撮像系の劣化過程をモデル化し、その逆問題を解くことで劣化過程を経る前の高解像画像を再構成するものである。
【0057】
まず、超解像処理を行う画像をリファレンス画像とし、該リファレンス画像と同じ撮影シーンに対して微小に被写体に対する視点位置を変化させた撮像により得られた複数の画像(視点画像)を画像処理演算部1103に入力する。以下の説明において、リファレンス画像と視点位置が異なる複数の画像をいずれも撮影画像といい、さらにこれらをまとめて撮影画像群と称する。また、撮影画像数をNとする。このとき、撮像画像群に含まれる画像数は、撮像系の性能、超解像処理の拡大倍率および超解像処理後の画像(超解像画像)の用途に応じて適宜設定される。
【0058】
ステップS801では、画像処理演算部1103は、入力されたリファレンス画像を設定された拡大倍率に応じて拡大処理し、最初の推定高精細画像(以下、初期推定高精細画像という)を生成する。拡大処理としては、単純な線形補間やスプライン補間等、どのような方法を使用してもよい。
【0059】
次にステップS802では、画像処理演算部1103は、ステップS202での画像領域分割処理の結果(画像領域分割情報)、各分割領域に対応する撮像系応答関数および初期推定高精細画像を用いて撮像系による劣化過程を演算して低解像画像を生成する。撮像系による劣化過程の演算には、該劣化過程をモデル化した観測モデルを使用する。観測モデルは、撮像系応答関数の1つであるPSF(Point Spread Function、点像分布関数)を用いて以下のように与えられる。
【0060】
【数4】
【0061】
ただし、Xは高精細画像であり、Y′kは劣化過程後のk番目の低解像画像である。*は畳み込み演算を示し、nは付加的なノイズを示す。また、PSFkは、撮影画像群のうちk番目の撮影画像に対する撮像系応答関数を表す。劣化過程の演算は、式(4)の右辺の第一項を用いる。なお、観測モデルは上記計算式で表されるものに限られず、撮像系の特性や超解像処理のアルゴリズムに合わせて適宜決定すればよい。 また、この劣化過程の演算の際に、撮像系応答関数としてOTF(Optical Transfer Function、光学伝達関数)を用いることも可能である。この場合、画像領域をシフトインバリアント領域に分割し領域毎に一つのOTFを使用することで、全画素について異なる撮像系応答関数を用いる場合に比べてメモリ容量低減だけでなく計算量を低減することもできる。
【0062】
劣化過程を演算する際に、画像領域分割情報を用い、演算する画素が含まれる分割領域に対応する撮像系応答関数を用いて式(4)を演算する。
【0063】
次にステップS803では、画像処理演算部1103は、劣化過程処理を演算した低解像画像群を用いて評価値(以下、超解像評価値という)Jを、以下の式(5)により算出する。
【0064】
【数5】
【0065】
ただし、Ykはk番目の撮影画像を、Y′kはk番目の低解像画像を、αは拘束パラメータをそれぞれ示す。また、cは推定高精細画像に対する事前情報を表す行列を示し、‖‖2はL2ノルムを示す。
【0066】
超解像評価値Jの第一項は、撮影画像と推定高精細画像を劣化させて作成した低解像画像とを比較することで、推定高精細画像の評価を行う項である。超解像評価値Jの第二項は、推定高精細画像の尤もらしさを評価する項であり、推定高精細画像に対する既知の情報や性質を使用して評価を行う。拘束パラメータαは、画像や撮像系に合わせて適宜設定される。行列cは、例えばハイパスフィルタを用いる。
【0067】
なお、超解像評価値Jとしては式(5)に示されるもの以外に、Sina Farsiu他による下記の文献Aにて説明されているバイラテラルフィルタを用いて評価したり、色の相関を用いて評価したりしてもよい。
[文献A]“Multiframe Demosaicing and Super-Resolution of ColorImages”(IEEE TRANSACTION ON IMAGE PROCESSING,VOL.15,NO.1,JANUARY 2006)
次にステップS804では、画像処理演算部1103は、ステップS803で算出した超解像評価値Jが閾値(所定値)βより小さいか否かを判定する。閾値βは、画像の種類、撮像系の性能および高精細化処理の目的に応じて適宜設定される。J≧βである場合には、ステップS805に進み、J<βである場合には、高精細化処理を終了し、推定高精細画像を超解像画像とする。その後、図2のステップS204に進む。
【0068】
ステップS805では、画像処理演算部1103は、ステップS803で算出した超解像評価値Jを最適化する方向に推定高精細画像を更新する。更新方法としては、どのような方法を用いてもよいが、例えば最急降下法を用いて、
【0069】
【数6】
【0070】
として更新すればよい。ここで、X′は更新後の高精細画像を示し、γは更新ステップサイズを設定する定数である。以下、X′を推定高精細画像としてステップS802からの処理をJ<βとなるまで繰り返し行い、超解像画像を得る。そして、ステップS204に進む。
【0071】
図2のステップS204では、システム制御回路108は、ステップS203で生成された高精細画像を出力する処理を行う。まず、視覚補正部111に高精細画像に対する前述した画像補正処理を行わせる。次に、圧縮部112に画像補正処理後の高精細画像の圧縮処理を行わせる。そして、圧縮後の高精細画像を画像出力部113から出力させる。
【0072】
以上説明した本実施例によれば、任意の撮像系に対応したシフトインバリアント領域を算出することが可能であり、シフトインバリアント領域ごとに保持した撮像系応答関数を用いて高精細化処理を行うことができる。このため、全画像領域で単一の撮像系応答関数を用いて高精細化処理を行う場合に比べて、各領域にて撮像系応答関数が近似できているので、より高精度に高精細画像を推定することができる。しかも、全ての画素のそれぞれに対して撮像系応答関数を保持する場合に比べて、撮像系応答関数を保持するメモリ容量を低減させることができる。
【実施例2】
【0073】
次に、本発明の実施例2について説明する。本実施例では、撮像系応答関数の変化を、人間の視覚の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。この重み付けは、画像領域の分割数(分割領域数)を減らす、すなわち分割領域ごとに保持する撮像系応答関数のメモリ容量を減らすために有効である。このことは、後述する他の重み付けを行う場合も同じである。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0074】
本実施例では、撮像系MTFと視覚の空間周波数特性を用いて算出されるCMTA(Cascaded Modulation Transfer acutance)を組み合わせて、分割評価値を算出する。ここでは、CMTAについて、高木幹雄他による下記の文献Bに記載されたものを用いて説明する。
[文献B]“新編 画像解析ハンドブック”(東京大学出版会,pp77−78)
シフトインバリアント領域は、撮像系応答関数の変化を用いて判定可能である。しかしながら、人間の視覚には特徴的な空間周波数特性があることが知られており、撮像系応答関数の変化に対して反応が大きい空間周波数と、該変化に対して反応が小さい空間周波数とが存在する。このため、視覚の空間周波数特性によって撮像系応答関数に重み付けをすることで、シフトインバリアント領域を人が撮像系応答関数の変化を知覚できない領域として、より効率的な領域分割が可能となる。
【0075】
視覚の空間周波数に対する応答関数は、CSF(Contrast Sensitivity Function)として知られている。CSFは、眼球における結像系でのローパスフィルタの特性と、網膜から脳に至る信号処理系でのバンドパスフィルタの特性を考慮してモデル化したものである。
【0076】
CSFは、例えば以下の式(7)で表される。
【0077】
【数7】
【0078】
ただし、ξは空間周波数であり、人間の視角1度の中でどれだけのコントラスト縞が見えるかを表す単位[cycle/deg]で表される。CSFは、個人差、人種、色等により変化するが、一般には、低周波側にピークがあり、かつ周波数0はピークではないという特性を有する。CSFとしては、上記モデル以外にも、G.M.Johnson他による下記の文献Cで説明されているMovshon,Barten,Dalyといったモデルがあり、どのモデルを選ぶかは精度や計算時間によって適宜選択すればよい。
[文献C]“On contrast sensitivity in an image difference model”(IS&T PICS 2002, Portland, 18-23 (2002))
ある空間周波数範囲における撮像系MTFとCSFとの積の積分値を正規化したものを主観的画質係数SQF(Subjective Quality Factor)と称し、撮像系MTFをMTFと示すと、SQFは以下の式(8)で表される。
【0079】
【数8】
【0080】
ただし、ξは空間周波数であり、ξ1およびξ2はそれぞれ、空間周波数の上限と下限を設定する定数である。SQFは撮像系応答関数をCSFで重み付けしたものである。
【0081】
Weber-Fechner’s lawを用いて、SQFを人間の感覚に対して線形に応答するようにし、それを100に規格したものがCMTAである。Weber-Fechner’s lawとは、人間の感覚は刺激の対数に比例するという法則である。よって、CMTAは、以下の式(9)に示すように定式化される。
【0082】
【数9】
【0083】
このCMTAを分割評価値として導入することにより、視覚の空間周波数特性を反映した領域分割結果を得ることが可能になる。
【0084】
このように、本実施例によれば、撮像系応答関数をCSFで重み付けして得られた分割評価値を用いることにより、人間が撮像系応答関数の変化を知覚できない画像領域に分割することが可能である。これにより、より人間の視覚特性に適合した高精細画像を推定可能になるとともに、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例3】
【0085】
次に、本発明の実施例3について説明する。本実施例では、撮像系応答関数の変化を、図2に示したステップS203で行われる高精細化処理の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0086】
高精細化処理の空間周波数特性とは、例えば、高精細化処理の手法が、撮影画像を空間周波数で帯域分割し、高周波帯域の成分のみに高精細化処理を行うように、空間周波数に応じて異なる処理を行って異なる効果を与える特性を意味する。このような高精細化処理では、大きな効果を与える空間周波数成分における撮像系MTFの寄与を強調した分割評価値を設定することにより、高精細化処理に適した領域分割が可能になる。また、特定の空間周波数成分を変調するような、恣意的な処理についても、その目的に応じた領域分割が可能になる。
【0087】
高精細化処理の空間周波数特性について図9を用いて説明する。図9の横軸は空間周波数を、縦軸は空間周波数振幅を示す。実線のグラフ901は、高精細化処理前の入力画像の空間周波数特性を示している。また、点線のグラフ902は、高精細化処理後の画像の空間周波数特性を示している。
【0088】
図9に示す高精細化処理方法は、低周波数成分と比較して高周波数成分に対して、より大きな効果を与える空間周波数特性を持つ処理である。分割評価値を算出する際には、この高精細化処理の空間周波数特性を反映した重み付けスペクトルMTFpを使用する。
【0089】
図10には、図9で示した効果を与える高精細化処理におけるMTFpの例を示す。図10の横軸は空間周波数を、縦軸は各空間周波数における重み付けの強度を示している。グラフ1001がMTFpを表す。
【0090】
MTFpの導出方法は、高精細化処理後の画像の空間周波数特性を、高精細化処理前の入力画像の空間周波数特性で除することで算出する。また、多項式を用いた近似的なモデルを使用したり、恣意的に特定の周波数成分を強調するようなモデルを使用したりしてもよく、その目的に応じて設定すればよい。
【0091】
本実施例では、分割評価値Iを、以下の式(10)を用いて算出する。
【0092】
【数10】
【0093】
ただし、ξは空間周波数を、ξ1およびξ2はそれぞれ、空間周波数の上限と下限を設定する定数である。分割評価値Iは、撮像系応答関数MTFと高精細化処理の空間周波数特性に基づくMTFpとの積を正規化したものである。この分割評価値Iを仮分割領域間で比較するは、撮像系応答関数の変化を高精細化処理の手法に適した重みを付けて評価することに相当する。このため、式(10)を用いて分割評価値Iを算出することにより、高精細化処理に適した領域分割結果を得ることが可能になる。
【0094】
このように、本実施例によれば、高精細化処理の目的に合わせた特定の空間周波数における撮像系応答関数の変化が十分に小さい画像領域に分割することが可能である。これにより、高精細化処理の効果をより十分に得ながら、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例4】
【0095】
次に、本発明の実施例4について説明する。本実施例では、撮像系応答関数の変化を、撮影画像(入力画像)の空間周波数特性による重み付けを行って評価し、その結果得られた分割評価値に応じて領域分割を行う。
【0096】
本実施例は、図11に示す撮像装置2に適用される。撮像装置2において、図1に示した撮像装置1と共通する構成要素には、図1と同じ符号を付して説明を省略する。撮像装置2は、撮像装置1に対して、画像空間周波数特性取得部11001を有する点で異なる。画像空間周波数特性取得部11001は、撮像系によって生成された撮影画像の空間周波数特性を取得する。
【0097】
次に、撮像装置2の動作について説明する。ここでは、実施例1の撮像装置1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図12のフローチャートに示す画像領域分割処理が行われる。図12のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0098】
ステップS301〜ステップS303の処理を行った後、ステップS1201では、画像領域分割部1102は、画像空間周波数特性取得部11001から高精細化処理を行う撮影画像の空間周波数特性を取得する。
【0099】
次にステップS1202では、画像領域分割部1102は、撮像系応答関数の変化に対して、ステップS1201で取得した撮影画像の空間周波数特性による重み付けを行った上で、分割評価値を算出する。
【0100】
例えば、空を撮影したときのように、空間周波数の低い低周波成分が大部分を占める撮影画像では、高精細化処理後の画像においても同様に低周波成分が高周波成分に比較して主要な部分を占めている。このような顕著に空間周波数特性に特徴がある画像に対しては、その空間周波数特性による重み付けをした分割評価値を算出することにより、撮影画像に適した領域分割が可能になる。
【0101】
分割評価値Iは、撮影画像の空間周波数特性を反映した重み付けスペクトルMTFtを用いて、以下の式(11)により算出する。MTFtは、撮影画像の空間周波数特性を多項式で近似したものである。
【0102】
【数11】
【0103】
ただし、ξは空間周波数を、ξ1とξ2はそれぞれ、空間周波数の上限下限を設定する定数である。分割評価値Iは、撮像系応答関数MTFと撮影画像の空間周波数特性に基づく重み付けスペクトルMTFtの積を正規化したものである。この分割評価値Iを仮分割領域間で比較することは、撮像系応答関数の変化を撮影画像の空間周波数特性に応じた重み付けをして評価することに相当する。このため、式(11)により算出された分割評価値Iを用いて領域分割を行うことにより、撮影画像に合わせた領域分割が可能になる。
【0104】
ステップS1202の処理が終わると、ステップS305,S306に進む。
【0105】
このように、本実施例によれば、撮影画像の空間周波数特性に合わせた特定の空間周波数における撮像系応答関数の変化が十分に小さい画像領域に分割することが可能である。これにより、撮影画像における主要な空間周波数成分に対して十分な高精細化処理を行うことができるとともに、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。
【実施例5】
【0106】
次に、本発明の実施例5について説明する。本実施例では、全ての画像領域で画像領域分割処理を行うのではなく、指定した位置(以下、代表位置という)を含む画像領域でのみ画像領域分割処理を行う。そして、その結果算出された該代表位置を含むシフトインバリアント領域の領域サイズで、全画像領域を均等に分割する。本実施例は、実施例1に対して、図3に示したステップS304での評価値の算出処理のみが異なり、その他の装置構成および処理は同じである。
【0107】
本実施例の動作について説明する。ここでは、実施例1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図13のフローチャートに示す画像領域分割処理が行われる。図13のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0108】
まずステップS1301では、画像領域分割部1102は、ユーザによる指定操作またはシステム制御回路108によって所定のアルゴリズムで指定された、画像領域上の代表位置を取得する。画像領域上の位置によって高精細化の精度や計算速度が変化するため、目的に応じて設定する。一般に、撮像系応答関数の変化が大きい画像領域の周辺部を代表位置に指定すると、比較的小さいシフトインバリアント領域に分割される。この場合、撮像系応答関数の変化に良好に対応した領域分割が行われる一方、計算量や撮像系応答関数を保持するためのメモリ容量が増大する。
【0109】
これに対して、撮像系応答関数の変化の小さい画像領域の中心部を代表位置に指定すると、比較的大きいシフトインバリアント領域に分割され、計算速度や撮像系応答関数を保持のためのメモリ容量は低減する。ただし、高精細化精度は低下する傾向がある。
【0110】
次にステップS301〜ステップS303の処理を行った後、ステップS1302では、画像領域分割部1102は、分割評価値を算出する。分割評価値の算出に関しては、実施例1〜4で説明した算出方法のいずれを用いてもよい。
【0111】
次にステップS305,S306の処理を行った後、ステップS1303では、画像領域分割部1102は、画像領域が分割されることにより得られた複数の分割領域から、代表位置を含む分割領域を選択する。ここでの処理の詳細を、図14を用いて説明する。
【0112】
図14は、ステップS306での処理の後、注目画像領域1401が分割領域1403,1404,1405,1406に分割された状態を表す。代表位置1402は分割領域1404に含まれている。
【0113】
画像領域分割部1102は、代表位置1402を含む分割領域1404に対してのみステップS301からの処理を繰り返す。こうして代表位置を含む分割領域がシフトインバリアント領域になると、ステップS1304に進む。
【0114】
ステップS1304では、画像領域分割部1102は、ステップS1303で算出した代表位置を含むシフトインバリアント領域の領域サイズを取得する。そして、該領域サイズで全画像領域を均等に分割する。均等分割の例を図15に示す。
【0115】
図15では、全画像領域1501を、代表位置1502を含むシフトインバリアント領域1503の領域サイズに合わせて均等分割を行っている。なお、代表位置を含むシフトインバリアント領域とは無関係に均等分割を行ってもよい。
【0116】
このように、本実施例によれば、撮影画像における代表位置を含む画像領域でのみ領域分割を行うことより、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。また、本実施例は、実施例1〜4にて説明した画像領域分割方法に比べて領域分割のための計算量を少なくすることができるため、小さなメモリ容量しか確保できない撮像装置において特に好適である。
【実施例6】
【0117】
次に、本発明の実施例6について説明する。本実施例は、予め様々な撮影画像(第1の入力画像:以下、分割処理済み画像という)に対して実施例1〜3および実施例5にて説明した画像領域分割方法を用いて画像領域分割処理を行った結果を記憶しておく。そして、高精細画像の生成時に、該高精細画像生成のベースとなる撮影画像(第2の入力画像:以下、処理対象画像という)に対して、該記憶した画像領域分割結果を用いて画像領域分割処理を行う。
【0118】
本実施例は、図16に示す撮像装置3に適用される。本実施例は、撮像装置3において、図1に示した撮像装置1と共通する構成要素には、図1と同じ符号を付して説明を省略する。撮像装置3は、撮像装置1に対して、領域分割結果記憶部1601を有する点で異なる。領域分割結果記憶部1601は、予め行われた分割処理済み画像の画像領域分割結果を記憶する。
【0119】
次に、撮像装置3の動作について説明する。ここでは、実施例1の撮像装置1の動作と相違する動作のみについて説明する。具体的には、図2に示したステップS202において、図3のフローチャートに代わり、図17のフローチャートに示す画像領域分割処理が行われる。図17のフローチャートにおいて、図3のフローチャートと同じ処理を行うステップについては同符号を付して説明を省略する。
【0120】
ステップS302の後、ステップS1701では、画像領域分割部1102は、領域分割結果記憶部1601に記憶された分割処理済み画像の画像領域分割結果から、ステップS302で取得した処理対象画像の撮像条件に対応する画像領域分割結果を取得する。取得する画像領域分割結果は、撮像条件が処理対象画像に最も近い分割処理済み画像についての画像領域分割結果でもよいし、幾つかの異なる撮像条件の分割処理済み画像についての画像領域分割結果から算出(推定)したものであってもよい。
【0121】
次にステップS1702では、画像領域分割部1102は、ステップS1701において取得した画像領域分割結果に示される各分割領域について、対応する撮像系応答関数を算出する。撮像系応答関数の算出方法は、ステップS303と同じである。なお、撮像系応答関数を算出する位置は、例えば各シフトインバリアント領域の中心位置とする。ステップS1702をの処理を行った後、画像領域分割処理を終了する。
【0122】
このように、本実施例では、他の撮影画像に対する画像領域分割結果を用いて処理対象の撮影画像に対する画像領域分割処理を行う。これにより、全ての画素のそれぞれに対する撮像系応答関数を保持する場合と比べて撮像系応答関数の保持に必要なメモリ容量を低減することができる。しかも、画像領域分割処理を行うための計算が必要なくなるため、高精細画像の生成に要する時間を短縮することができる。
【実施例7】
【0123】
上記各実施例では、撮像装置に、画像処理装置110を内蔵した場合について説明したが、本発明の実施例はこれに限らない。
【0124】
例えば図18に示すように、撮像装置1801で得られた撮影画像を、パーソナルコンピュータ1802に送信する。送信方法は、ケーブル方式、無線方式のいずれでもよく、インターネットやLANを介して送信してもよい。
【0125】
そして、パーソナルコンピュータ1802において、受信した撮影画像に対して、実施例1〜6にて説明した画像領域分割処理や高精細化処理を行ってもよい。この場合、パーソナルコンピュータが、画像処理装置として機能する。
【0126】
さらに、上記実施例1〜6にて説明した画像処理プログラムは、これを格納した半導体メモリや光ディスク等の記憶媒体やインターネット、LANを介して撮像装置やパーソナルコンピュータにインストールされるようにしてもよい。
【0127】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【産業上の利用可能性】
【0128】
少ないメモリ容量で、入力画像の十分な高精細化処理が行える画像処理装置を提供できる。
【符号の説明】
【0129】
1,2,3 撮像装置
100 結像光学系
101 露光制御部材
102 撮像素子
103 AD変換部
108 システム制御回路
110 画像処理装置
1101 撮像系応答関数記憶部
1102 画像領域分割部
1103 画像処理演算部
【特許請求の範囲】
【請求項1】
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項2】
前記領域分割手段は、前記応答関数に対して前記領域の分割数を減らすための重み付けを行った結果から前記評価値を得ることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記領域分割手段は、人間の視覚の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記領域分割手段は、前記画像処理の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記領域分割手段は、前記入力画像の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶する記憶手段と、
撮像系により生成された第2の入力画像を、該記憶手段に記憶された分割結果を用いて複数の領域に分割する領域分割手段と、
前記第2の入力画像における前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項7】
撮像系と、
請求項1から6のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項8】
コンピュータに、
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行うステップとを実行させることを特徴とする画像処理プログラム。
【請求項9】
撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶するステップと、
撮像系により生成された第2の入力画像を、該記憶された分割結果を用いて複数の領域に分割するステップと、
前記第2の入力画像における前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行うステップと実行させることを特徴とする画像処理プログラム。
【請求項10】
請求項8又は9に記載の画像処理プログラムを格納したことを特徴とする記憶媒体。
【請求項1】
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割する領域分割手段と、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項2】
前記領域分割手段は、前記応答関数に対して前記領域の分割数を減らすための重み付けを行った結果から前記評価値を得ることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記領域分割手段は、人間の視覚の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記領域分割手段は、前記画像処理の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記領域分割手段は、前記入力画像の空間周波数特性を用いて前記重み付けを行うことを特徴とする請求項2に記載の画像処理装置。
【請求項6】
撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶する記憶手段と、
撮像系により生成された第2の入力画像を、該記憶手段に記憶された分割結果を用いて複数の領域に分割する領域分割手段と、
前記第2の入力画像における前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行う処理手段とを有することを特徴とする画像処理装置。
【請求項7】
撮像系と、
請求項1から6のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項8】
コンピュータに、
撮像系により生成された入力画像を、前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割するステップと、
前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行うステップとを実行させることを特徴とする画像処理プログラム。
【請求項9】
撮像系により生成された第1の入力画像を前記撮像系の応答関数を用いて得られる評価値に差を持つ複数の領域に分割した結果を記憶するステップと、
撮像系により生成された第2の入力画像を、該記憶された分割結果を用いて複数の領域に分割するステップと、
前記第2の入力画像における前記各領域に対して、該領域ごとに異なる前記応答関数を用いた画像精細度を増加させるための画像処理を行うステップと実行させることを特徴とする画像処理プログラム。
【請求項10】
請求項8又は9に記載の画像処理プログラムを格納したことを特徴とする記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−3455(P2012−3455A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−137034(P2010−137034)
【出願日】平成22年6月16日(2010.6.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成22年6月16日(2010.6.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]