以下、本発明の実施の形態を図面に基づいて説明する。
[撮影装置の構成]
まず図1について説明する。図1は、本発明を実施する撮影装置であるデジタル一眼レフカメラの構成を示している。
図1に示されているように、このデジタル一眼レフカメラ(以下、単に「カメラ」と称することとする)は、ボディユニット100と、例えば交換可能なレンズユニット(すなわちレンズ鏡筒)112と、撮影した画像データを記録しておく記録メディア139と、フラッシュユニット180とを有して構成されている。ここで、記録メディア139は、通信コネクタ135を介してボディユニット100に接続され、フラッシュユニット180は、フラッシュ用通信コネクタ185を介してボディユニット100に接続される。
レンズユニット112は、ボディユニット100の前面に設けられた、不図示のレンズマウントを介して着脱自在であり、このカメラにおいて交換可能である。このレンズユニット101は、撮影レンズ112a及び112bと、絞り103と、レンズ駆動機構102と、絞り駆動機構104と、レンズ制御用マイクロコンピュータ(以下、「Lμcom」と称することとする)105とから構成されている。
撮影レンズ112a及び112bは、レンズ駆動機構102内に備えられている不図示のDCモータによって、光軸方向に駆動される。絞り103は、絞り駆動機構104内に備えられている不図示のステッピングモータによって駆動される。また、Lμcom105は、レンズ駆動機構102や絞り駆動機構104などの、レンズユニット112内の各部を駆動制御する。このLμcom105は、後述するボディ制御用マイクロコンピュータ150と、通信コネクタ106を介して電気的に接続されており、ボディ制御用マイクロコンピュータ150と各種のデータの授受が可能であり、ボディ制御用マイクロコンピュータ150により制御される。
一方、ボディユニット100は、以下のように構成されている。
レンズユニット112内の撮影レンズ112a及び112b、絞り103を介して入射される不図示の被写体からの光束は、クイックリターンミラー113bで反射された後に、フォーカシングスクリーン113e及びペンタプリズム113aを介して接眼レンズ113cに至る。
クイックリターンミラー113bの中央部はハーフミラーになっており、クイックリターンミラー113bがダウン(図示の位置)した際には一部の光束が透過する。そして、この透過した光束は、クイックリターンミラー113bに設置されたサブミラー113dで反射され、自動測距を行うためのAF(Auto Focus:自動合焦)センサユニット130aに導かれる。なお、サブミラー113dは、クイックリターンミラー113bのアップ時には、折り畳まれるようになっている。
クイックリターンミラー113bの後方には、光軸上のフォーカルプレーン式のシャッタユニット21と、光学系を通過した被写体像を光電変換するための撮像素子(CCD)23を収容した撮像ユニット22とを備えた撮像モジュール20が設けられている。クイックリターンミラー113bが光路より退避した場合には、撮影レンズ112a及び112bを通った光束は、撮像モジュール20内の撮像素子23に結像される。すると、撮像素子23は、このカメラの結像光学系によりこのようにして結像された被写体像を光電変換して、画像信号である画像データを取得して出力する。
また、ボディユニット100は、撮像モジュール20内の撮像素子23が接続されている撮像素子インターフェイス回路134と、記憶領域として設けられたSDRAM(Synchronous Dynamic Random Access Memory)138と、液晶モニタ136と、通信コネクタ135を介して記録メディア139とが、画像処理を行うための画像処理コントローラ140に接続されており、これらは、電子撮像機能と共に電子記録表示機能を提供できるように構成されている。特に、本発明を実施する図1のカメラでは、画像処理コントローラ140が、後述する顔検出処理を提供する顔検出エンジン158を備えている。
記録メディア139は、各種の半導体メモリカードや外付けのハードディスクドライブ(HDD)等の外部記録媒体であり、通信コネクタ135を介してボディユニット100と通信可能、且つ交換可能に装着される。
また、画像処理コントローラ140は、このボディユニット100内の各部を制御するためのボディ制御用マイクロコンピュータ(以下、Bμcomと略記する)150に接続されている。このBμcom150は、連写時の撮影間隔を計測する図示されないタイマを有しているもので、カメラの全体の動作を制御する制御手段の他、計数手段、モード設定手段、検出手段、判定手段、演算手段等の機能を有している。なお、Bμcom150は、通信コネクタ106と、測光回路132と、ミラー駆動機構118と、AFセンサ駆動回路130bと、シャッタ駆動制御回路148等と接続されており、更に、カメラの動作状態を表示出力によって撮影者へ告知するための動作表示用LCD157と、カメラ操作スイッチ(SW)152と、電源回路153を介して電池154とが接続されている。
なお、Bμcom150とLμcom105とは、レンズユニット112をボディユニット100へ装着することにより、通信コネクタ106を介して通信可能に電気的接続がなされる。そして、Lμcom105がBμcom150に従属的に協働しながら、デジタルカメラとして稼動するようになっている。
測光回路132は、光学ファインダ内に設けられており、ペンタプリズム113aからの光束に基づいて測光処理する回路である。この測光回路132内には、被写界を複数に分割して被写体輝度を測定する不図示の多分割測光センサを有している。
ミラー駆動機構118はクイックリターンミラー113bを駆動制御する機構であり、AFセンサ駆動回路130bはAFセンサユニット130aを駆動制御するための回路である。また、シャッタ駆動制御回路148は、シャッタユニット21における不図示の先幕と後幕との動きを制御すると共に、Bμcom150との間で、シャッタの開閉動作を制御する信号とフラッシュと同調する信号との授受を行う。
動作表示用LCD157は、カメラの動作状態を表示出力によってユーザ(撮影者)へ告知するためのものである。カメラ操作スイッチ152は、例えば撮影動作の実行を指示するレリーズスイッチ、撮影モードを連写モードや通常撮影モードなどに切り替えるモード変更スイッチ、電源のオン・オフを切り替えるパワースイッチなど、ユーザがカメラを操作するために必要な操作ボタン(操作手段)を含むスイッチ群で構成される。
電源回路153は、電源としての電池154の電圧を、カメラの各回路ユニットが必要とする電圧に変換して供給する。
フラッシュユニット180は、フラッシュ制御用マイクロコンピュータ183と、閃光発光部181と、発光制御回路182と、電池184とから成っている。このフラッシュユニット180は、フラッシュ用通信コネクタ185を介して、ボディユニット100と通信可能に装着可能である。
次に、このカメラによる撮影動作及びライブビュー動作について説明する。
まず、Bμcom150により撮像素子インターフェイス回路134が制御されて、撮像モジュール20から画像データが画像処理コントローラ140に入力されると、画像処理コントローラ140は、この画像データを、一時保存用メモリであるSDRAM138に保存する。なお、SDRAM138は、画像処理コントローラ140が画像処理のためにワークエリアとしても使用される。また、画像処理コントローラ140は、この画像データをJPEGデータに変換する画像処理を行って、記録メディア139で保存させることができる。
ミラー駆動機構118は、上述したように、クイックリターンミラー113bをアップ(UP)位置とダウン(DOWN)位置へ駆動するための機構である。クイックリターンミラー113bの駆動の様子を模式的に示したものが図2A及び図2Bである。ここで、図2Aはクイックリターンミラー113bがダウンした状態を示しており、図2Bはクイックリターンミラー113bがアップした状態を示している。
図2Aに示すように、クイックリターンミラー113bがダウン位置にあるときには、撮影レンズ112a及び112bからの光束は、光学ファインダ内でフォーカシングスクリーン113eを介してファインダ側(ペンタプリズム113a側)へと導かれて接眼レンズ113cに至るので、ユーザは被写体像を目視でき、光学的に観察可能でおる。また、このときペンタプリズム113aを通過した光束の一部は、この光学ファインダに設けられている測光回路132内の不図示のホトセンサへ導かれ、ここで、検知された光量に基づく周知の測光処理が行われて被写体輝度が算出される。以降、クイックリターンミラー113bがダウンした状態の下で測光回路132によってこのようにして行われる被写界の測光処理を「ファインダ測光」と称することとし、このファインダ測光により取得される露光量、すなわち、被写体を含む被写界を測光して得られる、当該被写界の撮影においての露光量を「通常露光量」と称することとする。
また、前述したように、クイックリターンミラー113bがダウン位置にあるときには、撮影レンズ112a及び112bからの光束の一部は、サブミラー113dで反射されてAFセンサユニット130aに導かれる。AFセンサユニット130a内のAFセンサからの出力は、AFセンサ駆動回路130bを介してBμcom150へ送信されて、被写体に対する周知の測距及び自動合焦の処理(オートフォーカス処理)が行われる。
シャッタ駆動制御回路148は、Bμcom150からシャッタを駆動制御するための信号を受け取ると、その信号に基づき、ミラー駆動機構118を制御してクイックリターンミラー113bを図2Bのようにアップ位置に駆動させると共にシャッタユニット21を制御してシャッタの開閉動作を行わせる。それと共に、所定のタイミングで、Bμcom150からフラッシュ用通信コネクタ185を介してフラッシュ制御用マイクロコンピュータ183及び発光制御回路182に対し、フラッシュを発光させるための発光信号を出力する。このときに撮像モジュール20から出力された画像データに対して所定の画像処理を行って記録メディア139に記録することで撮影動作が完了する。
一方、図1のカメラでは、図2Bに示すように、クイックリターンミラー113bがアップ位置にあるときには、撮影レンズ112a及び112bからの光束は撮像モジュール20へと導かれる。この状態で、例えば1秒当たり30枚程度の割合で連続的に露光を行い、このときに撮像モジュール20から出力される画像データを、画像処理コントローラ140によりビデオ信号に変換して液晶モニタ136に与えることで、被写体の動画像を液晶モニタ136に表示させることができる。このような表示は「ライブビュー」と呼ばれており、周知である。なお、液晶モニタ136での画像データのライブビュー表示をこのカメラで行わせるには、ユーザが上述したカメラ操作スイッチ152の中のモード変更スイッチを操作して、ライブビューモードを選択すればよい。なお、以降では、ライブビューを「LV」と略すこともある。
なお、LV動作時には、撮影レンズ112a及び112bからの光束は常に撮像モジュール20へと導かれているので、被写体の明るさの測光処理や、被写体に対する周知の測距処理を、撮像モジュール20から出力される画像データに基づいて画像処理コントローラ140に行わせることができる。以降、このようにして、撮像モジュール20から出力される画像データに基づいて画像処理コントローラ140及びBμcom150により行われる被写体の明るさの測光処理及び被写体に対する測距及び自動合焦の処理を、それぞれ「LV測光」及び「LVAF」と称することとする。
なお、図1のカメラがLV表示の実施中に行う撮影動作については、後に詳細に説明する。
[人物の顔の領域の明るさに配慮した自動露光制御の概要]
次に、図1のカメラにより提供される、撮影画像における人物の顔の領域の明るさに配慮した自動露光制御の概要について説明する。
まず、従来手法として行われている、撮影画像における人物の顔の領域の明るさに配慮した露出制御について、図3A、図3B、及び図3Cの画像例を用いて説明する。
図3A、図3B、及び図3Cでは、それぞれ左側に示されている画像に対し5列7行の測光領域が設定されている。また、右側の表には、この各測光領域に対して行われた測光の結果である被写体の明るさが、APEX値におけるBV値で示されている。従って、図3Aの画像例では、背景の領域(以降、単に「背景」と記すことがある)がBV5であったのに対し、顔検出エリア(検出された人物の顔の領域(以降、単に「顔」と記すことがある))については、背景より一段明るいBV6であったことを示している。一方、図3Bの画像例では、背景がBV5であったのに対し、顔検出エリアについては、背景より一段暗いBV4であったことを示している。つまり、図3Aと図3Bとにより、背景の明るさが同一であるのに、人物の違い(例えば肌の色の違い)により、顔の明るさが異なっている状況を示している。
顔の明るさに配慮した従来の自動露出制御は、画像から顔を検出し、その顔の明るさの測光結果に基づいて、若しくは背景の明るさの測光結果に対し顔の明るさの測光結果を単純に加重した画像全体の明るさの加重平均に基づいて、行われるものであった。このため、図3Aや図3Bのような画像例の場合には、背景の明るさが同一であるにも拘らず、自動設定される露出値が大きく異なることとなる結果、同一場所で同じようにして撮影したはずの撮影画像から受ける印象が、顔の違い以上に大きく異なったものとなってしまう。
また、図3Cの画像例は、背景がBV5であったのに対し、顔検出エリアについては、背景より一段暗いBV4であったことを示しているが、画像全体に対する顔の占める割合が小さい場合を示している。このような画像に対して上述した従来の自動露出制御を行うと、自動設定される露出値が画像全体におけるごく一部の明るさに基づいて設定されてしまうため、画像全体として見ると不適切な露出設定となってしまう。
次に図4について説明する。図4は、露出を変えて撮影した顔の撮影画像例を示している。この図では、中央(「0段」)の画像が、顔の明るさに対して最適な露出が設定された場合を示しており、左に寄るほど露出オーバーの程度が大きい画像を、また右に寄るほど露出アンダーの程度が大きい画像を並べている。
人物の顔を含む画像の撮影において、顔に許される露出の許容度は、その画像の撮影の目的により異なるものである。例えば、ポートレート(人物写真)撮影が撮影目的であれば、顔に許される露出設定の許容度は非常に狭く、最適なものが要求されることは自明である。一方、例えば記念撮影が目的であれば、画像における重要性は顔と背景とでほぼ互角と考えることができるので、顔に許される露出設定の許容度は、ポートレートが目的の場合よりも広くても良いと考えられる。更には、風景撮影が目的の場合には、画像に含まれる顔(例えば、たまたま通りかかった通行人の顔など)はもはや重要ではないので、顔に許される露出設定の許容度は、もはや無視してもよいほどに広くしても不適切にはならないであろう。
そこで、図1のカメラにおいては、この点に着目し、画像に含まれる顔に対して決定される露出の許容範囲を、撮影の際に得られる撮影情報に基づいて求めるようにする。
このことについて、図5A乃至図5Eを用いて更に説明する。
前述した従来の自動露出制御では、顔の一部に影が入っている場合においては、顔が明るく映るように露出設定がされるため、図5Aに示したような画像、すなわち、背景が明る過ぎる画像(いわゆる白トビ画像)となってしまう。また、画像全体のうちの僅かな領域を占める顔が背景に比べて明るい場合には、顔が暗く映るように露出設定がされるため、図5Bに示したような画像、すなわち、画像全体に亘り露出が足りない画像となってしまう。
一方、図5C、図5D、及び図5Eは、図1のカメラにより行われる、顔の明るさに配慮した自動露出制御の下での撮影により得られる画像例を示している。これらの各図の画像例は、いずれも、図5Aと同様に、顔の一部に影が入っている場合のものである。しかし、図5Cは、撮影目的がポートレート撮影であることが撮影情報として示されている場合のものであり、露出が顔に対して最適となるように設定された撮影により得られたものである。また、図5Dは、撮影目的が記念撮影であることが撮影情報として示されている場合のものであり、顔に対する露出設定の許容度を、ポートレート撮影の場合よりも緩和した撮影により得られたものである。更に、図5Eは、撮影目的が風景撮影であることが撮影情報として示されている場合のものであり、顔に対する配慮はせずに、画像全体の明るさに基づき露出設定がされた撮影により得られたものである。
以上のように、図1のカメラにおいては、撮影の際に得られる撮影情報に基づいて、画像に含まれる顔に対して決定される露出の許容範囲を求め、この許容範囲内で、画像全体として最適な露出設定を行って撮影動作を実行する。
[LV表示実施中の撮影制御処理]
次に、図1のカメラにおいて、LV表示の実施中での撮影動作のために、Bμcom150により行われる制御動作について説明する。
まず図6について説明する。図6は、Bμcom150により行われる、LV表示実施中での撮影制御処理の処理内容をフローチャートで示したものである。
Bμcom150は、ボディユニット100内に備えられている不図示の不揮発性メモリに格納されている所定の制御プログラムを読み出して実行することにより、図6の処理の実行が可能となる。なお、この処理は、ユーザが前述したカメラ操作スイッチ152の中のモード変更スイッチを操作して、LVモードを選択すると開始される。
図6において、まず、S101では、ミラー駆動機構118を制御して、クイックリターンミラー113bを図2Bのようにアップ位置へと駆動させる処理が行われる。
次に、S102では、シャッタ駆動制御回路148を制御して、シャッタユニット21における不図示の先幕を走行させる処理が行われる。この処理により、シャッタが開放されて、撮影レンズ112a及び112bからの光束が撮像モジュール20内の撮像素子23に導かれるようになり、撮像素子23は、受光した光量に応じた画像データを出力する。出力された画像データは、撮像素子インターフェイス回路134を介して画像処理コントローラ140に入力される。
次に、S103では、画像処理コントローラ140を制御し、撮像モジュール20から出力される画像データに基づいた、予備測光としてのLV測光処理が行われる。このS103の処理の詳細については後述する。
次に、S104では、画像処理コントローラ140を制御し、撮像モジュール20から出力される画像データに基づいた、予備合焦としてのLVAF処理(例えば、周知のコントラストAF処理)が行われる。
以上のS103及びS104の処理により被写体への予備的な露出制御及びピント合わせが完了すると、S105において、像取得処理が行われ、撮像モジュール20内の撮像素子23の受光面に結像した被写体像の光電変換を行わせて、被写体像の画像を表している画像データを出力させる。出力された画像データは、撮像素子インターフェイス回路134を介して画像処理コントローラ140に入力される。
次に、S106では、画像処理コントローラ140を制御し、S105の処理により撮像素子23から出力された画像データに基づいた、LV測光処理が行われる。このS106の処理の詳細についても後述する。
次に、S107では、画像処理コントローラ140を制御し、S105の処理により撮像素子23から出力された画像データに基づいた、LVAF処理(例えば、周知のコントラストAF処理)が行われる。
以上のS106及びS107の処理により被写体へのより高精度な露出制御及びピント合わせが完了すると、このときに撮像素子23から出力される画像データで表されている画像(撮影画面)が液晶モニタ136に表示される。
次に、S108において、画像処理コントローラ140を制御して顔検出エンジン158を起動させ、このときに撮像素子23から出力される画像データで表されている画像(撮影画面)から、人物の顔に相当する領域(顔領域)を検出してその位置及び範囲を特定する処理が行われる。
なお、この顔検出処理は、周知の処理(例えば、前述した特許文献1にも記載されているような、目、鼻、口等の人物の顔を構成する各部分に関する幾何学的な形状の特徴及び相互位置関係を利用して検出する処理)を用いるものとし、ここでは詳細な説明を省略する。また、この処理により、顔の位置を示す情報として、当該画像から顔の中心位置を特定する二次元座標と、顔の範囲を示す情報として、その顔の中心位置を中心とし、その顔における目、鼻、口の各部分の特定位置(例えば各部分の重心位置)を含む最小円の直径とが得られるものとする。また、この顔検出処理においては、撮影画面から顔領域が複数検出される場合も当然あり得る。
次に、S109では、カメラ操作スイッチ152のひとつであるレリーズスイッチに対してユーザが行った操作によって、いわゆる2NDレリーズのONが検出された否かを判定する処理が行われる。ここで、2NDレリーズのONが検出されたと判定されたとき(判定結果がYesのとき)にはS110に処理を進める。一方、2NDレリーズのONが検出されていないと判定されたとき(判定結果がNoのとき)には、S105に処理を戻して上述した処理が改めて行われる。このS105からの処理の繰り返しにより、液晶モニタ136でのLV表示動作が提供される。
次に、S110では、ミラー駆動機構118を制御して、クイックリターンミラー113bを図2Aのようにダウン位置へと駆動させる処理が行われる。
次に、S111では、シャッターチャージ処理が行われ、シャッタユニット21における不図示の先幕が閉じられる。
次に、S112では、測光回路132による被写界のファインダ測光処理が行われる。このS112の処理の詳細は後述する。
次に、S113では、AFセンサ駆動回路130bを制御して、クイックリターンミラー113bの下方に配置されているAFセンサユニット130aからの出力に基づいたオートフォーカス処理が行われる。
次に、S114では、S112のファインダ測光処理により得られた測光値に基づき適正な露出値を算出して、その露出値を実現するための絞り、露光時間、及びISO感度を適切に設定する周知の露出算出処理が、S112によるファインダ測光の結果に基づいて行われる。
次に、S115では、ミラー駆動機構118を制御して、クイックリターンミラー113bを図2Bのようにアップ位置へと駆動させる処理が行われる。
次に、S116では、S114の処理結果に従い、絞り駆動機構104を制御して絞り103を所定の絞り量とすると共に、シャッタ駆動制御回路148を制御して、シャッタユニット21における不図示の先幕と後幕とをそれぞれ所定のタイミングで走行させることで、所定の露光時間だけシャッタを開放させて撮像素子23を露光させる撮像露光処理が行われる。そして、このときに撮像素子23から出力される画像データは、画像処理コントローラ140により所定のデータ型式に変換されて記録メディア139に保存される。
次に、S117では、ミラー駆動機構118を制御して、クイックリターンミラー113bを図2Aのようにダウン位置へと駆動させる処理が行われる。
次に、S118では、シャッターチャージ処理が行われ、シャッタユニット21における不図示の先幕が閉じられる。
次に、S119において、撮影動作設定として、連写撮影動作の設定がなされているか否かを判定する処理が行われる。ここで、連写撮影動作の設定がなされていると判定したとき(判定結果がYesのとき)には、S112へと処理を戻して上述した処理が繰り返される。一方、ここで、連写撮影動作の設定がなされていないと判定したとき(判定結果がNoのとき)には、この図6の制御処理を終了する。なお、ここで、LV表示動作を継続するのであれば、この図6の処理を、S101から改めて行うようにする。
以上までの処理が、LV表示実施中での撮影制御処理である。
[LV測光処理]
次に図7について説明する。図7は、図6のS103及びS106の処理としてBμcom150により行われる、LV測光処理の処理内容をフローチャートで示したものである。
図7において、まず、S201では、画像処理コントローラ140を制御して、撮像モジュール20内の撮像素子23から出力されている画像データにより表されている撮影画面の明るさの情報として、その画面についてのBV値(予め画像に対し例えば図3Aのように設定されている測光領域(測光エリア)毎のBV値)を取得させる処理が行われる。
次に、S202では、前述した図6のS108の処理によって、撮影画面から、人物の顔の領域が検出されているか否かを判定する処理が行われる。ここで、顔領域が既に検出されていると判定されたとき(判定結果がYesのとき)には、S203において、検出されている顔領域についての輝度算出処理が行われ、その後はS204に処理を進める。この顔の輝度算出処理の詳細については後述する。一方、202の判定処理において、顔領域が検出されていないと判定されたとき、すなわち、図6のS103の処理としてLV測光処理が行われているとき、若しくは、図6のS101からS104の処理に続く初めてのS106の処理としてLV測光処理が行われているとき、又は、図6のS108の処理において顔領域が当該画像から検出されなかったときは、S203の処理を行うことなくS204に処理を進める。
次に、S204では、S201の処理により取得される撮影画面についてのBV値の情報と、更に、図6のS108の処理により顔領域の検出が行われている場合には、この処理により検出される顔の画像内での位置及び大きさ、並びにS203の処理により取得される顔の明るさの各情報とに基づいて、この画像についての評価結果としての測光値を算出する測光演算処理が行われる。このS204の処理の詳細についても後述する。
次に、S205では、S204で算出された測光値に基づき、その測光値に対し適正な露出値をLV表示において実現するための絞り及び露光時間を適切に設定する周知の露出決定処理が行われ、その後はこの図7の処理を終了して元の処理へ戻る。
[ファインダ測光処理]
次に図8について説明する。図8は、図6のS112の処理としてBμcom150により行われる、ファインダ測光処理の処理内容をフローチャートで示したものである。
図8において、まず、S301において、このカメラの現在の撮影状況が、連写撮影動作における2駒目以降の撮影動作中であるか否かを判定する処理が行われる。ここで、当該撮影動作中であると判定されたとき(判定結果がYesのとき)にはS307に処理を進め、そのような撮影動作中ではないと判定されたとき(判定結果がNoのとき)にはS302に処理を進める。
次に、S302では、被写界の明るさの情報として、測光回路132から出力される、被写界についてのBV値(予め被写界に対し例えば図3Aのように設定されている測光領域(測光エリア)毎のBV値)を取得させる処理が行われる。
次に、S303では、図6のS106の処理によって既に行われているLV測光による結果の信頼性を判定する処理が行われる。そして、続くS304において、この判定においてLV測光の信頼性が高いとされたか否かを判定する処理が行われ、信頼性が高いとされたと判定されたとき(判定結果がYesのとき)にはS307に処理を進め、信頼性が低いとされた判定されたとき(判定結果がNoのとき)にはS305に処理を進める。なお、このS303のLV測光信頼性判定処理の詳細は後述する。
次に、S305では、撮影画面に含まれている顔が所定の閾値よりも小さいか否かを判定する処理が行われる。ここで、顔が当該閾値よりも小さいと判定されたとき(判定結果がYesのとき)には、S307に処理を進め、顔が当該閾値よりも小さくはないと判定されたとき(判定結果がNoのとき)には、S306に処理を進める。
次に、S306では、図7のS203と同様の、顔の輝度算出処理(詳細は後述)が行われる。
次に、S307では、図7のS204と同様の、測光演算処理(詳細は後述)が行われ、その後はこの図8の処理を終了して元の処理へ戻る。但し、このS307の測光演算処理は、S304の判定結果がYesであったこと(LV測光の信頼性が高かったこと)とS305の判定結果がYesであったこと(撮影画面に含まれている顔が小さかったこと)とのどちらかにより行われる場合には、S201の処理により取得される、撮像モジュール20内の撮像素子23から出力されている画像データにより表されている撮影画面から求められたBV値に基づいて行われる。一方、S304の判定結果がNoであって(LV測光の信頼性が低かったこと)、且つS305の判定結果がNoであったこと(撮影画面に含まれている顔が小さくはなかったこと)により行われる場合には、この測光演算処理は、S302の処理により取得される、測光回路132から出力される、被写界についてのBV値に基づいて行われる。
[顔の輝度算出処理]
次に図9について説明する。図9は、図7のS203及び図8のS306の処理としてBμcom150により行われる、顔の輝度算出処理の処理内容をフローチャートで示したものである。
図9において、まず、S401では、画像処理コントローラ140を制御して、画像データにより表されている撮影画面より検出された顔領域から、測光の対象とする顔領域(顔の測光エリア)を探索させる処理が行われる。この処理について、図10A、図10B、及び図10Cを用いて説明する。
図10Aは、画像データにより表されている撮影画面例に座標系を表した様子を示している。この座標系は、画像の左上隅を原点(x,y)=(0,0)とし、図の右方向をX座標の正方向で表し、図の下方向をY座標の正方向で表している。ここで、図に表されている18×18の升目の1つずつが当該画像における測光エリアを表しており、この各枡の四隅の座標は、図10Bに示すように、予め特定されている。また、図における人物の顔の領域に示されている円は、当該顔の範囲を表しているものであり、以降、この円を「顔検出エリア」と称することとする。なお、この顔検出エリアの中心である当該顔の位置を示す座標と、この顔検出エリアの直径とは、図6のS108の顔検出処理により得られているものである。
ここで、画像処理コントローラ140は、当該画像における測光エリアのうち、その四隅の座標の全てが、この顔検出エリアに含まれるものを抽出する。つまり、図10Cに示すように、顔の位置を示す座標を(Xc,Yc)とし、顔検出エリアの直径をRとし、測光エリアの候補の隅の座標を(X,Y)とすると、
(X−Xc)2 +(Y−Yc)2 ≦(R/2)2
が、四隅の座標全てについて成立するものを抽出する。顔の測光エリアの探索はこのようにして行われる。
図9の説明に戻る。
次に、S402では、図8のS303のLV測光信頼性判定処理(詳細は後述)が既に行われていてLV測光の信頼性が高いとされていたか否かを判定する処理が行われる。ここで、信頼性が高いとされていたと判定されたとき(判定結果がYesのとき)にはS403に処理を進め、信頼性が低いとされていたと判定されたとき、若しくはLV測光信頼性判定処理が未だ実施されていないと判定されたとき(判定結果がNoのとき)にはS404に処理を進める。
S403では、顔向きを考慮した顔の測光エリア探索処理が行われる。この処理について、図11A乃至図11Dを用いて説明する。
図11Aは、正面を向いている顔の画像例と、この画像例における測光エリアと顔検出エリアとの関係を示している。この場合であれば、前述した顔検出処理によって位置及び直径が決定されている顔検出エリアの内部は全て顔の領域であるので、この顔検出エリア内の測光エリアの測光値のみに基づいて顔の輝度を算出しても、特に問題とはならない。
一方、図11Bは、斜め横方向(向かって右の方向)を向いている顔の画像例と、この画像例における測光エリアと顔検出エリアとの関係を示している。この場合、顔検出エリア内の右端部の測光エリアには、顔の領域と背景の領域との両方が含まれてしまっているため、この測光エリアによる測光値をそのまま用いて顔の輝度を算出すると、算出結果の精度が低下することがあり得る。
そこで、このS403の処理により、画像処理コントローラ140は、顔の測光エリアの探索を、以下のようにして行う。
図11Cは、画像の各測光エリアと顔検出エリアとの位置関係の一例を示している。ここで、顔中心点Cは顔検出エリアの中心位置(すなわち、顔検出処理により検出された顔の中心位置)である。また、左顔外点A及び右顔外点Eは、顔検出エリアからそれぞれX座標の正負の各方向に所定距離βだけ離れた位置に配置されている。なお、βの値は、実験等により予め定められている定数である。図11Dは、顔中心点CのX座標値を「0」としたときにおける左顔外点A及び右顔外点Eの座標を、βと顔検出エリアの直径Rとで表したものである。
まず、画像処理コントローラ140は、左顔外点点A、顔中心点C、及び右顔外点Eの各点をそれぞれ含む測光エリアの測光値を取得し、取得した値を各点の測光値とする。ここで、各点が測光エリアの境界線上に位置する場合には、その点に隣接する各測光エリアの測光値の加算平均を、その点における測光値とする。
次に、四隅が全て顔検出エリアに含まれている顔測光エリアを、その位置が左顔外点Aと右顔外点Eとのどちらに近いかにより、左側顔測光エリアグループと右側測光エリアグループとに分類する。
次に、左側顔測光エリアグループに属する各顔測光エリアの測光値が左顔外点Aと顔中心点Cとのどちらの測光値に近いかにより、当該各顔測光エリアを左顔端測光エリアグループと顔中央測光エリアグループとに分類する。同様に、右側顔測光エリアグループに属する各顔測光エリアの測光値が顔中心点Cと右顔外点Eとのどちらの測光値に近いかにより、当該各顔測光エリアを顔中央測光エリアグループと右顔端測光エリアグループとに分類する。この結果、各顔測光エリアが、左顔端測光エリアグループ、顔中央測光エリアグループ、及び右顔端測光エリアグループの3つのグループに分類される。
次に、左顔端測光エリアグループ及び右顔端測光エリアグループのうちのどちらかに属する各顔測光エリアの測光値を、顔中央測光エリアグループに属する各顔測光エリアの測光値の加算平均値と大小比較する。ここで、測光値が当該加算平均値よりも所定値(例えばBV値換算で1段階)以上異なっていた顔測光エリアが存在した場合には、その顔測光エリアが属していた測光エリアグループの方向に、顔が向いていたとの判定を下し、その他の場合には、顔は正面を向いていたとの判定を下す。更に、この顔測光エリア(顔の領域と背景の領域との両方が含まれてしまっていると推定される測光エリア)を、S401の処理により探索されていた顔の測光の対象から除外する。こうすることにより、画像に含まれている顔が正面を向いているか否かを判定することができ、また、顔の輝度を精度よく算出することができるようになる。
図9の説明に戻る。
S404では、S401の処理と、実行されている場合にはS403の処理とにより画像処理コントローラ140が探索した各顔測光エリアでの測光値の加算平均値を求めることで、顔の輝度を算出する処理が行われ、その後は、この図9の処理を終了して元の処理へ戻る。
以上のようにして、画像データで表されている撮影画面から検出された各顔領域の輝度が取得される。
[測光演算処理]
次に図12について説明する。図12は、図7のS204及び図8のS307の処理としてBμcom150により行われる、測光演算処理の処理内容をフローチャートで示したものである。
図12において、S501では、カメラに対しユーザにより予め選択されている測光方式が、評価測光(撮影画面に対して定義されている複数の測光エリアで得られた測光値を評価して画面の測光値を決定する方式)であるか否かを判定する処理が行われる。ここで、評価測光が選択されていると判定したとき(判定結果かYesのとき)にはS505に処理を進め、評価測光が選択されていないと判定したとき(判定結果かNoのとき)にはS502に処理を進める。
次に、S502では、カメラに対しユーザにより選択されている測光方式が、中央重点平均測光であるか否かを判定する処理が行われる。ここで、中央重点平均測光が選択されていると判定したとき(判定結果かYesのとき)にはS503に処理を進め、中央重点平均測光が選択されていないと判定したとき(判定結果かNoのとき)にはS504に処理を進める。
次に、S503では、測光中央平均算出処理が行われ、その後はこの図12の処理を終了して元の処理へ戻る。この測光中央平均算出処理は、撮影画面に対して定義されている複数の測光エリアのうち、画面中央部に位置するものでの測光値を平均したものに対し、全ての測光エリアでの測光値を平均したものよりも重み付けを与えて(例えば中央部に対して全体よりも2倍の重み付けを与えて)、その加算平均値を算出し、この算出結果を撮影画面の評価結果としての測光値とする処理である。
次に、S504では、スポット測光処理が行われ、その後はこの図12の処理を終了して元の処理へ戻る。このスポット測光処理は、撮影画面に対して定義されている複数の測光エリアのうち、画面中央に位置する1つの測光エリアでの測光値を、その画面全体での測光値として求めて、撮影画面の評価結果としての測光値とする処理である。
なお、このS503及びS504の処理は、それぞれ測光方式として周知である中央重点平均測光及びスポット測光のための処理である。
一方、S501において評価測光が選択されていると判定されたときには、S505において、測距点近傍処理が行われる。この処理は、直近に実行されたAF処理(図6におけるS107若しくはS113の処理)における測距対象点の選択結果を取得し、撮影画面に対して定義されている複数の測光エリアのうち、当該測距対象点を含むものとその近傍のもの(例えば当該測距対象点を含む測光エリアに隣接する測光エリア)による測光値の加算平均値を算出する処理である。
次に、S506では、全面輝度演算処理が行われる。この処理は、撮影画面に対して定義されている複数の測光エリアの各々による測光値の全加算平均値を算出する処理である。
次に、S507では、通常被写界測光値算出処理が行われる。この処理は、S505の処理により算出された測距点近傍の測光平均値に対し、S506の処理により算出された画面全体での測光平均値よりも所定の重み付けを与えて、その加算平均値を、通常被写界測光値として算出する処理である。
なお、このS505からS507にかけての処理は、測光方式として周知である評価測光のための処理である。
次に、S508では、前述した図6のS108の処理によって、撮影画面像から、人物の顔の領域が検出されているか否かを判定する処理が行われる。ここで、顔が既に検出されていると判定されたとき(判定結果がYesのとき)には、S509に処理を進め、顔が検出されていないと判定されたとき、すなわち、図6のS108の処理が行われていないとき、若しくは、このS108の処理において顔の領域が当該画像から検出されなかったときには、この図12の処理を終了して元の処理へ戻る。
ここで、FEVER演算とは「Face Expose Value Error range 演算」の各頭文字をとったもので、顔の露出量について許容範囲を求める演算であって、以後本演算をFEVER演算と呼ぶものとする。
次に、S509ではFEVER演算処理が行われ、続くS510において、顔加味被写界測光値算出処理が行われ、その後はこの図12の処理を終了して元の処理へ戻る。このFEVER演算処理及び顔加味被写界測光値算出処理は、図1のカメラにおいて特徴的な処理である。以下、この2つの処理について説明する。
[FEVER演算処理]
まず、FEVER演算処理について説明する。図13は、図12のS509の処理としてBμcom150により行われる、FEVER演算処理の処理内容をフローチャートで示したものである。この処理はFEVERポイントを算出する処理である。ここで、FEVERポイントとは、撮影画面に含まれている顔の領域が、当該撮影画面に与えていると考えられる影響度を数値化して示すものであり、この値が大きいほど、より大きな影響を与えることを示す。
図13において、カメラに対しユーザにより予め選択されているFEVERポイントの設定方式が、オート設定(カメラによる自動設定)であるか否かを判定する処理が行われる。ここで、オート設定が選択されていると判定されたとき(判定結果がYesのとき)にはS603に処理を進め、オート設定が選択されていないと判定されたとき(判定結果がNoのとき)には、マニュアル設定(ユーザによる設定)が選択されているとみなし、S603に処理を進める。
次に、S602では、設定モードに応じたFEVERポイントの値設定処理が行われ、その後は、マニュアル設定によるFEVER演算処理を終了して元の処理へ戻る。
ここで図14A及び図14Bについて説明する。
図14Aは、液晶モニタ136に表示される、このFEVERポイントのマニュアル選択メニュー画面例である。ユーザは、カメラ操作スイッチ152を操作して「顔AE設定」の指示をカメラに与えると、このメニュー画面が表示される。ここで、ユーザは、カメラ操作スイッチ152である十字キースイッチを操作して、当該メニュー画面に示されている「ポートレート」、「記念撮影」、…の各撮影目的のうちからひとつを選択すると、選択された撮影目的に対応するFEVERポイントの値が、このS602の処理において設定される。このときの撮影目的とFEVERポイントとの対応関係の例を示したものが、図14Bの表である。このカメラにはこの表に相当する情報が、前述した不図示の不揮発性メモリに予め格納されており、例えば、図14Aの例では「記念撮影」が選択されているので、図14Bの表に基づき、「30」がFEVERポイントとして設定される。
次に、図13のS603では、FEVERポイントの演算方法として2種類用意されている演算方法Aと演算方法Bとのうち、演算方法Aがユーザにより選択されているか否かを判定する処理が行われる。ここで、演算方法Aが選択されていると判定したとき(判定結果がYesのとき)には、S604から開始される演算方法A処理へと処理を進める。一方、演算方法Aではなく演算方法Bが選択されていると判定したとき(判定結果がNoのとき)には、S609から開始される演算方法B処理へと処理を進める。
ここで図15について説明する。同図は、カメラの撮影モードと演算方法との対応関係例を表で示したものである。図1のカメラには、カメラ操作スイッチ152としてモードスイッチが設けられており、このモードスイッチでの選択により撮影モード(撮影動作における絞り制御の内容とシャッタ制御の内容との関係を特定するモード)の設定を行うことができる。また、このカメラには図15の表に相当する情報が、前述した不図示の不揮発性メモリに予め格納されており、このようにして撮影モードが設定されると、設定された撮影モードに応じて演算方法が選択される。S603では、この演算方法の選択結果に基づいた判定が行われる。
次に、図13のS604では、顔領域の総面積に基づくFEVERポイント取得処理が行われる。この処理について、図16を用いて説明する。
図16は、1枚の撮影画面における顔領域の総面積とFEVERポイントとの関係例をグラフで示したものである。なお、このグラフにおける横軸は、計算の簡略化のため、顔領域の総面積に対応する値として、当該撮影画面から検出された各顔検出エリアの直径Rの2乗の総和を目盛っている。
図16の例では、この総和とFEVERポイントとは一次関数式Y=AX+Bで表すことのできる直線的な関係を有しているが、FEVERポイントの最大値を「40」としており、当該総和が大きくなってもFEVERポイントはこの最大値を超えないように設定されている。Bμcom150は、図6のS108の処理により取得されている各顔検出エリアの直径Rに基づき、この設定に従ってFEVERポイントの算出を行う。このようにして取得されたFEVERポイントは、このS604の処理時点では、撮影画面に含まれている顔領域毎に一律に与えられる。
次に、図13のS605では、撮影画面に含まれる顔領域のうちの最大のものとの比に基づくFEVERポイントの補正処理が行われる。この処理について、図17A及び図17Bを用いて説明する。
まず、Bμcom150は、撮影画面から検出されている顔領域のうち面積が最大のもの(「最大顔」と称することとする。)を抽出する処理を行う。この抽出処理では、図6のS108の処理により取得されている各顔検出エリアの直径Rが最大のものを抽出すればよい。
次に、Bμcom150は、撮影画面から検出されている各顔領域についての最大顔との面積比を算出する処理を行う。この処理では、図17Aに示すように、最大顔の顔検出エリアの直径Rを2乗した値に対する、各顔領域についての顔検出エリアの直径Rを2乗した値の比を算出すればよい。
次に、Bμcom150は、撮影画面から検出されている各顔領域について、最大顔との面積比に基づいたFEVERポイントの減算値を算出し、得られた減算値を、当該顔領域に与えられているFEVERポイントから減算する処理を行う。
図17Bは、上述したようにして得られた最大顔に対する顔領域の面積比とFEVERポイントの減算値との関係例をグラフで示したものである。この例では、この面積比とポイント減算値とは一次関数式Y=EX+Fで表すことのできる直線的な関係を有しているが、面積比が「50%」以上のものについては、ポイント減算値を「0」としている。Bμcom150は、このような関係に従ってポイント減算値を算出し、その算出値を当該顔領域に与えられているFEVERポイントから減算する処理を行う。この処理により、最大顔に対する面積比が所定値(図17Bの例では50%)未満の顔領域はFEVERポイントが減算されるので、当該面積比が当該所定値以上の顔領域に比べ、撮影画面に与える影響度が小さいと評価される。
以上のようにして、顔領域の面積に基づいたFEVERポイントの設定が、各顔領域に対して行われる。
次に、図13のS606では、各顔領域の撮影画面内における位置に基づくFEVERポイントの補正処理が行われる。この処理について、図18A及び図18Bを用いて説明する。
図18Aは、640×480ピクセルの画素からなる撮影画面の被写界の中心からの距離をピクセル単位で表している。ここで、被写界の中心までの距離が250ピクセルに位置する顔領域は、当該中心までの距離が150ピクセルに位置する顔領域よりも、撮影画面に与える影響度が小さいと考えられる。S606の補正処理は、このような、撮影画面内における位置に基づいて、顔領域に与えられているFEVERポイントを補正する処理である。
まず、Bμcom150は、撮影画面から検出されている各顔領域について、被写界の中心からの距離を算出する処理を行う。ここで、顔領域の位置は、当該顔領域についての顔検出エリアの中心の位置とし、Bμcom150は、この位置と被写界の中心との距離を算出する。
次に、Bμcom150は、撮影画面から検出されている各顔領域について、その位置に基づいたFEVERポイントの減算値を算出し、得られた減算値を、当該顔領域に与えられているFEVERポイントから減算する処理を行う。
図18Bは、上述したようにして得られた顔領域の被写界中心からの距離とFEVERポイントの減算値との関係例をグラフで示したものである。この例では、この距離とポイント減算値とは一次関数式Y=CX+Dで表すことのできる直線的な関係を有しているが、距離が「150ピクセル」以下のものについては、ポイント減算値を「0」としている。Bμcom150は、このような関係に従ってポイント減算値を算出し、その算出値を当該顔領域に与えられているFEVERポイントから減算する処理を行う。この処理により、被写界中心からの距離が所定値(図18Bの例では150ピクセル)よりも遠い顔領域は、FEVERポイントが減算され、当該距離が当該所定値以下の顔領域に比べて撮影画面に与える影響度が小さいと評価される。
以上のようにして、顔領域の撮影画面内における位置(撮影画面の中央からの距離)に基づいたFEVERポイントの設定が、各顔領域に対して行われる。
次に、図13のS607では、顔の向きに基づく各顔領域のFEVERポイントの補正処理が行われる。この処理について、図19を用いて説明する。
図11A乃至図11Dを用いて説明したように、図9のS403の処理によって、各顔領域の顔の向きが正面を向いていたか否かの判定が下されている。そこで、このS607の処理では、図19に示すように、Bμcom150は、顔の向きが正面を向いていた顔領域については、与えられているFEVERポイントをそのまま維持し、顔の向きが正面を向いていなかった顔領域については、与えられているFEVERポイントから10ポイントを減算する処理を行う。この処理により、顔の向きが正面を向いていなかった顔領域が、顔の向きが正面を向いていた顔領域に比べて撮影画面に与える影響度が小さいと評価される。
以上のようにして、人物顔の向きに基づいたFEVERポイントの設定が、各顔領域に対して行われる。
次に、図13のS608では、連写撮影時における測距結果に基づく各顔領域のFEVERポイントの補正処理が行われる。
前述した図6の撮影制御処理では、連写撮影時における2駒目以降の撮影(S112からS119にかけての繰り返し処理)においては、処理負担が大きいこともあって、顔検出処理を行わないようにしている。そこで、S608では、この2駒目以降の撮影画面について、S113のオートフォーカス処理により得られる測距情報を利用して顔領域のFEVERポイントの補正を行う。以下、この補正処理について、図20及び図21を用いて説明する。
図20の撮影画面例は、顔検出処理が行われている1駒目の撮影画面においては、被写体である人物顔までの距離が2mであったものが、2駒目においては1.5mにまで近づき、更に5駒目においては0.8mにまで近づいた場合を示している。このように、連写撮影時において、被写体である人物顔がカメラに近づくように移動している場合には、当該人物顔の顔領域が撮影画面に与える影響度は大きくなると考えられるので、与えられているFEVERポイントを増加させる(図20の例では、2駒目においては10ポイント加算とし、2駒目においては20ポイント加算とする)。このために、S608では、連写撮影時における2駒目以降の撮影画面に対し、以下の処理が行われる。
まず、Bμcom150は、S113のオートフォーカス処理により得られた被写体距離と、カメラに設けられている撮影レンズの焦点距離とに基づき、被写体像の像倍率を撮影画面の各駒について算出する。なお、この像倍率は、当該焦点距離を当該被写体距離で除算することにより算出することができる。
次に、Bμcom150は、1駒目の撮影画面から検出されている各顔領域について、各駒の像倍率に基づいたFEVERポイントの加減値を算出し、得られた加減値を、当該顔領域に与えられているFEVERポイントに加える処理を行う。
図21は、上述したようにして得られた各駒における人物顔の像倍率とFEVERポイントの加減値との関係例をグラフで示したものである。この例では、この距離とポイント加減値とは一次関数式Y=jX+kで表すことのできる直線的な関係を有している。Bμcom150は、このような関係に従ってポイント加減値を算出し、その算出値を当該顔領域に与えられているFEVERポイントに加える処理を行う。この処理により、被写体である人物顔がカメラに近づくように移動している場合には、当該人物顔の顔領域に与えられているFEVERポイントを増加させるので、当該顔領域が各駒の撮影画面に与える影響度は大きくなると評価される。また、被写体である人物顔がカメラから遠ざかるように移動している場合には、当該人物顔の顔領域に与えられているFEVERポイントを現象させるので、当該顔領域が各駒の撮影画面に与える影響度は小さくなると評価される。
以上のS608の処理を終えたときには、演算方式AによるFEVER演算処理を終了して元の処理へ戻る。
一方、図13のS603において、演算方法Bが選択されていると判定されたときには、S609において、シーンモードに基づくFEVERポイント取得処理が行われる。
前に説明した図15の表では、「ポートレートモード」以下の撮影モード(これらの撮影場面に応じた撮影モードを特に「シーンモード」と称している)のうち、演算方法が「演算方法B」に設定されているものについては、「FEVERPOINT全顔共通値」が設定されている。つまり、S609では、Bμcom150は、図1のカメラのモードスイッチで選択されているシーンモードに対応付けられているFEVERポイントを、前述した不図示の不揮発性メモリに予め格納されているこの図15の表から取得する処理を行う。従って、モードスイッチが操作されて撮影モードの選択が変更されれば、当該変更後の撮影モードの設定に応じたFEVERポイントの設定が、各顔領域に対して行われる。
次に、図13のS610では、撮影画面に含まれる顔領域のうちの最大のものとの比に基づくFEVERポイントの補正処理が行われる。この処理は、S605と同一の処理であるので、詳細な説明は省略する。
以上のS610の処理を終えたときには、演算方式BによるFEVER演算処理を終了して元の処理へ戻る。
このように、演算方式BによるFEVER演算処理では、図1のカメラのモードスイッチが取得した操作入力に基づきFEVERポイントが決定される。
以上のようにして、各顔領域の撮影画面からの検出状態に応じた重み付け値(FEVERポイント)が算出される。
[顔加味被写界測光値算出処理]
次に、図12のS510の処理としてBμcom150により行われる、顔加味被写界測光値算出処理について説明する。図22は、この顔加味被写界測光値算出処理の処理内容をフローチャートで示したものである。
なお、図22の説明では、図23に例示した撮影画面を用いることとする。この撮影画面には、「顔番号1」から「顔番号9」までの計9個の顔領域が含まれている。なお、この撮影画面における各顔領域には、演算方式AによるFEVER演算処理によってFEVERポイントが与えられているものとする。
まず、S701では、撮影画面に含まれている各顔領域に与えられているFEVERポイントを、当該顔領域の撮影においての適正露光量に対し許容される、当該顔領域の撮影における露光量のずれの許容範囲へと変換する処理が行われる。この処理について、図24を用いて説明する。
図24は、FEVERポイントと許容される露光量の範囲との関係例をグラフで示したものである。
この図24のグラフでは、FEVERポイントと適正露光量に対し許容される露光量の上限との関係が一次関数式Y=eX+gで表される直線的な関係を有しており、FEVERポイントと適正露光量に対し許容される露光量の下限との関係が一次関数式Y=hX+iで表される直線的な関係を有している。Bμcom150は、このような関係に従い、FEVERポイントから適正露光量に対し許容される露光量の許容範囲への変換を行う。
例えば、図23に示した撮影画面に含まれている「顔番号1」の顔領域は、面積が大きく、最大顔であり、撮影画面の中央に位置しており、顔が正面を向いていることから、FEVER演算処理によってFEVERポイントとして「40」が与えられているものとする。一方、「顔番号8」の顔領域は、面積が小さく、最大顔ではなく、撮影画面の端に位置しているため、顔が正面を向いてはいるものの、FEVER演算処理によってFEVERポイントとして「8」が与えられているものとする。
この場合、「顔番号1」の顔領域は、撮影画面における影響度が「顔番号8」の顔領域よりも大きいことは、図23の撮影画面を参照しても明らかである。従って、この場合には、顔領域の適正露光量に対し許容される露光量の許容範囲は、「顔番号1」に対しては狭く、「顔番号8」に対しては広くなる。図24に示されている「顔番号1」と「顔番号8」とについての適正露光量に対し許容される露光量の許容範囲は正にこのような関係となっており、「顔番号1」に対する許容範囲はBV値換算で±0.5段階とされ、「顔番号8」に対する許容範囲はBV値換算で±1.5段階とされている。
以上のように、図22のS701の処理により、適正露光量からの許容範囲の上限及び下限の設定が、各顔領域に対し、FEVERポイントに基づいて行われる。
次に、図22のS702では、FEVERポイントに基づいた顔領域のグループ化処理が行われる。この処理は、各顔領域のFEVERポイントの大小に基づいたグループ化を行い、例えば「35」以上である顔領域を第1グループとし、「25」以上「35」未満である顔領域を第2グループとし、「15」以上「25」未満である顔領域を第3グループとし、「15」未満である顔領域を第4グループとするように、FEVERポイントの大きい順のグループとする。
次に、S703では、全ての顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。
ここで、図22の処理において度々行われる、各顔領域についての露光許容量範囲における重なり有無の判定処理について、図25A及び図25Bを用いて説明する。
図25Aは、図23の撮影画面に含まれる各顔領域についての露光許容量範囲の第一の例を棒グラフで示したものである。また、図25Bは、この棒グラフの見方を示している。
この棒グラフの縦方向の位置は、BV値換算の光量を示している。図25Bについて説明すると、この棒グラフの中間部に付されている線は、その顔領域について図9の処理により得られている輝度であり、当該顔領域に対応する人物顔の撮影においての適正な露光量(顔領域適正露光量)を示している。また、この棒グラフの上端及び下端は、それぞれ顔領域適正露光量に対し許容される露光量の上限及び下限を示している。つまり、棒グラフの縦方向の長さにより示される露光許容量範囲(顔領域許容露光量範囲)は、顔領域適正露光量と、S701の処理により取得される許容範囲とにより、顔領域毎に決定されるものである。この顔領域毎の顔領域許容露光量範囲の関係を示したものが図25Aの図である。
この図25Aの図において、「顔番号9」を除く他の顔領域の露光許容量範囲において、露光許容量範囲の上限値が最小であるのは「顔番号2」の上限値である。また、露光許容量範囲の下限値が最大であるのは「顔番号3」の下限値である。ここで、この「顔番号2」の上限値は「顔番号3」の下限値よりも大きいものとなっている。このように、判定対象である各顔領域の露光許容量範囲において、露光許容量範囲の上限値の最小値が、露光許容量範囲の下限値の最大値以上であるときには、判定対象である各顔領域についての露光許容量範囲が重なっている露光量範囲が存在するとの判定を下す。従って、この重なっている露光量範囲内にカメラの露出を設定すれば、判定対象である各顔領域のいずれについても許容できる露光量の下で撮影を行えることになる。
一方、この図25Aの図において、「顔番号9」含む全ての顔領域の露光許容量範囲について考えると、露光許容量範囲の上限値が最小であるのは「顔番号9」の上限値である。また、露光許容量範囲の下限値が最大であるのは「顔番号3」の下限値である。この場合には、この「顔番号9」の上限値は「顔番号3」の下限値よりも小さいものとなっている。このように、判定対象である各顔領域の露光許容量範囲において、露光許容量範囲の上限値の最小値が、露光許容量範囲の下限値の最大値未満であるときには、判定対象である各顔領域についての露光許容量範囲が重なっている露光量範囲が存在しないとの判定を下す。
図22の処理では、以上のような判定処理が行われる。
図22のS703において、全ての顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われた結果、重なり有りと判定されたとき(判定結果がYesのとき)には、S727(後述)に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S704に処理を進める。
次に、S704では、S702の顔グループ化処理によって、第1グループに分類された顔領域が存在するか否かを判定する処理が行われる。ここで、第1グループに分類された顔領域が存在すると判定されたとき(判定結果がYesのとき)にはS705に処理を進め、第1グループに分類された顔領域が存在しないと判定されたとき(判定結果がNoのとき)にはS712に処理を進める。
次に、S705では、第1グループ、第2グループ、及び第3グループのいずれかに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S706に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S707に処理を進める。
S706では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。この全体BV演算α処理について、図26を用いて説明する。
図26のグラフには、全体BV演算α処理の直前に行われた重なり判定の処理(S706の場合であれば、S705)において存在すると判定された、重なっている露光量範囲の上限と下限とを示す直線が示されている。更に、このグラフには、直近に実行された図12のS507において算出されていた通常被写界測光値(周知の評価測光方式による被写界の測光値)を示す直線が、この上限値及び下限値との大小関係により、ケース1、ケース2、及びケース3の3つの直線で示されている。
全体BV演算α処理では、まず、Bμcom150は、この通常被写界測光値と、この重なっている露光量範囲の上限及び下限との比較処理、すなわち、被写界の撮影における通常露光量と、顔領域適正露光量並びに許容される露光量の上限及び下限により決定される顔領域露光許容量範囲との比較処理を行う。そして、この比較の結果に応じ、撮影画面の評価結果としての測光値を以下のようにして設定する処理を行う。
まず、ケース1の場合、すなわち、通常被写界測光値が、重なっている露光量範囲の上限値を超えている場合には、この上限値を、撮影画面の評価結果としての測光値とする。
次に、ケース2の場合、すなわち、通常被写界測光値が、重なっている露光量範囲内(上限値以下且つ下限値以上)である場合には、この通常被写界測光値を、そのまま撮影画面の評価結果としての測光値とする。
更に、ケース3の場合、すなわち、通常被写界測光値が、重なっている露光量範囲の下限値を超えている場合には、この下限値を、撮影画面の評価結果としての測光値とする。
以上のようにして、撮影画面の評価結果としての測光値が顔領域露光許容量範囲内になるように制限する処理が、全体BV演算α処理である。この結果、撮影画面の評価結果としての測光値に基づきカメラに設定される露出は、直前に行われた重なり判定の処理において重なっている露光量範囲が存在するとされた各顔領域について、すなわち、撮影画面において影響力の大きい(FEVERポイントが大きい)各顔領域について、許容範囲内のものとなる。
図22の説明に戻ると、S707では、第1グループ及び第2グループのどちらかに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S708に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S709に処理を進める。
S708では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S709では、第1グループに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S710に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S711に処理を進める。
S710では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S711では、全体BV演算β処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。この全体BV演算β処理について、図27A及び図27Bを用いて説明する。
図27Aは、図23の撮影画面に含まれる各顔領域についての露光許容量範囲の第二の例を棒グラフで示したものである。なお、この棒グラフの見方は、図25Bに示した場合と同様である。
この図27Aに示した第二の例は、第1グループに属する「顔番号1」、「顔番号2」、及び「顔番号3」において、露光許容量範囲が重なっている露光量範囲が存在しない。従って、図22のS709の判定結果はNoとなり、S710に処理が進み、全体BV演算β処理が行われる。
全体BV演算β処理では、まず、Bμcom150は、この全体BV演算β処理の直前に行われた重なり判定の処理(S710の場合であれば、S709)の対象であったグループ(S709の場合であれば第1グループ)に属する各顔領域について図9の処理により得られている輝度の加算平均値を算出する処理を行う。次に、Bμcom150は、このグループに属する各顔領域について図13の処理により与えられているFEVERポイントの平均値を算出する処理を行う。
次に、Bμcom150は、S701の処理と同様にして、このFEVERポイントの平均値を許容範囲へと変換して、輝度の加算平均値に対して許容される許容露光量の上限及び下限を算出する処理を行う。
図27Bのグラフには、第1グループに属している「顔番号1」、「顔番号2」、及び「顔番号3」についての露光許容量範囲の下限の最大値と上限の最小値とを示す直線が示されている。また、このグラフには、上述した処理により得られた、第1グループの各顔領域についての輝度の平均値と、第1グループについて許容される許容露光量の上限及び下限とを示す直線が示されている。更に、このグラフには、直近に実行された図12のS507において算出されていた通常被写界測光値(周知の評価測光方式による被写界の測光値)を示す直線が、この上限値及び下限値との大小関係により、ケース1、ケース2、及びケース3の3つの直線で示されている。
ここで、Bμcom150は、この通常被写界測光値と、対象グループについて許容される許容露光量の上限及び下限との比較処理、すなわち、被写界の撮影における通常露光量と、対象グループについて適正と考えられる露光量並びに許容される露光量の上限及び下限により決定される、対象グループについての露光許容量範囲との比較処理を行う。そして、この比較の結果に応じ、撮影画面の評価結果としての測光値を以下のようにして設定する処理を行う。
まず、ケース1の場合、すなわち、通常被写界測光値が、対象グループについて許容される許容露光量の上限値を超えている場合には、この上限値を、撮影画面の評価結果としての測光値とする。
次に、ケース2の場合、すなわち、通常被写界測光値が、対象グループについて許容される許容露光量範囲内(上限値以下且つ下限値以上)である場合には、この通常被写界測光値を、そのまま撮影画面の評価結果としての測光値とする。
更に、ケース3の場合、すなわち、通常被写界測光値が、対象グループについて許容される許容露光量の下限値を超えている場合には、この下限値を、撮影画面の評価結果としての測光値とする。
以上のようにして、撮影画面の評価結果としての測光値が対象グループについて許容される露光許容量範囲内になるように制限する処理が、全体BV演算β処理である。この結果、撮影画面の評価結果としての測光値に基づきカメラに設定される露出は、撮影画面において影響力の大きい(FEVERポイントが大きい)顔領域が属しているグループについて、許容範囲内のものとなる。
図22の説明に戻ると、S712では、S702の顔グループ化処理によって、第2グループに分類された顔領域が存在するか否かを判定する処理が行われる。ここで、第2グループに分類された顔領域が存在すると判定されたとき(判定結果がYesのとき)にはS713に処理を進め、第2グループに分類された顔領域が存在しないと判定されたとき(判定結果がNoのとき)にはS718に処理を進める。
S713では、第2グループ及び第3グループのどちらかに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S714に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S715に処理を進める。
S714では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S715では、第2グループに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S716に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S717に処理を進める。
S716では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S717では、全体BV演算β処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S718では、S702の顔グループ化処理によって、第3グループに分類された顔領域が存在するか否かを判定する処理が行われる。ここで、第3グループに分類された顔領域が存在すると判定されたとき(判定結果がYesのとき)にはS719に処理を進め、第3グループに分類された顔領域が存在しないと判定されたとき(判定結果がNoのとき)にはS722に処理を進める。
S719では、第3グループに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S720に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S721に処理を進める。
S720では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S721では、全体BV演算β処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S722では、S702の顔グループ化処理によって、第4グループに分類された顔領域が存在するか否かを判定する処理が行われる。ここで、第4グループに分類された顔領域が存在すると判定されたとき(判定結果がYesのとき)にはS723に処理を進め、第4グループに分類された顔領域が存在しないと判定されたとき(判定結果がNoのとき)にはS726に処理を進める。
S723では、第4グループに属する各顔領域についての露光許容量範囲に、重なっている露光量範囲が存在するか否かを判定する処理が行われる。ここで、重なり有りと判定されたとき(判定結果がYesのとき)には、S724に処理を進め、重なり無しと判定されたとき(判定結果がNoのとき)には、S725に処理を進める。
S724では、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得され、その後はこの図22の処理を終了して元の処理へ戻る。
S725では、直近に実行された図12のS507において算出されていた通常被写界測光値を、撮影画面の評価結果としての測光値として設定する処理が行われ、その後はこの図22の処理を終了して元の処理へ戻る。
S726では、直近に実行された図12のS507において算出されていた通常被写界測光値を、撮影画面の評価結果としての測光値として設定する処理が行われ、その後はこの図22の処理を終了して元の処理へ戻る。
一方、前述したS703において、重なり有りと判定されたとき(判定結果がYesのとき)には、S727において、全体BV演算α処理が行われて、撮影画面の評価結果としての測光値が取得される。
次に、S728では、可能シフト量演算処理が行われる。この可能シフト量演算処理について、図28を用いて説明する。
可能シフト量演算処理は、撮影画面に含まれている全ての顔領域についての露光許容量範囲内に、重なっている露光量範囲が存在する場合に、撮影画面の評価結果としての測光値を、いわゆる黒潰れや白飛びが撮影画像に生じない範囲で顔領域に適切な露出設定がなされる値とするためのシフト量を算出する処理である。
図28のグラフにおいて、BV値が「9.0」である直線は、撮影画面に含まれている全ての顔領域についての露光許容量範囲内においての重なっている露光量範囲の上限値を示しており、BV値が「7.5」である直線は、この露光範囲の下限値を示している。また、BV値が「8.25」である直線は、この上限値と下限値との平均値、すなわち、重なっている露光量範囲のちょうど中間の値を示している。従って、この中間値に基づいてカメラの露出設定が行われれば、顔領域に対して適切な撮影画像を取得できると考えられる。
図28のグラフにおいて、BV値が「7.75」の直線は、S727の全体BV演算α処理により得られた測光値の例を示している。従って、露光量範囲の中間値「8.25」とこの「7.75」との差、すなわち「0.5」だけ撮影画面の評価結果としての測光値を大きくすれば、顔領域に対してより適切な撮影画像を取得できることになる。この値を「顔補正余裕」と称することとする。
ところで、撮影画面の評価結果としての測光値を変更して大きくすると、図6のS114の処理による適正な露出値の算出結果は小さくなる。従って、露光時間及びISO感度が不変であれば、S116の撮像露光処理により得られる撮影画像は、当該変更前のものよりも暗くなる。従って、この場合には、撮影画面において輝度の低かった領域にいわゆる黒潰れが生じる露出不足の画像になってしまう可能性がある。
また、これとは逆に、撮影画面の評価結果としての測光値を変更して小さくすると、図6のS114の処理による適正な露出値の算出結果は大きくなる。従って、露光時間及びISO感度が不変であれば、S116の撮像露光処理により得られる撮影画像は、当該変更前のものよりも明るくなる。従って、この場合には、撮影画面において輝度の高かった領域にいわゆる白飛びが生じる露出過多の画像になってしまう可能性がある。
そこで、以下のようにして、このような黒潰れ及び白飛びの発生を防止する。
まず、撮影画面に対して定義されている複数の測光エリアの各々による測光値のうち、最大のものと最低のものを取得する。図28のグラフにおいて、BV値が「10.0」の直線が当該測光値の最大のもの(被写界最大輝度)を表しており、BV値が「7.0」の直線が当該測光値の最小のもの(被写界最小輝度)を表している。
また、図28のグラフにおいて、BV値が「10.5」の直線は、S727の全体BV演算α処理により得られた測光値に、第一閾値P(図28の例では、P=2.75)を加算したものを示しており、この値から被写界最大輝度を減じた値を「背景プラス補正余裕」と称している。また、BV値が「6.5」の直線は、S727の全体BV演算α処理により得られた測光値に、第二閾値Q(図28の例では、Q=1.25)を減算したものを示しており、被写界最小輝度からこの値を減じた値を「背景マイナス補正余裕」と称している。
図28の例において、S727の全体BV演算α処理により得られた測光値を大きくして、前述した露光量範囲の中間値に近づけようとすると、BV値「7.75」の直線は、BV値「8.25」の直線に近づく方向(「シフト方向」と示されている矢印の方向)に移動する。すると、BV値「10.5」の直線(当該測光値+Pの直線)はBV値「7.75」の直線との間隔Pを維持しながら「シフト方向」に移動し、BV値「6.5」の直線(当該測光値−Qの直線)もBV値「7.75」の直線との間隔Qを維持しながら「シフト方向」に移動する。この結果、背景プラス補正余裕は増加し、背景マイナス補正余裕は減少する。
ここで、BV値「6.5」の直線(当該測光値−Qの直線)がBV値「7.0」の直線(被写界最小輝度の直線)を超える(すなわち、背景マイナス補正余裕の符号が負となる)と、S116の撮像露光処理により得られる撮影画像は露出不足となり、測光エリアに黒潰れが生じるものとする。つまり、第二閾値Qをこのように予め設定しておき、背景マイナス補正余裕の符号が負とならない範囲の下で撮影画面の評価結果としての測光値を大きくすることで、顔領域に対してより適切であって黒潰れのない撮影画像を得ることができる。
また、図28の例とは逆に、S727の全体BV演算α処理により得られた測光値を露光量範囲の中間値に近づけるために、当該測光値を小さくする場合には、背景プラス補正余裕は減少し、背景マイナス補正余裕は増加する。ここで、当該測光値+Pの直線が被写界最小輝度の直線を超える(すなわち、背景プラス補正余裕の符号が負となる)と、S116の撮像露光処理により得られる撮影画像は露出過多となり、測光エリアに白飛びが生じるものとする。つまり、第一閾値Pをこのように予め設定しておき、背景プラス補正余裕の符号が負とならない範囲の下で撮影画面の評価結果としての測光値を小さくすることで、顔領域に対してより適切であって白飛びのない撮影画像を得ることができる。
なお、第一閾値P及び第二閾値Qの値は、例えば、実際に撮影を行う等して適切な値を予め設定しておく。
以上を纏めると、まず、図22のS728では、Bμcom150は以下の処理を行う。
まず、露光許容量範囲内においての重なっている露光量範囲の中間値(上限値と下限値との平均値)を算出する。
次に、撮影画面に対して定義されている複数の測光エリアの各々による測光値のうちから、被写界最大輝度と被写界最小輝度とを取得する。
次に、S727の全体BV演算α処理により得られた測光値と、第一閾値P及び第二閾値Qの値と、当該露光量範囲の中間値と、被写界最大輝度及び被写界最小輝度とより、顔補正余裕、背景プラス補正余裕、及び背景マイナス補正余裕を算出する。
ここで、S727の全体BV演算α処理により得られた測光値と露光量範囲の中間値との大小比較を行う。ここで、当該測光値が当該中間値未満であるとき(図28に図示した例の場合)には、顔補正余裕と背景プラス補正余裕とのうち、小さい方の値を可能シフト量とする。一方、当該測光値が当該中間値以上であるときには、顔補正余裕と背景プラス補正余裕とのうち、小さい方の値の符号を負にしたもの(「−1」を乗算したもの)を可能シフト量とする。
次に、図22のS729において、撮影画面の評価結果としての測光値のシフトが可能であるか否かを判定する処理が行われる。ここで、当該測光値が当該中間値未満であるときに、背景マイナス補正が既に負の値である場合、及び、当該測光値が当該中間値以上であるときに、背景プラス補正が既に負の値である場合のどちらか一方の場合には、当該測光値のシフトは不可能であるとの判定を下し、その後はこの図22の処理を終了して元の処理へ戻る。なお、このときには、S727の全体BV演算α処理により算出されていた測光値が、撮影画面の評価結果としての測光値として設定される。一方、この他の場合には、S730に処理を進める。
次に、S730では、S728の処理により得られた可能シフト量を、S727の全体BV演算α処理により算出されていた測光値に加算し、この加算結果を、撮影画面の評価結果としての測光値として再算出する処理が行われ、その後はこの図22の処理を終了して元の処理へ戻る。
以上のようにして、顔領域の輝度を加味した被写界の測光値の算出が行われる。
[LV測光信頼性判定処理]
次に、図8のS303の処理としてBμcom150により行われる、LV測光信頼性判定処理について説明する。図29は、このLV測光信頼性判定処理の処理内容をフローチャートで示したものである。
図29において、まず、S801では、測光の信頼性の高さを数値で示す測光信頼性パラメータに、初期値として「50」ポイントを与える処理が行われる。なお、この測光信頼性パラメータは、値が大きいほど、LV測光の信頼性がより高いことを示すものとする。
次に、S802では、LV表示動作の開始直後であるか否かを判定する処理が行われ、LV表示動作の開始直後であると判定されたとき(判定結果がYesのとき)にのみ、S803において、測光信頼性パラメータの値を「10」ポイント減算する処理が行われる。LV表示動作の開始直後は、撮像素子23による画像の取得が不安定であるため、信頼性が高いとはいえないと考えられるからである。なお、LV表示動作の開始直後であるか否かの判定は、例えば、図6の処理が開始されてからの経過時間をBμcom150の有する不図示のタイマで計時し、この計時結果が、予め設定されている時間を過ぎたか否かに基づいて行う。
次に、S804では、撮像素子23から出力された画像データに基づいた測光の結果、撮影画面に対して定義されている複数の測光エリア間での測光値の最大値と最小値との差が所定値以上(図29の例では、BV値換算で所定7段以上)あるか否かを判定する処理が行われ、当該所定値以上の差があると判定されたとき(判定結果がYesのとき)にのみ、S805において、測光信頼性パラメータの値を「10」ポイント減算する処理が行われる。撮像素子(CCD)23は、受光量のダイナミックレンジが一般に余り広くはないので、撮影画面内における輝度差が所定値以上に大きかった場合には、信頼性が高いとはいえないと考えられるからである。
次に、S806では、接続レンズがCPUを備えておらず、搭載されているレンズの情報や絞りの設定情報などといった当該接続レンズに関する情報を当該接続レンズから得ることができないものであるか否かを判定する処理が行われ、接続レンズから何ら情報が得られないことによりCPUを備えていないと判定されたとき(判定結果がYesのとき)にのみ、S807において、測光信頼性パラメータの値を「10」ポイント減算する処理が行われる。このような接続レンズを使用して行うLV測光では、信頼性が高いとはいえないと考えられるからである。なお、図1のレンズユニット112は、このようなCPUとしてLμcom105を備えているので、このS806の判定結果はNoとなる。
次に、S808では、接続レンズが、ファインダ内の測光回路132での測光よりも、撮像素子23から出力された画像データに基づいた測光の方が適切な測光を行えるもの(図29の例では、アオリ撮影用のシフトレンズ)であるか否かを判定する処理が行われ、接続レンズがこのようなものであると判定されたとき(判定結果がYesのとき)にのみ、S809において、測光信頼性パラメータの値を「50」ポイント加算する処理が行われる。このような接続レンズを用いた撮影では、LV測光の方が、明らかに信頼性が高いと考えられるからである。
次に、S810では、撮像素子23から出力された画像データに基づいた測光の結果、撮影画面全体での測光値(撮影画面に対して定義されている複数の測光エリア間の測光値の加算平均値)が所定値以上であり、撮影画面が明る過ぎであるか否かを判定する処理が行われ、明る過ぎであると判定されたとき(判定結果がYesのとき)にのみ、S811において、測光信頼性パラメータの値を「10」ポイント減算する処理が行われる。撮像素子23は、撮影画面の輝度が余りに高すぎる場合には、その測光値の誤差が、ファインダ内の測光回路132での測光よりも一般的に大きくなるため、信頼性が高いとはいえないと考えられるからである。
次に、S812では、逆入射光の測光値が所定値よりも大きいか否かを判定する処理が行われ、大きいと判定されたとき(判定結果がYesのとき)にのみ、S813において、測光信頼性パラメータの値を「10」ポイント加算する処理が行われる。
逆入射光とは、図30に示すように、接眼レンズ113cから光学ファインダ内に入射する光をいう。この逆入射光がペンタプリズム113aを介して測光回路132に届くと、測光回路132による測光の精度を低下させる。従って、逆入射光の測光値が所定値以上に大きい場合には、LV測光の方が、信頼性が高いと考えられるからである。
なお、逆入射光は、ミラー駆動機構118を制御してクイックリターンミラー113bをアップさせた状態の下で、測光回路132により検出し測光することができる。
次に、S814では、現時点での露出補正値が所定値以内(図29の例では±2段以内)であるか否かを判定する処理が行われ、当該所定値以内であると判定されたとき(判定結果がYesのとき)にのみ、S815において、測光信頼性パラメータの値を「10」ポイント加算する処理が行われる。これは、露出補正量が大きい場合には、撮像素子(CCD)23における撮像のダイナミックレンジの端部分を用いての撮像により得た画面に基づいて測光を行うことになるが、ダイナミックレンジの端部分はリニアリティが低いため、このときの測光精度は低くなる。一方、露出補正量が小さい場合には、撮像素子(CCD)23における撮像のダイナミックレンジの中央部分を用いての撮像により得た画面に基づいて測光を行うことになり、この中央部分はリニアリティが良好であるので、LV測光でも信頼性は高いと考えられるからである。
次に、S816では、前述した図9の処理により得られている、撮影画面内の各顔領域の輝度値が、いずれも、当該撮影画面内の全ての顔領域の輝度の加算平均値に対し所定値以内(図29の例では±1.5段以内)であるか否かを判定する処理が行われ、当該所定値以内であると判定されたとき(判定結果がYesのとき)にのみ、S817において、測光信頼性パラメータの値を「10」ポイント加算する処理が行われる。この処理は、撮影画面内の各顔領域の輝度にばらつきが少なければ、LV測光でも信頼性は高いと考えられるからである。
次に、S818では、撮像素子23から出力された画像データに基づいた測光により得られる測光値の所定時間(図29の例では10ミリ秒)における変化幅が所定値以上であるか否かを判定する処理が行われ、所定値以上であると判定されたとき(判定結果がYesのとき)にのみ、S819において、測光信頼性パラメータの値を「10」ポイント減算する処理が行われる。この処理は、例えば蛍光灯などの、輝度レベルが周期的に変化する光源の下で撮像素子(CCD)23により撮像を行うと、得られる画像にはいわゆるフリッカ(画面のちらつき)が発生するため、LV測光の信頼性は低くなると考えられるからである。つまり、このS818の判定処理によってフリッカの発生の有無を検出し、発生が検出された場合には、S819の処理によって測光信頼性パラメータの値を低下させているのである。
次に、S820では、現在の測光信頼性パラメータの値が「50」ポイント以上であるか否かを判定する処理が行われる。ここで、測光信頼性パラメータの値が「50」ポイント以上であると判定されたとき(判定結果がYesのとき)には、S821において、LV測光の信頼性は高いとの最終判定を下し、その後はこの図29の処理を終了して元の処理へ戻る。一方、測光信頼性パラメータの値が「50」ポイント未満であると判定されたとき(判定結果がNoのとき)には、S822において、LV測光の信頼性は低いとの最終判定を下し、その後はこの図29の処理を終了して元の処理へ戻る。
以上のようにして、LV測光の信頼性が高いか低いかの判定が行われる。
[撮影装置の効果]
以上のように、図1のカメラによれば、顔検出エンジン158が、LV表示中に撮像モジュール20から取得した画像データに基づいて複数の人物顔を検出し、画像処理コントローラ140が、その人物顔における各々の顔輝度を算出し、Bμcom150が、人物顔における各々の顔検出状態に応じた重み付け値(FEVERポイント)を算出する。そして、Bμcom150が、算出された顔輝度と、算出された重み付け値に応じた許容値とから、各々の顔輝度のレンジを求め、これらの顔輝度のレンジの重複度合い、測光回路132によるファインダ測光の結果から算出された被写体輝度とを比較して、被写界の評価結果としての測光値を決定する。従って、このカメラによれば、決定された測光値に基づいてカメラの露出設定を行うことで、顔の領域についての露光量に配慮した上で、画像全体としてみても適切といえる範囲内で撮影を行うことができる。
なお、前述したFEVER演算処理(図13)では、FEVERポイントのマニュアル設定の手法として、設定モードに応じたFEVERポイントの値設定処理(S602)をBμcom150が実行して、図14Aに示したメニュー画面に示されている撮影目的のうちのひとつをユーザが選択することで、選択された撮影目的に対応するFEVERポイントの値が、図14Bの表から選択されて設定されるようにしていた。この代わりに、以下のようにしてもよい。
ユーザが、カメラ操作スイッチ152を操作して「顔AE設定」の指示をカメラに与えると、Bμcom150が、図13のS602において、図31に例示するような顔部許容露出量のマニュアル設定画面を表示する。ここで、ユーザは、カメラ操作スイッチ152である十字キースイッチを操作して「上限」若しくは「下限」のどちらかの設定欄の選択指示を行うと共に、カメラ操作スイッチ152であるダイヤルスイッチを操作して、当該設定欄内の顔部許容露出量の設定を行う。すると、Bμcom150は、この設定値を取得する処理を行う。
その後、Bμcom150は、上述したようにして取得した顔部許容露出量の上限値及び下限値を、前述した顔加味被写界測光値算出処理(図22)のS701のFEVERポイントから露光量のずれの許容範囲への変換処理の変換結果として扱うようにする。
このように、顔部許容露出量の上限値及び下限値をユーザが直接設定できるように図1のカメラを構成することも可能である。
以上、本発明の実施形態を説明したが、本発明は、上述した各実施形態に限定されることなく、本発明の要旨を逸脱しない範囲内で種々の改良・変更が可能である。
なお、上記した実施の形態から次のような構成の技術的思想も導かれる。
[付記1]被写体像を光学的に観察可能な光学ファインダと、
前記光学ファインダに設けられた測光センサと、
前記被写体像を画像データとして取得する撮像手段と、
前記画像データをライブビュー表示する表示手段と、
前記測光センサの出力に基づいて被写体輝度を算出する第一の測光値算出手段と、
前記ライブビュー表示中に前記撮像部から取得した画像データに基づいて複数の人物顔を検出し、該人物顔における各々の顔輝度と該人物顔における各々の顔検出状態に応じた重み付け値とを算出する第二の測光値算出手段と、
前記第一及び前記第二の測光値算出手段による算出結果に基づき、露光動作に用いる被写体輝度を決定する露光用輝度決定手段と、
を具備し、
前記露光用輝度決定手段は、前記第二の測光値算出手段により算出された顔輝度と該顔輝度に対応する重み付け値に応じた許容値とから各々の顔輝度のレンジを求め、これらの顔輝度のレンジの重複度合いと前記第一の測光値算出手段により算出された被写体輝度とを比較して被写体輝度を決定する、
ことを特徴とするデジタル一眼レフカメラ。
[付記2]前記顔検出状態として、人物顔の面積、人物顔の撮影領域の中央からの距離、人物顔の向き、検出された人物顔の総面積、の少なくとも1つを用いることを特徴とする付記1記載のデジタル一眼レフカメラ。
[付記3]前記デジタル一眼レフカメラに設定された撮影モードに応じて前記重み付け値を変更する変更手段を更に具備することを特徴とする付記1記載のデジタル一眼レフカメラ。