以下、図面を参照して本発明を実施するための最良の形態について説明する。
(第一の実施形態)
図1は、本発明の第一の実施形態による電子カメラ1の構成を説明するブロック図である。電子カメラ1は閃光器を内蔵し、アクセサリシュー(不図示)に外付け閃光器11が装着されている。演算回路101は、マイクロコンピュータなどによって構成される。演算回路101は、後述する各ブロックから出力される信号を入力して所定の演算を行い、演算結果に基づく制御信号を各ブロックへ出力する。演算回路101はさらに、不図示の通信回路を有して外付け閃光器11との間で通信を行う。
撮像素子121は、CCDイメージセンサなどによって構成される。撮像素子121は、撮影用の交換レンズLを通過した被写体光による像を撮像し、撮像信号をA/D変換回路122へ出力する。A/D変換回路122は、アナログ撮像信号をディジタル信号に変換する。撮像素子121およびA/D変換回路122は、タイミング回路124から出力される駆動信号によって所定の動作タイミングで駆動される。
画像処理回路123は、ASICなどによって構成される。画像処理回路123は、ディジタル変換後の画像データにホワイトバランス処理などの画像処理を行う他、画像処理後の画像データを所定の形式で圧縮する圧縮処理、圧縮された画像データを伸長する伸長処理などを行う。バッファメモリ125は、画像処理回路123によって処理される画像データを一時的に格納する。記録媒体126は、カメラに対して着脱可能なメモリカードなどによって構成される。記録媒体126には、画像処理後の画像データが記録される。
位置検出スイッチSW1は、内蔵閃光器(不図示)が格納位置にあるか、ポップアップ機構(不図示)によりポップアップされて使用位置にあるかを検出するマイクロスイッチである。位置検出スイッチSW1は一端が接地され、他端が演算回路101の入力ポートに接続される。位置検出スイッチSW1は、内蔵閃光器が使用位置にあるときオン信号を出力し、内蔵閃光器が格納位置にあるときオフ信号を出力するように構成される。
発光量検出装置118は、内蔵閃光器の発光部44(もしくは外付け閃光器11)の発光量を検出し、検出信号を演算回路101へ送出する。発光量検出は、内蔵閃光器(もしくは外付け閃光器11)から発光され、被写体で反射された光を受光し、この受光信号を時間積分して行う。
発光部44は内蔵閃光器の発光体である。内蔵閃光器発光回路102は、演算回路101からの指令により発光部44に対する発光開始および発光停止を指示して発光制御を行う。内蔵閃光器発光回路102は充電回路(不図示)を含み、演算回路101から指令を受けると充電を開始し、充電が完了すると完了信号を出力する。
測光装置103は、撮影レンズLを通して被写体光量を検出し、検出信号を演算回路101に出力する。測光装置103は、たとえば、5分割された被写界のそれぞれの分割領域に対応する光量を検出可能に構成されている。ここで、撮影レンズLの開放絞りはF2.8(AV=3)である。焦点検出装置104は、撮影レンズLによる焦点位置の調節状態を検出し、検出信号を演算回路101へ出力する。
レンズ駆動装置105は、演算回路101の指令により撮影レンズLの不図示のフォーカスレンズを光軸方向に進退駆動し、撮影レンズLの焦点位置を調節する。
半押しスイッチSW2は、不図示のレリーズ操作ボタンに連動して半押し操作信号を演算回路101に出力する。半押し操作信号は、全ストロークの半分程度までの押し下げ操作に対応してオンし、半ストロークの押し下げ操作解除でオフする。全押しスイッチSW3は、不図示のレリーズ操作ボタンに連動して全押し操作信号を演算回路101に出力する。全押し操作信号は、全ストロークの押し下げ操作に対応してオンし、全ストロークの押し下げ操作解除でオフする。
表示装置111は、演算回路101の指令により、設定されている露出モード、感度、シャッタ速度、絞り値などの撮影情報を表示する。
シャッタ駆動回路114は、シャッタ115の不図示の先幕および後幕の保持および解除をそれぞれ制御する。X接点スイッチSW5は、シャッタ115の先幕の走行が完了するとオンされてオン信号を出力し、シャッタ115のチャージ途中でオフされてオフ信号を出力する。絞り位置検出装置116は、絞り値に対応する絞り位置を検出して検出信号を演算回路101に出力する。絞り係止装置117は、駆動中の絞りを係止し、所定の絞り値で絞りを停止させる。
モータ駆動回路112は、演算回路101の指令によってシーケンスモータ113を駆動制御する。シーケンスモータ113は、不図示のシーケンス駆動装置を構成し、不図示のミラーのアップ/ダウン、不図示の絞りの駆動、およびシャッタ115のチャージなどを行う。シーケンススイッチSW4は、上述したシーケンス駆動装置を構成し、シーケンスモータ113のブレーキ制御タイミングなどを発生するスイッチである。
露出モード設定操作部材106は、露出モード設定操作に応じて操作信号を演算回路101へ出力する。演算回路101は、露出モード設定操作信号に応じてプログラム自動露出モード(Pモード)、シャッタ速度優先自動露出モード(Sモード)、絞り優先自動露出モード(Aモード)、およびマニュアル露出モード(Mモード)のいずれかに設定する。
シャッタ速度設定操作部材107は、シャッタ速度設定操作に応じて操作信号を演算回路101へ出力する。演算回路101は、露出モードがSモードまたはMモードのとき、シャッタ速度設定操作信号に応じて設定シャッタ速度TVsを設定変更する。設定範囲は、たとえば、アペックス値で−5≦TVs≦13、すなわち、30秒〜1/8000秒である。
絞り値設定操作部材108は、絞り値設定操作に応じて操作信号を演算回路101へ出力する。演算回路101は、露出モードがAモードまたはMモードのとき、絞り値設定操作信号に応じて設定絞り値AVsを設定変更する。設定範囲は、たとえば、アペックス値で3≦AVs≦9、すなわち、F2.8〜F22である。
感度自動制御モード設定操作部材109は、設定操作に応じて操作信号を演算回路101へ出力する。演算回路101は、感度自動制御モード設定操作信号に応じて感度自動制御モードの設定および解除を行う。感度自動制御モードは、適正露出が得られるように、露出偏差ΔEVまたは閃光器の光量の過不足に応じて撮像感度SV(露光感度)を自動的に変更して制御露出を演算する動作モードである。露出偏差ΔEVは、制御露出と適正露出の差である。感度自動制御モードが解除されている場合は、設定されている撮像感度SVで適正露出が得られるように制御露出が演算される。
感度設定操作部材110は、撮像感度設定操作に応じて操作信号を演算回路101へ出力する。演算回路101は、撮像感度設定操作信号に応じて撮像素子121の撮像感度を設定変更する。撮像感度は、たとえば、ISO100相当〜ISO1600相当の範囲において所定のステップで設定可能に構成されている。
外付け閃光器11は、コントローラ201と、発光回路202と、発光部11aと、設定操作部材203と、表示装置204とを有する。外付け閃光器11がカメラ本体1のアクセサリシュー(不図示)に装着されると、カメラ本体1の演算回路101と外付け閃光器11との間が接点端子10a、10bおよび10cによってそれぞれ接続される。接点端子10aは、X接点スイッチSW5によるX接点信号の端子である。X接点の信号は、演算回路101が信号出力を許可しているときに接点端子10aを介してコントローラ201側に出力され、信号出力を禁止しているときはコントローラ201へ出力されない。接点端子10bは、カメラ本体1および外付け閃光器11間の電気的な接地電位を共通にするためのGND用端子である。接点端子10cは、カメラ本体1および外付け閃光器11間の通信用端子である。
コントローラ201は、マイクロコンピュータなどによって構成される。コントローラ201は、外付け閃光器11の各ブロックから出力される信号を入力して所定の演算を行い、演算結果に基づいて制御信号を外付け閃光器11の各ブロックへ出力する。コントローラ201はさらに、接点端子10cを介して演算回路101と通信を行い、演算回路101からプリ発光指示や発光光量を示す信号などを受信する一方、外付け閃光器11に設定されている発光モードやバウンス状態を示す信号などを送信する。コントローラ201はまた、接点端子10aを介してX接点のオン信号が入力されると、発光回路202に発光指示を行う。
発光回路202は、コントローラ201からの指令により外付け閃光器11の発光部11aに対して発光開始および発光停止を指示して発光制御を行う。発光回路202は不図示の充電回路を含み、設定操作部材203から充電開始操作信号を受けると充電を開始し、充電が完了すると完了信号をコントローラ201へ出力する。
設定操作部材203は、充電開始指示や発光モードの設定などを行うスイッチである。表示装置204は、外付け閃光器11の充電状態を示す表示を行う。表示装置204には、設定されている発光モードを示す情報も表示される。
本発明は、電子カメラ1を感度自動制御モードに設定した場合の露出制御に特徴を有し、とくに、閃光器を使用する場合に感度を変更した状態で再度露出演算を行うものである。
電子カメラ1の演算回路101で行われるカメラ動作の処理について、図2〜図4に示すフローチャートを参照して説明する。図2〜図4のフローチャートによるプログラムは、電子カメラ1に不図示の電池が装填されると起動する。電子カメラ1の動作は次の3つに大別される。
1.外付け閃光器11がカメラ本体1に装着されておらず、かつ、内蔵閃光器を使用しない場合である。
2.外付け閃光器11をカメラ本体1に装着したか否かにかかわらず、内蔵閃光器を使用する場合である。
3.外付け閃光器11がカメラ本体1に装着されている場合である。外付け閃光器11を使用し、内蔵閃光器は使用しない。
図2〜図4による処理は、それぞれ上記1〜3に対応する。
図2のステップS1において、演算回路101は、初期リセットとしてフラグPを0に、外付け閃光器11の本発光量hを0に、充電フラグJを0に、感度自動制御モードフラグSを0に、モードパラメータMを0に、設定シャッタ速度TVsを7(1/125秒)に、設定絞り値AVsを5(F5.6)に、設定感度SVsを7(ISO400に相当する)に、それぞれセットしてステップS2へ進む。ここで、フラグPは外付け閃光器11に対して予備発光を指示するフラグであり、P=1が予備発光あり、P=0が予備発光なしを示す。予備発光はプリ発光ともいう。予備発光は、撮影時(電荷蓄積時)に行う本発光時の光量hを演算するための調光用の発光である。
充電フラグJは、内蔵閃光器発光回路102の充電が完了すると1に、充電が完了していないとき0にされるフラグである。感度自動制御モードフラグSは、感度自動制御モードに設定されると1、感度自動制御モードが解除されると0にされるフラグである。モードパラメータMは、Pモード時に0、Sモード時に1、Aモード時に2、Mモード時に3にそれぞれセットされる。第一の実施の形態による電子カメラの設定撮像感度SVsの範囲は、アペックス値で5≦SVs≦9(ISO100〜ISO1600相当)である。
ステップS2において、演算回路101は、設定処理を行ってステップS3へ進む。設定処理の詳細については後述する。ステップS3において、演算回路101は、内蔵閃光器の発光部44が使用位置にあるか否かを判定する。演算回路101は、位置検出スイッチSW1からオフ信号が入力されている場合にステップS3を否定判定してステップS4へ進み、位置検出スイッチSW1からオン信号が入力されている場合にステップS3を肯定判定して図3のステップS21へ進む。ステップS4へ進む場合は、内蔵閃光器が格納された位置にある場合であり、ステップS21へ進む場合は、内蔵閃光器が使用位置にポップアップされている場合である。演算回路101は、内蔵閃光器が格納位置にある場合は、内蔵閃光器発光回路102に発光を指示しない(発光を許可しない)。
ステップS4において、演算回路101は、外付け閃光器11のコントローラ201との間で通信処理を行い、ステップS5へ進む。通信処理の詳細については後述する。
ステップS5において、演算回路101は、フラグR=1か否かを判定する。フラグRは、通信処理によって通信が成立した場合に1、通信が成立しなかった場合に0がセットされるフラグである。演算回路101は、R=0の場合にステップS5を否定判定してステップS6へ進み、R=1の場合にステップS5を肯定判定して図4のステップS51へ進む。ステップS6へ進む場合は、通信機能を有する外付け閃光器11がカメラ本体1に装着されていない場合であり、ステップS51へ進む場合は、通信機能を有する外付け閃光器11がカメラ本体1に装着されている場合である。
(閃光器を使用しない場合)
ステップS6〜ステップS15の処理は、上記1.に対応する。ステップS6において、演算回路101は、測光装置103から検出信号を入力(測光)してステップS7へ進む。ステップS7において、演算回路101は、被写界の分割領域ごとの検出信号をを用いてレンズ透過光量(BVi−3)を求めることで測光演算を行って被写体輝度BVを算出し、ステップS8へ進む。ここで、BViは各領域の被写体輝度である。また、3を減算しているのは開放絞りF2.8(アペックス値AV=3)の撮影レンズLを通して測光しているからである。演算回路101は、各領域の被写体輝度BViを用いて周知の演算を行うことにより、被写体輝度BVを得る。
ステップS8において、演算回路101は、露出演算Aの処理を行ってステップS9へ進む。露出演算Aの処理の詳細については後述する。ステップS9において、演算回路101は、表示装置111に対する表示処理を行ってステップS10へ進む。表示処理の詳細については後述する。
ステップS10において、演算回路101は焦点検出装置104に指令を送り、撮影レンズLによる焦点位置の調節状態を検出させる。演算回路101は、焦点検出装置104による検出結果に基づいてフォーカスレンズのデフォーカス量を算出してステップS11へ進む。
ステップS11において、演算回路101は、半押し操作されたか否かを判定する。演算回路101は、半押しスイッチSW2から操作信号が入力された場合にステップS11を肯定判定してステップS12へ進み、半押しスイッチSW2から操作信号が入力されない場合にはステップS11を否定判定し、ステップS2へ戻る。
ステップS12において、演算回路101は、デフォーカス量に基づいてレンズ駆動量を算出してステップS13へ進む。ステップS13において、演算回路101は、レンズ駆動装置105に指令を送り、撮影レンズLのフォーカスレンズをステップS12にて求めたレンズ駆動量だけ駆動して合焦位置となるようにしてステップS14へ進む。
ステップS14において、演算回路101は、全押し操作(レリーズ)されたか否かを判定する。演算回路101は、全押しスイッチSW3から操作信号が入力された場合にステップS14を肯定判定してステップS15へ進み、全押しスイッチSW3から操作信号が入力されない場合にはステップS14を否定判定し、ステップS2へ戻る。
ステップS15において、演算回路101は、撮像シーケンスAの処理を行ってステップS2へ戻る。これにより、一連の撮影処理が終了する。撮像シーケンスAの処理の詳細については後述する。
設定処理の詳細について、図5のフローチャートを参照して説明する。図5のステップS101において、演算回路101は、感度変更操作が行われたか否かを判定する。演算回路101は、感度設定操作部材110から操作信号が入力された場合にステップS101を肯定判定してステップS102へ進み、感度設定操作部材110から操作信号が入力されない場合にはステップS101を否定判定してステップS108へ進む。
ステップS102において、演算回路101は、高感度に変更か否かの判定を行う。演算回路101は、感度設定操作部材110からの操作信号が感度アップを指示する場合にステップS102を肯定判定してステップS103へ進み、操作信号が感度アップを指示しない場合にはステップS102を否定判定してステップS105へ進む。
ステップS103において、演算回路101は、変更前のSVsが9か否かを判定する。演算回路101は、SVs=9(設定撮像感度がISO1600相当)の場合にステップS103を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、感度設定範囲の上限なので感度アップしないで設定処理を終了する。一方、演算回路101は、SVs≠9の場合にステップS103を否定判定し、ステップS104へ進む。ステップS104において、演算回路101は、設定撮像感度SVsに1を加算して設定処理を終了し、図2のステップS3へ進む。これにより、設定撮像感度が1段階高く変更される。
ステップS105において、演算回路101は、低感度に変更か否かの判定を行う。演算回路101は、感度設定操作部材110からの操作信号が感度ダウンを指示する場合にステップS105を肯定判定してステップS106へ進む。演算回路101は、操作信号が感度ダウンを指示しない場合にはステップS105を否定判定し、設定処理を終了して図2のステップS3へ進む。
ステップS106において、演算回路101は、変更前のSVsが5か否かを判定する。演算回路101は、SVs=5(設定撮像感度がISO100相当)の場合にステップS106を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、感度設定範囲の下限なので感度ダウンしないで設定処理を終了する。一方、演算回路101は、SVs≠5の場合にステップS106を否定判定し、ステップS107へ進む。ステップS107において、演算回路101は、設定撮像感度SVsから1を減算して設定処理を終了し、図2のステップS3へ進む。これにより、設定撮像感度が1段階低く変更される。
上述したステップS101を否定判定して進むステップS108において、演算回路101は、露出モード変更操作が行われたか否かを判定する。演算回路101は、露出モード設定操作部材106から操作信号が入力された場合にステップS108を肯定判定してステップS109へ進み、露出モード設定操作部材106から操作信号が入力されない場合にはステップS108を否定判定し、ステップS116へ進む。
ステップS109において、演算回路101は、変更前の露出モードがPモードか否かを判定する。演算回路101は、M=0(プログラム自動露出モード)の場合にステップS109を肯定判定してステップS110へ進み、M≠0の場合にはステップS109を否定判定してステップS111へ進む。ステップS110において、演算回路101は、モードパラメータMを1(Sモード)にセットして設定処理を終了し、図2のステップS3へ進む。
ステップS111において、演算回路101は、変更前の露出モードがSモードか否かを判定する。演算回路101は、M=1(シャッタ速度優先自動露出モード)の場合にステップS111を肯定判定してステップS112へ進み、M≠1の場合にはステップS111を否定判定してステップS113へ進む。ステップS112において、演算回路101は、モードパラメータMを2(Aモード)にセットして設定処理を終了し、図2のステップS3へ進む。
ステップS113において、演算回路101は、変更前の露出モードがAモードか否かを判定する。演算回路101は、M=2(絞り優先自動露出モード)の場合にステップS113を肯定判定してステップS114へ進み、M≠2の場合にはステップS113を否定判定してステップS115へ進む。ステップS114において、演算回路101は、モードパラメータMを3(Mモード)にセットして設定処理を終了し、図2のステップS3へ進む。
ステップS115において、演算回路101は、モードパラメータMを0(Pモード)にセットして設定処理を終了し、図2のステップS3へ進む。以上のステップS109〜ステップS115の処理により、露出モード設定操作部材106が操作されるごとに露出モードがP→S→A→M→P…の順にサイクリックに変更される。
ステップS108を否定判定して進むステップS116において、演算回路101は、Pモードか否かを判定する。演算回路101は、M=0の場合にステップS116を肯定判定し、設定処理を終了して図2のステップS3へ進む。この場合には、シャッタ速度や絞り値の設定が行われない。演算回路101は、M≠0の場合にはステップS116を否定判定し、ステップS117へ進む。
ステップS117において、演算回路101は、Aモードか否かを判定する。演算回路101は、M=2の場合にステップS117を肯定判定してステップS125へ進む。この場合には、シャッタ速度の設定が行われない。演算回路101は、M≠2の場合にはステップS117を否定判定し、ステップS118へ進む。
ステップS118において、演算回路101は、シャッタ速度変更操作が行われたか否かを判定する。演算回路101は、シャッタ速度設定操作部材107から操作信号が入力された場合にステップS118を肯定判定してステップS119へ進み、シャッタ速度設定操作部材107から操作信号が入力されない場合にはステップS118を否定判定し、ステップS125へ進む。
ステップS119において、演算回路101は、高速側に変更か否かの判定を行う。演算回路101は、シャッタ速度設定操作部材107からの操作信号が高速化を指示する場合にステップS119を肯定判定してステップS120へ進み、操作信号が高速化を指示しない場合にはステップS119を否定判定してステップS122へ進む。
ステップS120において、演算回路101は、変更前のTVsが13か否かを判定する。演算回路101は、TVs=13(設定シャッタ速度が1/8000秒)の場合にステップS120を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、シャッタ速度設定範囲の上限なので高速化しないで設定処理を終了する。一方、演算回路101は、TVs≠13の場合にステップS120を否定判定し、ステップS121へ進む。ステップS121において、演算回路101は、設定シャッタ速度TVsに1を加算して設定処理を終了し、図2のステップS3へ進む。これにより、設定シャッタ速度が1段階高速側へ変更される。
ステップS122において、演算回路101は、低速側に変更か否かの判定を行う。演算回路101は、シャッタ速度設定操作部材107からの操作信号が低速化を指示する場合にステップS122を肯定判定してステップS123へ進む。演算回路101は、操作信号が低速化を指示しない場合にはステップS122を否定判定し、設定処理を終了して図2のステップS3へ進む。
ステップS123において、演算回路101は、変更前のTVsが−5か否かを判定する。演算回路101は、TVs=−5(設定シャッタ速度が30秒)の場合にステップS123を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、シャッタ速度設定範囲の下限なので低速化しないで設定処理を終了する。一方、演算回路101は、TVs≠−5の場合にステップS123を否定判定し、ステップS124へ進む。ステップS124において、演算回路101は、設定シャッタ速度TVsから1を減算して設定処理を終了し、図2のステップS3へ進む。これにより、設定シャッタ速度が1段階低速側へ変更される。
ステップS125において、演算回路101は、Sモードか否かを判定する。演算回路101は、M=1の場合にステップS125を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合には、絞り値の設定が行われない。演算回路101は、M≠1の場合にはステップS125を否定判定し、ステップS126へ進む。
ステップS126において、演算回路101は、絞り値変更操作が行われたか否かを判定する。演算回路101は、絞り値設定操作部材108から操作信号が入力された場合にステップS126を肯定判定してステップS127へ進み、絞り値設定操作部材108から操作信号が入力されない場合にはステップS126を否定判定し、設定処理を終了して図2のステップS3へ進む。
ステップS127において、演算回路101は、開放側に変更か否かの判定を行う。演算回路101は、絞り値設定操作部材108からの操作信号が開放方向を指示する場合にステップS127を肯定判定してステップS128へ進み、操作信号が開放方向を指示しない場合にはステップS127を否定判定してステップS130へ進む。
ステップS128において、演算回路101は、変更前のAVsが3か否かを判定する。演算回路101は、AVs=3(設定絞り値がF2.8)の場合にステップS128を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、絞り値設定範囲の上限なので変更しないで設定処理を終了する。一方、演算回路101は、AVs≠3の場合にはステップS128を否定判定し、ステップS129へ進む。ステップS129において、演算回路101は、設定絞り値AVsから1を減算して設定処理を終了し、図2のステップS3へ進む。これにより、設定絞り値が1段階開放側へ変更される。
ステップS130において、演算回路101は、小絞り側に変更か否かの判定を行う。演算回路101は、絞り値設定操作部材108からの操作信号が絞り込み方向を指示する場合にステップS130を肯定判定してステップS131へ進む。演算回路101は、操作信号が絞り込み方向を指示しない場合にはステップS130を否定判定し、設定処理を終了して図2のステップS3へ進む。
ステップS131において、演算回路101は、変更前のAVsが9か否かを判定する。演算回路101は、AVs=9(設定絞り値がF22)の場合にステップS131を肯定判定して設定処理を終了し、図2のステップS3へ進む。この場合は、絞り値設定範囲の下限なので変更しないで設定処理を終了する。一方、演算回路101は、AVs≠9の場合にステップS131を否定判定し、ステップS132へ進む。ステップS132において、演算回路101は、設定絞り値AVsに1を加算して設定処理を終了し、図2のステップS3へ進む。これにより、設定絞り値が1段階小絞り側へ変更される。
カメラ本体1および外付け閃光器11間の通信処理の詳細について、図6のフローチャートを参照して説明する。図6のステップS141において、演算回路101は、計時時間TMを0にリセットしてステップS142へ進む。
ステップS142において、演算回路101は、時間TMの計時を開始してステップS143へ進む。ステップS143において、演算回路101は、コントローラ201との間の通信が成立したか否かを判定する。通信成立の判定は、所定のプロトコルチェックによって行う。演算回路101は、通信成立の場合にステップS143を肯定判定してステップS144へ進む。一方、演算回路101は、通信不成立の場合にはステップS143を否定判定してステップS148へ進む。
ステップS144において、演算回路101は、コントローラ201へフラグPおよび本発光量hを示す信号をそれぞれ送信してステップS145へ進む。ステップS145において、演算回路101は、コントローラ201から外付け閃光器11の最大発光量hmax、最小発光量hminおよびフラグFを示す信号を受信してステップS146へ進む。フラグFは、外付け閃光器11の充電が完了すると1、充電が完了しない場合に0にされるフラグである。
ステップS146において、演算回路101は、フラグRを1にセットしてステップS147へ進む。フラグRは、通信成立すると1に、通信不成立の場合は0にセットされるフラグである。
ステップS147において、演算回路101は、時間TMの計時を停止し、通信処理を終了して図2のステップS5へ進む。一方、上述したステップS143を否定判定して進むステップS148において、演算回路101は、計時時間TMと所定時間T1との間にTM≧T1が成立するか否かを判定する。所定時間T1は、プロトコルチェックに要する時間に若干のマージン時間を加算した時間である。演算回路101は、TM≧T1が成立する場合にステップS148を肯定判定してステップS149へ進み、TM≧T1が成立しない場合にはステップS148を否定判定してステップS143へ戻る。ステップS149へ進む場合は、通信機能を有する外付け閃光器11が装着されていない場合であり、ステップS143へ戻る場合は、プロトコルチェックの途中である。ステップS149において、演算回路101は、フラグRを0にセットしてステップS147へ進む。
露出演算処理Aの詳細について、図7〜図8のフローチャートを参照して説明する。図7のステップS161において、演算回路101は、EV=BV+SVsを演算してステップS162へ進む。ここで、EVは露出値である。設定撮像感度SVsは、感度設定操作部材110の操作によって設定されている撮像感度である。被写体輝度BVはステップS7または後述のステップS24、S52で得られた値である。
ステップS162において、演算回路101は、露出モードがプログラム自動露出モード(Pモード)か否かを判定する。演算回路101は、M=0(Pモード)の場合にステップS162を肯定判定してステップS163へ進み、M≠0の場合にステップS162を否定判定して図8のステップS191へ進む。
図7のステップS163〜ステップS176はPモードの場合に行われる処理である。ステップS163において、演算回路101は、露出値EVが22より大か否かを判定する。演算回路101は、EV>22が成立する場合にステップS163を肯定判定してステップS164へ進み、EV>22が成立しない場合にはステップS163を否定判定し、ステップS166へ進む。
ステップS164において、演算回路101は、制御シャッタ速度TVcを13(1/8000秒)にセットしてステップS165へ進む。ステップS165において、制御回路101は、制御絞り値AVcを9(F22(最小口径))にセットしてステップS177へ進む。
ステップS166において、演算回路101は、露出値EVが20以上か否かを判定する。演算回路101は、EV≧20が成立する場合にステップS166を肯定判定してステップS167へ進み、EV≧20が成立しない場合にはステップS166を否定判定してステップS169へ進む。
ステップS167において、演算回路101は、制御絞り値AVcを9(F22(最小口径絞り))にセットしてステップS168へ進む。ステップS168において、演算回路101は、露出値EVから9(最小口径絞り値)を減算した値を制御シャッタ速度TVcにセットしてステップS177へ進む。
ステップS169において、制御回路101は、露出値EVが8以上か否かを判定する。演算回路101は、EV≧8が成立する場合にステップS169を肯定判定してステップS170へ進み、EV≧8が成立しない場合にはステップS169を否定判定してステップS172へ進む。
ステップS170において、演算回路101は、AVc=EV/2−1を演算してステップS171へ進む。ここで、AVcは制御絞り値である。ステップS171において、演算回路101は、TVc=EV/2+1を演算してステップS177へ進む。ここで、TVcは制御シャッタ速度である。
ステップS172において、制御回路101は、露出値EVが−2以上か否かを判定する。演算回路101は、EV≧−2が成立する場合にステップS172を肯定判定してステップS173へ進み、EV≧−2が成立しない場合にはステップS172を否定判定してステップS175へ進む。
ステップS173において、演算回路101は、制御絞り値AVcを3(F2.8(開放絞り))にセットしてステップS174へ進む。ステップS174において、演算回路101は、露出値EVから3(開放絞り値)を減算した値を制御シャッタ速度TVcにセットしてステップS177へ進む。
ステップS175において、演算回路101は、制御絞り値AVcを3(F2.8(開放絞り))にセットしてステップS176へ進む。ステップS176において、演算回路101は、制御シャッタ速度TVcを−5(30秒)にセットしてステップS177へ進む。
ステップS163〜ステップS176による処理は、図21に示す閃光器非使用時のプログラム線図に基づいている。
ステップS177において、演算回路101は、制御絞りパルス数Pcを絞り込み段数(AVc−3)の関数fとして算出し、ステップS178へ進む。制御絞りパルス数Pcは、制御絞り値AVcで絞りを係止するまでに絞り位置検出装置116から出力される検出パルス数である。絞り込み段数と絞りパルス数とは比例関係にあるが、絞り開放付近で出力される絞り検出パルス数が多くなるので、絞り込み段数(AVc−3)の関数fとして算出する。
ステップS178において、演算回路101は、次式(2)によって露出偏差ΔEVを演算してステップS179へ進む。
ΔEV=TVc+AVc−EV (2)
ただし、(TVc+AVc)は制御露出であり、EVは適正露出である。
ステップS179において、演算回路101は、感度自動制御モードフラグS=1(感度自動制御モードに設定)か否かを判定する。演算回路101は、S=1の場合にステップS179を肯定判定してステップS180へ進み、S≠1の場合にステップS179を否定判定してステップS188へ進む。ステップS188へ進む場合は、感度自動制御モードが解除されている場合である。
ステップS188において、演算回路101は、制御撮像感度SVcに設定撮像感度SVsをセットしてステップS189へ進む。ステップS189において、演算回路101は、フラグCに0をセットして露出演算Aの処理を終了し、図2のステップS9へ進む。ここで、フラグCは撮像感度が設定撮像感度SVsから変更された場合(SVc≠SVs)に1、撮像感度が設定撮像感度SVsから変更されない場合(SVc=SVs)に0とするフラグである。
ステップS180において、演算回路101は、SVc=SVs+ΔEVを演算してステップS181へ進む。これにより、適正露出が得られるように制御撮像感度SVcが設定撮像感度SVsと異なる値にされる。ステップS181において、演算回路101は、SVc>9が成立するか否かを判定する。演算回路101は、SVc>9が成立する(制御撮像感度がISO1600相当より高い)場合にステップS181を肯定判定してステップS182へ進み、SVc>9が成立しない場合にはステップS181を否定判定してステップS183へ進む。ステップS182において、演算回路101は、制御撮像感度SVcを9にセットしてステップS185へ進む。これにより、制御撮像感度が制御範囲の上限であるISO1600相当にセットされる。
上述したステップS181を否定判定して進むステップS183において、演算回路101は、SVc<5が成立するか否かを判定する。演算回路101は、SVc<5が成立する(制御撮像感度がISO100相当より低い)場合にステップS183を肯定判定してステップS184へ進み、SVc<5が成立しない場合にはステップS183を否定判定してステップS185へ進む。ステップS184において、演算回路101は、制御感度SVcに5をセットしてステップS185へ進む。これにより、制御感度が制御範囲の下限であるISO100相当にセットされる。
ステップS185において、演算回路101は、SVc=SVsが成立するか否かを判定する。演算回路101は、SVc=SVsが成立しない場合にステップS185を否定判定してステップS187へ進み、SVc=SVsが成立する場合にはステップS185を肯定判定してステップS186へ進む。ステップS187において、演算回路101は、フラグCに1をセットして露出演算Aの処理を終了し、図2のステップS9へ進む。
ステップS186において、演算回路101は、フラグCに0をセットして露出演算Aの処理を終了し、図2のステップS9へ進む。
図8のステップS191以降はPモード以外の場合に行われる処理である。ステップS191において、演算回路101は、露出モードがシャッタ速度優先自動露出モード(Sモード)か否かを判定する。演算回路101は、M=1(Sモード)の場合にステップS191を肯定判定してステップS192へ進み、M≠1の場合にはステップS191を否定判定してステップS198へ進む。
ステップS192において、演算回路101は、制御シャッタ速度TVcに設定シャッタ速度TVsをセットしてステップS193へ進む。ステップS193において、演算回路101は、露出値EVから設定シャッタ速度TVsを減算した値を制御絞り値AVcにセットしてステップS194へ進む。
ステップS194において、演算回路101は、AVc<3が成立するか否かを判定する。演算回路101は、AVc<3が成立する(制御絞り値がF2.8より小さい)場合にステップS194を肯定判定してステップS195へ進み、AVc<3が成立しない場合にはステップS194を否定判定してステップS196へ進む。ステップS195において、演算回路101は、制御絞り値AVcを3にセットして図7のステップS177へ進む。これにより、制御絞り値が制御範囲の下限であるF2.8にセットされる。
ステップS196において、演算回路101は、AVc>9が成立するか否かを判定する。演算回路101は、AVc>9が成立する(制御絞り値がF22より大きい)場合にステップS196を肯定判定してステップS197へ進み、AVc>9が成立しない場合にはステップS196を否定判定して図7のステップS177へ進む。ステップS197において、演算回路101は、制御絞り値AVcを9にセットして図7のステップS177へ進む。これにより、制御絞り値が制御範囲の上限であるF22にセットされる。
上述したステップS191を否定判定して進むステップS198において、演算回路101は、露出モードが絞り優先自動露出モード(Aモード)か否かを判定する。演算回路101は、M=2(Aモード)の場合にステップS198を肯定判定してステップS199へ進み、M≠2の場合にステップS198を否定判定してステップS205へ進む。
ステップS199において、演算回路101は、制御絞り値AVcに設定絞り値AVsをセットしてステップS200へ進む。ステップS200において、演算回路101は、露出値EVから設定絞り値AVsを減算した値を制御シャッタ速度TVcにセットしてステップS201へ進む。
ステップS201において、演算回路101は、TVc<−5が成立するか否かを判定する。演算回路101は、TVc<−5が成立する(制御シャッタ速度が30秒より低速)場合にステップS201を肯定判定してステップS202へ進み、TVc<−5が成立しない場合にはステップS201を否定判定してステップS203へ進む。ステップS202において、演算回路101は、制御シャッタ速度TVcを−5にセットして図7のステップS177へ進む。これにより、制御シャッタ速度が制御範囲の下限である30秒にセットされる。
ステップS203において、演算回路101は、TVc>13が成立するか否かを判定する。演算回路101は、TVc>13が成立する(制御シャッタ速度が1/8000秒より高速)場合にステップS203を肯定判定してステップS204へ進み、TVc>13が成立しない場合にはステップS203を否定判定して図7のステップS177へ進む。ステップS204において、演算回路101は、制御シャッタ速度TVcを13にセットして図7のステップS177へ進む。これにより、制御シャッタ速度が制御範囲の上限である1/8000秒にセットされる。
上述したステップS198を否定判定して進むステップS205において、演算回路101は、制御シャッタ速度TVcに設定シャッタ速度TVsをセットしてステップS206へ進む。ステップS206において、演算回路101は、制御絞り値AVcに設定絞り値AVsをセットして図7のステップS177へ進む。
表示処理の詳細について、図9のフローチャートを参照して説明する。図9のステップS211において、演算回路101は、露出モードおよび制御絞り値AVcを示す表示をそれぞれ表示装置111に点灯表示させてステップS212へ進む。表示装置111は、露出モードを示す表示、アペックス値に対応するF値を表示する。
ステップS212において、演算回路101は、モードパラメータM=3か否かを判定する。演算回路101は、M=3(Mモード)の場合にステップS212を肯定判定してステップS215へ進み、M≠3(Mモード以外)の場合にステップS212を否定判定し、ステップS213へ進む。
ステップS213において、演算回路101は、モードパラメータM=1か否かを判定する。演算回路101は、M=1(Sモード)の場合にステップS213を肯定判定してステップS216へ進み、M≠1(Sモード以外)の場合にステップS213を否定判定し、ステップS214へ進む。
ステップS214において、演算回路101は、MモードでもSモードでもないので、制御シャッタ速度TVcを示す表示を表示装置111に点灯表示させてステップS218へ進む。表示装置111は、アペックス値に対応するシャッタ速度を点灯表示する。
ステップS215において、演算回路101は、露出偏差ΔEVのマイナス値を適正露出との露出差として表示するように表示装置111に指示してステップS216へ進む。これにより、表示装置111に露出差が表示される。
ステップS216において、演算回路101は、TVc=TVsが成立するか否かを判定する。演算回路101は、TVc=TVsが成立しない場合にステップS216を否定判定してステップS217へ進み、TVc=TVsが成立する場合にはステップS216を肯定判定してステップS214へ進む。
ステップS217において、演算回路101は、TVc≠TVsであることを示すために、制御シャッタ速度TVcを示す表示を表示装置111に点滅表示させてステップS218へ進む。これにより表示装置111は、アペックス値に対応するシャッタ速度を点滅表示する。点滅表示は警告を表す。
ステップS218において、演算回路101は、感度自動制御モードフラグS=1か否かを判定する。演算回路101は、S=1(感度自動制御モードに設定)の場合にステップS218を肯定判定してステップS219へ進み、S=0(感度自動制御モードが解除)の場合にステップS218を否定判定してステップS223へ進む。
ステップS219において、演算回路101は、フラグC=1か否かを判定する。演算回路101は、C=1(SVc≠SVs)の場合にステップS219を肯定判定してステップS220へ進み、C=0(SVc=SVs)の場合にステップS219を否定判定してステップS222へ進む。
ステップS220において、演算回路101は、「ISO AUTO」の文字もしくはマークを表示装置111に点滅表示させ、ステップS221へ進む。ステップS221において、演算回路101は、制御撮像感度SVcのアペックス値に対応するISO値を表示装置111にさらに表示させて図9による表示処理を終了し、図2のステップS10へ進む。
ステップS222において、演算回路101は、「ISO AUTO」の文字もしくはマークを表示装置111に点灯表示させ、ステップS223へ進む。ステップS223において、演算回路101は、設定撮像感度SVsのアペックス値に対応するISO値を表示装置111にさらに表示させて図9による表示処理を終了し、図2のステップS10へ進む。
撮像シーケンス処理Aの詳細について、図10のフローチャートを参照して説明する。図10のステップS231において、演算回路101は、シャッタ駆動回路114に指令を出力し、シャッタ115の不図示のマグネットに通電して先幕および後幕を保持させる。ステップS232において、演算回路101は、撮像素子121のデータ転送路における不要電荷の排出を開始させてステップS233へ進む。
ステップS233において、演算回路101は、モータ駆動回路112に指令を出力し、シーケンスモータ113の正転を開始させてステップS234へ進む。これにより、不図示のミラーのミラーアップおよび絞りの絞り込みが開始される。ステップS234において、演算回路101は、絞り位置検出装置116から入力される検出パルス信号をカウントしてステップS235へ進む。
ステップS235において、演算回路101は、カウント数Pkと制御絞りパルス数Pcとの間にPk≧Pcが成立するか否かを判定する。演算回路101は、Pk≧Pcが成立する場合にステップS235を肯定判定してステップS236へ進み、Pk≧Pcが成立しない場合にはステップS235を否定判定する。否定判定する場合はステップS234へ戻り、絞り込みを継続してステップS235の判定処理を繰り返す。
ステップS236において、演算回路101は、絞り係止装置117に指令を出力して絞りを係止させ、ステップS237へ進む。ステップS237において、演算回路101は、ミラーアップが終了したか否かを判定する。演算回路101は、シーケンススイッチSW4からオン信号が入力されるとステップS237を肯定判定してステップS238へ進み、シーケンススイッチSW4からオン信号が入力されない場合にはステップS237を否定判定する。否定判定する場合は、ミラーアップを継続して当該判定処理が繰り返される。
ステップS238において、演算回路101は、モータ駆動回路112に指令を出力し、シーケンスモータ113の正転を停止させてステップS239へ進む。なお、ミラーアップの終了より先に絞り係止装置117によって絞りの係止が終了するように不図示のシーケンス駆動装置が構成されている。
ステップS239において、演算回路101は、撮像素子121における不要電荷の排出を終了させてステップS240へ進む。ステップS240において、演算回路101は、シャッタ駆動回路114に指令を出力し、シャッタ115の不図示のマグネットへの通電を解除して先幕保持を解除させ、ステップS241へ進む。これによってシャッタ先幕の走行が開始される。
ステップS241において、演算回路101は、X接点スイッチSW5がオンしたか否かを判定する。演算回路101は、X接点スイッチSW5からオン信号が入力されるとステップS241を肯定判定してステップS242へ進み、X接点スイッチSW5からオン信号が入力されない場合にはステップS241を否定判定し、当該判定処理を繰り返す。
ステップS242において、演算回路101は、計時時間TMを0にリセットしてステップS243へ進む。ステップS243において、演算回路101は、時間TMの計時を開始してステップS244へ進む。ステップS244において、演算回路101は、撮像素子121の電荷蓄積を開始させてステップS245へ進む。
ステップS245において、演算回路101は、計時開始してから制御シャッタ速度TVcに相当する時間が経過したか否かを判定する。演算回路101は、TM≧2−TVcが成立するとステップS245を肯定判定してステップS246へ進み、TM≧2−TVcが成立しない場合にはステップS245を否定判定し、当該判定処理を繰り返す。
ステップS246において、演算回路101は、撮像素子121の電荷蓄積を終了させてステップS247へ進む。ステップS247において、演算回路101は、時間TMの計時を停止してステップS248へ進む。
ステップS248において、演算回路101は、シャッタ駆動回路114に指令を出力し、シャッタ115の不図示のマグネットへの通電を解除して後幕保持を解除させ、ステップS249へ進む。これによってシャッタ後幕の走行が開始され、撮像素子121へ入射する被写体光が遮断される。このように、制御シャッタ速度TVcに対応する露出制御が行われる。
ステップS249において、演算回路101は、モータ駆動回路112に指令を出力し、シーケンスモータ113に逆転を開始させてステップS250へ進む。これにより、不図示のミラーのミラーダウンおよび絞りの開放復帰が開始される。ステップS250において、演算回路101は、所定時間のウエイトを挿入してステップS251へ進む。ウエイト時間は、後幕が撮像素子121の撮像領域を完全に遮光し、走行を完了するまでに要する時間とする。
ステップS251において、演算回路101は、撮像素子121から蓄積電荷の読み出しを開始させてステップS252へ進む。これにより、撮像素子121からはき出された画像信号がA/D変換回路122でディジタルデータに変換され、変換後のデータが画像処理回路123へ送られる。
ステップS252において、演算回路101は、画像処理回路123に画像処理を指示してステップS253へ進む。ステップS253において、演算回路101は、画像処理回路123に画像圧縮処理を指示してステップS254へ進む。ステップS254において、演算回路101は、圧縮処理後の画像データを記録媒体126に記録してステップS255へ進む。
ステップS255において、演算回路101は、ミラーダウンが終了したか否かを判定する。演算回路101は、シーケンススイッチSW4からオン信号が入力されるとステップS255を肯定判定してステップS256へ進み、シーケンススイッチSW4からオン信号が入力されない場合はステップS255を否定判定し、当該判定処理を繰り返す。
ステップS256において、演算回路101は、モータ駆動回路112に指令を出力し、シーケンスモータ113の逆転を停止させて図10による撮像シーケンスAの処理を終了し、図2のステップS2へ戻る。
(内蔵閃光器を使用する場合)
上記2.に対応する処理を図3のフローチャートを参照して説明する。図3のステップS21において、演算回路101は、充電フラグJ=0か否かを判定する。演算回路101は、J=0(内蔵閃光器発光回路102(図1)における充電回路の充電が完了していない)の場合にステップ21を肯定判定してステップS22へ進み、J=1の場合にはステップS21を否定判定し、ステップS23へ進む。
ステップS22において、演算回路101は、内蔵閃光器発光回路102に充電開始を指示してステップS23へ進む。ステップS23〜ステップS24による処理は、上述したステップS6〜ステップS7による処理と同じであるので説明を省略する。
ステップS25において、演算回路101は、露出演算Bの処理を行ってステップS26へ進む。露出演算Bの処理の詳細については後述する。ステップS26において、演算回路101は、表示装置111に対する表示処理を行ってステップS27へ進む。表示処理の詳細については上述したとおりである。
ステップS27〜ステップS30による処理は、上述したステップS10〜ステップS13による処理と同じであるので説明を省略する。
ステップS31において、演算回路101は、充電フラグJ=0か否かを判定する。演算回路101は、J=0(内蔵閃光器発光回路102における充電回路の充電が完了していない)の場合にステップ31を肯定判定してステップS32へ進み、J=1の場合にはステップS31を否定判定し、ステップS35へ進む。
ステップS32において、演算回路101は、充電が完了したか否かを判定する。演算回路101は、内蔵閃光器発光回路102から完了信号が入力された場合にステップS32を肯定判定してステップS33へ進み、完了信号が入力されない場合には図2のステップS2へ戻る。ステップS2へ戻る場合は、ステップS35のレリーズ判定処理に進めないのでレリーズロックされた状態である。
ステップS33において、演算回路101は、充電フラグJを1にセットしてステップS34へ進む。ステップS34において、演算回路101は、表示装置111に指令を送り、充電完了を示す表示を行わせてステップS35へ進む。表示態様は、たとえば、不図示のファインダー内に稲妻マークを点灯させる。
ステップS35において、演算回路101は、全押し操作(レリーズ)されたか否かを判定する。演算回路101は、全押しスイッチSW3から操作信号が入力された場合にステップS35を肯定判定してステップS36へ進み、全押しスイッチSW3から操作信号が入力されない場合にはステップS35を否定判定し、図2のステップS2へ戻る。
ステップS36において、演算回路101は、撮像シーケンスBの処理を行ってステップS37へ進む。撮像シーケンスBの処理の詳細については後述する。ステップS37において、演算回路101は、フラグKの判定を行う。フラグKは、撮像シーケンスにおいて制御撮像感度SVcと設定撮像感度SVsとが異なる場合に1、一致する場合に0にされるフラグである。演算回路101は、K=1の場合にステップS37を肯定判定してステップS38へ進み、K=0の場合にステップS37を否定判定してステップS39へ進む。
ステップS38において、演算回路101は、設定撮像感度SVsと異なる感度で撮影が行われたので表示装置111に指令を送り、「ISO AUTO」の文字もしくはマークを点滅表示させてステップS39へ進む。ステップS39において、演算回路101は、フラグFUの判定を行う。フラグFUは、設定撮像感度SVsを変更しても発光量の不足によって露光不足の場合に1、露光不足にならない場合に0にされるフラグである。演算回路101は、FU=1の場合にステップS39を肯定判定してステップS40へ進み、FU=0の場合にはステップS39を否定判定してステップS41へ進む。
ステップS40において、演算回路101は表示装置111に指令を送り、発光量不足(露光アンダー)を示す警告表示を行わせてステップS43へ進む。表示態様は、たとえば、稲妻マークおよび「UNDER」の文字を点滅させる。ステップS43において、演算回路101は、充電フラグJを0にセットして図2のステップS2へ戻る。これにより、一連の撮影処理が終了する。
ステップS41において、演算回路101は、フラグFOの判定を行う。フラグFOは、設定撮像感度SVsを変更しても発光量が多すぎることによって露光過剰の場合に1、露光過剰にならない場合に0にされるフラグである。演算回路101は、FO=1の場合にステップS41を肯定判定してステップS42へ進み、FO=0の場合にステップS41を否定判定し、ステップS43へ進む。
ステップS42において、演算回路101は表示装置111に指令を送り、発光量過多(露光オーバー)を示す警告表示を行わせてステップS43へ進む。表示態様は、たとえば、稲妻マークおよび「OVER」の文字を点滅させる。
閃光器が使用される場合の露出演算処理Bの詳細について、図11のフローチャートを参照して説明する。図11のステップS261〜ステップS262による処理は、上述したステップS161〜ステップS162による処理と同じであるので説明を省略する。
ステップS263において、演算回路101は、露出値EVが18より大か否かを判定する。演算回路101は、EV>18が成立する場合にステップS263を肯定判定してステップS264へ進み、EV>18が成立しない場合にはステップS263を否定判定してステップS266へ進む。
ステップS264において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS265へ進む。ステップS265において、制御回路101は、制御絞り値AVcを9(F22(最小口径絞り))にセットしてステップS294へ進む。
ステップS266において、演算回路101は、露出値EVが12以上か否かを判定する。演算回路101は、EV≧12が成立する場合にステップS266を肯定判定してステップS267へ進み、EV≧12が成立しない場合にはステップS266を否定判定してステップS269へ進む。
ステップS267において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS268へ進む。ステップS268において、演算回路101は、露出値EVから9(1/500秒)を減算した値を制御絞り値AVcにセットしてステップS294へ進む。
ステップS269において、制御回路101は、露出値EVが−2以上か否かを判定する。演算回路101は、EV≧−2が成立する場合にステップS269を肯定判定してステップS270へ進み、EV≧−2が成立しない場合にはステップS269を否定判定してステップS272へ進む。
ステップS270において、演算回路101は、制御絞り値AVcを3(F2.8(開放絞り))にセットしてステップS271へ進む。ステップS271において、演算回路101は、露出値EVから3(F2.8)を減算した値を制御シャッタ速度TVcにセットしてステップS294へ進む。
ステップS272において、演算回路101は、制御絞り値AVcを3(F2.8(開放絞り))にセットしてステップS273へ進む。ステップS273において、演算回路101は、制御シャッタ速度TVcを−5(30秒)にセットしてステップS294へ進む。
ステップS263〜ステップS273による処理は、図22に示す閃光器使用時のプログラム線図に基づいている。
上述したステップS262を否定判定して進むステップS274において、演算回路101は、モードパラメータM=1か否かを判定する。演算回路101は、M=1(Sモード)の場合にステップS274を肯定判定してステップS275へ進み、M≠1(Sモード以外)の場合にステップS274を否定判定し、ステップS283へ進む。
ステップS275において、演算回路101は、設定シャッタ速度TVsが1/500秒より高速か否かを判定する。演算回路101は、TVs>9が成立する場合にステップS275を肯定判定してステップS276へ進み、TVs>9が成立しない場合にはステップS275を否定判定し、ステップS278へ進む。
ステップS276において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS277へ進む。ステップS278において、演算回路101は、設定シャッタ速度TVsの値を制御シャッタ速度TVcへ代入してステップS277へ進む。ステップS277において、演算回路101は、露出値EVから制御シャッタ速度TVcを減算した値を制御絞り値AVcにセットしてステップS279へ進む。
ステップS279において、演算回路101は、制御絞り値AVcがF2.8より小か否かを判定する。演算回路101は、AVc<3が成立する場合にステップS279を肯定判定してステップS280へ進み、AVc<3が成立しない場合にはステップS279を否定判定し、ステップS281へ進む。ステップS280において、演算回路101は、制御絞り値AVcを3(F2.8(開放絞り))にセットしてステップS294へ進む。
ステップS281において、演算回路101は、制御絞り値AVcがF22より大か否かを判定する。演算回路101は、AVc>9が成立する場合にステップS281を肯定判定してステップS282へ進み、AVc>9が成立しない場合にはステップS281を否定判定し、ステップS294へ進む。ステップS282において、演算回路101は、制御絞り値AVcを9(F22(最小口径絞り))にセットしてステップS294へ進む。
ステップS279〜ステップS282の処理により、絞り値がF2.8〜F22の範囲に制限される。
上述したステップS274を否定判定して進むステップS283において、演算回路101は、モードパラメータM=2か否かを判定する。演算回路101は、M=2(Aモード)の場合にステップS283を肯定判定してステップS284へ進み、M≠2(Aモード以外)の場合にステップS283を否定判定し、ステップS290へ進む。
ステップS284において、演算回路101は、設定絞り値AVsの値を制御絞り値AVcへ代入してステップS285へ進む。ステップS285において、演算回路101は、露出値EVから制御絞り値AVcを減算した値を制御シャッタ速度TVcにセットしてステップS286へ進む。
ステップS286において、演算回路101は、制御シャッタ速度TVcが1/500秒より高速か否かを判定する。演算回路101は、TVc>9が成立する場合にステップS286を肯定判定してステップS287へ進み、TVc>9が成立しない場合にはステップS286を否定判定し、ステップS288へ進む。ステップS287において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS294へ進む。
ステップS288において、演算回路101は、制御シャッタ速度TVcが30秒より低速か否かを判定する。演算回路101は、TVc<−5が成立する場合にステップS288を肯定判定してステップS289へ進み、TVc<−5が成立しない場合にはステップS288を否定判定し、ステップS294へ進む。ステップS289において、演算回路101は、制御シャッタ速度TVcを−5(30秒)にセットしてステップS294へ進む。
ステップS286〜ステップS289の処理により、閃光器使用時のシャッタ速度が30秒〜1/500秒の範囲に制限される。
上述したステップS283を否定判定して進むステップS290において、演算回路101は、設定絞り値AVsの値を制御絞り値AVcへ代入してステップS291へ進む。ステップS291において、演算回路101は、設定シャッタ速度TVsが1/500秒より高速か否かを判定する。演算回路101は、TVs>9が成立する場合にステップS291を肯定判定してステップS292へ進み、TVs>9が成立しない場合にはステップS291を否定判定し、ステップS293へ進む。
ステップS292において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS294へ進む。ステップS293において、演算回路101は、設定シャッタ速度TVsの値を制御シャッタ速度TVcへ代入してステップS294へ進む。
ステップS294において、演算回路101は、制御絞りパルス数Pcを絞り込み段数(AVc−3)の関数fとして算出し、図11による露出演算Bの処理を終了して図3のステップS26へ進む。
撮像シーケンス処理Bの詳細について、図12〜図15のフローチャートを参照して説明する。図12のステップS301およびステップS302による処理は、上述したステップS242およびステップS243による処理と同じであるので説明を省略する。ステップS303において、演算回路101は、内蔵閃光器発光回路102に予備発光(プリ発光)開始を指示してステップS304へ進む。
ステップS304において、演算回路101は、発光量検出装置118から時間積分値を入力し、この時間積分値を用いて発光部44の発光量Bhkを検出してステップS305へ進む。ステップS305において、演算回路101は、内蔵閃光器の発光量Bhkと所定発光量Bh0との間にBhk≧Bh0が成立するか否かを判定する。演算回路101は、Bhk≧Bh0が成立する場合にステップS305を肯定判定してステップS306へ進み、Bhk≧Bh0が成立しない場合にはステップS305を否定判定する。否定判定する場合は、発光量Bhkが所定発光量Bh0に達するまで当該判定処理を繰り返すようにステップS304へ進む。
ステップS306において、演算回路101は、内蔵閃光器発光回路102に予備発光(プリ発光)停止を指示してステップS307へ進む。ステップS307において、演算回路101は、時間TMの計時を停止してステップS308へ進む。
ステップS308において、演算回路101は、計時時間TMの間(予備発光時間を含む)に測光装置103に蓄積された測光データ(各分割領域ごとにX(i)とする)をそれぞれ入力して記憶し、ステップS309へ進む。
ステップS309において、演算回路101は、ステップS308における測光データ取得後に内蔵閃光器を発光させない状態で計時時間TMの間に測光装置103に蓄積された測光データ(各分割領域ごとにY(i)とする)をそれぞれ入力して記憶し、ステップS310へ進む。
ステップS310において、演算回路101は、定常光成分の影響を除去した測光データ(各分割領域ごとにZ(i)=X(i)−Y(i)とする)を算出してステップS311へ進む。ステップS311において、演算回路101は、定常光成分の影響を除去した各領域の測光データを用いて、制御絞り値AVcおよび設定撮像感度SVsにおける内蔵閃光器の本発光量Bhを算出し、ステップS312へ進む。
ステップS312において、演算回路101は、算出した内蔵閃光器の本発光量Bhとあらかじめ設定されている内蔵閃光器の最大発光量Bhmaxとを比較し、Bh>Bhmaxが成立するか否かを判定する。演算回路101は、Bh>Bhmaxが成立する場合にステップS312を肯定判定して図14のステップS351へ進み、Bh>Bhmaxが成立しない場合にはステップS312を否定判定し、ステップS313へ進む。ステップS351へ進む場合は、設定撮像感度SVsでは感度が低すぎる場合であり、設定撮像感度SVsより高い制御撮像感度SVcにする必要がある。
ステップS313において、演算回路101は、算出した内蔵閃光器の本発光量Bhとあらかじめ設定されている内蔵閃光器の最小発光量Bhminとを比較し、Bh<Bhminが成立するか否かを判定する。演算回路101は、Bh<Bhminが成立する場合にステップS313を肯定判定して図15のステップS371へ進み、Bh<Bhminが成立しない場合にステップS313を否定判定し、ステップS314へ進む。ステップS371へ進む場合は、設定撮像感度SVsでは感度が高すぎる場合であり、設定撮像感度SVsより低い制御撮像感度SVcにする必要がある。
ステップS314において、演算回路101は、フラグK、フラグFU、およびフラグFOにそれぞれ0をセットしてステップS315へ進む。ステップS315〜ステップS317による処理は、上述したステップS231〜ステップS233による処理と同じであるので説明を省略する。演算回路101は、ステップS317の処理を行うと図13のステップS321へ進む。
図13のステップS321〜ステップS330による処理は、上述したステップS234〜ステップS243による処理と同じであるので説明を省略する。
ステップS331において、演算回路101は、内蔵閃光器発光回路102に本発光開始を指示してステップS332へ進む。ステップS332において、演算回路101は、撮像素子121の電荷蓄積を開始させてステップS333へ進む。
ステップS333〜ステップS335による処理は、上述したステップS304〜ステップS306による処理と同様であるので説明を省略する。ただし、検出した発光部44の発光量BhkをステップS311で算出した発光量Bhとの間で比較し、Bhk≧Bhが成立する場合に本発光を停止させる。
ステップS336〜ステップS347による処理は、上述したステップS245〜ステップS256による処理と同じであるので説明を省略する。演算回路101は、図13による撮像シーケンス処理Bを終了すると、図3のステップS37へ進む。
上述したステップS312を肯定判定して進む図14のステップS351において、演算回路101は、感度自動制御モードフラグS=1か否かを判定する。演算回路101は、S=1(感度自動制御モードに設定)の場合にステップS351を肯定判定してステップS352へ進み、S=0(感度自動制御モードが解除)の場合にステップS351を否定判定してステップS362へ進む。
ステップS352において、演算回路101は、次式(3)を用いて制御撮像感度SVcを算出し、ステップS353へ進む。
SVc=SVs+log2(Bh/Bhmax) (3)
上式(3)は、閃光器の発光量を撮像感度(ISO相当)の増加に反比例させると、適正露出が得られるという考えに基づくものである。
ステップS353において、演算回路101は、内蔵閃光器の発光量Bhを最大発光量BhmaxにセットしてステップS354へ進む。ステップS354において、演算回路101は、SVc>9が成立するか否かを判定する。演算回路101は、SVc>9が成立する(制御撮像感度がISO1600相当より高い)場合にステップS354を肯定判定してステップS355へ進み、SVc>9が成立しない場合にはステップS354を否定判定してステップS358へ進む。
ステップS355へ進む場合は、制御撮像感度SVcが設定可能範囲を超えている場合である。ステップS355において、演算回路101は、制御撮像感度SVcに9をセットしてステップS356へ進む。これにより、制御撮像感度が制御範囲の上限であるISO1600相当にセットされる。ステップS356において、演算回路101は、フラグFUに1、フラグFOに0をそれぞれセットしてステップS357へ進む。
一方、ステップS358へ進む場合は、制御撮像感度SVcが設定可能範囲内の場合である。ステップS358において、演算回路101は、フラグFUに0、フラグFOに0をそれぞれセットしてステップS357へ進む。
ステップS357において、演算回路101は、制御撮像感度SVcと設定撮像感度SVsとを比較し、SVc=SVsが成立するか否かを判定する、演算回路101は、SVc=SVsが成立する場合にステップS357を肯定判定してステップS359へ進み、SVc=SVsが成立しない場合にはステップS357を否定判定し、ステップS360へ進む。
ステップS359において、演算回路101は、フラグKに0をセットして図12のステップS315へ進む。ステップS360において、演算回路101は、フラグKに1をセットしてステップS361へ進む。
ステップS361において、演算回路101は、露出演算BBの処理を行って図12のステップS315へ進む。露出演算BBの処理については後述する。
上述したステップS351を否定判定して進むステップS362において、演算回路101は、フラグKに0、フラグFUに1、フラグFOに0をそれぞれセットして図12のステップS315へ進む。この場合は、感度自動制御モードが解除されているため、フラグセットのみを行ってステップS315へ進む。
上述したステップS313を肯定判定して進む図15のステップS371において、演算回路101は、感度自動制御モードフラグS=1か否かを判定する。演算回路101は、S=1(感度自動制御モードに設定)の場合にステップS371を肯定判定してステップS372へ進み、S=0(感度自動制御モードが解除)の場合にステップS371を否定判定してステップS382へ進む。
ステップS372において、演算回路101は、次式(4)を用いて制御撮像感度SVcを算出し、ステップS373へ進む。
SVc=SVs−log2(Bhmin/Bh) (4)
上式(4)は、閃光器の発光量を撮像感度(ISO相当)の減少に反比例させると、適正露出が得られるという考えに基づくものである。
ステップS373において、演算回路101は、内蔵閃光器の発光量Bhを最小発光量BhminにセットしてステップS374へ進む。ステップS374において、演算回路101は、SVc<5が成立するか否かを判定する。演算回路101は、SVc<5が成立する(制御撮像感度がISO100相当より低い)場合にステップS374を肯定判定してステップS375へ進み、SVc<5が成立しない場合にはステップS374を否定判定してステップS378へ進む。
ステップS375へ進む場合は、制御撮像感度SVcが設定可能範囲を超えている場合である。ステップS375において、演算回路101は、制御撮像感度SVcに5をセットしてステップS376へ進む。これにより、制御撮像感度が制御範囲の下限であるISO100相当にセットされる。ステップS376において、演算回路101は、フラグFUに0、フラグFOに1をそれぞれセットしてステップS377へ進む。
一方、ステップS378へ進む場合は、制御撮像感度SVcが設定可能範囲内の場合である。ステップS378において、演算回路101は、フラグFUに0、フラグFOに0をそれぞれセットしてステップS377へ進む。
ステップS377において、演算回路101は、制御撮像感度SVcと設定撮像感度SVsとを比較し、SVc=SVsが成立するか否かを判定する、演算回路101は、SVc=SVsが成立する場合にステップS377を肯定判定してステップS379へ進み、SVc=SVsが成立しない場合にはステップS377を否定判定してステップS380へ進む。
ステップS379において、演算回路101は、フラグKに0をセットして図12のステップS315へ進む。ステップS380において、演算回路101は、フラグKに1をセットしてステップS381へ進む。
ステップS381において、演算回路101は、露出演算BBの処理を行って図12のステップS315へ進む。露出演算BBの処理については後述する。
上述したステップS371を否定判定して進むステップS382において、演算回路101は、フラグKに0、フラグFUに0、フラグFOに1をそれぞれセットして図12のステップS315へ進む。この場合は、感度自動制御モードが解除されているため、フラグセットのみを行ってステップS315へ進む。
(外付け閃光器を使用する場合)
上記3.に対応する処理を図4のフローチャートを参照して説明する。図4のステップS51〜ステップS58による処理は、上述したステップS23〜ステップS30による処理と同じであるので説明を省略する。
ステップS59において、演算回路101は、上述した通信処理によって外付け閃光器11から受信したフラグFが1か否かを判定する。演算回路101は、F=1(充電完了)の場合にステップS59を肯定判定してステップS60へ進み、F≠1(充電完了してない)の場合にステップS59を否定判定してステップS61へ進む。
ステップS60において、演算回路101は表示装置111に指令を送り、充電完了を示す表示を行わせてステップS61へ進む。表示態様は、たとえば、不図示のファインダー内に稲妻マークを点灯させる。
ステップS61〜ステップS68による処理は、上述したステップS35〜ステップS42による処理と同様であるので説明を省略する。ただし、撮像シーケンスBの処理の代わりに撮像シーケンスCの処理を行う。また、ステップS66、ステップS68およびステップS67を否定判定のいずれかの処理を行うと、図2のステップS2へ戻る。
撮像シーケンス処理Cの詳細について、図16〜図19のフローチャートを参照して説明する。図16のステップS391およびステップS392による処理は、上述したステップS242およびステップS243による処理と同じであるので説明を省略する。ステップS393において、演算回路101は、フラグPに1をセットしてステップS394へ進む。ステップS394において、演算回路101は、外付け閃光器11のコントローラ201との間で上述した通信処理を行ってステップS395へ進む。通信によって外付け閃光器11のコントローラ201がフラグP=1を受信すると、発光回路202が発光部11aを小光量で予備発光させる。
ステップS395において、演算回路101は、計時時間TMが所定の予備発光時間Tpre以上か否かを判定する。演算回路101は、TM≧Tpreが成立するとステップS395を肯定判定してステップS396へ進み、TM≧Tpreが成立しない場合にはステップS395を否定判定し、当該判定処理を繰り返す。
ステップS396において、演算回路101は、時間TMの計時を停止してステップS397へ進む。
ステップS397において、演算回路101は、計時時間TMの間(予備発光時間を含む)に測光装置103に蓄積された測光データ(各分割領域ごとにX(i)とする)をそれぞれ入力して記憶し、ステップS398へ進む。
ステップS398において、演算回路101は、ステップS397における測光データ取得後に外付け閃光器11を発光させない状態で計時時間TMの間に測光装置103に蓄積された測光データ(各分割領域ごとにY(i)とする)をそれぞれ入力して記憶し、ステップS399へ進む。
ステップS399において、演算回路101は、定常光成分の影響を除去した測光データ(各分割領域ごとにZ(i)=X(i)−Y(i)とする)を算出してステップS400へ進む。ステップS400において、演算回路101は、定常光成分の影響を除去した各領域の測光データを用いて、制御絞り値AVcおよび設定撮像感度SVsにおける外付け閃光器11の本発光量hを算出し、ステップS401へ進む。
ステップS401において、演算回路101は、算出した外付け閃光器11の本発光量hと通信によって取得されている外付け閃光器11の最大発光量hmaxとを比較し、h>hmaxが成立するか否かを判定する。演算回路101は、h>hmaxが成立する場合にステップS401を肯定判定して図18のステップS441へ進み、h>hmaxが成立しない場合にはステップS401を否定判定し、ステップS402へ進む。ステップS441へ進む場合は、設定撮像感度SVsでは感度が低すぎる場合であり、設定撮像感度SVsより高い制御撮像感度SVcにする必要がある。
ステップS402において、演算回路101は、算出した外付け閃光器11の本発光量hと通信によって取得されている外付け閃光器11の最小発光量hminとを比較し、h<hminが成立するか否かを判定する。演算回路101は、h<hminが成立する場合にステップS402を肯定判定して図19のステップS461へ進み、h<hminが成立しない場合にはステップS402を否定判定し、ステップS403へ進む。ステップS461へ進む場合は、設定撮像感度SVsでは感度が高すぎる場合であり、設定撮像感度SVsより低い制御撮像感度SVcにする必要がある。
ステップS403において、演算回路101は、フラグK、フラグFU、およびフラグFOにそれぞれ0をセットしてステップS404へ進む。ステップS404〜ステップS406による処理は、上述したステップS231〜ステップS233による処理と同じであるので説明を省略する。演算回路101は、ステップS406の処理を行うと図17のステップS411へ進む。
図17のステップS411〜ステップS416による処理は、上述したステップS234〜ステップS249による処理と同じであるので説明を省略する。
ステップS417において、演算回路101は、フラグPに0をセットしてステップS418へ進む。ステップS418において、演算回路101は、外付け閃光器11のコントローラ201との間で通信処理を行ってステップS419へ進む。この場合には、フラグP=0にされているので予備発光は行わない。コントローラ201は、通信処理によって本発光量hを受信する。
ステップS419〜ステップS420による処理は、上述したステップS240〜ステップS241による処理と同じであるので説明を省略する。
ステップS421において、演算回路101は、外付け閃光器11の発光回路102に本発光開始を指示する信号を出力してステップS422へ進む。
ステップS422〜ステップS436による処理は、上述したステップS242〜ステップS256による処理と同じであるので説明を省略する。演算回路101は、図17による撮像シーケンス処理Cを終了すると、図4のステップS63へ進む。
上述したステップS401を肯定判定して進む図18のステップS441において、演算回路101は、感度自動制御モードフラグS=1か否かを判定する。演算回路101は、S=1(感度自動制御モードに設定)の場合にステップS441を肯定判定してステップS442へ進み、S=0(感度自動制御モードが解除)の場合にステップS441を否定判定してステップS452へ進む。
ステップS442において、演算回路101は、次式(5)を用いて制御撮像感度SVcを算出し、ステップS443へ進む。
SVc=SVs+log2(h/hmax) (5)
上式(5)は、閃光器の発光量を撮像感度(ISO相当)の増加に反比例させると、適正露出が得られるという考えに基づくものである。
ステップS443において、演算回路101は、外付け閃光器11の発光量hを最大hmaxにセットしてステップS444へ進む。
ステップS444〜ステップS452による処理は、上述したステップS354〜ステップS362による処理と同じであるので説明を省略する。演算回路101は、ステップS449、ステップS451もしくはステップS452による処理を行うと、図16のステップS404へ進む。
上述したステップS402を肯定判定して進む図19のステップS461において、演算回路101は、感度自動制御モードフラグS=1か否かを判定する。演算回路101は、S=1(感度自動制御モードに設定)の場合にステップS461を肯定判定してステップS462へ進み、S=0(感度自動制御モードが解除)の場合にステップS461を否定判定してステップS472へ進む。
ステップS462において、演算回路101は、次式(6)を用いて制御撮像感度SVcを算出し、ステップS463へ進む。
SVc=SVs−log2(hmin/h) (6)
上式(6)は、閃光器の発光量を撮像感度(ISO相当)の減少に反比例させると、適正露出が得られるという考えに基づくものである。
ステップS463において、演算回路101は、外付け閃光器11の発光量hを最小hminにセットしてステップS464へ進む。
ステップS464〜ステップS472による処理は、上述したステップS374〜ステップS382による処理と同じであるので説明を省略する。演算回路101は、ステップS469、ステップS471もしくはステップS472による処理を行うと、図16のステップS404へ進む。
露出演算BBの処理の詳細について、図20のフローチャートを参照して説明する。露出演算BBは、閃光器の発光量の過不足を補正するための感度変更にともなって変化する背景の露出条件の変化分を調節するものである。図20のステップS481において、演算回路101は、EV=BV+SVcを演算してステップS482へ進む。ここで、EVは露出値である。制御撮像感度SVcは、発光量の過不足補正のために変更された撮像感度である。被写体輝度BVはステップS7で得られた値である。
ステップS482において、演算回路101は、露出値EVから制御絞り値AVcを減算した値を制御シャッタ速度TVcにセットしてステップS483へ進む。
ステップS483において、演算回路101は、制御シャッタ速度TVcが1/500秒より高速か否かを判定する。演算回路101は、TVc>9が成立する場合にステップS483を肯定判定してステップS484へ進み、TVc>9が成立しない場合にはステップS483を否定判定し、ステップS485へ進む。ステップS484において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットして図20による露出演算BBの処理を終了する。
ステップS485において、演算回路101は、制御シャッタ速度TVcが30秒より低速か否かを判定する。演算回路101は、TVc<−5が成立する場合にステップS485を肯定判定してステップS486へ進み、TVc<−5が成立しない場合にはステップS485を否定判定し、図20による処理を終了する。
ステップS483〜ステップS486の処理により、閃光器使用時のシャッタ速度が30秒〜1/500秒の範囲に制限される。
以上説明した第一の実施の形態についてまとめる。
被写体輝度BVおよび設定撮像感度SVsに応じて制御絞り値AVcおよび/または制御シャッタ速度TVcを演算し、適正露出が得られるように制御撮像感度SVcをさらに演算し、設定撮像感度SVsから制御撮像感度SVcに変えて露出制御を行う動作モード(撮像感度自動制御モード)を有する電子カメラ1において以下のようにした。
(1)とくに、電子カメラ1が内蔵閃光器(もしくは外付け閃光器11)を使用する場合、閃光器の予備発光時に得られる発光量検出装置118による時間積分値を用いて本発光時の発光量Bh(もしくはh)を算出し、この発光量が内蔵閃光器(もしくは外付け閃光器11)の発光量の上下限から外れる場合に、設定撮像感度SVsから制御撮像感度SVcに変えて適正露出を得るようにした。これにより、閃光器の光量が過多の場合や不足する場合でも、撮像感度を自動的に変更して適正露出を得ることができる。
(2)本発光時の発光量Bh(もしくはh)の算出は、定常光(閃光器以外の太陽や室内照明などによる周囲光)成分を除去して行うので、閃光器による予備発光量を正確に得ることができる。
(3)上記(1)で設定撮像感度SVsから制御撮像感度SVcに変えた場合、露出演算BBの処理を行うことにより、閃光器の発光量の過不足を補正するための感度変更にともなって変化する背景の露出(シャッタ速度、絞り値および撮像感度で決定される値)の変化分をシャッタ速度を変えて調節するようにした。したがって、たとえば、逆光で風景を背景にする日中シンクロ撮影の場合に、被写界中央の主要被写体の輝度が低いので撮像感度を上げたとしても、制御シャッタ速度TVcを再度演算する(S482)結果、背景の露出がオーバーしてしまうことを防止できる。
上述した電子カメラに内蔵される閃光器は、使用位置と格納位置との間を移動するものを例に説明したが、このようなポップアップ式でなくてもよい。この場合には、電子カメラの不図示の操作部材の操作によって内蔵閃光器を発光可にした状態が、上述した内蔵閃光器を使用位置にした状態に対応し、操作部材からの操作によって内蔵閃光器を発光不可にした状態が、上述した内蔵閃光器を格納位置にした状態に対応する。
(第二の実施の形態)
第一の実施形態では、設定されている露出モード(Pモード、Sモード、Aモード、Mモード)にかかわらず、露出演算BBの処理において背景露出の変化分を調節するようにしたが、PモードおよびAモード時にのみ、背景露出の変化分を調節するようにしてもよい。
図23は、露出演算BB1の処理の詳細を説明するフローチャートである。露出演算BB1は露出演算BBに代えて行う。図20に比べて、ステップS479およびステップS480の処理が追加されている点が異なる。図23のステップS479において、演算回路101は、モードパラメータM=3か否かを判定する。演算回路101は、M=3(Mモード)の場合にステップS479を肯定判定して図23による露出演算BB1の処理を終了し、露出演算を行わない(シャッタ速度を変化させない)。一方、演算回路101は、M≠3(Mモード以外)の場合にステップS479を否定判定し、ステップS480へ進む。
ステップS480において、演算回路101は、モードパラメータM=1か否かを判定する。演算回路101は、M=1(Sモード)の場合にステップS480を肯定判定して図23による露出演算BB1の処理を終了し、露出演算を行わない(シャッタ速度を変化させない)。一方、演算回路101は、M≠1(Mモード以外)の場合にステップS480を否定判定し、ステップS481へ進む。
MモードでもSモードでもない場合に進むステップS481以降の処理は、図20における同一ステップ番号の処理と同一であるので説明を省略する。
以上説明した第二の実施形態によれば、PモードやAモードの場合には感度変更にともなって変化する背景の露出の変化分をシャッタ速度を変えて調節するとともに、MモードやSモードの場合にはシャッタ速度を変えないようにしたので、設定したシャッタ速度TVsの値が撮影者の意図に反して変化することがない。
Mモードの場合にのみシャッタ速度を変えないようにしてもよい。図24は、この場合の露出演算BB2の処理の詳細を説明するフローチャートである。図23に比べて、ステップS480に対応する処理が省略されている点が異なる。図24によれば、Pモード、AモードおよびSモードの場合には感度変更にともなって変化する背景の露出の変化分をシャッタ速度を変えて調節するとともに、Mモードの場合にはシャッタ速度を変えないようにしたので、Mモード時に設定したシャッタ速度TVsの値が撮影者の意図に反して変化することがない。
(第三の実施形態)
第一の実施形態および第二の実施形態では、シャッタ速度を変化させて背景の露出を調節するようにしたが、設定されている露出モードと同様の露出演算を再度行って背景露出を調節してもよい。図25〜図28は、この場合の露出演算BB3の処理の詳細を説明するフローチャートである。露出演算BB3は露出演算BBに代えて行う。
図25のステップS501において、演算回路101は、露出値EVを保存露出値MEVに代入するとともに、制御絞り値AVcを保存制御絞り値MAVcに代入してステップS502へ進む。ステップS502において、演算回路101は、被写体輝度BVに制御撮像感度SVcを加算した値を露出値EVとしてステップS503へ進む。
ステップS503において、演算回路101は、Pモードか否かを判定する。演算回路101は、M=0(プログラム自動露出モード)の場合にステップS503を肯定判定してステップS504へ進み、M≠1(プログラム自動露出モード以外)の場合にステップS503を否定判定し、図27のステップS571へ進む。
ステップS504において、演算回路101は、露出値EVが12より大か否かを判定する。演算回路101は、EV>12が成立する場合にステップS504を肯定判定してステップS505へ進み、EV>12が成立しない場合にはステップS504を否定判定して図26のステップS541へ進む。
ステップS505において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットしてステップS506へ進む。ステップS506において、演算回路101は、露出値EVが18より大か否かを判定する。演算回路101は、EV>18が成立する場合にステップS506を肯定判定してステップS507へ進み、EV>18が成立しない場合にはステップS506を否定判定し、ステップS509へ進む。
ステップS507において、演算回路101は、制御絞り値AVcを9(F22)にセットしてステップS508へ進む。ステップS509において、演算回路101は、露出値EVから9(1/500秒)を減算した値を制御絞り値AVcにセットしてステップS508へ進む。
ステップS508において、演算回路101は、内蔵閃光器の発光部44が使用位置にあるか否かを判定する。演算回路101は、位置検出スイッチSW1からオン信号が入力されている場合にステップS508を肯定判定してステップS510へ進み、位置検出スイッチSW1からオフ信号が入力されている場合にはステップS508を否定判定し、ステップS529へ進む。
ステップS510において、演算回路101は、内蔵閃光器の本発光量Bhを保存本発光量MBhに代入してステップS511へ進む。ステップS511において、演算回路101は、2(AVc−MAVc)にBhを乗じた値を内蔵閃光器の本発光量BhとしてステップS512へ進む。
ステップS512において、演算回路101は、算出した内蔵閃光器の本発光量Bhとあらかじめ設定されている内蔵閃光器の最大発光量Bhmaxとを比較し、Bh>Bhmaxが成立するか否かを判定する。演算回路101は、Bh>Bhmaxが成立する場合にステップS512を肯定判定してステップS513へ進み、Bh>Bhmaxが成立しない場合にはステップS512を否定判定し、ステップS526へ進む。ステップS513へ進む場合は、発光量が不足する場合である。
ステップS513において、演算回路101は、内蔵閃光器の発光量Bhを最大発光量BhmaxにセットしてステップS514へ進む。ステップS514において、演算回路101は、次式(7)を用いて制御絞り値AVcを算出し、ステップS515へ進む。
AVc=MAVc+log2(Bhmax/MBh) (7)
ステップS515において、演算回路101は、AVc>9が成立するか否かを判定する。演算回路101は、AVc>9が成立する(制御絞り値がF22より大)場合にステップS515を肯定判定してステップS516へ進み、AVc>9が成立しない場合にはステップS515を否定判定してステップS519へ進む。
ステップS516へ進む場合は、制御絞り値AVcが設定可能範囲を超えている場合である。ステップS516において、演算回路101は、制御絞り値AVcに9をセットしてステップS517へ進む。これにより、制御絞り値が最小絞り口径であるF22にセットされる。ステップS517において、演算回路101は、フラグFUに0、フラグFOに1をそれぞれセットしてステップS518へ進む。
ステップS519において、演算回路101は、AVc<3が成立するか否かを判定する。演算回路101は、AVc<3が成立する(制御絞り値がF2.8より小)場合にステップS519を肯定判定してステップS520へ進み、AVc<3が成立しない場合にはステップS519を否定判定してステップS518へ進む。
ステップS520へ進む場合は、制御絞り値AVcが設定可能範囲を超えている場合である。ステップS520において、演算回路101は、制御絞り値AVcに3をセットしてステップS521へ進む。これにより、制御絞り値が開放絞り口径であるF2.8にセットされる。ステップS521において、演算回路101は、フラグFUに1、フラグFOに0をそれぞれセットしてステップS518へ進む。
ステップS518において、演算回路101は、露出値EVから制御絞り値AVcを減算した値を制御シャッタ速度TVcにセットしてステップS522へ進む。
ステップS522において、演算回路101は、制御シャッタ速度TVcが1/500秒より高速か否かを判定する。演算回路101は、TVc>9が成立する場合にステップS522を肯定判定してステップS523へ進み、TVc>9が成立しない場合にはステップS522を否定判定し、ステップS524へ進む。ステップS523において、演算回路101は、制御シャッタ速度TVcを9(1/500秒)にセットして図25による露出演算BB3の処理を終了する。
ステップS524において、演算回路101は、制御シャッタ速度TVcが30秒より低速か否かを判定する。演算回路101は、TVc<−5が成立する場合にステップS524を肯定判定してステップS525へ進み、TVc<−5が成立しない場合にはステップS524を否定判定し、図25による露出演算BB3の処理を終了する。ステップS525において、演算回路101は、制御シャッタ速度TVcを−5(30秒)にセットして露出演算BB3の処理を終了する。
ステップS522〜ステップS525の処理により、閃光器使用時のシャッタ速度が30秒〜1/500秒の範囲に制限される。
上述したステップS512を否定判定して進むステップS526において、演算回路101は、算出した内蔵閃光器の本発光量Bhとあらかじめ設定されている内蔵閃光器の最小発光量Bhminとを比較し、Bh<Bhminが成立するか否かを判定する。演算回路101は、Bh<Bhminが成立する場合にステップS526を肯定判定してステップS527へ進み、Bh<Bhminが成立しない場合にはステップS526を否定判定し、図25による露出演算BB3の処理を終了する。ステップS527へ進む場合は、発光量が過多の場合である。
ステップS527において、演算回路101は、内蔵閃光器の発光量Bhを最小発光量BhminにセットしてステップS528へ進む。ステップS528において、演算回路101は、次式(8)を用いて制御絞り値AVcを算出し、ステップS515へ進む。
AVc=MAVc+log2(Bhmin/MBh) (8)
上述したステップS508を否定判定して進むステップS529において、演算回路101は、外付け閃光器11の本発光量hを保存本発光量Mhに代入してステップS530へ進む。ステップS530において、演算回路101は、2(AVc−MAVc)にhを乗じた値を外付け閃光器11の本発光量hとしてステップS531へ進む。
ステップS531において、演算回路101は、算出した外付け閃光器11の本発光量hと通信処理によって取得されている外付け閃光器11の最大発光量hmaxとを比較し、h>hmaxが成立するか否かを判定する。演算回路101は、h>hmaxが成立する場合にステップS531を肯定判定してステップS532へ進み、h>hmaxが成立しない場合にはステップS531を否定判定し、ステップS534へ進む。ステップS532へ進む場合は、発光量が不足する場合である。
ステップS532において、演算回路101は、外付け閃光器11の発光量hを最大発光量hmaxにセットしてステップS533へ進む。ステップS533において、演算回路101は、次式(9)を用いて制御絞り値AVcを算出し、ステップS515へ進む。
AVc=MAVc+log2(hmax/Mh) (9)
上述したステップS531を否定判定して進むステップS534において、演算回路101は、算出した外付け閃光器11の本発光量hと通信処理によって取得されている外付け閃光器11の最小発光量hminとを比較し、h<hminが成立するか否かを判定する。演算回路101は、h<hminが成立する場合にステップS534を肯定判定してステップS535へ進み、h<hminが成立しない場合にはステップS534を否定判定し、図25による露出演算BB3の処理を終了する。ステップS535へ進む場合は、発光量が過多の場合である。
ステップS535において、演算回路101は、外付け閃光器11の発光量hを最小発光量hminにセットしてステップS536へ進む。ステップS536において、演算回路101は、次式(10)を用いて制御絞り値AVcを算出し、ステップS515へ進む。
AVc=MAVc+log2(hmin/Mh) (10)
上述したステップS504を否定判定して進む図26のステップS541において、演算回路101は、制御絞り値AVcの値を3(F2.8(開放絞り))にセットしてステップS542へ進む。ステップS542において、演算回路101は、露出値EVが−2より小か否かを判定する。演算回路101は、EV<−2が成立する場合にステップS542を肯定判定してステップS543へ進み、EV<−2が成立しない場合にはステップS542を否定判定し、ステップS545へ進む。ステップS543へ進む場合は、カメラの制御範囲を超えている場合である。
ステップS543において、演算回路101は、制御シャッタ速度TVcの値を−5(30秒)にセットしてステップS544へ進む。
ステップS545において、演算回路101は、露出値EVから3(F2.8)を減じた値を制御シャッタ速度TVcにセットしてステップS544へ進む。
ステップS544、およびS546〜ステップS550による処理は、上述したステップS508、およびS510〜ステップS514による処理と同じであるので説明を省略する。演算回路101は、ステップS550による処理を終了すると、図25のステップS515へ進む。
ステップS551〜ステップS553による処理は、上述したステップS526〜ステップS528による処理と同じであるので説明を省略する。演算回路101は、ステップS553による処理を終了すると、図25のステップS515へ進む。
ステップS554〜ステップS561による処理は、上述したステップS529〜ステップS536による処理と同じであるので説明を省略する。演算回路101は、ステップS558、S561による処理を終了すると、図25のステップS515へ進む。
上述したステップS503を否定判定して進む図27のステップS571において、演算回路101は、モードパラメータM=1か否かを判定する。演算回路101は、M=1(シャッタ速度優先自動露出モード)の場合にステップS571を肯定判定してステップS572へ進み、M≠1(シャッタ速度優先自動露出モード以外、この場合はAモードもしくはMモード)の場合にステップS571を否定判定し、図28のステップS601へ進む。
ステップS572において、演算回路101は、露出値EVから制御シャッタ速度TVcを減算した値を制御絞り値AVcにセットしてステップS573へ進む。
ステップS573〜ステップS581による処理は、上述したステップS508、S510〜ステップS517による処理と同じであるので説明を省略する。演算回路101は、ステップS581による処理を終了すると、露出演算BB3の処理を終了する。
ステップS582〜ステップS584による処理は、上述したステップS519〜ステップS521による処理と同じであるので説明を省略する。演算回路101は、ステップS582を否定判定、もしくはステップS584による処理を終了すると、露出演算BB3の処理を終了する。
ステップS585〜ステップS587による処理は、上述したステップS526〜ステップS528による処理と同じであるので説明を省略する。演算回路101は、ステップS587による処理を終了すると、ステップS579へ進む。
ステップS588〜ステップS595による処理は、上述したステップS529〜ステップS536による処理と同じであるので説明を省略する。演算回路101は、ステップS592、S595による処理を終了すると、ステップS579へ進む。
上述したステップS571を否定判定して進む図28のステップS601において、演算回路101は、モードパラメータM=2か否かを判定する。演算回路101は、M=2(絞り優先自動露出モード)の場合にステップS601を肯定判定してステップS602へ進み、M≠2(絞り優先自動露出モード以外、この場合はMモード)の場合にはステップS601を否定判定し、露出演算BB3の処理の処理を終了する。
ステップS602において、演算回路101は、露出値EVから制御絞り値AVcを減算した値を制御シャッタ速度TVcにセットしてステップS603へ進む。
ステップS603〜ステップS606による処理は、上述したステップS483〜ステップS486による処理と同じであるので説明を省略する。演算回路101は、ステップS604、S606による処理を終了すると、露出演算BB3の処理の処理を終了する。
以上説明した第三の実施の形態についてまとめる。
閃光器の発光量の過不足を補正するための感度変更にともなって変化する背景露出(シャッタ速度、絞り値および撮像感度で決定される値)の変化分について、以下のように調節する。
(1)カメラがPモード(プログラム自動露出モード)に設定されている場合、絞り値およびシャッタ速度の少なくとも1つを変更して背景露出の変化分を調節する。
(2)カメラがSモード(シャッタ速度優先自動露出モード)に設定されている場合、絞り値を変更して背景露出の変化分を調節する。
(3)カメラがAモード(絞り優先自動露出モード)に設定されている場合、シャッタ速度を変更して背景露出の変化分を調節する。
(4)カメラがMモード(マニュアル露出モード)に設定されている場合、背景露出の変化分の調節を行わない。
以上により、設定されている露出モードに応じた方式で背景露出の変化分を調節するので、撮影者の意図に反した変更を行うことなく、適切に背景露出を調節できる。
図28による処理の代わりに、図29による処理を行うようにしてもよい。図29のフローチャートによれば、カメラがMモード(マニュアル露出モード)に設定されている場合にも、シャッタ速度を変更して背景露出の変化分が調節される。
さらに、図28や図29による処理に代えて、図30による処理を行うようにしてもよい。図30のフローチャートによれば、カメラがMモード(マニュアル露出モード)に設定されている場合に図27のステップS572へ進み、絞り値を変更して背景露出の変化分が調節される。
特許請求の範囲における各構成要素と、発明を実施するための最良の形態における各構成要素との対応について説明する。撮像装置は、たとえば、撮像素子121によって構成される。輝度検出手段は、たとえば、測光装置103および演算回路101によって構成される。第1の露出演算手段、光量演算手段、感度演算手段、第2の露出演算手段は、たとえば、演算回路101によって構成される。閃光発光手段は、たとえば、内蔵閃光器(もしくは外付け閃光器11)によって構成される。反射光検出手段は、たとえば、発光量検出装置118によって構成される。なお、本発明の特徴的な機能を損なわない限り、各構成要素は上記構成に限定されるものではない。