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