以下に、本発明の好ましい実施の形態を、図面に基づいて詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る撮影装置の概略構成を説明するためのブロック図である。図1は撮像装置のハードウェア構成を示すが、ここに示す構成はあくまで一例であって、図1に示す以外の構成要素が付加されてもよい。また、図1の撮像装置において、撮像素子、操作表示部、操作部、スイッチのような物理的デバイスを除き、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをCPU等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。以下、撮像装置の構成要素及びその機能について説明する。
図1に示すように、本実施形態の撮像装置100は、光学部材であるレンズユニット10として、フォーカスレンズ10a、ズームレンズ10b、絞りシャッタ12、および、レンズ特性情報記録部10cを有する。レンズ特性情報記録部10cは、レンズIDやレンズの焦点距離、離散的な補正値などの情報を記録している。
レンズ特性情報記録部10cに記録されるデータには、周辺光量落ち、色収差、シェーディング、球面収差、および歪曲収差等のレンズユニット10に起因する各種の画質劣化を信号処理で補正するためのデータが含まれている。
フォーカスレンズ10aおよびズームレンズ10bを通過した光学像は、絞りシャッタ12を開くことで撮像素子14に入射される。撮像素子14は、光学像を光電変換して、アナログの画像信号として出力し、A/D変換器16は、撮像素子14から出力されたアナログ画像信号をデジタル画像データに変換する。
タイミング信号発生回路18は、メモリ制御部22、システム制御部50の制御の下に、撮像素子14、A/D変換器16、D/A変換器26にクロック信号、制御信号等を供給する。
画像処理回路20は、A/D変換器16からの画像データ、あるいはメモリ制御部22からの画像データに対して、画素補間処理、色変換処理等の所定の画像処理を施す。また、画像処理回路20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行う。この演算結果に基づいて、システム制御部50は、絞りシャッタ駆動部40、フォーカスレンズ駆動部42を制御するためのTTL方式のオートフォーカス処理、自動露出制御処理およびストロボ48の自動発光制御処理を行う。
更に、画像処理回路20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、この演算結果に基づいてTTL方式のオートホワイトバランス処理も行う。
顔認識回路21は、被写体像の中から人物像、特に顔を認識(検出)し、その検出結果をシステム制御部50に通知する。
システム制御部50は、顔認識回路21での顔検出結果に応じて顔の部分にフォーカスを合わせるためにフォーカスレンズ駆動部42を制御したり、ストロボ48の光量を調整したりする。また、システム制御部50は、顔認識回路21での顔検出結果に応じて、画像処理回路20によりオートホワイトバランス処理を行わせる。
メモリ制御部22は、A/D変換器16、タイミング信号発生回路18、画像処理回路20、画像表示メモリ24、D/A変換器26、メモリ30、および圧縮伸長回路32を制御する。A/D変換器16から出力された画像データは、画像処理回路20およびメモリ制御部22を介して、またはメモリ制御部22のみを介して画像表示メモリ24またはメモリ30に書き込まれる。
メモリ30は、動画撮影時に所定レートで連続的に記録媒体200に書き込まれる画像のフレームバッファとして使用される。また、メモリ30は、システム制御部50の作業領域としても使用される。圧縮伸長回路32は、メモリ30に格納された画像を読み込んで圧縮処理または伸長処理を行い、処理を終えたデータを再びメモリ30に書き込む。
絞りシャッタ駆動部40は、画像処理回路20での演算結果に基づいて、絞りシャッタ12を駆動し、絞りおよびシャッタ速度を制御する。フォーカスレンズ駆動部42は、画像処理回路20での演算結果に基づいて、フォーカスレンズ10aを駆動し、オートフォーカス制御を行う。ズームレンズ駆動部44は、操作部70による変倍操作に応じて、ズームレンズ10bを駆動する。ストロボ48は、オートフォーカス補助光の投光機能やストロボ調光機能を有する。
システム制御部50は、CPUやメモリを含み、撮像装置100の動作を全体的に制御する。メモリ52には、システム制御部50の動作用の定数、変数、コンピュータプログラム(基本プログラム)等が記憶される。
不揮発性メモリ56は、例えば電気的に消去記録可能なEEPROM等で構成され、コンピュータプログラム等の格納用メモリとして使用される。不揮発性メモリ56に格納されるコンピュータプログラムには、撮像装置で実行される処理をシステム制御部50により実行するためのアプリケーションプログラムが含まれる。また、不揮発性メモリ56には、メニュー画面、露出補正/AEB設定画面等のGUI画面上で設定された設定値等も格納される。
メインスイッチ60は、撮像装置100の電源のオン/オフを切換えるためのスイッチである。メインスイッチ60の操作によって、撮像装置100に接続された記録媒体200の電源のオン/オフも同時に切換えることができる。
シャッタスイッチ(SW1)62は、レリーズボタンの第1ストローク操作(半押し)によってONとなり、オートフォーカス処理や自動露出制御処理等の動作開始をシステム制御部50に指示する。シャッタスイッチ(SW2)64は、レリーズボタンの第2ストローク操作(全押し)によってONとなり、露光処理、現像処理および記録処理からなる一連の撮影処理の動作開始をシステム制御部50に指示する。
操作部70は、各種ボタン、スイッチ、タッチパネル等を有する。ボタンとしては、例えば、メニューボタン、セットボタン、メニュー移動ボタン、圧縮モードスイッチなどが挙げられる。システム制御部50は、操作部70からの信号に応じて各種動作を行う。
なお、圧縮モードスイッチは、JPEG圧縮の圧縮率を選択するため、あるいは撮像素子14の信号をそのままデジタル化して記録媒体200に記録するRAWモードを選択するためのスイッチである。
JPEG圧縮のモードとしては、例えばノーマルモードとファインモードが用意されており、撮影した画像のデータサイズを重視する場合はノーマルモードを、撮影した画像の画質を重視する場合はファインモードを、それぞれ選択すればよい。
JPEG圧縮のモードにおいては、撮像素子14から読み出されてA/D変換器16、画像処理回路20、およびメモリ制御部22を介して、メモリ30に書き込まれた画像データを読み出す。この画像データを、設定に係る圧縮率で圧縮伸長回路32により圧縮し、記録媒体200に記録する。
RAWモードでは、撮像素子14のベイヤー配列の色フィルタの画素配列に応じて、ライン毎に画像データを読み出して、A/D変換器16、およびメモリ制御部22を介して、メモリ30に書き込まれた画像データを読み出し、記録媒体200に記録する。動画記録ボタン73は、撮影された動画データをメモリ30や記録媒体200に記録する記録動作を指示するために操作される。
I/F90は、記録媒体200のインターフェースであり、コネクタ92は、記録媒体200との接続部である。記録媒体200は、I/F204および記録部202を有して、コネクタ206を介して撮像装置100に着脱自在に接続され、撮像装置100で撮影される動画データや静止画データを記録保存する。記録媒体200に動画データや静止画データを記録保存する場合は、レンズユニット10の特性に起因する画質劣化を抑制するための画像補正を行うことができる。
画像表示部28は、D/A変換器26によりアナログ信号に変換されて、画像表示メモリ24に書き込まれた画像信号を逐次表示することで、電子ビューファインダ(EVF)機能、所謂、ライブビュー(LV)機能を実現する。
なお、画像表示部28は、システム制御部50の指示により、電子ビューファインダ(EVF)機能をON/OFFする。上記のライブビュー(LV)機能においては、レンズユニット10の特性に起因する画質劣化を抑制するための画像補正を行うことができる。
この画像補正においては、電源入時、あるいは交換レンズ(レンズユニット10)が接続されたときに、システム制御部50は、レンズ特性情報記録部10cからレンズユニット10の特性情報を読み込む。
このレンズ特性情報には、前述のように、レンズユニット10のIDや開放絞り値、テレ端、ワイド端の焦点距離などの特性情報が含まれる。
レンズ状態情報取得部15は、所定のタイミング、例えばフレーム毎にレンズユニット10の現在の状態を取得する。
具体的には、レンズ状態情報取得部15は、絞りシャッタ駆動部40から現在の絞り値を、ズームレンズ駆動部44から現在の焦点距離(ズーム位置)を、フォーカスレンズ駆動部42から現在のフォーカス位置を取得する。ただし、これら以外の画像補正に必要なレンズの状態を適宜取得することも可能である。
システム制御部50は、レンズ特性情報記録部10cから取得したレンズ特性情報、およびレンズ状態情報取得部15から取得したレンズ状態情報を補正値算出部23へ通知する。
補正値算出部23は、通知されたレンズ特性情報およびレンズ状態情報に基づき、レンズユニット10の周辺光量落ちを補正する補正係数、歪曲を補正する補正係数、色収差を補正する補正係数等の種々の補正値を、領域あるいは画素ごとに算出する。
ここでの補正値は、レンズ状態とレンズ特性情報から予め算出して記録しておいた補正値を基に算出しても良いし、レンズ状態情報とレンズ特性情報を基に一般的な光学式から導かれる近似された値を用いても良い。
システム制御部50は、補正値算出部23で算出した補正値を後述する適用率等を用いて再算出し、画像処理回路20に通知する。画像処理回路20は、通知された複数の補正値に基づき、レンズユニット10の特性に起因する複数種の画像劣化を補正する。
本実施形態では、画像処理回路20における、特に周辺光量の補正方法について説明を行う。前述の通り、本来ならば補正値算出部23において算出された補正値を画像処理回路20において適用するのが好ましい。しかし、周辺光量の低下が大きいレンズユニット光学系の場合、補正値算出部23で算出された値で補正できない場合や、補正できても好ましい結果にならない場合がある。その例としては、画像処理回路20に設定可能な補正の最大値が規定されていて、光学特性の劣化がその値を超える場合である。また別の例としては、撮像素子14で撮影されA/D変換器16でデジタル出力された画像に対し、補正値算出部23で算出された補正値で補正を行うと不自然な画像になる可能性が高い場合である。その様子について図2〜4を用いて説明を行う。
あるレンズユニットで撮影した際の光量落ちの様子を図2に示す。図2は、レンズユニットの周辺光量落ちの特性の例とその補正値を表した図である。図2(a)はある撮影条件での周辺光量の落ち方を示す図である。横軸は光量中心からの距離である像高を示し、縦軸は光量中心の光量を1で規格化した場合の光量を示す値になっている。一般的に周辺光量はコサイン4乗則やレンズユニットのメカニカル部材のケラレなどにより、光量中心から離れるにしたがって光量が低下する。補正値算出部23は、この値を離散化または多項式近似化して所持しておくものとする。図2(b)は図2(a)の光量落ちに対して、完全に補正を行う場合の補正値を示したグラフである。横軸は光量中心からの距離である像高を示し、縦軸は補正値(ゲイン)を示すものである。この例の場合、最大で約10倍近いゲインが必要になってくることを示している。
まず、システムにおいて補正の最大値が決まっており、補正値算出部23で算出した結果をそのまま適用できない場合について説明を行う。例えば、画像処理回路20において補正できる最大ゲインが5倍に規定されている場合について、図3と図4を用いて説明を行う。
図3は、レンズユニットの周辺光量落ちの影響と補正結果の例を示す図であり、図4は、レンズユニットの周辺光量落ちの補正値が頭打ちになった場合の補正値の例である。図3(a)は被写体であり、周辺光量の劣化が生じていない状態を表した図である。図3(a)を図2で説明したレンズユニットの条件で撮影した場合、図2(a)で示した特性により周辺光量が低下するため、補正を行わない場合は図3(b)のように周辺が暗くなった画像が撮影される。このとき、画像処理回路20において補正できる最大値が十分な大きさで確保されている場合、図2(b)の補正値を適用することにより図3(a)のような理想的な画像を出力することができる。しかし、画像処理回路20の補正の最大値が十分でない場合(5倍だった場合)は、図4に示すような補正ゲインが適用されてしまう。図4は補正値が5倍でクリップされてしまうことを示している。このような補正値で補正を行った場合、図3(c)のような画像が出力される。画像の中心〜中間像高部分は正しく補正されるが、像高周辺分で補正がクリップされて補正残りが発生し、周辺部分のみが暗いという不自然な画像が出力されてしまう。
一方、撮像素子14で撮影されA/D変換器16で出力された画像に、図2(b)のような完全な補正を行った場合に、不自然な画像が出力される例について図5および図6を用いて説明を行う。図5は、撮像装置による暗い被写体を撮影した場合の一例を示す図であり、図6は、図5の暗部のノイズへの影響を示す図である。
完全な補正を行った場合に出力される不自然な画像は、図5に示すような夜景のように全体が暗い画像を取得した場合に、周辺部分の色ムラとなって発生する。その原理について図6を用いて説明する。まず図5の周辺部分(501)の領域のラインプロファイルを取得する。まず理想的な場合として、撮像素子14に全くノイズがなかった場合について説明する。この時リニアな出力を示す撮像素子14が出力する各色(R:赤、G:緑、B:青)の出力がそれぞれ図6(a)に示す値(R:5、G:15、B:5)になったとする。被写体が無彩色である場合、画像処理回路20は上記が無彩色になるようにそれぞれゲインをかける(R:3倍、G:1倍、B:3倍)。一般的にこの処理はホワイトバランス処理といわれている。その結果図6(b)に示すようにR、G、Bが同じ値(R:15、G:15、B:15)を示ようになる。この時後周辺光量を補正するため、RGBに一律の補正値(例えば3倍)を適用すると、図6(c)のように補正されたRGB値(R:45、G:45、B:45)が出力される。このように撮像素子14にノイズが全くない場合は、周辺光量の補正を制限なく処理しても問題ない画像が得られる。
しかし、現実には撮像素子14にはノイズが発生している。図6(d)は図6(a)に対してランダムにノイズが乗っている様子を示している。実際の撮像素子14値からはこのような値が出力される。重畳されているノイズの量は撮像素子14の特性や、撮影時の高感度撮影モード設定(いわゆるISO感度)に応じて変化する。この出力に対して、前述のようなホワイトバランス(R:3倍、G:1倍、B:3倍)を適用すると図6(e)のような出力になる。わずかではあるが図6(b)と比較すると輝度基準のGの信号に対して、RとBの値がばらついている。この信号に対して、周辺光量の補正を行うと図6(f)のようなグラフになる。図6(e)と比べてもGとR、Bの差が大きくなっていることがわかる。特に今回説明した無彩色の被写体の場合、RとBのGからのズレは色ムラとして表れ画像としては好ましくない。また、一般的に撮像素子14は画面中心と比べて画面周辺部の方が特性(たとえは、リニアリティや色シェーディング)が良くない場合が多く、その悪化している特性を周辺光量補正によって目立たせてしまう可能性が高い。このような状況においては積極的に補正を行わないことの方が好ましい。
上記問題を鑑み、図7を用いて本実施形態の自動補正割合算出の処理の流れを説明する。図7は、本発明の第1の実施形態にかかる自動補正割合算出の処理の流れを示すフローチャートを示す図である。なお、図面ではステップをSとして記載している。
本処理は1フレーム分の撮像を実行する度に行われる。処理速度が十分に担保できないのであれば、ライブビュー画像には本処理を実行せずに、シャッタスイッチ(SW2)64がONされることに応じて撮影された静止画像に対して本処理を行うようにしてもよい。撮像動作が開始されると、まずレンズユニット10の焦点距離、撮影距離、および絞り位置を、レンズ状態情報取得部15を経由して取得する。そして、レンズ特性情報記録部10cに保存されている補正情報から、取得した焦点距離、撮影距離、および絞り位置に対応する補正情報を取得する(ステップ701)。次に、取得した補正情報を、画像処理回路20で設定する補正値に換算する(ステップ702)。この補正は、周辺光量補正の場合は光量中心の光量を1で規格化した場合の逆数をとることで算出することができる。次に算出した補正値から、実際の画像に適用される最大の補正値Gmaxを算出する(ステップ703)。交換式のレンズユニットの場合、様々な撮像素子14のサイズの撮像装置に装着できるレンズがある。その場合は撮像素子の最大像高に該当する補正値を算出することで、最大の補正値Gmaxを得ることができる。
このステップ703の詳細な処理について図8を用いて説明する。図8は、本発明の第1の実施形態にかかる最大補正値を算出するためのフローチャートを示す図である。まずシステム制御部50は、メモリ52から撮像素子14の画素ピッチ情報と最終出力画像サイズ情報を取得する(ステップ801)。この2つの情報により、出力画像の最大像高の値が算出される。画素ピッチがP[mm]、最大出力サイズが(x,y)=(a,b)[pix(画素数)]の場合、提供される画像の最大像高Z[mm]は下記式(1)で算出される(ステップ802)。
ステップ802で算出した最大像高Zを用いてステップ702で算出した補正値を参照することにより、Gmaxを取得することができる。
次に、図7のステップ704において、撮影が行われた撮像システムにおける最大ゲイン情報Glimを取得する。この最大限情報Glimの取得の方法の一例を図9に示す。図9は、本発明の第1の実施形態にかかるシステムの最大補正値を算出する1例を表す図である。
横軸は撮影時のISO感度、縦軸は各ISO感度における最大ゲインの値を示している。つまり比較的低感度であるISO i1までは最大ゲインg2が適用でき、比較的高感度であるi2は最大ゲインがg1しか適用できないことを示している。g2に関しては、ノイズが少ない状態で適用できる最大ゲインの値を入力し、g1はノイジーな画像に対しても、悪影響を与えない値を設定しておく。
このテーブルを事前にメモリ52に格納しておくことにより、撮影条件(ISO感度)に応じて最適な補正が可能となる。このテーブルは画像処理回路20の性能や、撮像素子14の特性に応じて変更することが好ましい。
このようにして撮影条件におけるシステムの最大ゲインGlimを取得できる(ステップ704)。次にS703で算出したGmaxとS704で算出したGlimの比較を行う(ステップ705)。その結果Gmaxの方が小さい場合は、システムによる制約を受けずに補正が可能となるため、ステップ702で算出した補正値で補正を行うことが可能になる(ステップ706)。一方Gmaxの方が大きい場合は、そのままの値で補正してしまうと、図3(c)のような画像が出力されてしまうため、補正割合を変化させて補正値を作成する必要がある。
その様子について図10を用いて説明する。図10は、本発明の第1の実施形態にかかる算出された補正値の結果の一例を示す図である。図10(a)はステップ705においてGmaxの方が大きいと判定された時の補正値の一例である。この補正値をシステムの最大ゲインGlimに収まるように修正する必要があり、かつ図4のような不自然な補正値を算出することは避けなければいけない。そのためには図10(b)の実線(1002)のような補正値を適用する必要がある。元の補正値(1001)を像高xの関数F(x)とすると、算出する補正の関数G(x)(1002)は下記の式(2)で算出することができる(S707)。
この式(2)から求められる補正値で補正する(ステップ707)ことにより、図3(c)のような不自然な画像を生成することなく、図11に示すようにシステムの実力に応じた自然な補正が適用できる。また、Gmaxの方がGlimとよりも大きい場合にのみ補正値の低減を行うので、一律に補正割合を低減する方法に比べて、Glimに達しない撮影条件においては従来通りの最適な補正を適用することができる。
(第2の実施形態)
以下、本発明の第2の実施形態にかかる撮像装置について説明する。第2の実施形態では歪曲収差を例に説明を行うが、上記第1の実施形態に対して重複または相当する部分については、図および符号を流用して説明を行う。
歪曲収差の場合、歪み量が大きくなればなる程、歪みを補正するために補正対象画素から遠くはなれた画素を参照する必要が出てくる。そのため、画像処理回路20としては補正処理時に十分に広い範囲をワークメモリにおいて処理しなければならず、回路規模が増大してしまう。また歪み量が大きくなればなるほど、歪補正後の画像は解像感が劣化してしまう問題がある。
まず、ワークメモリを十分に確保できなかった場合にどのような現象が発生するかについて説明を行う。図12はあるレンズユニットの特定の条件下でのレンズユニットの歪曲収差補正の特性の一例を表した図である。横軸は像高を示しており、縦軸は各像高に応じた歪み量を示している。縦軸の値は、理想結像位置(歪曲収差がない場合)に対して、実際はどの程度歪んでいるかを示す比を表しており、1であれば歪みがない状態を示している。値が1よりも小さくなる場合は理想の結像位置に対して内側に歪んでいることを示しており、一般的に樽型の収差を表している。反対に値が1よりも大きくなる場合は理想の結像位置に対して外側に歪んでいることを示しており、一般的に糸巻き型の収差を表している。補正方法の一例としては、補正対象画像の像高を算出し、図12に示した補正値に従い、理想的に結像した場合の画素値に置き換えることにより、歪みを補正することが可能となる。このため、ハードウェア上のリアルタイム処理においては、参照先のデータを保持しておくために、補正値に応じてメモリにデータを一時保存して処理を行う必要がある。大きな歪曲収差を補正しようとすると、毎回補正のための参照領域をメモリに大量に確保しなければならず、これにより処理速度の低減やメモリの増加に伴うコストアップを伴ってしまう。つまり、撮像システムにおいて歪みの補正値の最大値は決定しておく必要がある。しかし、特にレンズユニット10が交換式の場合は、様々な特性のユニットが装着される可能性があり、中にはシステムの最大値を超える歪み量を持つものが存在する。
このとき最大値を超える補正値をすべて最大値でクリップした場合にどのような画像になるかについて、図13と図14を用いて説明を行う。図13は、レンズユニットの歪曲収差補正の影響と補正結果の例を示す図であり、図14は、レンズユニットの歪曲収差補正の補正値が頭打ちとなった場合の補正値の例を示す図である。図13(a)は樽型の歪みがあるレンズユニットで長方形の被写体を撮影した場合の画像である。像高が高い程内側に歪んでおり樽の形状を示していることがわかる。図13(b)は補正を最大限行った場合の図である。歪んでいた長方形の被写体の歪みが解消されていることがわかる。図13(c)は撮像システムの制約により最大補正が掛からずクリップされた補正値で補正された場合の図を示している。このときの補正値のイメージとしては図14に示すように、ある値で打ち止めになっているような補正値である。つまり、頭打ちになった先は歪みが残存することになり、図13(c)の外周部に見えるように不自然な歪みとして画像に表れてしまうので好ましくない。
一方、歪み量が大きくなってくると、システムの制約を受けずに補正を適用できたとしても補正後の画像が不自然な結果となることもある。その例について図15を用いて説明を行う。図15は、レンズユニットの歪曲補正の補正結果の一例を示す図である。
図15(a)は樽型の歪みをもつレンズユニットで撮影したが画像であり、周辺に向かって歪んでいるのがわかる。一方、図15(b)は図15(a)に対して、歪曲収差補正を行った後の図である。このとき画面周辺部に移る被写体1501、1502の大きさを比較すると、画面上での大きさは被写体1502の方が大きく写っていることがわかる。これは、この領域においては拡大処理が施されたことと等価であり、解像感が劣化してしまう。一方で画面中心領域では通常補正がかからない(もしくは少ない)ため、解像感の劣化が少ない。つまり画面中心と周辺で解像感が大きく異なる不自然な画像が作成されてしまう。この傾向は補正値が大きくなればなるほど顕著に目立つ現象であり、この観点からも補正値を意図的に制限した方が良い場合がある。歪みを完全に補正したうえで、解像感の劣化を補償する方法としては、拡大処理の補間処理を高度な補間処理によって補間し、周波数特性を調整する方法が考えられる。もしくは、周辺部分にのみエッジ強調処理を行って解像感を補償する方法などが考えられるが、それぞれ専用の補正回路が必要となり、コストアップにつながってしまう。
上述のように、第1の実施形態で周辺光量補正について行った処理と同様に、歪曲収差補正についても、システムの特徴に応じて補正値を制御することが好ましい。基本的な処理の流れは図7と同様の方法が適用できる。ここでは第1の実施形態を基本とし、さらに応用的な処理を含めて図16を用いて説明を行う。図16は、本発明の第2の実施形態にかかる自走補正割合算出の処理の流れを示すフローチャートを示す図である。図16で説明する自動補正割合算出の処理は、歪曲収差補正に限らず、周辺光量補正にも適用することができる。
図16では第1の実施形態で説明した図7の処理をより効率的に、さらに補正効果を最大に出せるような処理を追加している。そのために、予めレンズ特性情報記録部10cに事前に特定の情報を所持しておく必要がある。まずレンズ特性情報記録部10cに所持する補正情報の一例について図17を用いて説明する。図17は、本発明の第2の実施形態にかかるレンズ特性情報のファイル形式の一例を示す図である。
図17はレンズ特性情報記録部10cに記録されているレンズユニットの補正情報の一例を示した図になっている。この情報はレンズユニットごとに所持する必要がある。交換不可のレンズユニットを持つ撮像装置の場合は、撮像装置内のメモリに所持しておけば良いが、交換式のレンズユニットの場合は、レンズユニット内に所持することが好ましい。レンズユニット内に所持していれば、レンズユニットが撮像装置に情報を送信できるので撮像装置側にすべてのレンズユニットの補正情報を所持しなくて済む利点がある。
メモリには、レンズユニットごとのヘッダ情報である補正データヘッダ情報1701、周辺光量補正データ1702、および歪曲収差補正データ1703がそれぞれの領域に記録されている。これらの情報は理想的には、全ての焦点距離や撮影距離、絞り値に対応した補正データを所持することが好ましいが、メモリの容量や補正情報の特性に合わせて削減することも可能である。ここではレンズユニットの光学特性に応じて補正値を記録しておき、この領域に記載の補正値を用いて補正すれば、周辺光量および歪曲収差が完全に補正されるような値を記録することが望ましい。
次に補正データヘッダ情報1701の詳細について説明する。この補正データヘッダ情報1701は、レンズユニットの識別情報であるレンズID情報1704や周辺光量補正参照データ1705、および歪曲収差補正参照データ1706を所持している。周辺光量補正参照データ1705は、周辺光量データサイズ1707、補正データの先頭アドレスへのオフセット量を示す周辺光量データオフセット1708を含む。また、周辺光量補正参照データ1705は、低減処理が必要かどうかの判定フラグである周辺光量低減判定フラグ1709、後述する低減処理の判定に用いる周辺光量低減判定像高情報1710を含む。歪曲収差補正参照データ1706は、歪曲収差データサイズ17011、補正データの先頭アドレスへのオフセット量を示す歪曲収差データオフセット1712を含む。また、歪曲収差補正参照データ1706は、低減処理が必要かどうかの判定フラグである歪曲収差低減判定フラグ1713、後述する低減処理の判定に用いる歪曲収差低減判定像高情報1714を含む。
レンズ特性情報記録部10cに上述のファイル構成を持つ補正データを持った場合の処理の説明について、図16を用いて説明を行う。基本的な構成は第1の実施形態1において図7を用いて説明したものと同じなので、差分について重点的に説明する。
まず、撮影条件を取得(ステップ1601)し、補正値を取得(ステップ1602)する処理は、それぞれステップ701、ステップ702と共通の処理で良い。次にレンズ特性情報記録部10cに記録された低減処理判定フラグ(歪曲収差補正の場合、歪曲収差低減判定フラグ1713)を参照する。フラグが立っていなければ、低減処理を行わずにステップ1602で算出した補正値で補正を行う(ステップ1603)。これにより、不要な演算を回避することができる。次にステップ1605において所定像高の最大補正値Gmaxを算出する。
この所定像高の最大補正値Gmaxの算出方法について図18を用いて説明を行う。図18は、本発明の第2の実施形態にかかる最大補正値を算出するためのフローチャートを示す図である。まずステップ801と同様に撮像素子の画素ピッチ情報、最終出力サイズを取得する(ステップ1801)。次にレンズ特性情報記録部10cに記録された判定像高情報(歪曲収差補正の場合、歪曲収差低減判定像高情報1714)を取得する(ステップ1802)。ここに記録する値は、撮影時に補正値がクリップされる場合に、どの像高までクリップされないようにするかを予め入力しておくための値である。次にステップ1802で取得した情報をもとにステップ1803において最大補正値を算出する。
このステップ1803における最大補正値の算出過程について図19を用いて説明する。図19は、本発明の第2の実施形態にかかる最大補正値を算出する方法を示す図である。実線1901はステップ1602で算出された補正値を示している。ステップ1801で算出された最大像高をDとする。また、ステップ1802で取得した判定像高情報をαとすると、Gmaxは像高αDにおける歪率として求めることができる。
次にステップ704と同様にシステムの最大補正値Glimを算出する(ステップ1606)。第1の実施形態においてシステムの最大補正値は、図9を用いてISO感度毎に変化させることを記載したが、歪曲収差補正の場合はISO感度によって画質面での変化は少ないので一律の値を所持しておいても良い。
次にステップ1605で算出したGmaxとステップ1606で算出したGlimを比較する(ステップ1607)。Gmaxの方が補正値が少ない場合は、低減処理を行う必要がないのでステップ1602で算出した補正値で補正を行う(ステップ1604)。一方、補正値が大きい場合は判定像高がGlimに収まるような補正割合R(ステップ1608)を算出する。Rの算出方法は式(2)と同じで良い。このようにして算出した補正割合で補正する(ステップ1609)ことにより、第1の実施形態のように最大像高で割合を決定する場合と比べて、補正効果を出すことができる。その様子を図20で説明をする。
図20は、本発明の第2の実施形態にかかる算出された補正値の結果の一例を示す図である。点線2001はステップ1602から算出した、収差を完全に補正する場合の補正値を表しており、システムの最大補正値Glimを超えた場合の条件のものでる。一方、点線2002は第1の実施形態で示したように最大像高での補正値がGlimを超えないように補正割合を低減した場合の補正値である。最大像高DでGlimの補正値になっていることがわかる。実線2003が本実施形のアルゴリズムで処理した結果となっている。所定の像高αDでシステムの最大補正値Glimに達している。だが、点線2002よりは補正効果が見える補正値になっていることがわかる。ここだαをあまり小さく設定しすぎると、図3(c)や図13(c)で示したようになってしまうので、レンズ特性情報記録部にαの値を入力する際には十分注意した行う必要がある。
最後に第1の実施形態や第2の実施形態で撮影された画像を後処理で、再処理する場合について説明する。第1の実施形態1や第2の実施形態の手法で撮影を行った場合、撮像装置の制約により十分な補正が適用されないケースが発生する。しかし、ユーザの中には多少の画像破たんがあっても、レンズユニット光学劣化補正処理を十分に行いたいと思うケースもある。
そのようなユーザは、画像処理前の画像(前述のDRAW画像)を記録しておくことにより、撮影の後PCなどの外部のアプリケーションなどを用いて補正することこができる。そのアプリケーションのユーザーインターフェースの一例を図21に示す。
図21において、アプリケーション上の画像表示領域2101は、ユーザが選択したフォルダ内にある画像を表示する領域である。光学補正適用選択領域2102は、ユーザが表示された画像に光学補正を適用するかしないかを補正処理ごとに設定できるようにするための表示を行う領域である。具体的には、「適用」と記載された横のチェックボックスにチェックを入れると該当光学補正が適用されたという意味になる。また、ユーザが選択している画像に対して、アプリケーション上での処理が完了した後にOKボタン2103を押下することにより設定した条件で処理された画像を新たに記録することができる。
特に、前述のRAW画像は、撮影後にユーザがPC等で後処理することによって、一般的な画像ファイル(JPEGやBMP)に変換される。このRAW画像をアプリケーションで処理する場合、ユーザが画像を編集する前に最初に表示する画像は、カメラ本体の撮影時の設定に変換してから表示することが望ましい。つまり、RAW画像の撮影時に光学補正が適用される設定であった場合、最初に表示する画像に対しては光学補正が適用されることが期待される。ただし、RAW画像は画像処理前のデータであるため、アプリケーション側で画像を表示する際に光学補正を適用する必要がある。
ここで撮影時において、システムの制約がなく所望の補正ができる場合は図21に示したようなインターフェース(適用チェックボックスによるON/OFF)で良い。しかしながら、本発明のようにシステムに制約があり、十分な補正が撮影時に適用できない場合、図21のようなインターフェースでは、十分な補正を適用したいユーザの期待に添えることができない。
一般的にPC上で動作するアプリケーションにおいては、撮像装置のような制約を受けにくい。そのため図21のようなインターフェースでは、本来ならば十分な補正が実現できるのだが実行する手段がないという問題がある。さらにどの画像が本実施形のアルゴルが適用され補正効果が落ちているのかがユーザからわかりにくいため、補正効果を低減して補正した結果をユーザが確認できるユーザーインターフェースにすることが好ましい。
そこで画像ファイルに本発明のアルゴリズムが適用された否かの判定フラグを記録しておき、その値をアプリケーション側で読み取り、適用されていたとフラグに記載されていた場合に、図22のようなインターフェースに変更することが好ましい。基本的には光学補正適用選択領域2201の変更になる。ユーザが本発明により補正割合を低減された状態で撮影された画像を選択した場合、チェックボックスではなくスライダ2202やスライダ2203のような形式で表示させる。撮影された画像を初めて開く場合は、撮影時に補正を行った補正割合をファイルに記録しておき、その値を表示させる。例えば、Gmaxの値を100としてスライダの右端に相当するものとし、Gmaxに対するGlimの値を0から100の間の数値で表現する。例えば、Gmaxが10倍のゲインであった場合に、Glimが5倍のゲインであったのであれば、スライダは中間となる50の位置に表示されるようにすればよい。このようにすることにより、ユーザは撮影時に低減処理が掛かった否かを判断することができ、かつ、更なる補正をかけたいユーザは適用結果の画像を確認しながらスライダを調整することにより、所望の補正を適用することができる。
上記対応をすることにより、撮像システムとレンズユニットの組み合わせにおいて最適な補正を適用することが可能となり、さらに後処理によってユーザが任意に補正値を変更することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。