以下、本発明の実施形態について、添付図面を参照して詳細に説明する。図1は、本発明の実施形態に係る撮像システム10の概略構成を示すブロック図である。図2は、撮像システム10の概略構成を示す断面図である。なお、図1と図2において、同一の要素については同じ符号を付している。また、一部の要素は図1に示されているが図2には示されておらず、別の一部の要素は図2には示されているが図1には示されていない。
撮像システム10は、撮像装置であるカメラ本体100と、カメラ本体100に装着されたレンズ鏡筒200と、カメラ本体100に装着された照明装置であるストロボ装置300とを有する。ストロボ装置300はカメラ本体100に対して着脱自在であり、レンズ鏡筒200はカメラ本体100に固定(一体化)されていてもよいし、カメラ本体100に対して着脱自在であってもよい。
カメラ本体100は、カメラマイコン101、撮像素子102、シャッタ103、主ミラー104、ピント板105、測光回路106、焦点検出回路107、ゲイン切替回路108、A/D変換器109及びタイミングジェネレータ110を備える。また、カメラ本体100は、信号処理回路111、入力部112、表示部113、ペンタプリズム114、サブミラー115及び無線ユニット116を備える。更に、カメラ本体100は、通信ラインLC、通信ラインSC、端子120、端子130、姿勢検出回路140及びカメラインタフェース回路150を備える。以下の説明では、カメラマイコン101を「CCPU101」と記し、タイミングジェネレータ110を「TG110」と記し、カメラインタフェース回路150を「カメラIF回路150」と記す。
CCPU101は、各種のソフトウェア(プログラムコード)を実行することにより、カメラ本体100の各部の動作を制御するマイクロコンピュータである。CCPU101は、例えば、CPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ及びD/Aコンバータ等を含むマイコン内蔵ワンチップIC回路構成となっている。CCPU101は、CPUがROMに格納された所定のプログラムコードをRAMに展開することにより、カメラ本体100を制御するための各種の判定処理や演算処理を行う。
撮像素子102は、赤外カットフィルタやローパスフィルタ等を含むCCDセンサ又はCMOSセンサ等の撮像素子である。レンズ鏡筒200を通過した被写体からの光束は、撮像素子102に被写体の光学像として結像する。シャッタ103は、撮像素子102を遮光する状態と撮像素子102を露光する状態との間で遷移可能に構成されている。主ミラー104は、ハーフミラーであり、レンズ鏡筒200を通して入射する光の一部を反射してピント板105に結像させる位置と、レンズ鏡筒200から撮像素子102へ至る撮影光路内から退避する位置との間で移動可能となっている。ピント板105には、被写体の光学像が結像する。ユーザ(撮影者)は、ピント板105に結像された被写体の光学像を不図示の光学ファインダを介して確認することができる。
測光回路106(AE回路)は、回路内に測光センサを備えており、被写体に対して設定された1又は複数の領域で測光を行うことにより露出情報を出力する。なお、測光回路106内の測光センサは、ペンタプリズム114を介してピント板105に結像された被写体像を見込んでいる。焦点検出回路107(AF回路)は、回路内に複数点の測距ポイントを有する測距センサを備えており、各測距点のデフォーカス量等の焦点情報を出力する。ゲイン切替回路108は、撮像素子102から出力されるアナログ信号を増幅させる。CCPU101は、撮影条件やユーザの操作等に応じて、ゲイン切替回路108において信号に掛けるゲインを切り替える。A/D変換器109は、ゲイン切替回路108から出力されるアナログ信号をデジタル信号に変換することにより、画像データを生成する。TG110は、撮像素子102から信号出力タイミング(ゲイン切替回路108からA/D変換器109への増幅信号の入力タイミング)とA/D変換器109でのA/D変換のタイミングとを同期させる。
信号処理回路111は、A/D変換器109から出力されるデジタル信号からなる画像データに対して所定の信号処理を行う。入力部112は、電源スイッチ、レリーズボタン、設定ボタン等の操作部を含み、CCPU101は、入力部112に対する操作に応じた入力部112からの指示に基づいて各種の処理を実行する。例えば、レリーズボタンが1段階操作(半押し)されると、レリーズスイッチSW1がオンとなり、CCPU101はAF(オートフォーカス)、AE(自動露出)等の撮影準備動作を実行する。また、レリーズボタンが2段階操作(全押し)されると、レリーズスイッチSW2がオンとなって、CCPU101は撮像素子102に対する露光から、生成された画像データの保存までの一連の撮影動作を実行する。また、設定ボタンの操作により、ストロボ装置300の各種設定を行うことができる。なお、ストロボ装置300とカメラ本体100との間で無線通信が可能な場合は、カメラ本体100にストロボ装置300が直接装着されていなくても、設定ボタンの操作により、装着されている状態と同様にストロボ装置300の各種の設定を行うことができる。
表示部113は、液晶装置や発光素子によって構成されており、カメラ本体100に対して設定された撮影モードやその他の撮影情報を表示し、液晶装置には、撮影中の被写体像や撮影画像の再生表示等も可能である。ペンタプリズム114は、ピント板105の被写体像を測光回路106内の測光センサ及び不図示の光学ファインダに導く。サブミラー115は、レンズ群202より入射して主ミラー104を透過した光を焦点検出回路107の測距センサへ導く。無線ユニット116は、周知の技術を用いて、ストロボ装置300が有する後述の無線ユニット370と無線通信を行う。
通信ラインLCは、カメラ本体100とレンズ鏡筒200に設けられた後述のレンズマイコン201(以下「LPU201」という)を通信可能に接続するインタフェースの信号ラインである。撮像システム10は、通信ラインLCを用いた通信の一例として3端子式のシリアル通信を行うための端子120を備え、CCPU101をホストとしたデータ交換やコマンド伝達等の情報通信を行う。端子120は、SCLK_L端子、MOSI_L端子、MISO_L端子及びGND端子を含む。SCLK_L端子は、カメラ本体100とレンズ鏡筒200の間の通信の同期をとるための端子である。MOSI_L端子は、カメラ本体100からレンズ鏡筒200へデータを送信するための端子である。MISO_L端子は、レンズ鏡筒200から送信されたデータをカメラ本体100で受信するための端子である。GND端子は、カメラ本体100とレンズ鏡筒200を接続して、これらをグラウンド電位に落とす。
通信ラインSCは、CCPU101とストロボ装置300に設けられた後述のストロボマイコン310(以下「FPU310」という)とを通信可能に接続するカメラ本体100側のインタフェースであるカメラIF回路150の信号ラインである。撮像システム10は、通信ラインSCを用いた通信の一例として、3端子式のシリアル通信を行うための端子130を備える。端子130は、具体的には、カメラ本体100とストロボ装置300を機械的に接続すると共に通信可能に接続するアクセサリシューとホットシューにより構成される。よって、端子130のカメラ本体100側には、ストロボ装置300に限らず、その他のカメラアクセサリを着脱することができる。CCPU101とFPU310とは、カメラIF回路150、端子130及びストロボ装置300に設けられた後述のストロボインタフェース回路380(以下「ストロボIF回路380」という)を介して通信可能に接続されるが、その詳細については後述する。
姿勢検出回路140は、カメラ本体100の姿勢差を検出する回路であり、水平方向の姿勢差を検出する姿勢H検出部140a、鉛直方向の姿勢差を検出する姿勢V検出部140b及び前後方向(Z方向)の姿勢差を検出する姿勢Z検出部140cを有する。姿勢検出回路140には、例えば、角速度センサやジャイロセンサが用いられる。姿勢検出回路140により検出された各方向の姿勢差に関する姿勢情報は、CCPU101に供給される。
レンズ鏡筒200は、LPU201、レンズ群202、レンズ駆動部203、エンコーダ204、絞り205及び絞り制御回路206を備える。LPU201は、レンズ鏡筒200の各部を制御するマイクロコンピュータである。LPU201は、例えば、CPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ及びD/Aコンバータ等を含むマイコン内蔵ワンチップIC回路構成となっている。
レンズ群202は、フォーカスレンズやズームレンズ等を含む複数枚のレンズで構成されている。なお、レンズ群202には、ズームレンズは含まれなくてもよい。レンズ駆動部203は、レンズ群202に含まれるレンズを光軸方向に駆動する。レンズ群202の駆動量は、カメラ本体100に設けられた焦点検出回路107の出力に基づいてCCPU101により演算され、算出された駆動量がCCPU101からLPU201へ送信される。エンコーダ204は、レンズ群202の位置を検出し、駆動情報をLPU201へ出力する。LPU201(又はCCPU101)は、エンコーダ204からの駆動情報に基づいて駆動量を算出し、算出された駆動量分だけレンズ駆動部203がレンズ群202を駆動することにより焦点調節が行われる。絞り205は、レンズ鏡筒200内を通過する光量を調節する。絞り制御回路206は、LPU201の制御下で、絞り205を駆動する。
ストロボ装置300は、大略的に、カメラ本体100に対して着脱可能な本体部300aと、本体部300aに対して上下方向及び左右方向に回転可能に保持された可動部300bから構成されている。上下方向は、カメラ本体100を正姿勢で構えたときの鉛直方向と略平行な方向である。左右方向は、カメラ本体100を正姿勢で構えたときの鉛直方向と直交する方向である。
ストロボ装置300は、電池301、昇圧回路ブロック302、トリガ回路303、発光制御回路304、放電管305、反射傘306、ストロボ光学系307、測距ユニット308、積分回路309、ANDゲート311及びFPU310を備える。また、ストロボ装置300は、入力部312、表示部313、フォトダイオード314、コンパレータ315、光学系駆動回路330、バウンス回路340、姿勢検出回路360、無線ユニット370及びストロボIF回路380を備える。可動部300bにはワイドパネル410(第1の光学部材)が引き出し/収納可能に配置されており、ワイドパネル410は、発光部の前面から退避した収納位置から引き出されて発光部の前面の位置に移動可能である。また、可動部300bには、バウンスアダプタ420(第2の光学部材)の装着が可能となっている。
FPU310は、ストロボ装置300の各部を制御するマイクロコンピュータである。FPU310は、例えばCPU、ROM、RAM、入出力制御回路(I/Oコントロール回路)、マルチプレクサ、タイマー回路、EEPROM、A/Dコンバータ及びD/Aコンバータ等を含むマイコン内蔵ワンチップIC回路構成となっている。電池301は、ストロボ装置300の電源(VBAT)として機能する。昇圧回路ブロック302は、昇圧部302a、抵抗302b,302c及びメインコンデンサ302dを有する。昇圧部302aは、電池301の電圧を数百Vに昇圧し、これによりメインコンデンサ302dに発光のための電気エネルギが充電される。メインコンデンサ302dの充電電圧は、抵抗302b,302cにより分圧され、分圧された電圧はFPU310のA/D変換端子に入力される。トリガ回路303は、放電管305を励起するためのパルス電圧を放電管305に印加する。発光制御回路304は、放電管305の発光の開始及び停止を制御する。放電管305は、トリガ回路303から印加される数KVのパルス電圧を受けて励起し、メインコンデンサ302dに充電された電気エネルギを用いて発光する。
測距ユニット308は、公知の方法により、対象物までの距離を検出する。測距ユニット308は、例えば、受光センサを有し、放電管305から照射されて照射方向の対象物に反射させた光を受光センサで受光して、対象物までの距離を検出する。或いは、測距ユニット308は、測距用光源を有し、測距用光源から照射されて照射方向の対象物に反射させた光を受光センサで受光して、対象物までの距離を検出する。積分回路309は、フォトダイオード314の受光電流を積分し、積分結果をコンパレータ315の反転入力端子とFPU310のA/Dコンバータ端子に入力する。コンパレータ315の非反転入力端子は、FPU310内のD/Aコンバータ端子に接続され、コンパレータ315の出力はANDゲート311の入力端子に接続される。ANDゲート311の他方の入力端子は、FPU310の発光制御端子と接続され、ANDゲート311の出力は発光制御回路304へ入力される。
フォトダイオード314は、直接又はグラスファイバ等を介して、放電管305から発せられる光を受光するセンサである。反射傘306は、放電管305から発せられる光を反射させて所定の方向へ導く。ストロボ光学系307は、光学パネル等を含み、放電管305との相対位置を変更可能に保持されている。放電管305とストロボ光学系307の相対位置を変更することにより、発光部からの閃光の照射範囲を所定の範囲で変化させることができる。ストロボ装置300の発光部は、主に、放電管305、反射傘306、ストロボ光学系307で構成されており、発光部の照射範囲はズーミングが可能なストロボ光学系307の駆動により変化し、発光部の照射方向は可動部300bの回転により変化する。なお、発光部の照射範囲を変化させる方法は、放電管305とストロボ光学系307の相対位置を変更させる方法に限定されず、例えば、反射傘306の形状を変更させる方法やストロボ光学系307の光学特性を変更させる方法等でもよい。
入力部312は、電源スイッチ、ストロボ装置300の動作モードを設定するモード設定スイッチ、バウンス駆動を自動的に実行させるオートバウンススイッチ、バウンス駆動を行った際のバウンス角度記憶スイッチ、各種パラメータの設定ボタン等の操作部を含む。また、入力部312は、ワイドパネル410が引き出されたときにオンするWP判別スイッチ(第1の検出手段)、バウンスアダプタ420が装着されたときにオンするBA判別スイッチ(第2の検出手段)を含む。FPU310は、入力部312に対する操作に応じた入力部312からの指示に基づいて各種の処理を実行する。なお、以下の説明では、バウンス駆動を自動的に実行させてバウンス発光撮影を行うことをオートバウンス発光撮影と称呼する。
表示部313は、液晶装置や発光素子を有し、ストロボ装置300の各種の設定情報や動作状態を表示する。光学系駆動回路330は、位置検出部330aと光学系駆動部330bを有する。位置検出部330aは、放電管305とストロボ光学系307の相対位置に関する情報を不図示のエンコーダ等により検出する。光学系駆動部330bは、ストロボ光学系307を駆動するためのモータ等を含む。FPU310は、CCPU101を介してLPU201から出力される焦点距離情報を取得し、取得した焦点距離情報に基づいてストロボ光学系307の駆動量を演算する。
バウンス回路340は、可動部300bの駆動量(本体部300aに対する可動部300bの回動角度)を検出する。バウンス回路340は、第1のバウンス角度検出回路340a、第2のバウンス角度検出回路340c、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを有する。第1のバウンス角度検出回路340a(バウンスH検出回路)は、可動部300bの左右方向の駆動量を検出する。第2のバウンス角度検出回路340c(バウンスV検出回路)は、可動部300bの上下方向の駆動量を検出する。これらの駆動量の検出には、ロータリエンコーダやアブソリュートエンコーダが用いられる。第1のバウンス駆動回路340b(バウンスH駆動回路)は、可動部300bの左右方向の駆動を行う。第2のバウンス駆動回路340d(バウンスV駆動回路)は、可動部300bの上下方向の駆動を行う。これらの駆動には公知のモータ等が用いられる。
姿勢検出回路360は、ストロボ装置300の姿勢差を検出する回路であり、姿勢H検出部360a、姿勢V検出部360b及び姿勢Z検出部360cを有する。姿勢H検出部360aは、水平方向の姿勢差を検出する。姿勢V検出部360bは、鉛直方向の姿勢差を検出する。姿勢Z検出部360cは、前後方向(Z方向)の姿勢差を検出する。姿勢検出回路360には、例えば、角速度センサやジャイロセンサが用いられる。姿勢検出回路360により検出された各方向の姿勢差に関する情報は、FPU310に供給される。
無線ユニット370は、周知の技術を用いて、カメラ本体100に設けられた無線ユニット116と無線通信を行い、これにより、CCPU101とFPU310との間の無線通信が実現される。ストロボIF回路380は、FPU310とCCPU101とが端子130を介して通信を行うための、ストロボ装置300側のインタフェースであり、詳細は後述する。
ワイドパネル410は、発光部から照射される光の照射範囲を拡大させるために発光部からのストロボ光の照射方向の前方、つまり、ストロボ光学系307(発光部)の前面に配置される光学部材である。図3(a)は、可動部300bに収納されたワイドパネル410を外側へ引き出す様子を示す図である。図3(b)は、ワイドパネル410が発光部の前面(以下、「照射面」という)に配置された状態を示す斜視図である。ワイドパネル410は、不使用時には可動部300b内に収納可能となっており、ユーザはワイドパネル410を手動で可動部300bから引き出して照射面に配置して使用する。ワイドパネル410が可動部300bに収納されている状態では、入力部312に含まれるWP判別スイッチはオフとなっている。ワイドパネル410が可動部300bから引き出されると、WP判別スイッチは自動的にオンに切り替わり、ワイドパネル410が可動部300bへ収納されると、WP判別スイッチは自動的にオフに切り替わる。ワイドパネル410が照射面に装着された状態において、照射面の端部はワイドパネル410によって覆われていない。そのため、照射面の端部からは、ワイドパネル410を通さずに、直接、光が外部に向けて照射される。
図4(a)は、ワイドパネル410が配置された可動部300bにバウンスアダプタ420を取り付ける様子を示す図である。図4(b)は、バウンスアダプタ420が照射面に配置された状態を示す斜視図である。バウンスアダプタ420もまた、発光部から照射する光の照射範囲を拡大させるために、発光部(ストロボ光学系307)の前面(前方)に配置される光学部材である。バウンスアダプタ420は、ワイドパネル410が照射面に配置されている状態では、ワイドパネル410を覆うように可動部300bに取り付けることができる。また、バウンスアダプタ420は、ワイドパネル410が照射面に配置されていない場合でも、照射面を覆うように可動部300bに取り付けることができる。なお、ワイドパネル410は、発光部から閃光の照射方向へ向けて光を拡散させる(光が均一に照射される画角を広げる)が、バウンスアダプタ420は、発光部からの光を照射方向の上下左右にも拡散させるため、照射方向へは強い光が照射されなくなる。
上述の通りに構成された撮像システム10では、CCPU101、LPU201及びFPU310が協働して撮像システム10を構成する各部の制御を行うことにより、撮像システム10全体の円滑な動作が実現される。
ここで、カメラIF回路150、端子130及びストロボIF回路380を介したCCPU101とFPU310との間の通信の例について説明する。CCPU101及びFPU310はペリフェラル通信機能を備え、カメラIF回路150及びストロボIF回路380を経由して互いに通信を行う。端子130は、カメラIF回路150とストロボIF回路380とを通信可能に接続する。
CCPU101とFPU310はそれぞれ、ANALOG端子、SCLK_S端子、MOSI_S端子、MISO_S端子、X端子及びGND端子を有する。それぞれのANALOG端子、SCLK_S端子、MOSI_S端子、MISO_S端子及びX端子は、カメラIF回路150、端子130及びストロボIF回路380を介して接続され、GND端子は端子130を介して接続されている。ANALOG端子は、カメラ本体100に対して端子130を介してストロボ装置300が装着されているか否かを判定するために用いられる。SCLK_S端子は、カメラ本体100とストロボ装置300の間の通信の同期をとるための端子である。MOSI_S端子は、カメラ本体100からストロボ装置300へデータを送信するための端子である。MISO_S端子は、ストロボ装置300から送信されたデータをカメラ本体100で受信するための端子である。X端子は、カメラ本体100からストロボ装置300へシンクロタイミング信号を送信するための端子である。GND端子は、カメラ本体100とストロボ装置300を接続して、これらをグラウンド電位に落とす。
図5(a)は、データ通信のタイミングチャートである。CCPU101からFPU310へデータを送信するときには、SCLK_S端子の8ビットのクロックに同期してMOSI_S端子からり各ビットを0,1とすることでデータをシリアルで送信する。また、FPU310からCCPU101にデータを送信するときは、SCLK_S端子の8ビットのクロックに同期してMISO_S端子から各ビットを0,1とするデータをシリアルで送信する。なお、図5(a)の8ビット(1バイト)通信のタイミングチャートでは、SCLK_S信号の立ち上がりで信号の読み書きを行っているが、この8ビット通信をコマンド、コマンドデータ、データについて連続で複数回の送信が行われる。
図6は、CCPU101とFPU310との間の通信に用いられるコマンドのリストである。図6(a)は、FPU310からCCPU101へ送信されるコマンドのリストであり、図6(b)は、CCPU101からFPU310へ送信されるコマンドのリストである。
図5(b),(c)は、CCPU101(カメラ本体100)からFPU310(ストロボ装置300)に対してオートバウンス発光撮影の設定/解除を行う際のコマンドの一例を示す図である。CCPU101は、オートバウンス発光撮影の設定を行う場合に、1バイト目にCS通信の80H、2バイト目にコマンド番号011(0BH)、3バイト目にデータ(内容)の01(設定)を、16進数から2進数に変換してFPU310へ送信する。このように、1バイト目には、CCPU101がFPU310にデータを送信するときにはコマンドCS:80Hが、CCPU101がFPU310からデータを取得するときにはコマンドSC:01Hが、CCPU101からFPU310へ送信される。2バイト目には、コマンド番号でSC,CSに続く番号(送信時は16進数に変換される)が、3バイト目や4バイト目には設定項目データが、CCPU101とFPU310の一方から他方へ送信される。
図5(d),(e)は、CCPU101からFPU310に対してオートバウンス発光撮影のための測距を行う際のコマンドの一例を示す図であり、ここでも、オートバウンス発光撮影の設定/解除の場合と同様にして、コマンドの送受信が行われる。図5(d),(e)に示す各コマンドは図6に示されているため、詳細な説明は省略する。なお、CCPU101がFPU310へCCPU101の起動終了の通知を行うと、FPU310はCCPU101が休止状態であると認識してCCPU101への通信を禁止する。また、ストロボ装置300がカメラ本体100に装着された後にCCPU101とFPU310が一度も通信を行っていない場合も、FPU310からCCPU101への通信は禁止される。
次に、撮像システム10でバウンス発光撮影を自動的に行うオートバウンス発光撮影の第1実施形態について説明する。まず、第1実施形態に係るオートバウンス発光撮影の実行時におけるカメラ本体100での処理内容(制御方法)について説明する。図7及び図8は、オートバウンス発光撮影を行う際のカメラ本体100での処理のフローチャートである。なお、図8のフローチャートは、図7のフローチャートに続く処理を説明するものである。図7及び図8のフローチャートの各処理は、CCPU101においてCPUがROMに格納された所定のプログラムをRAMに展開することにより、CCPU101がカメラ本体100を構成する各部の動作を制御することにより実現される。入力部112に含まれる電源スイッチがオンに操作されることで、CCPU101は動作可能となる。
ステップS1においてCCPU101は、自身のメモリやポートの初期化を行う。また、CCPU101は、入力部112に含まれるスイッチの状態や予め設定された入力情報を読み込み、被写体に適した撮影モードの設定を行う。ステップS2においてCCPU101は、入力部112に含まれるレリーズボタンが半押しされてレリーズスイッチSW1がオンとなっているか否かを判定する。CCPU101は、レリーズスイッチSW1がオンとなるまで待機し(S2でNO)、レリーズスイッチSW1がオンになったと判定すると(S2でYES)、処理をステップS3へ進める。
ステップS3においてCCPU101は、レンズ鏡筒200内のLPU201と通信ラインLCを介して通信を行い、レンズ鏡筒200の焦点距離情報や焦点調節、測光に必要な光学情報(レンズ情報)を取得する。ステップS4においてCCPU101は、カメラ本体100にストロボ装置300が装着されているか否かを判定する。CCPU101は、ストロボ装置300が装着されていると判定した場合(S4でYES)、処理をステップS5へ進め、ストロボ装置300が装着されていないと判定した場合(S4でNO)、処理をステップS8bへ進める。なお、カメラ本体100にストロボ装置300が装着されているか否かの判定処理の詳細については後述する。
ステップS5においてCCPU101は、ストロボ装置300のFPU310と通信ラインSCを介して通信を行い、ストロボ装置300のID、ガイドナンバー、メインコンデンサ302dの充電状態を示す充電情報等のストロボ情報をから取得する。また、CCPU101は、ステップS3で取得した焦点距離情報をFPU310へ送信する。これにより、FPU310は、CCPU101から受信した焦点距離情報に基づいてストロボ光学系307の駆動量を演算し、演算した駆動量に基づいてストロボ光学系307を移動させてストロボ装置300の照射範囲を焦点距離に合わせた範囲に変更する。
ステップS6においてCCPU101は、入力部112を介して入力されたストロボ装置300に関する情報をストロボ装置300のFPU310に送信する準備を行う。例えば、オートバウンス発光撮影が可能なカメラ本体100か否か、オートバウンス発光撮影に関するカメラ本体100での設定、レリーズボタンの状態等をコマンド送信に変換する。ステップS7においてCCPU101は、ステップS6で準備したストロボ装置300に関する情報をストロボ装置300へ送信する。
ステップS8aにおいてCCPU101は、カメラ本体100において設定されている焦点調節モードがAFモードか否かを判定する。CCPU101は、AFモードに設定されていると判定した場合(S8aでYES)、処理をステップS9aへ進める。一方、CCPU101は、AFモードに設定されていないと判定した場合(S8aでNO)、マニュアルフォーカスモード(MFモード)に設定されていると判定して、処理をステップS11へ進める。
ステップS9aにおいてCCPU101は、焦点検出回路107を駆動させることにより、周知の位相差検出法による焦点検出動作を行う。なお、ステップS9aでは、焦点調節において複数の測距点から焦点を合わせる測距点(測距ポイント)が、近点優先を基本の考え方とした周知の自動選択アルゴリズムや入力部112へのユーザの操作等に応じて決定される。ステップS10aにおいてCCPU101は、ステップS9aで決定された測距ポイントをCCPU101内のRAMに記憶する。また、ステップS10aにおいてCCPU101は、焦点検出回路107からの焦点情報に基づきレンズ群202の駆動量を演算し、LPU201と通信を行って、演算した駆動量に基づいてレンズ群202を移動させる。ステップS10aの後、処理はステップS11へ進められる。
ステップS11においてCCPU101は、バウンス発光撮影での照射方向を自動的に決定するための動作(以下「オートバウンス動作」いう)を行うか否かを判定する。オートバウンス動作を行うか否かは、入力部112又は入力部312に含まれるオートバウンス動作を実行するか否かを切り換えるスイッチの状態やその他のカメラ本体100の状態等に基づいて判定される。CCPU101は、オートバウンス動作を実行すると判定した場合(S11でYES)、処理をステップS12へ進め、オートバウンス動作を実行しないと判定した場合(S11でNO)、処理をステップS16へ進める。ステップS12においてCCPU101は、オートバウンス動作に関する処理(以下「バウンス処理」という)を実行する。なお、バウンス処理の詳細については後述する。
ステップS12の後のステップS13においてCCPU101は、オートバウンス処理にエラーが生じたか否かを判定する。CCPU101は、オートバウンス処理でエラーが生じたと判定した場合(S13でYES)、処理をステップS14へ進め、オートバウンス処理でエラーが生じていないと判定した場合(S13でNO)、処理をステップS16へ進める。オートバウンス処理でエラーが生じた場合には、バウンス処理(ステップS12)においてFPU310からオートバウンス処理にエラーが生じたことを示す情報がCCPU101へ送信される。そこで、ステップS14においてCCPU101は、バウンス処理でエラーが生じたことを示す情報(警告)を表示部113に表示する。このような警告表示は、CCPU101からFPU310への指令により、ストロボ装置300の表示部313に表示するようにしてもよい。ステップS15においてCCPU101は、発光撮影を行わない設定(非発光設定)に切り換え、その後、処理をステップS16へ進める。
ステップS4にてストロボ装置300が未装着と判定された場合に実行されるステップS8b,S9b,S10bの処理はそれぞれ、前述したステップS8a,S9a,S10aの処理と同じであるため、説明を省略する。CCPU101は、ステップS8bの判定がNOとなるか又はステップS10bの処理が終了すると、処理をステップS16へ進める。
ステップS16においてCCPU101は、測光回路106を制御して測光を行い、測光回路106から測光結果を取得する。例えば、測光回路106の測光センサが6つに分割された領域のそれぞれで測光を行う場合、CCPU101は、取得した測光結果としての各領域の輝度値を、EVb(i)(i=0〜5)として、RAMに記憶する。ステップS17においてCCPU101は、ゲイン切替回路108を制御して、入力部112を通じて入力されたゲイン設定に応じて、ゲインを切り替える。ゲイン設定とは、例えば、ISO感度の設定である。また、ステップS17においてCCPU101は、FPU310と通信を行い、例えば、ゲイン切り替え後のゲイン設定情報をFPU310に送信する。
ステップS18においてCCPU101は、ステップS16で取得した測光結果(RAMに記憶されている各測光領域の輝度値)に基づき、周知のアルゴリズムにより露出演算を行って、露出値(EVs)を決定する。ステップS19においてCCPU101は、FPU310から充電完了信号を受信したか否かを判定する。CCPU101は、充電完了信号を受信したと判定した場合(S19でYES)、処理をステップS20へ進め、充電完了信号を受信していないと判定した場合(S19でNO)、処理をステップS21へ進める。ステップS20においてCCPU101は、ステップS18で算出した露出値に基づいて発光撮影に適した露出制御値(シャッタ速度(Tv)、絞り値(Av))を決定する。一方、ステップS21においてCCPU101は、ステップS18で算出した露出値に基づいて、ストロボ装置300を発光させない非発光撮影に適した露出制御値を決定する。ステップS20,S21のいずれか一方の処理が終了すると、処理はステップS22へ進められる。
ステップS22においてCCPU101は、入力部112に含まれるレリーズボタンが全押しされてレリーズスイッチSW2がオンになったか否かを判定する。CCPU101は、レリーズスイッチSW2がオフであると判定した場合(S22でNO)、処理をステップS2へ戻し、レリーズスイッチSW2がオンであると判定した場合(S22でYES)、処理をステップS23へ進める。なお、図8のフローチャートに示すステップS23以降の処理は、発光撮影に係わる処理である。非発光撮影に係わる処理は、ステップS23以降の処理の中で本発光を行うための処理を除いたものとなり、説明を省略する。
ステップS23においてCCPU101は、測光回路106を制御して、ストロボ装置300が発光していない状態で測光を行い、測光回路106から非発光時の測光結果(非発光時輝度値)を取得する。そして、CCPU101は、取得した各領域の非発光時輝度値を、EVa(i)(i=0〜5)として、RAMに記憶する。ステップS24においてCCPU101は、FPU310に対して通信ラインSCを介してプリ発光を指令する。FPU310は、CCPU101からの指令に従ってトリガ回路303と発光制御回路304を制御して、所定の光量でのプリ発光を行う。ステップS25においてCCPU101は、測光回路106を制御して、ストロボ装置300がプリ発光している状態で測光を行い、測光回路106から測光結果(プリ発光時輝度値)を取得する。そして、CCPU101は、取得した各領域のプリ発光時輝度値を、EVf(i)(i=0〜5)として、RAMに記憶する。
ステップS26においてCCPU101は、露光に先立って主ミラー104をアップさせ、撮影光路内から退避させる。ステップS27においてCCPU101は、下記式1の通りに、非発光時輝度値とプリ発光時輝度値とに基づいて、プリ発光の反射光成分のみの輝度値EVdf(i)を抽出する。この抽出処理は、6つの領域(i=0〜5)毎に行われる。ステップS28においてCCPU101は、通信ラインSCを介してFPU310からプリ発光時の発光量を示すプリ発光情報Qpreを取得する。
ステップS29においてCCPU101は、測距ポイント、焦点距離情報、プリ発光情報Qpre及びFPU310との通信内容から、6つの測光領域のうちのどの領域の被写体に対して適正な発光量とするかを選択して、本発光量を演算する。本発光量の演算では、選択した領域(P)の被写体について、露出値EVs、被写体輝度EVb、プリ発光反射光分のみの輝度値EVdf(p)に基づいて、プリ発光量に対して適正となる本発光量の相対比rを、下記式2により算出する。ここで、露出値EVsから被写体輝度EVbの伸張したものの差分をとっているのは、照明光を照射したときの露出が、外光分に照明光を加えて適正となるように制御するためである。
ステップS30においてCCPU101は、下記式3の通りに、発光撮影時のシャッタ速度Tv、プリ発光の発光時間t_pre、入力部112により予め設定された補正係数cを用いて相対比rを補正することで、新たな相対比r´を演算する。なお、相対比rをシャッタ速度Tvとプリ発光の発光時間t_preを用いて補正するのは、プリ発光時の測光積分値INTpと本発光の測光積分値INTmとを正しく比較するためである。
ステップS31においてCCPU101は、FPU310へ本発光量を決定するための相対比r´に関する情報を送信する。ステップS32においてCCPU101は、ステップS20で決定した絞り値AvになるようにLPU201に指令を出し、また、決定したシャッタ速度Tvになるようにシャッタ103を制御する。ステップS33においてCCPU101は、FPU310に本発光の実行を指令する。これにより、FPU310は、CCPU101はから送信された相対比r´に基づいて本発光を行う。こうして一連の露光動作が終了すると、ステップS34においてCCPU101は、撮影光路内から退避させていた主ミラー104をダウンさせ、再び撮影光路内に斜設する。
ステップS35においてCCPU101は、ゲイン切替回路108により撮像素子102から出力される信号を設定されたゲインで増幅させ、増幅された信号をA/D変換器109によりデジタル信号に変換させる。そして、CCPU101は、信号処理回路111により、デジタル信号に変換された画像データに対してホワイトバランス等の所定の信号処理を行う。ステップS36においてCCPU101は、信号処理が施された画像データを不図示のフラッシュメモリ等の記憶装置に記憶し、これにより一連の撮像処理は終了する。よって、再度の撮像を行うために、ステップS37においてCCPU101は、レリーズスイッチSW1がオンとなっているか否かを判定する。CCPU101は、レリーズスイッチSW1がオンであると判定した場合(S37でYES)、処理をステップS22へ戻し、レリーズスイッチSW1がオンになっていないと判定した場合(S37でNO)、処理をステップS2へ戻す。
次に、上述したステップS12の処理について詳細に説明する。図9は、ステップS12のバウンス処理の第1の例に係るフローチャートである。図9のフローチャートに示される各処理は、CCPU101からのバウンス処理の開始指示に従ってFPU310が実行する。図9のフローチャートの各処理は、FPU310においてCPUがROMに格納された所定のプログラムをRAMに展開することにより、FPU310がストロボ装置300を構成する各部の動作を制御することにより実現される。
ステップS101aにおいてFPU310は、ワイドパネル410が照射面に装着されたか否かを、入力部312に含まれるWP判別スイッチがオンした否かによって判定する。なお、図9では、ワイドパネル410を「WP」と表記している。FPU310は、WP判別スイッチがオンであると判定した場合(S101aでYES)、処理をステップS102aへ進め、WP判別スイッチがオフであると判定した場合(S101aでNO)、処理をステップS102bへ進める。
ワイドパネル410が装着された場合のステップS102aにおいてFPU310は、オートバウンス動作を実行するか否かを判定する。ステップS102aの判定は、入力部112又は入力部312に含まれるオートバウンススイッチがオンか否かに基づいて或いはカメラ本体100の設定等に基づいて判定することができる。FPU310は、オートバウンス動作を実行すると判定した場合(S102aでYES)、処理をステップS103へ進め、オートバウンス動作を実行しないと判定した場合(S102aでNO)、本処理を終了させて、処理をステップS13へ進める。
ステップS103においてFPU310は、バウンス動作を禁止する。ここでは、オートバウンス動作だけでなく、入力部112及び入力部312に含まれるオートバウンススイッチ、オートバウンスの種類を選択するスイッチの動作も禁止される。ステップS104においてFPU310は、ワイドパネル410が引き出されていることを示すメッセージ(警告)を表示部113及び表示部313の一方又は両方に行う。例えば、ワイドパネル410を使用中であることを示すメッセージが、一定時間、表示される。
ステップS105aにおいてFPU310は、記憶されているバウンス角度をリセット(消去)する。ここでは、リセットにより、閃光の照射方向がカメラ本体100の正面方向(被写体へ向かう方向)となるように可動部300bを駆動する向きが設定される。ステップS106においてFPU310は、閃光の照射方向がカメラ本体100の正面方向となるように(バウンス角度が0度となるように)可動部300bを駆動する。これにより、可動部300bは、後述する基準位置にある状態となる。なお、ステップS106で可動部300bを駆動する動作は、後述するオートバウンス動作に準ずる。
ステップS106の後のステップS101bにおいてFPU310は、ワイドパネル410が照射面に装着されたか否かを、入力部312に含まれるWP判別スイッチがオンした否かによって判定する。ステップS101bの判定は、ステップS104の警告表示に従ってユーザがワイドパネル410を可動部300b内に収納した場合に対処するために行われる。なお、ステップS101bの処理は、ステップS101aと処理と同じであるため、ここでの説明を省略する。FPU310は、WP判別スイッチがオンであると判定した場合(S101bでYES)、本処理を終了させて、処理をステップS13へ進め、WP判別スイッチがオフであると判定した場合(S101bでNO)、処理をステップS102bへ進める。
ステップS102bにおいてFPU310は、オートバウンス動作を実行するか否かを判定する。ステップS102bの処理は、ステップS102aの処理と同じであるため、ここでの説明を省略する。FPU310は、オートバウンス動作を実行すると判定した場合(S102bでYES)、処理をステップS107へ進め、オートバウンス動作を実行しないと判定した場合(S102bでNO)、本処理を終了させて、処理をステップS17へ進める。ステップS107においてFPU310は、バウンス動作を許可する。続くステップS108においてFPU310は、オートバウンス動作を行う。オートバウンス動作の詳細については後述する。ステップS108の終了によって本処理は終了となり、処理はステップS13へ進められる。
続いて、図9のフローチャートのステップS108について詳細に説明する。ここでは、ストロボ装置300の可動部300bの回動範囲及び姿勢(回転角度)の検出方法の例について図10乃至図12を参照して説明し、その後、ステップS108の処理を図13のフローチャートを参照して説明する。
図10(a)は、可動部300bの上下方向と左右方向の回動状態を示す側面図であり、図10(b)は、図10(a)に対応する上面図である。可動部300bは、本体部300aに対して上下方向及び左右方向に独立して回動可能に保持されている。可動部300bの発光部の向きが図10(a)に示すように上下方向で0度、且つ、図10(b)に示すように左右方向で0度の状態にあるとき、可動部300bは基準位置にあるものとする。
図11(a)は、可動部300bの上下方向の回動角度を4ビットのグレーコードを使用したロータリエンコーダで検出する構成としたときのロータリエンコーダの出力を示す図である。図11(b)は、可動部300bの左右方向の回動角度を4ビットのグレーコードを使用したロータリエンコーダで検出する構成としたときのロータリエンコーダの出力を示す図である。図10の各状態において円形と線で示す指標mは、図11のロータリエンコーダの角度に対応している。
図11(c)は、上下方向の回動を検出するロータリエンコーダの検出ユニット930の構成を説明する模式図である。図12(a)は、上下方向の回動を検出するロータリエンコーダのグレーコードと回動角度の割り振りを示す図である。ロータリエンコーダの検出ユニット390は、フォトリフレクタやフォトインタラプタで構成される検出チップ390a,390b,390c,390dを有し、可動部300bの回動角度に応じて、図12(a)に示す信号が各検出チップから出力される。図12(a)に示すように、可動部300bの上下方向の回動角度に応じてロータリエンコーダは異なる信号を出力するので、第2のバウンス角度検出回路340cは、可動部300bの上下方向の駆動量を検出することができる。
図11(d)は、左右方向の回動を検出するロータリエンコーダの検出ユニット395の構成を説明する模式図である。図12(b)は、左右方向の回動を検出するロータリエンコーダのグレーコードと回動角度の割り振りを示す図である。ロータリエンコーダの検出ユニット395は、フォトリフレクタやフォトインタラプタで構成される検出チップ395a,395b,395c,395dを有し、可動部300bの回動角度に応じて、図12(b)に示す信号が各検出チップから出力される。図12(b)に示すように、可動部300bの左右方向の回動角度に応じてロータリエンコーダは異なる信号を出力するので、第1のバウンス角度検出回路340aは、可動部300bの左右方向の駆動量を検出することができる。
図13は、ステップS108で実行されるオートバウンス動作のフローチャートである。ステップS301においてFPU310は、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを制御して、閃光の照射方向がカメラ本体100の正面方向となるように可動部300bを駆動させる。つまり、可動部300bをバウンス角度が0度となる基準位置にある状態とする。具体的には、FPU310は、カメラ本体100の正面方向への可動部300bの駆動量を、バウンス駆動の目標値である目標水平バウンス角度θX、目標垂直バウンス角度θY、本体部300aのあおり量γを加味して算出する。なお、ステップS301の駆動制御の詳細については後述する。ステップS302においてFPU310は、閃光の照射方向がカメラ本体100の正面方向となった後に、ストロボ装置300の発光部にプリ発光の実行を指示する。そして、ステップS302においてFPU310は、測距ユニット308を制御して、被写体距離(発光部の照射面から被写体までの距離)を算出する。
ステップS303においてFPU310は、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを制御して、閃光の照射方向が重力の向きと逆の天井方向となるように可動部300bを駆動させる。例えば、可動部300bがカメラ本体100の正面方向を向いている場合、駆動目標が天井方向であれば、目標水平バウンス角度θX=0、目標垂直バウンス角度θY=90−γとなる。なお、ステップS303の駆動制御の詳細については後述する。ステップS304においてFPU310は、閃光の照射方向が天井方向となった後に、ストロボ装置300の発光部にプリ発光の実行を指示する。そして、ステップS304においてFPU310は、測距ユニット308を制御して、天井距離(発光部の照射面から天井までの距離)を算出する。
ステップS305においてFPU310は、ステップS302,S304で取得した被写体距離と天井距離に基づいて、バウンス発光撮影に最適な閃光の照射方向(最適バウンス角度)を算出する。つまり、FPU310は、最適バウンス角度を示す目標水平バウンス角度θXと目標垂直バウンス角度θYを算出する。ステップS306においてFPU310は、算出した最適バウンス角度をRAMに記憶する。ステップS307においてFPU310は、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを制御して、閃光の照射方向が最適バウンス角度となるように可動部300bを駆動させる。これにより、本処理は終了となり、処理はステップS13へ進められる。
図14は、ステップS301,S303,S307でのバウンス駆動制御のフローチャートである。ステップS301,S303,S307では、可動部300bを駆動する際の目標角度は異なるだけで、駆動の制御フローは同じである。ステップS401においてFPU310は、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを制御して、可動部300bの駆動を開始させる。ステップS402においてFPU310は、第1のバウンス角度検出回路340a及び第2のバウンス角度検出回路340cから可動部300bの現在位置を示す水平バウンス角度θAと垂直バウンス角度θBを取得する。そして、ステップS402においてFPU310は、水平バウンス角度θAと垂直バウンス角度θBがそれぞれ、目標水平バウンス角度θXと目標垂直バウンス角度θYと合致しているか否かを判定する。FPU310は、θX≠θA又はθY≠θBであると判定した場合(S402でNO)、ステップS402の判定を繰り返し、θX=θA且つθY=θBであると判定した場合(S402でYES)、処理をステップS403へ進める。
ステップS403においてFPU310は、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dを制御して、可動部300bの駆動を停止させる。ステップS404においてFPU310は、ストロボIF回路380及び端子130を介してカメラ本体100に対してバウンス駆動の終了通知を送信する。以上の説明の通り、本実施形態では、ワイドパネル410が可動部300bから引き出されている場合(発光面に装着されている場合)には、バウンス発光撮影が禁止される。換言すれば、バウンス発光撮影は、ワイドパネル410が装着されていない状態で許可され、これによりバウンス発光撮影を適切に行うことができる。
次に、第2実施形態に係るオートバウンス発光撮影での処理の流れについて説明する。第2実施形態では、図7のフローチャートにあるステップS12の処理内容の一部を変更する。つまり、ステップS12のバウンス処理の第1の例である図9のフローチャートに従う処理の一部を変更する。
図15は、ステップS12のバウンス処理の第2の例に係るフローチャートである。第2の例に係るフローチャートにある各処理のうち、第1の例に係るフローチャートにある処理と同じ処理については、同じステップ番号を付して説明を省略し、以下では、第1の例(図9のフローチャート)との相違点についてのみ説明する。
第1の例(図9)では、ステップS101aの判定がYESになると、処理はステップS102aに進められる。これに対して、第2の例(図15)では、ステップS101aの判定がYESになると、処理はステップS105bへ進められる。ステップS105bの処理は、第1の例でのステップS105aの処理と同じである。つまり、第2の例では、FPU310は、ステップS101aでワイドパネル410が引き出されていると判定すると、記憶されているバウンス角度をリセット(消去)する。
ステップS105bの処理後、処理はステップS102aへ進められ、その後、ステップS102aの判定がYESになると、ステップS103、ステップS104の処理がこの順に行われる。このような処理の流れは、第1の例での処理の流れと同じである。第1の例では、ステップS104の後に、ステップS105a,S106の処理がこの順に行われる。これに対して、第2の例では、バウンス角度は既にリセット(消去)されているため、ステップS104の後にステップS106の処理が行われる。これ以降の処理は、第1の例と第2の例とで共通している。
第2の例でも、第1の例と同様に、ワイドパネル410が装着されている場合には、オートバウンス動作が禁止されることで、適正なバウンス発光撮影を行うことができる。また、可動部300bの姿勢変化に伴うバウンス補正や撮影動作に応じて記憶されたバウンス角度に移動する場合に、前回記憶したバウンス角度が消去されているため、ストロボ撮影の失敗を防ぐことができる。
次に、第3実施形態に係るオートバウンス発光撮影での処理の流れについて説明する。第3実施形態では、ステップS12のバウンス処理の第1の例である図9のフローチャートに従う処理に新たな処理を加える。図16は、ステップS12のバウンス処理の第3の例に係るフローチャートである。第3の例に係るフローチャートにある各処理のうち、第1の例に係るフローチャートにある処理と同じ処理については、同じステップ番号を付して説明を省略し、以下では第1の例(図9のフローチャート)との相違点についてのみ説明する。
処理開始後のステップS101aの処理は、第1の例のステップS101aの処理と同じである。FPU310は、WP判別スイッチがオンである(ワイドパネル410が引き出されている)と判定した場合(S101aでYES)、処理をステップS109aへ進める。一方、FPU310は、WP判別スイッチがオフである(ワイドパネル410は可動部300bに収納されている)と判定した場合(S101aでNO)、処理をステップS109bへ進める。
ステップS109aにおいてFPU310は、バウンスアダプタ420が可動部300bに装着されているかを、入力部312に含まれるBA判別スイッチがオンした否かによって判定する。なお、図16では、バウンスアダプタ420を「BA」と表記している。FPU310は、バウンスアダプタ420が装着されていると判定した場合(S109aでYES)、処理をステップS110aへ進め、バウンスアダプタ420が装着されていないと判定した場合(S109aでNO)、処理をステップS111aへ進める。
ステップS110aにおいてFPU310は、バウンスアダプタ420の装着/非装着を表すフラグ(以下「BAフラグ」という)に、「装着」を示す「1」を割り当てて、自身が有するRAMに記憶する。なお、この段階では、バウンス動作は実行されない。FPU310は、ステップS110aの後に、処理をステップS102bへ進める。一方、ステップS111aにおいてFPU310は、BAフラグに、非装着を示す「0」を割り当てて、自身が有するRAMに記憶する。FPU310は、ステップS111aの後に、処理をステップS102aへ進める。
ステップS109bの処理は、ステップS109aの処理と同じである。FPU310は、バウンスアダプタ420が装着されていると判定した場合(S109bでYES)、処理をステップS110bへ進め、バウンスアダプタ420が装着されていないと判定した場合(S109bでNO)、処理をステップS111bへ進める。ステップS110bの処理はステップS110aの処理と同じであり、ステップS110bにおいてFPU310は、BAフラグに1を割り当てて記憶する。なお、この段階では、バウンス動作は実行されない。FPU310は、ステップS110bの後に、処理をステップS102bへ進める。ステップS111bの処理はステップS111aの処理と同じであり、ステップS111bにおいてFPU310は、BAフラグに0を割り当てて記憶する。FPU310は、ステップS111bの後に、処理をステップS102bへ進める。
ステップS102a以降の処理とステップS102b以降の処理はそれぞれ、第1の例に係るフローチャート(図9)でのステップS102a以降の処理とステップS102b以降の処理と同じであるため、ここでの説明を省略する。
図17は、ステップS12のバウンス処理の第3の例でのステップS108のバウンス動作を説明するフローチャートである。図17のフローチャートに示す処理のうち、ステップS12のバウンス処理の第1の例でのステップS108のバウンス動作を説明した図13のフローチャートの処理と同じ処理については、同じ符号を付して説明を省略する。
第3の例でのステップS108の処理が開始されると、まず、ステップS308においてFPU310は、BAフラグを確認することによって、バウンスアダプタ420が装着されているか否か(BAフラグ=1)を判定する。FPU310は、バウンスアダプタ420が装着されていないと判定した場合(S308でNO)、処理をステップS301へ進める。ステップS301〜S307の処理は、図13のフローチャートの処理と同じであるので、説明を省略する。
FPU310は、バウンスアダプタ420が装着されていると判定した場合(S308でYES)、処理をステップS309へ進める。ステップS309においてFPU310は、バウンスアダプタ420の装着時の最適バウンス角度(最適BAバウンス角度)を記憶する。最適BAバウンス角度は、バウンスアダプタ420の装着時における天井バウンス光と直接拡散光のバランスを考慮したバウンス角度である。最適BAバウンス角度は、固定値であってもよいし、可変値であってもよい。FPU310は、ステップS309の後、処理をステップS307へ進める。この場合のステップS307では、バウンスアダプタ420が装着された状態で、第1のバウンス駆動回路340b及び第2のバウンス駆動回路340dが制御され、閃光の照射方向が最適BAバウンス角度となるように可動部300bは駆動される。
このように、第3実施形態では、バウンスアダプタ420が装着されている場合には、ワイドパネル410が装着されているか否かにかかわらず、オートバウンス発光撮影が許可される。一方、ワイドパネル410のみが装着されている場合には、オートバウンス発光撮影は禁止される。こうして、オートバウンス発光撮影を適切に行うことができるようになることで、撮影の失敗を抑制することができる。
次に、第4実施形態に係るオートバウンス発光撮影での処理の流れについて説明する。第4実施形態でも、ステップS12のバウンス処理の第1の例である図9のフローチャートに従う処理に新たな処理を加える。図18は、ステップS12のバウンス処理の第4の例に係るフローチャートである。第4の例に係るフローチャートにある各処理のうち、第1の例に係るフローチャートにある処理と同じ処理については、同じステップ番号を付して説明を省略し、以下では第1の例(図9のフローチャート)との相違点についてのみ説明する。
処理開始後のステップS101aの処理は、第1の例のステップS101aの処理と同じである。FPU310は、WP判別スイッチがオンである(ワイドパネル410が引き出されている)と判定した場合(S101aでYES)、処理をステップS120aへ進める。一方、FPU310は、WP判別スイッチがオフである(ワイドパネル410は可動部300bに収納されている)と判定した場合(S101aでNO)、処理をステップS120bへ進める。
ステップS120aにおいてFPU310は、入力部312に含まれるモード設定スイッチの状態に基づき、バウンスモードがオートモードであるか否かを判定する。オートモードでは、被写体距離と天井距離の測距が行われて、自動的に最適バウンス角度が決定される。バウンスモードは、オートモードではない場合には、マニュアルモードであると判定されるものとし、マニュアルモードでは、手動でバウンス角度を任意に決定することができる。なお、マニュアルモードは、姿勢差の変化時にバウンス角度を補正する動作(セミオート)を含むものとする。バウンス回路340は、設定されたバウンス角度に可動部300bを回転駆動させる。FPU310は、バウンスモードがオートモードであると判定した場合(S120aでYES)、処理をステップS121aへ進め、バウンスモードがマニュアルモードであると判定した場合(S120aでNO)、処理をステップS122bへ進める。
ステップS121aにおいてFPU310は、バウンスモードがオートモードであることを示すフラグ(以下「AMフラグ」という)に、オートモードを示す「1」を割り当てて、自身が有するRAMに記憶する。なお、この段階では、バウンス動作は実行されない。FPU310は、ステップS121aの後、処理をステップS102aへ進める。ステップS122aにおいてFPU310は、AMフラグに、バウンスモードがマニュアルモードであることを示す「0」を割り当てて、自身が有するRAMに記憶する。FPU310は、ステップS122aの後、処理をステップS102bへ進める。
ステップS102a,S103の処理は、第1の例(図9のフローチャート)のステップS102a,S103の処理と同じである。第4実施形態では、FPU310は、ステップS103の後にステップS123の処理を行う。ステップS123においてFPU310は、可動部300bのバウンス角度が0度であるか否か(可動部300bが基準位置にあるか否か)を判定する。FPU310は、バウンス角度が0度である場合(S123でYES)、処理をステップS104へ進め、バウンス角度が0度でない場合(S123でNO)、処理をステップS124へ進める。ステップS104の処理(ワイドパネル410が引き出されていることに関する警告)は、第1の例(図9のフローチャート)のステップS104の処理と同じである。FPU310は、ステップS104の後に、処理をステップS101bへ進める。ステップS124においてFPU310は、AMフラグが1であるか否かを判定する。FPU310は、AMフラグが1である場合(S124でYES)、処理をステップS105aへ進め、AMフラグが0である場合(S124でNO)、本処理を終了させる。ステップS105a,S106,S101bの処理は、第1の例(図9のフローチャート)のステップS105a,S106,S101bの処理と同じである。なお、FPU310は、ステップS101bの判定がNOとなった場合に、処理をステップS120bへ進める。
ステップS101a,S101bでの判定がNOとなった場合のステップS120bにおいてFPU310は、ステップS120aと同様に、バウンスモードがオートモードであるか否かを判定する。FPU310は、バウンスモードがオートモードであると判定した場合(S120bでYES)、処理をステップS121bへ進め、バウンスモードがマニュアルモードであると判定した場合(S120bでNO)、処理をステップS122bへ進める。ステップS121bにおいてFPU310は、AMフラグに1を割り当てて、自身が有するRAMに記憶する。なお、この段階では、バウンス動作は実行されない。FPU310は、ステップS121bの後、処理をステップS102bへ進める。ステップS122bにおいてFPU310は、AMフラグに0を割り当てて、自身が有するRAMに記憶する。FPU310は、ステップS122bの後、処理をステップS102bへ進める。ステップS102b,S107,S108の処理は、第1の例(図9のフローチャート)のステップS102b,S107,S108の処理と同じである。
図19は、ステップS12のバウンス処理の第4の例でのステップS108のバウンス動作を説明するフローチャートである。まず、ステップS320においてFPU310は、バウンスモードがオートモード(AMフラグが1)か否かを判定する。FPU310は、バウンスモードがオートモードである場合(S320でYES)、処理をステップS301へ進め、バウンスモードがマニュアルである場合(S320でNO)、本処理を終了させる。ステップS301以降の処理は、第1の例(図13のフローチャート)での処理と同じであるので、同じ符号を付して説明を省略する。
マニュアルモードでのバウンス発光撮影を行うユーザは、バウンス発光撮影について知識があり、ワイドパネル410を用いた撮影での弊害を理解していることが多い。そこで、第4実施形態では、ワイドパネル410が引き出されている場合であっても、バウンスモードがマニュアルモードである場合にはバウンス発光撮影を許可する。これにより、ワイドパネル410を使用したバウンス発光撮影を行いたいユーザの要求に応えることができる。なお、マニュアルモードの場合には、可動部300bをカメラ本体100の正面方向へ戻す動作を行わないため、撮影時の自由度を高めることもできる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、上記実施形態で説明した各フローチャートの処理の順序は一例であって、不都合がない限りにおいて処理の順序を変更しても構わない。また、図5及び図6を参照して説明したコマンド、コマンド番号、データ項目等は一例であって、同様の役割を果たすものであればどのように設定しも構わない。
本発明は、上述した実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。