図1〜図14は本発明の実施例である撮像装置としてのデジタルカメラに係わる図である。以下、図を用いて実施例を説明する。
図1及び図2はデジタルカメラの構成図で、撮像素子を有したカメラ本体138と、別体の撮影レンズ137とで構成されており、カメラ本体138に対して撮影レンズ137が交換可能なデジタルカメラを示している。図1は撮影準備状態、図2は撮影時の状態を示している。
図1を用いてデジタルカメラの構成を説明する。まず被写体像を形成する撮影レンズ137の構成について説明する。101は撮影光学系(結像光学系)の先端に配置された第1レンズ群で、光軸方向に進退可能に保持される。102は絞りで、その開口径を調節することで撮影時の光量調節を行う。103は第2レンズ群である。そして前記絞り102及び第2レンズ群103は一体となって光軸方向に進退し、前記第1レンズ群101の進退動作との連動により、変倍作用(ズーム機能)をなす。
105は第3レンズ群で、光軸方向の進退により、焦点調節を行う。111はズームアクチュエータで、不図示のカム筒を回動することで、第1レンズ群101ないし第2レンズ群103を光軸方向に進退駆動し、変倍操作を行う。112は絞りアクチュエータで、絞り102の開口径を制御して撮影光量を調節する。114はフォーカスアクチュエータで、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。
136はカメラ通信回路で、撮影レンズ137に関する情報をカメラ本体138に渡したり、カメラ本体138に関する情報を受け取ったりする。撮影レンズ137に関する情報とは、ズーム状態、絞り状態、フォーカス状態、レンズ枠情報等のことである。カメラ通信回路136は、カメラ本体138に設けられたレンズ通信回路135に、これらの情報を渡す。
次にカメラ本体138について説明する。106は光学的ローパスフィルタで、撮影画像の偽色やモアレを軽減するための光学素子である。107はC−MOSセンサとその周辺回路で構成された撮像素子である。該撮像素子107は、横方向m画素、縦方向n画素の受光ピクセル上に、ベイヤー配列の原色カラーモザイクフィルタがオンチップで形成された、2次元単板カラーセンサが用いられる。撮像素子107は、撮影レンズ137の予定結像面近傍に配置され、撮像画像を得る。本発明の撮像手段は、撮像素子107に対応する。
139はシャッターユニットで、静止画撮影時の露光時間制御を行う。140はシャッターユニット139を動かすためにシャッターアクチュエータである。
108はハーフミラーで、撮影レンズ137を透過した撮影光束の一部を反射し、紙面上方向に配置されたファインダー光学系(図1では不図示)へ光を導き、残りは透過させて後方に配置したミラー109に導く。またハーフミラー108は、回転軸108aを中心に回動可能な構成となっている。図1に示すように45°傾いた角度で撮影光路中に挿入された状態と、図2で示すような撮影光路中から退避している状態の二つの状態を取ることが可能となっている。撮影光路中に挿入された状態をミラーダウン状態、撮影光路中から退避した状態をミラーアップ状態と呼ぶ。撮影準備状態ではミラーダウン状態をとり、撮影時はミラーアップ状態をとる。
109はミラーで、ハーフミラー108を透過した撮影光束を反射して、下方に配置された焦点検出手段117に導く。ミラー109は回転軸109aを中心に回動可能な構成となっており、さらに回転軸109aはハーフミラー108と同じ部材に固定されているため、ハーフミラー108の動きに合わせて動く。そのため、図2で説明するようなミラーアップ状態に移行する際には、回転軸109aもハーフミラー108と一緒に上方に移動する。さらにミラー109は回転軸109aを中心として回転して撮影光路中から退避するため、ミラーアップ状態では図2に示すようにハーフミラー108とミラー109は重ね合わせた状態で撮影光路中から退避する。
117は焦点検出手段であり、ミラー109で反射した撮影光束を用いて、撮影レンズ137の焦点状態を検出する。図1に示すように、ミラーダウン状態ではミラー109で反射した撮影光束が導かれるため焦点検出可能だが、図2で説明するようなミラーアップ状態では撮影光束は導かれないため、焦点検出はできない。
115は撮影時の被写体照明用の電子フラッシュで、キセノン管を用いた閃光照明装置が好適だが、連続発光するLEDを備えた照明装置を用いても良い。116はAF補助光手段で、所定の開口パターンを有したマスクの像を、投光レンズを介して被写界に投影し、暗い被写体あるいは低コントラストの被写体に対する焦点検出能力を向上させる。
121はCPUで、カメラ本体138の種々の制御を司るカメラ内CPUで、演算部、ROM、RAM、A/Dコンバータ、D/Aコンバータ、通信インターフェイス回路等を有する。ROMに記憶された所定のプログラムに基づいて、カメラ本体138が有する各種回路を駆動し、AF、撮影、画像処理と記録等の一連の動作を実行する。
122は電子フラッシュ制御回路で、撮影動作に同期して電子フラッシュ115を点灯制御する。123は補助光駆動回路で、焦点検出動作に同期してAF補助光手段116を点灯制御する。124は撮像素子駆動回路で、撮像素子107の撮像動作を制御するとともに、取得した画像信号をA/D変換してCPU121に送信する。125は画像処理回路で、撮像素子107が取得した画像のγ変換、カラー補間、JPEG圧縮等の処理を行う。
126はフォーカス駆動回路で、焦点検出結果に基づいてフォーカスアクチュエータ114を駆動制御し、第3レンズ群105を光軸方向に進退駆動して焦点調節を行う。128は絞り駆動回路で、絞りアクチュエータ112を駆動制御して絞り102の開口を制御する。129はズーム駆動回路で、撮影者のズーム操作に応じてズームアクチュエータ111を駆動する。135はレンズ通信回路で、撮影レンズ137内のカメラ通信回路136と通信を行う。145はシャッター駆動回路で、シャッターアクチュエータ140を駆動する。118は焦点検出手段駆動回路で、焦点検出手段117を駆動する。
131はLCD等の表示手段で、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態表示画像等の撮影関連情報を表示する。132は操作スイッチ群で、電源スイッチ、レリーズ(撮影準備及び撮影開始)スイッチ、ズーム操作スイッチ、撮影モード選択スイッチ等で構成される。133は着脱可能なフラッシュメモリで、撮影済み画像を記録する。144はカメラ内メモリであり、CPU121で行う演算に必要な各種データが保存されている。
図2により撮影時の状態の説明を行う。撮影時には、ハーフミラー108は回転軸108aを中心として、ミラー109は回転軸109aを中心として時計方向に回転し、上方に折りたたまれた状態となって撮影光路中から退避する。これをミラーアップ状態と呼ぶ。このように撮影光路中からハーフミラー108とミラー109が退避することで、撮影光束を撮影レンズ137から光学的ローパスフィルタ106まで直接到達させることができる。
図3は撮像素子107の概略的回路構成を示したもので、本出願人による特開平09−046596号公報に開示された技術が好適である。同図は2次元C−MOSエリアセンサの2列×4行画素の範囲を示したものであるが、撮像素子として利用する場合は、当図に示した画素を多数配置し、高解像度画像の取得を可能としている。本実施例においては、画素ピッチが2μm、有効画素数が横3000列×縦2000行=600万画素、撮像画面サイズが横6mm×縦4mmの撮像素子として説明を行う。
図3は、撮像用画素の配置と構造を説明する図である。本実施例においては、2行×2列の4画素のうち、対角2画素にG(緑色)の分光感度を有する画素を配置し、他の2画素にR(赤色)とB(青色)の分光感度を有する画素を各1個配置した、ベイヤー配列が採用されている。同図(a)は2行×2列の撮像用画素の平面図である。周知のごとく、ベイヤー配列では対角方向にG画素が、他の2画素にRとBの画素が配置される。そして該2行×2列の構造が繰り返し配置される。
同図(a)の断面A−Aを同図(b)に示す。MLは各画素の最前面に配置されたオンチップマイクロレンズ、CFRはR(Red)のカラーフィルタ、CFGはG(Green)のカラーフィルタである。PDは撮像素子107におけるC−MOSセンサの光電変換部を模式的に示したもの、CLはC−MOSセンサ内の各種信号を伝達する信号線を形成するための配線層である。TLは撮影光学系を模式的に示したものである。EPは射出瞳である。
ここで、撮像用画素のオンチップマイクロレンズMLと光電変換部PDは、撮影光学系TLを通過した光束を可能な限り有効に取り込むように構成されている。換言すると、撮影光学系TLの射出瞳EPと光電変換部PDは、マイクロレンズMLにより共役関係にあり、かつ光電変換部のPDの有効面積は大面積に設計される。また、同図(b)ではR画素の入射光束について説明したが、G画素及びB(Blue)画素も同一の構造となっている。従って、撮像用のRGB各画素に対応した射出瞳EPは大径となり、被写体からの光束を効率よく取り込んで画像信号のS/Nを向上させている。
図4は、撮像素子107による撮像領域と、焦点検出手段117による焦点検出位置の関係を示したものである。160は撮像素子107による撮像領域、161は焦点検出手段117による焦点検出位置である。図4に示す焦点検出位置161は、紙面上下方向に3列、紙面左右方向に5列、3×5=15点の焦点検出位置が配置されている構成になっている。撮像領域160内に15点の焦点検出位置161を配置することで、撮像領域160内の離散的な15点については焦点状態を検出することができ、さらには被写体距離の情報も推定することが可能となる。
図5〜図12は、本実施例のカメラの動作を説明するためのフローチャート及び動作を説明するための図である。
図5はカメラのメインフローを示す。メインフロー動作はCPU121が行う処理である。
撮影者がカメラのメインスイッチ(電源スイッチ)をオン操作すると、CPU121はカメラ内の各アクチュエータや撮像素子107の動作確認を行い、メモリ内容や実行プログラムの初期化を行うと共に、撮影準備動作を実行する(ステップS101)。ステップS102では、レンズ通信回路135を介して撮影レンズ137内のカメラ通信回路136とレンズ通信を行う。レンズ通信により撮影レンズ137の動作確認を行い、撮影レンズ137内のメモリ内容や実行プログラムの初期化を行うと共に、準備動作を実行させる。また、焦点検出や撮像に必要な撮影レンズ137の諸特性データを取得し、カメラ内メモリ144に保存する。
ステップS103では、撮影準備スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS112に進み、メインスイッチがオフされたか否かを判別する。ステップS103で撮影準備スイッチがオン操作されたと判別された場合には、ステップS104に進む。
ステップS104では、撮影レンズ137の焦点状態を検出する。CPU121は、焦点検出手段駆動回路118を介して焦点検出手段117を駆動する。焦点検出手段117における複数の焦点検出位置について、撮影レンズ137のデフォーカス(焦点ずれ)の方向と量を算出する。
ステップS105では、ステップS104で算出されたデフォーカスの方向と量に基づいて、フォーカシングレンズを駆動する。CPU121は、焦点検出手段117による複数の焦点検出結果の範囲より無限側もしくは至近側のどちらかの位置に撮影レンズ137の焦点位置が来るように焦点調節する。これにより、図15、図16で説明したような異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えないという問題を回避している。本発明の焦点調節手段は、CPU121、フォーカス駆動回路126、フォーカスアクチュエータ114に対応している。
ステップS106では、撮影開始スイッチがオン操作されたか否かを判別し、オン操作されていなければステップS103に戻り、撮影準備スイッチがオンされたか否かを判定する。ステップS106で撮影開始スイッチがオン操作されると、ステップS200に移行し、撮影サブルーチンを実行する。
ステップS200の撮影サブルーチンが終了したら、ステップS300を進み、被写体距離分布情報生成サブルーチンを実行する。
ステップS107では、ステップS300で算出された被写体距離分布情報の信頼性の判定を行う。信頼性の判定は、ステップS300で得られた被写体距離分布情報を、ステップS104で算出される焦点検出結果から推定される被写体距離情報と比較することで行う。図4において説明したように、焦点検出手段117には、紙面上下方向に3列、紙面左右方向に5列、3×5=15点の焦点検出位置が配置されている構成になっている。そのため、撮像領域160内の離散的な15点については焦点状態を検出することができる。さらには、焦点検出結果と撮影レンズ137のフォーカシングレンズの位置から、被写体距離の情報も推定することが可能となる。この15点の焦点検出位置における被写体距離に近い値であるかどうか判定することで、ステップS300で得られた被写体距離分布情報の信頼性を判定する。本発明の信頼性判定手段はCPU121に対応し、その動作はステップS107に相当する。
ステップS300で得られた被写体距離分布情報の信頼性がOKであると判定された場合には(ステップS108)、ステップS112に進み、メインスイッチがオフされたか否かの判定を行う。被写体距離分布情報の信頼性がOKではないと判定された場合には、ステップS109に進み、表示手段131に被写体距離分布情報の取得に失敗した旨の警告表示を行う。そして焦点調節後に再撮影を行うことを撮影者に知らせる。本発明の表示手段は図1の表示手段131に、表示制御手段はCPU121に、それぞれ対応する。
ステップS110では、再度焦点検出を行う。CPU121は、焦点検出手段駆動回路118を介して焦点検出手段117を駆動する。焦点検出手段117における複数の焦点検出位置について、撮影レンズ137のデフォーカスの方向と量を算出する。
ステップS111では、焦点検出結果の範囲から遠ざかる方向に焦点位置を移動させるようにフォーカシングレンズを駆動する。これにより、焦点調節のばらつき等によって被写体距離範囲に焦点位置が来てしまった場合にも、図15、図16で説明したような異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えないという問題が回避できるようにしている。本発明の焦点調節制御手段は、CPU121に対応し、その動作はステップS111に相当する。
ステップS111のレンズ再駆動が完了したら、ステップS200に戻り、撮影サブルーチンを実行する。
ステップS112では、メインスイッチがオフされたか否かを判定する。メインスイッチがオフされていない場合には、ステップS102に戻る。メインスイッチがオフされた場合には、一連の動作を終了する。
図6は、ステップS105のレンズ駆動における焦点調節の様子を説明するものである。撮影する際にピントを合わせる距離と被写体距離との関係を示している。左端のCAがカメラを示しており、点線はカメラCAの撮影レンズの光軸である。L11、L12、L13、L14は焦点検出結果から決まる被写体距離であり、LTは撮影距離、LWは焦点調節ばらつき量を距離に換算した量である。被写体は、被写体距離L11、L12、L13、L14の4つの距離に存在することを想定している。被写体距離L11が最も至近側の距離、被写体距離L14が最も無限側の距離、被写体距離L12と被写体距離L13はその間の距離となっている。
焦点調節ばらつき量LWとは、或る被写体距離の被写体に対して焦点検出を行い、検出結果に基づいてフォーカス駆動して撮影距離を設定した場合に、設定した撮影距離が真の被写体距離に対してずれてしまう可能性のある量のことである。この焦点調節ばらつき量LWの原因としては、焦点検出誤差、フォーカス駆動誤差などが含まれる。
撮影する際には、被写体距離L11より至近側もしくは被写体距離L14より無限側のどちらかの距離で撮影する必要がある。被写体距離L11と被写体距離L14の間の距離で撮影してしまうと、図15、図16で説明したような前ピントボケと後ピントボケが混在してしまう。すると、異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えない恐れがあった。
そこで本実施例では、焦点調節ばらつきが発生しても被写体距離L11より至近側もしくは被写体距離L14より無限側のどちらかの距離となるようにする。たとえば、最も至近側の被写体距離L11(焦点検出結果の範囲の至近端)よりも、さらに焦点調節ばらつき量LWだけ、もしくは焦点調節ばらつき量以上に至近側で撮影するように、撮影距離LTを設定する。これにより、焦点調節にばらつきが生じたとしても、被写体距離L11より至近側もしくは被写体距離L14より無限側のどちらかの距離で撮影することができる。このように、異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えない問題を回避している。図6では、被写体距離L11より至近側に焦点位置がくるように焦点調節する状態を描いているが、これに限らない。被写体距離L14(焦点検出結果の範囲の無限端)よりもさらに焦点調節ばらつき量LWだけ、もしくは焦点調節ばらつき量以上に無限側に焦点位置がくるように焦点調節してもよい。
図7は、ステップS111のレンズ再駆動における焦点調節の様子を説明するものである。ステップS110における撮影レンズ137の焦点位置を移動させる方向と被写体距離との関係を示している。CA、L11、L12、L13、L14、LT、LWは図6と同じである。LT2はステップS111におけるレンズ再駆動後の撮影距離である。
被写体距離分布情報の信頼性がOKではないと判定された場合には、ステップS105のレンズ駆動にて焦点調節した後の撮影距離が、焦点調節ばらつき等の影響により、まだ被写体距離範囲内にある可能性がある。撮影距離が被写体距離範囲内にあると、図15、図16で説明したような異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えないという問題が起きる恐れがある。
そこでステップS111のレンズ再駆動では、ステップS105のレンズ駆動において設定された撮影距離LTに対して、ステップS104で得られた焦点検出結果の範囲から、さらに遠ざかる方向に焦点位置を移動させるように、撮影レンズ137のフォーカシングレンズを再度駆動させる。これにより、異なる被写体距離にも関わらず同じボケ形状のものが存在して正しく画像復元が行えないという問題を軽減している。
図8は、撮影サブルーチンのフローチャートである。撮影サブルーチンの一連の動作も、CPU121が行う。
ステップS201では、光量調節のために絞り102を駆動し、露光時間を規定するメカニカルシャッターの開口制御を行う。
ステップS202では、カメラ本体138の特性情報(図8では撮像装置特性情報と記す)をフラッシュメモリ133とカメラ内メモリ144に記録する。ここでカメラ本体138の特性情報とは、撮像素子107の撮像用画素の受光感度分布情報、カメラ本体138内での撮影光束のケラレ情報、カメラ本体138と撮影レンズ137との取り付け面から撮像素子107までの距離情報、製造誤差情報などが含まれる。撮像素子107の撮像用画素の受光感度分布情報は、オンチップマイクロレンズMLと光電変換部PDによって決まるため、これらの情報を記録しても良い。
ステップS203では、撮影レンズ137の特性情報をフラッシュメモリ133とカメラ内メモリ144に記録する。ここで撮影レンズ137の特性情報とは、射出瞳EPの情報、枠情報、撮影時のFナンバー情報、収差情報、製造誤差情報などが含まれる。
ステップS204では、高画素静止画撮影のための画像読み出し、すなわち全画素の読み出しを行う。
ステップS205では、読み出した画像信号の欠損画素補間を行う。欠陥画素に対して、周囲の撮像用画素の情報から補間により画像信号を創生する。
ステップS206では、画像のγ補正、色変換、エッジ強調等の画像処理を行い、ステップS207において、フラッシュメモリ133に撮影画像の画像信号を記録する。
ステップS207が終わると、ステップS200の撮影サブルーチンを終了し、メインルーチンのステップS300に進む。
図9は、ステップS200の撮影サブルーチンで得られる撮影画像を示している。ステップS200の撮影サブルーチンでは、図6における撮影距離LTにピントが合った状態で撮影を行われる。T1は被写体距離L11にある被写体、T2は被写体距離L12にある被写体、T3は被写体距離L13にある被写体、T4は被写体距離L14にある背景部を表している。撮影距離LTと被写体距離L11は、焦点調節ばらつき量LWしか距離が離れていないため、被写体T1はほぼピントの合った画像となる。撮影距離LTと被写体距離L12は、焦点調節ばらつき量LWよりもさらに距離が離れているため、被写体T2は被写体T1よりもボケた画像となる。撮影距離LTと被写体距離L13は、さらに離れた距離のため、被写体T3は被写体T2よりもさらにボケた画像となる。撮影距離LTと被写体距離L14は、被写体距離L13よりさらに離れた距離のため、背景部T4は被写体T3よりもさらにボケた画像となる。
図10は、被写体距離分布情報生成サブルーチンのフローチャートである。被写体距離分布情報生成サブルーチンの一連の動作も、CPU121が行う。本発明の被写体距離分布取得手段はCPU121に対応し、被写体距離分布情報取得の動作は被写体距離分布情報生成サブルーチンに相当する。
ステップS301では、画像処理回路125における変換処理の内容を示す変換情報を取得する。
ステップS302では、画像処理回路125から供給される画像情報を変換する際の変換方法を決定する。具体的には、CPU121は、ステップS301で取得した変換情報(必要に応じて、該変換情報の他、ステップS202やステップS203で記録した撮像装置特性情報や撮影レンズ特性情報)に基づいて、変換方法を決定する。ここで決定される変換方法は、画像復元処理のアルゴリズムの前提条件である線形性を確保するために、露光値と画素値とか比例関係になるように画像情報を変換する方法である。
例えば、画像処理回路125でガンマ補正を実行する場合には、ステップS302ではガンマ補正による変換の逆変換を決定する。これにより変換前の画像を再生することができ、線形性を有する画像を取得することが可能となる。同様に、画像処理回路125で色補正を実行する場合には、ステップS302では色変換による変換の逆変換を決定する。これにより、線形性を有する画像を取得することが可能となる。以上のように、ステップ302では、画像処理回路125による変換処理の逆変換に相当する変換方法を決定する。
ステップS303では、画像処理回路125より撮影画像の画像信号を取得する。そしてステップS304では、ステップS302で決定した変換方法に従って、取得した撮影画像を変換する。
ステップS305では、ステップS104の焦点検出で得られた焦点検出結果に基づいて、ステップS400のボケ関数生成に入力する被写体距離を設定する。図4で説明した複数の焦点検出位置161における焦点検出結果から、被写体距離範囲が求まる。初めてステップS305を実行する際には、この被写体距離範囲の至近側に被写体距離を設定し、ステップS305の実行回数を重ねるごとに或る所定ピッチで無限側に被写体距離を移動して設定する。これにより、被写体距離を焦点検出範囲の至近側から無限側に一方向に徐々に変化させながら、順次ボケ関数生成及びボケ修復処理を行う。至近側から無限側にとは限らず、無限側もしくは至近側のどちらか一方向にピントを合わせていくようにすればよい。
ステップS400では、ボケ関数生成サブルーチンを実行し、ステップS305で設定した被写体距離に基づいてボケ関数の生成を行う。
ステップS306では、ステップS400で生成したボケ関数の逆変換を行うことで、ステップS304で変換処理した撮影画像に対してボケ修復処理を行う。本発明のボケ修復はステップS306に相当し、ボケ修復手段はCPU121に対応する。ここでは、一般的にデコンボリューション処理と呼ばれる画像復元アルゴリズムによってボケ修復処理を行う。これにより、所定被写体のボケが修復されたボケ修復画像を得ることができる。ボケ関数の逆変換処理を行うことによるボケ修復の方法は、特開2000−20691号公報に開示されているため、説明は省略する。
ステップS307では、ステップS306でボケ修復を行った画像の中で、ピントの合っている領域を抽出し、ステップS305で設定した被写体距離と関連付ける。これにより、被写体領域と被写体距離を関連付けることができる。ピントの合っている領域の抽出は、画像のコントラスト情報や高周波成分の割合に基づいて、ピントが合っているかどうかを判定して行う。
ステップS308では、ステップS307で抽出した被写体領域を、以降の被写体領域抽出の際に、抽出対象から除外するように設定する。これにより、一度被写体距離との関連付けが完了した被写体領域が、誤った被写体距離と関連付けしてしまうことを防いでいる。
ステップS309では、ステップS305で設定した被写体距離が、設定可能な距離範囲を超えたか否かを判定する。ここで設定可能な距離範囲とは、撮影レンズ137のフォーカシングレンズの駆動範囲に対応した被写体距離範囲のことである。設定可能な距離範囲を超えたと判定された場合には、ステップS300の被写体距離分布情報生成サブルーチンを終了し、メインフローのステップS107に進む。設定可能な距離範囲を超えていないと判定された場合にはステップS305に戻り、被写体距離を所定ピッチだけ無限側に移動したものに再設定して以降のフローを繰り返す。
図11は、ボケ関数生成サブルーチンのフローチャートである。ボケ関数生成サブルーチンの一連の動作も、CPU121が行う。
ステップS401では、撮影時にステップS202でカメラ内メモリ144に記録されたカメラ本体138の特性情報(図11では撮像装置特性情報と記す)を取得する。
ステップS402では、撮影時にステップS203でカメラ内メモリ144に記録された撮影レンズ137の特性情報を取得する。
ステップS403では、ボケ関数を定義する際に用いるボケパラメータを取得する。ボケ関数は、撮影レンズ137と撮像素子107との間の光伝達特性によって決まる。そしてこの光伝達手段は、カメラ本体138の特性情報、撮影レンズ137の特性情報、撮影画像における被写体領域の位置、そしてステップS305で設定した被写体距離などの要因によって変わる。そこで、これらの要因とボケ関数を定義する際に用いるボケパラメータとを関連付けたテーブルデータを、カメラ内メモリ144に記憶しておく。そしてステップS403が実行されると、CPU121は、これらの要因に基づいて、カメラ内メモリ144からボケ関数定義の際に用いるボケパラメータを取得する。
ステップS404では、ステップS403で取得したボケパラメータに基づいて、ボケ関数を定義する。ボケ関数の例としては、ボケ現象が正規分布法則に沿うものとして考えたガウシアン分布などがある。中心画素からの距離をr、正規分布法則の任意のパラメータをσ2とすると、ボケ関数h(r)は、下記のように与えられる。
h(r)={1/σ√(2π)}・exp(−r2/σ2) ・・・(1)
ステップS404が終わったら、ボケ関数生成サブルーチンを終了し、ボケ修復サブルーチン内のステップS306に進む。
図12は、ステップS404で定義するボケ関数の様子を説明するものである。撮影距離LTで撮影した際の、被写体距離L11、被写体距離L12、被写体距離L13、被写体距離L14でのボケ形状を示している。図12(A)は被写体距離L11でのボケ形状である。撮影距離LTと被写体距離L11は、焦点調節ばらつき量LWしか距離が離れていないため、ボケ形状は点に近く、非常に小さい。図12(B)は被写体距離L12でのボケ形状である。撮影距離LTと被写体距離L12は、焦点調節ばらつき量LWよりもさらに距離が離れているため、ボケ形状は、図12(A)に比べて大きい。図12(C)は被写体距離L13でのボケ形状である。撮影距離LTと被写体距離L13は、被写体距離L12よりもさらに離れた距離のため、ボケ形状は、図12(B)に比べてさらに大きくなる。図12(D)は被写体距離L14でのボケ形状である。撮影距離LTと被写体距離L14は、被写体距離L13よりもさらに離れた距離のため、ボケ形状は、図12(C)に比べてさらに大きくなる。
これらのボケ形状を関数で表現し、ボケ関数として定義する。図12(A)のボケ形状をボケ関数ha、図12(B)のボケ形状をボケ関数hb、図12(C)のボケ形状をボケ関数hc、図12(D)のボケ形状をボケ関数hdとおく。すると、被写体距離L11に存在する被写体T1は、ピントの合った理想画像に対してボケ関数haを畳み込んだ画像として表現することができる。また被写体距離L12に存在する被写体T2は、ピントの合った理想画像に対してボケ関数hbを畳み込んだ画像として表現することができる。さらに、被写体距離L13に存在する被写体T3は、ピントの合った理想画像に対してボケ関数hcを畳み込んだ画像として表現することができる。そして被写体距離L14に存在する被写体T4は、ピントの合った理想画像に対してボケ関数hdを畳み込んだ画像として表現することができる。
図13は、ステップS305〜S309のループ処理の様子を説明するための図である。撮影距離LTで撮影した画像に対して、所定の被写体距離に対応したボケ関数の逆変換処理を順次行い、被写体距離分布情報を取得する様子を示したものである。具体的には、撮影距離LTで撮影した画像に対して、図12で説明したボケ関数の逆変換処理を行った場合の画像を示している。T1、T2、T3、T4は図9で説明した被写体T1、被写体T2、被写体T3、背景部T4である。
図13(A)は、撮影距離LTで撮影した画像の全領域に対して、図12(A)のボケ関数haの逆変換処理を行った場合の画像である。
理想画像をf、ボケ画像をgとする。理想画像f、ボケ関数ha、ボケ画像gをフーリエ変換したものをF、Ha、Gとおく。すると、理想画像fがボケ関数haによってボケ画像gになる現象は、下式のように表現できる。
G=Ha・F ・・・(2)
式(2)は、下記のように変形することができる。
F=G/Ha ・・・(3)
式(3)より、ボケ関数のフーリエ変換Haが既知であれば、ボケ画像のフーリエ変換Gに1/Haを乗じて、これを逆フーリエ変換することによって、理想画像f、つまりピントの合った画像を復元できることが分かる。ボケ関数の逆変換処理によって画像を復元する技術は、特開2000−20691号公報に記載されているため、詳細な説明はここでは省略する。
撮影距離LTで撮影した画像の全領域に対して、図12(A)のボケ関数Haの逆変換処理を行った場合、図12(A)のボケ形状は点に近く非常に小さいため、ほとんど画像は変わらない。そのため、被写体T1はピントの合った画像、被写体T2は少しボケた画像、被写体T3と背景部T4は非常にボケた画像のままである。
ボケ関数haの逆変換処理を行った画像の中で、ピントの合っている領域を抽出し、被写体距離L11と関連付ける。これにより、被写体T1の領域が被写体距離L11に存在していると特定することができる。被写体距離との関連付けが完了した画像領域は、以降の画像復元処理を行う際には、画像から除外する。これにより、被写体T1の領域が誤った被写体距離と関連付けしてしまうことを防いでいる。ピントの合っている領域の抽出は、画像のコントラスト情報や高周波成分の割合に基づいて、ピントが合っているかどうかを判定して行う。
図13(B)は、撮影距離LTで撮影した画像に対して、図12(B)のボケ関数hbの逆変換処理を行った場合の画像である。ボケ関数hbの逆変換処理を行う際には、すでに被写体距離L11との関連付けが完了している被写体T1の領域は除外して行う。
撮影距離LTで撮影した画像に対して、図12(B)のボケ関数hbの逆変換処理を行った場合、被写体T2はボケが修復されてピントの合った画像となり、被写体T3は少しボケ量が少なくなった画像となり、背景部T4はボケたままの画像となる。
ボケ関数hbの逆変換処理を行った画像の中で、ピントの合っている領域を抽出し、被写体距離L12と関連付ける。これにより、被写体T2の領域が被写体距離L12に存在していると特定することができる。被写体距離L12との関連付けが完了した被写体T2の領域も、以降の画像復元処理を行う際には、画像から除外する。これにより、被写体T2の領域が誤った被写体距離と関連付けしてしまうことを防いでいる。
図13(C)は、撮影距離LTで撮影した画像に対して、図12(C)のボケ関数hcの逆変換処理を行った場合の画像である。ボケ関数hcの逆変換処理を行う際には、すでに被写体距離L11との関連付けが完了している被写体T1と、被写体距離L12の関連付けが完了している被写体T2の領域は除外して行う。
撮影距離LTで撮影した画像に対して、図12(C)のボケ関数hcの逆変換処理を行った場合、被写体T3はボケが修復されてピントの合った画像となり、背景部T4はボケたままの画像となる。
ボケ関数hcの逆変換処理を行った画像の中で、ピントの合っている領域を抽出し、被写体距離L13と関連付ける。これにより、被写体T3の領域が被写体距離L13に存在していると特定することができる。被写体距離L13との関連付けが完了した被写体T3の領域も、以降の画像復元処理を行う際には、画像から除外する。これにより、被写体T3の領域が誤った被写体距離と関連付けしてしまうことを防いでいる。
そして最後に、撮影距離LTで撮影した画像に対して、図12(D)のボケ関数hdの逆変換処理を行い、背景部T4がピントの合った画像となることを確認する。これにより、背景部T4が被写体距離L14であることが特定できる。ボケ関数hdの逆変換処理を行う際には、すでに被写体距離L11との関連付けが完了している被写体T1と、被写体距離L12の関連付けが完了している被写体T2の領域と、被写体距離L13の関連付けが完了している被写体T3の領域は除外して行う。
以上、図13(A)〜(C)で説明したように、撮影距離LTで撮影した画像に対して、所定の被写体距離に対応したボケ関数の逆変換処理を順次行い、処理済画像からコントラスト情報や高周波成分の割合に基づいてピントが合った領域を抽出していくことで、被写体距離と被写体領域を対応させた情報である被写体距離分布情報を取得することができる。
図14は、得られる被写体距離分布情報を示したものである。T1、T2、T3、T4は図9及び図13の被写体T1、被写体T2、被写体T3、背景部T4と同じである。L11、L12、L13、L14は、図6の被写体距離L11、被写体距離L12、被写体距離L13、被写体距離L14と同じである。
図13で説明したように、撮影距離LTで撮影した画像に対して、所定の被写体距離に対応したボケ関数の逆変換処理を順次行い、ピントの合った領域を抽出して被写体距離と関連付けしていく。これにより、図14に示すように、被写体領域T1は被写体距離L11、被写体領域T2は被写体距離L12、被写体領域T3は被写体距離L13、被写体領域T4は被写体距離L14というように、被写体領域と被写体距離とが対応した被写体距離分布情報を得ることができる。
以上のように、本実施例によれば、焦点検出手段117による焦点検出結果の範囲より無限側もしくは至近側の位置に焦点調節して撮影した画像に対して、所定の被写体距離に対応したボケ関数の逆変換処理を順次行うことで、信頼性の高い被写体距離分布を高速に取得できる撮像装置を実現することができた。
なお、焦点検出手段117による焦点検出について説明したが、焦点検出はこれに限られるものではなく、撮像素子107を用いる撮像面位相差検出方式により焦点検出を行うこともできる。
また、ボケ修復手段をカメラ本体138内で行う例を説明したが、ボケ修復機能を有する外部のパソコンにカメラ本体1を接続し、ボケ修復だけを外部のパソコンに行わせて、それをカメラ本体1に取り込むようにしてもよい。本発明の好ましい実施例について、撮影レンズが交換可能なカメラで説明したが、撮影レンズがカメラに備わっている所謂レンズくくり付けタイプのカメラに適用してもよい。レンズくくり付けタイプのカメラにおいても、従来の課題は存在する。そして本発明で説明したように焦点調節してボケ関数の逆変換を順次行うことで、同様の効果を得ることができる。
また、本発明は上述した実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。