以下に、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態による撮像装置の一例についてその構成を示すブロック図である。
また、図2は、本発明の第1の実施形態による撮像装置の一例について破断した状態で概略的に示す図である。
図1および図2を参照して、図示の撮像装置は、例えば、デジタルカメラ(以下単にカメラと呼ぶ)であり、カメラ本体(撮像装置本体)100を有している。そして、カメラ本体100には、着脱可能に撮影レンズユニット(以下単にレンズユニットと呼ぶ)200が装着されている。つまり、カメラ本体100にはレンズユニット200が装着可能である。
また、カメラ本体100には着脱可能に照明装置であるストロボ装置300が装着されている。つまり、カメラ本体100にはストロボ装置300が装着可能である。そして、後述するように、カメラ本体100はレンズユニット200およびストロボ装置300と通信可能である。カメラ本体100は撮像光学系であるレンズユニット200を介して結像した光学像(被写体像)に応じた画像を出力する。
カメラ本体100には、マイクロコンピュータ(カメラマイコン:CCPU)が備えられており、カメラマイコン101は、カメラ本体100全体の制御を司る。カメラマイコン101は、例えば、CPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ、およびD/Aコンバータなどを含むワンチップIC回路である。そして、カメラマイコン101は、ソフトウェアによってカメラの制御を行う。
撮像素子102は、例えば、赤外カットフィルタおよびローパスフィルタなどを含むCCD又はCMOSセンサーであり、後述するレンズ群202を介して撮像素子102には被写体像(光学像)が結像する。撮像素子102の前段にはシャッタ103が配置されており、シャッタ103は撮像素子102を遮光する位置(遮光位置)と撮像素子102を露光する位置(露光位置)とに移動可能である。
主ミラー(ハーフミラー)104は、レンズ群202を介して入射する光の一部を反射してピント板105に結像させる位置(第1の位置)とレンズ群202の光軸(撮影光路)から退避する位置(第2の位置)とに移動可能である。ピント板105には、主ミラー104によって被写体像が結像する。そして、ピント板105に結像した被写体像は光学ファインダー(図示せず)を介してユーザによって確認することができる。
測光ユニット(AE回路)106は測光センサーを備え、測光センサーで得られた画像を複数の領域に分割して、各領域において測光を行う。なお、測光センサーは、ピント板105に結像した被写体像を、ペンタプリズム114を介して取り込む。
合焦用測距ユニット(AF回路)107は、複数の測距ポイントを有する測距センサーを備えており、各測距ポイントにおけるデフォーカス量などを示す焦点情報を出力する。この焦点情報はレンズ群(フォーカスレンズ)のピント合わせに用いられる。
ゲイン切り換え回路108は、撮像素子102の出力である画像信号(アナログ信号)を増幅させるためのものである。ゲイン切り換え回路108におけるゲイン切り換えは、撮影条件又はユーザの操作などに応じてカメラマイコン101によって行われる。
A/D変換器109は、ゲイン切り換え回路108によって増幅された画像信号(アナログ信号)をデジタル信号(画像データ)に変換する。タイミングジェネレータ(TG)110は、ゲイン切り換え回路108によって増幅された画像信号(アナログ信号)の入力とA/D変換器109におけるA/D変換タイミングとを同期させるためのタイミング信号を出力する。信号処理回路111は、A/D変換器109の出力である画像データに対して所定の信号処理を行う。
通信ラインSCは、カメラ本体100とレンズユニット200およびストロボ装置300とのインタフェース信号ラインである。例えば、カメラマイコン101をホストとして、通信ラインSCによってデータの交換およびコマンドの伝達など情報通信が相互に行われる。
図1には、通信ラインSCの一例として、第1の端子120および第2の端子130を用いたシリアル通信の例が示されている。第1の端子120は、カメラ本体100とレンズユニット200との通信を同期させるためのSCLK_L端子、レンズユニット200にデータを送信するためのMOSI_L端子、そして、レンズユニット200から送信されたデータを受信するためのMISO_L端子を有する。さらに、端子120には、カメラ本体100およびレンズユニット200の双方に接続されるGND端子が備えられている。
第2の端子130は、カメラ本体100とストロボ装置300との通信を同期させるためのSCLK_S端子、カメラ本体100からストロボ装置300にデータを送信するためのMOSI_S端子、そして、ストロボ装置300から送信されたデータを受信するためのMISO_S端子を有する。さらに、端子130には、カメラ本体100およびストロボ装置300の双方に接続されるGND端子が備えられている。
図3は、図1に示す第2の端子を用いたデータ通信の例を説明するための図である。そして、図3(a)はデータ通信のタイミングを示す図であり、図3(b)は通信データの一例を示す図である。
カメラマイコン101から、後述のストロボマイコン310にデータを送信する際には、SCK_S端子の8ビットクロックに同期してMOSI_S端子からデータをカメラマイコン101がシリアルに送信する。また、ストロボマイコン310からカメラマイコン101にデータを送信する際には、SCK_S端子の8ビットクロックに同期してMISO_S端子からデータをカメラマイコン101がシリアルに受信する。
なお、図3(a)に示す例では、8ビット(1バイト)通信においてSCLK_S信号の立ち上がりで信号の読み書きを行っているが、8ビット通信をコマンド、コマンドデータ、およびデータと複数回連続して送信を行う。
また、カメラマイコン101は、後述のコマンドリストに基づいてストロボマイコン310に、図3(b)に示すデータを送信する。例えば、「カメラからストロボにオートバウンス設定/解除」については、カメラマイコン101は、1バイト目にCS通信(カメラストロボ通信)の80H、2バイト目にコマンド番号011(0BH)、そして、3バイト目にデータ(内容)の01(設定)を16進数から2進数に変換して送信する。
カメラ本体100からストロボ装置300にデータを送信する際には、1バイト目においてコマンドCS:80Hが送信され、カメラ本体100がストロボ装置300からデータを取得する際には、1バイト目においてコマンドSC:01Hがカメラ本体100からストロボ装置300に送信される。
2バイト目には、コマンド番号でSC(ストロボカメラ通信)およびCSに続く番号(送信時は16進数に変換される)がセットされ、3バイト目又は4バイト目には、設定項目データがセットされて、カメラ本体100及びストロボ装置300の一方が他方に送信する。
なお、その他のデータ通信については後述する。また、上記のシリアル通信以外にであっても、後述のカメラ本体100からストロボ装置300に送られるAF補助光発光指令などもSCに含まれるものとする。
入力部112には、例えば、電源スイッチ、レリーズスイッチ、および設定ボタンなどの操作部が含まれており、カメラマイコン101は、入力部112を用いた入力操作に応じて各種処理を実行する。
レリーズスイッチが1段階操作(半押し)されると、第1のスイッチSW1がONとなって、カメラマイコン101は焦点調節および測光などの撮影準備動作を開始する。レリーズスイッチが2段階操作(全押し)されると、第2のスイッチSW2がONとなって、カメラマイコン101は露光および現像処理などの撮影動作を開始する。
また、入力部112に備えられた設定ボタンなどを操作すると、ユーザはカメラ本体100に装着されるストロボ装置300の各種設定を行うことができる。液晶装置および発光素子を有する表示部113には、設定されたモードおよびその他の撮影情報などが表示される。
ペンタプリズム114は、ピント板105の被写体像を測光ユニット106に備えられた測光センサーおよび光学ファインダーに導く。サブミラー115は、レンズ群202を介して入射し主ミラー104を透過した光を合焦用測距ユニット107に備えられた測距センサーに導く。
姿勢検出回路140は姿勢差を検出するためのものであり、水平方向の姿勢差を検出する姿勢H検出回路140a、垂直方向の姿勢差を検出する姿勢V検出回路140b、および前後方向(Z方向)の姿勢差を検出する姿勢Z検出回路140cを有している。姿勢検出回路140には、例えば、角速度センサー又はジャイロセンサーが用いられる。姿勢検出回路140によって検出された各方向の姿勢差を示す姿勢情報はカメラマイコン101に送られる。
レンズユニット200には、マイクロコンピュータ(レンズマイコン:LPU)201が備えられており、レンズマイコン201はレンズユニット200全体の制御を司る。レンズマイコン201は、例えば、CPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ、およびD/Aコンバータなどを有するワンチップICである。
レンズ群202は、フォーカスレンズおよびズームレンズなどを含む複数枚のレンズで構成されている。なお、レンズ群202はズームレンズを備えなくてもよい。
レンズ駆動回路203は、レンズ群202を光軸に沿って移動させるための駆動系である。カメラマイコン101は合焦用測距ユニット107の出力に基づいてレンズ群202の駆動量を求める。そして、カメラマイコン101は、当該駆動量をレンズマイコン201に送る。
エンコーダ204はレンズ群202の位置を検出して、その位置を示す駆動情報を出力する。レンズマイコン201は当該駆動情報を参照してレンズ駆動回路203によってレンズ群202を前述の駆動量分だけ移動させて焦点調節を行う。なお、レンズマイコン201は絞り制御回路206によって絞り205を制御する。
ストロボ装置(以下単にストロボと呼ぶ)300は、本体部300aおよび可動部300bを有しており、本体部300aはカメラ本体100に着脱可能に装着される。また、可動部300bは本体部300aに対して上下方向および左右方向に回動可能に支持されている。なお、ここでは、本体部300aにおいて可動部300bと連結される側を上側として可動部300bの回動方向を定義する。
ストロボ300はマイクロコンピュータ(ストロボマイコン:FPU)310を有しており、ストロボマイコン310はストロボ300全体の制御を司る。ストロボマイコン310は、例えば、CPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ、およびD/Aコンバータなどを有するワンチップICである。
電池301はストロボ300の電源(VBAT)として用いられる。昇圧ブロック302は、昇圧回路302a、電圧検出に用いられる抵抗302bおよび302c、およびメインコンデンサ302dを有している。昇圧回路302は、電池301の電圧を昇圧回路302aによって数百Vに昇圧してメインコンデンサ302dに発光のための電気エネルギーを充電する。
メインコンデンサ302dの充電電圧は抵抗302bおよび302cによって分圧され、当該分圧された電圧はストロボマイコン310のA/D変換端子に入力される。トリガー回路303は、後述の放電管305を励起させためのパルス電圧を放電管305に印加する。
発光制御回路304は、放電管305の発光の開始および停止を制御する。放電管305は、トリガー回路303から印加される数KVのパルス電圧を受けて励起し、メインコンデンサ302dに充電された電気エネルギーによって発光する。
バウンス用測距ユニット308は、既知の手法によって対象物(つまり、被写体)までの距離を検出するユニットである。バウンス用測距ユニット308は、例えば、受光センサーを備え、放電管305の照射方向に存在する対象物で反射した光を受光センサーで受光して対象物までの距離を検出する。あるいは、バウンス用測距ユニット308は、AF補助光部316の照射方向に存在する対象物で反射された光を受光センサーで受光して対象物までの距離を検出する。
積分回路309は、後述するフォトダイオード314の受光電流を積分する。積分回路309の積分出力はコンパレータ315の反転入力端子およびストロボマイコン310のA/Dコンバータ端子に入力される。コンパレータ315の非反転入力端子は、ストロボマイコン310のD/Aコンバータ端子に接続され、コンパレータ315の出力はANDゲート311の一方の入力端子に接続される。
ANDゲート311の他方の入力端子は、ストロボマイコン310の発光制御端子に接続され、ANDゲート311の出力は発光制御回路304に入力される。フォトダイオード314は、放電管305からの光を受光する受光センサーの1つであり、直接又はグラスファイバーなどを介して放電管305からの光を受光する。反射傘306は、放電管305からの光を反射させて所定の方向に導く。
光学パネルなどを含むズーム光学系307は、放電管305との相対位置を変更可能に支持されており、放電管305とズーム光学系307との相対位置を変更することによって、ストロボ300のガイドナンバーおよび照射範囲を変化させることができる。
ストロボ300の発光部は、例えば、放電管305、反射傘306、およびズーム光学系307によって構成され、発光部の照射範囲はズーム光学系307の移動に応じて変化し、発光部の照射方向は可動部300bの回動に応じて変化する。つまり、可動部399bはバウンス角(照射角度)が可変である。
入力部312は、電源スイッチ、ストロボ300の動作モードを設定するモード設定スイッチ、および各種パラメータを設定する設定ボタンなどの操作部を有している。ストロボマイコン310は、入力部312による入力操作に応じて各種処理を行う。
液晶装置および発光素子を有する表示部313には、ストロボ300の状態が表示される。AF補助光部316は、暗所においても合焦用測距ユニット107によって合焦を行うための補助光を発光する。
ズーム駆動部330は、ズーム検出回路330aおよびズーム駆動回路330bを有しており、ズーム検出回路330aは放電管305とズーム光学系307との相対位置を示す情報をエンコーダなどを用いて検出する。また、ズーム駆動回路330bはズーム光学系307を移動させるためのモーターを有している。
カメラマイコン101は、レンズマイコン201から出力される焦点距離情報を、ストロボマイコン310に送る。そして、ストロボマイコン310は焦点距離情報に基づいてズーム光学系307の駆動量を算出する。
バウンス回路340は、バウンス位置検出回路340aおよび340cとバウンス駆動回路340bおよび340dを有している。バウンス位置検出回路340aおよび340cは可動部300bの駆動量(本体部300aに対する可動部300bの回動角度)を検出する。バウンス駆動回路340bおよび340dは可動部300bを回動するためのものである。
バウンス位置検出回路(バウンスH検出回路)340aは、可動部300bの左右方向の駆動量をロータリーエンコーダ又はアブソリュートエンコーダで検出する。バウンス位置検出回路(バウンスV検出回路)340cは、可動部300bの上下方向の駆動量をロータリーエンコーダ又はアブソリュートエンコーダで検出する。
バウンス駆動回路(バウンスH駆動回路)340bは、モーターによって可動部300bを左右方向に駆動し、バウンス駆動回路(バウンスV駆動回路)340dは、モーターによって可動部300bを上下方向に駆動する。
姿勢検出回路360は姿勢差を検出する回路であり、姿勢H検出回路360a、姿勢V検出回路360b、および姿勢Z検出回路360cを有している。姿勢H検出回路360aは水平方向の姿勢差を検出し、姿勢V検出回路360bは垂直方向の姿勢差を検出する。また、姿勢Z検出回路360cは前後方向(Z方向)の姿勢差を検出する。なお、姿勢検出回路360には、例えば、角速度センサー又はジャイロセンサーが用いられる。
図4は、図1および図2に示すカメラで行われるオートバウンス発光撮影を説明するためのフローチャートである。
入力部112に備えられた電源スイッチがONされると、カメラマイコン101は内蔵メモリおよびポートの初期化を行う(ステップS1)。この際、カメラマイコン101は入力部112に備えられた各種スイッチの状態および予め設定された入力情報を読み込んで、シャッタースピードおよび絞りの決定方法などの撮影モードを設定する。
続いて、カメラマイコン101は、入力部112に備えられたレリーズスイッチが操作されて、第1のスイッチSW1がONであるか否かを判定する(ステップS2)。第1のスイッチSW1がOFFであると(ステップS2において、NO)、カメラマイコン101は待機する。
一方、第1のスイッチSW1がONとなると(ステップS2において、YES)、カメラマイコン101はレンズマイコン201と通信ラインSCを介して通信を行う。そして、カメラマイコン101はレンズユニット200から焦点距離情報を得るとともに、焦点調節および測光に必要な光学情報を得る(ステップS3)。
次に、カメラマイコン101は、カメラ本体100にストロボ300が装着されているか否かを判定する(ステップS4)。カメラ本体100にストロボ300が装着されていると(ステップS4において、YES)、カメラマイコン101はストロボマイコン310と通信ラインSCを介して通信を行って、ストロボマイコン310からストロボIDおよびメインコンデンサ302dの充電状態を示す充電情報などのストロボ情報を得る(ステップS5)。さらに、カメラマイコン101はステップS3の処理で取得した焦点距離情報をストロボマイコン310に送る。
これによって、ストロボマイコン310は焦点距離情報に基づいてズーム光学系307の駆動量を算出する。そして、ストロボマイコン310は当該駆動量に基づいてズーム光学系307を移動させてストロボ300の照射範囲を焦点距離に合わせた範囲に変更する。
続いて、カメラマイコン101は、入力部112から入力されたストロボ300に関する情報(ストロボ情報)をストロボマイコン310に送信するための情報送信準備を行う(ステップS6)。ここでは、カメラマイコン101は入力部112から入力されたストロボ情報に応じたコマンドに変換する処理を行う。なお、ステップS6の処理については後述する。
次に、カメラマイコン101は、情報送信準備によって得たストロボ情報をストロボ300に送信する(ステップS7)。なお、ステップS7の処理については後述する。そして、カメラマイコン101は、バウンス発光撮影の際の照射方向を自動的に決定するための動作(以下オートバウンス動作と呼ぶ)を行うか否かを判定する(ステップS11)。オートバウンス動作を行うか否かを判定する際には、カメラマイコン101は入力部112又は入力部312に備えられたオートバウンス動作を実行するか否かを切り換えるオートバウンススイッチの状態に応じて判定を行う。なお、カメラマイコン101はカメラ本体100の状態などに基づいて判定を行うようにしてもよい。
オートバウンス動作を行わないと判定した場合(ステップS11において、NO)、カメラマイコン101は、後述するステップS16の処理に進む。一方、オートバウンス動作を行う判定した場合(ステップS11において、YES)、カメラマイコン101は、後述するようにしてオートバウンス動作に関する処理(以下バウンス処理と呼ぶ)を行う(ステップS12)。
バウンス処理を行った後、カメラマイコン101は、オートバウンス処理においてエラーが生じたか否かを判定する(ステップS13)。バウンス処理においてエラーが生じていないと(ステップS13において、NO)、カメラマイコン101は、後述するステップS16の処理に進む。
バウンス処理においてエラーが生じた際には、バウンス処理の際にストロボマイコン310からカメラマイコン101にオートバウンス処理においてエラーが生じたことを示すエラー情報が送られる。バウンス処理においてエラーが生じると(ステップS13において、YES)、カメラマイコン101は、バウンス処理においてエラーが生じたことを示すエラー情報を表示部113に警告表示する(ステップS14)。
なお、カメラマイコン101はストロボマイコン310と通信を行って、ストロボマイコン310によってストロボ300の表示部313にエラー情報を警告表示するようにしてもよい。
続いて、カメラマイコン101は、発光撮影を行わない設定(非発光設定)に切り換える切り換え処理を行う(ステップS15)。そして、カメラマイコン101は、後述のステップS16の処理に進む。
カメラ本体100にストロボ300が装着されていないと(ステップS4においてNO)、カメラマイコン101は、設定された焦点調節(フォーカス制御)モードがAFモードであるか否かを判定する(ステップS8)。焦点調節モードがAFモードであると(ステップS8において、YES)、カメラマイコン101は、合焦用測距ユニット107によって既知の位相差検出手法による焦点検出を行う(ステップS9)。
この際、カメラマイコン101は複数の測距ポイントから焦点を合わせるべき測距ポイントを決定する。測距ポイント決定の際には、例えば、近点を優先して測距ポイントを選択する。さらには、入力部112によるユーザ操作に応じて測距ポイントを決定するようにしてもよい。そして、カメラマイコン101は合焦状態となった測距ポイントを一旦内蔵RAMに記憶して、オートバウンス動作の際に当該測距ポイントをストロボマイコン310にコマンド送信する。
続いて、カメラマイコン101は合焦用測距ユニット107から得た焦点情報に基づいてレンズ群202の駆動量を算出する。そして、カメラマイコン101はレンズマイコン201と通信ラインSCを介して通信を行って、当該駆動量に基づいてレンズ群202を移動させる(ステップS10)。
次に、カメラマイコン101は測光ユニット106によって測光を行い、測光結果を取得する(ステップS16)。例えば、測光ユニット106に備えられた測光センサーによって6つに分割された領域の各々において測光を行う場合、カメラマイコン101は測光結果としての各領域の輝度値をEVb(i)として内蔵RAMに記憶する。ここで、i=0〜5である。
なお、焦点調節モードがMFモードであると(ステップS8において、NO)、カメラマイコン101は、ステップS16の処理に進む。
続いて、カメラマイコン101はゲイン切り換え回路108によってケインの切り換えを行う(ステップS17)。ここで、カメラマイコン101は入力部112よって設定されたゲイン設定に応じてゲインの切り換えを行うが、当該ゲイン設定は、例えば、ISO感度設定をいう。さらに、カメラマイコン101は、ストロボマイコン310と通信ラインSCを介して通信を行って、例えば、切り換え後のゲインを示すゲイン設定情報をストロボマイコン310に送る。
次に、カメラマイコン101は、ステップS16の処理で得た測光結果(ここでは、内蔵RAMに記憶した各領域の輝度値)に基づいて露出演算を行って、露出値(EVs)を決定する(ステップS18)。そして、カメラマイコン101は、ストロボマイコン310から充電完了信号を受信したか否かを判定する(ステップS19)。
ストロボマイコン310から充電完了信号を受信すると(ステップS19において、YES)、カメラマイコン101は、ステップS18の処理で決定した露出値に基づいて発光撮影に適した露出制御値(シャッタ速度(Tv)および絞り値(Av))を決定する(ステップS20)。一方、ストロボマイコン310から充電完了信号を受信しないと(ステップS19において、NO)、カメラマイコン101は、ステップS18の処理で決定した露出値に基づいてストロボ300を発光させない撮影(非発光撮影)に適した露出制御値を決定する(ステップS21)。
ステップS20又はステップS21の処理の後、カメラマイコン101は、入力部112に備えられたレリーズスイッチが操作されて、第2のスイッチSW2がONであるか否かを判定する(ステップS22)。第2のスイッチSW2がOFFであると(ステップS22において、NO)、カメラマイコン101はステップS2の処理に戻る。一方、第2のスイッチSW2がONとなると(ステップS22において、YES)、カメラマイコン101は撮影処理に移行する。
図5は、図1および2に示すカメラで行われる撮影処理の一例を説明するためのフローチャートである。なお、図5においては、発光撮影処理が示されており、非発光撮影処理については図5において本発光を行うための処理を省略すればよい。
撮影処理(ここでは、発光撮影処理)を開始すると、カメラマイコン101は測光ユニット106によって、ストロボ300が発光していない状態で測光を行う(ステップS23:外光輝度測光)。そして、カメラマイコン101は測光ユニット106から非発光時の測光結果(非発光時輝度値)を得て、測光結果である各領域の非発光時輝度値をEVa(i)として内蔵RAMに記憶する。
続いて、カメラマイコン101は、通信ラインSCを介してストロボマイコン310にプリ発光を命令する(ステップS24)。ストロボマイコン310はこの命令によってトリガー回路303および発光制御回路304を制御して、所定の光量でのプリ発光を行う。
次に、カメラマイコン101は測光ユニット106によってプリ発光状態における測光を行う(ステップS25:反射光受光)。そして、カメラマイコン101は測光ユニット106からプリ発光の際の測光結果(プリ発光時輝度値)を得る。カメラマイコン101は測光結果である各領域におけるプリ発光時輝度値をEVf(i)として内蔵RAMに記憶する。
続いて、カメラマイコン101は露光に先立って主ミラー104をアップさせて、主ミラー104を撮影光路から退避させる(ステップS26)。そして、カメラマイコン101は、次の式(1)を用いて非発光時輝度値およびプリ発光時輝度値に基づいてプリ発光による反射光成分のみの輝度値EVdf(i)を抽出する(ステップS27)。なお、当該抽出は6つの領域毎に行われる。
EVdf(i)=LN2(2EVf(i)−2EVa(i)) (1)
次に、カメラマイコン101は、通信ラインSCを介してストロボマイコン310からプリ発光の際の発光量を示すプリ発光データQpreを得る(ステップS28)。そして、カメラマイコン101は、測距ポイント、焦点距離情報、プリ発光データ(Qpre)、およびバウンス通信内容に応じて、6つの領域のうちいずれの領域の被写体について適正な発光量とするかを選択して本発光量を求める(ステップS29)。
本発光量を求める際には、カメラマイコン101は、選択した領域(P)の被写体について、次の式(2)を用いて露出値EVs、被写体輝度EVb(p)、およびプリ発光反射光分のみの輝度値EVdf(p)に基づいて、プリ発光量に対して適正となる本発光量の相対比rを求める。
r=LN2(2EVs−2EVb(p))−EVdf(p) (2)
ここで、露出値EVsから被写体輝度EVb(p)を伸張して差分を求めているのは、ストロボ光(照明光)を照射した際の露出を、外光分にストロボ光を加えて際に適正となるように制御するためである。
続いて、カメラマイコン101は、次の式(3)を用いて、発光撮影の際のシャッタ速度Tv、プリ発光の発光時間t_pre、そして、入力部112によって予め設定された補正係数cに基づいて相対比rを補正して、新たな相対比r1を求める(ステップS30)。
r1=r+Tv−t_pre+c (3)
ここで、シャッタ速度Tvおよびプリ発光の発光時間t_preを用いて補正を行うのは、プリ発光の際の測光積分値INTpと本発光の測光積分値INTmとを正しく比較するためである。
続いて、カメラマイコン101は通信ラインSCを介してストロボマイコン310に本発光量を決定するための相対比r1に関する情報を送信する(ステップS31)。そして、カメラマイコン101は、図4に示すステップS20の処理で決定した絞り値Avとなるように、レンズマイコン201に指令を出す。さらに、カメラマイコン101は、決定したシャッタ速度Tvとなるようにシャッタ103を制御する(ステップS32)。
次に、カメラマイコン101は通信ラインSCを介してストロボマイコン310に本発光を命令する。これによって、ストロボマイコン310は、前述の相対比r1に基づいて本発光量を求めて、当該本発光量で本発光(メイン発光)を行う(ステップS33)。
このようにして、一連の露光動作が終了すると、カメラマイコン101は、撮影光路から退避させた主ミラー104をダウンさせて再び撮影光路に主ミラー104を位置づける(ステップS34)。
続いて、カメラマイコン101は撮像素子102から出力される画像信号をゲイン切り換え回路108で設定されたゲインで増幅した後、A/D変換器109でデジタル信号(画像データ)に変換する。そして、カメラマイコン101は信号処理回路111によって画像データに対してホワイトバランス処理など所定の信号処理を行う(ステップS35:現像処理)。
その後、カメラマイコン101は所定の信号処理が施された画像データをメモリ(図示せず)に記録して一連の撮影処理を終了する(ステップS36)。そして、カメラマイコン101は、第1のスイッチSW1がON状態であるか否かを判定する(ステップS37)。第1のスイッチSW1がON状態であると(ステップS37において、YES)、カメラマイコン101は、図4に示すステップS22の処理に移行する。一方、第1のスイッチSW1がOFF状態であると(ステップS37において、NO)、カメラマイコン101は、図4に示すステップS2の処理に移行する。
図6は、図4に示す情報送信準備処理を説明するためのフローチャートである。
情報送信準備処理を開始すると、カメラマイコン101は、カメラがオートバウンス動作を実行可能なカメラ(対応カメラ)であるか否かを判定する(ステップS501)。
図7Aおよび図7Bは、図1および図2に示すカメラにおいてカメラ本体とストロボとの通信で用いられるコマンドリストを説明するための図である。
対応カメラであると(ステップS501において、YES)、カメラマイコン101はカメラストロボ間通信(CS)の準備として「CS001コマンド:01」を内蔵RAMに格納する(ステップS502)。一方、対応カメラでないと(ステップS502において、NO)、カメラマイコン101はカメラストロボ間通信(CS)の準備として「CS001コマンド:00」を内蔵RAMに格納する(ステップS503)。
ステップS502又はS503の処理の後、カメラマイコン101はオートバウンス動作を行うための設定(オートバウンス設定)が行われているか否かを判定する(ステップS504)。オードバウンス設定が行われていると(ステップS504において、設定)、カメラマイコン101は、カメラストロボ間通信(CS)の準備として「CS011コマンド:01」を内蔵RAMに格納する(ステップS505)。一方、オードバウンス設定が解除されていると(ステップS504において、解除)、カメラマイコン101は、カメラストロボ間通信(CS)の準備として「CS011コマンド:00」を内蔵RAMに格納する(ステップS506)。
ステップS505又はS506の処理の後、カメラマイコン101は、カメラ本体100がバウンス発光撮影に最適な照射方向を決定するための情報である対象物との距離を求める方式(測距方式)が設定されているか否かを判定する(ステップS507)。ここで、対象物とは撮影対象となる被写体およびバウンス発光撮影の際にストロボ光を反射させる反射物(天井又は壁など)をいう。
測距方式として、例えば、ストロボをプリ発光して対象物の反射光量によって対象物との距離を測定するストロボプリ発光測距方式(以下プリ発光方式と呼ぶ)がある。また、ストロボ300に備えられたバウンス用測距ユニット308を用いてストロボ非発光で対象物との距離を測定するストロボ非発光測距方式(以下ストロボ測距方式と呼ぶ)がある。その他、レンズユニット200の焦点調節の結果を用いて対象物との距離を測定するカメラ測距方式などがあるが、測距方式は特に限定されない。
測距方式が設定されていると(ステップS507において、設定)、カメラマイコン101は、カメラストロボ間通信(CS)の準備としてCS091コマンドを測距方式の設定内容に応じて内蔵RAMに格納する(ステップS508)。例えば、カメラマイコン101は「被写体」および「天井」の区別を上位4ビットに割り当て、「プリ発光方式」、「ストロボ測距方式」、および「カメラ測距」の区別を下位4ビットに割り当てる。
対象物である被写体および天井がともに「プリ発光方式」の設定であれば、カメラマイコン101は「CS091コマンド:データ00 10」を内蔵RAMに格納することになる。同様に、対象物である被写体および天井がともに「ストロボ測距方式」の設定であれば、カメラマイコン101は「CS091コマンドでデータ01 11」を内蔵RAMに格納する。また、被写体が「カメラ測距方式」の設定であり、天井が「プリ発光方式」の設定であれば、カメラマイコン101は「CS091コマンド:データ02 10」を内蔵RAMに格納する。
続いて、カメラマイコン101はレリーズスイッチの状態を判定する(ステップS509)。なお、測距方式が設定されていないと(ステップS507において、設定なし)、カメラマイコン101はステップS509の処理に進む。
レリーズスイッチの状態判定において、第1のスイッチSW1および第2のスイッチSW2がともにOFFであると(ステップS509において、SW1,SW2OFF)、カメラマイコン101は、「CS151コマンド:データ00」を内蔵RAMに格納する(ステップS510)。
レリーズスイッチの状態判定において、第1のスイッチSW1のみがONであると(ステップS509において、SW1ON)、カメラマイコン101は、「CS151コマンド:データ01」を内蔵RAMに格納する(ステップS511)。また、第2のスイッチSW2がONであると(ステップS509において、SW2ON)、カメラマイコン101は、「CS151コマンド:データ02」を内蔵RAMに格納する(ステップS512)。
ステップS510、S511、又はS512の処理の後、カメラマイコン101は測光タイマーの作動中であるか否かを判定する(ステップS513)。この測光タイマーは、所定の時間測光を行った後に省電モードに切り替えるため測光を行う期間を定めるタイマーであり、所定の時間測光を行っていると測光タイマーは作動中となる。
測光タイマーはカメラマイコン101に備えられており、例えば、第1のスイッチSW1のONに同期して、カメラマイコン101は測光タイマーによる計時を開始する。
測光タイマーが作動中であると(ステップS513において、YES)、カメラマイコン101は、カメラストロボ間通信(CS)の準備として「CS141コマンド:データ01」を内蔵RAMに格納する(ステップS514)。一方、測光タイマーが作動中でないと(ステップS513において、NO)、カメラマイコン101は、カメラストロボ間通信(CS)の準備として「CS141コマンド:データ00」を内蔵RAMに格納する。
ステップS514又はS515の処理の後、カメラマイコン101は、その他のストロボ設定情報を内蔵RAMに格納する(ステップS516)。そして、カメラマイコン101は、図4に示すステップS7の処理に移行する。
図8は、図4に示す情報送信処理を説明するためのフローチャートである。
情報送信処理を開始すると、カメラ本体100において、カメラマイコン101は、前述のステップS501の処理で得られた判定結果に応じたデータをストロボマイコン310に送信する(ステップS601)。続いて、カメラマイコン101は、図6で説明したステップS504の処理で得られた判定結果に応じたデータをストロボマイコン310に送信する(ステップS602)。
次に、カメラマイコン101は、図6で説明したステップS507の処理で得られた判定結果に応じたデータをストロボマイコン310に送信する(ステップS603)。さらに、カメラマイコン101は、図6で説明したステップS509の処理で得られた判定結果に応じたデータをストロボマイコン310に送信する(ステップS604)。
続いて、カメラマイコン101は、図6で説明したステップS513の処理で得られた判定結果に応じたデータをストロボマイコン310に送信する(ステップS605)。そして、カメラマイコン101は、図6で説明したステップS516の処理で内蔵RAMに格納したデータをストロボマイコン310に送信する(ステップS606)。その後、カメラマイコン101は、図4に示すステップS11の処理に進む。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたデータを受信する(ステップS606)。そして、ストロボマイコン310は、当該受信したデータを内蔵RAMに格納して(ステップS608)、情報受信を終了する。
図9は、図4に示すバウンス処理の一例を説明するためのフローチャートである。
バウンス処理を開始すると、まずカメラマイコン101は、後述するようにして、ストロボマイコン310からオートバウンスデータを取得する(ステップS701)。そして、カメラマイコン101はオートバウンスデータに基づいてオートバウンス動作が可能であるか否かを判定する(ステップS702)。ステップS702の処理では、カメラマイコン101はオートバウンス動作の設定および受信したオートバウンスデータに応じて、ストロボ300がオートバウンス動作可能であるか否かを判定する。
オートバウンス動作が可能でないと判定した場合には(ステップS702において、NO)、カメラマイコン101は図4に示すステップS13の処理に進む。
一方、オートバウンス動作が可能であると判定した場合には(ステップS702において、YES)、カメラマイコン101は合焦用測距ユニット107が電荷蓄積動作中でないか否かを確認する(ステップS703)。合焦用測距ユニット107が電荷蓄積動作中であると(ステップS703において、NO)、カメラマイコン101はステップS702の処理に戻る。なお、ステップS703の処理は、AF蓄積動作とプリ発光動作とが重ならないようにするために行われる。
合焦用測距ユニット107が電荷蓄積動作中でないと(ステップS703において、YES)、カメラマイコン101はバウンス動作の実行指示を送信する準備を行う(ステップS704)。そして、カメラマイコン101は、後述するようにして、バウンス動作の実行指示をストロボマイコン310に送信する(ステップS705)。
続いて、カメラマイコン101は、後述するようにして、バウンス発光撮影に最適な照射方向を決定するため被写体の距離を算出する(ステップS706)。そして、カメラマイコン101は、再び合焦用測距ユニット107が電荷蓄積動作中でないか否かを確認する(ステップS707)。合焦用測距ユニット107が電荷蓄積動作中であると(ステップS707において、NO)、カメラマイコン101はステップS702の処理に戻る。
合焦用測距ユニット107が電荷蓄積動作中でないと(ステップS707において、YES)、カメラマイコン101は、後述するようにして、バウンス発光撮影に最適な照射方向を決定するため天井(壁)の距離を算出する(ステップS708)。そして、カメラマイコン101は、後述するようにして、バウンス発光撮影に最適な照射方向を決定する(ステップS709)。
続いて、カメラマイコン101は最適な照射方向となるようにバウンス駆動制御を行う(ステップS710)。そして、カメラマイコン101は、バウンス動作の終了指示をストロボマイコン310に送信する(ステップS711)。その後、カメラマイコン101は、図4に示すステップS13に進む。
図10は、図9に示すオートバウンスデータ取得処理の一例を説明するためのフローチャートである。
オートバウンスデータ取得処理を開始すると、カメラマイコン101は、ストロボマイコン310にストロボ300がオートバウンス可能であるか否かを確認するためのコマンドを送信する(ステップS801)。そして、カメラマイコン101は、ストロボマイコン310からオートバウンス可能であるか否かを確認するためのコマンドに対する返答を受信する(ステップS802)。
次に、カメラマイコン101は、ストロボマイコン310にオートバウンスにおける駆動範囲を確認するためのコマンドを送信する(ステップS803)。そして、カメラマイコン101は、ストロボマイコン310からオートバウンスにおける駆動範囲の確認するためのコマンドに対する返答を受信する(ステップS804)。
続いて、カメラマイコン101は、ストロボマイコン310にオートバウンスにおける対象物の距離を算出するための測距方式を確認するためのコマンドを送信する(ステップS805)。そして、カメラマイコン101は、ストロボマイコン310から測距方式の確認のためのコマンドに対する返答を受信する(ステップS806)。
さらに、カメラマイコン101は、ステップS802、S804、およびS806において受信したデータを内蔵RAMに格納する(ステップS807)。そして、カメラマイコン101は、図9に示すステップS702の処理に進む。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたコマンドを受信する(ステップS808)。そして、ストロボマイコン310は、コマンドの内容を判別する(ステップS809)。
コマンドの内容が「オートバウンス可能の確認」であると(ステップS809において、オートバウンス可能確認)、ストロボマイコン310は、ストロボ300がオートバウンス可能である否か否かを判定する(ステップS810)。そして、オートバウンス可能であると(ステップS810において、YES)、ストロボマイコン310は、カメラストロボ間通信(SC)において「SC001コマンド:01」を内蔵RAMに格納する(ステップS811)。一方、オートバウンス可能でないと(ステップS810において、NO)、ストロボマイコン310は、カメラストロボ間通信(SC)において「SC001コマンド:00」を内蔵RAMに格納する(ステップS812)。
ステップS811又はS812の処理の後、ストロボマイコン310は、オートバウンス可能確認のためのコマンドの返答として、内蔵RAMに格納したデータを送信する(ステップS813)。その後、ストロボマイコン310は処理を終了する。
コマンドの内容が「オートバウンス駆動範囲の確認」であると(ステップS809において、オートバウンス駆動範囲確認)、ストロボマイコン310は、オートバウンスの駆動範囲として上下方向および左右方向の双方が可能であるか否かを判定する(ステップS814)。
駆動範囲として上下方向および左右方向の双方が可能であると(ステップS814において、YES)、ストロボマイコン310は、カメラストロボ間通信(SC)において「SC020コマンド:データ00」を内蔵RAMに格納する(ステップS815)。そして、ストロボマイコン310は、カメラストロボ間通信(SC)において左右方向の駆動範囲として「SC030コマンド:データXX(開始) XX(終了)」を内蔵RAMに格納する(ステップS816a)。
続いて、ストロボマイコン310は、カメラストロボ間通信(SC)において上下方向の駆動範囲として「SC040コマンド:データXX(開始) XX(終了)」を内蔵RAMに格納する(ステップS817a)。
駆動範囲として上下方向および左右方向の双方が可能でないと(ステップS814において、NO)、ストロボマイコン310は、駆動範囲として左右方向(水平方向)のみ可能かである否かを判定する(ステップS818)。駆動範囲として左右方向のみが可能であると(ステップS818において、YES)、ストロボマイコン310は、カメラストロボ間通信(SC)において「SC020コマンド:データ01」を内蔵RAMに格納する(ステップS819)。そして、ストロボマイコン310は、カメラストロボ間通信(SC)において左右方向の駆動範囲として「SC030コマンド:データXX(開始) XX(終了)」を内蔵RAMに格納する(ステップS816b)。
駆動範囲として左右方向が可能でないと(ステップS818において、NO)、つまり、駆動範囲として上下方向(垂直方向)が可能であると、ストロボマイコン310は、ストロボマイコン310は、カメラストロボ間通信(SC)において「SC020コマンド:データ02」を内蔵RAMに格納する(ステップS820)。そして、ストロボマイコン310は、カメラストロボ間通信(SC)において上下方向の駆動範囲として「SC030コマンド:データXX(開始) XX(終了)」を内蔵RAMに格納する(ステップS817b)。
ステップS817a、S816b、又はS817bの処理の後、ストロボマイコン310は、オートバウンス駆動範囲確認のためのコマンドの返答として内蔵RAMに格納したデータをカメラマイコン101に送信する(ステップS821)。その後、ストロボマイコン310は処理を終了する。
コマンドの内容が「測距方式の確認」であると(ステップS809において、測距方式確認)、ストロボマイコン310は、オートバウンスにおける対象物の距離を算出するための測距方式が設定されているか否かを判定する(ステップS822)。測距方式が設定されていると(ステップS822において、設定)、ストロボマイコン310は、測距方式および対象物の設定内容に応じた「SC090コマンド:XX XX」を内蔵RAMに格納する(ステップS823)。そして、ストロボマイコン310は、測距方式確認のためのコマンドに対する返答として内蔵RAMに格納したデータをカメラマイコン101に送信する(ステップS824)。その後、ストロボマイコン310は処理を終了する。
なお、測距方式が設定されていないと(ステップS822において、設定なし)、ストロボマイコン310は、その旨をカメラマイコン101に送信して、処理を終了する。
図11は、図9に示すバウンス動作実行指示送信処理の一例を説明するためのフローチャートである。
バウンス動作実行指示送信処理を開始すると、カメラマイコン101は、バウンス動作の際の左右方向(水平方向)の駆動範囲を設定するため「CS031コマンド:データXX XX」をストロボマイコン310に送信する(ステップS901)。なお、左右方向の駆動範囲を設定しない場合には、カメラマイコン101はステップS901の処理を省略する。
続いて、カメラマイコン101は、バウンス動作の際の上下方向(垂直方向)の駆動範囲を設定するため「CS041コマンド:データXX XX」をストロボマイコン310に送信する(ステップS902)。なお、上下方向の駆動範囲を設定しない場合には、カメラマイコン101はステップS902の処理を省略する。
次に、カメラマイコン101は、姿勢V検出回路140a、姿勢H検出回路140b、および姿勢Z検出回路140cの検出結果である姿勢差情報として「CS121コマンド:データXX XX XX」をストロボマイコン310に送信する(ステップS903)。そして、カメラマイコン101は、その他のストロボ設定情報をストロボマイコン310に送信する(ステップS904)。
続いて、カメラマイコン101は、バウンス動作の実行指示をストロボマイコン310に送信する(ステップS905)。その後、カメラマイコン101は、ステップS706の処理に移行する。
ストロボ300においてカメラマイコン101から通信割り込みを受けると、ストロボマイコン310は、カメラマイコン101から送信されたデータを受信する(ステップS906)。そして、ストロボマイコン310は、当該受信したデータを内蔵RAMに格納する(ステップS907)。その後、ストロボマイコン310はバウンス動作を開始する。
図12は、図9に示す被写体距離算出処理の一例を説明するためのフローチャートである。
被写体距離算出処理を開始すると、カメラマイコン101は、被写体距離を算出するための測距方式を決定する(ステップS1001)。そして、カメラマイコン101は、測距方式がプリ発光方式であるか否かを判定する(ステップS1002)。
測距方式がプリ発光方式でないと(ステップS1002において、NO)、カメラマイコン101は、被写体距離情報として「CS111コマンド:データXX」をストロボマイコン310に送信する(ステップS1003)。その後、カメラマイコン101は、図9に示すステップS707の処理に移行する。
なお、オートバウンスデータによって、測距方式がストロボ測距方式であることを受信していると、カメラマイコン101はステップS1002の処理を省略する。
測距方式がプリ発光方式であると(ステップS1002において、YES)、カメラマイコン101は、測距点情報通信として「CS191コマンド:データxx xx」をストロボマイコン310に送信する(ステップS1005)。そして、カメラマイコン101は、プリ発光許可として「CS131コマンド:データ00」をストロボマイコン310に送信する(ステップS1006)。
続いて、カメラマイコン101は、ストロボマイコン310からオートバウンス状態確認返答を受信する(ステップS1007)。そして、カメラマイコン101は、オートバウンス可能であるか否かを判定する(ステップS1008)。オートバウンス可能であると(ステップS1008において、YES)、カメラマイコン101は、プリ発光命令をストロボマイコン310に送信する(ステップS1009)。カメラマイコン101は、ストロボマイコン310から被写体距離情報を受信して、当該受信した被写体距離情報を内蔵RAMに格納する(ステップS1010)。その後、カメラマイコン101は、図9に示すステップS707の処理に移行する。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたデータを受信する(ステップS1011)。そして、ストロボマイコン310は、当該受信したデータを内蔵RAMに格納する(ステップS1012)。
続いて、ストロボマイコン310は、ステップS1007の処理による割り込みがあれば、オートバウンス状態確認返答をカメラマイコン101に送信する(ステップS104)。ここでは、ストロボマイコン310はストロボ300がオートバウンスを実行できない状態であるか否かをカメラマイコン101に送信する。
次に、ストロボマイコン310は可動部を回動した後、プリ発光命令に応じて発光制御回路304に対してプリ発光指示を行う(ステップS1015)。これによって、発光制御回路304は放電管305をプリ発光させる(ステップS1016)。その後、ストロボマイコン310は、バウンス用測距ユニット308によって対象物で反射されたプリ発光の反射光を受光センサーで受光し、反射光の積分値に基づいて被写体距離を算出する(ステップS1017)。
続いて、ストロボマイコン310は、当該被写体距離を示す被写体距離情報を示す「SC110コマンド:データXX」をカメラマイコン101に送信する(ステップS1018)。その後、ストロボマイコン310は処理を終了する。
図13は、図9に示す天井(壁)距離算出処理の一例を説明するためのフローチャートである。
天井(壁)距離算出処理を開始すると、カメラマイコン101は、プリ発光許可として「CS131コマンド:データ00」をストロボマイコン310に内蔵RAMに格納する(ステップS1101)。そして、カメラマイコン101は、内蔵RAMに格納したプリ発光命令をストロボマイコン310に送信する(ステップS1102)。カメラマイコン101は、ストロボマイコン310から天井(壁)距離情報を受信し、当該受信した天井(壁)距離情報を内蔵RAMに格納する(ステップS1103)。その後、カメラマイコン101は、図9に示すステップS709の処理に移行する。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたデータを受信する(ステップS1107)。そして、ストロボマイコン310は、当該受信したデータを内蔵RAMに格納する(ステップS1108)。
続いて、プリ発光許可を受信すると、ストロボマイコン310は、照射方向が天井方向となるようにバウンス回路340を制御して可動部300bを回動させる(ステップS1109)。可動部300bを回動した後、ストロボマイコン310は、プリ発光命令に応じて発光制御回路304にプリ発光指示を行う(ステップS1110)。これによって、発光制御回路304は放電管305をプリ発光させる(ステップS1111)。
続いて、ストロボマイコン310は、バウンス用測距ユニット308によって対象物で反射したプリ発光の反射光を受光センサーで受光し、当該反射光の積分値に基づいて天井(壁)距離を算出する(ステップS1112)。そして、ストロボマイコン310は、算出した天井(壁)距離を示す天井距離情報として「SC100コマンド:データXX」をカメラマイコン101に送信する(ステップS1113)。その後、ストロボマイコン310は処理を終了する。
図14は、図9に示す照射方向決定処理の一例を説明するためのフローチャートである。
照射方向決定処理を開始すると、カメラマイコン101は、照射方向の決定をカメラ本体100で行うか否かを判定する(ステップS1201)。照射方向の決定について、カメラ本体100およびストロボ300のいずれにおいても決定できる場合には、どちらで決定してもよい。また、入力部112の操作によってカメラ本体100およびストロボ300のいずれかで決定する旨を設定するようにしてもよい。さらには、カメラ本体100およびストロボ300のいずれか一方のみで決定可能な場合には、自動的に照射方向の決定を行うマイコンが設定される。
照射法をカメラ本体100で決定する場合には(ステップS1201において、YES)、カメラマイコン101は、照射方向を決定するため、図9に示すステップS706の処理で算出した被写体距離情報およびステップS708の処理で算出した天井(壁)距離情報を参照する(ステップS1202)。そして、カメラマイコン101は、被写体距離情報および天井(壁)距離情報に基づいて、バウンス発光撮影に最適な照射方向を決定する(ステップS1203)。ここでは、カメラマイコン101は、最適な照射方向となる可動部300bの回動角度を求める。
なお、可動部300bの回動角度を演算する際には、被写体距離および天井距離に基づいて演算する手法であればどのような手法を用いてもよい。
図15は、図1及び図2に示すカメラで行われるバウンス発光撮影のシーンについてその一例を示す図である。
ストロボ300において、ストロボ光の射出面を起点として被写体までの距離をd1とする。いま距離d1/2の天井部分にストロボ光を反射させた場合に被写体について最適な反射光が得られるものとする。
ここで、地面から天井までの距離を(h=h1+h2)、水平方向に対する最適な照射方向をθ1とすると、次の式(1)によって出射方向(角度)θ1が求められる。
θ1=tan−1(2h/d1) (1)
よって、照射方向がθ1となる可動部300bの本体部300aに対する回動角度を求めればよい。
なお、算出された回動角度に可動部300bを回動することができない場合に対処するため、算出された回動角度に応じて予め設定された指定角度を選択して、当該選択した指定角度に可動部300bを回動させるようにしてもよい。この場合には、算出された回動角度よりも大きい指定角度を選択するようにする。つまり、算出された回動角度の位置よりも基準位置から離れた位置に可動部300bを回動させることになる。
これによって、算出された回動角度よりも小さい指定角度を選択する場合に比べて被写体の前面側に天井の反射光が多く照射され、さらには、ストロボ光が直接被写体に照射されることが避けられる。
再び図14を参照して、カメラマイコン101は、上記の回動角度を示す角度情報を内蔵RAMに格納し、当該角度情報として「CS071:上下データXX」および「CS081:左右データXX」をストロボマイコン310に送信する(ステップS1204)。そして、カメラマイコン101は、図9に示すステップS710の処理に移行する。
カメラ本体100で照射方向を決定しない場合には(ステップS1201において、NO)、カメラマイコン101は、角度演算指示として「CS171:00」をストロボマイコン310に送信する(ステップS1205)。その後、カメラマイコン101は、ストロボマイコン310から角度情報を受信して、当該角度情報を内蔵RAMに格納する。そして、カメラマイコン101は、図9に示すステップS710の処理に移行する。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたデータを受信する(ステップS1207)。そして、ストロボマイコン310は、当該受信したデータを内蔵RAMに格納する(ステップS1208)。
続いて、ストロボマイコン310は、照射方向の決定をストロボ300で行うか否かを判定する(ステップS1209)。照射方向の決定をストロボ300で行う場合には(ステップS1209において、YES)、ストロボマイコン310は、照射方向を決定するために、図9に示すステップS706の処理で求めた被写体距離情報およびステップS708の処理で求めた天井(壁)距離情報を参照する(ステップS1210)。そして、ストロボマイコン310は、被写体距離情報および天井(壁)距離情報に基づいて、バウンス発光撮影に最適な照射方向を決定する(ステップS1211)。なお、照射方向の決定については、カメラ本体100で決定する場合と同様であるので、ここでは説明を省略する。
続いて、ストロボマイコン310は、算出した回動角度を示す角度情報として「SC070:上下データXX」および「SC080:左右データXX」をカメラマイコン101に送信する(ステップS1212)。そして、ストロボマイコン310は処理を終了する。
なお、照射方向の決定をストロボ300で行わない場合には(ステップS1209において、NO)、ストロボマイコン310は処理を終了する。
図16Aは、図9に示すバウンス駆動制御処理においてカメラ本体で行われる処理の一例を説明するためのフローチャートである。
また、図16Bは、図9に示すバウンス駆動制御処理においてストロボ装置で行われる処理の一例を説明するためのフローチャートである。
図16Aおよび図16Bを参照して、バウンス駆動制御処理を開始すると、カメラマイコン101は、カメラ本体100においてバウンス駆動指示を行うか否かを判定する(ステップS1301)。カメラ本体100においてバウンス駆動指示を行う場合には(ステップS1301において、YES)、カメラマイコン101は、図9に示すステップS709の処理で求めた角度情報を参照する(ステップS1302)。そして、カメラマイコン101は、カメラ本体100においてバウンス駆動指示を行うことを知らせるため、「CS181コマンド:データ01」をストロボマイコン310に送信する(ステップS1303)。
次に、カメラマイコン101は、オートバウンス設定として「CS011コマンド:データ01」をストロボマイコン310に送信する(ステップS1304)。そして、カメラマイコン101は、オートバウンスの駆動条件として「CS021コマンド:データXX」をストロボマイコン310に送信する(ステップS1305)。ここでは、「左右、上下の両方は00」、「左右のみは01」、「上下のみは02」とする。
続いて、カメラマイコン101は、左右方向の駆動範囲として「CS031コマンド:データXX XX」をストロボマイコン310に送信する(ステップS1306)。そして、カメラマイコン101は、上下方向の駆動範囲として「CS041コマンド:データXX XX」をストロボマイコン310に送信する(ステップS1307)。
次に、カメラマイコン101は、姿勢差情報として「CS121コマンド:データXX XX XX」をストロボマイコン310に送信する(ステップS1308)。そして、カメラマイコン101は、可動部300bを回動させる速度(バウンス駆動回路340のモーターの駆動速度)を示す動作スピード情報として「CS0161コマンド:データXX」をストロボマイコン310に送信する(ステップS1309a)。ここでは、「ノーマル(基準速度)は00」、「低速(基準速度の50%)は01」、「高速(基準速度の150%)は02」とするが、さらに細かく設定するようにしてもよい。
このように、可動部300bを回動させる速度を変更可能とすることによって、可動部300bを回動させるためのモーターの動作音をシーンに合わせて設定することができる。可動部300bを回動させる速度は入力部112によるユーザの操作によって変更される。
続いて、カメラマイコン101は、上下方向への駆動指示として「CS051コマンド:データ01」および「CS071コマンド:データXX」をストロボマイコン310に送信する(ステップS1310)。そして、カメラマイコン101は、左右方向への駆動指示として「CS051コマンド:データ02」および「CS081コマンド:データXX」をストロボマイコン310に送信する(ステップS1311)。
バウンス駆動終了の後、カメラマイコン101は、バウンス駆動の停止指示として「CS051コマンド:データ00」および「CS011コマンド:データ00」をストロボマイコン310に送信する(ステップS1312)。
ストロボ300においてバウンス駆動指示を行う場合には(ステップS1301において、NO)、カメラマイコン101は、ストロボ300においてバウンス駆動指示を行うことを知らせるため、「CS181コマンド:データ00」をストロボマイコン310に送信する(ステップS1313)。そして、カメラマイコン101は、ステップS1309aの処理と同様にして動作スピード情報として「CS0161コマンド:データXX」をストロボマイコン310に送信する(ステップS1309b)。
ステップS1312又はS1309bの処理の後、カメラマイコン101は、ストロボマイコン310から可動部300bの現在位置を示す現在位置情報を受信して、当該現在位置情報を内蔵RAMに格納する。その後、カメラマイコン101は、図9に示すステップS711の処理に移行する。
ストロボ300において、カメラマイコン101から通信割り込みを受けると、ストロボマイコン310はカメラマイコン101から送信されたデータを受信する(ステップS1315)。そして、ストロボマイコン310は、受信したデータを内蔵RAMに格納する(ステップS1316)。
続いて、ストロボマイコン310は、バウンス駆動の際に可動部300bの突き当り又は可動部300bを強制的に手で押さえるなどの駆動エラーが生じているか否かを判定する(ステップS1317a)。駆動エラーが生じていないと(ステップS1317aにおいて、NO)、ストロボマイコン310は、駆動エラーがないことを知らせるため、「SC060コマンド:データ00」をカメラマイコン101に送信する(ステップS1318)。
次に、ストロボマイコン310は、カメラ本体100においてバウンス駆動指示を行うか否かを判定する(ステップS1319)。ストロボ300においてバウンス駆動指示を行う場合には(ステップS1319において、NO)、ストロボマイコン310は、ストロボ300においてバウンス駆動指示を行う準備をする(ステップS1320)。
続いて、ストロボマイコン310は、図9に示すステップS709の処理で求められた上下方向の角度情報を参照する(ステップS1321a)。そして、ストロボマイコン310は、上下方向の角度情報に応じてバウンス駆動回路340dのモーターを駆動させて、可動部300bを上下方向の回動角度に回動させる(ステップS1322a)。
次に、ストロボマイコン310は、可動部300bを上下方向に駆動中であることを知らせるため、「SC050コマンド:データ01」をカメラマイコン101に送信する(ステップS1323a)。そして、ストロボマイコン310は、ステップS1317aの処理と同様にして駆動エラーが生じているか否かを判定する(ステップS1317b)。
駆動エラーが生じていると(ステップS1317bにおいて、YES)、ストロボマイコン310は、後述のステップS1330の処理に進む。一方、駆動エラーが生じていないと(ステップS1317bにおいて、NO)、ストロボマイコン310は、図9に示すステップS707の処理で求められた左右方向の角度情報を参照する(ステップS1324a)。そして、ストロボマイコン310は、左右方向の角度情報に応じて、バウンス駆動回路340bのモーターを駆動させて、可動部300bを左右方向の回動角度に回動させる(ステップS1325a)。
その後、ストロボマイコン310は、可動部300bが左右方向に駆動中であることを知らせるため、「SC050コマンド:データ02」をカメラマイコン101に送信する(ステップS1326a)。そして、ストロボマイコン310は、ステップS1317aの処理と同様にして駆動エラーが起きているか否かを判定する(ステップS1317c)。
駆動エラーが生じていると(ステップS1317cにおいて、YES)、ストロボマイコン310は、後述のステップS1330の処理に進む。一方、駆動エラーが生じていないと(ステップS1317cにおいて、NO)、ストロボマイコン310は、可動部300bの上下方向および左右方向の駆動が終了した後、駆動停止情報として「SC051コマンド:データ00」および「SC011コマンド:データ00」をカメラマイコン101に送信する(ステップS1328)。
次に、ストロボマイコン310は、バウンス駆動の後の可動部300bの回動角度を示す現在位置情報として「SC070コマンド:データXX」および「SC080コマンド:データXX」をカメラマイコン101に送信する(ステップS1329)。そして、ストロボマイコン310は処理を終了する。
カメラ本体100においてバウンス駆動指示を行う場合には(ステップS1319において、YES)、ストロボマイコン310は、ストロボ300の指示でバウンス駆動を行う準備をする(ステップS1327)。そして、ストロボマイコン310は、ステップS1321b、S1322b、S1323b、S1317d、S1324b(左右バウンス角度データ取得)、S1325b、S1326b、およびS1317eの処理において、ステップS1321a、S1322a、S1323a、S1317b、S1324a、S1325a、S1326a、およびS1317cの処理と同様の処理を行う。
なお、ステップS1317d又はS1317eの処理において、バウンス駆動エラーが生じていると、ストロボマイコン310は、ステップS1330の処理に進む。また、ステップS1317eの処理において、バウンス駆動エラーが生じていないと、ストロボマイコン310はステップS1328の処理に進む。
ステップS1317aにおいて、バウンス駆動エラーが生じていると(ステップS1317aにおいて、YES)、ストロボマイコン310はその旨をストロボ通信によってカメラマイコン101に送信する(ステップS1330)。そして、ストロボマイコン310はステップS1329の処理に進む。
図17は、図1および図2に示すストロボ300で行われる発光処理の一例を説明するためのフローチャートである。
入力部312に備えられた電源スイッチがONされると、ストロボマイコン310はストロボ発光処理を開始する。そして、ストロボマイコン310は内蔵メモリおよびポートの初期化を行う(ステップS1401)。さらに、ステップS1401の処理では、ストロボマイコン310は、入力部312に備えられたスイッチの状態および予め設定された入力情報を読み込んで、発光量の決定手法および発光タイミングなどの発光モードを設定する。
続いて、ストロボマイコン310は、昇圧回路ブロック302によってメインコンデンサ302dの充電を開始する(ステップS1402)。そして、ストロボマイコン310は、カメラマイコン101から通信ラインSCを介して得た焦点距離情報を内蔵RAMに格納する(ステップS1403)。なお、以前に焦点距離情報を内蔵RAMに格納していた場合には、ストロボマイコン310は新たな焦点距離情報に更新する。
次に、ストロボマイコン310は、入力部312において設定された発光モードに関する画像および取得した焦点距離情報に関する画像などを表示部313に表示する(ステップS1404)。そして、ストロボマイコン310は、ストロボ光の照射範囲が焦点距離情報に応じた範囲となるように、ズーム駆動回路330によってズーム光学系307を移動する(ステップS1405)。
続いて、ストロボマイコン310は、バウンス位置検出回路340aおよび340cによって可動部300bの本体部300aに対する回動角度を検出する(ステップS1406)。そして、ストロボマイコン310は、バウンス動作の実行指示があるか否かを判定する(ステップS1407)。
バウンス動作の実行指示があると(ステップS1407において、YES)、ストロボマイコン310は、前述のバウンス駆動を行う(ステップS1408)。そして、ストロボマイコン310は、バウンス動作の後の可動部300bの本体部300aに対する回動角度を示す現在位置情報を、前述のようにカメラマイコン101に送信する(ステップS1409)。
次に、ストロボマイコン310は、メインコンデンサ302dの充電電圧が所定の閾値電圧以上(充電完了)であるか否かを判定する(ステップS1410)。なお、バウンス動作の実行指示がないと(ステップS1407において、NO)、ストロボマイコン310は、ステップS1410の処理に進む。
充電電圧が閾値電圧以上であると(ステップS1410において、YES)、ストロボマイコン310は、充電完了信号をカメラマイコン101に送信する(ステップS1411)。そして、ストロボマイコン310は、カメラマイコン101から発光命令である発光開始信号を受信したか否かを判定する(ステップS1412)。
発光開始信号を受信すると(ステップS1412において、YES)、ストロボマイコン310は発光開始信号に応じて発光制御回路304を制御して放電管305を発光させる(ステップS1413:発光開始)。その後、ストロボマイコン310はステップS1402の処理に戻る。一方、発光開始信号を受信しないと(ステップS1412において、NO)、ストロボマイコン310はステップS1402の処理に戻る。
なお、ステップS1413の処理においては、調光用のプリ発光および本発光のように一連する発光については、ストロボマイコン310は各発光が終了してもステップS1402の処理に戻らず、一連の発光が終了すると、ステップS1402の処理に戻る。
充電電圧が閾値電圧未満であると(ステップS1410において、NO)、ストロボマイコン310は、充電未完信号をカメラマイコン101に送信する(ステップS1414)。そして、ストロボマイコン310はステップS1402の処理に戻る。
このように、本発明の第1の実施形態では、プリ発光制御処理をカメラ本体で行う場合に、合焦用測距中においてプリ発光動作を禁止するようにしたので、オートフォーカスにおけるピント合わせを正しく行って、正しくバウンス角(つまり、照射角度)を設定することができる。
なお、第1の実施形態で説明したフローチャートの各々は一例であって、必要に応じて、フローチャートに係る処理を上述の説明と異なる順序で行うようにしてもよい。さらに、上述のコマンド、コマンド番号、およびデータ項目は一例であって、同様の役割を果たすものであればどのように設定してもよい。また、第1の実施形態では、AF補助光部316がストロボ300に備えられる例について説明したが、AF補助光部316はカメラ本体100に備えるようにしてもよい。
[第2の実施形態]
続いて、本発明の第2の実施形態によるカメラの一例について説明する。なお、第2の実施形態によるカメラの構成は、図1および図2に示すカメラと同様である。
第2の実施形態においては、プリ発光制御処理をストロボ300で行う場合に、AF補助光部の発光をAF補助光発光指令で判定する。そして、AF補助光の発光中および発光後の所定時間においてプリ発光動作を禁止するようにする。
図18は、本発明の第2の実施形態によるカメラで行われるオートバウンス発光撮影の一例を説明するためのフローチャートである。なお、図18において、図4に示すステップと同一のステップについては同一の参照符号を付して説明を省略する。
ステップS11において、オートバウンス動作を行うと判定すると、カメラマイコン101は、通信ラインSCを介してストロボ300にバウンス開始指示を送信する(ステップS1812)。そして、バウンス開始指示を受信すると、ストロボマイコン310は、後述するようにしてバウンス処理を行う。
バウンス処理が終了した場合には、ストロボマイコン310はカメラマイコン101にバウンス終了信号が送信する。バウンス開始指示を送信した後、カメラマイコン101はストロボマイコン301からバウンス終了信号を受信したか否かを判定する(ステップS1813)。バウンス終了信号を受信しないと(ステップS1813において、NO)、カメラマイコン101は待機する。一方、バウンス終了信号を受信すると(ステップS1813において、YES)、カメラマイコン101は、図4で説明したステップS13の処理に進む。
図19は、本発明の第2の実施形態によるカメラで行われるバウンス処理を説明するためのフローチャートである。なお、図19において、図9に示すステップと同一のステップについては同一の参照符号を付して説明を省略する。但し、図19においては、図9に示すフローチャートと異なり、バウンス処理はストロボマイコン310で行われる。
ステップS702において、オートバウンス可能であると判定した場合(ステップS702において、YES)、ストロボマイコン310は、カメラマイコン101からAF補助光発光指令が送信されたか否かを確認する(ステップS1903)。AF補助光発光指令がないと(ステップS1903において、NO)、ストロボマイコン310はステップS702の処理に戻る。
一方、AF補助光発光指令があると(ステップS1903において、YES)、ストロボマイコン310は、合焦用測距ユニット107の状態を直接読み取ることができないので、AF補助光発光指令から所定の時間が経過したか否かを確認する(ステップS1904)。
図20は、本発明の第2の実施形態によるカメラによるプリ発光禁止タイミングを説明するための図である。そして、図20(a)はプリ発光禁止タイミングの一例を示す図であり、図20(b)はプリ発光禁止タイミングの他の例を示す図である。
図20(a)に示す「AF補助光なし測距」のようにAF補助光発光指令がない場合においても合焦用測距ユニット107において電荷蓄積動作(AF蓄積動作)を行っている可能性がある。そこで、前回のAF補助光発光指令から所定の時間が経過するまで待つことによって、AF蓄積動作とプリ発光動作とが重ならないようにする。
「AF補助光なし測距」は、図20(b)に示すパターンで行われることがあるが、上記の所定の時間をAF蓄積時間の最長時間以上の時間に設定すれば、AF蓄積動作とプリ発光動作とが重ならないようにすることができる。
再び図19を参照して、AF補助光発光指令から所定の時間が経過していないと(ステップS1904において、NO)、ストロボマイコン310はステップS702の処理に戻る。一方、前回のAF補助光発光指令から所定時間が経過すると(ステップS1904において、YES)、ストロボマイコン310は、前述のステップS704の処理に進む。
そして、ステップS706の処理を行った後、ストロボマイコン310は、ステップS1908およびS1909の処理を行う。なお、ステップS1908およびS1909の処理は、前述のステップS1903およびS1904の処理と同様である。
ステップS1909において、前回のAF補助光発光指令から所定時間が経過すると(ステップS1909において、YES)、ストロボマイコン310は、ステップS708の処理に進む。
なお、図10〜図14および図16Aおよび図16Bで説明したカメラ本体100で行う処理については、ストロボ300で行われることになる。
このように、本発明の第2の実施形態では、プリ発光制御処理をストロボ300で行う際に、AF補助光の発光をAF補助光発光指令によって判定する。そして、補助光発光中および発光後の所定の時間が経過するまでについてはプリ発光動作を禁止する。これによって、オートフォーカスにおけるピント合わせを正しく行って、正しくバウンス角を設定することができる。
なお、第2の実施形態で説明したフローチャートは一例であって、必要に応じて、フローチャートに係る処理を上述の説明と異なる順序で行うようにしてもよい。さらに、上述のコマンド、コマンド番号、およびデータ項目は一例であって、同様の役割を果たすものであればどのように設定してもよい。
[第3の実施形態]
続いて、本発明の第3の実施形態によるカメラの一例について説明する。なお、第2の実施形態によるカメラの構成は、図1および図2に示すカメラと同様である。
第3の実施形態では、プリ発光制御処理をストロボ300で行う場合に、合焦用測距ユニットが蓄積動作中か否かについてカメラ本体100とストロボ300との双方向通信で判定する。そして、合焦用測距ユニットが電荷蓄積動作中であるとプリ発光動作を禁止する。
図21は、本発明の第3の実施形態によるカメラで行われるバウンス処理の一例を説明するためのフローチャートである。なお、図21において、図9に示すフローチャートのステップと同一のステップについては同一参照符号を付して説明を省略する。
ステップS702において、オートバウンスが可能であると(ステップS702において、YES)、ストロボマイコン310はカメラマイコン101から図7Aおよび図7Bに示す「CS192コマンド:データX」を受信する(ステップS2103)。そして、ストロボマイコン310は、ステップS2103で受信したデータに応じて合焦用測距ユニットが電荷蓄積動作中(AF蓄積動作中)でないか否かを判定する(ステップS2104)。
合焦用測距ユニットがAF蓄積動作中でないと(ステップS2104において、YES)、ストロボマイコン310は、図9で説明したステップS704の処理に移行する。一方、合焦用測距ユニットがAF蓄積動作中であると(ステップS2104において、NO)、ストロボマイコン310はステップS702の処理に戻る。
そして、ステップS706の処理を行った後、ストロボマイコン310は、ステップS2108およびS2109の処理を行う。なお、ステップS2108およびS2109の処理は、前述のステップS2103およびS2104の処理と同様である。
ステップS2109において、合焦用測距ユニットがAF蓄積動作中でないと(ステップS2109において、YES)、ストロボマイコン310は、ステップS708の処理に進む。
このように、本発明の第3の実施形態では、合焦用測距ユニットがAF蓄積動作中か否かについてカメラ本体100とストロボ300との双方向通信によって判定する。そして、AF蓄積動作中である場合にはプリ発光動作を禁止する。これによって、オートフォーカスにおけるピント合わせを正しく行って、正しくバウンス角を設定することができる。
なお、第3の実施形態で説明したフローチャートは一例であって、必要に応じて、フローチャートに係る処理を上述の説明と異なる順序で行うようにしてもよい。さらに、上述のコマンド、コマンド番号、およびデータ項目は一例であって、同様の役割を果たすものであればどのように設定してもよい。
上述の説明から明らかなように、図1および図2に示す例では、ストロボマイコン310などが第1の制御手段、第1の測距手段、および第2の制御手段として機能し、カメラマイコン101などが第2の測距手段、第3の制御手段、および通知手段として機能する。また、ストロボマイコン310又はカメラマイコン101が禁止手段として機能する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を撮像装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを撮像装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。