(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
[第1実施形態]
以下、図面等を参照して、本発明の実施形態について説明する。
図1は、本発明に係る焦点検出装置の一実施形態を適用したカメラ1の概念構成図である。
図2は、撮像画面18を示す図であって、(a)は撮像画面18内におけるAFエリア18Aの配置を示す図,(b)はセンサユニット40の配置を示す図である。
なお、
図1には、説明と理解を容易にするために、XYZ直交座標系を設けた。この座標系では、撮影者が光軸OAを水平として横長の画像を撮影する場合のカメラの位置(以下、正位置という)において撮影者から見て左側に向かう方向をX軸プラス方向、正位置において上側に向かう方向をY軸プラス方向、正位置において被写体に向かう方向をZ軸プラス方向とする。また、軸方向の被写体に向かうZ軸プラス方向を前面側、Z軸マイナス方向を背面側ともいう。
【0011】
本実施形態のカメラ1は、カメラ本体10と、当該カメラ本体10に着脱可能な撮像レンズ20と、によって構成された、いわゆるデジタル一眼レフカメラである。
撮像レンズ20は、鏡筒21の内部に、結像光学系を構成する複数のレンズ群L1,L2,L3と、レンズ駆動用モータ22と、を備えている。レンズ群L2は、光軸OA方向に移動して結像位置を調節可能な焦点調節レンズであって、レンズ駆動用モータ22によって焦点調節移動駆動されるようになっている。レンズ駆動用モータ22は、後述するカメラ本体10が備える制御装置30によって制御される。
【0012】
カメラ本体10は、撮像素子11と、クイックリターンミラー12Aと、サブミラー12Bと、ファインダー光学系13と、位相差AF検出素子14と、測光部15と、操作部材16と、制御装置30と、を備えている。
撮像素子11は、被写体光を電気信号に変換するCCDやCMOS等の光電変換素子であって、赤(R)、緑(G)及び青(B)の各画素が所定の配列パターンで配列されている。撮像素子11は、撮像レンズ20の結像光学系による結像面の画像情報を電気信号に変換して撮像し、各画素に対応する色情報や輝度情報に応じた画像信号を制御装置30に出力する。
【0013】
クイックリターンミラー12Aは、撮像レンズ20の結像光学系から撮像素子11に至る光路中に介在する作用位置と、光路中に介在しない退避位置との間を移動可能に設けられている。クイックリターンミラー12Aは、作用位置において、入射光束をファインダー光学系13(ファインダースクリーン13A)へと反射する。また、クイックリターンミラー12Aの一部には、入射光束の一部を透過する半透過領域が形成されている。
サブミラー12Bは、クイックリターンミラー12Aの背面側に設けられている。サブミラー12Bは、クイックリターンミラー12Aの半透過領域を透過した入射光束を位相差AF検出素子14に向けて反射させる。
【0014】
ファインダー光学系13は、ファインダースクリーン13Aと、ペンタプリズム13Bと、接眼レンズ13Cと、により構成されている。
ファインダースクリーン13Aは、撮像素子11と光学的に等価な位置に設けられており、クイックリターンミラー12Aによって導かれた入射光束が結像する。ペンタプリズム13B及び接眼レンズ13Cは、このファインダースクリーン13A上に結像した被写体像を、正立像として撮影者が視認し得るようになっている。
【0015】
位相差AF検出素子14は、
図2に示すように撮像領域(撮像画面18)の所定位置に設定された複数のAFエリア18Aに対応してそれぞれ配置されたセンサユニット40とを備えている。
センサユニット40は、ラインセンサ41と、ラインセンサ41に隣接して設けられたモニタセンサ42と、により構成されている。
【0016】
ラインセンサ41は、一対の電荷蓄積型光電変換素子アレイ(CCDラインセンサ等)である。ラインセンサ41には、撮像レンズ20を通過して2つに分けられた一対の被写体像が結像される。そして、ラインセンサ41は、一対の被写体像に対して設定された時間、電荷の蓄積を行って、一対の被写体像の輝度分布に対応したAF用像検知信号を後述する制御装置30に出力する。このラインセンサ41の電荷蓄積時間は、後述する制御装置30におけるAF−CCD制御部31によって制御される。
【0017】
モニタセンサ42は、光電変換素子によって構成され、
図2(b)に示すように、ラインセンサ41に隣接して配置されている。モニタセンサ42には、ラインセンサ41に結像している被写体像とほぼ同等の被写体像が結像するようになっており、被写体像の光強度に応じた電流を被写体輝度情報として後述する制御装置30に出力する。すなわち、モニタセンサ42はセンサユニット40の画面上の配設位置における被写体像の明るさを検知しており、その被写体輝度情報は後述する制御装置30のAF−CCD制御部31によるハードウエアAGCに用いられる。
【0018】
なお、本実施形態では、
図2(a)に示すように、AFエリア18Aは画面中央を中心として縦横に7箇所と、周囲の4象限にそれぞれ1箇所の計11箇所設定されており、
図2(b)に示すように、センサユニット40はこれらAFエリア18Aとそれぞれ対応する位置に配設されている。画面中央のAFエリア18Aと対応するセンサユニット40のみ、縦横クロスに配設された2組のラインセンサ41を備えている。
【0019】
測光部15は、測光用レンズ15Aと、測光センサ15Bとを備えている。
測光用レンズ15Aは、ペンタプリズム13Bを介したファインダースクリーン13Aに結像した被写体像を測光センサ15Bに導く。
測光センサ15Bは、撮像素子11と同様に、赤(R)、緑(G)及び青(B)の各画素が所定の配列パターンで配列されており、レンズ光学系により結像される結像面の画像情報を撮像する。そして、各画素に対応する色情報や輝度情報に応じた測光信号を制御装置30へ出力する。制御装置30は、測光部15(測光センサ15B)からの測光信号に基づいて結像面の明るさを検出し、露出を決定する。
【0020】
操作部材16は、カメラ1の操作を行うための図示しない各種スイッチ類によって構成される。たとえば、カメラ1の動作モードを選択するためのモード選択スイッチ、AFエリア18Aを選択するためのエリア選択スイッチ、焦点調節(AF)の開始及び撮影を指示するためのレリーズボタン等が含まれる。
【0021】
制御装置30は、CPUやメモリ等によって構成されており、当該カメラ1の動作制御を行う。また、これらの処理や制御において必要な情報を一時的に記憶する。
制御装置30は、焦点調節(AF)に関連する機能部として、
図1中に示すように、AF−CCD制御部31と、デフォーカス演算部32と、フォーカスエリア位置決定部33と、レンズ駆動量演算部34と、レンズ駆動制御部35と、を備えている。
【0022】
AF−CCD制御部31は、複数のAFエリア18Aの中から選択された制御対象のAFエリア18Aにおけるセンサユニット40のラインセンサ41からAF用像検知信号を読み出し、デフォーカス演算部32へ出力する。その際、AF−CCD制御部31は、高い精度で焦点検出を行えるように、ラインセンサ41における電荷蓄積時間を被写体の明るさに応じて変化させる。なお、AFエリア18Aの選択は、使用者が操作部材16を介して、又は、フォーカスエリア位置決定部33によって所定のプログラムに従って自動で行われるものである。
【0023】
ここで、AF−CCD制御部31は、ラインセンサ41の蓄積時間を被写体の明るさに応じて変化させる電荷蓄積制御として、ソフトウエアAGC(Auto Gain Control)と、ハードウエアAGCと、の2つの制御プログラムを有している。
ソフトウエアAGCは、ラインセンサ41の目標出力レベルを設定し、前回の出力信号の中の最大値又はそれらの平均値と前回の電荷蓄積時間とに基づいて、今回のラインセンサ41の出力が目標出力レベルになるような電荷蓄積時間を算出し、これによってラインセンサ41の電荷蓄積時間を制御する。このようなソフトウエアAGCは、安定に時間がかかるが高い合焦精度が得られる。
【0024】
また、ハードウエアAGCは、センサユニット40におけるモニタセンサ42の出力の積分値が予め設定した基準レベルに達したら、ラインセンサ41の電荷蓄積を終了させるように制御する。このようなハードウエアAGCは、リアルタイムの輝度情報に基づいて制御を行うために被写体の輝度変化に対する応答性に優れるが、検出位置(モニタセンサ42の配設位置)がラインセンサ41と完全には一致しないために精度が劣る虞がある。
【0025】
AF−CCD制御部31は、これらソフトウエアAGCとハードウエアAGCとのいずれかを、被写体の明るさの変化状況等の条件に応じて切り替えて適用する。切替は、当該AF−CCD制御部31が実行するAF−CCD蓄積制御によって行われる。このAF−CCD蓄積制御とソフトウエアAGC及びハードウエアAGCの内容については、後に詳述する。
【0026】
デフォーカス演算部32は、AF−CCD制御部31によって読み出されたラインセンサ41のAF用像検知信号に基づいて、撮像レンズ20の焦点調節状態(ピントのずれ量)を表すデフォーカス量を算出する。
【0027】
フォーカスエリア位置決定部33は、デフォーカス演算部32によって算出されたデフォーカス量に基づいて、撮像レンズ20を最終的に合焦させるAFエリア18Aを決定する。
【0028】
レンズ駆動量演算部34は、使用者によって、又は、フォーカスエリア位置決定部33によって決定されたAFエリア18Aと対応するセンサユニット40の、デフォーカス演算部32によって算出されたデフォーカス量に基づいて、撮像レンズ20が有する焦点調節レンズ(レンズ群L2)の駆動量を演算する。ここでは、焦点調節レンズ(レンズ群L2)の駆動位置の目標となるレンズ目標位置を演算することにより、レンズ駆動量の演算を行う。なお、レンズ目標位置は、デフォーカス量が0となる焦点調節レンズ(レンズ群L2)の位置に相当する。
【0029】
レンズ駆動制御部35は、レンズ駆動量演算部34によって演算されたレンズ駆動量、すなわち焦点調節レンズ(レンズ群L2)に対するレンズ目標位置に基づいて、撮像レンズ20のレンズ駆動用モータ22へ駆動制御信号を出力する。この駆動制御信号に応じて、レンズ駆動用モータ22が焦点調節レンズ(レンズ群L2)を駆動して、レンズ目標位置へ移動させることにより、焦点調節を行う。
【0030】
そして、上記のように構成されたカメラ1は、制御装置30に制御されて下記のように作用し、合焦及び撮影を行う。
すなわち、図示しないレリーズボタンの半押し等によって合焦駆動が指令されると、選択されたAFエリア18Aにおけるラインセンサ41からの焦点検出信号に基づいて、撮像レンズ20の焦点調節レンズ(レンズ群L2)を駆動して焦点調節を行う。同時に、測光部15における測光情報に基づいて、露出(絞り及びシャッタースピード)を設定する。そして、レリーズボタンの全押し等によって撮影が指令されると、クイックリターンミラー12Aを光路外の退避位置へと移動し、設定された露出で撮像素子11がその撮像面に結像された被写体像を電気信号に変換して撮像する。この撮像した画像情報は、図示しないメモリーカード等に記録する。
【0031】
つぎに、
図3〜
図8に示すフローチャートに基づいて、制御装置30によるAF制御及びそのAF−CCD制御部31によるAGC切替制御等について詳細に説明する。なお、図中及び以下の説明において、ステップは「S」とも略記する。
図3は、制御装置30によるAF制御のメインフローチャートである。
図4は、AF−CCD制御部31によるAF−CCD蓄積制御のフローチャートである。
図5は、AF起動時処理のフローチャートである。
図6は、ハードウエアAGCのフローチャートである。
図7は、ソフトウエアAGCのフローチャートである。
図8は、AGC失敗判定のフローチャートである。
【0032】
はじめに、制御部30によるAF制御を説明する。
図3に、その一例のフローチャートを示す。
【0033】
まず、AF−CCD制御部31が、AF−CCD蓄積制御を実行してセンサユニット40におけるラインセンサ41及びモニタセンサ42に電荷蓄積を行う(S101)。このAF−CCD蓄積制御については、後に詳述する。
ついで、センサユニット40におけるラインセンサ41から読み出されたAF用像検知信号に基づいて、デフォーカス演算部32がデフォーカス量を算出する(S102)。
自動選択AFの場合、複数の測距点の中からエリアを求める処理を行う。シングルAFの場合、撮影者により選択されたエリアに決定する(S103)。
【0034】
その後、レンズ駆動量演算部34が、決定されたAFエリア18Aのセンサユニット40からのAF用像検知信号に基づいて、フォーカスレンズ(レンズ群L2)の駆動量を算出する(S104)。
そして、レンズ駆動制御部35が、ステップ104で算出した駆動量に基づいて撮像レンズ20のレンズ駆動用モータ22を制御駆動し、フォーカスレンズ(レンズ群L2)を合焦位置に駆動する(S105)。
【0035】
つぎに、
図4を参照して、前述した
図3に示すAF制御におけるステップ101の、AF−CCD制御部31によるAF−CCD蓄積制御について説明する。
図4は、AF−CCD蓄積制御の一例のフローチャートである。
このAF−CCD蓄積制御では、電荷蓄積制御として、基本的にはソフトウエアAGCを適用し、特定の条件下においてハードウエアAGCを適用する。
AF−CCD蓄積制御は、まず、センサユニット40が起動済みかどうかを判断する(S201)。
【0036】
ステップ201においてセンサユニット40が起動していないと判断された場合(No)には、AF起動時処理を行う(S202)。このAF起動時処理は、起動時にはハードウエアAGCを適用させるための処理である。これについては後に詳述する。
ステップ201においてセンサユニット40が起動していると判断された場合(Yes)、及びステップ202でセンサユニット40が起動された後、ステップ203に進む。
ステップ203では、AGCが失敗した回数をカウントするカウンターをリセット(fcnt=0)する。
【0037】
ついで、ハードウエアAGC実行フラグが「0」であるか否かを判断する(S204)。
ステップ204においてハードウエアAGC実行フラグが「1」であると判断された場合(No)には、ステップ205に進んでハードウエアAGCを実行する。一方、ステップ204においてハードウエアAGC実行フラグが「0」であると判断された場合(Yes)には、ステップ206に進んでソフトウエアAGCを実行する。なお、これらハードウエアAGC及びソフトウエアAGCの制御内容については後に詳述する。
【0038】
そして、ソフトウエアAGC又はハードウエアAGCによって電荷蓄積を行ったセンサユニット40のAF用像検知信号を読み出し(S207)、この読み出した信号に対してPRNU補正(感度ムラ補正)を行う(S208)。
つづいて、センサユニット40の出力がオーバーフローを生じているかを確認する(S209)と共に、センサの出力が低出力であるかどうかを確認する(S210)。これらステップ209及びステップ210において出力を確認するセンサユニット40は、AFエリア18Aが手動設定の場合には、測距を行うセンサユニット40のみでよい。
【0039】
ついで、AGCの失敗判定制御を行って(S211)、その失敗判定制御の結果に基づいてAGCの失敗判定を行う(S212)。なお、ステップ211における失敗判定制御については、後に詳述する。
ステップ212においてAGCが失敗していないと判断された場合(No)には、次回の電荷蓄積制御はソフトウエアAGCによって行うものとして処理を終了する。
【0040】
ステップ212においてAGCが失敗していると判断された場合(Yes)には、AGCが失敗した回数をカウントするカウンターのカウント数(fcnt)が、予め定められた所定数に達しているか否かを判断する(S213)。本実施形態では、判断基準を「fcnt>5」とする。なお、ここでは単純に閾値として条件を満たす回数を5としているが、被写体輝度や蓄積時間等の制限により条件を決めてもよい。また、フロー中には記載していないが、所定の制限時間や回数制限を設けた上で、「fcnt>5」となるかどうかとしてもよい。
【0041】
ステップ213においてfcntが所定数に達していると判断された場合(Yes)には、ハードウエアAGC実行フラグを「1」とする(S215)。これにより、次回の電荷蓄積制御はハードウエアAGCにより実行されるようになる。
ステップ213においてfcntが所定数に達していないと判断された場合(No)には、合焦駆動指令の有無を判断する(S214)。すなわち、レリーズスイッチが半押しされているか否かを判断する。
【0042】
ステップ214において合焦駆動指令があると判断された場合(Yes)には、ハードウエアAGC実行フラグを「1」にして、次回の電荷蓄積制御をハードウエアAGCにより実行するようにする。これは、合焦駆動制御を開始した時点でAGC失敗だと合焦駆動動作のレスポンスが損なわれるので、ここでは「fcnt」に関係なくハードウエアAGCに切り替わるようにするものである。つまり、ステップ213でfcntが所定数に達したと判断される(fcnt>5)までAGC失敗が繰り返されれば、ステップ215においてハードウエアAGC実行フラグが「1」となって次回の電荷蓄積制御はハードウエアAGCにより実行されるが、それでは時間を要するため、直ちにハードウエアAGCに切り替えるものである。
ステップ214において合焦駆動指令がないと判断された場合(No)には、次回の電荷蓄積制御はソフトウエアAGCを行うものとして処理を終了する。
【0043】
つぎに、
図5を参照して、前述した
図4に示すAF−CCD蓄積制御におけるステップ202のAF起動時処理について説明する。
図5は、AF起動時処理の一例のフローチャートを示す。
AF起動時処理は、起動時にハードウエアAGCを適用する処理である。これは、起動時にはそれ以前の輝度情報がないため、ハードウエアAGCによって電荷蓄積を実行する方が効率がよいことによる。ソフトウエアAGCでは、被写体の輝度情報取得のため、少なくとも2回の電荷蓄積動作が必要になる。
【0044】
AF起動時処理は、まず、ハードウエアAGCの実行フラグを「1」にする(S301)。
そして、位相差AF検出素子14の電源を起動させ(S302)、ハードウエアAGCによる電荷蓄積動作を実行する(S303)。なお、ハードウエアAGCの制御については後に詳述する。
ステップ303の後、ハードウエアAGCの実行フラグを「0」に戻す(S304)。これにより、起動時の処理以降は、通常、ソフトウエアAGCによって電荷蓄積制御を実行するようになる。
【0045】
ついで、
図6を参照して、前述した
図4のAF−CCD蓄積制御におけるステップ205のハードウエアAGCについて説明する。
図6は、ハードウエアAGCの一例のフローチャートを示す。
ハードウエアAGCは、まず、ラインセンサ41及びモニタセンサ42のゲインを設定する(S401)。モニタセンサ42とラインセンサ41のゲインは主として同じでよい。前述した
図5に示すAF起動時処理の際には、ゲインは高めに設定した方が動作は早くなる。
その後、電荷蓄積開始命令を出して(S402)。モニタセンサ42及びラインセンサ41の電荷蓄積を行う(S403)。
【0046】
そして、モニタセンサ42の蓄積完了信号の出力を確認する(S404)する。
ステップ404において蓄積完了信号が出力されていると判断される(Yes)と、電荷蓄積を終了させるため終了命令を出す(S406)。
また、ステップ404において蓄積完了信号の出力判断が成されない場合(No)でも、予め設定した蓄積制限時聞を経過したかどうかを判断し(S405)、このステップ405で蓄積制限時聞が経過したと判断した場合(Yes)には、電荷蓄積を終了させるため終了命令を出す(S406)。これは、通常、ステップ404でモニタセンサ42の完了信号により電荷蓄積を終了すればよいが、被写体が暗く、且つ、低コントラストの場合にはいつまでも蓄積完了信号が出力されない場合も考えられる為、蓄積制限時間を設けておくものである。
【0047】
つぎに、
図7を参照して、前述した
図4のAF−CCD蓄積制御におけるステップ206のソフトウエアAGCについて説明する。
図7は、ソフトウエアAGCの一例のフローチャートを示す。
ソフトウエアAGCは、ラインセンサ41における前回の電荷蓄積結果を元に今回のラインセンサ41のゲインを設定し(S501)、前回の電荷蓄積結果を元に今回の蓄積時聞を設定する(S502)。
【0048】
ついで、蓄積開始命令を出力し(S503)、ラインセンサ41の電荷蓄積を行う(S504)。
ここで、設定した蓄積時間を経過したかどうかを判断する(S505)。
そして、ステップ505において設定された蓄積時間を経過したと判断されると(Yes)、電荷蓄積を終了させるための終了命令を出す(S506)。
【0049】
つぎに、
図8を参照して、前述した
図4のAF−CCD蓄積制御におけるステップ211のAGC失敗判定制御について説明する。
図8は、AGC失敗判定制御の一例のフローチャートを示す。なお、
図8中には、後述する
図9におけるNo.と対応させて符号[1]〜[9]を付してある。
AGC失敗判定制御では、ソフトウエアAGCの失敗が2回連続し、且つ、その原因(オーバーフロー又は低出力)が異なる場合に、被写体輝度の明暗変化が激しいと判断し、
図4のAF−CCD蓄積制御におけるステップ213において参照するfcntに「1」を加算する。これにより、ソフトウエアAGCからハードウエアAGCへの切り替えを促すものである。
【0050】
AGC失敗判定制御は、はじめに、前回のソフトウエアAGCが成功していたか否かを判断する(S601)。
ステップ601において前回のソフトウエアAGCが成功していたと判断された場合(Yes)には、つぎに、今回のソフトウエアAGCがオーバーフローであったか否かを判断する(S602)。
【0051】
ステップS602においてオーバーフローであったと判断された場合(Yes)には、今回のソフトウエアAGCは失敗であると判定する(S604)。ここでは、今回オーバーフローで1回失敗なのでfcntに「1」の加算はしない。
ステップS602においてオーバーフローではなかったと判断された場合(No)には、つぎに、今回のソフトウエアAGCが低出力であったか否かを判断する(S603)。
ステップS603において低出力であったと判断された場合(Yes)には、今回のソフトウエアAGCは失敗であったと判定する(S604)。ここでは、今回低出力で1回失敗なのでfcntに「1」の加算はしない。
ステップS603において低出力ではなかったと判断された場合(No)には、今回のソフトウエアAGCは成功であったと判定する(S605)。
【0052】
ステップS601において前回のソフトウエアAGCが失敗していたと判断された場合(No)には、つぎに、前回の失敗がオーバーフローであったか否かを判断する(S606)。
ステップS606において前回のソフトウエアAGCの失敗がオーバーフローであったと判断された場合(Yes)には、つぎに、今回のソフトウエアAGCがオーバーフローであったか否かを判断する(S607)。
【0053】
ステップS607において今回のソフトウエアAGCがオーバーフローであったと判断された場合(Yes)には、今回のソフトウエアAGCは失敗であったと判定する(S610)。ここでは、2回連続して失敗であるが、同じ原因(オーバーフロー)なので、fcntに「1」の加算はしない。
ステップS606において今回のソフトウエアAGCがオーバーフローではなかったと判断された場合(No)には、つぎに、今回のソフトウエアAGCが低出力であったか否かを判定する(S608)。
【0054】
ステップS608において低出力であったと判断された場合(Yes)には、fcntに「1」を加算して(S609)、今回のソフトウエアAGCは失敗であったと判定する(S610)。
ステップS608において低出力ではなかったと判断された場合(No)には、今回のソフトウエアAGCは成功であったと判定する(S611)。
ステップS606において前回のソフトウエアAGCの失敗がオーバーフローではなかったと判断された場合(No)には、つぎに、今回がオーバーフローであったか否かを判断する(S612)。
【0055】
ステップS612において今回がオーバーフローであったと判断された場合(Yes)には、fcntに「1」を加算して(S614)、今回のソフトウエアAGCは失敗であったと判定する(S615)。
ステップS612において今回のソフトウエアAGCがオーバーフローではなかったと判断された場合(No)には、今回のソフトウエアAGCが低出力であったか否かを判定する(S613)。
【0056】
ステップS613において低出力であったと判断された場合(Yes)には、今回のソフトウエアAGCは失敗であったと判定する(S616)。ここでは、2回連続して失敗であるが、同じ原因(低出力)なので、fcntに「1」の加算はしない。
ステップS613において低出力ではなかったと判断された場合(No)には、今回のソフトウエアAGCは成功であったと判定する(S616)。
【0057】
上記
図8のAGC失敗判定制御フローの内容を表にすると
図9のようになる。
ここでは、電荷蓄積結果を、オーバーフロー、AGC成功、低出カの3パターンに分けており、オーバーフロー及び低出カがAGC失敗を表している。つまり、図中最も右側の「AGC結果」の欄に示すように、[3],[6],[9]が今回成功であり、[1],[2],[4],[5],[7],[8]が今回失敗である。
[1],[2]は、前回成功で、今回失敗の場合である。1回目の失敗なのでfcntに「1」の加算はしない。なお、被写体輝度は安定から不安定になる場合もあるので、「+1」としてもよい。AGC失敗の頻度により「0」又は「+1」を使い分ければよい。
【0058】
[5],[7]は、前回と今回共にAGC失敗で、そのパターンが異なる場合である。
すなわち、[5]の場合は、被写体が明→暗となる場合であり、前回の電荷蓄積でオーバーフローが発生した為、今回は電荷蓄積時間を短縮しようとするが、既に被写体の輝度が暗くなっており、今回の電荷蓄積では低出カしか得られない場合である。
[7]は、被写体が暗→明となる場合で、前回の電荷蓄積に基づいてゲインを上げたり、電荷蓄積時間を長くしたりするが、実際の被写体輝度はさらに明るくなっていて今回の電荷蓄積でオーバーフローしてしまうような場合を指す。
このような[5],[7]の場合には、fcntに「1」を加算する。
【0059】
[4],[8]は、前回と今回共にAGC失敗で、そのパターンが同じ場合である。
[8]は、低コントラスト、低輝度による低出カが連続的に起こっていると思われる。このような場合は、ソフトウエアAGCは適正に行われているが、センサの検出能カを超えている場合が考えられる。
[4]は、ソフトウエアAGCを使用する場合に一度オーバーフロー発生後、電荷蓄積制御の時間にオーバーフロー対策等を行うので、繰り返しオーバーフローが発生することは稀である。
したがって、[4],[8]の場合にはfcntに「1」の加算はしない。
【0060】
上記のようなAF−CCD制御部31におけるAF−CCD蓄積制御によれば、AGCの失敗が2回連続し、且つ、その原因(オーバーフロー又は低出力)が異なる場合に、被写体輝度の明暗変化が激しいと判断し、このような判断が6回(fcnt>5)計数されると、ソフトウエアAGCからハードウエアAGCに切り替える。これにより、被写体輝度の明暗変化が激しくソフトウエアAGCが迅速に応答できない状況ではハードウエアAGCによってAF用像検知信号を検出する。その結果、迅速なAF動作が可能となるものである。
【0061】
[第2実施形態]
つぎに、
図10にフローチャートを示す、AF−CCD蓄積制御の第2実施形態について説明する。なお、本第2実施形態の主要部分は前述した第1実施形態と同様であり、同機能のステップには同符号を付して説明は省略する。
本第2実施形態に係るAF−CCD蓄積制御は、前述した第1実施形態に係るAF−CCD蓄積制御においてソフトウエアAGCからハードウエアAGCに切り替えて実行した後、被写体輝度が安定した場合はソフトウエアAGCに戻すステップを追加したものである。
【0062】
ソフトウエアAGCに戻す条件としては、ゲインが同じ条件での前回と今回蓄積時間の差が小さく、且つAGC成功している場合、等が挙げられる。
すなわち、設定されたゲインを新しい順にGn[0],Gn[01],Gn[02]…とし、今回のゲインGn[0]と、過去2回履歴分のゲインGn[01],Gn[02]が同じかどうかを判断する(S216)。
【0063】
そして、ステップ216において、今回のゲインGn[0]と、過去2回履歴分のゲインGn[01],Gn[02]が同じと判断された場合(Yes)には、ハードウエアAGCの実行フラグを「0」にする(S217)。これにより、次回はソフトウエアAGCによって電荷蓄積制御を実行するようになる。
【0064】
上記第2実施形態に係るAF−CCD蓄積制御によれば、被写体輝度の明暗変化が激しく、ソフトウエアAGCからハードウエアAGCに切り替えた後、被写体輝度が安定した場合はソフトウエアAGCに戻すことができる。これにより、ソフトウエアAGCにより精度の高いAF動作が可能となるものである。
【0065】
以上、本実施形態によると、以下の効果を有する。
(1)本実施形態におけるAF−CCD制御部31によるAF−CCD蓄積制御によれば、センサユニット40における電荷蓄積制御として、基本的にはソフトウエアAGCを適用し、被写体輝度の明暗変化が激しい条件下においてハードウエアAGCを適用する。すなわち、AGCの失敗が2回連続し、且つ、その原因(オーバーフロー又は低出力)が異なる場合に、被写体輝度の明暗変化が激しいと判断し、このような判断が所定回計数されると、ソフトウエアAGCからハードウエアAGCに切り替える。これにより、ストロボが点滅する記者会見やファッションショーの会場等、被写体輝度の明暗変化が激しくソフトウエアAGCが迅速に応答できない状況ではハードウエアAGCによってAF用像検知信号を検出する。その結果、迅速で適切なAF動作を行うことができる。
【0066】
(2)また、被写体輝度の明暗変化が激しいためにハードウエアAGCに切り替えた後、複数回のゲインを比較して被写体輝度が安定したと判断するとソフトウエアAGCに戻す。これにより、被写体輝度が安定した場合には、ソフトウエアAGCによってAF用像検知信号を検出することで、精度の高いAF動作を行うことができる。
【0067】
(変形形態)
以上、説明した実施形態に限定されることなく、以下に示すような種々の変形や変更が可能であり、それらも本発明の範囲内である。
(1)本実施形態では、被写体輝度の明暗変化が激しいと判断する条件を、「AGCの失敗が2回連続し、且つ、その原因(オーバーフロー又は低出力)が異なる場合」とし、これを計数(fcnt)してその値が「fcnt>5」となった場合に、ハードウエアAGCに切り替える。しかし、これらの条件は、適宜変更可能なものである。
すなわち、AGCの失敗が1回であっても計数してもよく、また、ハードウエアAGCに切り替えるための計数の閾値も5に限らず適宜設定してよいものである。
【0068】
(2)本実施形態におけるハードウエアAGCは、被写体像のリアルタイムの輝度情報をセンサユニット40が備えるモニタセンサ42から得るように構成されているが、リアルタイムの輝度情報を得る構成は別にセンサを用いる等適宜変更可能なものである。
【0069】
なお、実施形態及び変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。また、本発明は以上説明した実施形態によって限定されることはない。