以下、本発明の好ましい実施例について図面を参照しながら説明する。
<デジタルカメラ200の構成>
図1は、本発明の実施例であるデジタルカメラ(撮像装置)200の構成を示すブロック図である。本実施例のデジタルカメラ(以下、単にカメラという)200には、撮像レンズ100が不図示のマウント機構を介して着脱可能に取り付けられる。マウント部には、電気的接点群107が設けられており、該電気的接点群107を介してカメラ200と撮像レンズ100との間で通信が行われる。
撮像レンズ100において、101aは変倍レンズ等のレンズユニット、101bはフォーカスレンズである。また、102は絞りである。103はフォーカスレンズ101bを駆動するアクチュエータ等を含むレンズ駆動機構であり、レンズ制御回路104により制御される。また、105は絞り102を駆動するアクチュエータ等を含む絞り駆動機構であり、絞り制御回路106により制御される。
図示しない被写体からの光束は、撮像レンズ101に入射し、レンズユニット101a、フォーカスレンズ101b及び絞り102を介して、カメラ200に導かれる。
カメラ200において、202はクイックリターンミラーである。クイックリターンミラー202はハーフミラーにより構成されており、図示のダウン位置に配置されたクイックリターンミラー202に導かれた光束のうち一部は反射し、他は透過する。クイックリターンミラー202を透過した光束は、その背後に配置されたサブミラー203によって反射され、AFセンサ204に導かれる。
AFセンサ204は、図6に示すように、撮像画面の複数(ここでは、3つ)の焦点検出エリア1〜3で焦点検出を行えるように構成されている。該3つの焦点検出エリア1〜3は、3つの測光エリア1〜3内にそれぞれ含まれている。
クイックリターンミラー202で反射された光束は、ペンタプリズム201及び接眼レンズ206を介して、撮影者の目に導かれる。
クイックリターンミラー202及びサブミラー203が不図示のアップ位置に退避した状態では、撮像レンズ100からの光束がフォーカルプレーンシャッタ208及び光学フィルタ209を介して撮像素子210に到達する。撮像素子210は、CCDセンサやCMOSセンサ等の光電変換素子により構成されている。光学フィルタ209は、赤外線カット機能とローパスフィルタ機能とを有する。
フォーカルプレーンシャッタ208は、先幕及び後幕を走行させることで、撮像素子210の露光を制御する。
カメラ200は、該カメラ200全体の制御を司るCPU等により構成されるシステムコントローラ223を備えている。
システムコントローラ223は、撮像レンズ100内のレンズ制御回路104及び絞り制御回路106に対して、フォーカスレンズ101b及び絞り102の駆動を行わせるための制御信号を送信する。システムコントローラ223は、クイックリターンミラー202及びサブミラー203のアップダウン駆動とフォーカルプレーンシャッタ208のシャッタチャージ駆動を行うシャッタチャージ・ミラー駆動機構211を制御する。さらに、システムコントローラ223は、フォーカルプレーンシャッタ208の先幕及び後幕の走行駆動を行うシャッタ制御機構212も制御する。
システムコントローラ223には、接眼レンズ206の近傍に配設された測光センサ(図示せず)に接続された測光回路207が接続されている。システムコントローラ223には、測光回路207からの出力信号を受けてAE(露出)制御を行う。
システムコントローラ223には、カメラ200の制御パラメータ、ID情報、後述するAF補正量データ、露出補正値等の各種データが記憶された記憶手段としてのメモリ(EEPROM)222が接続されている。
システムコントローラ223には、AFセンサ204からの信号を受けて位相差検出方式による焦点検出を行う焦点検出回路205が接続されている。AFセンサ204、焦点検出回路205及びシステムコントローラ223により、第1の焦点検出手段が構成される。システムコントローラ223は、焦点検出回路205で求められたデフォーカス量の情報を受けてAF制御(フォーカス制御)を行う制御手段として機能する。
カメラ200は、パーソナルコンピュータ(PC)に代表される外部装置300を接続可能な通信インターフェース回路224を有する。該通信インターフェース回路224を介して、外部装置300とシステムコントローラ223とが通信可能となっている。
測光回路207は、図6に示した3つの測光エリア1〜3において被写体からの光束の一部を受け、これを光電変換することで被写体輝度を示す信号を出力する。この出力は、システムコントローラ223に入力される。システムコントローラ223には、測光エリア1〜3のうち測光を行うエリアを撮影者に選択させるための測光エリア選択スイッチ235が接続されている。
また、測光回路207には、図示しない光源センサも設けられている。この光源センサは、可視光領域に感度を有するフォトダイオードアレイと赤外光領域を含む領域に感度を有するフォトダイオードアレイとで構成されている。これらのフォトダイオードアレイからの出力を比較することにより、被写体を照らす光源の種類を検出(判別)することができる。測光回路207は、光源検出手段を構成する。
システムコントローラ223には、画像データコントローラ220が接続されている。画像データコントローラ220は、DSP(デジタル信号プロセッサ)により構成され、撮像素子210から出力されてA/Dコンバータ216によりデジタル信号に変換された撮像信号に対して各種処理を施し、画像データ(映像信号)を生成する。
画像データコントローラ220は、撮像素子210の駆動タイミングを制御するために必要なパルス信号を出力するタイミングパルス発生回路217を介して撮像素子210の駆動を制御する。また、画像データコントローラ220には、生成された画像データを一時的に記憶するDRAM221や、画像データをアナログ信号に変換するD/Aコンバータ215や、画像データを圧縮する画像圧縮回路219が接続されている。
D/Aコンバータ215によりアナログ信号に変換された画像は、エンコーダ回路214を介して、液晶パネル等の画像表示回路213に表示される。画像圧縮回路219により圧縮された画像データは、半導体メモリや光ディスク等の記録メディア218に記録される。
システムコントローラ223には、カメラ200の動作モードの情報や露出情報(シャッタ秒時、絞り値等)を表示する情報表示回路225が接続されている。また、システムコントローラ223には、測光及び焦点検出等の撮像準備動作を開始させるための第1レリーズスイッチSW1(231)と、撮像動作(記録動作)を開始させるための第2レリーズスイッチSW2(230)とが接続されている。
システムコントローラ223には、カメラ200の動作モードを撮影者に選択させるためのモード設定スイッチ229が接続されている。また、システムコントローラ223には、AFセンサ204内の複数の焦点検出エリア1〜3から焦点検出を行うエリアを撮影者に選択させるための焦点検出エリア選択スイッチ228が接続されている。
さらに、システムコントローラ223には、その他、決定スイッチ227、ブラケット量設定スイッチ232、電子ダイヤルスイッチ226、カウンタ233及びブザー234が接続されている。ブラケット量設定スイッチ232は、いわゆるブラケット撮像を行う回数を撮影者に選択させるためのスイッチであり、カウンタ233は、ブラケット撮像における撮像回数をカウントする。
<デフォーカス量検出について>
次に、位相差検出方式によるデフォーカス量の検出方法を、図7及び図8を用いて説明する。これらの図において、OBJは被写体、101bはフォーカスレンズ、210′は撮像素子210の撮像面と光学的に等価な面(以下、等価面という)を示す。また、501,503はAFセンサ204に設けられたコンデンサレンズ及びセパレータレンズ(二次結像レンズ)である。504は同じくAFセンサ204に設けられた一対のラインセンサを示す。一対のラインセンサ504は、図6に示した焦点検出エリアごとに設けられている。
撮像面から見て被写体OBJにピントが合っているとき、セパレータレンズ503によって分割された2つの光束により一対のラインセンサ504上に形成された2像の間隔(基準2像間隔Lo)は所定値となる。ラインセンサ504上の2像間隔が基準2像間隔Loより狭いときは前ピン状態であり、基準2像間隔Loより広いときは後ピン状態である。
図8は、図7に示す焦点検出光学系からコンデンサレンズ501を省いたモデル図である。
セパレータレンズ503により分割された各光束の主光線PRが光軸となす角度をθとし、セパレータレンズ503の倍率をβとする。また、等価面210′上及びラインセンサ504上での2像の移動量をそれぞれΔL,ΔL’とすると、デフォーカス量dは以下の式で求まる。
ここで、βtanθは、焦点検出光学系の設計上定まるパラメータであり、ΔL’は基準2像間隔(Lo)と検出した2像間隔(Lx)との差である。
システムコントローラ223は、求められたデフォーカス量dと現在のフォーカスレンズ101bの位置情報とに基づいて、フォーカスレンズ101bの合焦位置までの移動量(第1の移動量:以下、位相差フォーカス移動量という)を算出する。そして、フォーカスレンズ101bを位相差フォーカス移動量に基づいて(該位相差フォーカス移動量に相当する移動量だけ)移動させることで、位相差検出方式AFによる合焦状態が得られる。
<コントラスト検出方式AFについて>
コントラスト検出方式AFでは、撮像素子210からの出力信号に基づいて画像データコントローラ220により生成された映像信号から高周波成分を抽出し、映像のコントラスト状態を示すコントラスト評価値(AF評価値ともいう)を生成する。そして、フォーカスレンズ101bを移動させながらコントラスト評価値が最大となるフォーカスレンズ101bの位置、すなわち合焦位置を探索する。このコントラスト検出方式AFは、システムコントローラ223が第2の焦点検出手段として行う。
<焦点検出エリア選択シーケンス>
図2には、本実施例における焦点検出エリアの選択シーケンスを示す。該シーケンスは、システムコントローラ223が、その内部に格納されたコンピュータプログラムに従って実行する。このことは、後述する他のシーケンスも同じである。
まずステップS001では、システムコントローラ223は、焦点検出エリア選択スイッチ228がONされたかどうかを判別する。ONされていればステップS002へ移行する。OFFであればステップS001を繰り返す。
ステップS002では、システムコントローラ223は、電子ダイヤルスイッチ226が操作されたかどうかを判別し、操作されていればその操作方向と操作量の検出を行う。操作されていなければ、ステップS002を繰り返す。
ステップS003では、システムコントローラ223は、電子ダイヤルスイッチ226の操作方向及び操作量に応じて、選択焦点検出エリアを、全部⇔焦点検出エリア1⇔焦点検出エリア2⇔焦点検出エリア3⇔全部という順序で切り換える。
ステップS004では、システムコントローラ223は、焦点検出エリア選択スイッチ228がONされたかどうか判別し、ONされていればステップS002へ移行し、OFFならば本シーケンスを終了する。
<モード設定シーケンス>
図3には、本実施例におけるモード設定シーケンスを示す。
まずステップS101にて、システムコントローラ223は、モード設定スイッチ229がONしたかどうか判定する。ONしていれば、ユーザーによってモード設定操作が開始されたものと判定してステップS102に移行する。OFFであれば、ステップS101を繰り返す。
ステップS102では、システムコントローラ223は、電子ダイヤルスイッチ226が操作されたかどうかを判別し、操作されていればその操作方向と操作クリック数を検出する。そして、操作クリック毎に、撮像モードを「TV(シャッタ速度優先)モード」⇔「AV(絞り優先)モード」⇔「P(プログラム)モード」⇔「AFキャリブレーションモード」⇔「TVモード」・・・と変化させる。AFキャリブレーションモードは、焦点検出エリア選択シーケンスにおいて焦点検出エリア1〜3の中から1つだけが選択されていなければ選択できないようになっている。電子ダイヤルスイッチ226が操作されていなければ、ステップS102を繰り返す。
ステップS103では、システムコントローラ223は、モード設定スイッチ229がOFFしたかどうかを判定する。OFFしたのであれば、そのときに選択されていた撮像モードを選択し、ステップS104で撮像モードをステップS103で選択された撮像モードに設定する。
ステップS105では、システムコントローラ223は、設定された撮像モードがAFキャリブレーションモードであるかどうかを判別する。AFキャリブレーションモード以外である場合は、ステップS111に移行し、設定された撮像モードに応じた撮像シーケンスへ移行する。ここでいうAFキャリブレーションモードとは、位相差検出方式AFで得られた合焦位置とコントラスト検出方式AFで得られた合焦位置との差をAF補正量データ(補正情報)としてメモリ222に記憶させるモードである。システムコントローラ223は、このAFキャリブレーションモードでAF補正データを生成する補正情報生成手段として機能する。
ステップS106では、システムコントローラ223は、ブラケット量設定スイッチ232がONされたかどうかを判別する。ONされていれば、ステップS107へ移行する。ONされていなければAFキャリブレーション撮像におけるAFブラケットステップ量の基準値aを設定する。そして、ステップS110へ移行し、AFキャリブレーション撮像シーケンスへと移る。
ステップS107では、システムコントローラ223は、電子ダイヤルスイッチ226が操作されたか否かを判別し、操作されていればその操作方向と操作クリック数を検出する。そして、電子ダイヤルスイッチ226の操作クリック毎に、AFブラケットステップ量を基準値aに対して「基準値a×0.25」⇔「基準値a×0.5」⇔「基準値a」⇔「基準値a×2」⇔「基準値a×4」と変化させる。ただし、「基準値×0.25」及び「基準値×4」をそれぞれ上限値及び下限値とし、それ以上変化させない。
基準値aは、絞り制御回路106から開放絞り値(FNO)の情報を受け取ったシステムコントローラ223が、下記式により決定する。
基準値a=FNO×ε (FNOは開放絞り値、εは許容錯乱円径)
本実施例では、基準値aを焦点深度δ(=FNO×ε)と同じ値としている。例えば、ε=0.03mmとしている。
上記のようにAFブラケットステップ量を可変とすることで以下のメリットがある。すなわち、大きなピント補正が必要な場合でも、AFキャリブレーションステップ量を大きなステップ量から小さいステップ量へと段階的に変化させてAFキャリブレーション撮像を複数回行うことにより、ピント補正量を適切な値まで絞り込むことができる。
ステップS108では、システムコントローラ223は、ブラケット量設定スイッチ232がOFFしたかどうかを判定する。OFFしたときは、そのときに選択されていたブラケットステップ量を選択し、ステップS109でブラケットステップ量“A”をステップS108で選択されたブラケットステップ量に設定する。
ステップS110では、システムコントローラ223は、AFキャリブレーション撮像シーケンスへ移行する。
<AFキャリブレーション撮像シーケンス>
図4及び図5には、本実施例におけるAFキャリブレーション撮像シーケンス(補正情報生成ステップ)を示している。ここでは、AFキャリブレーション撮像により7枚のAFキャリブレーション画像を取得するものとする。
まず、図4のステップS201で、システムコントローラ223は、カウンタ233のリセットを行う。
ステップS202では、システムコントローラ223は、第1レリーズスイッチSW1(231)がONしたかどうかを判別する。ONであれば、撮像露出の決定及び光源の検出を行うステップS203とステップS205に分岐して移行する。
ステップS203では、システムコントローラ223は、撮像レンズ100を通りクイックリターンミラー202で反射されてペンタプリズム201を通過した光束を、測光回路207に測光させる。また同時に、測光回路207に配置された光源センサの出力から被写体を照らす光源(の種類)を検出する。
ステップS204では、システムコントローラ223は、測光回路207の出力に応じて撮像時の露出量(シャッタ速度、絞り値等)を決定する。
ステップS205では、システムコントローラ223は、AFセンサ204及び焦点検出回路205に焦点検出(デフォーカス量の算出)を行わせる。
ステップS206では、システムコントローラ223は、ステップS205で焦点検出ができたかどうかを判別する。焦点検出の対象である被写体が低コントラストである場合や暗い場合には焦点検出できないことがある。焦点検出ができなかった場合は、ステップS210へ移行して警告を行う。
焦点検出の再開用に必要なデータを保存して、シーケンスを終了する。焦点検出ができた場合は、ステップS207に進む。
ステップS207では、システムコントローラ223は、ステップS205で得られたデフォーカス量から位相差フォーカス移動量(第1の移動量)を算出し、該位相差フォーカス移動量に基づいてフォーカスレンズ101bを移動させる。これにより、フォーカスレンズ101bは位相差検出方式AFによる合焦位置(以下、位相差合焦位置という)に移動する。
ステップS208では、システムコントローラ223は、前述したコントラスト検出方式AFによってフォーカスレンズ101bの合焦位置(以下、コントラスト合焦位置という)を検出する。このとき、コントラスト検出方式AFにおいて異常な結果が得られた場合には、異常とされるデータを排除した上で動作を継続したり、異常な状態でなくなるまで動作をホールドしたりする。
ステップS209では、ステップS205で求めた位相差合焦位置とステップS208で求めたコントラスト合焦位置との差を求める。
そして、ステップS211では、システムコントローラ223は、レリーズスイッチSW2(230)がONしたかどうかを判別する。ONしていれば、ステップS212へ移行し、OFFであればステップS211を繰り返す。
ステップS212では、システムコントローラ223は、ピント位置ずらし量“DF”を算出する。システムコントローラ223は、カウンタ233から現在のカウント数Nを受け取り、ピント位置ずらし量“DF”を以下の式により算出する。
DF=A×(N−4)
ここで、Aはブラケットステップ量、「4」は1〜7(7枚の画像)のうち中央の値である。
ステップS213では、カウント数Nを1つカウントアップする。
ステップS214では、シーケンスコントローラ223は、ステップS212で算出したピント位置ずらし量“DF”をレンズ制御回路104に送信する。レンズ制御回路104は、レンズ駆動回路103を制御してフォーカスレンズ101bをピント位置ずらし量“DF”に対応する位置まで移動させる。
ステップS215では、システムコントローラ223は、シャッタチャージ・ミラー駆動機構211を制御して、クイックリターンミラー202及びサブミラー203のアップ動作を行わせる。
ステップS216では、システムコントローラ223は、ステップS204で設定された絞り値の情報を絞り制御回路106に送信する。絞り制御回路106は、絞り駆動機構105を介して設定された絞り値まで絞り102を絞り込む。
ステップS217では、システムコントローラ223は、フォーカルプレーンシャッタ10を開くように制御する。さらに、ステップS218では、画像データコントローラ220に対して撮像素子210の電荷蓄積動作を指示する。
ステップS219では、システムコントローラ223は、所定時間の間待機する。そして電荷蓄積時間が終了すると、ステップS220へ移行し、フォーカルプレーンシャッタ10を閉じる。
システムコントローラ223は、ステップS221において次回の撮像(AFキャリブレーション画像又は通常画像の撮像)に備えてフォーカルプレーンシャッタ208のチャージ動作及びミラーダウン駆動を行う。
ステップS222において、システムコントローラ223は、絞り制御回路106に絞り102を開放へと駆動させる。
ステップS223では、システムコントローラ223は、画像データコントローラ220に対して、撮像素子210からの出力信号に基づいてAFキャリブレーション画像データを生成するように指示する。この際、AFキャリブレーション画像データは、AFに使用された焦点検出エリアを含む限定されたエリアの画像データでもよい。
ステップS224では、システムコントローラ223は、画像データコントローラ220に対して、現在のピント位置ずらし量“DF”を送信する。システムコントローラ223は、撮像レンズ100のID情報とAFキャリブレーション画像データとピント位置ずらし量“DF”とを互いに関連付けて、画像圧縮回路219を通じて記録メディア218に記録する。
ステップS225では、システムコントローラ223は、カウンタ“N”の値を確認する。カウンタ値が予め設定された値(ここでは、7とする)になっていればAFキャリブレーション撮像シーケンスが完了したと判定して、図5の画像選択シーケンスへと移行する。カウンタ値が予め設定された値になっていなければ、ステップS211に戻る。
図5のステップS3000において、システムコントローラ223は、画像選択方法として手動が設定されているか自動が設定されているかを判断する。手動の場合には、ステップS301へ、自動の場合にはステップS3001へ進む。
ステップS3001では、システムコントローラ223は、7枚のAFキャリブレーション画像のコントラスト評価値を取り込む。続いてステップS3002では、これらAFキャリブレーション画像のコントラスト評価値を比較して、その中で最大のコントラスト評価値を有するAFキャリブレーション画像を選択する。そして、ステップS313に進む。
ステップS313では、システムコントローラ223は、選択されたAFキャリブレーション画像に関連付けられて記録メディア218に記録されているピント位置ずらし量“DF”をAF補正量データ(CALデータ:補正情報)として決定する。選択されたAFキャリブレーション画像に関連付けられたピント位置ずらし量“DF”は、位相差検出方式AFで得られた合焦位置とコントラスト検出方式AFで得られた合焦位置との差に相当する。
次に、ステップS314では、システムコントローラ223は、測光回路207に設けられた光源センサの出力に基づいて判別された光源(の種類)が赤外光を含まない蛍光灯である場合には、「補正NG」としてステップS316に進む。そして、ステップS316では、全てのAFキャリブレーション画像データとこれらを格納していたフォルダを記録メディア218から削除し、本シーケンスを終了する。
一方、ステップS314において、光源が赤外光を含まない蛍光灯以外の光源である場合は、「補正OK」としてステップS315に進む。
ステップS315では、システムコントローラ223は、決定されたAF補正量データ(CALデータ)を、焦点検出を行った焦点検出エリア及びそのときのズーム位置と関連付けて、撮像レンズ100のID情報とともに、メモリ222に記憶させる。以上の処理を焦点検出エリアやズーム位置を変化させて行い、焦点検出エリアやズーム位置に応じたAF補正量データを取得してメモリ222に記憶させた後、ステップS316に進み、本シーケンスを終了する。
一方、ステップS301において、シーケンスコントローラ223は、画像データコントローラ220に対し、カウンタ値“1”のAFキャリブレーション画像データを画像表示回路213に表示させる。AFキャリブレーション画像データを表示する際には、AFキャリブレーションモード以外の撮像モードで取得された画像を表示する場合とは異なる画像処理を施して表示する。具体的には、AFキャリブレーション画像に対してエッジ強調を行うと、本来ピントがずれているはずの画像部分がピントが合っているように見えてしまう。これにより、実際にはピントがずれているAFキャリブレーション画像をピントが最も合っている画像として誤って選択してしまうおそれがある。このため、AFキャリブレーション画像に対するエッジ強調は行わない。
ステップS302では、システムコントローラ223は、決定スイッチ227がONしたかどうかを判別する。ONであればステップS313へ進む。ONでなければステップS303へ進む。
ステップS303では、システムコントローラ223は、電子ダイヤルスイッチ226の操作状態を検出する。電子ダイヤルスイッチ226が左回転操作された場合はステップS304へ、右回転操作された場合はステップS308へ移行する。
ステップS304では、システムコントローラ223は、カウンタ値“N”から1だけデクリメントする。ステップS305では、カウンタ値“N”が“0”以下か否かを判別する。“N”が“0”以下である場合は、ステップS306において、選択表示できるAFキャリブレーション画像データがないことを画像表示回路213及びブザー234のうち少なくとも一方を用いて警告を行う。そして、ステップS307において、カウンタ値“N”を1だけインクリメントする。
また、ステップS305において、カウンタ値“N”が“0”より大きい場合は、ステップS312へ移行する。
一方、ステップS308では、システムコントローラ223は、カウンタ値“N”を1だけインクリメントする。そして、ステップS309では、カウンタ値“N”が“7”より大きいか否かを判別する。“N”が“7”より大きい場合は、ステップS310において、選択表示できるAFキャリブレーション画像データがないことを画像表示回路213及びブザー234のうち少なくとも一方を用いて警告を行う。そして、ステップS311において、カウンタ値“N”を1だけデクリメントする。
また、ステップS309で、カウンタ値“N”が“7”以下である場合は、ステップS312へ移行する。
ステップS312では、システムコントローラ223は、電子ダイヤルスイッチ226の操作に応じて変化したカウンタ値“N”に対応するAFキャリブレーション画像データを記録メディア218から読み出して画像表示回路213に表示させる。
ステップS313では、システムコントローラ223は、ステップS302にて決定スイッチ227がONされたときのAFキャリブレーション画像データに関連付けて記録メディア218に記録されているピント位置ずらし量“DF”を読み出す。そして、該AF補正量データ(CALデータ:補正情報)として決定する。
次に、ステップS314では、システムコントローラ223は、前述したように、測光回路207に設けられた光源センサの出力に基づいて判別された光源が赤外光を含まない蛍光灯である場合には、「補正NG」としてステップS316に進む。そして、ステップS316では、全てのAFキャリブレーション画像データとこれらを格納していたフォルダを記録メディア218から削除し、本シーケンスを終了する。
また、光源が赤外光を含まない蛍光灯以外の光源である場合には、「補正OK」としてステップS315に進む。ステップS315では、ステップS313において決定されたAF補正量データ(CALデータ)を焦点検出を行った焦点検出エリアのAF補正量データとして、撮像レンズ100のID情報及びズーム位置とともにメモリ222に書き込む。そして、ステップS316に進み、本シーケンスを終了する。
このように、本実施例のAFキャリブレーションモードでは、光源の検出(判別)結果に応じてAF補正量データをメモリ222に保存するか否かを切り換える。具体的には、光源が蛍光灯以外の光源である場合にはAFキャリブレーションモードで得られたAF補正量を保存し、光源が蛍光灯である場合にはAF補正量データを保存しない。言い換えれば、光源に関する情報に応じて、AF補正量データを使用可能とするか否かを切り換える。
これにより、光源に起因した誤差を含むAF補正量データが使用されることがなくなり、結果として、AFキャリブレーションの精度を向上させることができる。
なお、本実施例では、光源が蛍光灯である場合でもAF補正量データを生成した上で保存しないようにする。しかし、光源が蛍光灯である場合にAF補正量データを生成しないようにしてもよい。この場合も、光源に関する情報に応じてAF補正量データを使用可能とするか否かを切り換えることに相当する。
また、本実施例では、光源に関する情報に応じてAF補正量データを使用可能とするか否かを切り換えることによって、AFキャリブレーションの精度を向上させる場合について説明したが、他の方法でAFキャリブレーションの精度を向上させてもよい。
例えば、光源の検出結果に応じた位相差フォーカス移動量の補正データを予めメモリ222に記憶させておく。そして、位相差フォーカス移動量を該補正データによって補正して得られる位相差合焦位置とコントラスト合焦位置との差を求めることによりAF補正量データを生成する。
このように、光源の検出結果に応じて補正された位相差合焦位置を用いてAF補正量データを生成し、このAF補正量に対して使用可能とするか否かを切り換えることで、AFキャリブレーションの精度を向上させることができる。
<通常撮像シーケンス>
図9を用いて、通常撮像シーケンスについて説明する。
まず、ステップS401では、システムコントローラ223は、第1レリーズスイッチSW1(231)がONしたかどうかを判別する。ONであればステップS402とステップS404に分岐して移行する。
ステップS402では、システムコントローラ223は、測光回路207に測光を行わせる。そして、ステップS403では、測光回路207の出力に基づいて、撮像時の露出値(シャッタ秒時及び絞り値等)を決定する。そして、ステップS406に進む。
一方、ステップS404では、システムコントローラ223は、AFセンサ204及び焦点検出回路205に焦点検出を行わせ、焦点検出回路205からのデフォーカス量の情報に基づいて位相差フォーカス移動量を算出する。
ステップS405では、システムコントローラ223は、焦点検出ができたか否かを判別する。前述したように、焦点検出の対象である被写体が低コントラストの場合や暗い場合には焦点検出ができないことがある。焦点検出ができなかった場合は、ステップS409へ移行して警告を行う。また、ステップS405で焦点検出ができた場合には、ステップS421に進み、測光回路207に設けられた光源センサにより光源(の種類)を検出する。そして、ステップS406に進む。
ステップ406では、システムコントローラ223は、撮像レンズ100のID情報を受け取り、該ID情報に対応し、かつ焦点検出に使用している焦点検出エリアに対応するAF補正量データ(CALデータ)がメモリ222に記憶されているか否かを判別する。また、光源検出結果において光源が蛍光灯であるか否かを判別する。
AF補正量データが記憶されていない又は光源が蛍光灯である場合及びその両方である場合(すなわち、AF補正量データが使用可能でない場合)には、AF補正量を位相差フォーカス移動量に加算しない。言い換えれば、AF補正量データを用いた位相差フォーカス移動量の補正を行わない。AF補正量データが記憶されており、かつ光源が蛍光灯ではない場合(すなわち、AF補正量データが使用可能である場合)は、ステップS407に進む。
ステップS407では、システムコントローラ223は、位相差フォーカス移動量にAF補正量を加算する。言い換えれば、AF補正量データを用いた位相差フォーカス移動量の補正を行う。これにより、補正後の位相差フォーカス移動量(第2の移動量:以下、補正後フォーカス移動量という)が、
補正後フォーカス移動量=補正前の位相差フォーカス移動量+製造誤差に基づく補正値(調整データ)+AF補正量(CALデータ)
により得られる。そして、ステップS408に進む。
ステップS408では、システムコントローラ223は、補正後フォーカス移動量をレンズ制御回路104に送信する。レンズ制御回路104は、該補正後フォーカス移動量に基づいてレンズ駆動機構103を制御し、フォーカスレンズ101bを合焦位置に移動させる。
次に、ステップS410では、システムコントローラ223は、第2レリーズスイッチSW2(230)がONしたか否かを判別する。ONであれば、ステップS411へ移行する。
ステップS411では、システムコントローラ223は、シャッタチャージ・ミラー駆動機構211を制御して、ミラーアップ動作を行わせる。
ステップS412では、システムコントローラ223は、ステップS403で設定された絞り値の情報を絞り制御回路106に送信する。絞り制御回路106は、絞り駆動機構105を制御して、絞り102を設定された絞り値まで絞り込む。
ステップS413では、システムコントローラ223は、フォーカルプレーンシャッタ208を開かせる。さらにステップS414では、画像データコントローラ220に対して、撮像素子210の電荷蓄積動作を指示する。ステップS415で所定の電荷蓄積時間が経過すると、ステップS416へ移行し、システムコントローラ223はフォーカルプレーンシャッタ10を閉じさせる。
ステップS417では、システムコントローラ223は、次回の撮像に備えて、フォーカルプレーンシャッタ208のチャージ動作及びミラーダウン動作を行わせる。また、ステップS418において、絞り102を開放状態に動作させる。
ステップS419では、システムコントローラ223は、画像データコントローラ220に対して、撮像素子210からの出力信号に基づく画像データの生成を指示する。
ステップS420では、システムコントローラ223は、生成された画像データを画像圧縮回路219を介して記録メディア218に記録させる。
本実施例によれば、光源の影響による誤差を含むAF補正量データが通常撮像時のフォーカス制御に使用されることが回避されるので、光源にかかわらず高精度な合焦状態を得ることができる。
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
例えば、上記実施例では、レンズ交換式のデジタルカメラについて説明したが、本発明は、レンズ一体型のデジタルカメラにも適用することができる。