以下、本発明の実施形態として、フラッシュ撮影機能を備えたデジタルカメラと、その制御方法を示す。
[実施形態1]
図1は、デジタルカメラ1の外観を示す斜視図である。この図に示すように、デジタルカメラ1の前面には、撮像レンズ2が備えられ、デジタルカメラ1の上面には、シャッターレリーズボタン3、フラッシュライト4、付属品の取付口であるホットシュー5、各種設定操作を行うためのモードダイヤル61、コマンドダイヤル62、フラッシュボタン63などの設定操作ボタン6が備えられている。
シャッターレリーズボタン3は、2段階の押下により2種類の動作を指示できる構造を有する。例えば、自動露出調整機能(AE:Auto Exposure)、自動焦点調節機能(AF:Auto Focus)を利用した撮影では、デジタルカメラ1は、シャッターレリーズボタン3が軽く押下(半押しともいう)されたときに、自動的に、最適な露出、焦点を設定する。その状態で、シャッターレリーズボタン3が強く押下(全押しともいう)されると、デジタルカメラ1は設定された条件で露光を開始し、露光により得られた1フレーム分の画像データをメモリカードに記録する。
フラッシュライト4はフラッシュ収納部7に内蔵されており、シャッターレリーズボタン3の2段階目の押下操作(全押し操作)と連動して発光動作を行う。フラッシュ収納部7は、自動または手動の操作によりカメラ上部方向に開閉する。図は、フラッシュ収納部7が開いた状態を示している。
フラッシュの発光動作は、ユーザにより設定された撮影モードおよびフラッシュモードによって決まる。撮影モードとしては、撮影に係る全設定をカメラが自動で行うAUTOモード、撮影に係る全設定をユーザが手動で行うマニュアルモードのほか、プログラムオートモード、シャッター優先オートモード、絞り優先オートモード、ブレ軽減モード、ナチュラルフォトモード、マクロ(接写)モード、その他人物、風景、夜景など撮影シーンごとのモードが用意されている。撮影モードは、モードダイヤル61の操作により設定することができる。また、フラッシュモードとしては、周囲の明るさから発光の要否を判断して自動的に発光するオートフラッシュモード、周囲の明るさに拘わらず発光する強制発光モード、接写に適したフラッシュ制御を行うマクロフラッシュモードなどが用意されている。フラッシュモードは、フラッシュボタン63を押下し、後述するモニタに表示される設定画面において設定することができる。
デジタルカメラ1は、フラッシュ収納部7を閉じた状態で、ホットシュー5に外付フラッシュライトを取り付けて使用することもできる。外付フラッシュライトは、ホットシュー5に取付けられることで機械的・電気的にデジタルカメラ1に接続され、これにより、フラッシュ収納部7に内蔵されたフラッシュライト4と同様、設定されたモードに応じて、シャッターレリーズボタン3の押下操作と連動した発光動作を行うようになる。本発明は、フラッシュライトが内蔵か外付けかによらず適用可能な発明である。
図2は、デジタルカメラ1の背面図である。この図に示すように、デジタルカメラ1の背面には、モニタ(LCD:Liquid Crystal Display)9と、設定を行うときの選択操作に用いられる十字キー64、その他ズーム設定ボタンなどの各種設定操作ボタンが備えられている。またデジタルカメラ1の側面に備えられたスロットカバー10は開閉可能であり、中にはメモリカード用スロットが備えられている。デジタルカメラ1により撮影された画像は、メモリカード用スロットに装填された例えばxD−ピクチャーカードなどのメモリカード(記録メディア8)に記録される。
図3は、デジタルカメラ1の内部構成を示す図である。この図に示すように、デジタルカメラ1は、CPU42と、撮影動作の制御に関わる各種制御プログラムおよび各種設定値を記憶する内部メモリ48を備える。また、デジタルカメラ1は、CPU42からの指示に応じて、前述のシャッターレリーズボタン3および各種設定操作ボタン6を含む操作系から入力される情報を取り込む操作系制御部43を備えている。CPU42は、デジタルカメラ1を構成する各部と直接もしくはシステムバス54を介して信号を送受信し、操作系制御部43から入力される操作情報と、内部メモリ48に記憶されている制御プログラムにしたがって、内部メモリ48に記憶されている設定値の更新や、以下に説明する各部の動作を、統括的に制御する。
デジタルカメラ1は、撮像系30として、撮像レンズ2、絞り31、シャッター32、イメージセンサであるCCD33およびそれらを駆動制御する駆動部を備えている。撮像レンズ2は、フォーカスレンズ21およびズームレンズ22により構成される。各々のレンズは、モータとモータドライバとからなるフォーカスレンズ駆動部34およびズームレンズ駆動部35によって光軸方向に移動可能である。フォーカスレンズ駆動部34は、後述するAF処理部45から出力されるフォーカス駆動量データに基づいて、ズームレンズ駆動部35はズームレバーの操作量データに基づいて、各々のレンズの移動を制御する。
絞り31は、モータとモータドライバとからなる絞り駆動部36によって駆動される。この絞り駆動部36は、後述するAE/AWB処理部46から出力される絞り値データに基づいて絞り径の調整を行う。
シャッター32は、メカニカルシャッターであり、モータとモータドライバとからなるシャッター駆動部37によって駆動される。シャッター駆動部37は、シャッターレリーズボタン3の押下により発生する信号と、AE/AWB処理部46から出力されるシャッタースピードデータとに応じて、シャッター32の開閉の制御を行う。
CCD33は、これらの光学系の後方に配置される。CCD33は、多数の光電変換素子がマトリックス状に配列された受光面を有する。受光面の前方には、各光電変換素子に光を集光するためのマイクロレンズアレイと、R,G,B各色のフィルタが規則的に配列されたカラーフィルタアレイとが配置されている。光学系を通過した光は、この受光面に結像し、光電変換され、光電変換素子ごとに電荷が蓄積される。
電荷の蓄積時間、すなわち露光時間は、AE/AWB処理部46が求めたシャッタースピードもしくは設定操作ボタン6の操作により設定されたシャッタースピードに基づいて決定される。蓄積された電荷は、CCD駆動部38から供給される垂直転送クロックおよび水平転送クロックに同期して、1ラインずつアナログ信号として出力される。
CCD33から出力されたアナログ信号は、アナログ信号処理部39に入力される。アナログ信号処理部39は、アナログ信号のノイズを除去する相関2重サンプリング回路(CDS)と、アナログ信号のゲインを調節するオートゲインコントローラ(AGC)と、アナログ信号をデジタル信号に変換するA/Dコンバータ(ADC)とからなる。アナログ信号処理部39に入力されたアナログ信号は、これらの回路により、画素毎にR,G,Bの濃度値を持つRAWデジタルデータに変換される。
タイミングジェネレータ40は、タイミング信号を発生させるものであり、このタイミング信号をシャッター駆動部37、CCD駆動部38、およびアナログ信号処理部39に供給することにより、シャッターレリーズボタン3の操作、シャッター32の開閉、CCD33の各ラインもしくは画素からの電荷の読み出し、およびアナログ信号処理部39の処理の同期をとる。
画像入力コントローラ44は、アナログ信号処理部39から入力されたデジタルデータをフレーム単位にまとめて、フレームメモリ49に書き込む。すなわち、本実施形態では、アナログ信号処理部39と画像入力コントローラ44が画像形成手段として機能する。
フレームメモリ49は、例えば、一定周期のバスクロック信号に同期してデータ転送を行うSDRAM(Synchronous Dynamic Random Access Memory)であり、画像データに対して後述の各種画像処理(信号処理)を行う際に作業用メモリとして使用される。
表示制御部50は、フレームメモリ49に格納された画像データをスルー画像としてモニタ9に表示させたり、再生モード時に記録メディア8に保存されている画像データをモニタ9に表示させたりするためのものである。なお、スルー画像は、撮影モードが選択されている間、所定時間間隔でCCD33により連続して撮影される。
AF処理部45およびAE/AWB処理部46は、第1プレ画像に基づいて撮影条件を決定する。第1プレ画像は、シャッターレリーズボタン3の半押し操作がCPU42により検出されたときに、CCD33により取得され、アナログ信号処理部39、画像入力コントローラ44経由でフレームメモリ49に格納された画像データが表す画像である。
AF処理部45は、第1プレ画像に基づいて焦点位置を検出し、フォーカス駆動量データを出力する(AF処理)。焦点位置の検出方式としては、例えば、所望とする被写体にピントが合った状態では画像のコントラストが高くなるという特徴を利用して合焦位置を検出するパッシブ方式が考えられる。
AE/AWB処理部46は、第1プレ画像に基づいて被写体輝度を測定し、測定した被写体輝度に基づいてISO感度、絞り値およびシャッタースピード等、露出に係るパラメータの値を決定する。そして、決定したISO感度データ、絞り値データおよびシャッタースピードデータなどを露出設定値として出力するとともに(AE処理)、撮影時のホワイトバランスを自動調整する(AWB処理)。なお、露出およびホワイトバランスについては、撮影モードがマニュアルモードに設定されている場合には、デジタルカメラ1の撮影者がマニュアル操作により設定可能である。また、露出およびホワイトバランスが自動で設定された場合にも、撮影者が操作系から指示を行うことにより、露出およびホワイトバランスをマニュアル調整することが可能である。
画像処理部47は、本画像の画像データに対して、階調補正、シャープネス補正、色補正等の画質補正処理、RAWデジタルデータを輝度信号であるYデータと、青色色差信号であるCbデータおよび赤色色差信号であるCrデータとからなるYCデータに変換するYC処理を行う。この本画像とは、シャッターレリーズボタン3の全押し操作が検出されたときにCCD33により取得され、アナログ信号処理部39、画像入力コントローラ44経由でフレームメモリ49に格納された画像データが表す画像である。本画像の画素数の上限は、CCD33の画素数によって決定されるが、例えば、ファイン、ノーマル等の設定により、記録画素数を変更することができる。一方、スルー画像およびプレ画像の画像数は、本画像よりも少なく、例えば、本画像の1/16程度の画素数で取り込まれる。
圧縮/伸長処理部51は、画像処理部47によって補正・変換処理が行われた本画像の画像データに対して、例えば、JPEG等の圧縮形式で圧縮処理を行い、画像ファイルを生成する。画像ファイルは、Exif等の標準フォーマットのファイルであり、画像データに撮影日時等の付帯情報が格納されたタグが付加されている。また、圧縮/伸長処理部51は、再生モードの場合には、記録メディア8から圧縮された画像ファイルを読み出し、伸長処理を行う。伸長後の画像データは表示制御部50によりモニタ9に出力される。
メディア制御部52は、記録メディア8にアクセスして画像ファイルの書き込みと読み込みの制御を行う。
測距部56は、画像を複数のブロックに分割し、ブロックごとに被写体までの距離を求める。距離の算出は、AF処理過程で生成される、合焦位置が異なる複数のプレ画像を用いて行う。これらのプレ画像ではピントが合っているブロックで画像のコントラストが最も高くなるので、そのブロック内の被写体までの距離を、合焦位置までの距離として求めることができる。
フラッシュライト4は、撮影モードまたはフラッシュモードがフラッシュ発光を行うモードに設定されている状態で、シャッターレリーズボタン3の全押し操作がCPU42により検出されたときに作動する。詳細には、フラッシュライト駆動部41が、CPU42の制御の下、フラッシュライト4の印加電圧をオン/オフすることで、発光の開始/停止が指示される。発光は、プレ発光と本発光の、計2回行われる。プレ発光、本発光の期間、発光量等は、フラッシュライト駆動部41、CPU42および必要光量算出部53により制御される。
必要光量算出部53は、第2プレ画像および第3プレ画像に基づいて、本画像の形成に必要な光量を算出し、算出された光量を示す第1必要光量データを出力する。第2プレ画像は、シャッターレリーズボタン3の全押し操作が検出された後、プレ発光が行われる前に、CCD33により取得され、アナログ信号処理部39、画像入力コントローラ44経由でフレームメモリ49に格納された画像データが表す画像である。第3プレ画像は、プレ発光が行われたときに、CCD33により取得され、フレームメモリ49に格納された画像データが表す画像である。
必要光量算出部53から出力された第1必要光量データは、CPU42に供給される。CPU42は、第1必要光量データが示す光量に相当する量の光が、CCD33により光電変換され、電荷として蓄積されるように、フラッシュライト駆動部41およびCCD駆動部38の動作を制御する。
図4Aおよび図4Bは、フラッシュ撮影時のデジタルカメラ1の動作を示すフローチャートである。CPU42によりシャッターレリーズボタン3の半押し操作が検出されると(S101)、CPU42の指示により第1プレ画像が取得され、フレームメモリ49に格納される(S102)。第1プレ画像は、前述のようにAE/AWB処理部46により使用され、AE処理により露光時間が設定される(S103)。
CPU42によりシャッターレリーズボタン3の全押し操作が検出されると(S104)、CPU42の指示により第2プレ画像が取得され、フレームメモリ49に格納される(S105)。さらに、フラッシュライト駆動部41により所定のタイミングでプレ発光が行われ、そのとき取得された第3プレ画像がフレームメモリ49に格納される(S106)。
続いて、必要光量算出部53により、本画像の形成に必要な第1必要光量が算出される(S107)。必要光量算出部53は、フレームメモリ49から第2プレ画像を読み出し、第2プレ画像を複数の領域ブロックに分割する。図5は、8×8個の領域ブロックに分割したところを例示している。
図6は、図4AのステップS107の処理の詳細を示すフローチャートである。この図に示されるように、必要光量算出部53は、第2プレ画像について、ブロックごとに平均輝度値を求める(S201)。具体的には、まずRGB画像である第2プレ画像をYCC画像に変換することにより画素ごとの輝度値を取得し、画素の輝度値のブロックごとの平均値を算出する。同様の処理により、第3プレ画像についても、画素の輝度値のブロックごとの平均値を算出する(S202)。そして、ブロックごとに、ステップS202で求めた平均輝度値とステップS201で求めた平均輝度値の差分を計算する(S203)。
続いて、必要光量算出部53は、ステップS203で求めたブロックごとの差分に、それぞれ重み付けを設定して、加重平均を求める(S204)。これによりプレ発光時の反射輝度E1が求まる。重み付けは、例えば図7に例示するように、画像の中央に近い位置に配置されたブロックほど重み付けを高く設定する。すなわち、中央に配置された対象の反射輝度を、より強く演算結果に反映させる。
必要光量算出部53は、本撮影により得られる画像の目標輝度をE2、フラッシュライトの非発光時に取得された第2プレ画像の画像全体の平均輝度をE3として、次式(1)
M=(E2−E3)/E1 ・・・(1)
により、本画像の形成に必要な光量の、プレ発光時の発光量に対する倍率Mを求める(S205)。そして、この倍率Mを示すデータ、もしくはMに予め規定されているプレ発光の発光量を乗ずることにより算出された本発光時の必要光量を示すデータを、第1必要光量データとして出力する(S206)。
なお、フラッシュライトのプレ発光時に取得された画像を使用して本発光時の必要光量を求める方法は、このほかにも種々提案されている。例えば、画像に含まれる顔を検出する機能を備えるデジタルカメラについては、顔が検出された領域に重み付けをおいた演算を行うことにより必要光量を求める方法が提案されている。必要光量の算出方法としては、そのような公知のあらゆる方法を適用することが可能であり、本実施形態において採用する処理は、あくまでも一例に過ぎない。
また、本発光時の必要光量は、プレ発光時にCCD33により取得された画像ではなく、プレ発光時にCCD33以外の受光センサにより取得された情報を利用して求めてもよい。例えば、一眼レフのデジタルカメラの中には、光学系の後方に、CCD33とは別にTTL(Through The Lens)調光専用の受光センサを備えるものがある。あるいは、光学系とは別個に、調光専用の受光センサを備えるものもある。さらには、CCD33のようなイメージセンサを2つ以上備え、本画像と、スルー画像を、異なるイメージセンサにより取得するものもある。デジタルカメラが、そのような受光センサ(イメージセンサを含む)をCCD33とは別に備えているときには、受光センサにより被写体からの反射光情報を取得し、その反射光情報に基づいて本画像の形成に必要な必要光量を算出してもよい。
以下、図4Bを参照して説明する。必要光量算出部53から第1必要光量データを受けたCPU42は、算出された必要光量を、フラッシュライト4について設定可能な最小光量と比較する(S108)。フラッシュライトについて設定可能な発光量の範囲は、通常、フラッシュライトの構造により制限されている。最小光量とは、その設定可能な光量の下限値である。
以下のステップは、図4Bとともに図8を参照しながら説明する。図8はフラッシュの発光期間における発光強度の時間的変化と、フラッシュの発光期間およびその前後の期間のCCD33の動作と、シャッター32(メカニカルシャッター)の開閉状態を示している。
CPU42は、ステップS108において必要光量が最小光量を下回ると判定したときは、フラッシュライト駆動部41に対し、発光量が最小光量となる発光時間を指定し、発光を指示する。指示を受けたフラッシュライト駆動部41は、フラッシュライト4に対し電圧を印加し(発光の開始を指示し)、これによりフラッシュライト4が発光を開始する(S109)。ここでは、発光開始タイミングをt1とする。
この段階では、シャッター32は開いているので、CCD33はフラッシュの反射光を受光しているが、CCD33は前に蓄積された電荷を画像信号として出力する動作を行っているので、新たな電荷は蓄積されない。
CPU42は、発光無効時間として設定された時間が経過したことを検出すると(S110)、CCD駆動部38に対し、電荷の蓄積開始を指示する。CCD33は、CCD駆動部38の制御の下、各画素を構成する素子への電荷の蓄積を開始する(S111)。電荷の蓄積開始タイミングをt2とすると、タイミングt1からタイミングt2までの期間が発光無効期間となる。
一方、フラッシュライト駆動部41は、ステップS109で指定された発光時間が経過した時点、すなわち発光量が最小光量となる発光時間が経過した時点でフラッシュの発光が停止するように、フラッシュライト4への電圧の印加を停止する(発光停止を指示する)。これにより、指定された発光時間が経過した時点で(S112:YES)、フラッシュは発光を停止する(S113)。ここでは、発光停止タイミングをt3とする。
その後、CPU42は、ステップS103において設定された露光時間が経過したことを検出し(S114:YES)、CCD駆動部38に対し、電荷の蓄積終了を指示する。また、シャッター駆動部37に対してシャッター32を閉じるよう指示する。CCD33は、CCD駆動部38の制御の下、電荷の蓄積を終了する(S115)。ここでは、電荷の蓄積終了タイミングをt4とする。
なお、CPU42は、発光時間が経過する以前に露光時間の経過を検出したときは(S112:NO,S114:YES)、すなわち図8においてタイミングt3より先にタイミングt4が到来したときは、CCD駆動部38に対し電荷の蓄積終了を指示する(S115)。CCD33は、CCD駆動部38の制御の下、発光期間の途中で、電荷の蓄積を終了する。
ここで、フラッシュライト駆動部41による発光開始の指示および発光停止の指示のタイミングについて、補足する。図9は、フラッシュライト4に対しフラッシュライト駆動部41が発光の開始/停止を指示するタイミングと、実際に発光が開始/停止するタイミングの関係を示す図である。なお、本明細書において、実際に発光が開始するタイミング、停止するタイミングとは、図9に示す発光波形において発光強度が0から正の値になるタイミング、0になるタイミングを指すものとする。
前述のとおり、フラッシュライト駆動部41は、フラッシュライト4の印加電圧をオン/オフすることで発光の開始/停止を指示するが、放電管の特性上、電圧が印加されてから発光を開始するまで、また電圧の印加が停止されてから発光が停止するまでには、所定の反応時間を要することがある。反応時間の長さはフラッシュライト4の性能によるが、発光時間や発光無効時間に比して反応時間が無視できない長さであるときは、CPU42およびフラッシュライト駆動部41は、フラッシュライト駆動部41が発光開始および停止を指示したタイミングのみならず反応時間も考慮に入れて、制御を行う必要がある。
例えば、図に示すように、発光開始の指示から発光開始までの反応時間がd1であるときは、ステップS110において発光無効時間が経過したか否かを判定するときに、発光を指示した時点t1´から反応時間d1遅れた時点を発光開始時t1と判断する。そして、発光無効時間が経過したか否かを判定するときは、発光を指示した時点t1´ではなく、発光開始時t1と判断した時点を基準として時間を計測する。また、図に示すように、発光停止の指示から発光停止までの反応時間がd2であるときは、発光停止を指示した時点t3´よりも反応時間d2遅れた時点を発光停止時t3と判断し、ステップS112では、発光を停止させたいタイミングt3よりも、反応時間d2分早く、発光停止を指示するようにする。
このようなケースでは、図9に例示するように、電荷の蓄積を開始するタイミングt2が、フラッシュライト4に発光停止を指示するタイミングt3´よりも後になる場合もある。すなわち、図4Bに示すフローチャートにおいて、フラッシュライト駆動部41が発光停止を指示するタイミングは、ステップS110より前になる場合もあるし、ステップS111より後になる場合もある。
なお、図9は、発光開始時と発光停止時の反応時間が両方とも無視できない長さの場合を例示しているが、既存のフラッシュライトの多くは、発光開始の指示とともに緩やかに発光を開始し、発光停止の指示とともに徐々に光が弱まって発光を停止する。よって、多くの場合は、発光停止時の反応時間の遅れのみを考慮して制御を行えばよい。
電荷の蓄積が終了すると、続いて、電荷の読出し、すなわち画素信号の出力が開始される。CCD33から出力された画素信号は、アナログ信号処理部39を介して画像入力コントローラ44に供給され、画像入力コントローラ44により形成された本画像がフレームメモリ49に格納される(S116)。さらに、メディア制御部52によりフレームメモリ49から読み出された本画像が、記録メディア8に記録される(S117)。本画像は、必要に応じて圧縮/伸長処理部51により圧縮された後、所定フォーマットの画像ファイル(例えば、Exifファイル)として記録される。
この際、本実施形態では、電荷の蓄積開始および蓄積終了のタイミングの決定に係わった情報、すなわち算出された必要光量、指定された発光時間、発光無効時間などを、本画像とともに画像ファイルの所定領域に記録する。あるいは、決定されたタイミングそのもの、すなわちタイミングt1、t2、t3およびt4を記録してもよい。これらの情報は、例えばExifファイルのTAG領域のメーカ定義領域(MakerNote)に記録する。
一方、CPU42は、ステップS108において必要光量が最小光量以上であると判定したときは、フラッシュライト駆動部41に対しフラッシュの発光開始を指示するとともに、CCD駆動部38に対し電荷の蓄積開始を指示する(S118)。そして、指定された発光時間の経過を検出したときに(S119)、フラッシュライト駆動部41に対しフラッシュの発光停止を指示し(S120)、ステップS103で設定された露光時間の経過を検出したときに(S121)、CCD駆動部38に対し電荷の蓄積終了を指示する(S122)。
電荷の蓄積が終了すると、電荷の読出しが開始され、本画像がフレームメモリ49に格納される(S116)。さらに、メディア制御部52によりフレームメモリ49から読み出された本画像が、記録メディア8に記録される(S117)。
以上に説明した処理では、タイミングt2からタイミングt3までの期間の発光強度の積分値、すなわち図8の斜線部の面積が、ステップS107において算出された必要光量と等しくなるように、タイミングt1、t2およびt3を制御する必要がある。本実施形態では、内部メモリ48に、必要光量と、その必要光量が得られるフラッシュの発光時間と、フラッシュは発光しているが前記電荷の蓄積は行われない発光無効時間との対応づけを規定する参照テーブルが記憶されており、CPU42は、この参照テーブルが規定する対応づけに基づいて、フラッシュ発光期間中の電荷の蓄積開始および蓄積終了のタイミングを制御する。
図10に、参照テーブルの一例を示す。図の例では、設定可能な最小光量は−2Avであり、最小光量を得るための発光時間は10μsである。−2V以上の必要光量に対しては、その必要光量を得るための発光時間がそれぞれ対応づけられており、発光無効時間は0μsに設定されている。一方、−2Vを下回る必要光量に対しては、最小光量を得るための発光時間である10μsが対応づけられており、発光無効時間がそれぞれ設定されている。例えば、必要光量が−5Avのときには、図8に示すタイミングt1からタイミングt3までの時間が10μsで、タイミングt1からタイミングt2までの時間が8μsとなるように、フラッシュライト4およびCCD33が制御される。
発光強度の時間的な変化は、フラッシュライトを構成する放電管の特性と管電圧により定まるものであるので、所定の必要光量を得るための発光時間および発光無効時間は、演算により求めることも可能であるが、これらの対応づけを予め参照テーブルとして記憶しておくことで、制御にかかる時間を大幅に短縮することができる。
なお、参照テーブルを用いるか否かに拘わらず、発光無効時間には上限値を設けておき、上限値を超えた発光無効時間が設定されないようにすることが好ましい。第2プレ画像や第3プレ画像の取得時に外乱の影響により適切な画像が得られなかった場合には、算出される必要光量の値が適正値を大きく外れた値となることがあるが、そのような場合でも本発光時に最小限の受光量を確保するためである。
発光無効時間の上限値は、参照テーブルの一部として、もしくは参照テーブルとは別に、内部メモリ48に記憶しておく。例えば、図10に例示した参照テーブルを用いて制御を行うときに発光無効時間の上限値を9μsとし、算出された必要光量が−7以下であれば、発光時間を10μs、発光無効時間を9μsに設定する。
発光無効時間の上限値は常に同じ値としてもよいが、好ましくは、ISO感度ごと、または絞り値ごとに最適な上限値を設定するのがよい。特に、図11に示すように、ISO感度と絞り値の組み合わせごとに、発光無効時間の上限値を設定しておき、設定されたISO感度と絞り値に応じて、上限値を切り替えるとよい。撮影感度が低いときには、撮影感度が高いときよりも受光量は多くてよい。また絞り値が大きいときには、絞り値が小さいときよりも受光量は多くてよい。よって、発光無効時間の上限値は、図11に例示するように、撮影感度が低いときほど、また絞り値が大きいときほど、小さな値となるように設定するのがよい。なお、上限値として適切な値は、本発光の発光時間によっても異なり、図に示す値はあくまでも一例に過ぎない。
以上に説明したように、本実施形態のデジタルカメラでは、本画像の形成に必要な光量は、微小光量のフラッシュ発光を伴う撮影で取得された被写体の画像に基づいて算出されるので、本画像の必要光量として最適な光量が設定される。さらには、設定された必要光量が、フラッシュ発光により得られる最小光量を下回るときでも、電荷の蓄積開始から蓄積終了までの期間をフラッシュの発光期間よりも短い期間に制限することで、本撮影時に設定どおりの光量を得ることができる。よって、至近距離の被写体をフラッシュ撮影するときでも、画素信号の値が飽和することはなく、白とびを確実に防止することができる。
なお、本実施形態では、プレ発光の発光量(第2必要光量)は予め決められた量に設定されており、変動しないものとする。プレ発光は、通常のプレ発光と同じく、露光期間内に開始し、終了してもよいが、プレ発光について設定された発光量が小さければ、プレ発光期間について発光無効期間を設け、発光開始後に露光(電荷の蓄積)が開始されるようにしてもよい。
また、上記例では、算出された必要光量が、フラッシュライト4について設定可能な最小光量を下回る場合にのみ、発光無効期間を設けているが、必要光量が設定可能な最小光量を下回るか否かに拘わらず、発光無効期間を設けてもよい。例えば、フラッシュライト4を常に最大の発光量で発光させることとし、発光無効時間を変化させることで受光量を調整してもよい。フラッシュライト4の発光量が一定であれば、図10に例示したような参照テーブルを用いて制御を行うときに、必要光量と発光無効時間の関係のみを規定、参照すればよいので、制御が簡単になる。
[実施形態2]
一般に、プレ発光の発光量は微小であるため、プレ画像の画素信号の値が飽和することはあまりない。しかし、被写体の距離が極めて近く、また被写体が特に明るい色である場合などには、微小発光量であっても画素値が飽和し、第3プレ画像に白とびが生じる可能性がある。
次に説明する形態では、プレ発光期間に取得される第3プレ画像について、本画像と同様に電荷の蓄積期間を制限することにより、第3プレ画像の白とびを防止する。なお、デジタルカメラの構成と、フラッシュライト駆動部およびCCD駆動部以外の処理部の動作は、実施形態1のデジタルカメラ1と同じであるため、説明を省略する。
図12に、実施形態2のデジタルカメラのフラッシュ撮影時の動作を示す。本実施形態では、CPU42によりシャッターレリーズボタン3の半押し操作が検出されると(S301)、CPU42の指示により第1プレ画像が取得され、フレームメモリ49に格納される(S302)。第1プレ画像はAE/AWB処理部46により使用され、AE処理の過程で露光時間が設定される(S303)。一方で、AF処理部45がピント合わせを行なう過程で、被写体までの距離が測定される(S304)。
CPU42によりシャッターレリーズボタン3の全押し操作が検出されると(S305)、CPU42の指示により第2プレ画像が取得され、フレームメモリ49に格納される(S306)。
次に、CPU42はステップS304において求められた被写体距離を所定の閾値と比較する(S307)。閾値は、プレ発光により白とびが発生する可能性がある被写体の距離と、白とびが発生する恐れがない被写体の距離との境界を示す値である。この閾値は、テスト撮影を繰り返すことにより経験的に取得され、デジタルカメラの製造元においてデジタルカメラに設定される。
測定された被写体距離が閾値を下回る場合、すなわちプレ発光により白とびが発生する恐れがある場合には、CPU42は、プレ発光について、測定された被写体距離に応じた発光無効時間を設定する(S308)。なお、発光無効時間は、本発光、プレ発光のそれぞれについて、別個に設定されるため、ここで設定される発光無効時間は、通常、本発光について設定される発光無効時間とは異なる時間となる。
次に、CPU42は、プレ発光を開始した後、設定された発光無効時間が経過してからCCD駆動部38に電荷の蓄積開始を指示することにより、プレ発光期間のうち発光無効期間を除く期間に電荷の蓄積が行われるようにする。これにより、第3プレ画像を取得する(S309)。
続いて、CPU42は、ステップS306で取得された第2プレ画像とステップS309で取得された第3プレ画像を使用して、図6を参照して説明した処理により、本発光時の必要光量を算出する(S310)。この際、必要光量を算出する過程で、発光無効時間に応じた算出値の補正を行う。
一方、測定された被写体距離が閾値以上である場合には発光無効期間は設定されず(もしくは値0に設定され)、CPU42は、通常の方法によりプレ発光および第3画像取得処理を行う(S311)。その後、ステップS306で取得された第2プレ画像とステップS311で取得された第3プレ画像を使用して、図6を参照して説明した処理により、本発光時の必要光量を算出する(S312)。
本発光の必要光量を算出した後の処理は実施形態1と同様であり、図4BのステップS108〜S122の処理として説明済みであるため、ここでは説明を省略する。
以下、ステップS309の処理について、さらに説明する。図13はステップS309の処理の詳細を示すフローチャートである。ステップS309において、CPU42は、フラッシュライト駆動部41に対し、所定の発光時間を指定し、発光を指示する。これにより、フラッシュライト4が発光を開始する(S501)。
ここで、プレ発光の発光時間は、被写体距離などに応じて変動させることも可能であるが、本実施形態では、常に一定の時間とする。図10に例示したように、必要光量と発光時間とを予め対応づけて参照テーブルに記憶しておくためには、フラッシュの発光強度曲線は常に同じでなければならない。しかし、フラッシュライトのコンデンサの充電状態が変化すれば発光強度曲線も変化するため、プレ発光の発光時間が毎回異なると、参照テーブルを用いて設定した発光時間や発光無効時間に、誤差が生じることがある。これに対し、プレ発光の発光時間を常に同じにしておけば、プレ発光を行った後のフラッシュライトの残エネルギー(充電率)は常に同じになるため、参照テーブルを用いても誤差が生じることがなく、高速且つ正確に発光時間および発光無効時間を設定することができる。
CPU42は、ステップS308で設定した発光無効時間が経過したことを検出すると(S502)、CCD駆動部38に対し、電荷の蓄積開始を指示する。CCD33は、CCD駆動部38の制御の下、各画素を構成する素子への電荷の蓄積を開始する(S503)。
CPU42は、指定された発光時間が経過したことを検出すると(S504)、フラッシュライト駆動部41に対し、フラッシュの発光停止を指示する。フラッシュライト4は、フラッシュライト駆動部41の制御の下、発光を停止する(S505)。
その後、CPU42は、ステップS103において設定された露光時間が経過したことを検出し(S506)、CCD駆動部38に対し、電荷の蓄積終了を指示する。また、シャッター駆動部37に対してシャッター32を閉じるよう指示する。CCD33は、CCD駆動部38の制御の下、電荷の蓄積を終了する(S507)。電荷の蓄積が終了すると、電荷の読出しが開始され、第3プレ画像がフレームメモリ49に格納される(S508)。
以下、図12のステップS310の処理について、さらに説明する。本実施形態では、実施形態1と同様、前述の(1)式により本画像の形成に必要な光量を算出するが、(1)式によれば、被写体からの反射光が少ないほど、すなわちプレ発光時の反射輝度E1が低いほど、本発光において多くの光量が必要と判断される。
これに対し、本実施形態では、プレ発光について発光無効期間を設定することによりプレ発光時のCCDの受光量を抑えるため、被写体からの反射光が十分大きくても、プレ発光時の反射輝度E1は低い値となり、算出される倍率Mはその分大きな値となる。例えば発光無効期間が設定されていない場合のCCDの受光量が0Evであり、発光無効期間が設定されることによりCCDの受光量が−4Ev、すなわち1/16になるとすると、(1)式により算出される倍率Mは、発光無効期間が設定されていない場合に算出される倍率の16倍になる。すなわち、(1)式に基づいて必要光量を算出すると、必要光量が不必要に大きな値に設定されてしまう。
そこで、ステップS310では、(1)式に基づいて倍率Mを算出した後、その倍率Mを、もしくは算出された必要光量を、補正する。例えば、前述の例のように、発光無効期間が設定されることによりCCDの受光量が−4Evになる場合であれば、倍率Mもしくは算出された必要光量に、1/16を乗ずることにより、算出結果を補正する。これにより、プレ発光について発光無効期間を設定するか否かに拘わらず常に同じ演算式を使用して本発光の必要光量を求めることができ、且つ、必要に応じて算出結果を補正することで、必要光量を常に正確に見積もることができる。
図14は、本実施形態における、フラッシュとCCDの動作とシャッターの開閉状態を示す図である。同図に示すように、本実施形態では、プレ発光、本発光ともに、フラッシュ発光により得られる全発光量ではなく、必要光量に相当する光量のみが電荷として蓄積される。
本実施形態によれば、第3プレ画像を構成する画素の値が飽和することはなく、適切な値の画素により構成される第3プレ画像を用いて本発光の必要発光量を算出するので、至近距離でフラッシュ撮影を行う場合に、確実に白とびを防止することができる。
[実施形態3]
実施形態2は、被写体の距離に基づいてプレ発光期間内の発光無効時間を設定しているが、実施形態3では、露出に係るパラメータの値に基づいてプレ発光期間内の発光無効時間を設定する。なお、デジタルカメラの構成と、フラッシュライト駆動部およびCCD駆動部以外の処理部の動作は、実施形態1、2のデジタルカメラ1と同じであるため、説明を省略する。
図15に、実施形態3のデジタルカメラのフラッシュ撮影時の動作を示す。本実施形態では、CPU42によりシャッターレリーズボタン3の半押し操作が検出されると(S401)、CPU42の指示により第1プレ画像が取得され、フレームメモリ49に格納される(S402)。第1プレ画像はAE/AWB処理部46により使用され、AE処理の過程で露光時間が設定される(S403)。
CPU42によりシャッターレリーズボタン3の全押し操作が検出されると(S404)、CPU42の指示により第2プレ画像が取得され、フレームメモリ49に格納される(S405)。
次に、CPU42はAE処理の過程で設定された露出に係るパラメータの値を、所定の閾値と比較する(S406)。本実施形態では、絞り値AvとISO感度Sv値の差分値を、閾値と比較する。この他、露出に係るパラメータとしては、シャッタースピードTvなどがある。閾値は、プレ発光により白とびが発生する可能性があるパラメータ値の範囲と、白とびが発生する恐れがないパラメータ値の範囲との境界を示す値である。この閾値は、テスト撮影を繰り返すことにより経験的に取得され、デジタルカメラの製造元においてデジタルカメラに設定される。
測定された被写体距離が閾値を下回る場合、すなわちプレ発光により白とびが発生する恐れがある場合には、CPU42は、絞り、感度に応じた発光無効時間を設定し(S407)、プレ発光および第3プレ画像の取得処理を行う(S408)。ステップS408の処理は、実施形態2のステップ309の処理と同様であり、先に図13を参照して説明したとおりである。
続いて、ステップS405で取得された第2プレ画像とステップS408で取得された第3プレ画像を使用して、図6を参照して説明した処理により、本発光時の必要光量を算出する(S409)。この際、必要光量を算出する過程で、発光無効時間に応じた算出値の補正を行う。ここで行う補正は、実施形態2のステップ310の処理と同様であり、先に説明したとおりである。
一方、パラメータ値が閾値以上である場合には発光無効期間は設定されず(もしくは値0に設定され)、CPU42は、通常の方法によりプレ発光および第3画像取得処理を行う(S410)。その後、ステップS405で取得された第2プレ画像とステップS410で取得された第3プレ画像を使用して、図6を参照して説明した処理により、本発光時の必要光量を算出する(S411)。
本発光の必要光量を算出した後の処理は実施形態1と同様であり、図4BのステップS108〜S122の処理として説明済みであるため、ここでは説明を省略する。
本実施形態によれば、第3プレ画像を構成する画素の値が飽和することはなく、適切な値の画素により構成される第3プレ画像を用いて本発光の必要発光量を算出するので、至近距離でフラッシュ撮影を行う場合に、確実に白とびを防止することができる。
[実施形態4]
実施形態1、2および3では、本発光期間の開始後に電荷の蓄積を開始し、本発光期間の後半に発せられた光を利用して本画像を取得しているが、実施形態4では、本発光期間の前半に発せられた光を利用して本画像を取得する。デジタルカメラの構成と、フラッシュライト駆動部およびCCD駆動部以外の処理部の動作は、実施形態1、2、3のデジタルカメラ1と同じであるため、説明を省略する。
図16に、フラッシュの発光期間における発光強度の時間的変化と、フラッシュの発光期間およびその前後の期間のCCD33の動作と、シャッター32の開閉状態を示す。図17のフローチャートは、デジタルカメラの動作のうち、電荷の蓄積開始/停止とフラッシュの発光開始/停止に関わる動作のみを示すものである。同図中に図4Bのフローチャートのステップ番号を記したとおり、電荷の蓄積を開始する以前の動作、発光を停止した後の動作および必要光量が最小光量を上回る場合の動作は、実施形態1と同じである。
本実施形態では、CPU42は、ステップS108において必要光量が最小光量を下回ると判定すると、CCD駆動部38に対し電荷の蓄積開始を指示する。CCD33は、CCD駆動部38の制御の下、各画素を構成する素子への電荷の蓄積を開始する(S601)。
CPU42は、所定時間が経過したことを検出すると(S602)、フラッシュライト駆動部41に対し、発光量が最小光量となる発光時間を指定し、発光を指示する。指示を受けたフラッシュライト駆動部41は、フラッシュライト4に対し電圧を印加する。これによりフラッシュライト4が発光を開始する(S603)。
その後、CPU42は、設定された露光時間が経過したことを検出すると(S604)、CCD駆動部38に対し、電荷の蓄積終了を指示する。また、シャッター駆動部37に対してシャッター32を閉じるよう指示する。CCD33は、CCD駆動部38の制御の下、電荷の蓄積を終了する(S605)。
一方、フラッシュライト駆動部41は、指定された発光時間が経過した時点でフラッシュの発光が停止するように、フラッシュライト4への電圧の印加を停止する。これにより、指定された発光時間が経過した時点で(S606)、フラッシュは発光を停止する(S607)。
電荷の蓄積開始から発光を開始するまでの時間、すなわちステップS602の所定時間は、AE処理において設定された露光時間と、第1必要光量データが示す光量とに基づいて、露光期間内に第1必要光量データが示す光量に相当する光を受光できるような時間に設定される。所定時間は、露光時間と第1必要光量データから演算により求めてもよいが、第1実施形態と同様、必要光量と発光時間と発光無効時間の対応付けを参照テーブルに予め記憶しておけば、次式(2)により短時間で算出、設定することができる。
所定時間 = 露光時間−(発光時間−発光無効時間) ・・・ (2)
もしくは、必要光量と露光時間と所定時間の関係を必要光量ごとに規定した参照テーブルを予めメモリに記憶しておき、算出された必要光量に対応する所定時間を参照テーブルから直接導き出せば、さらに処理時間を短縮することができる。
フラッシュライトの光は発光初期から発光後期にかけて徐々に安定するため、発光初期の光が不安定な場合には実施形態1、2および3のように発光後期の光を本画像の取得に利用することが好ましいが、発光初期の光が充分に安定しているときには、本実施形態のような制御を行ってもよい。
[他の実施形態]
以上、4つの実施形態を示したが、さらに他の実施形態として、図18に示すように、本発光期間の初期と終期を除外した期間に発せられた光を利用して、本画像を取得する形態も考えられる。本発光期間の開始時から所定時間が経過したときに光電変換素子に電荷の蓄積を開始させ、光電変換素子が必要光量算出手段により算出された第1必要光量に相当する光量の光を受光した時点で、本発光期間終了前であっても、電荷の蓄積を終了させる。この形態は、所定時間は、予め決められた一定の(不変の)時間とし、AE処理において設定された露光時間を、必要光量データに基づいて調整もしくは再設定することで実現できる。
また、各実施形態の中で説明した処理は、組み合わせて用いることもできる。例えば、実施形態2、3および4において、フラッシュライトの発光開始または発光停止もしくは開始と停止の両方が、指示されたタイミングよりも所定の反応時間遅れるときには、実施形態1と同様、反応時間を考慮した制御を行うことが好ましい。
また、実施形態4において、実施形態2あるいは3と同様の方法により、予備発光時画像の形成に必要な第2必要光量を設定し、予備発光期間の開始後終了前に電荷の蓄積を開始あるいは終了することにより、光電変換素子に第2必要光量に相当する光量の光を受光させるようにしてもよい。この際、予備発光期間中の電荷の蓄積期間を制限する方法としては、実施形態2と3の中で例示した方法に代えて、予備発光期間の開始時以前に電荷の蓄積を開始し、予備発光期間中、第2必要光量に相当する光量の光を受光した時点で、電荷の蓄積を終了させる方法、予備発光期間の開始時から所定時間が経過したときに電荷の蓄積を開始し、第2必要光量に相当する光量の光を受光した時点で、予備発光期間が終了していなくても、電荷の蓄積を終了させる方法を採用してもよい。すなわち、本発光を制御する方法として図8、図16および図18を参照して説明した方法は、いずれも予備発光を制御する方法としても適用可能である。
また、CCDではなく調光専用の受光センサから反射光情報を得て第1必要光量を算出する形態で、受光センサがCCDと同じくマトリクス状に配置された光電変換素子からなるものであるときは、受光センサを構成する光電変換素子の電荷の蓄積開始/停止のタイミングを、CCDと同様に制御してもよい。すなわち適正な反射光情報が得られるように、第2必要光量を設定し、予備発光期間の開始後終了前に電荷の蓄積を開始あるいは終了することにより、受光センサに第2必要光量に相当する光量の光を受光させてもよい。
さらには、撮影モードあるいはフラッシュモードの設定に応じて、制御処理を切り替える形態も考えられる。例えば、撮影モードがマクロモードのときや、フラッシュモードがマクロフラッシュモードのときには実施形態1〜4に例示した処理のいずれかを実行し、撮影モードやフラッシュモードがそれ以外のモードに設定されているときには、光電変換素子が電荷を蓄積している期間内に本発光が開始し終了するようにする。あるいは、デジタルカメラ1に、実施形態1〜4として例示した制御機能のうち2つ以上の機能を搭載し、制御方法が、設定されたモードに応じて切り替わるようにしてもよい。
この他、発光量を求める演算式、演算に使用するパラメータなどは、本明細書において例示したもの以外に種々考えられる。また、本発明は、フラッシュ撮影機能を備えるあらゆる撮像装置に適用可能な発明であり、本明細書において例示したカメラの他、コンパクトカメラ、カメラ付き携帯電話、内視鏡カメラなどにも適用することができる。
すなわち、各実施形態として示した装置および方法は、本発明の趣旨を逸脱しない範囲で種々の変更を加えることができ、それらの変形例はいずれも本発明の技術的範囲に属する。