図1は、撮像レンズ(交換レンズ)300と、該撮像レンズ300が交換(着脱)可能に装着された撮像装置としてのカメラ本体(以下、単にカメラ本体という)100とにより構成されるカメラシステムの構成を示す。まず、カメラ100の構成について説明する。
カメラ100のカメラマウント106には、撮像レンズ300のレンズマウント306が機械的および電気的に着脱可能に装着される。カメラマウント106およびレンズマウント306には、撮像レンズ300をカメラ100と電気的に接続する電気接点部としてのコネクタ122,322が設けられている。
被写体から撮像レンズ300に入射して該撮像レンズ300内の撮像光学系を通過した光束は、メインミラー130により上方へ反射されて光学ファインダ104に入射する。ユーザは、光学ファインダ104を通して被写体の光学像である被写体像を観察しながら撮像を行うことができる。光学ファインダ104内には後述する表示部54の一部が設けられており、該表示部54は焦点検出領域、合焦状態、手振れ警告、絞り値および露出補正値が表示される。
メインミラー130は、ハーフミラーにより構成されている。撮像光路内に配置されたメインミラー130に入射した光束の一部は該メインミラー130を通過して、その背後に設けられたサブミラー131により下方へ反射されて焦点検出ユニット105に入射する。
焦点検出ユニット105は、2次結像光学系と光電変換素子とにより構成され、位相差検出方式による焦点検出を行う。焦点検出ユニット105は、2次結像光学系により形成された一対の被写体像をラインセンサ等の光電変換素子により電気信号(一対の焦点検出信号としての位相差像信号)に変換してAF(オートフォーカス)部42に送る。AF部42は、この一対の位相差像信号間のずれ量である位相差を算出する。焦点検出ユニット105とAF部42とにより焦点検出手段が構成される。制御手段としてのシステム制御部50は、算出された位相差から焦点検出結果としてのデフォーカス量を算出する。フォーカス制御部342は、該デフォーカス量が小さくなるように撮像光学系に含まれるフォーカスレンズ(フォーカス素子)311を光軸方向に移動させる焦点調節処理を行う。なお、本実施例では、撮像光学系内のフォーカスレンズ311を移動させて焦点調節を行うが、後述する撮像素子14をフォーカス素子として光軸方向に移動させて焦点調節を行うことも可能である。
一方、撮像レンズ300の焦点調節処理が終了して静止画、電子ファインダ画像または動画の撮像を行う場合には、不図示のクイックリターン機構によりメインミラー130とサブミラー131を撮像光束外に退避させる。これにより、撮像レンズ300からの光束は、露光量を制御するためのシャッター12を介して撮像素子14に入射する。撮像素子14は、CMOSセンサ等の光電変換素子により構成され、撮像レンズ300からの光束により形成された被写体像を撮像(光電変換)する。撮像が終了すると、メインミラー130とサブミラー131は撮像光路内に戻される。
撮像素子14での光電変換により生成された電気信号(アナログ撮像信号)は、A/D変換器16にてデジタル撮像信号に変換される。タイミング発生部18は、メモリ制御部22およびシステム制御部50により制御されて撮像素子14、A/D変換器16およびD/A変換器26にクロック信号や制御信号を供給する。画像処理部20は、A/D変換器16またはメモリ制御部22からのデジタル撮像信号に対して画素補間処理や色変換処理等の画像処理を行って画像データを生成する。画像処理部20は、生成した画像データを用いて各種演算処理を行う。
撮像素子14は、その全画素または一部の画素が焦点検出可能な画素として構成されており、該画素を用いて撮像面位相差検出方式による焦点検出を行うことができる。画像処理部20は、生成した画像データのうち後述する焦点検出領域に対応する部分画像データを焦点検出データに変換する。焦点検出データは、システム制御部50を介してAF部42に送られ、AF部42は撮像レンズ300内のフォーカス制御部342を通じてフォーカスレンズ311を移動させて合焦状態を得る。
本実施例のカメラ100では、システム制御部50は、画像処理部20により生成された画像データからコントラスト状態を示すコントラスト評価値を生成することができる。そして、コントラスト評価値がピークを示す位置にフォーカス制御部342を通じてフォーカスレンズ311を移動させて合焦状態を得るコントラスト検出方式によるAFを行うことも可能である。
このため、メインミラー130とサブミラー131が撮像光路内に配置された光学ファインダ観察状態では焦点検出ユニット105による位相差検出方式でのAF(位相差AF)が行われる。一方、メインミラー130とサブミラー131が撮像光束外へ退避した電子ファインダ観察状態や動画撮像時には、撮像素子14による撮像面位相差検出方式でのAF(撮像面位相差AF)とコントラスト検出方式でのAF(コントラストAF)が行われる。
メモリ制御部22は、A/D変換器16、タイミング発生部18、画像処理部20、画像表示メモリ24、D/A変換器26、メモリ30および圧縮伸長部32を制御する。前述したようにA/D変換器16からのデジタル撮像データが画像処理部20に入力されることで画像データが生成され、該画像データはメモリ制御部22を介して画像表示メモリ24またはメモリ30に書き込まれる。A/D変換器16からの撮像データがメモリ制御部22を介して直接、画像表示メモリ24またはメモリ30に書き込まれてもよい。
画像表示部(表示手段)28は、液晶モニタ等の表示デバイスを有する。画像表示メモリ24に書き込まれた表示用画像データは、D/A変換器26を介して画像表示部28により表示される。撮像により順次得られる画像データ(フレーム画像)を画像表示部28に順次表示することで、電子ファインダ画像としてのライブビュー画像を表示することができる。
メモリ30は、撮像により生成された静止画像や動画像を記憶する。また、メモリ30は、システム制御部50の作業領域としても使用される。圧縮伸長部32は、適応離散コサイン変換(ADCT)等により画像データを圧縮伸長する機能を有し、メモリ30に記憶された画像データを読み込んで圧縮処理または伸長処理を行い、処理を終えた画像データをメモリ30に書き込む。
シャッター制御部36は、測光部46からの測光情報に基づいて、撮像レンズ300内の絞り312を駆動する絞り制御部344と連携しながらシャッター12を制御する。カメラインターフェース部38は、コネクタ122,322およびレンズインターフェース部338を介して、カメラ100と撮像レンズ300との間での制御信号、状態信号および各種データ等の通信を可能とする。また、カメラ100から撮像レンズ300への電源供給も可能とする。
測光部46は、AE処理を行う。撮像レンズ300を通過した光束をミラー130および不図示の測光用レンズを介して測光部46に入射させることにより、被写体像の輝度を測定することができる。また、測光部46は、フラッシュ48と連携して調光処理を行う。フラッシュ48は、被写体に向けて光を発する発光手段(第1の発光手段)として、静止画撮像時にフラッシュ(閃光)発光して被写体を明るく照明するとともに、焦点検出時に間欠発光して被写体に間欠的にAF補助光を投光して被写体を照明する機能を有する。なお、測光部46に代わり、システム制御部50が、画像処理部20により生成された画像データから輝度を演算した結果に基づいてシャッター制御部36と撮像レンズ300内の絞り制御部344に対してAE制御を行うことも可能である。
LEDランプ49は、被写体を照明する光源として、常時発光(連続発光)が可能な発光手段(第2の発光手段)である。LEDランプ49が発するLED光は、AF補助光であるLED補助光として機能する以外に、いわゆる赤目現象を軽減したり、セルフタイマー撮像時の撮像タイミングの指標となったりする。
システム制御部50は、カメラ100の動作全体を制御する。メモリ52は、システム制御部50の動作に用いられる定数、変数およびプログラム等を記憶する。表示部54は、液晶表示パネルやLED等の表示デバイスにより構成され、文字、画像および音声等を用いて動作状態やメッセージ等を表示する。具体的には、撮像済画像数や残撮像可能画像数等の撮像画像数に関する情報や、シャッタースピード、絞り値、露出補正およびフラッシュ発光の有無等の撮像条件に関する情報や、電池残量や日付・時刻等を表示する。前述したように表示部54の一部は、光学ファインダ104内にも設けられている。
不揮発性メモリ56は、EEPROM等により構成され、電気的に記録および消去可能なメモリである。モードダイヤル60、シャッタースイッチ62,64、画像表示オン/オフスイッチ66、クイックレビューオン/オフスイッチ68および操作部70は、システム制御部50に対して各種動作指示を入力するためにユーザにより操作される。操作部70は、スイッチ、ダイアル、タッチパネル、視線検知によるポインティングデバイス、音声認識デバイス等を含む。
電源制御部80は、電池検出部、DC/DCコンバータおよび通電するブロックを切り替えるスイッチ部を含む。電源制御部80は、電池検出部を通じて電池の装着の有無、電池の種類および電池残量を検出し、その検出結果およびシステム制御部50からの指示に応じてDC/DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部に供給する。コネクタ82,84は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、リチウムイオン電池等の二次電池、ACアダプタ等からなる電源部86をカメラ100に接続する。
インターフェース90は、メモリカードやハードディスク等の記録媒体200との接続機能を有し、コネクタ92は、メモリカードやハードディスク等の記録媒体と物理的接続を行う。記録媒体着脱検知部98は、コネクタ92に記録媒体200が接続されていることを検知する。
次に、撮像レンズ300の構成について説明する。撮像レンズ300は、変倍(ズーム)レンズ310、上述したフォーカスレンズ311および絞り312等により構成される撮像光学系を有する。ズーム制御部340は、ズームレンズ310を光軸方向に移動させて変倍を行わせる。焦点調節手段としてのフォーカス制御部342は、フォーカスレンズ311を光軸方向に移動させて焦点調節を行わせる。絞り制御部344は、測光部46およびシステム制御部50からの測光情報に基づいて絞り312を駆動する。
レンズシステム制御部346は、撮像レンズ300の動作全体を制御する。レンズシステム制御部346は、その動作に用いる定数、変数およびプログラム等を記憶するメモリ機能を備えている。
不揮発性メモリ348は、撮像レンズ300に固有の製造番号等の識別情報や、開放絞り値、最小絞り値および焦点距離等の光学情報や、現在または過去の各種設定値等を記憶する。また、不揮発性メモリ348は、撮像レンズ300の状態に応じた枠情報やデフォーカス関連情報も記憶されている。
枠情報は、撮像レンズ(撮像光学系)300を通過する光束の径を決定する「枠」に関する情報であり、具体的には該「枠」の撮像素子14からの距離と、該「枠」の光束通過開口の半径を示す情報である。「枠」の1つは絞り312であり、他にも撮像光学系を構成するレンズを保持するレンズ保持部材が「枠」に相当する。「枠」は、ズームレンズ310の位置(ズーム位置)やフォーカスレンズ311の位置(フォーカス位置)に応じて異なるため、ズーム位置ごとおよびフォーカス位置ごとに用意されている。焦点検出を行う際には、ズーム位置とフォーカス位置に応じた最適な枠情報が選択され、該枠情報がレンズ制御部346からシステム制御部50に送られる。
デフォーカス関連情報は、被写体距離ごとの無限遠端および至近端までのデフォーカス量の情報であり、フォーカス位置に対応付けられた被写体距離ごとに分割されて記憶されている。
次に、撮像素子14の構成について図2(a)〜(c)を用いて説明する。図2(a)は、撮像素子14の1つの画素200の構成を示す。画素200は、一対の光電変換部としての2つのフォトダイオード(PD)201a,201bと、転送スイッチ202a,202bと、フローティングディフュージョン領域203と、増幅部204と、リセットスイッチ205と、選択スイッチ206とを有する。各スイッチは、MOSトランジスタ等により構成される。以下の説明では、例として、各スイッチがN型MOSトランジスタにより構成されているものとする。ただし、各スイッチはP型MOSトランジスタにより構成されていてもよく、さらに他のスイッチング素子により構成されていてもよい。また、画素200に設けられるフォトダイオードの数は3つ以上(例えば、4つ)であってもよい。
フォトダイオード201a,201bはそれぞれ、図2(b)に示すように、同一のマイクロレンズ201cを通過した光を受光して光電変換し、その受光量に応じた電荷を発生する。以下の説明において、フォトダイオード201aで発生した電荷により得られる信号をA信号といい、フォトダイオード201bで発生した電荷により得られる信号をB信号という。
転送スイッチ202aは、フォトダイオード201aとフローティングディフュージョン領域203との間に接続され、転送スイッチ202bはフォトダイオード201bとフローティングディフュージョン領域203との間に接続される。転送スイッチ202a,202bはそれぞれ、フォトダイオード201a,201bで発生した電荷を共通のフローティングディフュージョン領域203に転送する。転送スイッチ202a,202bはそれぞれ、制御信号TX_A,TX_Bによって制御される。
フローティングディフュージョン領域203は、フォトダイオード201a,201bから転送された電荷を一時的に保持するとともに、保持した電荷を電圧信号に変換する。
増幅部204は、ソースフォロワMOSトランジスタである。増幅部204のゲートは、フローティングディフュージョン領域203に接続され、増幅部204のドレインは電源電位VDDを供給する共通電源208に接続される。増幅部204は、フローティングディフュージョン領域203に保持された電荷により得られる電圧信号を増幅して出力する。
リセットスイッチ205は、フローティングディフュージョン領域203と共通電源208との間に接続されている。リセットスイッチ205は、制御信号RESによって制御され、フローティングディフュージョン領域203の電位を電源電位VDDにリセットする。
選択スイッチ206は、増幅部204のソースと垂直出力線207の間に接続されている。選択スイッチ206は、制御信号SELによって制御され、増幅部204で増幅された電圧信号を垂直出力線207に出力する。
図2(c)は、撮像素子14の回路構成を示す。撮像素子14は、画素アレイ234、垂直走査回路209、電流源負荷210、読み出し回路235、共通出力線228,229、水平走査回路232およびデータ出力部233を有する。
画素アレイ234は、行列状に配置された複数の画素200を有する。図2(c)には説明を簡略化するために、水平方向n画素×垂直方向4画素を示している。また、各画素200には、複数色のカラーフィルタのうちいずれか1つが設けられている。図2(c)に示す例では、カラーフィルタの色は赤色(R)、緑色(G)および青色(B)である。これらのカラーフィルタが設けられたn×m画素はベイヤー配列に従って配置されている。
また、撮像素子14は、画素アレイ234の一部が遮光層で遮光された領域(OB)を持つ。
垂直走査回路209は、画素行ごとに設けられた駆動信号線208を介して、各画素行の画素200に制御信号を出力する。図2(c)では駆動信号線208は画素行ごとに1本ずつ示されているが、実際には画素行ごとに複数の駆動信号線が接続されている。
同じ画素列の画素200は、画素列ごとに設けられた垂直出力線207に共通接続される。各画素200から出力される信号は、この垂直出力線207を介して読み出し部235に入力され、読み出し部235で処理される。電流源負荷210は、各画素列の垂直出力線207に接続される。
水平走査回路232は、制御信号HSR(0)〜HSR(n−1)を出力することで、複数の読み出し部235の中から信号を出力させる読み出し部を順次選択する。選択された読み出し部235は、共通出力線228,229を介して出力アンプ233に処理した信号を出力する。
読み出し部235の具体的な構成を説明する。読み出し部235は、クランプ容量211、フィードバック容量214〜216、オペアンプ213、基準電圧源212およびスイッチ217〜220を有する。また、比較器221、Latch_N222、Latch_S223およびスイッチ226,227を有する。
垂直出力線207を介して読み出し部235に入力される信号は、クランプ容量211を介してオペアンプ213の反転入力端子に入力される。オペアンプ213の非反転入力端子には、基準電圧源212から基準電圧Vrefが供給される。フィードバック容量214〜216は、オペアンプ213の反転入力端子と出力端子の間に接続される。スイッチ217もオペアンプ213の反転入力端子と出力端子の間に接続され、フィードバック容量214〜216の両端をショートさせる。スイッチ217は、制御信号RES_Cにより制御される。また、スイッチ218〜220は、制御信号GAIN0〜2で制御される。
比較器221にはオペアンプ213の出力端子と、ランプ信号発生器230から出力されるランプ信号224が接続されている。Latch_N222はノイズレベル(N信号)を保持するための記憶素子であり、Latch_SはA信号およびA信号とB信号が加算されたAB信号の信号レベル(S信号)を保持するための記憶素子である。比較器221の出力端子とカウンタ231から出力されるカウンタ値225がLatch_N222とLatch_S223に入力され、それぞれLATEN_N、LATEN_Sで制御される。Latch_N、Latch_Sの出力端子はスイッチ222、223を介してそれぞれ共通出力線228、229に接続される。共通出力線228、229はデータ出力部233に接続される。
スイッチ226,227は、水平走査回路232からの制御信号hsr(h)により制御される。ここで、hは制御信号線が接続されている読み出し部235の列番号を示す。Latch_N222およびLatch_S223に保持された信号は、共通出力線228、229を介して出力され、データ出力部233から外部へ出力される。この動作を水平転送と呼ぶ。
本実施例では、撮像素子14は、第1の読み出しモードと第2の読み出しモードとを有する。第1の読み出しモードは、記録用の高精細の静止画を撮像するために全画素から出力信号が読み出される全画素読み出しモードである。第2の読み出しモードは、記録用の静止画よりも画素数が少ないライブビュー画像や記録用の動画の表示を行うため、全画素のうち一部の画素からの出力信号のみが読み出される間引き読み出しモードである。ライブビュー画像や動画の生成に必要な画素数は全画素数よりも少ないため、撮像素子から水平方向および垂直方向ともに所定比率で間引いた数の画素のみから出力信号を読み出すことで、信号処理負荷を軽減するとともに、消費電力の低減にも寄与する。また、第1および第2の読み出しモードのいずれにおいても各画素に設けられた各光電変換部からの出力信号は独立して読み出しされるため、いずれの読み出しモードでも一対の位相差像信号の生成が可能である。
図3(a),(b)は、本実施例のカメラシステムにおける撮像光学系101の射出瞳面と、撮像素子14における像高0付近、すなわち像面の中央近傍に配置された画素(以下、中央画素という)200における一対の光電変換部201a,201bとの共役関係を示す。撮像光学系の射出瞳面と一対の光電変換部とは、マイクロレンズ201cによって共役関係となるように設定されている。撮像光学系の射出瞳は、一般的に、絞り312が配置された面に位置する。一方、本実施例の撮像光学系は変倍機能を有し、変倍によって像面からの射出瞳からの距離(射出瞳距離)や大きさが変化する。図3(a)に示す撮像光学系101は、焦点距離が広角端と望遠端との間の中間ズーム状態にある。これを標準的な射出瞳距離Zepと仮定して、マイクロレンズ201cの形状や像高(X,Y座標)に応じた偏心パラメータが最適化される。
図3(a)において、301は撮像光学系の最も被写体側に配置された第1レンズ群であり、301bは第1レンズ群301を保持する鏡筒部材である。311bはフォーカスレンズ311を保持する鏡筒部材である。312aは絞り312の開放口径を決める開口を有する開口板であり、312bは絞り込み開口径を調節するための絞り羽根である。撮像光学系を通過する光束を制限する部材としての鏡筒部材301b、開口板312a、絞り羽根312bは、像面側から観察した場合の光学的な虚像として示している。また、絞り312の近傍における合成開口を撮像光学系の射出瞳(以下、レンズ射出瞳という)と定義して、前述したように像面からのレンズ射出瞳までの距離をZepとする。
中央画素200に含まれる一対の光電変換部201a,201bは、マイクロレンズ201cによってレンズ射出瞳面上に像EP1a,EP1bとして逆投影される。言い換えれば、レンズ射出瞳のうち互いに異なる瞳領域(以下、焦点検出瞳という)であるEP1a,EP1bが、マイクロレンズ201cを介して光電変換部201a,201bの表面に投影される。中央画素200は、その最下層から順に、光電変換部201a,201b、配線層201e〜201g、カラーフィルタ201hおよびマイクロレンズ201cにより構成されている。
図3(b)は、撮像光学系の射出瞳面上における光電変換部201a,201bの逆投影像EP1a,EP1bを光軸方向から見て示す。撮像素子14は、2つの光電変換部201a,201bのうち一方からの信号を出力することができるとともに、これらの両方からの信号を加算して出力できる画素を有する。加算して出力された信号は、焦点検出瞳EP1a,EP1bを通過した全ての光束を光電変換して得られた信号である。
図3(a)において、撮像光学系を通過する光束(図ではその外縁を直線で示している)Lは、絞り312の開口板312aによって制限されており、焦点検出瞳EP1a,EP1bからの光束は撮像光学系においてケラレることなく画素200に到達する。図3(b)では、図3(a)に示した光束Lの射出瞳面での断面(外縁)をTLとして示している。TLで示される円(つまりは開口板312aの開口)の内部に2つの光電変換部201a,201bの逆投影像EP1a,EP1bの大部分が含まれていることから、逆投影像EP1a,EP1bにはわずかなケラレしか発生していないことが分かる。この際、射出瞳面の中央では逆投影像EP1a,EP1bのケラレ状態は、撮像光学系の光軸(図3(a)に一点鎖線で示す)に関して対称となり、光電変換部201a,201bが受光する光量は互いに等しい。
このように、撮像素子14は被写体像を撮像する機能だけではなく、レンズ射出瞳における互いに異なる焦点検出瞳からの光束を個別に受光して撮像面位相差検出方式の焦点検出を行う機能も有する。なお、本実施例では、撮像素子14の1つの画素が一対の光電変換部を有する場合について説明するが、互いに異なる一部が遮光された2つの焦点検出専用画素を一対の光電変換部として用いてもよい。
図4は、撮像範囲400内における焦点検出領域401を示す。本実施例では、複数(3つ)の焦点検出領域401で撮像面位相差検出方式の焦点検出を行う。焦点検出領域401内では、水平方向のコントラスト差を用いて位相差を検出する。
図5は、本実施例における一対の位相差像信号430a,430bの例を示している。一対の位相差像信号430a,430bは、撮像素子14における焦点検出領域401内の複数の画素から得られたA信号同士およびB信号同士をそれぞれ連結し、さらに画像処理部20よる各種画像処理(補正)が行われた信号である。一対の位相差像信号430a,430bはAF部42に送られる。
図5において、横軸は互いに連結された信号(AまたはB信号)の画素配列方向を示し、縦軸は該信号の強度を示す。図5は、撮像光学系が被写体に対してデフォーカスした状態(非合焦状態)での一対の位相差像信号430a,430bを示している。合焦状態に比べて、位相差像信号430aは左側にずれ、位相差像信号430bは右側にずれている。AF部42は、一対の位相差像信号430a,430bのずれ量(位相差)を相関演算を用いて算出し、該位相差から撮像光学系の被写体に対するデフォーカス量を求める。
システム制御部50は、レンズ制御部346から送信されたフォーカス敏感度(フォーカスレンズ311の単位移動量に対する像面移動量)の情報およびAF部42から得られたたデフォーカス量とからフォーカスレンズ311の駆動量を算出する。さらにシステム制御部50は、レンズ制御部346から送信されたフォーカス位置の情報とフォーカスレンズ311の駆動量とからフォーカスレンズ311を移動させる目標位置の情報を求めて、レンズ制御部346に送信する。レンズ制御部346は、フォーカス制御部342を通じてフォーカスレンズ311を移動させる目標位置に移動させる。以上により、撮像面位相差AFによる焦点調節が行われる。
次に、図6のフローチャートを用いて、本実施例のカメラ100における撮像制御処理(制御方法)について説明する。図6は、ライブビュー画像を表示する状態から静止画撮像を行う場合の撮像制御処理の流れを示している。コンピュータとしてのシステム制御部50は、コンピュータプログラムとしての制御プログラムに従って本処理を実行する。以下の説明において、「S」はステップを意味する。
まずS1において、システム制御部50は、ライブビュー画像を生成するための撮像素子14による撮像を開始させて撮像信号を画像処理部20に入力させる。
次にS2では、システム制御部50は、画像処理部20に撮像信号からライブビュー画像データおよび焦点検出データを生成させる。
次にS3において、システム制御部50は、S2にて生成されたライブビュー画像データに基づいてライブビュー画像を画像表示部28に表示する。ユーザは、このライブビュー画像を見ることで撮像構図を決定することができる。ライブビュー画像の表示は、ユーザが撮像範囲や撮像条件を確認するために用いられ、所定時間間隔、例えば33.3ms(30fps)や16.6ms(60fps)で更新される。
ただし、システム制御部50は、後述するAF補助光の発光時には画像表示部28にライブビュー画像を表示しないように制御してもよい。例えば閃光発光を用いたAF補助光(以下、閃光補助光という)の場合は被写体の一部が輝度飽和する等して高質の画像を取得できないおそれがあるので、閃光補助光の発光時にはライブビュー画像の表示を停止して、その後表示を再開すればよい。
一方、LEDから発光されるAF補助光(以下、LED補助光という)は、常時発光が可能であり、測光部46により表示画像を適正露出状態に保つことができるため、表示を停止する必要はない。閃光発光を行う場合でも、輝度飽和する領域が限定的であったり閃光発光量が小さかったりする場合は、ライブビュー画像の表示を継続してもよい。
次にS4では、システム制御部50(AF部42)は、図4に示した3つの焦点検出領域401における焦点検出データを用いて焦点検出処理を行う。すなわち、AF部42は、図5に示した一対の位相差像信号の位相差からデフォーカス量を算出するまでの焦点検出処理を行う。
次のS5において、システム制御部50は、撮像準備開始指示としてのスイッチSW1のオン/オフを検出する。スイッチSW1は、操作部70に含まれるレリーズ(撮像トリガ)スイッチの半押し操作によりオンになる。スイッチSW1がオンであればSスイッチSW1がオフである場合はS10に進む。
S10では、システム制御部50は、メイン(電源)スイッチがオフされたか否かを判定する。メインスイッチがオフされていない場合、S2に戻る。一方、メインスイッチがオフされた場合、本フローを終了する。
一方、S5にてスイッチSW1のオンが検出されると、システム制御部50はS6に進む。S6において、システム制御部50は、焦点検出領域モードを取得する。焦点検出領域モードは、任意選択モード、自動選択モードおよび被写体検出モードを含む。任意選択モードは、ユーザが指定した1または複数の焦点検出領域を設定するモードである。自動選択モードは、システム制御部50が1または複数の焦点検出領域を設定するモードである。被写体検出モードは、人物の顔等の特定の被写体を検出して1または複数の焦点検出領域を設定するモードである。またS6では、システム制御部50は、事前に設定された焦点検出領域モードの情報や人物の顔等の特定の被写体の情報である被写体検出情報を取得し、焦点検出領域の位置、配置および数を設定する。
次にS7において、システム制御部50(AF部42)は、S6において取得された焦点検出領域モードに応じて設定された焦点検出領域401で焦点調節処理を行う。焦点調節処理の詳細については後述する。焦点調節処理が終了すると、システム制御部50はS8に進む。
S8において、システム制御部50は、撮像開始指示としてのスイッチSW2のオン/オフを検出する。スイッチSW2は、レリーズスイッチの全押し操作によりオンになる。システム制御部50は、スイッチSW2がオンになるまで待機し、スイッチSW2がオンになるとS9に進む。
S9では、システム制御部50は、撮像処理を行う。撮像処理の詳細については後述する。S9での撮像処理が終了すると、システム制御部50はS10に進む。
S10において、システム制御部50は、メインスイッチがオフされたか否かを判定する。メインスイッチがオフされていない場合はS2に戻り、メインスイッチがオフされた場合は本処理を終了する。
次に、図7のフローチャートを用いて、図6のS7で行われる焦点調節処理について説明する。焦点調節処理を開始したシステム制御部50は、S201において、S4で行われた焦点検出の結果としてのデフォーカス量を取得する。また、システム制御部50は、取得したデフォーカス量の信頼性が高いか否かを判定する。デフォーカス量の信頼性が高い場合は、システム制御部50はS202に進む。
ここでの信頼性は、システム制御部50が、一対の位相差像信号の相関量の極小値と、相関演算において相関量が極小値を示すシフト量の近傍での相関量の差分の大きさとを用いて判定する。
相関量とは、一対の位相差像信号の相関度合いを示し、相関が高いほど小さい値となる。言い換えれば、相関量の極小値が小さいほど信頼性が高くなる。本実施例では、相関量の極小値が閾値Thr1より小さければ信頼性が高いと判定する。理想的には、相関量の極小値は、一対の位相差像信号が完全に同一形状である場合に0となる。しかし、実際の一対の位相差像信号は、被写体からの光の拡散特性や光量調節誤差や画素ごとに個別に生じるノイズの影響等の影響によって互いに形状が異なる。このため、相関量の極小値は正の値となるのが一般的である。一方、一対の位相差像信号の形状の差が大きいほど、極小値の検出精度が低下し、結果的には焦点検出の精度が低下する。
また、相関量が極小値を示すフト量近傍で得られた相関量の差分は大きいほど、シフト量を高精度に算出することができる。これは、相関量が誤差によりばらついた場合でも、相関量の差分が大きければシフト量の検出に与える影響が小さいためである。このことから、相関量の差分が閾値Thr2より大きい場合に信頼性が高い(第1の信頼性である)と判定する。
S202では、システム制御部50は、S6において取得された焦点検出領域モードに応じて設定された全ての焦点検出領域で信頼性が高いデフォーカス量が検出できたか否かを判定し、全ての焦点検出領域で信頼性が高いデフォーカス量が検出できた場合はS203に進む。S202において設定された全ての焦点検出領域で信頼性が高い場合にのみS203に進むのは、焦点検出領域のいくつかがAF補助光の発光によって信頼性が高くなる可能性があるためである。システム制御部50は、信頼性が低い焦点検出領域が存在する場合にはAF補助光を用いた焦点検出を試みる。ただし、焦点検出領域の数が多い場合には、全ての焦点検出領域の信頼性が高い場合のみAF補助光を使用しないとする必要はない。例えば、複数の焦点検出領域のうち像高が中央近傍の焦点検出領域のみ信頼性高い場合にAF補助光を使用しないと判定してもよい。
S203では、システム制御部50は、S6において設定された焦点検出領域401での検出デフォーカス量が所定デフォーカス量以下となる合焦状態を示すか非合焦状態を示すかを判定する。ここでは、焦点検出領域モードに応じて設定された焦点検出領域のうち、至近優先、中央領域優先の所定のアルゴリズムにしたがって、1つの焦点検出領域を選択し、検出デフォーカス量を所定量と比較する。非合焦状態であると判定したシステム制御部50は、S204に進み、検出デフォーカス量に基づいてフォーカスレンズ311を駆動する。
一方、S203において検出デフォーカス量が所定デフォーカス量以下で合焦状態にあると判定したシステム制御部50は、S205に進み、画像表示部28に合焦状態を示す合焦表示を行う。例えば、合焦状態が得られた焦点検出領域を示す枠を特定色で表示したり、合焦状態が得られたことを示す音を出力したりする。
またS202において信頼性が高いデフォーカス量が検出できていないと判定したシステム制御部50は、S206に進み、AF補助光の発光要否判定の処理を行う。該処理の詳細については後述する。
次にS207では、システム制御部50は、S206での判定処理の結果が、LED補助光または閃光補助光としてのAF補助光が必要であることを示すか否かを判定する。AF補助光が不要である場合には、システム制御部50はS208に進む。
S208では、システム制御部50は、フォーカスレンズ311の移動、すなわちサーチ駆動を行いながらの焦点検出処理(第2の焦点検出処理)を行う。ここで行う焦点検出処理は、S4で行った焦点検出処理と同様である。S208においてサーチ駆動と焦点検出を行った結果、S209で焦点検出が可能であると判定したシステム制御部50はS203に進む。
一方、S209にて焦点検出が引き続き不可能と判定したシステム制御部50は、S210において、フォーカスレンズ311が光軸方向における可動範囲端(望遠端または至近端)に位置しているか否かを判定する。フォーカスレンズ311が可動範囲端に到達していない場合には、S208に戻ってサーチ駆動と焦点検出処理とを継続する。
S210においてフォーカスレンズ311が可動範囲端に到達している場合は、システム制御部50は、フォーカスレンズ311の移動によって合焦可能な被写体がフォーカスレンズ311の可動範囲内で合焦する位置に存在しないものとしてS211に進む。
S211では、システム制御部50は、焦点検出を中断し、画像表示部28に合焦状態が得られないことを示す非合焦判定表示を行わせる。
S207でAF補助光が必要と判定したシステム制御部50は、S212に進んでフォーカスレンズ311の初期位置(以下、フォーカス初期位置という)を算出する。まずシステム制御部50は、後述する焦点検出情報を取得し、該焦点検出情報を用いて焦点検出が可能と想定される検出可能デフォーカス量を算出する。またシステム制御部50は、検出可能デフォーカス量と撮像レンズ300の至近端での被写体距離の情報とから、至近端を含むなるべく広い被写体距離範囲をカバーできるフォーカス初期位置(信頼性の高いデフォーカス量を算出できるデフォーカス範囲がなるべく広い初期位置)を算出する。
図8は、フォーカス初期位置を示す。横軸は合焦する被写体距離と対応するフォーカス位置を示している。算出された検出可能デフォーカス量の範囲(以下、デフォーカス量検出可能範囲という)を矢印で示す。フォーカスレンズ311の可動範囲端である至近端を含むデフォーカス量検出可能範囲内に、至近端よりも遠距離側にデフォーカス量検出可能範囲が広がるように、フォーカス初期位置が設定されている。
至近端を含むデフォーカス量検出可能範囲内にフォーカス初期位置を設定するのは、AF補助光が到達して焦点検出が可能になる被写体距離が近距離だからである。このため、至近端に限らず、被写体が存在する確率が高い距離として、焦点距離の定数倍や1m等の被写体距離を予め設定し、その被写体距離を含むようにフォーカス初期位置を算出すればよい。至近端ではなく、焦点距離の定数倍や1m等の被写体距離を設定した場合は、より至近側の被写体に対する焦点検出ができない場合が発生するが、遠距離側の被写体距離の範囲を焦点検出可能な範囲とすることができる。
また、AF補助光としての閃光補助光の到達距離を設定し、その到達距離を遠距離側の端としてフォーカス初期位置を設定してもよい。これにより、焦点検出を行う被写体距離を限定することができるため、より適切でマージンのあるフォーカス初期位置を設定することができる。
焦点検出情報とは、検出可能デフォーカス量を概算するための焦点検出に関する情報であり、撮像レンズ300のF値、前述した枠情報、焦点検出を行う焦点検出領域の像高および位相差像信号のコントラストのうち少なくとも1つに関する情報である。撮像レンズ300のF値、枠情報および焦点検出領域の像高の情報から、焦点検出を行う一対の光電変換部間の基線長(焦点検出瞳間の重心間隔)やAF光束径(焦点検出瞳において位相差像を形成している光束が通過する範囲)が算出される。基線長が長いほど単位デフォーカス量あたりの一対の位相差像信号間のずれ量が大きくなるため、より精度が良い焦点検出を行える。また、AF光束径が小さいほどデフォーカスによって位相差像信号がぼけにくく、大きくデフォーカスした状態でも一対の位相差像信号間のずれ量の検出が可能になる。なお、AF光束径が大きいほど基線長は長くなる。
また、検出可能デフォーカス量は、被写体のコントラストや空間周波数特性等によって異なる。より高い空間周波数の情報を多く有し、コントラストが高い被写体に対しては、より大きくデフォーカスした状態でも焦点検出が可能となる。被写体のコントラストの情報は、例えば位相差像信号における互いに隣接する画素信号の出力差の二乗和を用いればよい。
システム制御部50は、上述した焦点検出情報と対応する検出可能デフォーカス量の情報をテーブル化して記憶している。図9に検出可能デフォーカス量のテーブルの例を示す。上述したように、システム制御部50は、焦点検出情報として、AF光束径と被写体のコントラストを算出し、図9に示すテーブルから検出可能デフォーカス量を取得する。
また、閃光補助光の到達距離も、AF光束径に応じて変更してもよい。AF光束径が小さいほど閃光補助光の到達距離は短くなる。これにより、より適切にフォーカス初期位置を設定することができる。
S212でフォーカス初期位置を算出したシステム制御部50は、S213に進み、フォーカスレンズ311を算出されたフォーカス初期位置に移動させる。
次にS214では、システム制御部50は、LED補助光のみの発光が許可されているか否かを判定する。本実施例では、システム制御部50がAF補助光の発光手段としてのフラッシュ48とLEDランプ49の発光を制御する。システム制御部50は、LED補助光のみが発光許可されている場合(閃光補助光の発光が禁止されている場合)は、S215に進み、LEDランプ49のみからLED補助光を発光させて焦点調節処理(以下、LED焦点調節処理という)を行う。一方、閃光補助光の発光が許可されている場合には、システム制御部50は、S216に進み、LED補助光または閃光補助光を発光させて焦点調節処理(以下、LED/閃光焦点調節処理という)を行う。これらの焦点調節処理については詳細を後述する。S215でのLED焦点調節処理またはS216でのLED/閃光焦点調節処理を終えたシステム制御部50は、焦点調節処理を終了する。
次に、図10のフローチャートを用いて、図6のS9で行われる撮像処理について説明する。まずS301において、システム制御部50は、光量調節のために絞り312を駆動し、露光時間を制御するメカニカルシャッタ12を駆動する。フラッシュ48を閃光発光させて撮像を行う場合には、システム制御部50は、その発光のタイミングに合わせてメカニカルシャッタ12を駆動する。
続いてS302では、システム制御部50は、撮像素子14から静止画撮像のための全画素読み出しを行う。
次にS303では、システム制御部50(画像処理部20)は、撮像素子14から読み出した撮像信号に対して、事前に記憶された欠陥画素の位置情報に基づく欠陥画素補間を行う。欠陥画素は、画素間の出力オフセットやゲインのばらつきが大きい画素や、撮像に使用されなかった画素(前述した焦点検出専用画素等)が含まれる。
次にS304では、システム制御部50は、撮像信号に対して、γ補正、色変換、エッジ強調等の画像処理を行って撮像画像データ(静止画データ)を生成する。そしてS305において、システム制御部50は、撮像画像データをメモリ30に記録する。
続いてステップ306において、システム制御部50は、S305にて記録した撮像画像データに対応付けて、カメラ100の特性情報をメモリ30およびシステム制御部50内のメモリに記録する。カメラ100の特性情報とは、例えば、露光時間、現像時の画像処理、撮像素子14の画素の受光感度分布およびカメラ100内での撮像光束のケラレに関する情報である。画素の受光感度分布は、マイクロレンズ201cおよびフォトダイオード201a,201bにより決定されるため、これらの構造に関する情報(フォトダイオード201a,201bの大きさやピッチ、マイクロレンズ201cとの距離等)を記録してもよい。また、カメラ100の特性情報は、カメラ100と撮像レンズ300との取り付け面から撮像素子14までの距離や製造誤差に関する情報も含む。
次にS307において、システム制御部50は、S305にて記録した撮像画像データに対応付けて、撮像レンズ300の特性情報をメモリ30とシステム制御部50内のメモリに記録する。撮像レンズ300の特性情報とは、例えば、射出瞳、枠情報、撮像時の焦点距離やFナンバー、撮像光学系の収差および製造誤差に関する情報である。
次にS308において、システム制御部50は、撮像画像データに関する画像関連情報をメモリ30およびシステム制御部50内のメモリに記録する。画像関連情報とは、例えば、撮像前の焦点検出動作に関する情報、被写体の移動、焦点検出動作の精度に関する情報である。S307の処理を終了したシステム制御部50は、図6のS10に進む。
次に、図11のフローチャートを用いて、図7のS206で行われるAF補助光の発光要否判定について説明する。S401において、システム制御部50は、焦点検出領域に関する情報を取得する。ここでは、図6のS6において焦点検出領域モードに従って設定された焦点検出領域の配置、位置および数等の情報を取得する。
次にS402では、システム制御部50は、測光情報を取得する。ここでは、焦点検出領域ごとに対応した測光値と、全ての焦点検出領域を包含する領域の測光値の両方を取得する。
次にS403では、システム制御部50は、LED補助光と閃光補助光を発光する際の閾値(以下、発光閾値という)を設定する。LED補助光は、撮像範囲に占める照射範囲は狭いが、常時発光が可能であるために発光しながらの焦点検出を行いやすい。一方、閃光補助光は、その照射範囲は広いものの間欠発光するために、焦点検出において多くの回数、発光すると、画像記録用の撮像時の発光量を確保できなくなるおそれがある。このため、S403では、システム制御部50は、LED補助光は発光しやすいが、閃光補助光は発光しにくくなるように発光閾値を設定する。ただし、LED補助光が赤等の単色光である場合の焦点検出誤差やLEDランプ49が撮像レンズ300の近くに配置されることによる撮像レンズ300によるLED補助光のケラレを考慮してし、閃光補助光の方が発光しやすくなるように発光閾値を設定してもよい。
次にS404では、システム制御部50は、S402で得られた測光情報が示す測光値とS403で得られたLED補助光の発光閾値とを比較する。ここでの比較に用いる測光値は、全ての焦点検出領域を包含する領域の測光値と各焦点検出領域の測光値である。いずれか1つの測光値がLED補助光の発光閾値より小さい場合は、システム制御部50は、S405に進んでLED発光判定をオン(LED発光許可)に設定する。一方、いずれか1つの測光値がLED補助光の発光閾値以上である場合には、システム制御部50は、S406に進んでLED発光判定をオフ(LED発光禁止)に設定する。
次にS407では、システム制御部50は、S402で得られた測光値とS403で得られた閃光補助光の発光閾値とを比較する。ここでも、全ての焦点検出領域を包含する領域の測光値と各焦点検出領域の測光値を用いる。いずれか1つの測光値が閃光補助光の発光閾値より小さい場合は、システム制御部50は、S408に進んで閃光発光判定をオン(閃光発光許可)に設定する。一方、いずれか1つの測光値が閃光補助光の発光閾値以上である場合は、システム制御部50は、S409に進んで閃光発光判定をオフ(閃光発光禁止)に設定する。S408またはS409を終えたシステム制御部50は、本処理を終了する。
次に図12のフローチャートを用いて、図7のS215で行われるLED焦点調節処理について説明する。S501において、システム制御部50は、LED補助光を発光させる。LED補助光の発光は、少なくとも後述するS504にて合焦状態が得られるまでは継続させる。
次のS502からS510までの処理は、それぞれのステップに括弧書きで示すように、図7に示したS201〜S205およびS208〜S211の処理と同じである。
次に、図13のフローチャートを用いて、図7のS216で行われるLED/閃光焦点調節処理について説明する。S601において、システム制御部50は、事前に行われた発光要否判定において閃光補助光のみが発光許可されたか否かを判定する。LED補助光は許可されず、閃光補助光のみが発光許可された場合は、システム制御部50はS605に進む。LED補助光および閃光補助光の両方が発光許可されている場合は、システム制御部50はS602に進む。
S602では、システム制御部50は、被写体有無の判定処理を行う。上述したようにLED補助光は常時発光が可能な反面、照射範囲が狭いことや撮像レンズ300によるケラレが生じやすいという欠点がある。このため、S602では、システム制御部50は、LED補助光が有効に機能する被写体が存在するか否かを判定する。この被写体有無の判定処理については詳細を後述する。
次にS603では、システム制御部50は、LED補助光が有効に機能する被写体が存在すると判定されたか否かを判定し、存在する場合にはS604に、存在しない場合はS605に進む。
S604では、システム制御部50は、図7のS215と同様のLED補助光焦点調節処理を行う。S605では、システム制御部50は、閃光焦点調節処理を行う。この閃光焦点調節処理の詳細については後述する。S604またはS605の処理を終えたシステム制御部50は、LED/閃光焦点調節処理を終了する。
次に、図14のフローチャートを用いて、図13のS602で行われる被写体有無判定処理について説明する。S701において、システム制御部50は、焦点検出領域の測光情報を取得する。ここでは、図6のS6で設定された焦点検出領域に対応する測光値を取得する。
次にS702では、システム制御部50は、LED補助光を発光する。そして、S703では、システム制御部50は、再度、焦点検出領域に対応する測光値を取得する。
次にS704では、システム制御部50は、LED補助光の発光を停止する。そして、S705では、システム制御部50は、S701で得られたLED補助光の発光前の測光値からS703で得られたLED発光中の測光値への変化量を算出する。システム制御部50は、LED補助光により照明可能な被写体が存在することで測光値に変化が生ずることを利用して、LED補助光が有効に機能する被写体が存在するか否かを判定する。これにより、被写体の位置がLED補助光の到達範囲外である場合、撮像レンズ300のケラレによりLED補助光が被写体に照射されない場合、被写体距離が遠くてLED補助光が到達しない場合等を検出することができる。
被写体有無判定の方法として、LED補助光の発光中に焦点検出を行い、焦点検出が可能であれば被写体が存在すると判定する方法も考えられる。しかし、この方法では、被写体に対して大きくデフォーカスしている場合に焦点検出が不可能になり、被写体が存在するにもかかわらず存在しないと判定するおそれがある。したがって、LED補助光の発光前後の測光情報の変化を用いて、被写体有無判定を行うことにより、デフォーカス状態によらず適切な被写体有無判定を行うことができる。
次にS705では、システム制御部50は、焦点検出領域に対応する測光値のLED補助光の発光前後で変化が所定値以上であった場合に、LED補助光が有効に機能する被写体が存在すると判定する。そして、本処理を終了する。
次に、図15および16を用いて、図14のS605で行われる閃光焦点調節処理について説明する。図15は、閃光補助光の発光時における典型的なフォーカスレンズ311の駆動方法と閃光補助光の発光タイミングを示す。横軸は時間を、縦軸はフォーカス(レンズ)位置を示す。図15は、焦点調節の開始位置から合焦位置までフォーカスレンズ311を駆動した際のフォーカス位置の変化を示している。図15中の黒丸は、閃光補助光を発光したタイミングを示している。
まずシステム制御部50は、焦点調節の開始位置にフォーカスレンズ311を停止させた状態で2回、閃光補助光を発光させる(F1)。これは、焦点調節を開始するに当たってデフォーカス量を得るための発光である。フォーカスレンズ311を停止させた状態で行う閃光補助光の発光(間欠発光)を、以下の説明においてステップ閃光発光という。また、ステップ閃光発光を伴う焦点検出は、第1の焦点検出処理に相当する。2回の発光の詳細については後述する。
F1の閃光補助光の発光によってデフォーカス量が検出されると、システム制御部50はフォーカスレンズ駆動を開始する(時刻T1)。フォーカスレンズ駆動の開始後、フォーカスレンズ311が合焦位置が近づいてきた場合に、システム制御部50はフォーカスレンズ駆動を継続したまま閃光補助光を発光させる(M1)。フォーカスレンズ駆動中、常に閃光補助光を発光させると、必要な電力が大きくなる。このため、システム制御部50は、フォーカスレンズ駆動前に得られたデフォーカス量を用いて決められた位置にフォーカスレンズ311が到達することに応じて発光を開始する。フォーカスレンズ駆動中に行う閃光補助光の発光(間欠発光)を、以下の説明では、レンズ駆動中閃光発光という。また、レンズ駆動中閃光発光を伴って行われる焦点検出は、第2の焦点検出処理に相当する。
システム制御部50は、レンズ駆動中閃光発光を伴う焦点検出により得られたデフォーカス量に基づく合焦位置にてフォーカスレンズ311を停止させる。その後、システム制御部50は、再度ステップ閃光発光を行い(F2)、所定の合焦範囲内に停止しているか否かを確認する。以上により、閃光焦点調節処理が終了する。
図16のフローチャートには、上述した閃光焦点調節処理のより詳細を示している。S801において、システム制御部50は、ステップ閃光発光の回数のカウント値を初期化する。本実施例では、ステップ閃光発光の回数に上限を設け、不要に電力を消費することを防ぐ。
次にS802では、システム制御部50は、ステップ閃光発光を行いながら焦点検出(第1の焦点検出処理)と調光を行う。ここでは、システム制御部50は、焦点検出を行いながら、レンズ駆動中閃光発光の光量を設定するための調光を並行して行う。またS802では、システム制御部50は、後に焦点検出を行う焦点検出領域を選択する。
次にS803では、システム制御部50は、S802で信頼性が高い(第1の信頼性より高い第2の信頼性を有する)焦点検出結果が得られたか否かを判定する。信頼性が高い焦点検出結果が得られなかった場合(焦点検出結果が第1の信頼性しか有さない場合)は、システム制御部50は、S804に進んで所定の全てのフォーカス位置でステップ閃光発光を伴う焦点検出を終えたか否かを判定する。
本実施例では、上述したように閃光発光を行うためにフォーカスレンズ311をフォーカス初期位置に移動させる。システム制御部50は、フォーカス初期位置での焦点検出が不可能な場合に、無限遠側にフォーカスレンズ311を移動させて停止し、再びステップ閃光発光を伴う焦点検出を行う。ステップ閃光発光を伴う焦点検出の試行回数は任意である。例えば上述したデフォーカス量検出可能範囲ごとにステップ閃光発光を行うことができる。この場合は、ステップ閃光発光回数は、2回より多くなる。また、フォーカス初期位置で発光した後、フォーカスレンズ311の無限端位置からデフォーカス量検出可能範囲分だけ至近側でステップ閃光発光を行ってもよい。この場合は、焦点検出が不可能な場合のステップ閃光発光回数は最大2回となり、より高速に焦点調節の可否を判断することができる。
S804において所定の全てのフォーカス位置でステップ閃光発光を伴う焦点検出を終えた場合は、システム制御部50は、S820に進んで焦点調節が不可能と判定して、S211と同様に非合焦判定表示を行う。一方、S804で所定の全フォーカス位置でステップ閃光発光を伴う焦点検出を終えていない場合は、システム制御部50は、S805で次のフォーカス位置にフォーカスレンズ駆動を行う。そして、S802に戻る。
S803において信頼性が高い焦点検出結果が得られたと判定したシステム制御部50は、S806に進み、レンズ駆動中閃光発光の条件を設定する。この条件とは、発光を開始するデフォーカス量やフォーカス位置(発光開始フォーカス位置)、さらにフォーカスレンズ311の駆動速度等であり、詳細については後述する。
次にS807において、システム制御部50は、S806で設定した条件に従ってフォーカスレンズ駆動を開始する。そしてS808では、システム制御部50は、フォーカスレンズ311がS806で設定した発光開始フォーカス位置を通過したか否かを判定する。まだ通過していない場合は、システム制御部50は、フォーカスレンズ駆動を継続した状態でS808の判定を繰り返す。一方、フォーカスレンズ311が発光開始フォーカス位置を通過した場合には、システム制御部50は、S809に進んでレンズ駆動中閃光発光を伴う焦点検出(第2の焦点検出処理)を行う。この際、システム制御部50は、画像データ生成のフレームレートに同期して閃光発光を行わせ、S802で設定(選択)された焦点検出領域から得られる一対の位相差像信号を用いた焦点検出を繰り返し行う。詳細については後述する。
次にS810では、システム制御部50は、レンズ駆動中閃光発光の回数が所定回数以下か否かを判定し、所定回数より多くなった場合にはS820に進み、焦点検出を中断して非合焦判定表示を行う。これは、フォーカスレンズ駆動の開始前に検出した被写体を、その被写体の移動やユーザのフレーミング等によって見失ったとみなし、不要な発光を防ぐために行う処理である。S810においてレンズ駆動中閃光発光の回数が所定回数以下である場合は、システム制御部50は、S811に進む。
S811では、システム制御部50は、得られた検出デフォーカス量が所定デフォーカス量以下であるか否かを判定する。検出デフォーカス量が所定デフォーカス量より大きい場合は、システム制御部50は、S809に戻って処理を継続する。検出デフォーカス量が所定デフォーカス量以下である場合は、システム制御部50は、S812に進んでフォーカスレンズ駆動を停止させる。
そしてS813では、システム制御部50は、S802と同様に、ステップ閃光発光を行いながら(すなわち、フォーカスレンズ駆動を停止させた状態で間欠発光させながら)焦点検出と調光を行う。このように合焦位置の近傍で、再度、調光処理を行うのは、デフォーカス状態の変化によって飽和した一対の位相差像信号を用いて焦点検出を行うことを回避するためである。特に被写体が細い線を含むような場合に、ボケ状態から合焦状態になるにしたがってボケが小さくなり、一対の位相差像信号の輝度レベルが上がって飽和することがある。飽和した一対の位相差像信号は焦点検出誤差を招くので、合焦位置近傍で調光処理を行う。
S813を終えたシステム制御部50は、S814において、検出デフォーカス量が合焦判定用閾値より小さいか否かを判定する。小さい場合はS815に進み、S205と同様に合焦表示を行って本処理を終了する。
S814で検出デフォーカス量が合焦判定用閾値より大きいと判定したシステム制御部50は、S816に進み、検出デフォーカス量に基づいてフォーカスレンズ駆動を行う。
S816でのフォーカスレンズ駆動の終了(停止)後、S817において、システム制御部50は、ステップ閃光発光の回数が所定回数以下であるか否かを判定する。ステップ閃光発光はフォーカスレンズ駆動の開始前にも行っているため、ここではフォーカスレンズ駆動の開始前からの合計回数で判定する。ステップ閃光発光回数が所定回数を超えた場合には、システム制御部50はS820に進み、焦点検出を中断して非合焦判定表示を行う。
一方、ステップ閃光発光回数が所定回数以下である場合には、システム制御部50はS818に進み、事前の調光結果に基づいて発光量を設定した閃光補助光の発光と焦点検出を行う。
続いてS818では、S813からのデフォーカス状態の変化が小さいことが想定されるため、システム制御部50は改めて調光を行わずに、S813で得られた調光結果を用いて焦点検出を行う。これにより、不要な発光を行わずに精度の高い焦点検出を実現することができる。S813で得られたデフォーカス量が大きく、S818と大きくデフォーカス状態が異なる場合は、改めてS813と同様の処理を行ってもよい。
次にS819において、システム制御部50は、ステップ閃光発光回数をインクリメントしてS814に戻る。
次に、図17のフローチャートを用いて、図15のS802で行われる閃光発光を伴う焦点検出と調光処理について説明する。S901において、システム制御部50は、閃光発光を行わない状態で事前に設定された1つ以上の焦点検出領域で焦点検出および焦点検出結果の信頼性判定を行い、信頼性が高い焦点検出結果を記憶する。
次にS902では、システム制御部50は、第1の発光量で閃光発光を行わせ、これに同期して撮像素子14から取得した一対の位相差像信号を用いて焦点検出および焦点検出結果の信頼性判定を行い、信頼性が高い焦点検出結果を選択して記憶する。
次にS903では、システム制御部50は、第1の発光量より大きい第2の発光量で閃光発光を行わせ、これに同期して撮像素子14から取得した一対の位相差像信号を用いて焦点検出および焦点検出結果の信頼性判定を行う。そして、信頼性が高い焦点検出結果を選択して記憶する。
次にS904では、システム制御部50は、S901、S902およびS903で得られた焦点検出結果を用いて、複数の焦点検出領域から焦点調節に用いる焦点検出領域を設定する。具体的には、例えば、最も至近側の被写体の存在を示す焦点検出領域を焦点調節に用いる焦点検出領域として設定する。これは、ユーザが撮像を意図する主被写体は近距離側に存在する可能性が高いためである。ただし、焦点調節に用いる焦点検出領域の選択方法はこれに限らない。例えば、閃光発光量が互いに異なる複数回の焦点検出結果に対して平均化処理を行い、平均化された焦点検出結果を用いて焦点調節に用いる焦点検出領域を設定してもよい。
なお、一般に、一対の位相差像信号のコントラストが高い方がデフォーカス量の検出精度が高いが、前述したように一対の位相差像信号が飽和している場合はその限りではない。このため、S902およびS903で得られた一対の位相差像信号の飽和を検出して、飽和した信号から得られた焦点検出結果は用いないようにしてもよい。
次にS905では、システム制御部50は、調光処理を行い、調光結果を取得する。システム制御部50は、S904で設定した焦点検出領域がS901で選択した焦点検出結果に対応する焦点検出領域である場合には調光処理を行わない。また、以後の焦点検出の際にはAF補助光を発光させずに焦点検出を行う。一方、S904で選択した焦点検出領域が、S902もしくはS903で選択した焦点検出結果に対応する焦点検出領域である場合には調光処理を行う。
さらにシステム制御部50は、選択した焦点検出領域での閃光発光を行わない状態における測光情報と、選択した焦点検出結果が得られた閃光発光の発光量(第1または第2の発光量)に対応する、選択した焦点検出領域の測光情報とを取得する。そして、これら2つの測光情報の差分から焦点検出を行うのに必要十分な発光量を算出する。
閃光発光を行わない状態における測光値をBV_nとし、閃光発光時の測光値をBV_afとし、焦点検出を行うのに必要十分な目標測光値をBV_Tとする。この場合、基準となる発光量、すなわち選択した焦点検出結果が得られた閃光発光量に対するゲインGは、下記の式(1)で算出される。
G=(BV_T‐BV_n)/(BV_af‐BV_n) (1)
式(1)では、測光値がリニアスケールの場合を示しているが、測光情報は対数スケールである場合も多い。この場合、リニアスケールと対数スケールとの間の変換を行ってゲインGを算出すればよい。システム制御部50は、得られたゲインGと基準となる発光量とから、以後の閃光補助光の発光量を設定する。これにより、適切な発光量を設定することができ、不要な電力消費を抑えたり、一対の位相差像信号が飽和したりすることによる焦点検出精度の低下を防止したりすることができる。
S905で調光結果の取得を終えたシステム制御部50は、S906に進み、ステップ閃光発光回数をインクリメントして、本処理を終了する。
次に、図18のフローチャートを用いて、図16のS806で行われるレンズ駆動中閃光発光の条件を設定する処理について説明する。S1001において、システム制御部50は、フォーカスレンズ駆動中に閃光発光を開始するデフォーカス量を設定する。図15を用いて説明したように、消費電力を低減するために、システム制御部50は、フォーカスレンズ311が合焦位置に近づいてから閃光発光を開始する。その際に、図7のS212で説明した検出可能デフォーカス量の情報を用いる。一対の位相差像信号は、デフォーカス量が大きくなると、ボケによって形状の類似度が低下して焦点検出誤差が発生する。このため、検出可能デフォーカス量の範囲内であっても、デフォーカス量が小さい状態で得た焦点検出結果の方が高精度である。本実施例では、検出可能デフォーカス量に対して係数α(例えば、0.5)を乗じた値を、閃光発光を開始するデフォーカス量を示す発光開始デフォーカス量(第1の所定デフォーカス量)として設定する。この際、システム制御部50は、焦点調節後の画像記録用撮像時の発光量を確保するため、レンズ駆動中閃光発光の開始前からの閃光発光の発光回数が多いほど発光開始デフォーカス量を小さくする。発光開始デフォーカス量は、現在のフォーカス位置情報と合わせて、発光開始フォーカス位置に変換される。
次にS1002では、システム制御部50は、フォーカスレンズ駆動速度(移動速度)を設定する。ここでは、システム制御部50は、S1001で設定した発光開始デフォーカス量の範囲で所定回数の閃光発光を行うためのフォーカスレンズ駆動速度を設定する。例えば、一対の位相差像信号のサンプリングレートが60fpsで、発光開始デフォーカス量D(mm)の範囲内で5回の閃光発光を行うためには、フォーカスレンズ駆動速度をD/5×60(mm/s)に設定する。この方法により、発光開始デフォーカス量と位相差像信号のサンプリングレートに応じて適切にフォーカスレンズ駆動速度を設定することができる。
次にS1003では、システム制御部50は、事前のステップ閃光発光での調光結果を用いて、レンズ駆動中閃光発光における発光量の調整(設定)または撮像信号に対するゲインの設定を行う。発光量調整とゲイン設定はいずれも一対の位相差像信号に必要なコントラストを発生させるために有効であるが、被写体としての人や動物等の閃光に対する眩しさ、消費電力、一対の位相差像信号のS/Nを考慮して適切に発光量調整またはゲイン設定を行う。例えば、一対の位相差像信号により大きいコントラストを生じさせるために、被写体が人の場合はゲイン設定で対応し、人ではない場合は発光量で対応する。
具体的には、システム制御部50は、フラッシュ48を互いに異なる発光量でステップ閃光発光させながら複数回の焦点検出を行わせるか又は撮像素子から得られる信号に対して互いに異なる複数のゲインを設定することにより複数の焦点検出結果を得る。そして、その後の焦点検出における発光量またはゲインを設定する。また、上記複数の焦点検出結果に加えて、フラッシュ48を発光させずに得られた焦点検出結果を用いて発光量またはゲインを設定してもよい。S1003を終えたシステム制御部50は、本処理を終了する。
次に、図19を用いて、図16のS809で行われるレンズ駆動中閃光発光および焦点検出について説明する。S1101では、システム制御部50は、撮像素子14を駆動するフレームレートを高速フレームレート(第2のフレームレート)に設定する。例えば、低速フレームレートである30fpsから高速フレームレートの60fpsにする。閃光発光は、発光時間が非常に短いため、撮像素子14の露光時間を長くする必要がない。撮像素子14の全画素行が露光されているタイミングに同期して閃光発光を行えばよい。これにより、閃光発光の照射範囲が十分に広ければ、撮像素子14の全画素領域から得られる一対の位相差像信号のコントラストを確保することができる。
一方、AF補助光を使用しない場合やLED補助光を使用する場合には、撮像素子14の露光時間が長いほど一対の位相差像信号のコントラストを確保することができる。このため、本実施例では、AF補助光を使用しない場合やLED補助光を使用する場合のフレームレート(第1のフレームレート)に対して、閃光補助光を使用する場合のフレームレート(第2のフレームレート)を高速に設定する。これにより、閃光補助光を使用する場合の焦点調節の高速化を実現することができる。
また本実施例では、フレームレートの高速化をレンズ駆動中閃光発光時のみ行う。すなわち、レンズ駆動中閃光発光時には高速フレームレートを用い、ステップ閃光発光時には低速フレームレートを用いる。ステップ閃光発光時の焦点検出は、上述したように閃光発光を行わない場合の焦点検出結果も用いる。このため、ステップ閃光発光時にフレームレートを高速化すると、閃光発光の前後でフレームレートを変更する必要が生じて3回の焦点検出間のタイムラグが拡大する。上述したように閃光発光を使用しない場合と第1の発光量および第2の発光量での閃光発光を使用する場合の焦点検出結果を比較して選択するため、なるべく同じ条件で焦点検出を行うことが望ましい。このため、本実施例では、フォーカスレンズ駆動中の閃光発光時のみフレームレートを高速化する。
ただし、フレームレートの切り替えに必要な時間が短い場合にはこれに限らない。閃光発光を使用しない場合と閃光発光を使用する場合とで適宜フレームレートを切り替えて、ステップ閃光発光を伴う焦点検出を行えばよい。
また、上述したように、レンズ駆動中閃光発光時には、信頼性が高い焦点検出結果が得られていることが前提である。得られたデフォーカス量から算出されるフォーカスレンズ駆動量が小さいと焦点調節の高速化の効果が低いため、フレームレートの高速化は省略してもよい。
また、レンズ駆動中閃光発光時に焦点検出領域が絞り込まれておらず、閃光発光を使用する場合と閃光発光を使用しない場合の両方で信頼性が高い焦点検出結果が得られる場合にはフレームレートを高速化しなくてもよい。これにより、閃光補助光が到達しない遠距離被写体と閃光補助光が到達する近距離被写体とが混在するような撮像シーンでも、適切に焦点調節を行うことができる。
次にS1102では、システム制御部50は、閃光発光および焦点検出を行う。ここでは、事前に設定された発光量での閃光発光を伴う焦点検出により得られた一対の位相差像信号を用いてフォーカス量を算出する。
そしてS1103では、システム制御部50は、算出したデフォーカス量に基づいてフォーカスレンズ駆動量を更新する。レンズ駆動中の閃光発光および焦点検出では、検出されるデフォーカス量が小さいほど検出誤差が小さい。このため、上述したようにフォーカスレンズ駆動量、言い換えればフォーカスレンズ駆動の目標位置を更新することにより、高精度な焦点調節を行うことができる。
本実施例では、フォーカスレンズを停止させた状態で間欠発光する閃光補助光を用いて行う焦点検出処理と、フォーカスレンズ駆動を行いながら上記閃光補助光を用いて行う焦点検出処理とを、信頼性が高い焦点検出結果が得られているか否かによって切り替える。これにより、信頼性が高い焦点検出結果が得られていない場合での不要な閃光補助光の発光を抑制しつつ、高速な焦点調節を実現することができる。
本実施例では、S809で取得する焦点検出結果を信頼して焦点調節を行う場合について説明した。しかし、フォーカスレンズ駆動中のあるフォーカス位置(第1の位置)での検出デフォーカス量と、その前にステップ閃光発光を伴う焦点検出の結果を用いて、焦点検出をしたフォーカスレンズ位置から第1の位置にフォーカスレンズ駆動した状態に対して推定(算出)される推定デフォーカス量との乖離から信頼性を判定してもよい。これら2つのデフォーカス量の乖離が大きい(すなわち所定差分値より大きい差分値を有する)場合には、フォーカスレンズ駆動の開始前と開始後とで、被写体が大きく移動したり、カメラ100の向きが大きく変化したりした可能性が考えられる。このような場合には、フォーカスレンズ駆動および焦点検出を中断してもよい。これにより、信頼性が保証されていない焦点検出結果を用いた焦点調節を早期に完了させることができる。ユーザは、必要に応じて、再度、焦点調節処理を開始させることで、撮像を意図する被写体に対する焦点調節に要する時間を短縮することができる。
また、S810で説明したフォーカスレンズ駆動中の閃光発光の許容回数は、事前のステップ閃光発光回数に応じて可変としてもよい。上述したように、消費電力を削減したり焦点調節後の画像記録用撮像時の発光量を確保したりする観点から、フォーカスレンズ駆動中の閃光発光回数を適切に設定すればよい。また、閃光発光回数を多くする場合には、発光開始デフォーカス量を大きくすることにより、フォーカスレンズ駆動中の被写体移動の影響を低減して、より確実に焦点検出を行うことができる。
本実施例では、予め互いに異なるように決められた発光量で閃光発光を行い、そこで得られた一対の位相差像信号を用いて焦点検出領域の選択やデフォーカス量の算出を行う。また、選択した焦点検出結果が得られた発光量を基準として、それ以後の発光量を調整する調光処理を行う。これにより、焦点検出を行う前に、調光処理を行う必要がないため、迅速な焦点調節を行うことができる。また、ステップ閃光発光時に調光を行うことにより、1回の閃光発光で信頼性が高い焦点検出結果を得ることができる。このため、レンズ駆動中閃光発光やこれ以後のステップ閃光発光の回数を低減することが可能である。
また、本実施例では、位相差像信号のコントラストの調整を主として発光量を調整することにより実現する。しかし、撮像素子14から読み出す撮像信号のゲイン調整により実現してもよい。発光量による調整では、被写体の反射率や距離等により、より近くて反射率が高い被写体のコントラストの調整に効果が大きく、位相差像信号のS/N比が改善される。一方、ゲイン調整によるコントラストの調整では、焦点検出信号のS/N比は改善されないが、被写体の距離や反射率によらず、より容易にコントラストの調整を行うことができる。
また、本実施例では、レンズ駆動中閃光発光を行う前に焦点検出領域が決定している場合について説明した。ただし、上述した自動選択モード等、信頼性が高い焦点検出結果が得られたものの焦点検出領域を絞り込まないモードでは、個々の焦点検出領域に対応した発光量の調整は行えない。このため、第1の発光量、第2の発光量および発光無しのいずれかから選択すればよい。例えば、より多くの信頼性が高い焦点検出結果やより近距離の近い被写体の存在を示す焦点検出結果に対応する発光量を選択すればよい。