以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
<第1の実施形態>
図2は、本発明の第1の実施形態にかかるAFセンサを備えたカメラ本体の概略構成を示すブロック図である。
カメラ用マイクロコンピュータ(CPU)100には、カメラの各種操作用のスイッチ群214を検知するための信号入力回路204、CMOSセンサやCCD等により構成される撮像センサ(撮像素子)206、AEセンサ207が接続されている。また、シャッタマグネット218a、218bを制御するためのシャッタ制御回路208、AFセンサ101も接続されている。また、後述する図3に示す撮影レンズ300とはレンズ通信回路205を介して信号215の伝送がなされ、焦点位置や絞りの制御を行う。カメラの動作は、スイッチ群214を撮影者が操作することで決定される。スイッチ群214には、レリーズボタンや、焦点検出領域を選択するためのダイヤルなどが含まれる。
AFセンサ101はラインセンサ対を備えており、CPU100によりAFセンサ101を制御することで、ラインセンサ対から互いに視差を有する対の画像信号を得ることができる。そして、得られた対の画像信号の位相差から焦点状態を検出し、撮影レンズ300の焦点位置を制御する(焦点検出動作)。
また、CPU100はAEセンサ207を制御することで被写体の輝度を検出し、撮影レンズ300の絞り値やシャッタスピードを決定する。そして、レンズ通信回路205を介して撮影レンズ300の絞り値を制御し、シャッタ制御回路208を介してマグネット218a、218bの通電時間を調節することでシャッタスピードを制御し、さらに撮像センサ206を制御することで撮影動作を行う。また、AEセンサ207から得られる被写体輝度情報や色情報を用いて被写体追尾演算も行う。
CPU100内には、カメラ動作を制御するためのプログラムを格納したROM、変数を記憶するためのRAM、種々のパラメータを記憶するためのEEPROM(電気的消去、書き込み可能メモリ)などの記憶回路209が内蔵されている。
次に、図3を参照して、カメラの光学系の構成について説明する。撮影レンズ300を介して入射した被写体からの光束の大部分はクイックリターンミラー305で上方に反射され、ファインダスクリーン303上に被写体像として結像される。撮影者はこの像をペンタプリズム301、接眼レンズ302を介して観察することができる。
また、ペンタプリズム301に入射した光束の一部は、光学フィルタ312と結像レンズ313を介してAEセンサ207上に結像される。この像を光電変換して得られる像信号を処理することで、被写体輝度を測定することができる。
また、被写体からの光束の一部はクイックリターンミラー305を透過し、後方のサブミラー306で下方へ曲げられて、視野マスク307、フィールドレンズ311、絞り308、二次結像レンズ309を経てAFセンサ101上に結像される。この像を光電変換して得られる像信号を処理することで、撮影レンズ300の焦点状態を検出することができる。また、撮影に際しては、クイックリターンミラー305及びサブミラー306が跳ね上がって光路から退避することで、入射した全光束は撮像センサ206上に結像され、被写体像の露光が行われる。
図3において、視野マスク307から二次結像レンズ309までの光学系及びAFセンサ101から構成される、本実施の形態の焦点検出装置による焦点検出方式は周知の位相差検出方式である。そして、画面内の異なる複数の領域の焦点状態を検出することが可能である。
焦点検出に関わる光学系の詳細な構成を図4に示す。撮影レンズ300(図4では便宜上、1枚のレンズにより表している)を通過した被写体からの光束は、図3を参照して説明したようにサブミラー306で反射され、撮像面と共役な面上にある視野マスク307の近傍に一旦結像する。図4では、サブミラー306で反射され、折り返された光路を展開して示している。視野マスク307は画面内の焦点検出領域以外への余分な光を遮光するための部材である。
フィールドレンズ311は、絞り308の各開口部を撮影レンズ300の射出瞳付近に結像する作用を有している。絞り308の後方には二次結像レンズ309が配置されており、一対2つのレンズから構成され、それぞれのレンズは絞り308の各開口部に対応している。視野マスク307、フィールドレンズ311、絞り308、二次結像レンズ309を通過した各光束は、AFセンサ101上のラインセンサに結像する。図4では、AFセンサ101上にラインセンサが一対のみ示されているが、後述するように複数対のラインセンサが配置されている。
次に、AFセンサ101上のラインセンサと撮影画面内の焦点検出領域との関係について、図5及び図6を参照しながら説明する。
図5は、AFセンサ101のラインセンサ対の配置を示す図である。ラインセンサ対102−1〜102−11は、それぞれ一対2本のラインセンサから構成され、ラインセンサ対から得られた対の信号の位相差により焦点状態を検出する。例えば、ラインセンサ対102−1は、ラインセンサ102−1Aとラインセンサ102−1Bとで構成される。各ラインセンサ対は二次結像レンズ309などの焦点検出光学系により被写体上のほぼ同じ領域(焦点検出領域)に投影され、これらのラインセンサ対から出力される2つの画像の位相差を検出することにより、焦点状態を検出することができる。
図6は、ファインダ内に表示される焦点検出領域の配置と、AFセンサ101上のラインセンサ対によるAF視野を示す図である。本第1の実施形態においては、計11点の焦点検出領域を有しており、焦点検出領域1〜11にラインセンサ対102−1〜102−11がそれぞれ対応している。
次に、AFセンサ101の詳細な回路構成を、図7のブロック図を参照して説明する。制御部103はCPU100と接続され、CPU100からの通信コマンドに基づき、AFセンサ101の各ブロックを制御する。また、各種制御のためのフラグ用レジスタ、設定用レジスタ、記憶回路、タイマーを複数有している(不図示)。さらにAFセンサ101の蓄積停止情報、蓄積時間情報などをCPU100へと送信する。
二次結像レンズ309により結像された被写体像は、ラインセンサ対102−1〜102−11から成るラインセンサ群102で光電変換され、電荷として蓄積される。蓄積された電荷は、増幅回路により電圧として出力される。ラインセンサ選択回路104は、ラインセンサ群102の複数のラインセンサ対のうち1つのラインセンサ対を選択する。そして、選択されたラインセンサ対の画素信号を、ラインセンサ対の信号の特徴量(ここでは最大値)をモニタする最大値検出回路105(特徴量検出手段)及び出力回路108へと出力する機能を有する。
最大値検出回路105は、ラインセンサ選択回路104により選択されたモニタ中のラインセンサ対の画素信号の中から最も大きな信号である最大値信号(Peak信号)を蓄積停止判定回路106へ出力する。Peak信号は、画素信号の特徴量を示す特徴量信号の1つである。
図8は、最大値検出回路105からの出力信号であるPeak信号の信号量、蓄積時間、蓄積停止判定の関係を示した図である。蓄積時間0が蓄積開始タイミングであり、時間が経過するほどPeak信号は増加していく。蓄積停止判定回路106は、Peak信号と蓄積停止レベルVrefとを比較判定する。蓄積停止レベルVrefは、モニタ中のラインセンサ対の画素信号レベルが、ラインセンサ対の光電変換部や不図示の増幅器、出力回路等の各部の入出力許容範囲を超えることの無いように設定されている。
ここでは、Peak信号の比較判定により蓄積停止判定を行っているが、ラインセンサ対の信号の最小値検出回路(不図示)と最大値検出回路105と減算回路(不図示)を用いて行っても良い。その場合、特徴量として被写体のコントラスト(差分信号)を検出するコントラスト検出回路(特徴量検出手段)を構成し、ここから得られるコントラスト信号を用いて蓄積停止判定を行ってもよい。この場合も蓄積停止判定回路106において、所定の蓄積停止レベルと比較判定する。蓄積停止レベルは、例えば、出力回路108で増幅された信号が、CPU100の入力許容範囲を超えることの無いように設定される。
Peak信号が蓄積停止レベルVrefよりも大きくなった時点で、蓄積停止判定回路106は制御部103へ蓄積停止判定信号を出力する。そして、制御部103は、ラインセンサ選択回路104により選択されたモニタ中のラインセンサ対の蓄積を停止するために、ラインセンサ群102へ蓄積停止信号を出力する。さらに、CPU100へ蓄積終了信号と蓄積終了したライン情報を出力する。また、Peak信号が所定の時間内(最大蓄積時間)に目標値に達しなかった場合は、強制的に蓄積を停止するために、CPU100が蓄積停止コマンドをAFセンサ101へ送信し、制御部103はラインセンサ群102へ蓄積停止信号を出力する。
以上のように構成されたカメラにおける撮像のための基本動作を、図9のフローチャートに基づいて説明する。S900では、各種設定値の初期化、及び撮影者の操作による各種設定が行われる。本第1の実施形態においては、AFモードが、撮影者のレリーズボタンの操作によりAF動作(焦点検出動作)を行い、合焦するとフォーカスロックするワンショットAFモードである場合について説明する。また、焦点検出領域は、焦点検出領域1〜11のうち撮影者が任意の領域(主被写体領域)を選択し、選択した領域の焦点状態からAFを行う一点選択AFモードであるものとし、ここでは、焦点検出領域5を選択している場合について説明する。
S901では、レリーズボタンが第1のストロークまで押し込まれると(例えば、半押し)オンするスイッチSW1の状態をチェックし、スイッチSW1のオン/オフ判定をする。スイッチSW1がオンするまで、S901の処理を繰り返す。スイッチSW1がオンするとS902へと進み、AF動作を行う。AF動作とは、AFセンサ101の信号蓄積制御、焦点検出演算、レンズ駆動を指すが、詳細は後述する。
S903では、AE動作を行う。AE動作とは、AEセンサ207の信号蓄積制御、AE演算である。AEセンサ207から得られる信号から、画面内の複数の領域ごとに輝度を検出する。さらに、S902のAF動作から得た焦点状態分布情報(後述)に基づき、被写体の大きさに対応した領域の輝度値に高く重みをつけることで、被写体に適した露出値を演算する。
次にS904では、レリーズボタンが第2のストロークまで押し込まれると(例えば、全押し)オンするスイッチSW2の状態をチェックし、スイッチSW2のオン/オフ判定をする。スイッチSW2がオンしていると、S905へと進み撮像動作を行う。撮像動作には、クイックリターンミラー305の制御(ミラーアップ、ミラーダウン)、シャッタと撮像センサ206を制御することによる撮像センサ206の露光動作、撮影レンズ300の絞り制御が含まれる。S903のAE動作により演算した露出値に応じて、絞り値とシャッタースピードを決定する。
一方、スイッチSW2がオフの場合、S906へと進み、スイッチSW1の状態をチェックする。S906でスイッチSW1がオンの場合はS904へと戻り、スイッチSW2の状態をチェックする。S906でスイッチSW1がオフの場合は、動作を終了する。
図10にS902で行われるAF動作のサブルーチンを示す。S1000では、AF動作のための各種設定を行う。例えば、CPU100がレンズ通信回路205を介して撮影レンズ300と通信し、撮影レンズ300の焦点距離情報などを得る。また、撮影者の操作に応じて、AFセンサ101の最大蓄積時間の設定などもしている。
S1001では、AFセンサ101の駆動のために、ラインセンサ対それぞれの優先度の決定をする。ここでは、優先度は3段階あるものとする。前述のように焦点検出領域5が選択領域であるため、ラインセンサ対102−5の優先度を最も高くする(優先度1)。そして、焦点検出領域5に隣接している焦点検出領域1、焦点検出領域4、焦点検出領域6、焦点検出領域10にそれぞれ対応するラインセンサ対102−1、102−4、102−6、102−10は2番目の優先度(優先度2)とする。その他のラインセンサ対は最も優先度を低くする(優先度3)。このように、焦点検出領域5から近い領域ほど優先度を高く設定する。
なお、その他の選択領域についても、選択された焦点検出領域に応じて、図11に示すように優先度1、優先度2、優先度3に設定される焦点検出領域が予め決まっている。
S1002では、S1001で決定された優先度に基づいてAFセンサ101を駆動し、焦点検出演算のための信号を得るための電荷蓄積を行う。なお、AFセンサ101の駆動の詳細は後述する。
S1003において、CPU100は、AFセンサ101で蓄積された電荷から得られる信号を読み出し、S1004において、得られた信号を用いて、撮影レンズ300の焦点状態を検出するための焦点検出演算を行う。S1005では、焦点検出領域を選択する。本第1の実施形態においては、一点選択AFモードであるため、撮影者が選択した焦点検出領域(主被写体領域)に対応するラインセンサ対から得られる信号に基づいてレンズが駆動される。ここでは、焦点検出領域5が選択されているため、焦点検出領域5の焦点検出演算結果に基づいてレンズが駆動される(S1006)。
S1007では、被写体空間の焦点状態分布情報を作成する。ここでは、すべての焦点検出領域1〜11について、それぞれ得られる信号から焦点検出演算が行い、この演算結果をもとに、被写体空間の焦点状態分布情報を作成する。ここで作成された被写体空間の焦点状態分布情報は、例えば、上述したS903で行われるAE動作に用いられる。その場合、まず、S1005で選択された焦点検出領域の焦点状態に近い焦点検出領域を抽出し、主被写体の大きさを推定する。そして、これらの情報に基づきAE動作を行う。選択領域以外の焦点状態情報は、主被写体と背景の切り分けに使用される。従って、選択領域以外の焦点精度は、選択された焦点検出領域の焦点検出精度に比べ、多少精度が劣っていてもよいため、選択領域以外の信号は飽和していても問題はない。
図12は、S1002におけるAFセンサ101の駆動のサブルーチンを示すフローチャートである。S1200〜S1204は、AFセンサ101の初期設定動作及び回路のリセット動作から蓄積開始までの動作である。S1200では、CPU100からのコマンドに基づき、AFセンサ101における各種の設定を行う。
S1201では、S1001で決定した優先度を基に、各ラインセンサ対の優先度を設定する。ラインセンサ対の優先度は、ラインセンサ対102−nにそれぞれ対応する優先度識別レジスタpriority[n](n=1〜11)を、CPU100が通信によって設定することで決定される。priority[n]=1と設定すると優先度が最も高く(優先度1)、priority[n]=2と設定すると優先度が中間であり(優先度2)、priority[n]=3と設定すると優先度が最も低い(優先度3)ものとする。
図10のS1001において決定された各ラインセンサ対の優先度に応じて、レジスタpriority[n]を設定する。前述のように焦点検出領域5が選択領域であるため、この場合、ラインセンサ対102−5の優先度が最も高く、priority[5]=1に設定される。同様に、図11を参照して上述したように、レジスタpriority[1,4,6,10]=2と設定し、レジスタpriority[2,3,7,8,9,11]=3と設定する。
S1202では、ラインセンサ対102−1〜102−11の光電変換部の電荷を同時にリセットし、電荷蓄積を開始する。S1203では、S1201で設定された優先度情報(priority[n])から、優先度の最も高いラインセンサ対をモニタ開始ラインセンサ対として設定する。ここでは、n=5としてラインセンサ対102−5をモニタ開始ラインセンサ対に設定する。S1204では、制御部103に内蔵されたタイマーtimerをリセットしてからカウントを開始し、電荷蓄積開始からの経過時間(電荷蓄積時間)の計測を開始する。
S1205〜S1209は、選択したラインセンサ対を所定周期でモニタする巡回モニタ動作である。S1205では、ラインセンサ選択回路104により、ラインセンサ対102−n(n=1〜11)が選択され、ラインセンサ対102−nの信号が最大値検出回路105へ出力される。
S1206では、制御部103に内蔵されたタイマーtimer_monitorをリセットしてからカウントを開始し、モニタ期間の経過時間の計測を開始する。S1207では、蓄積停止判定回路106において、最大値検出回路105から出力されたラインセンサ対102−nのPeak信号と蓄積停止レベルVREFを比較し、蓄積停止判定をする。Peak信号が蓄積停止レベルVREF以上の場合はS1210へと進み、Peak信号が蓄積停止レベルVREFより小さい場合はS1208へと進む。
S1208では、タイマーtimer_monitorの値と、1つのラインセンサ対のモニタ周期時間period_monitorを比較判定する。タイマーtimer_monitorがモニタ周期時間period_monitorに達するまで、S1207の蓄積停止判定を繰り返す。
蓄積停止判定がないままモニタ周期時間period_monitorに達した場合はS1209へと進み、次のモニタ対象ラインセンサ対を決定する次ラインセンサ対サーチへ移行する。なお、次ラインセンサ対サーチ処理については、詳細に後述する。
一方、モニタ期間中にS1207で蓄積停止判定がされた場合はS1210へ進み、蓄積停止処理をする。S1210ではラインセンサ対102−nの蓄積の停止と画素信号の保持を行い、電荷蓄積時間としてタイマーtimerの値を制御部103に内蔵された記憶部に記憶する。
S1211では、全ラインセンサ対の蓄積が終了しているか否かの判定を行う。全ラインセンサ対の蓄積が終了していた場合、AFセンサ動作を終了する。一方、蓄積が終了していないラインセンサ対が残っている場合はS1209へと進み、次ラインセンサ対サーチを行う。
なお、図には明示していないが、CPU100から、強制蓄積停止コマンドが送信された場合、S1207ではS1210へ強制的に移行し停止処理を行う。
また、強制蓄積停止コマンドが送信された場合の次ラインセンサ対サーチでは、電荷蓄積時間と優先度に関わりなく、すべてのラインセンサ対を順次選択していき、すべてのラインセンサ対の停止処理を行う。
S1205〜S1211を繰り返し、全ラインセンサ対の蓄積停止処理が終了するとAFセンサ動作を終了する。
次に、S1209の次ラインセンサ対サーチについて、図1及び図13を用いて詳細に説明する。次ラインセンサ対サーチでは、電荷蓄積時間(timer)と優先度情報(priority[n])に基づき、次のモニタ対象ラインセンサ対を決定する。ここでは、まず、電荷蓄積時間が閾値time_1を経過するまでは、優先度1のラインセンサ対のみをモニタするように次のモニタ対象ラインセンサ対を決定する。次に電荷蓄積時間が閾値time_2を経過するまでは、優先度1及び優先度2のラインセンサ対をモニタするように次のモニタ対象ラインセンサ対を決定する。電荷蓄積時間が閾値time_2を経過した後は、全てのラインセンサ対をモニタするように次のモニタ対象ラインセンサ対を決定する。以下、モニタの具体的な順番を説明する。
図1において、全ラインセンサ対をリセットしたのち、優先度1に設定されたラインセンサ対102−5をモニタ開始ラインセンサ対として、Peak信号をモニタする。電荷蓄積を開始してから時刻time_1までは、S1205〜S1209を繰り返しながら、優先度が1であるラインセンサ対102−5のみをモニタし続ける。
電荷蓄積時間が時刻time_1を経過すると、ラインセンサ対102−5に加えて、優先度2に設定されているラインセンサ対102−1、102−4、102−6、102−10を順次選択しながら、モニタ動作をする。さらに、電荷蓄積時間が時刻time_2を経過すると、優先度3に設定されているラインセンサ対を含めた全てのラインセンサ対を順次選択しながらモニタ動作をする。
次に、時刻time_1までに、優先度1に設定されたラインセンサ対102−5が電荷蓄積停止する場合について、図13を用いて説明する。図13において、ラインセンサ対102−5のPeak信号の実線部分は、ラインセンサ対102−5を選択してモニタしている期間であり、破線部分は、ラインセンサ対102−5以外を選択してモニタしている期間である。
図1と同様に、全ラインセンサ対をリセットしたのち、優先度1に設定されたラインセンサ対102−5を選択し、Peak信号をモニタする。period_monitor周期で、S1205〜S1209を繰り返しながら、ラインセンサ対102−5のみをモニタし続ける。
図13の例では、3周期目のラインセンサ対102−5のモニタ動作中に、ラインセンサ対102−5のPeak信号が、蓄積停止レベルVrefに達したため、電荷蓄積停止処理をする(S1210)。この時点で、優先度1に設定されているラインセンサ対の蓄積はすべて終了したため、電荷蓄積時間が時刻time_1を経過していないにも関わらず、初期設定において優先度2に設定されたラインセンサ対のモニタ動作が開始される。優先度2に設定されているラインセンサ対102−1、102−4、102−6、102−10を順次選択しながら、モニタ動作をする。さらに、電荷蓄積時間が時刻time_2を経過すると、優先度3に設定されているラインセンサ対を含めた全てのラインセンサ対を順次選択しながらモニタ動作をする。
なお、それぞれのラインセンサ対のモニタ動作中に蓄積停止レベルVrefを越えた場合には、そのラインセンサ対をモニタ対象から外して、残りのラインセンサ対をモニタする。
本第1の実施形態では、ラインセンサ対102−5のみを優先度1に設定したが、複数のラインセンサ対を優先度1に設定してもよい。例えば、一つの焦点検出領域に対し、複数のラインセンサ対を配置した場合は、複数のラインセンサ対を優先度1にする。また、本第1の実施形態では、優先度を1〜3としているがこの限りではない。
ここで、本発明によるAFセンサ101の動作との違いを比較するために、図22を参照して従来技術によりAFセンサ101を駆動した場合の動作の例を説明する。図22において、ラインセンサ対102−5のPeak信号の実線部分は、ラインセンサ対102−5を選択してモニタしている期間であり、破線部分は、ラインセンサ対102−5以外を選択してモニタしている期間である。全ラインセンサ対をリセットしたのち、ラインセンサ対102−1〜102−11を順番にモニタしている。
ラインセンサ対102−5に対応している領域の被写体輝度が図13と同じであるとすると、図22から分かるように、ラインセンサ対102−5をモニタする前に、信号が飽和レベルに達してしまう。この信号を用いると、焦点検出演算精度は悪化する。また、ラインセンサ対102−5のみを蓄積し、ラインセンサ対102−5のみをモニタするように駆動することもできるが、この場合、被写体空間の焦点状態分布を取得することができない。
上記の通り本第1の実施形態によれば、撮影者が選択した焦点検出領域を主被写体領域とし、対応するラインセンサ対の優先度を高く設定し、モニタ頻度が高くなるように制御する。これにより、焦点検出動作において、選択された焦点検出領域に対応するラインセンサ対を飽和させることなく、同時にその他のラインセンサ対の電荷蓄積を並列に行いながら、画素信号を蓄積することができる。この結果、主被写体の輝度が超高輝度であったとしても、精度の高い焦点状態の検出をすることができる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。なお、カメラの構成については、図2〜図7を参照して第1の実施形態で説明したものと同様であるため、ここでは説明を省略する。
図14は、第2の実施形態における、カメラにおける撮像のための基本動作を示すフローチャートである。本第2の実施形態では、AFモードが、撮影者のレリーズボタンの操作に応じてAF動作(焦点検出動作)を行い、SW1がオンしている間は、合焦してもフォーカスロックせず、AF動作をし続ける連続AFモードである場合について説明する。また、11個の焦点検出領域のうち、被写体情報に基づいていずれか1個を自動で選択する焦点検出領域自動選択モードとする。また、撮影モードは連続撮影モードであるものとする。
S1400では、各種設定値の初期化、及び撮影者の操作による各種設定が行われる。S1401では、レリーズボタンが第1のストロークまで押し込まれるとオンするスイッチSW1の状態をチェックし、スイッチSW1のオン/オフ判定をする。スイッチSW1がオンするまで、S1401の処理を繰り返す。スイッチSW1がオンするとS1402へと進み、AF動作を行う。なお、AF動作の詳細は後述する。S1403ではAE動作を行う。
次にS1404では、レリーズボタンが第2のストロークまで押し込まれるとオンするスイッチSW2の状態をチェックし、スイッチSW2のオン/オフ判定をする。スイッチSW2がオフの場合は、S1405へと進み、スイッチSW1の状態をチェックする。S1405でSW1がオンの場合、S1402へと戻り、AF動作を繰り返す。従って、スイッチSW1がオンのままであり、スイッチSW2が押されるまでは、カメラはAF動作を繰り返し、被写体の焦点状態に合わせてレンズを動かし続ける。一方、S1405でSW1がオフの場合は動作を終了する。
S1404でスイッチSW2がオンされると、S1406へと進み撮像動作を行う。撮像動作が終了するとS1405へと進み、再びスイッチSW1の状態をチェックする。
スイッチSW1とスイッチSW2がオンのままであれば、AF動作(S1402)、AE動作(S1403)、撮像動作(S1406)を繰り返し、AF動作とAE動作をしながら連続撮影をする。
図15にS1402で行われるAF動作のサブルーチンを示す。S1500では、AF動作のための各種設定を行う。S1501では、主被写体位置情報があるか否かを判定する。主被写体位置情報があると判定された場合はS1502へと進み、この情報に基づきラインセンサ対の優先度を設定する。主被写体位置は、後述する前回のAF動作における焦点検出領域選択(S1507)で選択された焦点検出領域(主被写体領域)である。当該焦点検出領域を優先度1とし、そこから近い順に優先度を高く設定する。なお、優先度設定は、例えば図11に従う。
一方、主被写体位置情報が無いと判定された場合はS1503へと進み、全てのラインセンサ対に同一の優先度を設定する。ここでは優先度1を設定する(priority[n]=1、n=1〜11)。例えば、図14における1回目のAF動作においては主被写体位置情報がないため、S1503へと進むことになる。
S1504では、S1502またはS1503で決定された優先度に基づいてAFセンサ101を駆動し、焦点検出演算のための信号を得るための電荷蓄積をする。なお、ここでのAFセンサの駆動は図12と同様であるため、説明を省略する。S1505では、CPU100が、AFセンサ101で蓄積した電荷から得られる信号を読み出し、S1506において、得られた信号を用いて、撮影レンズ300の焦点状態を検出するための焦点検出演算を行う。
本第2の実施形態においては、焦点検出領域を自動的に選択するモードであるため、S1507では、焦点検出領域1〜11から1つの焦点検出領域(主被写体領域)を選択する。例えば、ラインセンサ対の画素信号から算出される焦点検出演算結果の信頼性、及びS1506で算出される焦点検出演算結果等に基づいて選択する。例えば、信頼性が高く、撮影者から近い被写体を優先して焦点検出領域の選択をする。そして、S1508では、選択された焦点検出領域の焦点状態に基づいて、レンズが駆動される。S1509では、被写体空間の焦点状態分布情報を作成する。
次に、S1501で主被写体位置情報が無いと判定され、S1503で全てのラインセンサ対の優先度を1と設定したときの、AFセンサ駆動における次ラインセンサ対サーチ及びモニタの順番について、図16を用いて説明する。
図16において、全ラインセンサをリセットしたのち、ラインセンサ対102−1をモニタ開始ラインセンサ番号として、Peak信号をモニタする。その後、ラインセンサ対102−1〜102−11のモニタ動作を繰り返す。この様に、全てのラインセンサ対の優先度を1と設定した場合、結果として図22に示された従来技術におけるAFセンサ101のモニタ順番と同様の動作になる。
次に、S1501で主被写体位置情報があると判定された場合の動作を詳細に説明する。例えば、焦点検出領域5が直前のAF動作において選択されており、主被写体位置(主被写体領域)が焦点検出領域5であったとする。このとき、対応するラインセンサ対102−5の優先度が最も高く、priority[5]=1(優先度1)と設定する。その他のラインセンサ対の優先度は、図11に従って設定する。焦点検出領域1、焦点検出領域4、焦点検出領域6、焦点検出領域10にそれぞれ対応するラインセンサ対102−1、102−4、102−6、102−10には優先度2が設定される(priority[1、4,6,10]=2)。その他のラインセンサ対には優先度3が設定される(priority[2、3,7,8,9,11]=3)。
以上のように設定された優先度に基づき、AFセンサ駆動が行われる。このときのAFセンサの駆動は、図1及び図13を参照して説明したものと同様の動作となる。
上記の通り本第2の実施形態によれば、複数回の焦点検出動作を連続して行う場合、直前の焦点検出動作における焦点検出結果から主被写体位置を決定する。さらに主被写体位置に基づきラインセンサ対の優先度を設定する。これにより、複数の焦点検出領域のいずれかを自動で選択する焦点検出領域自動選択モードにおいても、第1の実施形態と同様の効果を得ることができ、精度の高い焦点状態の検出をすることができる。
<第3の実施形態>
以下に、本発明の第3の実施形態について説明する。なお、カメラの構成については、図2〜図7を参照して第1の実施形態で説明したものと同様であるため、ここでは説明を省略する。本第3の実施形態におけるカメラの基本動作は、図14を参照して第2の実施形態で説明した動作と同様であるものとし、撮影モードは連続撮影モード、AFモードは連続AFモード、焦点検出領域設定は自動選択モードとする。
次に、本第3の実施形態においてS1402で行われるAF動作を、図17のフローチャートを参照して説明する。S1700では、AF動作のための各種設定を行う。S1701では、輝度情報があるか否かを判定する。輝度情報があると判定された場合はS1702へと進み、この情報に基づきラインセンサ対の優先度を設定する。優先度の設定の仕方については後述する。輝度情報は、後述する前回のAF動作におけるS1706の輝度情報算出で算出されたものである。
一方、輝度情報が無いと判定された場合はS1703へと進み、全てのラインセンサ対に同一の優先度を設定する。ここでは優先度1を設定する(priority[n]=1、n=1〜11)。例えば、図14における1回目のAF動作においては主被写体位置情報がないため、S1503へと進むことになる。
S1704では、S1702またはS1703で決定された優先度に基づいてAFセンサ101を駆動し、焦点検出演算のための信号を得るための電荷蓄積をする。なお、ここでのAFセンサの駆動はAFセンサ駆動は図12と同様である。S1705では、CPU100が、AFセンサ101で蓄積した電荷から得られる信号を読み出し、S1706において、得られた信号及び蓄積情報(電荷蓄積時間)に基づき、各焦点検出領域の輝度情報を算出する。同時に、ラインセンサ対の画素信号が飽和しているか否かを判定する。例えば、CPU100のAD変換回路が10bitであるとすると、ラインセンサ対の画素信号は0〜1023に量子化される。値が1023である画素信号は飽和していると判定し、この信号を出力した画素を含むラインセンサ対は飽和しているものと判定する。
S1707では、得られた信号を用いて、撮影レンズ300の焦点状態を検出するための焦点検出演算を行う。S1708では、焦点検出領域1〜11から1つの焦点検出領域を選択する。例えば、ラインセンサ対の画素信号から算出される信頼性、及びS1707で算出される焦点検出演算結果に基づいて選択する。例えば、信頼性が高く、撮影者から近い被写体を優先して焦点検出領域の選択をする。また、飽和しているラインセンサ対に対応する焦点検出領域は、選択する優先度を下げる。そして、S1709では、選択された焦点検出領域の焦点状態に基づいて、レンズが駆動される。S1710では、被写体空間の焦点状態分布情報を作成する。
次に、S1701で輝度情報があると判定された場合の、S1702における輝度情報に基づいた優先度の設定の仕方について詳細に説明する。S1702では、前回のAF動作における輝度情報算出結果(S1706)に基づき、ラインセンサ対の優先度を設定する。ここでは、対応する焦点検出領域の輝度が高いほどラインセンサ対の優先度が高く設定される。
例えば、2種類の輝度判定閾値(L1,L2)を設定し、この閾値とラインセンサ対から得られた信号から算出された輝度を比較判定する。L1より輝度が高い場合は優先度1とし、L1とL2の間の輝度であれば優先度2とし、L2より小さければ優先度3とする。また、飽和していると判定されたラインセンサ対がある場合は、当該ラインセンサ対の優先順位が最も高く設定される。
S1701で輝度情報が無いと判定され、S1503で全てのラインセンサ対の優先度を1と設定したときの、AFセンサ駆動は図16と同様の動作になる。
また、S1701で輝度情報があると判定され、焦点検出領域5が直前のAF動作において飽和判定されていたとする。さらに、焦点検出領域5に隣接している焦点検出領域1、焦点検出領域4、焦点検出領域6、焦点検出領域10が、輝度判定しきい値L1とL2の間の輝度であり、その他のラインセンサ対がL2より低い輝度であると判定されたものとする。
このとき、ラインセンサ対102−5の優先度が最も高く、priority[5]=1(優先度1)となる。また、焦点検出領域1、焦点検出領域4、焦点検出領域6、焦点検出領域10にそれぞれ対応するラインセンサ対102−1、102−4、102−6、102−10には優先度2が設定される(priority[n]=2、n=1,4,6,10)。その他のラインセンサは優先度3が設定される(priority[n]=3、n=2,3,7,8,9,11)。
以上のように設定された優先度に基づき、AFセンサ駆動が行われる。このときのAFセンサの駆動は、図1及び図13で説明したものと同様の動作となる。輝度が高い領域に対応するラインセンサ対の優先度を高くしているため、図13のように、該当ラインセンサ対のみをモニタするように制御される。この結果、当該ラインセンサ対の画素信号が飽和することなく蓄積制御することができる。
上記の通り本第3の実施形態によれば、複数回の焦点検出動作を連続して行う場合、直前の焦点検出動作における複数の焦点検出領域の輝度情報からラインセンサ対の優先度を設定する。これにより、複数の焦点検出領域のいずれかを自動で選択する焦点検出領域自動選択モードにおいて、2回目以降の焦点検出動作においては、高輝度の被写体が位置する焦点領域に対応するラインセンサ対の画素信号を、飽和させることなく蓄積制御できる。この結果、精度の高い焦点状態の検出をすることができる。
なお、飽和、または高輝度と判定されたラインセンサ対から近い順に(図11に従って)、高い優先度を設定してもよい。このことにより、直前のAF動作時点から高輝度被写体が移動したとしても、ラインセンサ対において信号が飽和してしまう可能性を減らすことできる。
また、複数回の焦点検出動作から得られる複数の輝度情報がある場合は、S1702において、高輝度被写体の移動方向を予測して優先度を設定してもよい。図18は、自動車のヘッドライトを高輝度光源とした場合の例である。自動車は左方向に移動しており、図18(a)が1回目のAF動作でのファインダ像であり、図18(b)が2回目のAF動作でのファインダ像である。
図18(a)の時点でのAF動作において、焦点検出領域5に高輝度被写体があることが判定される。次のAF動作では、焦点検出領域1に高輝度被写体があることが判定される。この結果、高輝度被写体が右から左に移動していることが認識できる。従って、この後に行われる3回目のAF動作では、移動方向に対応する焦点検出領域8の優先度を高く設定する。この例では、直前2回のAF動作における輝度情報を用いているが、これ以上の回数の輝度情報履歴を用いてもよい。
本第3の実施形態では、輝度情報を直前の焦点検出動作における複数の焦点検出領域の輝度情報から取得しているが、S1403で得られるAEセンサ207の信号から算出される輝度情報を用いてもよい。さらに、AEセンサ207を用いて被写体追尾処理を行っている場合は、前述のような高輝度被写体位置の移動方向予測と組み合わせて優先度を設定することができる。
以上のことに加え、第2の実施形態に示されたような主被写体位置と、本第3の実施形態に示された被写体空間の輝度情報を総合して優先度を決定してもよい。
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。なお、基本的なカメラの構成については、図2〜図7を参照して第1の実施形態で説明したものと同様であるため、ここでは説明を省略する。上述した第1〜第3の実施形態における焦点検出装置では、AFセンサ101の画素リセット動作において、ラインセンサ対102−1〜102−11を同時にリセットしている。これに対し、本第4の実施形態では、ラインセンサ対102−1〜102−11を1個ずつ巡回リセットするように構成された焦点検出装置について説明する。
巡回リセットは、ラインセンサ対を一つずつ選択しながら順次リセットしていくため、電荷の充放電によって発生する電流は小さくなる。この効果として、ノイズを低減することができ、焦点検出演算の精度が悪化することを防ぐことが挙げられる。また、リセット回路を全てのラインセンサ対で共有することにより、回路面積の削減を図ることもできる。
本第4の実施形態におけるカメラの基本動作は、図14を参照して第2の実施形態で説明した動作と同様であるものとし、撮影モードは連続撮影モード、AFモードは連続AFモード、焦点検出領域設定は自動選択モードとする。また、AF動作は図17を参照して第3の実施形態で説明した動作と同様である。
本第4の実施形態におけるAFセンサ101の駆動処理を図19に示す。上述した図12に示す処理とは、S1902に示す処理が異なるが、それ以外の処理は図12と同様であるので、同じ参照番号を付し、説明を省略する。
S1902では、制御部103とラインセンサ選択回路104により、ラインセンサ対を1対ずつ選択しながら、順次リセットしていく巡回リセット動作を行う。リセットする順番は、優先度の低いラインセンサ対から順番にリセットしていき、優先度の最も高いラインセンサ対を最後にリセットするように制御される。この順番はS1201において、優先度が設定される際に設定される。ここでは、第3の実施形態のように、直前のAF動作によって得られた輝度情報に基づき、優先度が設定されているものとする。
ここまでに述べた動作について、図20を用いて説明する。ここでは、直前のAF動作に基づき、下記の様に優先度設定がされているものとする。
優先度1:ラインセンサ対102−5
優先度2:ラインセンサ対102−1、102−4、102−6、102−10
優先度3:上記以外のラインセンサ対
図20において、ラインセンサ対102−5のPeak信号の実線部分は、ラインセンサ対102−5を選択してモニタしている期間であり、破線部分は、ラインセンサ対102−5以外を選択してモニタしている期間である。
初めに、優先度3に設定されたラインセンサ対から順次1個ずつリセットしていく。次に、優先度2に設定されたラインセンサ対を順次リセットする。最後に、優先度1に設定されたラインセンサ対102−5をリセットする。その後、優先度1に設定されたラインセンサ対102−5を選択し、Peak信号をモニタする。以降の動作の説明は省略する。上記のように制御することで、優先度の高いラインセンサほど、蓄積開始から1回目のモニタまでの期間(非モニタ期間)を短くすることができる。
図21に巡回リセットの順番に優先度をつけない場合のAFセンサの動作を示す。図21において、ラインセンサ対102−5のPeak信号の実線部分は、ラインセンサ対102−5を選択してモニタしている期間であり、破線部分は、ラインセンサ対102−5以外を選択してモニタしている期間である。ラインセンサ対102−1〜102−11を順番にリセットしたのち、優先度の高いラインセンサ対102−5からモニタしている。
ラインセンサ対102−5に対応している領域の被写体輝度が図20と同じであるとすると、ラインセンサ対102−6〜102−11をリセットしている間に、ラインセンサ対102−5の信号が飽和レベルに達してしまう。この信号を用いると、焦点検出演算精度は悪化する。
上記の通り本第4の実施形態によれば、複数のラインセンサ対を一つ選択しながら順番にリセットしていくAFセンサにおいて、優先度に応じてリセットする順番決定する。これにより、優先度の高いラインセンサ対の、リセットからモニタまでの時間を短くすることができる。この結果、優先度の高いラインセンサ対の画素信号を飽和させることなく蓄積制御でき、精度の高い焦点状態の検出をすることができる。また、このような構成にすることにより、電荷の充放電によって発生する電流は小さくなるため、ノイズを低減することができ、焦点検出演算の精度が悪化することを防ぐことができる。また、リセット回路を全てのラインセンサ対で共有することにより、回路面積の削減を図ることもできる。
なお、上記実施形態では、ラインセンサ対が11個ある場合について説明したが、ラインセンサ対の数は、これに限られるものではない。
また、上記実施形態では、2つのラインセンサを用いて位相差のある1対の信号を出力する構成を示したが、本発明はこれに限られるものではない。例えば、1つの長いラインセンサに、異なる射出瞳を通過した2つの像を結像させるように構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。