以下、本発明を適用したカメラを用いて好ましい実施形態について説明する。本発明の好ましい実施形態に係わるカメラ100は、デジタルカメラであり、概略、撮像素子を有し、この撮像素子によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を表示部にライブビュー表示する。撮影時には、撮影者はライブビュー表示を観察し、構図やシャッタチャンスを決定する。レリーズがなされると、撮影を行う。撮影時には、フラッシュ同調撮影が可能であり、撮像素子の光電変換電流の蓄積開始を、フラッシュ発光を有効に活用できるタイミングとなるようにシフトすることができる。撮影時に得られた画像データを画像処理し、画像処理した画像データを記録媒体(外部メモリ)に記録する。記録媒体に記録した画像データは、再生モードを選択すると、表示部に再生表示することができる。
図1は、本実施形態に係わるカメラ100と外部フラッシュ200からなる撮影装置の主として電気的構成を示すブロック図である。このカメラ100の撮影レンズ101の光軸上に、絞り機構103、撮像素子107が配置されている。撮像素子107の出力はA/D変換部109に接続され、A/D変換部109の出力はメモリ110に接続されている。メモリ110は画像処理部111とシステム制御部116に接続されている。システム制御部116には、撮像制御部108、絞り制御部104、レンズ制御部102、露出制御部112、AF処理部113、フラッシュ制御部121、不揮発性メモリ118、外部メモリ114、表示部115、操作部117、電源制御部120がそれぞれ接続されている。
上述の撮像制御部108は撮像素子107に接続されており、レンズ制御部102は撮影レンズ101に接続されている。また、電源制御部120は電源部119に接続されている。フラッシュ制御部121は、フラッシュ充電部122、フラッシュ発光部123および外部フラッシュ接続部124にそれぞれ接続されている。
撮影レンズ101は、被写体光束を撮像素子107に集光させ、被写体像を結像させるための光学系である。この撮影レンズ101は、システム制御部116からの指示に応じて動作するレンズ制御部102により光軸方向に移動され、焦点状態が変化する。絞り機構103は、撮影レンズ101を介して撮像素子107に入射する被写体光束の入射量を調節する。絞り機構103は、システム制御部116からの指示に応じて動作する絞り制御部104により開口量が制御される。絞り機構103、絞り制御部104およびシステム制御部116が、絞り制御手段としての機能を果たす。
撮像手段としての機能を有する撮像素子107は、前面に配置されたベイヤ―配列のカラーフィルタと、このカラーフィルタに対応して配列されたフォトダイオード等の光電変換素子から構成される。各カラーフィルタとこれに対応する各光電変換素子によって各画素が、また画素群によって撮像領域が構成される。撮像素子107は、撮影レンズ101により集光された光を各画素で受光し光電流に変換し、この光電流をコンデンサ(フローティングディフュージョン)で蓄積し、アナログ電圧信号(画像信号)としてA/D変換部109に出力する。
システム制御部116とともに、撮像制御手段としての機能を有する撮像制御部108は、システム制御部116からの指示に応じて撮像素子107の動作制御を行う。撮像制御部108の動作制御としては、例えば、光電流をコンデンサに蓄積を開始させ、また蓄積を終了させる等を行う。
ここで、本実施形態における撮像素子107は、CMOSイメージセンサであり、グローバルシャッタ機能を有する。グローバルシャッタは全画素同時のタイミングで電荷蓄積を開始させ、全画素同時のタイミングで電荷蓄積を終了させるシャッタ動作を行う。なお、グローバルシャッタと対比されるローリングシャッタは、1〜数ラインをブロックとし、ブロック内は同時タイミングで電荷蓄積の開始と終了を行うが、ブロック間は読み出しのための時間差を有し、ブロックごとに順次、電荷蓄積動作させていくシャッタ動作を行う。
A/D変換部109は、撮像素子107から出力されるアナログ画像信号をデジタル画像信号(画像データ)に変換する。メモリ110は、A/D変換部109において得られた画像データや、画像処理部111において処理された画像データ等、各種データを一時的に記憶する記憶部である。なお、本明細書においては、撮像素子107から出力されるアナログ画像信号に基づく信号であれば、A/D変換部109によってA/D変換された信号のみならず画像処理された信号も含めて画像データと称する。
画像処理手段としての機能する画像処理部111は、メモリ110に一時記憶された画像データを読み出し、この画像データに対して、ホワイトバランス補正処理、同時化処理、色変換処理等の画像処理を行う。また、画像処理部111は、後述する外部メモリ114に記録する際に画像圧縮を行い、また外部メモリ114から読み出した圧縮された画像データの伸張を行う。
露出制御部112はメモリ110に一時記憶された画像データを用いて被写体輝度(被写体を含むシーンの明るさ)を算出する。なお、専用の測光センサを用いて被写体輝度を算出するようにしても勿論かまわない。AF(Auto Focus)処理部113は、メモリ110に一時記憶された画像データから高周波成分の信号を抽出し、AF積算処理により合焦評価値を取得する。システム制御部116は、合焦評価値に基づいてレンズ制御部102を通じて、撮影レンズ101が合焦位置となるように駆動制御を行う。なお、AF処理部113は、TTL位相差AFセンサ等、専用のセンサを設け、この専用センサの出力に基づいて撮影レンズ101の焦点ずれ量を求めるようにしても勿論かまわない。
外部メモリ114は、例えば、カメラ本体に着脱自在に記憶媒体であり、画像処理部111において圧縮された画像データおよびその付随データが記録される。なお、画像データ等を記録するための記録媒体として、カメラ本体に着脱可能な外部メモリに限らず、カメラ本体に内蔵のハードディスク等の記録媒体であってもかまわない。
表示部115は、カメラ本体の背面等に配置された液晶モニタや有機EL等のディスプレイを有し、画像データに基づいてライブビュー表示を行う。また、表示部115は、外部メモリ114に記録された撮影画像の再生表示を行い、さらに露出制御値等の表示や撮影モード等設定のためのメニュー画面の表示を行う。
撮影制御手段として機能するシステム制御部116は、CPU等を含むASICで構成され、撮像制御部108やフラッシュ制御部121等のカメラ100の各種シーケンスを統括的に制御する。操作部117は、電源釦、レリーズ釦、各種入力キー等の操作部材である。ユーザが操作部117のいずれかの操作部材を操作すると、システム制御部116は、ユーザの操作に応じた各種シーケンスを実行する。
操作部117の内の電源釦はカメラ100の電源のオンオフを指示するための操作部材であり、電源釦が押されるとシステム制御部116は電源オンとし、再度押されると電源オフとする。レリーズ釦は、1stレリーズスイッチと2ndレリーズスイッチの2段スイッチを有している。レリーズ釦が半押しされると1stレリーズスイッチがオンとなり、半押しから更に押し込まれ全押しされると2ndレリーズスイッチがオンとなる。1stレリーズスイッチがオンとなると、システム制御部116は、AE処理やAF処理等撮影準備シーケンスを実行する。また2ndレリーズスイッチがオンとなると、システム制御部116は、撮影シーケンスを実行し、撮影を行う。ユーザは表示部115において表示されるメニュー画面を用い、操作部117の入力キーを操作することにより撮影時の撮影条件等を設定することができる。
不揮発性メモリ118は、電気的に書き換え可能な不揮発性メモリであり、カメラ100の動作に必要な各種パラメータを記憶している。また、不揮発性メモリ118は、システム制御部116において実行するプログラムも記憶している。システム制御部116は、不揮発性メモリ118に記憶されているプログラムに従い、また不揮発性メモリ118に記憶されているパラメータを読み込み、各種シーケンスを実行する。
電源部119は、カメラ100の各部の動作に必要な電力を供給し、例えば、2次電池等の電源電池で構成される。電源制御部120は、電源部119を構成する電池の電源電圧や残量の検出等、電源部119の制御を行う。
フラッシュ制御部121は、システム制御部116からの指示に応じてフラッシュ充電部122における充電動作、およびフラッシュ発光部123における発光動作を制御する。フラッシュ充電部122は、電源部119の電源電圧を昇圧する昇圧回路や、ここで昇圧された電圧でエネルギを蓄積するコンデンサを有し、フラッシュ発光部123の発光を行うに必要なエネルギを蓄積する。フラッシュ発光部123は、例えば、キセノン(Xe)管等の発光管や反射傘を備えており、フラッシュ制御部121から発光指示を受信した際に、フラッシュ充電部122のコンデンサに蓄積されたエネルギを利用して発光する。
また、フラッシュ制御部121は、外部フラッシュ接続部124に接続されており、この外部フラッシュ接続部124を介して外部フラッシュ200と電気的に接続される。外部フラッシュ接続部124は、カメラ100の外装に設けられたホットシューおよび通信接点を含み、外部フラッシュ200をカメラ100に着脱自在に装着可能であり、また装着時にはカメラ100のフラッシュ制御部121と外部フラッシュ200内の制御部201の間で通信自在に接続される。
外部フラッシュ200は、制御部201、不揮発性メモリ202、電源部203、電源制御部204、フラッシュ充電部205、フラッシュ発光部206、およびカメラ接続部207から構成される。制御部201は、CPU等を含むASICで構成され、不揮発性メモリ202に記憶されたプログラム、およびカメラ100内のシステム制御部116とフラッシュ制御部121から送信される制御信号に従って、外部フラッシュ200における各種シーケンスを統括的に制御する。
不揮発性メモリ202は、電気的に書き換え可能な不揮発性メモリであり、前述した制御部201の制御用のプログラムを記憶するほか、外部フラッシュ200の動作に必要な各種パラメータや情報を記憶している。各種パラメータや情報としては、例えば、外部フラッシュ200のガイドナンバや、発光時間と発光量の関係を示す発光波形情報等の各種パラメータや情報を記憶している。電源部203は、外部フラッシュ200の各部の動作に必要な電力を供給するための電源であり、電源制御部204は、電源部203の昇圧制御等の各種制御を行う。
フラッシュ充電部205は、電源部203によって供給された電源電圧を昇圧し、フラッシュ発光部206の発光に必要なエネルギを蓄積する。一般に外部フラッシュ装置は、カメラに内蔵のフラッシュ装置によりも大光量の発光が可能に構成される。このため、フラッシュ充電部205のコンデンサは、フラッシュ充電部122のコンデンサよりも大容量のものが用いられる。
フラッシュ発光部206は、制御部201から発光指示を受けた場合に、フラッシュ充電部205のコンデンサに蓄積されたエネルギを利用して発光する。このフラッシュ発光部206も、フラッシュ発光部123と同様、例えばキセノン(Xe)管等の発光管や反射傘等を備えて構成される。また、フラッシュ発光部206は、発光管の近傍に発光量を測定する発光量測定部が設けられており、この発光量測定部によって測定された発光量は制御部201に送信される。さらに、フラッシュ発光部206は、制御部201からの発光停止信号を入力するとフラッシュ発光を停止する。
カメラ接続部207は、外部フラッシュ200の外装に設けられ、カメラ100のホットシューに装着可能な脚部を有し、この脚部に設けられた通信接点を介して、前述したように、カメラ100の外部フラッシュ接続部124と接続する。
次に、図1に示したカメラ100および外部フラッシュ200によるフラッシュ発光動作について、図2に示すフローチャートを用いて説明する。なお、このフローチャートはカメラ100内のシステム制御部116によって実行される。
フラッシュ発光動作のフローは、カメラ100の電源釦のオンにより起動されている状態である。まず、外部フラッシュ200が装着されているか否かの判定を行う(S1)。ここでは、フラッシュ制御部121を介して、外部フラッシュ200に送信を行い、外部フラッシュ200から応答があれば、外部フラッシュ200が装着されていると判定する。ステップS1における判定の結果、外部フラッシュ200が装着されていた場合には、次に、外部フラッシュと通信を行う(S2)。ここでは、外部フラッシュ200のガイドナンバ、充電状態、発光時間と発光量の関係を示す発光波形情報等の情報を受信する。
ステップS2において外部フラッシュ200と通信を行うと、またはステップS1における判定の結果、外部フラッシュ200が装着されていなかった場合には、次に、1stレリーズスイッチがオンされたか否かの判定を行う(S3)。撮影者は撮影前の準備段階でレリーズ釦の半押しを行うので、このステップでは、操作部117によってレリーズ釦の半押しに連動する1stレリーズスイッチの状態に基づいて判定する。この判定の結果、1stレリーズスイッチがオンでなかった場合には、ステップS1に戻り、1stレリーズスイッチがオンになるまで前述の処理を繰り返し実行する。
一方、ステップS3における判定の結果、1stレリーズスイッチがオンであった場合には、次に、AF用測光を行う(S4)。ここでは、露出制御部112によって、撮像素子107からの画像データに基づいて輝度値を求める。このAF用測光は、後述するステップS6において、AF処理を実行するが、AF処理を行うための画像を取得する際の撮像素子107の露出を決定するためである。
続いて、AF用露光演算を行う(S5)。ここでは、ステップS4において取得したAF用の輝度値に基づいて、撮像素子107の電子シャッタのシャッタ速度等のAF用露出演算を行う。AF用露光演算を行うと、次に、AF処理を実行する(S6)。ここでは、システム制御部116は、AF処理部113によって合焦評価値を取得し、この合焦評価値に基づいてレンズ制御部102を通じて、撮影レンズ101が合焦位置となるように駆動制御を行う。
AF処理を行うと、次に、撮影用測光を行う(S7)。ここでは、システム制御部116は、露出制御部112において、撮像素子107からの画像データに基づいて被写体輝度を算出する。続いて、撮影用露出演算を行う(S8)。ここでは、撮影時において適正露光となるための絞り103の絞り値や、撮像素子107の電子シャッタ速度等の露出制御値を算出する。本実施形態においては、機械的に動作するシャッタを有しておらず、シャッタは撮像素子107中の光電変換素子から出力される光電流を蓄積する時間を制御することによって行う。この露出制御値の算出にあたっては、アペックス演算により算出してもよいが、被写体輝度に基づいて、予め不揮発性メモリ118に記憶された絞り値と電子シャッタ速度のテーブルを参照して、絞り値と電子シャッタ速度値を求める。
撮影用露出演算を行うと、次に、2ndレリーズスイッチがオンか否かの判定を行う(S9)。撮影者はライブビュー表示を観察しながら構図を決定し、シャッタチャンスでレリーズ釦の全押しを行うので、このステップでは、操作部117によってレリーズ釦の全押しに連動する2ndレリーズスイッチの状態に基づいて判定する。この判定の結果、2ndレリーズスイッチがオンでなかった場合には、ステップS3に戻り、2ndレリーズスイッチがオンになるまで前述の処理を繰り返し実行し、被写体の変化に対応してAFと測光を追従させる。
一方、ステップS9における判定の結果、2ndレリーズスイッチがオンであった場合には、撮像素子107によって取得した画像データを外部メモリ114に記録する本撮影を、ステップ10以下において実行する。本撮影を行うにあたって外部フラッシュ200の本発光量を決定するために、まず、プリ発光を行う(S10)。ここでは、システム制御部116が、フラッシュ制御部121および制御部201によってフラッシュ発光部206を少光量で発光させる。
プリ発光を行うと、続いて、プリ発光および定常光下において、被写体像データの取得を行う(S11)。ここでは、ステップS10においてプリ発光した際に、被写体からの反射光に基づく被写体像の画像データ(プリ発光データ)を撮像素子107によって取得し、また、定常光状態における被写体像の画像データ(定常光データ)を撮像素子107によって取得する。定常光状態での画像データは、本実施形態においてはプリ発光終了後に行うが、プリ発光直前に定常光状態での画像データを予め取得してもかまわない。
次に、本発光量と蓄積タイミングの演算を行う(S12)。ここでは、ステップS11において取得した定常光データとプリ発光データを用いて、本発光時のフラッシュ発光部206の発光量(本発光量)を決定する。すなわち、システム制御部116は、プリ発光データから求めた被写体輝度と定常光データから求めた被写体輝度の差分から、撮影時におけるフラッシュ発光部206の本発光量を演算する。
また、ステップS12においては、蓄積タイミングの演算も行う。ステップS8において演算された撮影用の電子シャッタ速度が高速の場合には、外部フラッシュ200の発光時間に比較して、撮像素子107における光電変換電流の蓄積時間が短時間であるために、蓄積開始を外部フラッシュ200への発光開始信号の出力タイミングと同時に行うと、フラッシュ発光の利用効率が低くなってしまう。そこで、本実施形態においては、フラッシュの発光エネルギを効率的に利用することを可能とするために、各画素から出力される光電変換電流の蓄積を開始する蓄積開始のタイミングを求めている。蓄積開始のタイミングを求めるにあたっては、不揮発性メモリ202に記憶されている発光時間と発光量の関係を示す発光波形情報を用いて、本発光した際に必要光量を最適に受光できる蓄積タイミングを求める。この蓄積タイミングの詳しい求め方については、図3ないし図16を用いて後述する。
本発光量と蓄積タイミングの演算が終わると、次に、本撮影および本発光を行う(S13)。ここでは、システム制御部116は、ステップS8において演算した絞り値に従って絞り制御部104を制御して絞り機構103の絞りを駆動し、ステップS12において演算した発光量で外部フラッシュ200のフラッシュ発光部206を発光させる。ここでの発光量は、ステップS12において演算された本発光量であり、制御部201はフラッシュ発光部206の発光量測定部によって測定された発光量が、演算された本発光量に達すると、発光停止信号をフラッシュ発光部206に出力し、フラッシュ発光を停止させる。
また、ステップS12において演算した蓄積タイミングに基づいて、撮像制御部108を制御し撮像素子107の光電変換電流の蓄積を開始し、ステップS8において演算した電子シャッタ速度に基づいて蓄積時間が経過した時点で蓄積を終了する。なお、撮像素子107の感度については、例えば被写体輝度に応じて設定する。
本撮影および本発光が終わると、次に、画像処理を行う(S14)。ここでは、システム制御部116は、撮像制御部108を制御し撮像素子107から画像信号を読出し、読み出された画像信号をA/D変換した後、画像処理部111によって画像処理を行わせる。画像処理が終わると、次に、画像記録を行う(S15)。画像処理部111によって画像処理された圧縮画像データを外部メモリ114に記録させる。画像記録が終わると、システム制御部116は、フラッシュ発光撮影の処理を終了させる。
次に、図3ないし図11を用いて、本実施形態におけるフラッシュ発光時の撮像素子の蓄積時間のタイミングの決定の仕方について説明する。フラッシュの発光プロファイルは、複数の期間に分割して考えることができる。図3において、横軸を発光時間(単位はμs)とし、縦軸を発光量(単位はa.u.)としたときの発光プロファイルである。時刻T01は、フラッシュ制御部121から外部フラッシュ200に発光トリガ信号を出力したときのタイミングを示し、時刻T02は発光遅延期間後の時刻である。この発光遅延期間は、発光トリガ信号を受けたのち、主に、フラッシュ発光部206内の発光トリガ回路に起因する遅延時間、またキセノン管や発光用のエネルギを蓄積するアルミ電解コンデンサ等のメインコンデンサの発光ループでの発光励起遅延時間等によって生じる。図3に示した例では、発光遅延期間は10μsである。
時刻T03は、フラッシュ発光がピーク値に達するタイミングであり、時刻T02から時刻T03までは発光の立ち上がり期間である。この立ち上がり期間は、フラッシュ発光部206内のキセノン管のインピーダンスやメインコンデンサのESR(等価直列抵抗)等の影響で決まる。図3に示した例では、立ち上がり期間は30μsである。この後、わずかな期間であるが、時刻T03から時刻T04までが発光ピーク期間であり、発光量のピーク値を維持する。図3に示した例では、この発光ピーク期間は、5μsである。
時刻T05は、発光ピークの1/2に減衰したタイミングであり、時刻T04から時刻T05までは減衰期間である。図3に示した例では、減衰期間は100μsである。減衰期間として、本実施形態においては、発光ピークから発光ピークの半分としているが、これは例示であり、適宜、別の定義としてもよい。発光トリガ信号出力時の時刻T01から、発光ピークの1/2となる時刻T05までの発光時間が経過すると、発光エネルギをほぼ消費したことになる。
減衰期間が過ぎると、最後に完全に発光エネルギを消費するまでのテール期間がある。完全に発光エネルギを消費するまでには、なだらかなテールを引くことが知られているが、フラッシュの総発光量に占める割合は急激に小さくなる。なお、図3に示した例では、テール期間は、70μsである。発光遅延期間、立ち上がり期間、減衰期間、テール期間等の時間は、フラッシュの回路構成、メインコンデンサの容量等で変わり、特にキセノン管のインピーダンス(管長で変わる等価抵抗成分やインダクタンス成分等)によって変化する。
図4および図5に、フラッシュの発光と、撮像素子107におけるセンサ蓄積期間との関係を示す。図4は従来から行われている方式、すなわちフラッシュの発光開始とともにセンサの蓄積を開始する場合であり、図5は本実施形態において採用されている方式、すなわちフラッシュの発光開始から遅延してセンサの蓄積を開始する場合を示す。
従来から行われている方式では、図4に示すように、時刻T01において発光トリガ信号を出力するとともに、撮像素子107の各画素の光電変換電流の蓄積を開始し、時刻T0eにおいて、蓄積を終了している。この蓄積時間は、前述のステップS8(図2参照)において、予め露出演算によって算出されたシャッタ速度に対応する時間であり、図4に示す例では、1/20000秒(=50μs)である。
図4から分かるように、フラッシュの発光開始と同時、すなわち発光トリガ信号の出力と同時に、撮像素子107のセンサ蓄積を開始した場合のフラッシュ発光(図4中の斜線部分)では、発光開始遅延期間と立ち上がり期間におけるフラッシュ発光量がピーク後の発光量に対して小さく、センサ蓄積期間内に、フラッシュ発光を有効に利用できない。すなわち、高速シャッタによってフラッシュの同期発光を行うことができても、フラッシュがもつ能力を十分に生かすことができない。
そこで、本実施形態においては、図5に示すように、フラッシュの発光プロファイルに最適化したタイミングでセンサの蓄積を行うようにしている。すなわち、発光トリガ信号の出力時点である時刻T01よりも遅延して時刻Ts1において、センサの蓄積を開始し、予め演算されたシャッタ速度に対応するセンサ蓄積時間が経過した時刻Te1において、センサの蓄積を終了するようにしている。図5に示す例においても、図4の示す例と同様、シャッタ速度に対応するセンサ蓄積時間は1/20000秒(=50μs)であるが、センサ蓄積期間におけるフラッシュの発光量(図5中の斜線部分)は、ピーク後の発光量の割合が十分大きく、フラッシュの持つ能力を可能な限り十分に生かすことができる。
次に、図6および図7を用いて、本実施形態におけるセンサ蓄積のタイミングの決定方法を説明する。フラッシュの発光プロファイルは、発光遅延期間、初期発光量立ち上がり期間、ピーク期間、ピーク後の減衰期間、その後のテール期間に分けて考えられる。これらの期間ごとに発光量求め、積算することによりセンサ蓄積期間における発光量を算出し、センサ蓄積タイミングの最適化を図ればよい。本実施形態においては、図6に示すように、発光プロファイルを5期間に区切り、図7に各期間における特性値の例を示す。なお、図7中の最下段に示す発光量において、期間5における値、すなわち1528は、例とした挙げたフラッシュにおける最大発光量を示す。この値は、適切な換算式によって、いわゆるGnoやGv値に換算することができ、単純に露光レベルに比例関係にある値である。ここでは、ある任意の単位を用いている。
センサ蓄積期間のタイミングを決定するには、図7に示すような特性を用いて行う。すなわち、下記の特性値を用いる。
各期間:t_interval、
発光開始からの時間:t_interval_sum、
発光強度の変化率:ΔL/Δs
期間内の任意のポイントにおける発光強度:L
(任意期間の発光強度LはTxの関数になる。任意期間の発光強度の計算式は図7に示される。また、Txの定義に関してはも図7と図8を参照のこと)
各期間の開始時の発光強度:L_start
各期間の終了時の発光強度:L_last
各期間の発光量:L・t
総発光量:L・t_sum
(1)まず、センサ蓄積開始と同時にフラッシュ発光を開始した場合において、発光量とその発光時間を,発光プロファイル情報を元に算出する。この算出にあたって、
撮像素子107におけるセンサ蓄積時間:T_sen
センサ蓄積時間内で得られる発光量:L・T_sen
必要発光量:L・T_Fl
発光時間:T_Fl_def
とする。
センサ蓄積時間T_senの期間内で得られる発光量L・T_senの演算にあたっては、センサ蓄積開始と同時に発光させた場合に、T_senの終了するタイミングが、図7に示す期間1〜期間5のいずれに属するかを判定する。ここでの判定は、シャッタ速度に対応して決まるセンサ蓄積時間T_senと、図7に示す発光時間を比較し、いずれの期間に属するかを決めればよい。例えば、T_senが30μsであれば期間2に属し、50μsであれば期間4に属する。
終了するタイミングの属する期間を判定すると、次に、期間毎にそれぞれの発光量を演算し、期間毎の発光量の累積を求める。例えば、センサ蓄積時間T_senが30μsであれば、期間1および期間2における発光量の総和を求める。すなわち、
L・T_sen=L_start_1×t_interval_1+L_start_2×(30−10)+0.5×(30−10)×(30−10)/2 ・・・(1)
によりセンサ蓄積時間T_senが30μsの場合の発光量L・T_senを求めることができる。
(2)次に、センサ蓄積開始と同時にフラッシュ発光を開始した場合に、蓄積時間T_sen内に、必要発光量L・T_Flが得られるか否か、すなわち、蓄積時間T_sen内の発光量L・T_senが、必要光量L・T_Flよりも大きいかを、
L・T_sen≧L・T_Fl ・・・(2)
によって判定する。この判定の結果、L・T_sen≧L・T_Flであれば、センサ蓄積と同時にフラッシュ発光を開始しても、十分な光量を得ることができる。
ただし、十分な光量が得られるとしても適正露出を得るためには、フラッシュの発光量または蓄積期間をシフトする必要がある。すなわち、
(a)フラッシュ発光を適切なタイミングで停止させ、発光量を制御する、
(b)蓄積期間のタイミング(言い換えると、電子シャッタのタイミング)をシフトする(発光中であってもセンサの蓄積期間をずらすことで受光量を減らす方向にコントロールできる)、
の2つの方法があり、いずれかの方法によって適正露出となるようにすればよい。
(3)次に、L・T_sen≧L・T_Flを満たしていない場合には、蓄積期間のタイミングをシフトさせることにより、十分な光量を得ることのできる蓄積期間を決定する。これは、上記(b)の方法と同一である。
この蓄積期間のタイミングのシフト量の決定は以下のようにして行う。まず、センサ蓄積期間はステップS8において演算したシャッタ速度に応じて決まることから、センサ蓄積期間の開始時を決めると自動的にセンサ蓄積間の終了時は決まる。そこで、本実施形態においては、トリガ発光信号の出力時をセンサ蓄積期間の開始時として、センサ蓄積期間内におけるフラッシュ発光量を求め、続いて、センサ蓄積期間の開始時を次の期間にシフトし、シフトしたセンサ蓄積期間におけるフラッシュ発光量を求める。このシフトを最終期間(本実施形態においては、期間5)に達するまで行い、シフトするたびに、フラッシュ発光量を求める。なお、センサ蓄積期間の開始時が減衰期(本実施形態においては、期間4)に入ると、以降、フラッシュ発光量は急速に減少することから、この期間で演算を終了してもよい。ただし、LED光源等、さまざまな発光プロファイルを考慮すると、全期間、一律で行うようにしてもよい。本実施形態においては、最終期間まで一律に演算する。
次に、センサ蓄積期間をシフトさせながら、それぞれの蓄積期間におけるフラッシュ発光の総発光量を求める。式を用いて詳細に説明する前に、図8ないし図11を用いて、センサ蓄積タイミングのシフトについて概略を説明する。
図8に、前述の発光プロファイルを有するフラッシュ発光と、センサ蓄積期間の関係を示す。図8に示すように、シフト前センサ発光タイミングでは、時刻T01=Ts2においてセンサ蓄積期間が開始し、時刻Te2においてセンサ蓄積期間が終了している。図8中の期間1に対応し、時刻T01から時刻T02までの期間をT_shift_Local(期間1:期間4)とすると、シフト後のセンサ発光タイミングでは、T_shift_Local(期間1:期間4)だけ蓄積期間の開始をシフトさせる。この結果、時刻Ts3においてセンサ蓄積期間が開始し、時刻Te3においてセンサ蓄積期間が終了する。
図9は、図8の状態からさらにシフトを行い、センサ蓄積期間の開始を期間2とし、T_shift_Local(期間2:期間4)だけシフトを行った場合を示す。シフト後のセンサ蓄積期間の開始は時刻Ts4になり、センサ蓄積期間の終了は時刻Te4になる。図10は、図9の状態からさらにシフトを行い、センサ蓄積期間の開始を期間3とし、T_shift_Local(期間3:期間4)だけシフトを行った場合を示す。シフト後のセンサ蓄積期間の開始は時刻Ts5になり、センサ蓄積期間の終了は時刻Te5になる。
図11は、図10の状態からさらにシフトを行い、センサ蓄積期間の開始を期間4とし、T_shift_Local(期間4:期間4)だけシフトを行った場合を示す。シフト後のセンサ蓄積期間の開始は時刻Ts6になり、センサ蓄積期間の終了は時刻Te6になる。このように、本実施形態においては、センサ蓄積期間を、順次、シフトさせながら、フラッシュ発光の総発光量を求めていく。
次に、図8ないし図11に示したようなセンサ蓄積期間のシフトを行った際の、フラッシュ発光の総発光量の演算とシフト量の決め方について説明する。なお、式中で使用する略号は以下の通りである。
最終的に求めるシフト量:T_shift_Total
シフトさせながら発光量を求める際に使用する、センサ蓄積開始時刻と蓄積終了時刻を指定するためのシフト量:T_shift_Local(センサ蓄積開始期間:センサ蓄積終了期間)
センサ蓄積開始期間は、センサ蓄積開始時刻が含まれる期間を、センサ蓄積終了期間はセンサ蓄積終了時刻が含まれる期間を示す。ここで、センサの蓄積開始時刻とセンサの蓄積終了時刻が期間をまたがない範囲での最大シフト量とする。このように期間を分けてシフトするとは、シフト量に対するセンサの蓄積電荷の変化量計算が簡単になるからである。
T_shift_Local分のシフト前の発光強度:L_start_shift_期間
センサ蓄積開始時刻がシフトすることによるロス:L・t_Loss(センサ蓄積開始期間)
センサ蓄積終了時刻がシフトすることによりゲイン:L・t_Gain(センサ蓄積終了期間)
センサ蓄積開始時刻と蓄積終了時刻がシフトすることによる総ゲイン:L・t_Gain(センサ蓄積開始期間:センサ蓄積終了期間)
シフト履歴の総ゲイン:L・t_Gain_Total
T_shift_Local分のシフト前の発光強度を示すL_start_shift_期間は、図7に記載の期間内任意ポイントの発光強度Lの欄に記載の値または式から求められる。欄内のtxはその期間の開始位置からのずれになる。蓄積開始時刻あるいは蓄積終了時刻が期間の領域境界に有る場合には、tx=0となり、L_start_shift_期間は、図7に記載の各期間開始時の発光強度L_startと一致する。
センサ蓄積期間をシフトさせながら、それぞれの蓄積期間におけるフラッシュ発光の総発光量を求めるにあたって、まず、センサ蓄積開始時刻が期間1にあり、センサ蓄積終了時刻が期間xにある場合のフラッシュ総発光量L・t_Gain_Totalについて求める。なお、各期間開始時点はその期間に含み、各期間終了時点はその期間に含まないと定義する。
L・t_Loss(期間1)=L_start_shift_期間1*T_shift_Local(期間1:期間x)+ΔL/ΔS_期間1*T_shift_Local(期間1:期間x)*T_shift_Local(期間1:期間x)/2 ・・・(3)
L・t_Gain(期間x)=L_start_shift_期間x*T_shift_Local(期間1:期間x)+ΔL/ΔS_期間x*T_shift_Local(期間1:期間x)*T_shift_Local(期間1:期間x)/2 ・・・(4)
L・t_Gain(期間1:期間x)=L・t_Gain(期間x)−L・t_Loss(期間1) ・・・(5)
L・t_Gain_Total=L・t_Gain(期間1:期間x) ・・・(6)
なお、式中の*は、乗算を意味する。
上述の(3)式は、センサ蓄積開始時刻をシフトすることにより、減少した発光量に対応し、(4)式は、センサ蓄積終了時刻をシフトすることにより増加した発光量に対応する。したがって、センサ蓄積期間をシフトしたことによる発光量の増加(減少)は、(3)式と(4)式を用いて(5)式となり、L・t_Gain_Totalは最初のシフト計算のためL・t_Gain(期間1:期間x)の値と一致する。T_shift_Local(期間1:期間x)分シフトすることにより、センサ蓄積開始時刻またはセンサ蓄積終了時刻が、新たな領域の境界に入り、次の期間の組合せが決まる。図8はx=4の時の例にとして対応する。また、シフトによってセンサ蓄積開始時刻は期間2にシフトし、センサ蓄積終了時刻は期間4にとどまる場合に相当する。これで次の状態として図9になる。
T_shift_Local(期間1:期間x)シフトすることでセンサ蓄積開始時刻は期間2にシフトし、センサ蓄積終了時刻は期間xにとどまる場合を考えると、次のシフト量はT_shift_Local(期間2:期間x)として決まる(このように、次のシフト量は前のシフトによってセンサ蓄積開始時刻とセンサ蓄積終了時刻がどの期間に移動するかで決まる)。センサ蓄積開始時刻が期間1に有った場合と同様に、以下のようにしてフラッシュ発光の総発光量を求める。
センサ蓄積開始時刻が期間2にあり、センサ蓄積終了時刻が期間xにある場合のフラッシュ総発光量L・t_Gain_Totalについて求める。
L・t_Loss(期間2)=L_start_shift_期間2*T_shift_Local(期間2:期間x)+ΔL/ΔS_期間2*T_shift_Local(期間2:期間x)*T_shift_Local(期間2:期間x)/2 ・・・(7)
L・t_Gain(期間x)=L_start_shift_期間x*T_shift_Local(期間2:期間x)+ΔL/ΔS_期間x*T_shift_Local(期間2:期間x)*T_shift_Local(期間2:期間x)/2 ・・・(8)
L・t_Gain(期間2:期間x)=L・t_Gain(期間x)−L・t_Loss(期間2) ・・・(9)
L・t_Gain_Total=L・t_Gain(期間1:期間x)+L・t_Gain (期間2:期間x) ・・・(10)
このように、T_shift_Local(期間2:期間x)分シフトすることで、センサ蓄積開始時刻またはセンサ蓄積終了時刻が、新たな領域の境界に入り、次の期間の組合せが決まる。図9はx=4の時の例として対応する。また、シフトによってセンサ蓄積開始時刻は期間3にシフトし、センサ蓄積終了時刻は期間4にとどまる場合に相当する。これで次の状態として図10になる。
次に、センサ蓄積開始時刻は期間4にありセンサ蓄積終了時刻が期間yにある場合について考えると、T_shift_Local(期間4:期間y)が決定される。この場合も同様にして、以下の(11)式〜(14)式により、フラッシュ発光の総発光量を求めることができる。図11は、y=4の時の例として対応する。また、シフトによってセンサ蓄積開始時刻は期間4にとどまり、センサ蓄積終了時刻は期間5にシフトする場合に相当する。これで次の状態としてセンサ蓄積開始時刻は期間4、センサ蓄積終了時刻は期間5の状態になる(未図示)。
センサ蓄積開始時刻が期間4にあり、センサ蓄積終了時刻が期間yにある場合のフラッシュ総発光量L・t_Gain_Totalについて求める。
L・t_Loss(期間4)=L_start_shift_期間1*T_shift_Local(期間4:期間y)+ΔL/ΔS_期間1*T_shift_Local(期間1:期間y)*T_shift_Local(期間4:期間y)/2 ・・・(11)
L・t_Gain(期間y)=L_start_shift_期間y*T_shift_Local(期間4:期間y)+ΔL/ΔS_期間y*T_shift_Local(期間4:期間y)*T_shift_Local(期間4:期間y)/2 ・・・(12)
L・t_Gain(期間4:期間y)=L・t_Gain(期間y)−L・t_Loss(期間4) ・・・(13)
L・t_Gain_Total=L・t_Gain(期間1:期間x)+L・t_Gain(期間4:期間x)+・・+L・t_Gain(期間4:期間y) ・・・(14)
このように、センサ蓄積開始時刻の期間をシフトさせながら、最終期間(本実施形態における例では、期間5)までフラッシュ発光の総発光量を求めていく。この間に、不足発光量(L・T_Fl−L・T_sen)が補われた場合には、シフトを終了する。最終期間までシフトさせても不足発光量(L・T_Fl−L・T_sen)が補われない場合には、L・t_Gain_Totalが最大となる条件をT_shift_Totalとする。これは、L・t_Gain_Totalが最大となるまでのT_shift_Totalの和になる。最大となる条件は、各組み合わせの中間シフトとはならない。また、不足発光量(L・T_Fl−L・T_sen)が補われる条件が判定された場合には(図2のステップS12中において判定される)、通常、フラッシュの発光量は過度となるため、最適なシフト量を決定する。期間組合せ内でのT_shift_Local以下のシフト量とロスの関係は、シフト量のロスの関係式から2次関数を解くことにより得ることができる。カメラ等の撮影装置内で演算するには、線形近似や誤差視点、発光プロファイルの視点から簡単な演算式に置き換えればよい。ただし、発光量を最適な量で停止させる場合には、最適シフト量を決定する必要はなく、シフトによる過分をフラッシュの発光量制御によって適正に制御すればよい。
以上、説明したように、本発明の一実施形態においては、フラッシュ200の発光波形情報を不揮発性メモリ202に記憶しておき、ステップS8において演算された撮像素子107の電子シャッタ速度、すなわちセンサ蓄積時間を用いて、センサ蓄積時間内において撮像素子107が受光する受光量を演算し、本発光量を受光できるセンサ蓄積タイミングを求めるようにしている。このため、撮像素子の電子シャッタを利用してフラッシュ同調速度を高速化するとともに、フラッシュの発光エネルギを効率的に利用することが可能となる。
次に、本発明の一実施形態の変形例について図12ないし図16を用いて説明する。本発明の一実施形態においては、センサ蓄積期間の開始は、発光の開始、すなわち発光トリガ信号の出力時以後にシフトさせて、フラッシュ発光に対して最適位置でセンサ蓄積を行うようにしていた。この場合、フラッシュ発光量が超過する場合には、フラッシュ装置側で調光することにより適正露出になるように調整していた。本変形例においても、センサ蓄積期間をシフトさせながら、フラッシュ発光に対して最適位置でセンサ蓄積を行うことは同様である。しかし、上記(2)式、すなわち、L・T_sen≧L・T_Flの関係を満たした場合に、本変形例では、センサ蓄積期間のタイミングをマイナス側にシフトするようにしている。つまり、センサ蓄積期間の開始を、発光の開始、すなわち発光トリガ信号の出力よりも前にシフトさせて、フラッシュ装置側での調光なしで、適正露出になるように調整するようにしている。
本変形例におけるセンサ蓄積期間のタイミングの決定方法を説明するにあたって、まず、図7に示した各期間の特性値の例を図12に示す。本変形例においては、期間1に先だって期間0が設けてあり、この点以外は、図7と同様である。
式を用いて詳細に説明する前に、図13ないし図15を用いて、センサ蓄積タイミングをマイナス側にシフトすることについて概略を説明する。図13に、図12に示す発光プロファイルを有するフラッシュ発光と、センサ蓄積期間の関係を示す。図13に示すように、シフト前センサ発光タイミングでは、時刻T01=Ts2においてセンサ蓄積期間が開始し、時刻Te2においてセンサ蓄積期間が終了している。この状態に対して、シフト後のセンサ発光タイミングでは、T_shift_Local(期間0:期間4)だけ蓄積期間の開始をシフトさせ、時刻Ts7においてセンサ蓄積期間が開始し、時刻Te7においてセンサ蓄積期間を終了させている。
図14は、図13の状態からさらにシフトを行い、センサ蓄積期間の終了を期間4から期間3とし、T_shift_Local(期間0:期間3)だけシフトを行った場合を示す。シフト後のセンサ蓄積期間の開始は時刻Ts8になり、センサ蓄積期間の終了は時刻Te8になる。図15は、図14の状態からさらにシフトを行い、センサ蓄積期間の終了を期間2とし、T_shift_Local(期間0:期間2)だけシフトを行った場合を示す。シフト後のセンサ蓄積期間の開始は時刻Ts9になり、センサ蓄積期間の終了は時刻Te9になる。このように、本変形例においては、センサ蓄積期間を、順次、マイナス側にシフトさせながら、フラッシュ発光の総発光量を求めていく。
次に、図13ないし図15を用いて説明したセンサ蓄積期間をマイナス側にシフトを行った際の、フラッシュ発光の総発光量の演算とシフト量の決め方について説明する。シフト量の計算は、センサ蓄積開始時刻とセンサ蓄積終了時刻が与えられたセンサ蓄積期間において、期間の1の最初のタイミングからスタートして、センサ蓄積終了時刻が、開始期間(例では期間1)までシフトさせるか、過分発光量(L・t_Fl_def−L・t_Fl)が0以下になるまで演算を行う。
なお、式中で使用する略号は以下の通りである。シフト方向はマイナスのため、先頭部分にminusを付している。また、シフトによって、発光量は増加することはないことからロスのみになる。
最終的に求めるシフト量:minus_T_shift_Total
シフトさせながら発光量を求める際に使用する、センサ蓄積開始時刻と蓄積終了時刻を指定するためのシフト量:minus_T_shift_Local(センサ蓄積開始期間:センサ蓄積終了期間)
ここで、センサの蓄積開始時刻とセンサの蓄積終了時刻が期間をまたがない範囲での最大シフト量とする。このように期間を分けてシフトするのは、このシフト量に対するセンサの蓄積電荷の変化量計算が簡単になるからである。
minus_T_shift_Local分のシフト前の発光強度:L_start_shift_期間
センサ蓄積開始時刻がシフトすることによるロス:minus_L・t_Loss(センサ蓄積開始期間)
センサ蓄積開始時刻と蓄積終了時刻がシフトすることによる総ロス:minus_L・t_Loss(センサ蓄積開始期間:センサ蓄積終了期間)
シフト履歴の総ロス:minus_L・t_Loss_Total
T_shift_Local分のシフト前の発光強度を示すL_start_shift_期間は、図12に記載の期間内任意ポイントの発光強度Lの欄に記載の値または式から求められる。欄内のtxはその期間の開始位置からのずれになる。蓄積開始時刻あるいは蓄積終了時刻が期間の領域境界に有る場合には、tx=0となり、L_start_shift_期間は、図12に記載の各期間開始時の発光強度L_startと一致する。
センサ蓄積期間をマイナス側にシフトさせながら、それぞれの蓄積期間におけるフラッシュ発光の総発光量を求めるにあたって、まず、センサ蓄積開始時刻が期間0にあり、センサ蓄積終了時刻が期間xにある場合のフラッシュ総発光量minus_L・t_Loss_Totalについて求める。
minus_L・t_Loss(期間x)=L_start_shift_期間x*T_shift_Local(期間0:期間x)+ΔL/ΔS_期間x*T_shift_Local(期間0:期間x)*T_shift_Local(期間0:期間x)/2 ・・・(15)
L・t_Loss(期間0:期間x)=L・t_Loss(期間x) ・・・(16)
minus_L・t_Loss_Total=L・t_Loss(期間0:期間x) ・・・(17)
T_shift_Local(期間0:期間x)分シフトすることにより、センサ蓄積終了時刻が、新たな領域の境界となり、図13ないし図15に示したように、次の期間の組合せができる。
次に、T_shift_Local(期間0:期間x)シフトすることでセンサ蓄積開始時刻は期間0にとどまり、センサ蓄積終了時刻は期間yにシフトする場合について考えると、次のシフト量はT_shift_Local(期間0:期間y)として決まる(このように、次のシフト量は前のシフトによってセンサ蓄積開始時刻とセンサ蓄積終了時刻がどの期間に移動するかで決まる)。この場合も同様にして、以下の(18)式〜(20)式により、フラッシュ発光の総発光量を求めることができる。図13はx=4またはy=4の時の例として対応する。また、シフトによってセンサ蓄積開始時刻は期間0にとどまり、センサ蓄積終了時刻は期間3にシフトする場合に相当する。これで次の状態として図14になる。図14では、x=3またはy=3となりシフトによってセンサ蓄積開始時刻は期間0にとどまり、センサ蓄積終了時刻は期間2にシフトする場合に相当する。これで次の状態として図15になる。図15では、x=2またはy=2となりシフトによってセンサ蓄積開始時刻は期間0にとどまり、センサ蓄積終了時刻は期間2にシフトする場合に相当する。
センサ蓄積開始時刻が期間0にあり、センサ蓄積終了時刻が期間yにある場合のフラッシュ総発光量L・t_Loss_Totalについて求める。
minus_L・t_Loss(期間y)=L_start_shift_期間y*T_shift_Local(期間0:期間y)+ΔL/ΔS_期間y*T_shift_Local(期間0:期間y)*T_shift_Local(期間0:期間y)/2 ・・・(18)
L・t_Loss(期間0:期間y)=L・t_Loss(期間y) ・・・(19)
minus_L・t_Loss_Total=L・t_Loss(期間0:期間y)+L・t_Loss(期間0:期間y) ・・・(20)
このように、センサ蓄積開始時刻をマイナス側にシフトさせながら、センサ蓄積終了時刻が開始位置(本実施形態における例では、期間0)になるまでフラッシュ発光の総発光量を求めていく。この間に、過分発光量(L・t_Fl_def−L・t_Fl)が0以下になった場合には、シフトを終了する。過分発光量(L・t_Fl_def−L・t_Fl)が補われる条件が判定された場合、通常、発光量は過度に不足となるため、最適なシフト量を決定する。期間組合せ内でのminus_T_shift_Local以下のシフト量とロスの関係は、シフト量のロスの関係式から2次関数を解くことにより得ることができる。カメラ等の撮影装置内で演算するには、線形近似や誤差視点、発光プロファイルの視点から簡単な演算式に置き換えればよい。また、期間組合せ内でのT_shift_Local以下のシフト量とロスの関係は、シフト量のロスの関係式から2次関数を解くことにより得ることができる。この場合も、カメラ等の撮影装置内で演算するには、線形近似や誤差視点、発光プロファイルの視点から簡単な演算式に置き換えればよい。
以上、説明したように、本発明の一実施形態の変形例においては、電子シャッタのタイミング、すなわち、センサ蓄積時間の開始と終了のタイミングを制御することにより、高速シャッタであっても、フラッシュの発光量を有効に活用することができる。
なお、電子シャッタのシフトのみで、露光量を調節する場合には、フラッシュ側で発光量の制御が不要になることから、フラッシュの構成を簡単にすることができ、安価にすることができる。ただし、発光量を余分に発光させることになり、エネルギロスが生じてしまう。この不具合を解消する方法として、発光量をラフに制御するようにすればよい。例えば、センサ蓄積期間が終了すると、発光を停止するようにすればよい。
以上説明したように、本発明の一実施形態や変形例においては、撮像素子107による蓄積時間と、フラッシュ200の閃光発光による撮像素子107における受光量を演算し、不揮発性メモリ202に記憶された発光波形情報と、撮像素子107における受光量に基づいて、フラッシュ200発光開始から撮像素子107の蓄積開始のタイミングを設定するようにしている。このため、撮像素子の電子シャッタを利用してフラッシュ同調速度を高速化するとともに、フラッシュの発光エネルギを効率的に利用することができる。
なお、本発明の一実施形態や変形例においては、閃光発光は外部フラッシュ200によって行っていたが、内蔵フラッシュによって閃光発光を行い、その際にセンサ蓄積タイミングをシフトするようにしても勿論かまわない。
また、本発明の一実施形態や変形例においては、撮像素子107の電子シャッタとして、グローバルシャッタを用いた例について説明したが、ローリングシャッタでもライン毎の遅延が遅くなければ、もちろんグローバルシャッタと同様に使用することができる。
さらに、本発明の一実施形態や変形例においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話や携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでも構わない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。