図8は従来の撮像装置の信号処理に係る機能構成の一例を示すブロック図である。
図8において、被写体(不図示)から入射した光学像は撮像素子1、A/D変換回路2によってデジタルの電気信号(画像信号)に変換され、メモリ3に蓄積される。メモリ3に蓄積された画像信号は、信号処理部20、自動露出(AE)制御値算出部8、オートフォーカス(AF)制御値算出部9に送られる。
AE制御値算出部8では、送られた画像信号から被写体を適正露出に撮影するためのシャッタスピード(Tv値)、絞り値(Av値)、撮影感度(Sv値)を決定する。また、AF制御値算出部9では、主被写体にピントが合うようにフォーカスレンズの位置を決定する。
一方、信号処理部20に送られた画像信号は、色補間回路4にて各画素がそれぞれRGB信号を持つようにそれぞれ補間され、色差信号作成部5にて色差信号UVが生成される。また、輝度補間回路6では輝度信号が生成され、エッジ強調部7にて輝度信号のエッジが強調された輝度信号Yが作成される。これら輝度色差信号YUVはRGB変換部10において再びRGB信号に変換され、ガンマ変換部11において後段のモニタの特性に合うガンマ変換処理が実施される。その後、YUV変換部12にて再び輝度色差信号YUVに変換されて、例えば、コンパクトフラッシュ(登録商標)などの記録媒体13に記録されると同時に、LCDなどの表示部14に表示される。上述した表示部14への表示を繰り返し行うことにより、電子ビューファインダ(EVF)機能が実現される。また顔検出機能を搭載したカメラの場合、顔検出回路15にて人物の顔を検出する。
図9A及び図9Bは、上記構成を有する撮像装置におけるシャッタボタンの半押し(以下、「SW1」と記述する。)前後の処理の一例を示すフローチャートである。ここで、シャッタボタンは一般的な2段式のスイッチで、SW1に応じてオートフォーカス(AF)処理、自動露出調整(AE)処理、オートホワイトバランス(AWB)処理、フラッシュプリ発光(EF)処理等の動作が開始される。また、例えば全押しにより、露光処理、現像処理、及び記録処理からなる一連の処理の動作を開始する。
図9Aは、SW1前のAE処理、顔検出処理及びEVF表示のための撮像シーケンスを示すフローチャートであり、図9Bは、SW1後のオートフォーカス(AF)動作及びEVF表示動作のシーケンスを示すフローチャートである。
●SW1前
先ず、被写体の明るさを適正に撮影するためにAE制御値算出部8で決定された露出条件で撮像素子1の感度及びシャッタスピード、絞りを制御し、被写体を撮影する(ステップS801)。なお、電源投入直後の場合はデフォルト設定値を使用する。
そして、ステップS801で設定された露光時間、撮像素子1を露光した後に、撮像素子1に蓄積された画像信号を読み出し、A/D変換回路2を介してメモリ3に記憶する(ステップS802)。メモリ3に記憶した画像信号に対して、信号処理部20では所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS803)、表示部14に表示する(ステップS804)。
ユーザによってSW1が押されるまで、上記ステップS801からS804を繰り返すことで、EVF表示を行う。
NTSC方式の場合、通常は、上述したEVF表示のためのシーケンスとして、上記ステップS801からS805が1秒間に30回(30フレーム/秒)繰り返される。ただし、被写体照度が低く、撮像素子1の撮影感度を上限に設定しても画像信号が適正なレベルにならない場合には、フレームレートを下げ、撮像素子の露光時間を長く(Tv=1/8秒程度に設定)する。このようにして適正なレベルの画像信号を得るように制御が行われている。
一方、上記EVF表示のためのシーケンスと平行して、AE制御値算出部8によりAE制御が実施される。AE制御としては、ここでは、撮影された画像の積分情報から露出条件を算出する手法を用いる(例えば、特許文献1参照)。即ち、ステップS802にてメモリ3に記憶された画像信号に基づいてAE評価値を算出し(ステップS806)、AE評価値が正しく算出されたかどうかを判断する(ステップS807)。正しく算出された場合にはステップS808に進んで、算出されたAE評価値に基づいて、被写体を適正な明るさで撮影できるように、絞り、撮像素子1のシャッタスピード、感度を設定する。一方、正しく算出されなかった場合は、ステップS809に進んでデフォルトの露出制御値を用いて、絞り、撮像素子1のシャッタスピード、感度を設定する。
SW1がONとなるまでは、新しい画像信号がメモリ3に記憶される度に上記ステップS806からS809を繰り返すことで、EVF表示中の露出値を求める。
更に、上記EVF表示のためのシーケンス及びAE制御と平行して、顔検出回路15により顔検出処理が実施される。即ち、ステップS802にてメモリ3に記憶された画像信号に基づいて、顔を検出する(ステップS810)。顔の検出方法としては、例えば、特許文献2に記載されている手法を用いることができる。
顔が検出された場合には(ステップS811でYES)、ステップS812にて検出された顔情報(顔の大きさ、座標、顔である確率情報など)をメモリ3に記録する。検出されない場合には(ステップS811でNO)、そのまま処理を終了する。
SW1がONとなるまでは、上記ステップS810からS812までの動作は、新しい画像信号がメモリ3に記憶される度に繰り返される。
●SW1後
次に、SW1後のAF制御及びEVF表示動作のシーケンスについて説明する。なお、AF制御としては、ここでは、公知の山登りAF制御を行うものとする(例えば、特許文献3参照)。
先ず、フォーカスレンズ(不図示)を初期位置に移動する(ステップS813)。なお、初期位置は、例えば無限遠端または至近端である。
次に、SW1前のシャッタスピードが1/30秒より早い場合には、AF評価値を取得するための撮像素子1の露光時間を1/60秒に設定する。また、SW1前のシャッタスピードが1/30秒より遅い場合には、AF評価値を取得するための露光時間を1/30秒に設定する(ステップS814)。これは、AF制御を高速化するためには、可能な限り早いスピードで撮像素子1を駆動した方がよいからである。
そして、ステップS814で設定された露光時間で被写体を撮影し(ステップS815)、撮像素子1から得られた画像信号をA/D変換回路2を介してメモリ3に記憶する(ステップS816)。メモリ3に記憶した画像信号に対して、信号処理部20では所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS817)、表示部14にEVF表示する(ステップS818)。
一方、ステップS816でメモリ3に記憶された画像信号に基づいて、AF制御値算出部9においてAF評価値を算出する(ステップS819)。
そして、フォーカスレンズを初期位置から所定量ずつ(または所定速度で)動かしながら、上述したAF評価値を複数のスキャン位置で算出する。従って、ステップS820において、全てのスキャン位置でAF評価値を取得したかどうかを判定する。取得していない場合にはステップS813に戻ってフォーカスレンズを次のスキャン位置まで動かし、ステップS819までの処理を繰り返し、AF評価値を取得する。全てのスキャン位置でAF評価値を取得した場合にはステップS821に進む。そして、AF制御値算出部9は、複数のスキャン位置で取得したAF評価値に基づいて合焦位置を求め、求めた合焦位置にフォーカスレンズを移動し(ステップS821)、合焦サインを出力する(ステップS822)。
特開2002−300468号公報(AE)
特開平08−063597号公報(顔検出)
特開2004−102135号公報(AF、山登り)
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
図1は本実施の形態における撮像装置の信号処理に係る機能構成の概略を示すブロック図である。
図1において、被写体(不図示)から入射した光学像は撮像素子1、A/D変換回路2によってデジタルの電気信号(画像信号)に変換され、加算回路21に入力される。加算回路21では、自動露出(AE)制御値算出部8、オートフォーカス(AF)制御値算出部9、顔検出回路15の少なくとも1つの制御に基づいて、入力された画像信号をメモリ3に記憶されている画像信号と加算して、再びメモリ3に記憶する。メモリ3に画像信号が記憶されていない場合には、入力された画像信号がそのままメモリ3に記憶されることになる。メモリ3に蓄積された画像信号は、信号処理部20、AE制御値算出部8、AF制御値算出部9に送られる。
AE制御値算出部8では、送られた画像信号から被写体を適正露出に撮影するためのシャッタスピード(Tv値)、絞り値(Av値)、撮影感度(Sv値)を決定する。また、AF制御値算出部9では、主被写体にピントが合うようにフォーカスレンズの位置を決定する。
一方、信号処理部20に送られた画像信号は、色補間回路4にて各画素がそれぞれRGB信号を持つようにそれぞれ補間され、色差信号作成部5にて色差信号UVが生成される。また、輝度補間回路6では輝度信号が生成され、エッジ強調部7にて輝度信号のエッジが強調された輝度信号Yが作成される。これら輝度色差信号YUVはRGB変換部10において再びRGB信号に変換され、ガンマ変換部11において後段のモニタの特性に合うガンマ変換処理が実施される。その後、YUV変換部12にて再び輝度色差信号YUVに変換されて、例えば、コンパクトフラッシュ(登録商標)などの記録媒体13に記録されると同時に、LCDなどの表示部14に表示される。上述した表示部14への表示を繰り返し行うことにより、電子ビューファインダ(EVF)機能が実現される。また顔検出機能を搭載したカメラの場合、顔検出回路15にて人物の顔を検出する。
<第1の実施形態>
次に、上記構成を有する撮像装置における、本第1の実施形態の動作について説明する。
図2A及び図2Bは、電子ビューファインダ(EVF)表示機能を備えた本第1の実施形態の撮像装置におけるシャッタボタンの半押し(以下、「SW1」と記述する。)前後の処理の一例を示すフローチャートである。ここで、シャッタボタンは一般的な2段式のスイッチで、SW1に応じてオートフォーカス(AF)処理、自動露出調整(AE)処理、オートホワイトバランス(AWB)処理、フラッシュプリ発光(EF)処理等の動作が開始される。また、例えば全押しにより、露光処理、現像処理、及び記録処理からなる一連の処理の動作を開始する。
図2Aは、SW1前のEVF表示動作のシーケンスを示したフローチャートである。通常、SW1前のEVF表示は、30フレーム/秒のフレームレート(遅くても、1/30秒のシャッタスピードで実現する)で実施される。また、撮像素子1の感度が設定可能な最高感度の状態かつ1/30秒のシャッタスピードにおいても適正な明るさの画像信号が得られない場合には、EVF表示のフレームレートを落とし、例えば1/8秒のシャッタスピードで被写体を撮影する場合がある。
以下、被写体照度が暗い場合の、SW1前後の撮像装置のAF制御及びEVF表示動作のシーケンスについて説明する。
●SW1前
先ず、パラメータを初期化する(ステップS100)。ここでは、液晶用加算カウンタ(EVFCounter)を0、AF用加算カウンタ(AFCounter)を0に設定すると共に、メモリ3をリセットする。
1/600秒の電子シャッタスピードで撮像素子1を駆動し、被写体を撮影する(ステップS101)。そして、撮像素子1から高速に画像信号を読み出し、A/D変換回路2を介して加算回路21に転送する(ステップS102)。本撮像装置の特徴の一つとして、撮像素子1を適正露光よりも十分早いシャッタスピードで駆動し、高速に読み出した画像信号をメモリ3を利用して加算回路21により複数フレーム分、対応する画素毎に加算することで適正露出のシャッタスピードの画像を得る。図3はその概念を図に示したもので、例えば1/600秒で撮影して得た画像信号をメモリ内で20回加算することで、1/30秒で露出した画像と同等の画像を得ることが可能となる。
このとき、メモリ3に画像(1フレーム分の画像信号)が格納されている場合は、加算回路21は撮像素子1の出力信号と既に格納されている画像信号との加算演算行い、加算した画像信号を再びメモリ3に格納する(ステップS103)。格納されていない場合には、撮像素子1からの信号がそのままメモリ3に格納されることになる。また、EVF用加算カウンタ(EVFCounter)を1カウントアップする。
次に、EVF用加算カウンタ(EVFCounter)が75であるかどうかを判定する(ステップS104)。ここで、EVF用加算カウンタが75である場合にはステップS105に進み、EVF用加算カウンタが75未満の場合には、ステップS101からS104の動作を繰り返す。このように、1/600秒の電子シャッタで画像を75回撮影し加算することで、1/8秒で露光した画像と同等の画像信号が得られることになる。
ステップS105ではメモリ3に格納された加算画像信号を読み出し、信号処理部20に送る。そして、メモリ3を0にリセットすると共に、EVF用加算カウンタ(EVFCounter)を0にリセットする(ステップS106)。
信号処理部20では、読み出した画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS107)、表示部14に表示する(ステップS108)。
ユーザによってSW1が押されるまで、上記ステップS101からS108を繰り返すことで、EVF表示を行う。
●SW1後
ユーザーによってシャッタが半押しされると、AF制御が開始される。本第1の実施形態においても、ここでは公知の山登りAF動作を行うものとする(例えば、特許文献3参照)。
AF制御では、「背景技術」で図9Bを参照しながら説明したように、通常のEVF表示フレームレート以上に高速なフレームレート、即ち、高速なシャッタスピードで撮影を行う必要がある。通常、被写体が十分明るい場合は1/60秒より早い速度で、被写体が暗い場合においても、1/30秒以上の速さが必要となる。そこで、本第1の実施形態では、EVF表示に用いる画像の露光時間と、AF制御のために用いる画像の露光時間を異ならせることで、EVF表示の明るさを保ったまま、高速なAF制御を実現できるよう工夫することを特徴としている。以下に、AF制御中の撮影動作、及びEVF表示の処理動作を説明する。
先ず、図2BのステップS109において、フォーカスレンズ(不図示)を初期位置に移動する。なお、初期位置は、例えば無限遠端または至近端である。
次に、1/600秒の電子シャッタスピードで撮像素子1を駆動し、被写体を撮影する(ステップS110)。そして、撮像素子1から高速に画像信号を読み出し、A/D変換回路2を介して加算回路21に転送する(ステップS111)。
このとき、メモリ3に画像が格納されている場合、加算回路21は撮像素子1の出力信号と既に格納されている画像信号との加算演算を行い、加算した画像信号をAF用の画像信号として再びメモリ3に格納する(ステップS112)。格納されていない場合には、撮像素子1からの信号がそのままメモリ3に格納されることになる。また、AF用加算カウンタ(AFCounter)を1カウントアップする。
次に、AF用加算カウンタ(AFCounter)が20であるかどうかを判定する(ステップS113)。ここで、AF用加算カウンタが20である場合にはステップS114に進み、AF用加算カウンタが20未満の場合には、ステップS110からS113の動作を繰り返す。このように、1/600秒の電子シャッタで画像を20回撮影し加算することで、1/30秒で露光した画像と同等の画像信号が得られることになる。
ステップS114ではメモリ3に格納されたAF用の加算画像信号を読み出し、AF制御値算出部9に送る。そして、AF用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、AF用加算カウンタ(AFCounter)を0にリセットする(ステップS115)。
一方、AF制御値算出部9は、ステップS114でメモリ3から読み出した画像信号に基づいて、AF評価値を算出する(ステップS116)。
そして、フォーカスレンズを初期位置から所定量ずつ(または所定速度で)動かしながら、上述したAF評価値を複数のスキャン位置で算出する。従って、ステップS117において、全てのスキャン位置でAF評価値を取得したかどうかを判定する。取得していない場合にはステップS118でフォーカスレンズを次のスキャン位置まで動かし、ステップS110からS116までの処理を繰り返し、AF評価値を取得する。全てのスキャン位置でAF評価値を取得した場合にはステップS119に進む。そして、AF制御値算出部9は、複数のスキャン位置で取得したAF評価値に基づいて合焦位置を求め、求めた合焦位置にフォーカスレンズを移動し(ステップS119)、合焦サインを出力する(ステップS120)。
次に、AF制御期間における、EVF表示動作について以下に説明する。
ステップS121において、加算回路21はAF制御用の画像信号とは別に、EVF表示用に撮像素子1の出力信号と既にメモリ3に格納されている画像信号との加算演算を行う。そして、加算した画像信号をEVF用の画像信号として再びメモリ3に格納する。格納されていない場合には、撮像素子1からの信号がEVF用の画像信号としてそのままメモリ3に格納されることになる。このように、本第1の実施形態では、AF用とEVF用に別々に画像信号を加算し、メモリ3に別々に記憶しておく。また、EVF用加算カウンタ(EVFCounter)を1カウントアップする。
次に、EVF用加算カウンタ(EVFCounter)が75であるかどうかを判定する(ステップS122)。ここで、EVF用加算カウンタが75である場合にはステップS122に進み、EVF用加算カウンタが75未満の場合には、ステップS110、S111、S121の処理を繰り返す。このように、1/600秒の電子シャッタで画像を75回撮影し加算することで、1/8秒で露光した画像と同等の画像信号が得られることになる。
ステップS123ではメモリ3に格納されたEVF用の加算画像信号を読み出し、信号処理部20に送る。そして、EVF用の画像信号を格納したメモリ3の領域を0にリセットすると共に、EVF用加算カウンタ(EVFCounter)を0にリセットする(ステップS124)。
信号処理部20では、メモリ3から読み出したEVF用の加算画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS125)、表示部14に表示する(EVF表示)(ステップS126)。
以上のように、本第1の実施形態によれば、SW1後のAF評価値算出用に用いる画像とEVF表示用に用いる画の露光時間を、撮像素子1から読み出した画像の加算枚数を異ならせることで変えることが可能となる。これにより、高速なAF制御を実現すると共に、表示部14には適正な明るさの画像を表示することが可能になる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
本第2の実施形態では、AE制御及びAE制御中のEVF表示動作について説明する。
図4は本第2の実施形態におけるAE制御及びAE動作中のEVF表示動作のシーケンスを示すフローチャートである。通常、SW1前のEVF表示は、30フレーム/秒のフレームレートであり、被写体が暗い場合であっても、8フレーム/秒程度のフレームレートとしている。EVF用の表示フレームレートを低くすると、フレーミング動作、特に動いている被写体に対してのフレーミング動作が著しく困難になる。
そこで、本第2の実施形態では、被写体が暗い場合のEVF用の表示フレームレートを可能な限り30枚/秒でキープしつつ、適正なAE動作を実現させるものである。以下に、動作シーケンスを説明する。
先ず、パラメータ初期化する(ステップS201)。ここでは、AE用加算回数nを20、AE用加算カウンタ(AECounter)を0、AVF用加算カウンタ(EVFCounter)を0に設定すると共に、メモリ3をリセットする。
1/600秒の電子シャッタスピードで撮像素子1を駆動し、被写体を撮影する(ステップS202)。そして、撮像素子1から高速に画像信号を読み出し、A/D変換回路2を介して加算回路21に転送する(ステップS203)。
このとき、メモリ3に画像が格納されている場合、加算回路21は撮像素子1の出力信号と既に格納されている画像信号との加算演算を行い、加算した画像信号をAE用の画像信号として再びメモリ3に格納する(ステップS204)。格納されていない場合には、撮像素子1からの信号がそのままメモリ3に格納されることになる。また、AE用加算カウンタ(AECounter)を1カウントアップする。
次に、AE用加算カウンタ(AECounter)がn(ここでは20)であるかどうかを判定する(ステップS205)。ここで、AE用加算カウンタがnである場合にはステップS206に進み、AE用加算カウンタがn未満の場合には、ステップS202からS204の処理を繰り返す。このように、1/600秒の電子シャッタで画像をn回撮影し加算することで、n/600秒で露光した画像と同等の画像信号が得られることになる。
ステップS206ではメモリ3に格納されたAE用の加算画像信号を読み出し、AE制御値算出部8に送る。そして、AE用の加算画像信号に基づいてAE評価値を算出し(ステップS207)、AE評価値が正しく算出されたかどうかを判断する(ステップS208)。正しく算出された場合にはステップS209に進んで、算出されたAE評価値に基づいて、被写体を適正な明るさで撮影できるように、露出制御値(シャッタスピード(Tv)、絞り値(Av))を設定する。なお、Tv、Avは、生成された画像信号より予め設定されたブロック毎の輝度値を算出し、その輝度値と予め設定された目標輝度値を用いて決定する(例えば、特許文献2参照)。
ステップS210では、AE用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、AE用加算カウンタ(AECounter)を0にリセットし、ステップS202に戻ってステップS210までのAE動作を繰り返す。
一方、正しく算出されなかった場合は、ステップS220に進み、画像加算数nを変更して、ステップS202からS207を繰り返す。ステップS220では、ステップS206、S207において得られた画像が暗すぎてAE評価値が正しく求まらない場合には、画像加算数を増やす。例えばn=20をn=75に変更すれば、シャッタスピードが75/600秒=1/8秒となり、1/30秒よりも2段分暗い被写体が撮影できるようになる。また、得られた画像が明るすぎてAE評価値が正しく求まらない場合には、画像加算数を減らす。例えばn=20をn=7に変更すれば、シャッタスピードが7/600秒=約1/90秒となり、1/30秒より約2段分明るい被写体が撮影できるようになる。
一方、上記AE制御と平行して、EVF表示動作も行う。以下、このEVF表示動作について説明する。
ステップS211において、加算回路21はAE制御用の画像信号とは別に、EVF表示用に撮像素子1の出力信号と既にメモリ3に格納されている画像信号との加算演算を行う。そして、加算した画像信号をEVF用の画像信号として再びメモリ3に格納する。格納されていない場合には、撮像素子1からの信号がEVF用の画像信号としてそのままメモリ3に格納されることになる。このように、本第2の実施形態では、AE用とEVF用とで別々に画像信号を加算し、メモリ3に別々に記憶しておく。また、EVF用加算カウンタ(EVFCounter)を1カウントアップする。
次に、EVF用加算カウンタ(EVFCounter)が20であるかどうかを判定する(ステップS212)。ここで、EVF用加算カウンタが20である場合にはステップS213に進み、EVF用加算カウンタが20未満の場合には、ステップS202、S203、S211の処理を繰り返す。このように、1/600秒の電子シャッタで画像を20回撮影し加算することで、1/30秒で露光した画像と同等の画像信号が得られることになる。
ステップS213ではメモリ3に格納されたEVF用の加算画像信号を読み出し、信号処理部20に送る。そして、EVF用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、EVF用加算カウンタ(EVFCounter)を0にリセットする(ステップS214)。
信号処理部20では、メモリ3から読み出したEVF用の加算画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS215)、表示部14に表示する(EVF表示)(ステップS216)。
以上のように、本第2の実施形態によれば、AE評価値算出用に用いる画像とEVF表示用に用いる画像の露光時間を、撮像素子1から読み出した画像の加算枚数を異ならせることで変えることが可能となる。これにより、EVF表示フレームレートを保ちながら、AE制御の精度を向上させることが可能になる。
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
本第3の実施形態では、顔検出動作及び顔検出動作中のEVF表示動作について説明する。
図5は本第3の実施形態における顔検出機能を搭載した撮像装置における顔検出動作及び顔検出動作中のEVF表示動作のシーケンスを示すフローチャートである。本第3の実施形態においては、逆光シーンや背景が暗く顔が白くとんでいるシーン(トンネルシーン)における顔検出の精度を向上できるように、EVF表示用画像と顔検出に用いる画像の露光条件を異ならせることを特徴とする。以下に、動作シーケンスを説明する。
先ず、パラメータ初期化する(ステップS301)。ここでは、EVF用加算カウンタ(EVFCounter)を0、第1の顔検出用加算カウンタ(FACECounter1)を0、第2の顔検出用加算カウンタ(FaceCounter2)を0に設定すると共に、メモリ3をリセットする。
1/600秒の電子シャッタスピードで撮像素子1を駆動し、被写体を撮影する(ステップS302)。そして、撮像素子1から高速に画像信号を読み出し、A/D変換回路2を介して加算回路21に転送する(ステップS303)。
このとき、メモリ3に画像が格納されている場合、加算回路21は撮像素子1の出力信号と既に格納されている画像信号との加算演算を行い、加算した画像信号をEVF用の画像信号として再びメモリ3に格納する(ステップS304)。格納されていない場合には、撮像素子1からの信号がそのままメモリ3に格納されることになる。また、EVF用加算カウンタ(EVFCounter)を1カウントアップする。
次に、EVF用加算カウンタ(EVFCounter)が20であるかどうかを判定する(ステップS305)。ここで、EVF用加算カウンタが20である場合にはステップS306に進み、EVF用加算カウンタが20未満の場合、ステップS302からS304の動作を繰り返す。このように、1/600秒の電子シャッタで画像を20回撮影し加算することで、1/30秒で露光した画像と同等の画像信号が得られることになる。
ステップS306ではメモリ3に格納されたEVF用の加算画像信号を読み出し、信号処理部20に送る。そして、EVF用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、EVF用加算カウンタ(EVFCounter)を0にリセットする(ステップS307)。
信号処理部20では、メモリ3から読み出したEVF用の加算画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS308)、表示部14に表示する(EVF表示)(ステップS309)。同時に、輝度色差(YUV)信号を用いて顔検出回路15で顔の検出を行う。
なお、上記ステップS302からS310までの処理は、SW1が押されるまで繰り返し行われる。
本第3の実施形態では更に、露出を異ならせた3枚の画像を用いて顔検出を実施する。以下、この顔検出動作について説明する。
ステップS311において、加算回路21はEVF用の画像信号とは別に、顔検出用に撮像素子1の出力信号と既にメモリ3に格納されている画像信号との加算演算を行い、加算した画像信号を顔検出用の画像信号として再びメモリ3に格納する。格納されていない場合には、撮像素子1からの信号が顔検出用の画像信号としてそのままメモリ3に格納されることになる。このように、本第3の実施形態では、EVF用と顔検出用とで別々に画像信号を加算し、メモリ3に別々に記憶しておく。また、第1の顔検出用加算カウンタ1(FACECounter1)を1カウントアップする。
次に、第1の顔検出用加算カウンタ(FACECounter1)が4であるかどうかを判定する(ステップS312)。ここで、第1の顔検出用加算カウンタが4である場合にはステップS313に進み、第1の顔検出用加算カウンタが4未満の場合には、ステップS302、S303、S311の処理を繰り返す。このように、1/600秒の電子シャッタで画像を4回撮影し加算することで、1/150秒で露光した画像と同等の画像信号が得られることになる。
ステップS313ではメモリ3に格納された顔検出用の加算画像信号を読み出し、信号処理部20に送る。そして、顔検出用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、第1の顔検出用加算カウンタ(FACECounter1)を0にリセットする(ステップS314)。
信号処理部20では、メモリ3から読み出した顔検出用の加算画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換し(ステップS315)し、この輝度色差(YUV)信号を用いて顔検出回路15で顔の検出を行う(ステップS316)。
同様にして、ステップS317からS322において第2の顔検出用加算カウンタ(FACECounter2)を用いて、1/600秒の電子シャッタで画像を75回撮影し加算する。そして、得られた1/8秒で露光した画像と同等の画像信号に基づいて、顔検出を行う。
顔検出回路15では、ステップS310、S316、S322の顔検出結果の内、最も信頼性の高い顔情報をメモリ3に記録する。
上記の通り、本第3の実施形態によれば、EVF表示用の画像と、当該画像と露光条件の異なる画像2枚の計3枚の画像信号を用いてそれぞれ顔検出を実施する。これにより、EVF表示フレームレートを保ちながら、ダイナミックレンジの広い被写体であっても顔検出精度を向上させることが可能になる。
なお、上記第3の実施形態では、3種類の露光条件で得られた画像信号を用いて顔検出を行う場合について説明した。しかしながら、本発明は露光条件の種類の数に限られるものではなく、2種類、または4種類以上の画像信号を用いるように構成することも勿論可能である。
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。
本第4の実施形態では、顔検出動作及び顔検出動作中のEVF表示動作の別の例について説明する。
図6は本第4の実施形態における顔検出機能を搭載した撮像装置における顔検出動作及び顔検出動作中のEVF表示動作のシーケンスを示すフローチャートである。本第4の実施形態においては、トンネルシーンにおいて、従来では人物が白とびしていて顔が検出されない場合にも顔検出の精度を向上できるように、EVF表示用画像と顔検出に用いる画像の露光条件を異ならせることを特徴とする。以下に、動作シーケンスを説明する。
先ず、パラメータ初期化する(ステップS401)。ここでは、顔検出用加算回数nを20、EVF用加算カウンタ(EVFCounter)を0、顔検出用加算カウンタ(FACECounter)を0に設定すると共に、メモリ3をリセットする。
EVF用の画像信号を取得し、EVF表示するまでの処理は、図5のステップS302からS309の処理と同様であるため図6においても同じ参照番号を付し、説明を省略する。
なお、上記ステップS302からS309までの処理は、SW1が押されるまで繰り返し行われる。
一方、上記EVF表示動作と平行して、顔検出動作も行う。以下、この顔検出動作について説明する。
ステップS410において、加算回路21はEVF用の画像信号とは別に、顔検出用に撮像素子1の出力信号と既にメモリ3に格納されている画像信号との加算演算を行い、加算した画像信号を顔検出用の画像信号として再びメモリ3に格納する。格納されていない場合には、撮像素子1からの信号が顔検出用の画像信号としてそのままメモリ3に格納されることになる。このように、本第4の実施形態においても、EVF用と顔検出用とで別々に画像信号を加算し、メモリ3に別々に記憶しておく。また、顔検出用加算カウンタ(FaceCounter)を1カウントアップする。
次に、顔検出用加算カウンタ(FaceCounter)がn(ここでは20)であるかどうかを判定する(ステップS411)。ここで、顔検出用加算カウンタが20である場合にはステップS412に進み、顔検出用加算カウンタが20未満の場合には、ステップS402、S403、S410の処理を繰り返す。このように、1/600秒の電子シャッタで画像を20回撮影し加算することで、1/30秒で露光した画像と同等の画像信号が得られることになる。
ステップS412ではメモリ3に格納された顔検出用の加算画像信号を読み出し、信号処理部20に送る。そして、顔検出用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、顔検出用加算カウンタ(FaceCounter)を0にリセットする(ステップS413)。更に、nを初期化する(ここでは20)。
信号処理部20では、メモリ3から読み出した顔検出用の加算画像信号に対して所定の画像処理を施した後、輝度色差(YUV)信号に変換(ステップS414)し、この輝度色差(YUV)信号を用いて顔検出回路15で顔の検出を行う(ステップS415)。
顔が検出された場合には(ステップS416でYES)、ステップS419にて検出された顔情報(顔の大きさ、座標、顔である確率情報など)をメモリ3に記録する。
一方、顔が検出されない場合には(ステップS416でNO)、顔検出に用いた加算画像信号から、被写体がトンネルシーンかどうかを判別する(ステップS417)。トンネルシーンである場合にはステップS418に、そうでない場合にはステップS402に戻る。トンネルシーンの判別には、例えば、特許文献1に記述されている手法を用いることができる。
トンネルシーンである場合には、加算枚数nを減らす(ステップS418)。例えば、加算枚数がn=20で検出できない場合、加算枚数をn=5とすることで、次回の画像信号加算処理により1/125秒で露光した画像と同等の画像信号が得られることになる。
通常トンネルシーンなどで顔が白く飽和して顔が検出できない場合、約2段程度露出を暗くして撮影すれば顔の白とびがなくなり顔が検出できることが検証されている。また、2段程度露出を低くした画像で顔が検出できない場合は、顔が検出できないほど顔が小さいか、顔が存在しないかのどちらかである。この場合、次回の顔検出ではステップS413で加算枚数nを初期値の20に戻すので、1/30秒で露光した画像と同等の画像信号を得ることができる。
上記の通り、本第4の実施形態によれば、顔が白飛びしている場合には、EVF表示用の画像よりも短い露光時間の画像を用いて顔検出を実施するため、顔検出精度を向上させることが可能になる。
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。
本第5の実施形態では、顔検出動作及び顔検出動作中のEVF表示動作の別の例について説明する。
図7は本第5の実施形態における顔検出機能を搭載した撮像装置における顔検出動作及び顔検出動作中のEVF表示動作のシーケンスを示すフローチャートである。本第5の実施形態においては、逆光シーンにおいて、従来では人物が黒つぶれしていて顔が検出されない場合にも顔検出の精度を向上できるように、EVF表示用画像と顔検出に用いる画像の露光条件を異ならせることを特徴とする。以下に、動作シーケンスを説明するが、図7のステップS302からS309は図5に示す処理と、また、ステップS410からS416の処理は、ステップS513の処理を除いて図6に示す処理と同様であるため、ここでは説明を省略する。
本第5の実施形態においては、ステップS513では、加算回数nを初期値に設定して、ステップS414に進む。ここでは、顔検出用の加算画像信号を格納したメモリ3の領域を0へのリセット、顔検出用加算カウンタ(FaceCounter)の0へのリセットをまだ行わない。
図7のステップS416において、顔が検出されたと判断した場合には、ステップS521で顔検出用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、顔検出用加算カウンタ(FaceCounter)を0にリセットする。そして、ステップS522において、検出された顔情報(顔の大きさ、座標、顔である確率情報など)をメモリ3に記録する。
一方、顔が検出されなかったと判断された場合はステップS517へ進み、ステップS415で顔検出に用いた加算画像信号を、予め設定された任意のブロック数に分割し、各ブロック毎にブロック積分値を算出する。
そして、算出したブロック積分値に基づいて、被写体が逆光シーンかどうかを判別する(ステップS418)。逆光シーンでない場合には、ステップS520に進んで顔検出用の加算画像信号を格納したメモリ3の領域を0にリセットすると共に、顔検出用加算カウンタ(FaceCounter)を0にリセットして、ステップS502の処理に戻る。
一方、逆光シーンである場合にはステップS519に、そうでない場合にはステップS402に戻る。逆光シーンの判別には、例えば、特許文献1に記述されている手法を用いることができる。
ステップS519では、ステップS518における逆光判別で判別された黒つぶれ領域の輝度値より、輝度値が顔検出可能な輝度値となる露光条件を算出し、算出した露光条件に基づいて加算枚数を算出する。例えば、黒つぶれ領域の輝度値が20LSB(8bit)の時、以下の方法で露出値を算出する。
先ず、逆ガンマ変換回路(不図示)を用い、ガンマ処理前のリニア信号値を算出する。例えばガンマ変換後の信号値が20LSBで、ガンマ変換前のリニア信号値が15LSB(10bit)であったとする。
また、顔検出回路15の検出最低輝度が例えば30LSB(8bit)で、ガンマ変換前のリニア信号値では20LSBとする。この場合、約0.5段露出が不足していることになるため、加算枚数を20枚から30枚に増やすことにより顔検出が可能となる。ただし、実際には若干のマージンをもたせて露出条件を変更する方が好ましいため、この場合は約1段分露光時間を増やす。従って、加算枚数nを20枚(1/30秒)から40枚(1/15秒)へと変更する。その後ステップS302に戻り、顔検出用加算カウンタ(FACECounter)が40になるまで画像を追加加算し、上述した処理を繰り返す。
また、ステップS519にて加算枚数nを増やして得た画像でも顔が検出できない場合は、顔が検出できないほど顔が小さいか、顔が存在しないかのどちらかである。この場合、次回の顔検出ではステップS513で加算枚数nを初期値の20に戻すので、1/30秒で露光した画像と同等の画像信号を得ることができる。
上記の通り、本第5の実施形態によれば、顔が黒つぶれしている場合には、EVF表示用の画像よりも長い露光時間の画像を用いて顔検出を実施するため、顔検出精度を向上させることが可能になる。
なお、上記第1から第5の実施形態は、適宜組み合わせて実行することが可能である。
また、上記第1から第5の実施形態において説明した、撮像素子1から画像信号を読み出す速度である1/600秒や、画像の加算枚数としての20、75、40といった数は一例であり、適宜変更可能であることは言うまでもない。