図1には、本発明の実施例1である撮像システムとしての一眼レフデジタルカメラシステムの光学的及び電子的構成を示している。撮像装置である一眼レフデジタルカメラ(以下、単にカメラという)200には、交換レンズ100が不図示のマウント部を介して着脱可能に取り付けられる。マウント部には電気的接点群107が設けられており、該電気的接点群107を介してカメラ200と交換レンズ100との間で通信が行われる。
不図示の被写体からの光束は、交換レンズ100内のレンズ101a,101b及び絞り102を介してカメラ200内に導かれる。レンズ101a,101b及び絞り102により撮像光学系が構成される。レンズ101bは、フォーカスレンズであり、光軸方向に移動することで焦点調節を行う。
202はクイックリターンミラーである。クイックリターンミラー202は、その中央にハーフミラー部を有する。図に示すようにクイックリターンミラー202が撮像光路内に斜めに配置された状態(ミラーダウン状態)では、撮像光学系からの光束の一部は該ハーフミラー部で反射され、ファインダ光学系に導かれる。ファインダ光学系は、不図示のピント板、ペンタプリズム201及び接眼レンズ206により構成され、ピント板上に形成された被写体像を接眼レンズ206及びペンタプリズム201を通じて観察させる光学系である。
また、ハーフミラー部を透過した光束は、クイックリターンミラー202の背後に配置されたサブミラー203により反射されて、位相差検出方式による焦点検出を行うAFセンサ204に導かれる。
本実施例のカメラ200では、図6に示すように、撮像画面の範囲内に複数(本実施例では3つ)の焦点検出エリア1〜3が設けられている。このため、AFセンサ204には、上記3つの焦点検出エリア1〜3に対応した3つの対のCCDラインセンサが設けられている。AFセンサ204(各対のCCDラインセンサ)からの信号は、焦点検出回路205に入力される。焦点検出回路205は、入力された信号に応じて、各焦点検出エリア内に存在する被写体に対する撮像光学系の焦点状態(デフォーカス量)を算出する。なお、AFセンサ204を用いた焦点検出方法については後述する。
クイックリターンミラー202及びサブミラー203が撮像光路外に退避した状態(ミラーアップ状態)では、撮像光学系からの光束は、赤外カット及びローパス機能を有するフィルタ209とシャッタ208を介して撮像素子210に到達する。撮像素子210は、CCDセンサやCMOSセンサ等の光電変換素子により構成された光電変換素子である。また、シャッタ208は、フォーカルプレンシャッタであり、先幕及び後幕の走行により撮像素子210の露光を制御する。
223はカメラ200及び交換レンズ100の制御を司るシステムコントローラであり、CPUにより構成されている。具体的には、システムコントローラ223は、カメラ200内及び交換レンズ100内に設けられた以下の回路や機構を制御する。
まず、交換レンズ100内には以下の回路及び機構が設けられている。104はレンズ制御回路であり、フォーカスレンズ101bを光軸方向に移動させるレンズ駆動機構103を制御する。また、レンズ制御回路104には、図示はしないが、交換レンズ固有の情報、例えば焦点距離、開放絞り、個々の交換レンズに割り振られたレンズID情報及びシステムコントローラ223から受け取った各種情報を記憶するメモリ部が設けられている。
106は絞り制御回路であり、絞り102を駆動する絞り駆動機構105を制御する。
カメラ200内には以下の回路及び機構が設けられている。211はシャッタチャージ・ミラー駆動機構である。該シャッタチャージ・ミラー駆動機構211は、シャッタ208のチャージ駆動やクイックリターンミラー202のアップダウン駆動を行う。
212はシャッタ制御機構であり、シャッタ208の先幕と後幕の走行を制御する。
207は測光回路であり、図6に示すように、それぞれ焦点検出エリア1〜3を含む3つの測光エリア1〜3での被写体輝度を検出する。検出された被写体輝度の情報は、システムコントローラ223に送られる。
また、測光回路207には、主に可視光に対して感度を有する受光センサ207aと、主に赤外光に対して感度を有する受光センサ207bとが光源検出手段として設けられている。
222はメモリ(記憶手段)としてのEEPROMである。該EEPROM222には、カメラ200を制御する上で必要なパラメータや、該カメラ200の個体識別を可能とするID情報が記憶されている。さらに、EEPROM222には、調整用基準レンズを用いて調整されたAF補正データや、自動露出を行うための補正データや、光源の種類に応じたAF補正量のデータが記憶されている。
220は画像データコントローラである。該画像データコントローラ220は、DSP(デジタル信号プロセッサ)により構成され、撮像素子210の制御及び撮像素子210からA/Dコンバータ216を介して入力された画像データの補正や加工等を、システムコントローラ223の指令に応じて行う。画像データの補正及び加工には、オートホワイトバランスも含まれている。オートホワイトバランスとは、撮像された画像内の最大輝度部分を白色に補正する機能である。画像データコントローラ220は、システムコントローラ223からの命令によりオートホワイトバランスの補正量を変更する。
画像データコントローラ220には、タイミングパルス発生回路217、A/Dコンバータ216、DRAM221、D/Aコンバータ215及び画像圧縮回路219が接続されている。タイミングパルス発生回路217は、撮像素子210を駆動する際に必要なパルス信号を出力する。A/Dコンバータ216は、タイミングパルス発生回路217で発生されたタイミングパルスを受けて、撮像素子210から出力される被写体画像に対応したアナログ撮像信号をデジタル画像データに変換する。DRAM221は、加工や所定フォーマットへのデータ変換が行われる前の画像データ(デジタルデータ)を一時的に記憶する。
D/Aコンバータ215には、エンコーダ回路214を介して画像表示回路213が接続されている。D/Aコンバータ215は、画像データコントローラ220からのデジタル画像データをアナログ画像データに変換する。エンコーダ回路214は、該アナログ画像データを、ディスプレイユニットとしての画像表示回路213に表示するのに適した映像信号(例えば、NTSC信号)に変換する。画像表示回路213は、カラー液晶表示素子等により構成されている。
画像圧縮回路219は、DRAM221に記憶された画像データの圧縮や変換(例えば、JPEGへの変換)を行う。画像圧縮回路219によって変換された画像データは、記録メディア218に記録される。記録メディア218としては、ハードディスク、半導体メモリ、光ディスク等が使用される。
また、システムコントローラ223は、AF、AE及びホワイトバランスのキャリブレーションを行うために段階的にパラメータを変更して行う複数回撮像(ブラケット撮像)を制御する。さらに、システムコントローラ223は、AFセンサ204を用いた位相差AFに加えて、コントラストAFも行うことができる。コントラストAFでは、撮像素子210を用いて取得された映像の高周波成分から生成されたコントラスト評価値がピークとなる位置にフォーカスレンズ101bを移動させる。
また、システムコントローラ223には、情報表示回路225、第1レリーズスイッチ(SW1)231、第2レリーズスイッチ(SW2)230、モード設定スイッチ229、焦点検出エリア選択スイッチ228及び決定スイッチ227が接続されている。さらに、システムコントローラ223には、ブラケット量設定スイッチ232、測光エリア選択スイッチ235、電子ダイヤルスイッチ226、カウンタ233及びブザー234が接続されている。
情報表示回路225は、カメラ200の動作モードや露出情報(シャッタ秒時、絞り値等)を表示する。情報表示回路225は、液晶表示素子等により構成されている。第1レリーズスイッチ231は、測光やAF等の撮像準備動作を開始させるためのスイッチであり、不図示のレリーズボタンの半押し操作によりオンする。第2レリーズスイッチ230は、静止画撮像動作を開始させるためのスイッチであり、レリーズボタンの全押し操作によりオンする。
モード設定スイッチ229は、カメラ200の動作モード(撮像モードやAFモード等)を選択するために設けられたスイッチである。焦点検出エリア選択スイッチ228は、図6に示した3つの焦点検出エリア1〜3のうちピントを合わせたい被写体に対応する焦点検出エリアを撮影者が任意に選択できるようにするためのスイッチである。
決定スイッチ227は、ブラケット撮像により得られた複数の画像のうち撮影者が最も好ましい画像を選択(決定)するためのスイッチである。ブラケット量設定スイッチ232は、上記ブラケット撮像におけるブラケットステップ量を撮影者が任意に設定するためのスイッチである。測光エリア選択スイッチ235は、図6に示した3つの測光エリア1〜3のうち測光を行うエリアを撮影者が任意で選択するためのスイッチである。電子ダイヤルスイッチ226は、その回転操作(クリック数)によって各種パラメータを変更するためのダイヤル式スイッチである。
カウンタ233は、ブラケット撮像を行う際に撮像回数(画像枚数)をカウントする。ブザー234は、システムコントローラ223からの信号に基づいて、各種警告音を出力する。
なお、カメラ200には、パーソナルコンピュータ(PC)に代表される外部装置300が接続可能である。システムコントローラ223は、通信インターフェース回路224を介して外部装置300と通信を行うことができる。
ここで、AFセンサ204を用いたデフォーカス量の検出方法について、図7及び図8を用いて説明する。
被写体OBJから撮像光学系(フォーカスレンズ101b)、ミラー202,203(図1参照)を介してAFセンサ204に入射した光束は、コンデンサレンズ501を透過した後、セパレータレンズ503により2つに分割される。該2つの分割光束は、一対のラインセンサ504上に2つの像を形成する。一対のラインセンサ504からは該2像に応じた信号(像信号)が出力される。コンデンサレンズ501とセパレータレンズ503によってAF光学系が構成される。
撮像素子210(撮像素子等価面210′)上にてピントが合っているとき、一対のラインセンサ504上に形成された2像間の間隔(2つの像信号の間隔)Loは特定の値となる。この特定の値は設計上求めることができるが、実際には、部品寸法のばらつきや組立て誤差等の製造誤差によって、設計値と完全に同じとはならない。したがって、実際には、実測しなければこの特定値としての基準2像間隔Loを求めることは困難である。図7に示すように、2像間隔が基準2像間隔Loより狭ければ前ピン状態であり、該基準2像間隔Loより広ければ後ピン状態である。
図8には、撮像素子等価面210′及びAF光学系(ただし、コンデンサレンズ501は図示を省略)を介して一対のラインセンサ504上に到達する撮像光学系からの主光線PRを示す。
主光線PRのAF光学系の光軸に対する角度をθとし、セパレータレンズ503の倍率をβとし、撮像素子等価面210′及びラインセンサ504上での像の移動量をそれぞれΔL,ΔL′とすると、デフォーカス量dは以下の式で求まる。
d=ΔL/tanθ=ΔL′/(β・tanθ)
ここで、β・tanθは、AF光学系の設計上定まるパラメータである。また、ΔL′は基準2像間隔Loとラインセンサ504上での実際の2像間隔(位相差)Lxから求めることができる。
本実施例では、予め所定の距離の被写体に対して撮像素子210の受光面上に焦点を結ぶように(すなわち、該被写体に合焦するように)調整された基準レンズをカメラ200に装着する。そして、そのときにAFセンサ204から得られる2像間隔を基準2像間隔LoとしてEEPROM222に記憶させる。
しかし、カメラ200に基準レンズとは異なる交換レンズ100が装着されると、その製造誤差によって、上記所定の距離の被写体に対して合焦したときの2像間隔が基準2像間隔Loからずれる。特に、被写体を照らす光源の種類によって上記ずれが大きくなり、該2像間隔に基づいて算出されたデフォーカス量を用いてフォーカスレンズ101bを駆動しても、精度の高い合焦が得られない。このため、本実施例では、光源に関する情報を求め、合焦時における2像間隔が基準2像間隔Loに比べて無視できない程度に大きい光源については、後述するAFキャリブレーションにおけるAF補正量としてのピント位置ずらし量DFを補正する。
図2には、本実施例のカメラ200における焦点検出エリア選択シーケンスのフローチャートを示す。このフローチャート及び後述するフローチャートにて示す各動作は、システムコントローラ223が、該コントローラ223内に格納されたコンピュータプログラムに従って実行する。
ステップ(図にはSと略記する)001において、システムコントローラ223は、焦点検出エリア選択スイッチ228がオンされたかどうかを判別する。オンされていればステップ002へ移行する。
ステップ002では、システムコントローラ223は、電子ダイヤルスイッチ226が操作されたかどうかを判別する。また、操作されていれば、その操作方向及び操作量を検出する。
ステップ003では、システムコントローラ223は、ステップ002での電子ダイヤルスイッチ226の操作方向と操作量に応じて焦点検出エリアを変更する。焦点検出エリアは、全部←→焦点検出エリア1←→焦点検出エリア2←→焦点検出エリア3←→全部 という順序で循環式に切り替わる。
ステップ004では、システムコントローラ223は、焦点検出エリア選択スイッチ228がオンされたかどうかを判別する。オンされていればステップ002へ戻り、オフならば本シーケンスを終了する。
図3には、本実施例のカメラ200におけるモード設定シーケンスのフローチャートを示す。
ステップ101では、システムコントローラ223は、モード設定スイッチ229がオンされたかどうかを判定する。オンしていれば、撮影者によってモード設定操作が開始されたものとしてステップ102に移行する。
ステップ102では、システムコントローラ223は、電子ダイヤルスイッチ226の操作クリック数を検出する。電子ダイヤルスイッチ226を回転させると、操作クリック毎に撮像モードを、「TVモード」←→「AVモード」←→「P(プログラム)モード」←→「AFキャリブレーションモード」←→「TVモード」←→・・・と循環式に変更することができる。「AFキャリブレーションモード」は、焦点検出エリア選択シーケンスにおいて焦点検出エリア1〜3の中から1つだけが選択されていなければ、選択できないように設定されている。
ステップ103では、システムコントローラ223は、モード設定スイッチ229がオフしたかどうかを判定する。オフした場合は、ステップ104にて、そのときに選択されていた撮像モードを設定する。
ステップ105では、システムコントローラ223は、設定された撮像モードがAFキャリブレーションモードであるかどうかを判別する。AFキャリブレーションモード以外の場合は、ステップ111に移行し、各撮像モードに応じた不図示の撮像シーケンスへ移行する。AFキャリブレーションモードの場合は、ステップ106に進む。
ステップ106では、システムコントローラ223は、ブラケット量設定スイッチ232がオンされたかどうかを判別する。オンされていればステップ107へ移行する。オンされていなければ、AFキャリブレーション用撮像(ブラケット撮像)のためのAFブラケットステップ量を基準値aに設定し、ステップ110へ進む。
ステップ107では、システムコントローラ223は、電子ダイヤルスイッチ226の操作クリック数を検出する。電子ダイヤルスイッチ226を回転させると、AFブラケットステップ量を、操作クリック毎に、「基準値a×0.25」←→「基準値a×0.5」←→「基準値a」←→「基準値a×2」←→「基準値a×4」と変更することができる。ただし、「基準値×0.25」及び「基準値×4」をそれぞれ下限値及び上限値とし、それらを超えてAFブラケットステップ量を変化させようとして電子ダイヤルスイッチ226を操作しても該操作は無視される。
AFブラケットステップ量の基準値aは、絞り制御回路106から開放絞り値情報(FNO)をシステムコントローラ223が受け取り、下記の式にて決定される。
基準値a=FNO×ε (εは許容錯乱円径を示す)。
本実施例での基準値aは、焦点深度δ=FNO×εと同じ値に設定されている。本実施例においては、ε=0.03mmに設定されている。
上記のようにAFブラケットステップ量を可変とすることで、以下のメリットがある。大きなピント補正が必要な場合でも、AFキャリブレーションステップ量を大きなステップ量から小さいステップ量へと段階的に変更して複数回AFキャリブレーションを行うことで、ピント補正量を適切な値まで絞り込むことができる。
ステップ108では、システムコントローラ223は、ブラケット量設定スイッチ232がオフしたかどうかを判定する。オフであれば、ステップ109に進み、そのときに選択されていたブラケットステップ量をブラケットステップ量“A”として設定する。
ステップ110では、システムコントローラ223は、AFキャリブレーション撮像シーケンスへと移行する。
図4には、本実施例のカメラ200におけるAFキャリブレーション撮像シーケンスのフローチャートを示す。このAFキャリブレーション撮像シーケンスでは、AFブラケットステップ量を段階的に変更して複数回の撮像を行う。
ステップ201では、システムコントローラ223は、カウンタ233のカウント値Nをリセットする。
ステップ202では、システムコントローラ223は、第1レリーズスイッチ(SW1)231がオンされたかどうかを判別する。オンされていればステップ203とステップ205に進む。オフであればステップ202を繰り返す。
ステップ203では、システムコントローラ223は、撮像光学系からクイックリターンミラー202及びペンタプリズム201を介して測光回路207に入射した光束から、被写体の輝度を測定する。
ステップ204では、システムコントローラ223は、測光回路207からの出力に応じて、シャッタ秒時及び絞り値といった露出条件を決定する。そして、ステップ211に進む。
ステップ205では、システムコントローラ223は、AFセンサ204及び焦点検出回路205を用いて撮像光学系の焦点検出を行う。具体的には、焦点検出回路205は、AFセンサ204から得られた2像信号から該2像の位相差を求め、該位相差からデフォーカス量を算出する。そして、システムコントローラ223は、該デフォーカス量に基づいてフォーカスレンズ101bの駆動量及び駆動方向を算出する。
ステップ206では、システムコントローラ223は、焦点検出が行えたかどうかを判別する。被写体が低コントラストの場合や暗い場合には焦点検出が行えない場合があるので、この場合は、ステップ210へ移行して警告動作を行う。警告動作としては、画像表示回路213に警告表示を行ったりブザー234から警告音を出力したりする。
このとき、AFキャリブレーション再開用に露出条件のデータを保存した上で、AFキャリブレーション撮像シーケンスを終了する。AFキャリブレーションを再開できるか否かの情報をこの中断時点で記憶しておき、再開が指示されたときに該情報から再開が可能か否かを判別する。
ステップ207では、システムコントローラ223は、ステップ205で求めた駆動量及び駆動方向の情報をレンズ制御回路104に送信する。レンズ制御回路104は、該駆動量及び駆動方向の情報に従ってレンズ駆動機構103を制御し、フォーカスレンズ101bを移動させる。これにより、位相差AFによる合焦位置にフォーカスレンズ101bを移動させることができる。
ステップ208では、システムコントローラ223は、コントラストAFによってフォーカスレンズ101bを移動させながら映像のコントラスト評価値がピークとなるフォーカスレンズ位置(合焦位置)を求める。
このとき、コントラストAFによってコントラスト評価値がピークとなるフォーカスレンズ位置が求められなかった場合、つまりは異常が検出された場合は、AFキャリブレーション再開用にコントラストAFに関するデータを保存して本シーケンスを終了する。また、再度コントラストAFを行ってもよいし、動作をホールドして警告動作を行うようにしてもよい。
ステップ209では、システムコントローラ223は、ステップ205で求めた位相差AFによる合焦位置と、ステップ208で求めたコントラストAFによる合焦位置との差を求める。そして、該差の信頼度を判定する。信頼度は、該差が特定の閾値より小さいか否かにより判定される。信頼度が高い(該差が閾値より大きい)場合は、ステップ211に進む。また、信頼度が低い(該差が閾値より大きい)場合は、図示しないが、AFキャリブレーションを中止するか再度コントラストAFを行う。
ステップ211では、システムコントローラ223は、第2レリーズスイッチ(SW2)230がオンされたかどうかを判別する。オンされていればステップ212へ移行し、オフであればステップ211を繰り返す。
ステップ212では、システムコントローラ223は、ピント位置ずらし量“DF”を演算する。具体的には、カウンタ233の現在のカウント値Nを用いて、以下の式によりピント位置ずらし量DFを演算する。
DF=A×(N−4)
ここで、Aは前述したステップ109で設定されたブラケットステップ量である。本実施例では、ピント位置ずらし量DF=0(すなわち、N=4)を中心とした7回のブラケット撮像を行う。
ステップ213では、システムコントローラ223は、カウンタ233のカウント値Nを1つインクリメントする。
ステップ214では、システムコントローラ223は、ステップ212で演算したピント位置ずらし量DFをレンズ制御回路104に送信する。レンズ制御回路104は、レンズ駆動機構103を制御して、フォーカスレンズ101bを、前述した位相差AFによる合焦位置からピント位置ずらし量DFだけずれた位置まで移動させる。
ステップ215では、システムコントローラ223は、シャッタチャージ・ミラー駆動機構211を制御してクイックリターンミラー202及びサブミラー203のアップ動作を行わせる。
ステップ216では、システムコントローラ223は、ステップ204で設定された絞り値の情報を絞り制御回路106へ送信する。絞り制御回路106は、絞り駆動機構105を制御して、絞り102を設定絞り値まで絞り込む。
ステップ217では、システムコントローラ223は、シャッタ制御機構212を介してシャッタ208を開く。
ステップ218では、システムコントローラ223は、画像データコントローラ220を介して撮像素子210に電荷蓄積動作を行わせる。
ステップ219では、システムコントローラ223は、所定の電荷蓄積時間が経過するのを待ってステップ220へ移行する。
ステップ220では、システムコントローラ223は、シャッタ制御機構212を介してシャッタ208を閉じる。
ステップ221では、システムコントローラ223は、次回の撮像に備えてシャッタチャージ・ミラー駆動機構211を制御し、シャッタ208のチャージ動作及びミラーダウン駆動を行わせる。
ステップ222では、システムコントローラ223は、絞り制御回路106及び絞り制御機構105に絞り102を開放へと駆動させる。
ステップ223では、システムコントローラ223は、画像データコントローラ220に、撮像素子210からのアナログ撮像信号をA/Dコンバータ216を介してデジタル画像データとして取り込むように指示する。この際、取り込む画像データは、位相差AFが行われた焦点検出エリアを含む限定されたエリアのデータでもよい。
ステップ224では、システムコントローラ223は、画像データコントローラ220に現在のピント位置ずらし量DFを送信する。画像データコントローラ220は、レンズID情報と画像データとピント位置ずらし量DFとを相互に関連付けて、画像圧縮回路219を介して記録メディア218へ記録する。以上により、1回のブラケット撮像が終了する。
ステップ225では、システムコントローラ223は、カウンタ233のカウント値Nの値を確認する。カウンタ値Nが所定値(本実施例では7)になったか否かを判別する。所定値になった場合、すなわち全ブラケット撮像が終了した場合は、AFキャリブレーション撮像シーケンスを終了して、後述するAFキャリブレーション画像選択シーケンスへと移行する。まだ所定値になっていない場合、すなわちまだ全てのブラケット撮像が終了していない場合は、ステップ211に戻り、ステップ211〜ステップ224の処理を繰り返す。
図5には、本実施例のカメラ200におけるAFキャリブレーション画像選択シーケンスのフローチャートを示す。このシーケンスでは、前述したAFキャリブレーション撮像シーケンスでのブラケット撮像により取得された7枚の画像(以下、ブラケット画像という)のうち最良なピント状態のものを選択する。
ステップ3000では、システムコントローラ223は、画像の選択方法を判別する。手動選択の場合にはステップ301に進み、自動選択の場合にはステップ3001に進む。手動選択と自動選択かは、画像表示回路213に表示された選択画面上で、撮影者が決定スイッチ227を操作することにより決定される。
ステップ3001では、システムコントローラ223は、7枚のブラケット画像のコントラスト評価値を取り込む。
ステップ3002では、システムコントローラ223は、7枚のブラケット画像のコントラスト評価値を相互に比較し、その中での最大のコントラスト評価値を有する画像を最良画像として選択する。そして、ステップ313に進む。
ステップ313では、システムコントローラ223は、選択された最良画像に関連付けられて記憶されているピント位置ずらし量DFをAF補正量(CALデータ)として決定する。
ステップ314では、ステップ313で決定されたAF補正量と位相差AFを行った焦点検出エリアとそのときの撮像光学系の焦点距離(ズーム位置)の情報とを相互に関連付けて、交換レンズ100のレンズID情報とともにEEPROM222に記憶する。以上の処理を、焦点検出エリアやズーム位置を変化させて行い、それらに対応したAF補正量をEEPROM222に記憶する。
一方、ステップ301では、システムコントローラ223は、画像データコントローラ220を通じて、AFキャリブレーション撮像シーケンスにて撮像されたカウント値“1”のブラケット画像を画像表示回路213に表示させる。
ここで、ブラケット画像を表示する際には、後述する通常撮像シーケンスで撮像された画像を表示する場合とは異なる画像処理を施して表示する。具体的には、通常撮像シーケンスで撮像された画像を表示する際には、見栄えを良くするためにエッジ強調を行う。
ステップ302では、システムコントローラ223は、決定スイッチ227がオンされたかどうかを判別する。オンされていれば、そのときに表示されているブラケット画像が撮影者により最良画像として決定されたことになる。決定スイッチ227がオンされた場合はステップ313へ移行する。オンされなければステップ303へ移行する。
ステップ303では、システムコントローラ223は、電子ダイヤルスイッチ226の操作状態を検出する。左回転されればステップ304へ、右回転されればステップ308へ移行する。
ステップ304では、システムコントローラ223は、カウント値Nから1をデクリメントする。
ステップ305では、システムコントローラ223は、カウント値Nが“0”であるか否かを判別する。カウント値Nが“0”より大きい場合は、ステップ312に進む。カウント値Nが“0”である場合は、ステップ306に進み、選択できるブラケット画像がない旨を示す警告動作を行う。警告動作は、画像表示回路213での警告表示及びブザー234による警告音の出力のうち少なくとも一方で行う。そして、ステップ307に進む。
ステップ307では、システムコントローラ223は、カウント値Nを1インクリメントする。そして、ステップ303に戻る。
ステップ308では、システムコントローラ223は、カウント値Nを1インクリメントする。
ステップ309では、システムコントローラ223は、カウント値Nが“7”であるか否かを判別する。カウント値Nが“7”より小さい場合は、ステップ312に進む。カウント値Nが“7”である場合は、ステップ310に進み、選択できるブラケット画像がない旨を示す警告動作を行う。警告動作は、画像表示回路213での警告表示及びブザー234による警告音の出力のうち少なくとも一方で行う。そして、ステップ311に進む。
ステップ311では、システムコントローラ223は、カウント値Nを1インクリメントする。そして、ステップ303に戻る。
ステップ312では、システムコントローラ223は、電子ダイヤルスイッチ226の操作に応じて切り換えられるカウント値Nに応じたブラケット画像を記録メディア218から呼び出し、画像表示回路213に表示する。
ステップ313では、システムコントローラ223は、ステップ302において決定スイッチ227のオンによって選択されたブラケット画像に関連付けて記録メディア218に記録されているピント位置ずらし量DFをAF補正量(CALデータ)として決定する。
ステップ314では、ステップ313において決定されたピント位置ずらし量DFを、位相差AFを行った焦点検出エリアのAF補正量として、交換レンズ100のレンズIDと共にEEPROM222に書き込む。
ステップ315では、システムコントローラ223は、全てのブラケット画像のデータを記録メディア218から削除する。
図9には、本実施例のカメラ200における第1の通常撮像シーケンスのフローチャートを示している。
ステップ401では、システムコントローラ223は、第1レリーズスイッチ(SW1)231がオンされたかどうかを判別する。オンされていればステップ402とステップ404に移行する。オフであればステップ401を繰り返す。
ステップ402では、システムコントローラ223は、撮像光学系からクイックリターンミラー202及びペンタプリズム201を介して測光回路207に入射した光束から、被写体の輝度を測定する。
ステップ403では、システムコントローラ223は、測光回路207からの出力に応じて、シャッタ秒時及び絞り値といった露出条件を決定する。そして、ステップ410に進む。
ステップ404では、システムコントローラ223は、AFセンサ204及び焦点検出回路205を用いて撮像光学系の焦点検出を行う。具体的には、焦点検出回路205は、AFセンサ204から得られた2像信号から該2像の位相差を求め、該位相差からデフォーカス量を算出する。そして、システムコントローラ223は、該デフォーカス量に基づいてフォーカスレンズ101bの駆動量(以下、検出駆動量という)及び駆動方向を算出する。
ステップ405では、システムコントローラ223は、焦点検出が行えたかどうかを判別する。被写体が低コントラストの場合や暗い場合には焦点検出が行えない場合があるので、この場合は、ステップ409へ移行して警告動作を行う。警告動作としては、画像表示回路213に警告表示を行ったりブザー234から警告音を出力したりする。
ステップ406では、システムコントローラ223は、カメラ200に装着されている交換レンズ100からレンズID情報を受け取る。そして、該レンズIDとステップ404で焦点検出を行った焦点検出エリアに対応するAF補正量(CALデータ)がEEPROM222に記憶されているかどうかを確認する。記憶されていなければステップ408にそのまま進み、記憶されていればステップ407に進む。
ステップ407では、ステップ404で算出された検出駆動量に、ステップ406で確認して読み出したAF補正量(CALデータ)を加算する。これにより、フォーカスレンズ101bの補正後駆動量は、
検出駆動量+AF補正値(CALデータ)
となる。
なお、このとき、カメラ200又は交換レンズ100の組み立て調整時に測定されたAF補正値(調整データ)があれば、フォーカスレンズ101bの補正後駆動量は、
検出駆動量+AF補正値(CALデータ)+AF補正値(調整データ)
となる。
ステップ408では、システムコントローラ223は、補正後駆動量の情報をレンズ制御回路104に送信する。レンズ制御回路104は、受信した補正後駆動量に応じてレンズ駆動機構103を制御し、フォーカスレンズ101bを駆動する。これにより、フォーカスレンズ101bは、補正後駆動量に対応した合焦位置に移動する。
ステップ410では、システムコントローラ223は、第2レリーズスイッチ(SW2)230がオンされたかどうかを判別する。オンされていればステップ411に進む。オフであればステップ410を繰り返す。
ステップ411では、システムコントローラ223は、シャッタチャージ・ミラー駆動機構211を制御してクイックリターンミラー202及びサブミラー203のアップ動作を行わせる。
ステップ412では、システムコントローラ223は、ステップ403で設定された絞り値の情報を絞り制御回路106へ送信する。絞り制御回路106は、絞り駆動機構105を制御して、絞り102を設定絞り値まで絞り込む。
ステップ413では、システムコントローラ223は、シャッタ制御機構212を介してシャッタ208を開く。
ステップ414では、システムコントローラ223は、画像データコントローラ220を介して撮像素子210に電荷蓄積動作を行わせる。
ステップ415では、システムコントローラ223は、所定の電荷蓄積時間が経過するのを待ってステップ416へ移行する。
ステップ416では、システムコントローラ223は、シャッタ制御機構212を介してシャッタ208を閉じる。
ステップ417では、システムコントローラ223は、次回の撮像に備えてシャッタチャージ・ミラー駆動機構211を制御し、シャッタ208のチャージ動作及びミラーダウン駆動を行わせる。
ステップ418では、システムコントローラ223は、絞り制御回路106及び絞り制御機構105に絞り102を開放へと駆動させる。
ステップ419では、システムコントローラ223は、画像データコントローラ220に、撮像素子210からのアナログ撮像信号をA/Dコンバータ216を介してデジタル画像データとして取り込むように指示する。
ステップ420では、システムコントローラ223は、取り込んだ画像データを画像圧縮回路219を通じて記録メディア218へ記録する。
図10には、本発明の実施例2としてのカメラ200における通常撮像シーケンスのフローチャートを示している。
まず、ステップ1000では、システムコントローラ223は、交換レンズ100が装着されていることを検出し、ステップ1010にて、該交換レンズ100のレンズID情報を取得する。
次に、ステップ1020では、システムコントローラ223は、第1レリーズスイッチ(SW1)231がオンされている(押されている)かどうかを検出する。オフであればステップ1000に戻る。オンであれば、ステップ1030へと進む。
ステップ1030では、システムコントローラ223は、位相差AFを行い、デフォーカス量及び合焦位置(以下、位相差合焦位置という)を算出する。
ステップ1040では、システムコントローラ223は、ライブビュー表示を開始する。ライブビュー表示は、シャッタ208を開放状態に保持し、撮像素子210を用いて取得されたリアルタイム映像を画像表示回路213に継続的に表示させる動作である。
ステップ1045では、光源に関する情報(第1の情報)の検出(光源検出動作)を開始する。具体的には、測光回路207に設けられた、主に可視光に対して感度を有する受光センサ207aからの出力と、主に赤外光に対して感度を有する受光センサ207bからの出力との比(輝度比)を求める。光源検出動作は、最終的にこの輝度比から、太陽、蛍光灯又はそれ以外の光源かを判別する動作である。
さらに、該光源検出動作の開始とともに、光源検出動作を完了するのに最低限必要な時間又はそれに若干の余裕を見込んだ時間としての光源検出時間(特定時間)のタイマカウントを開始する。
次に、ステップ1050では、システムコントローラ223は、コントラストAFによってフォーカスレンズ101bを移動させながら映像のコントラスト評価値がピークとなるフォーカスレンズ位置(以下、コントラスト合焦位置という)を求める。
ステップ1060では、コントラストAFによってコントラスト評価値がピークとなるフォーカスレンズ位置が求められなかった場合、つまりは異常が検出された場合は、ステップ1200に進み、そこまでの状態を示すデータを保存して終了する。異常が検出されなかった場合は、ステップ1070に進む。
ステップ1070では、システムコントローラ223は、ステップ1030で求めた位相差合焦位置と、ステップ1050で求めたコントラスト合焦位置との差を求める。そして、該差が所定値以上大きい場合は、図示はしないが、再度、位相差AFを行う等の処理を行う。
ステップ1080では、システムコントローラ223は、第2レリーズスイッチ(SW2)230がオンされている(押されている)かどうかを検出する。オフであればステップ1020に戻る。オンであれば、ステップ1090へと進む。
ステップ1090では、システムコントローラ223は、ライブビュー表示を終了する。
ステップ1095では、システムコントローラ223は、ステップ1045にて開始した光源検出動作が、タイマによりカウントされている光源検出時間内に完了したか否か(すなわち、光源の種類の判別が完了したか否か)を判定する。光源検出時間内に光源検出動作が完了した場合には、ステップ1100に進む。
ステップ1100では、光源検出結果に基づいて、光源の種類に応じたAF補正量(フォーカス制御に関する第2の情報)を演算(生成)する。ここにいう演算は、計算式を用いた計算でも、EEPROM222に記憶されたデータの読み出しであってもよい。また、演算されたAF補正量を、EEPROM222に記憶させる。
その後、ステップ1110では、ステップ1100で演算された今回の光源検出結果に対応したAF補正量(又は後述するステップ1130で読み出された前回以前に演算されたAF補正量)を、ステップ1030で算出されたデフォーカス量に加算する。これにより、光源の種類によって補正されたデフォーカス量が求められる。
システムコントローラ223は、この光源補正後デフォーカス量に基づいて、最終的なフォーカスレンズ101bの合焦位置(現在の位置からの駆動量)を求め、レンズ駆動機構103を介してその合焦位置にフォーカスレンズ101bを移動させる。
次に、ステップ1120では、撮像素子210による被写体像の撮像動作(画像の記録を含む)を行う。撮像動作の具体的な内容は、図9で説明したものと同じである。
撮像動作が完了すると、システムコントローラ223は、ステップ1121において、第2レリーズスイッチ(SW2)230のオンが継続されているかどうかを判別する。オフであれば本フローを終了する。一方、オンが継続されていれば、連続撮像を行うために、ステップ1030に戻る。
連続撮像における2回目以降の撮像前動作として、ステップ1030〜1090の処理を行い、さらにステップ1095に進んだ場合において、今回の撮像前の光源検出動作が光源検出時間内に完了しなかった場合には、ステップ1130に進む。
ステップ1130では、前回以前の撮像前に行われた光源検出動作の結果に応じたAF補正量(ただし、最新のAF補正量)を、EEPROM222から読み出す。前回以前には、前回とそれよりも前の回を含む。
これにより、今回の撮像前の光源検出動作が完了せず、光源の種類を判別できない場合でも、ステップ1110で、光源補正後デフォーカス量を得ることができる。したがって、光源補正後デフォーカス量に基づいて、フォーカスレンズ101bを合焦位置に移動させることができ、次のステップ1120で、光源によるピントずれの少ない良好な画像(連写2枚目以降の画像)を得ることができる。
以上説明した実施例によれば、今回の撮像前の光源検出動作が光源検出時間内に完了しない場合には、前回以前の撮像前に得られた光源検出結果に応じたAF補正量をEEPROM222から読み出して、今回の撮像前のフォーカス制御を行う。このため、前回の撮像前に光源検出結果が得られていれば、今回の撮影前にカメラがエラー状態となったり、今回の撮像前に光源検出動作の完了を長時間待ったりすることがなくなる。したがって、スムーズに撮像を繰り返すことが可能であるとともに、連続撮像を行う場合には、光源によるピントへの影響を少なくしつつ、連写速度を速くすることができる。
なお、図10では、光源の種類に応じたAF補正量をEEPROM222に記憶し、今回の撮像前に光源検出時間内で光源検出動作が完了しなかった場合は、前回以前の撮像前に得られたAF補正量をEEPROM222から読み出す場合について説明した。しかし、光源に関する情報をEEPROM222に記憶することとし、今回の撮像前に光源検出時間内で光源検出動作が完了しなかった場合に、前回以前の撮像前に得られた光源に関する情報をEEPROM222から読み出すようにしてもよい。この場合、読み出された前回以前の光源に関する情報を用いて、今回のAF補正量を求め、さらに光源補正後デフォーカス量を求めればよい。
また、図10では、今回の撮像前に光源検出時間内で光源検出動作が完了しなかった場合に前回以前のAF補正量又は光源検出結果を用いてフォーカス制御を行う場合について説明した。しかし、光源検出動作が光源検出時間内で完了しない場合に限らず、完了したが正常な検出結果が得られなかった場合も、同様に前回以前のAF補正量又は光源検出結果を用いてフォーカス制御を行うようにしてもよい。
さらに、連続撮像を行う場合において、被写体の動きが少ない(つまりはフォーカス制御を行わなくても合焦を維持できる)場合には、1回目の撮像前の光源検出結果を、2回目以降の撮像前のフォーカス制御に使用してもよい。これにより、毎回の撮像前に光源検出動作を行う場合に比べて、連写速度を速くすることができる。