以下、添付図面を参照して本発明に係る撮像装置を実施するための最良の形態について説明する。
図1、図2は、それぞれ本発明が適用されたデジタルカメラの外観構成を示す正面斜視図と背面斜視図である。
同図に示すように、このデジタルカメラ10は、いわゆるコンパクトカメラとして構成されており、そのカメラボディ12は、片手で把持可能な形状に形成されている。
カメラボディ12の正面には、図1に示すように、撮影レンズ14、ストロボ16、スピーカ18、AF補助光ランプ20等が設けられており、上面には、シャッタボタン22、モードレバー24、電源ボタン26等が設けられている。
一方、カメラボディ12の背面には、図2に示すように、モニタ28、ズームボタン30、再生ボタン32、手ブレ補正ボタン34、十字ボタン36、MENU/OKボタン38、DISP/BACKボタン40、顔検出ボタン42等が設けられている。
また、図示されていないが、カメラボディ12の底面には、三脚ネジ穴及び開閉自在なバッテリカバーが設けられており、バッテリカバーの内側には、バッテリを収納するためのバッテリ収納室及びメモリカードを装着するためのメモリカードスロットが設けられている。
撮影レンズ14は、光学式の手ブレ補正機能を有する沈胴式のズームレンズで構成されており、デジタルカメラ10の電源をONすると、カメラボディ12から繰り出される。なお、撮影レンズ14のズーム機構や沈胴機構については、公知の技術なので、ここでは、その具体的な構成についての説明は省略する。
ストロボ16は、キセノン管で構成されており、暗い被写体を撮影する場合や逆光時などに必要に応じて発光される。
AF補助光ランプ20は、たとえば高輝度LED構成されており、AF時に必要に応じて発光される。なお、このAF補助光ランプ20は、発光するAF補助光の光量を変更できるように構成されている。
シャッタボタン22は、いわゆる「半押し」と「全押し」とからなる二段ストローク式のスイッチで構成されている。デジタルカメラ10は、このシャッタボタン22を半押しすると撮影準備処理、すなわち、AE(Automatic Exposure:自動露出)、AF(Auto Focus:自動焦点合わせ)、AWB(Automatic White Balance:自動ホワイトバランス)の各処理を行い、全押すると、画像の撮影・記録処理を行う。
モードレバー24は、撮影モードの設定に用いられる。このモードレバー24は、シャッタボタン22の周りを所定の角度の範囲で揺動自在に設けられており、「SP位置」、「AUTO位置」、「M位置」、「動画位置」にセット可能に設けられている。デジタルカメラ10は、このモードレバー24を「SP位置」にセットすることにより、「シーンプログラム撮影モード」に設定され、撮影シーンに応じた露出制御、撮影制御を行うモードに設定される。また、「AUTO位置」にセットすることにより、「オート撮影モード」に設定され、露出制御を全自動で行うモードに設定される。また、「M位置」に設定されることにより、「マニュアル撮影モード」に設定され、露出設定を手動で行うモードに設定される。また、「動画位置」に設定することにより、「動画撮影モード」に設定され、動画を撮影するモードに設定される。なお、「シーンプログラム撮影モード」としては、たとえば、人物撮影を行う「人物モード」、風景撮影を行う「風景モード」、スポーツ撮影を行う「スポーツモード」、夜景撮影を行う「夜景モード」、水中撮影を行う「水中モード」等が用意されている。
電源ボタン26は、デジタルカメラ10の電源をON/OFFするのに用いられ、所定時間(たとえば、2秒)押下されることにより、デジタルカメラ10の電源がON/OFFされる。
モニタ28は、カラーLCDで構成されている。このモニタ28は、撮影済み画像を表示するための画像表示部として利用されるとともに、各種設定時にGUIとして利用される。また、撮影時には、撮像素子で捉えた画像がスルー表示され、電子ファインダとして利用される。
ズームボタン30は、撮影レンズ14のズーム操作に用いられ、望遠側へのズームを指示するズームテレボタンと、広角側へのズームを指示するズームワイドボタンとで構成されている。
再生ボタン32は、再生モードへの切り替え指示に用いられる。すなわち、デジタルカメラ10は、撮影中、この再生ボタン32が押されると、再生モードに切り替えられる。また、電源OFFの状態でこの再生ボタン32が押されると、再生モードの状態でデジタルカメラ10が起動する。
手ブレ補正ボタン34は、手ブレ補正機能のON/OFFの切り替え指示に用いられ、この手ブレ補正ボタン34が押されるたびに手ブレ補正機能のON/OFFが切り替えられる。なお、電源投入時、手ブレ補正機能は前回終了時の状態に設定される。すなわち、手ブレ補正機能をONに設定したまま電源をOFFすると、次回電源投入時、手ブレ補正機能はONに設定された状態で起動し、手ブレ補正機能をOFFに設定したまま電源をOFFすると、次回電源投入時、手ブレ補正機能はOFFに設定された状態で起動する。
十字ボタン36は、上下左右4方向に押圧操作可能に設けられており、各方向のボタンには、カメラの設定状態に応じた機能が割り当てられる。たとえば、撮影時には、左ボタンにマクロ機能のON/OFFを切り替える機能が割り当てられ、右ボタンにストロボモードを切り替える機能が割り当てられる。また、上ボタンにモニタ28の明るさを替える機能が割り当てられ、下ボタンにセルフタイマのON/OFFを切り替える機能が割り当てられる。また、再生時には、左ボタンにコマ送りの機能が割り当てられ、右ボタンにコマ戻しの機能が割り当てられる。また、上ボタンにモニタ28の明るさを替える機能が割り当てられ、下ボタンに再生中の画像を削除する機能が割り当てられる。また、各種設定時には、モニタ28に表示されたカーソルを各ボタンの方向に移動させる機能が割り当てられる。
MENU/OKボタン38は、メニュー画面の呼び出し(MENU機能)に用いられるとともに、選択内容の確定、処理の実行指示等(OK機能)に用いられ、デジタルカメラ10の設定状態に応じて割り当てられる機能が切り替えられる。
メニュー画面では、たとえば露出値、色合い、ISO感度、記録画素数などの画質調整やセルフタイマの設定、測光方式の切り替え、デジタルズームを使用するか否かなど、デジタルカメラ10が持つ全ての調整項目の設定が行われる。デジタルカメラ10は、このメニュー画面で設定された条件に応じて動作する。
DISP/BACKボタン40は、モニタ28の表示内容の切り替え指示(DISP機能)に用いられるとともに、入力操作のキャンセル等の指示(BACK機能)に用いられ、デジタルカメラ10の設定状態に応じて割り当てられる機能が切り替えられる。
顔検出ボタン42は、顔検出機能のON/OFFの切り替え指示に用いられ、この顔検出ボタン42が押されるたびに顔検出機能のON/OFFが切り替えられる。この顔検出機能がONされると、画面中の人物の顔が検出され、その検出された顔にピントが合わせられるとともに、その顔が適正な明るさなるように露出が設定される。また、撮影によって得られた画像に対して人物画像に適した画像処理が行われる(たとえば、人物の肌がきれいになるように色調整処理等が行われる。)。
なお、電源投入時、顔検出機能は前回終了時の状態に設定される。すなわち、顔検出機能をONに設定したまま電源をOFFすると、次回電源投入時、顔検出機能はONに設定された状態で起動し、顔検出機能をOFFに設定したまま電源をOFFすると、次回電源投入時、顔検出機能はOFFに設定された状態で起動する。
また、この顔検出機能がONされている場合において、撮影しようとしている画像に人物の顔が含まれていないと判定されると(人物の顔が検出されない場合)、警告が行われる(たとえば、モニタ28にエラーメッセージを表示させたり、アラームを鳴らしたりする)。撮影者は、この警告により、間違って顔検出機能がON設定されていることを知ることができ、適切に顔検出機能をOFFすることができる。これにより、人物の顔が写されていないのに、人物画像に適した画像処理が行われ、不自然な画像となってしまうことを未然に防止することができる。
なお、顔検出機能をON設定している場合において、顔が検出されずに画像が撮影された場合には、この種の画像処理の機能を自動的に停止するようにしてもよい。
図3は、デジタルカメラ10の電気的構成を示すブロック図である。
同図に示すように、デジタルカメラ10は、CPU110、操作部(シャッタボタン22、モードレバー24、電源ボタン26、ズームボタン30、再生ボタン32、手ブレ補正ボタン34、十字ボタン36、MENU/OKボタン38、DISP/BACKボタン40、顔検出ボタン42等)112、ROM116、フラッシュROM118、メモリ(SDRAM)120、VRAM122、撮影レンズ14、ズーム制御部203、絞り・シャッタ制御部205、手ブレ補正制御部207、フォーカスモータ制御部209、撮像素子134、撮像素子制御部136、アナログ信号処理部138、A/D変換器140、デジタル信号処理部142、AF検出部144、AE/AWB検出部146、圧縮伸張処理部148、メディアコントローラ150、記憶メディア(メモリカード)152、表示制御部154、モニタ28、ストロボ制御回路156、ストロボ16、顔検出部160等で構成される。
CPU110は、デジタルカメラ10の全体の動作を統括制御する制御手段として機能し、操作部112からの入力に基づき所定の制御プログラムに従って各部を制御する。
バス114を介して接続されたROM116には、このCPU110が実行する制御プログラム及び制御に必要な各種データ等が格納されており、フラッシュROM118には、ユーザ設定情報等のデジタルカメラ10の動作に関する各種設定情報等が格納されている。
メモリ(SDRAM)120は、CPU110の演算作業用領域として利用されるとともに、画像データの一時記憶領域として利用され、VRAM122は、表示用の画像データ専用の一時記憶領域として利用される。
撮影レンズ14は、ズームレンズ群202、絞り・シャッタユニット204、手ブレ補正ユニット206、フォーカスレンズ群208、赤外線カットフィルタ131、光学ローパスフィルタ132等を含んで構成される。
ズームレンズ群202は、図示しないズームレンズアクチュエータに駆動されて光軸に沿って前後移動し、これにより、焦点距離が可変する。CPU110は、ズーム制御部203を介してズームレンズアクチュエータの駆動を制御することにより、ズームレンズ群202の移動を制御し、ズーミングを行う。
フォーカスレンズ群208は、図示しないフォーカスレンズアクチュエータに駆動されて光軸に沿って前後移動し、これにより、結像位置が変化する。CPU110は、フォーカスモータ制御部209を介してフォーカスレンズアクチュエータの駆動を制御することにより、フォーカスレンズ群208の移動を制御し、フォーカシングを行う。
絞り・シャッタユニット204は、図示しない絞りとメカシャッタを備えている。
絞りは、絞り・シャッタユニット204に内蔵された図示しない絞りアクチュエータに駆動されて動作し、これにより、撮像素子134への入射光量が調整される。CPU110は、絞り・シャッタ制御部205を介して絞りアクチュエータの駆動を制御することにより、絞りの動作を制御し、撮像素子134への入射光量(絞り値)を制御する。
メカシャッタは、絞り・シャッタユニット204に内蔵された図示しないシャッタアクチュエータに駆動されて動作し、これにより、撮像素子134の露光/遮光が行われる。CPU110は、絞り・シャッタ制御部205を介してシャッタアクチュエータの駆動を制御することにより、メカシャッタの動作を制御し、撮像素子134の露光/遮光を制御する。
赤外線カットフィルタ131は、撮像素子134に入射する光の内で特定波長域の赤外線をカットして、赤外光によるゴーストやかぶりを防止する。
光学ローパスフィルタ132は、撮像素子134に入射する光の内で高い周波数成分をカットして、偽色や色モアレの発生を防止する。
手ブレ補正ユニット206は、補正レンズ、角速度センサ等を備えており、パン方向及びチルト方向の振動を打ち消すように補正レンズを移動させて、撮像素子134の受光面に生じる像ブレを補正する。
図4は、この手ブレ補正ユニット206の概略構成を示す正面図である。
同図に示すように、手ブレ補正ユニット206は、枠状に形成された本体フレーム210を有している。本体フレーム210は、撮影レンズ14の鏡筒にビス等でネジ止めされて、鏡筒内部に一体的に組み付けられている。
本体フレーム210の内側には、補正レンズ212が配置されている。この補正レンズ212は、レンズ枠体214に保持されており、X軸リニアモータ216とY軸リニアモータ218とによって撮影光軸Lと直交する面内で像ブレを補正する方向に移動される。また、補正レンズ212は、4本のアーム220、222からなる平行リンク機構を介して本体フレーム210に移動自在に支持されている。
X軸リニアモータ216は、補正レンズ212を図中X軸方向(パン方向)に移動させるもので、主としてモータ本体216Aとロッド216Bとで構成されている。
モータ本体216Aは、本体フレーム210に固定されている。ロッド216Bは、その先端部がレンズ枠体214に形成された長孔224にローラ226を介して係合されている。長孔224は、図中Y軸方向に沿って形成されており、これにより、長孔224とローラ226とが、相対的に図中Y軸方向に移動自在に係合される。
モータ本体216Aのロッド216Bが伸縮すると、レンズ枠体214は、ロッド216Bに押されて、又は、ロッド216Bに引かれて、図中X軸方向に移動する。一方、レンズ枠体214にY軸方向の力が加わると、長孔224がローラ226にガイドされて、補正レンズ212がY軸方向に移動する。
X軸リニアモータ216のロッド216Bには、連結枠228が固着されている。この連結枠228は、Y軸方向に沿って配設されており、その上端部及び下端部は、それぞれリニアガイド230、230によってX軸方向に摺動自在に支持されている。リニアガイド230、230は、ロッド216Bと平行に設けられており、これにより、ロッド216Bが伸縮されると、連結枠228は、その姿勢を保持したままX軸方向に平行移動する。
連結枠228には、本体フレーム210に取り付けられたX軸位置センサ232の検出用接触針232Bの先端が押圧当接されている。検出用接触針232Bは、ロッド216Bと平行に設けられており、X軸位置センサ232は、ロッド216Bととともに移動する連結枠228の移動量を検知する。
なお、図4において、符号234は、X軸スピードジェネレータであり、ボビン234Aとコア234Bとで構成される。このX軸スピードジェネレータ324のコア234Bは、連結枠228に固着されている。
また、図4において、符号248は、X軸角速度センサであり、本体フレーム210に取り付けられている。このX軸角速度センサ248は、本体フレーム210に伝達された振動(=カメラ本体12に発生した振動)のうちX軸方向成分の振動を検出する。
Y軸リニアモータ218は、補正レンズ212をY軸方向(チルト方向)に移動させるもので、モータ本体218Aとロッド218Bで構成されている。モータ本体218Aは、本体フレーム210に固定されており、ロッド218Bは、その先端部がレンズ枠体214に形成された長孔236にローラ238を介して係合されている。長孔236は、X軸方向に沿って形成されており、これにより、長孔236とローラ238とが、相対的にX軸方向に移動自在に係合される。
モータ本体218Aの駆動力でロッド218Bが伸縮すると、レンズ枠体214は、ロッド218Bに押されて、又は、ロッド218Bに引かれてY軸方向に移動する。
また、レンズ枠体214にX軸方向の力が加わると、長孔236がローラ238にガイドされて補正レンズ212がX軸方向に移動する。
Y軸リニアモータ218のロッド218Bには、連結枠240が固着されている。連結枠240は、X軸方向に沿って配設されており、その右端部及び左端部は、それぞれリニアガイド242、242によってX軸方向に摺動自在に支持されている。リニアガイド242、242は、ロッド218Bと平行に設けられており、これにより、ロッド218Bが伸縮されると、連結枠240は、その姿勢を保持したままY軸方向に平行移動する。
連結枠240には、本体フレーム210に取り付けられたY軸位置センサ244の検出用接触針44Bの先端が押圧当接されている。検出用接触針244Bは、ロッド218Bと平行に設けられており、Y軸位置センサ244は、ロッド218Bの伸縮動作で平行移動する連結枠240の移動量を検知する。
なお、図4において、符号246はY軸スピードジェネレータ246であり、ボビン246Aとコア246Bとで構成されている。Y軸スピードジェネレータ246のコア246Aは、連結枠240に固着されている。
また、図4において、符号250は、Y軸角速度センサであり、本体フレーム210に取り付けられている。このY軸角速度センサ250は、本体フレーム210に伝達された振動(=カメラ本体12に発生した振動)のうちY軸方向成分の振動を検出する。
図5は、手ブレ補正ユニット206の駆動制御系を示すブロック図である。
X軸角速度センサ248とY軸角速度センサ250で検出されたX軸方向とY軸方向の角速度の情報は、それぞれA/D変換器252、254を介してCPU310に出力される。
CPU310は、X軸角速度センサ248から得たX軸方向の角速度の情報に基づいて補正レンズ212に与えるべきX軸方向の補正移動量を演算するとともに、Y軸角速度センサ250から得たY軸方向の角速度の情報に基づいて補正レンズ212に与えるべきY軸方向の補正移動量を演算する。そして、求めたX軸方向の補正移動量を示す信号(駆動信号)をD/Aコンバータ256を介してX軸駆動回路260に出力するとともに、Y軸方向の補正移動量を示す信号をD/Aコンバータ258を介してY軸駆動回路262に出力する。
X軸駆動回路260は、与えられた駆動信号に基づいてX軸リニアモータ216を駆動制御し、X軸方向の像ブレを防止する方向に補正レンズ212を移動させる。このX軸駆動回路260には、X軸位置センサ232によって補正レンズ212のX軸方向の位置がフィードバックされており、X軸駆動回路260は、フィードバック制御を行うことにより、補正レンズ212の位置が、CPU110からの駆動信号によって指示された補正移動量となるように、補正レンズ212を適切に移動させる。これにより、撮像素子134の受光面に生じるX軸方向の像ブレが補正される。
同様にY軸駆動回路262は、与えられた駆動信号に基づいてY軸リニアモータ218を駆動制御し、Y軸方向の像ブレを防止する方向に補正レンズ212を移動させる。このY軸駆動回路262には、Y軸位置センサ244によって補正レンズ212のY軸方向の位置がフィードバックされており、Y軸駆動回路262は、フィードバック制御を行うことにより、補正レンズ212の位置が、CPU110からの駆動信号によって指示された補正移動量となるように、補正レンズ212を適切に移動させる。これにより、撮像素子134の受光面に生じるY軸方向の像ブレが補正される。
なお、X軸位置センサ232とY軸位置センサ244の検出結果は、それぞれA/D変換器264、266を介してCPU110にも出力される。CPU110は、このX軸位置センサ232とY軸位置センサ244からの出力に基づいて補正レンズ212の位置を検出する。
手ブレ補正ユニット206は、以上のように構成され、X軸角速度センサ248及びY軸角速度センサ250でカメラの振れが検出されると、その情報に基づいてX軸リニアモータ216及びY軸リニアモータ218が駆動され、撮像素子134の受光面に生じる像ブレが補正される。
撮像素子134は、ハニカム配列のカラーCCDやベイヤ方式のCCD、CMOSセンサ等で構成されている。CPU110は、撮像素子制御部136を介して撮像素子134を駆動し、撮影レンズ14を通して撮像した被写体画像を画像信号として出力させる。
アナログ信号処理部138は、撮像素子134から出力される画像信号を相関二重サンプリング処理するとともに増幅する。
A/D変換器140は、アナログ信号処理部138から出力されたR、G、Bの各色のアナログの画像信号をデジタルの画像信号に変換する。
デジタル信号処理部142は、CPU110からの指令に従い、A/D変換器140から出力されるR、G、Bの各色の画像信号を取り込み、所定の信号処理を施して輝度信号Yと色差信号Cr、CbとからなるYUV信号を生成する。
図6は、このデジタル信号処理部142の概略構成を示すブロック図である。
同図に示すように、デジタル信号処理部142は、ホワイトバランスゲイン算出回路142a、オフセット補正回路142b、ゲイン補正回路142c、ガンマ補正回路142d、RGB補間演算部142e、RGB/YC変換回路142f、ノイズフィルタ142g、輪郭補正回路142h、色差マトリクス回路142i、光源種別判定回路142jを備えて構成される。
ホワイトバランスゲイン算出回路142aは、AE/AWB検出部146で算出された積算値を取り込んでホワイトバランス調整用のゲイン値を算出する。
オフセット補正回路142bは、A/D変換器140から出力されるR、G、Bの各色の画像信号を取り込んでオフセット処理を行う。
ゲイン補正回路142cは、オフセット処理された画像信号を取り込み、ホワイトバランスゲイン算出回路142aで算出されたゲイン値を用いてホワイトバランス調整を行う。
ガンマ補正回路142dは、ホワイトバランス調整された画像信号を取り込み、所定のγ値を用いてガンマ補正を行う。
RGB補間演算部142eは、ガンマ補正されたR、G、Bの色信号を補間演算して、各画素位置におけるR、G、B3色の信号を求める。すなわち、単板式の撮像素子の場合、各画素からは、R、G、Bのいずれか一色の信号しか出力されないため、出力しない色を周囲の画素の色信号から補完演算により求める。たとえば、Rを出力する画素では、この画素位置におけるG、Bの色信号がどの程度になるかを周りの画素のG、B信号から補間演算により求める。このように、RGB補完演算は、単板式の撮像素子に特有のものなので、撮像素子134に三板式のものを用いた場合には不要となる。
RGB/YC変換回路142fは、RGB補間演算後のR、G、B信号から輝度信号Yと色差信号Cr、Cbを生成する。
ノイズフィルタ142gは、RGB/YC変換回路142fで生成された輝度信号Yと色差信号Cr、Cbに対してノイズ低減処理を施す。
輪郭補正回路142hは、ノイズ低減後の輝度信号Yに対し、輪郭補正処理を行い、輪郭補正された輝度信号Y’を出力する。
一方、色差マトリクス回路142iは、ノイズ低減後の色差信号Cr、Cbに対し、色差マトリクス(C−MTX)を乗算して色調補正を行う。すなわち、色差マトリクス回路142iには、光源対応の色差マトリクスが複数種類設けられており、光源種別判定回路142jが求めた光源種に応じて、使用する色差マトリクスを切り替え、この切り替え後の色差マトリクスを入力された色差信号Cr、Cbに乗算し、色調補正された色差信号Cr’、Cb’を出力する。
光源種別判定回路142jは、AE/AWB検出部146で算出された積算値を取り込んで光源種を判定し、色差マトリクス回路142iに色差マトリクス選択信号を出力する。
なお、本実施の形態のデジタルカメラでは、上記のようにデジタル信号処理部をハードウェア回路で構成しているが、当該ハードウェア回路と同じ機能をソフトウェアにて構成することも可能である。
AF検出部144は、A/D変換器140から出力されるR、G、Bの各色の画像信号を取り込み、AF制御に必要な焦点評価値を算出する。このAF検出部144は、G信号の高周波成分のみを通過させるハイパスフィルタ、絶対値化処理部、画面に設定された所定のフォーカスエリア内の信号を切り出すフォーカスエリア抽出部、及び、フォーカスエリア内の絶対値データを積算する積算部を含み、この積算部で積算されたフォーカスエリア内の絶対値データを焦点評価値としてCPU110に出力する。
CPU110は、AF制御時、このAF検出部144から出力される焦点評価値が極大となる位置をサーチし、その位置にフォーカスレンズ群208を移動させることにより、主要被写体への焦点合わせを行う。すなわち、CPU110は、AF制御時、まず、フォーカスレンズ群208を至近から無限遠まで移動させ、その移動過程で逐次AF検出部144から焦点評価値を取得し、その焦点評価値が極大となる位置を検出する。そして、検出された焦点評価値が極大の位置を合焦位置と判定し、その位置にフォーカスレンズ群208を移動させる。これにより、フォーカスエリアに位置する被写体(主要被写体)にピントが合わせられる。
なお、焦点評価値が極大の位置が検出されない場合(たとえば、低コントラスト時)、CPU110は、AFエラーと判定し、所定の警告を行う(たとえば、モニタ28へのエラーメッセージの表示)。
AE/AWB検出部146は、A/D変換器140から出力されるR、G、Bの各色の画像信号を取り込み、AE制御及びAWB制御に必要な積算値を算出する。すなわち、このAE/AWB検出部146は、一画面を複数のエリア(たとえば、8×8=64エリア)に分割し、分割されたエリアごとにR、G、B信号の積算値を算出する。
CPU110は、AE制御時、このAE/AWB検出部146で算出されたエリアごとのR、G、B信号の積算値を取得し、被写体の明るさ(測光値)を求めて、適正な露光量を得るための露出設定を行う。すなわち、感度、絞り値、シャッタスピード、ストロボ発光の要否を設定する。
また、CPU110は、AWB制御時、AE/AWB検出部146で算出されたエリアごとのR、G、B信号の積算値をデジタル信号処理部142のホワイトバランスゲイン算出回路142a及び光源種別判定回路142jに加える。
ホワイトバランスゲイン算出回路142aは、このAE/AWB検出部146で算出された積算値に基づいてホワイトバランス調整用のゲイン値を算出する。
また、光源種別判定回路142jは、このAE/AWB検出部146で算出された積算値に基づいて光源種を検出する。
圧縮伸張処理部148は、CPU110からの指令に従い、入力された画像データに所定形式(たとえば、JPEG)の圧縮処理を施し、圧縮画像データを生成する。また、CPU110からの指令に従い、入力された圧縮画像データに所定形式の伸張処理を施し、非圧縮の画像データを生成する。
メディアコントローラ150は、CPU110からの指令に従い、記憶メディア152に対してデータの読み/書きを制御する。なお、本実施の形態のデジタルカメラ10では、記憶メディア152にメモリカードを用いるものとし、メモリカードは、カメラ本体12に設けられたメディアスロットに着脱自在に装填されるものとする。ただし、内蔵メモリに記録する態様としてもよい。
表示制御部154は、CPU110からの指令に従い、モニタ28への表示を制御する。すなわち、CPU110からの指令に従い、入力された画像信号をモニタ28に表示するための映像信号(たとえば、NTSC信号やPAL信号、SCAM信号)に変換してモニタ28に出力するとともに、所定の文字、図形情報をモニタ28に出力する。
ストロボ制御回路156は、CPU110からの指令に従い、ストロボ158の発光を制御する。
顔検出部160は、CPU110からの指令に従い、入力された画像データから画像内に含まれる顔を検出する。この顔検出は、たとえば複数の顔の形状をしたテンプレート画像を用意し、そのテンプレート画像と画像との相関を計算し、この相関値により顔候補領域とすることで人の顔を検出する。
以下、このテンプレート画像を用いた顔検出の方法について説明する。
図7に示すように、テンプレート画像は、顔の画像を検出すべき画像(検出対象画像)との相関値を検出するためのものであり、ROM116に格納されている。
テンプレート画像が、検出対象画像上をスキャンしながら、それぞれの位置における相関値が検出され、検出された相関値と閾値とが比較される。係数値が閾値以上となったときのサーチ・ウインドウの位置が検出対象画像中における顔の画像の位置と判定される。
まず、検出対象画像が得られると、サーチ・ウインドウが規定される。サーチ・ウインドウは、矩形の形状であり、その大きさはテンプレート画像と同じ大きさである。
サーチ・ウインドウ内の画像とテンプレート画像との正規化相互相関係数rが次式[r={<T・I>―<T>・<I>}/{□(t)・□(I)}:ただし、Tはテンプレート画像、Iはサーチ・ウインドウ内の画像、<>は、<および>で囲まれたものの平均、□は標準偏差を表す]を用いて計算され、その係数値と閾値とが比較される。上述したように、係数値が閾値以上となったときのサーチ・ウインドウの位置が、検出対象画像中における顔の画像の位置と判定される。
サーチ・ウインドウは、検出対象画像内を水平方向及び垂直方向に少しの距離ずつ移動させられ、移動後の位置において再び正規化相互相関係数が算出される。サーチ・ウインドウの移動が繰り返され、その移動後の位置における正規化相互相関係数算出処理が行われる。得られた正規化相互相関係数に基づいて対象画像中における顔の画像部分(顔領域)が検出される。
以上のようにして、顔検出が行われる。なお、画像から顔を検出する方法は、これに限定されるものではない。この他、たとえば、原画像から肌色データを抽出し、肌色範囲と判断された測光点のクラスタを顔として抽出する方法や、測光データを色相と彩度に変換し、変換した色相・彩度の二次元ヒストグラムを作成し、解析することで、顔領域を判断する方法、人の顔の形状に相当する顔候補領域を抽出し、その領域内の特徴量から顔領域を決定する方法、画像から人の顔の輪郭を抽出し、顔領域を決定する方法等が知られており、これらの方法を用いて検出することができる。
CPU110は、顔検出機能がONされると、本撮影前に撮像素子134から得られる画像(たとえば、スルー画像用の画像)を顔検出部160に加え、顔の検出処理を行う。そして、検出された顔にピントが合うようにAF制御を行うとともに、その顔が適正な明るさになるようにAE制御を行う。また、撮影によって得られた画像に対して人物画像に適した画像処理を行う。
本実施の形態のデジタルカメラ10は以上のように構成される。
次に、以上のように構成された本実施の形態のデジタルカメラ10による撮影、記録の処理動作について説明する。
撮影はデジタルカメラ10のモードを撮影モードに設定することにより行われる。撮影モードの設定は、電源OFFの状態で電源ボタン26を押圧操作することにより行われる。または、再生モードの状態でシャッタボタン22を押圧操作することにより行われる。
デジタルカメラ10のモードが撮影モードに設定されると、まず、撮像素子134で捉えた画像がモニタ28にスルー表示される。すなわち、撮像素子134で連続的に画像が撮像され、その画像が連続的に処理されて、スルー画像用の画像データが生成される。生成された画像データは、VRAM122を介して順次表示制御部154に加えられ、表示用の信号形式に変換されて、モニタ28に出力される。これにより、撮像素子134で捉えた画像がモニタ28にスルー表示される。撮影者は、このモニタ28に表示されたスルー画像を見て構図を決定し、シャッタボタン22を半押しする。
シャッタボタン22が半押しされると、CPU110にS1ON信号が入力される。CPU110は、このS1ON信号の入力に応動して、撮影準備処理、すなわちAE、AF、AWBの各処理を実行する。
まず、撮像素子134から出力された画像信号をアナログ信号処理部138、A/D変換器140を介してAE/AWB検出部146及びAF検出部144に加える。
AE/AWB検出部146は、入力された画像信号からAE制御及びAWB制御に必要な積算値を算出し、CPU110に出力する。CPU110は、このAE/AWB検出部146から得られた積算値に基づき被写体輝度を算出し、適正露出を得るための感度、絞り値、シャッタスピード等を決定する。また、ホワイトバランス補正のためにAE/AWB検出部146から得られた積算値をデジタル信号処理部142に加える。
また、AF検出部144は、入力された画像信号からAF制御に必要な積算値を算出し、CPU110に出力する。CPU110は、このAF検出部144からの出力に基づきフォーカスモータ制御部209介してフォーカスレンズ群208の移動を制御し、撮影レンズ14の焦点を主要被写体に合わせる。
撮影者は、モニタ28に表示されるスルー画像を見てピント状態等を確認し、撮影実行を指示する。すなわち、シャッタボタン22を全押しする。
シャッタボタン22が全押しされると、CPU110にS2ON信号が入力される。CPU110は、このS2ON信号に応動して、本撮影の処理を実行する。
まず、上記AE制御の結果求めた感度、絞り値、シャッタスピードで撮像素子134を露光し、記録用の画像を撮像する。
撮像素子134から出力された記録用の画像信号は、アナログ信号処理部138、A/D変換器140を介してデジタル信号処理部142に加えられる。デジタル信号処理部142は、入力された画像信号に所定の信号処理を施して、輝度データYと色差データCr、Cbとからなる画像データ(YUVデータ)を生成する。
生成された画像データは、圧縮伸張処理部148に加えられ、所定の圧縮処理が施されたのち、メモリ120に格納される。CPU110は、このメモリ120に格納された圧縮画像データを所定フォーマットの静止画像ファイル(たとえば、Exif)として、メディアコントローラ150を介してメモリカード152に記録する。
以上のようにしてメモリカード152に記録された画像は、デジタルカメラ10のモードを再生モードに設定することにより、モニタ28に再生表示される。すなわち、再生ボタン32を押圧操作し、デジタルカメラ10のモードが、再生モードに設定されると、CPU110は、メディアコントローラ150を介してメモリカード152に最後に記録された画像ファイルの圧縮画像データを読み出す。
メモリカード152から読み出された圧縮画像データは、圧縮伸張処理部148に加えられ、非圧縮の画像データとされたのちVRAM122に加えられる。そして、VRAM122から表示制御部154を介してモニタ28に出力される。これにより、メモリカード152に記録されている画像が、モニタ28に再生表示される。
画像のコマ送りは、十字ボタン36の右キー及び左キーにて行われ、右キーが押圧操作されると、次の画像がメモリカード152から読み出され、モニタ28に再生表示される。また、左キーが押圧操作されると、一つ前の画像がメモリカード152から読み出され、モニタ28に再生表示される。
以上のように、本実施の形態のデジタルカメラ10は、カメラのモードを撮影モードに設定し、シャッタボタン22を全押しすることにより、画像の記録が行われる。そして、記録された画像は、カメラのモードを再生モードに設定することにより、モニタ28に再生表示される。
ところで、本実施の形態のデジタルカメラ10には、手ブレ補正機能と顔検出機能とが備えられており、手ブレ補正機能がONされると、カメラ本体12に発生した振動を打ち消す方向に補正レンズ212が駆動されて、撮像素子134の結像面に生じる像ブレが補正される。また、顔検出機能がONされると、画面中の人物の顔が検出され、検出された顔にピントが合うようにAF制御が行われるとともに、検出された顔が適正な明るさになるようにAE制御が行われる。
しかしながら、手ブレ補正機能は、ONされてから実際に画像が安定するまでにタイムラグがあるので、その間、顔検出を行うと、顔の検出精度が低下する。
そこで、本実施の形態のデジタルカメラ10では、顔検出機能と手ブレ補正機能をONする場合、手ブレ補正機能により画像が安定するのを待って顔の検出処理を開始する。
図8は、手ブレ補正機能をONする場合の顔の検出処理の手順を示すフローチャートである。
デジタルカメラの電源がONされると(ステップS10)、まず、CPU110は、補正レンズ212のセンタリング処理を行う(ステップS11)。すなわち、手ブレ補正制御部207を介してX軸リニアモータ216及びY軸リニアモータ218の駆動を制御し、補正レンズ212の中心を光軸L上に位置させる。
次いで、CPU110は、顔検出機能がONに設定されているか否かを判定する(ステップS12)。なお、上記のように、デジタルカメラ10は、顔検出機能をONに設定したまま電源をOFFすると、次回電源投入時、顔検出機能はONに設定された状態で起動し、顔検出機能をOFFに設定したまま電源をOFFすると、次回電源投入時、顔検出機能はOFFに設定された状態で起動する。この顔検出機能のON/OFFの設定状態は、フラッシュROM118に記録されており、CPU110は、このフラッシュROM118に記録された情報に基づいて顔検出機能がONに設定されているか否か判定する。
顔検出機能がONに設定されていると判定すると、CPU110は、手ブレ補正機能がONされているか否か判定する(ステップS13)。なお、この手ブレ補正機能も顔検出機能と同様に前回終了時の状態に設定される。すなわち、手ブレ補正機能をONに設定したまま電源をOFFすると、次回電源投入時、手ブレ補正機能はONに設定された状態で起動し、手ブレ補正機能をOFFに設定したまま電源をOFFすると、次回電源投入時、手ブレ補正機能はOFFに設定された状態で起動する。この手ブレ補正機能のON/OFFの設定状況は、顔検出機能の設定状態と同様にフラッシュROM118に記録されており、CPU110は、このフラッシュROM118に記録された情報に基づいて手ブレ補正機能がONに設定されているか否かを判定する。
この判定において、手ブレ補正機能がOFFに設定されていると判定すると、CPU110は、そのまま顔検出の処理を開始する(ステップS14)。すなわち、撮像素子134から得られる画像を顔検出部160に加え、顔の検出処理を行う。そして、その顔の検出処理の結果、顔が検出されたか否か判定し(ステップS15)、顔が検出されたと判定すると、処理を終了する。また、顔が検出されないと判定すると、ステップS14に戻り、再度、顔の検出処理を行う。
一方、ステップS12で手ブレ補正機能がONに設定されていると判定すると、CPU110は、手ブレ補正処理を開始する(ステップS16)。すなわち、X軸角速度センサ248及びY軸角速度センサ250でカメラの振れを検出し、その情報に基づいてX軸リニアモータ216及びY軸リニアモータ218を駆動して、撮像素子134の受光面に生じる像ブレを補正する。
この手ブレ補正処理の開始と同時にCPU110は、X軸位置センサ232及びY軸位置センサ244から得られる補正レンズ212の位置情報に基づいて補正レンズ212が一定位置に位置しているか否か判定する(ステップS17)。そして、補正レンズ212が一定位置に位置していると判定すると、顔の検出処理を開始する(ステップS18)。すなわち、補正レンズ212が一定位置に位置していることをもって、手ブレ補正の処理が完了している(画像が安定している)ものと判断し、顔の検出処理を開始する。これにより、手ブレの補正完了前に顔検出処理が行われて、顔の検出精度が低下するのを防止することができる。
顔の検出処理の開始後もCPU110は、X軸位置センサ232及びY軸位置センサ244から得られる補正レンズ212の位置情報に基づいて補正レンズ212が一定位置に位置しているか否か判定する(ステップS19)。そして、一定位置に位置していないと判定すると、顔の検出処理を停止する(ステップS20)。
このように、補正レンズ212が一定値に位置している場合にのみ顔の検出処理を行い、補正レンズ212が一定値に位置していない場合は、顔の検出処理を停止する。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
ステップS19において、補正レンズ212が一定位置に位置していると判定され、顔の検出処理が継続して行われると、CPU110は、顔の検出処理の結果から、顔が検出されたか否かを判定する(ステップS21)。そして、顔が検出されと判定すると、処理を終了し、顔が検出されないと判定すると、ステップS18に戻り、再度、顔の検出処理を行う。
以上のように、本実施の形態のデジタルカメラ10では、顔検出機能と手ブレ補正機能をONする場合において、手ブレ補正ユニット206の補正レンズ212が一定位置に位置するのを待って顔の検出処理を行う。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
なお、本実施の形態では、起動時に顔検出機能と手ブレ補正機能を同時にONする場合について説明したが、顔検出機能がONされた後に手ブレ補正機能をONした場合も補正レンズ212が一定位置に位置するのを待って顔の検出処理を行う。
図9は、顔検出機能がONされた後に手ブレ補正機能をONした場合における顔の検出処理の手順を示すフローチャートである。
CPU110は、顔検出機能がONに設定されているか否かを判定し(ステップS30)、顔検出機能がONに設定されていると判定すると、顔の検出処理を開始する(ステップS31)。そして、その検出結果から顔が検出されたか否か判定し(ステップS32)、顔が検出されと判定すると、処理を終了する。
一方、顔が検出されないと判定すると、手ブレ補正機能がONされたか否かを判定する(ステップS33)。
手ブレ補正機能がONされていないと判定すると、CPU110は、ステップS31に戻り、再度、顔の検出処理を行う。
一方、手ブレ補正機能がONされたと判定すると、CPU110は、顔の検出処理を一旦停止する(ステップS34)。そして、手ブレ補正の処理を開始する(ステップS35)。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
この手ブレ補正の処理開始と同時にCPU110は、X軸位置センサ232及びY軸位置センサ244から得られる補正レンズ212の位置情報に基づいて補正レンズ212が一定位置に位置しているか否か判定する(ステップS36)。そして、補正レンズ212が一定位置に位置していると判定すると、顔の検出処理を再開する(ステップS37)。
顔の検出処理再開後もCPU110は、X軸位置センサ232及びY軸位置センサ244から得られる補正レンズ212の位置情報に基づいて補正レンズ212が一定位置に位置しているか否か判定する(ステップS38)。そして、一定位置に位置していないと判定すると、顔の検出処理を再度停止する(ステップS39)。
このように、補正レンズ212が一定値に位置している場合にのみ顔の検出処理を行い、補正レンズ212が一定値に位置していない場合は、顔の検出処理を停止する。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
ステップS38において、補正レンズ212が一定位置に位置していると判定され、顔の検出処理が継続して行われると、CPU110は、顔の検出処理の結果から、顔が検出されたか否かを判定する(ステップS40)。そして、顔が検出されと判定すると、処理を終了し、顔が検出されないと判定すると、ステップS37に戻り、再度、顔の検出処理を行う。
以上のように、顔検出機能がONされた後に手ブレ補正機能をONした場合も補正レンズ212が一定位置に位置するのを待って顔の検出処理を行う。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
なお、上記実施の形態では、補正レンズ212が一定位置に位置したことをもって、画像が安定したと判断しているが、画像が安定したことを検出する方法は、これに限定されるものではない。たとえば、画像の動きベクトルを検出し、動きが検出されなくなったら、画像が安定したと判断するようにしてもよい。
図10は、動きベクトルを検出して顔の検出処理の実行/停止を行う場合のデジタルカメラ10Aの電気的構成を示すブロック図である。
図3に示したデジタルカメラ10に対して、動きベクトル検出部162を有している点で相違している。
動きベクトル検出部162は、CPU110からの指令に基づいて撮像素子134が取得した画像のフィールド間の動きを表す動きベクトルを検出する。動きベクトルの検出方法は、たとえば、時空間勾配法、ブロックマッチング法等の公知の方法を用いることができる。CPU110は、この動きベクトル検出部162で検出される動きベクトルに基づいて画像安定したか否かを判定する。
図11は、手ブレ補正機能をONする場合の顔の検出処理の手順を示すフローチャートである。
デジタルカメラの電源がONされると(ステップS50)、まず、CPU110は、補正レンズ212のセンタリング処理を行う(ステップS51)。
次いで、CPU110は、顔検出機能がONに設定されているか否かを判定する(ステップS52)。
顔検出機能がONに設定されていると判定すると、CPU110は、手ブレ補正機能がONされているか否か判定する(ステップS53)。
この判定において、手ブレ補正機能がOFFに設定されていると判定すると、CPU110は、そのまま顔検出の処理を開始し(ステップS54)、その検出結果から顔が検出されたか否か判定する(ステップS55)。そして、顔が検出されと判定すると、処理を終了し、顔が検出されないと判定すると、ステップS54に戻り、再度、顔の検出処理を行う。
一方、手ブレ補正機能がONに設定されていると判定すると、CPU110は、手ブレ補正処理を開始する(ステップS56)。これと同時にCPU110は、動きベクトル検出部162で動きベクトルの検出を開始する(ステップS57)。そして、その動きベクトル検出部162の検出結果に基づいて動きの有無を判定する(ステップS58)。
この判定で動きなしと判定すると、CPU110は、画像が安定していると判断し、顔の検出処理を開始する(ステップS59)。これにより、補正動作中のブレ画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
顔の検出処理の開始後もCPU110は、動きベクトル検出部162で画像の動きベクトルを検出し(ステップS60)、その検出結果に基づいて動きの有無を判定する(ステップS61)。そして、動きありと判定すると、顔の検出処理を停止する(ステップS62)。
このように、画像の動きがない場合にのみ顔の検出処理を行い、動きがある場合は、顔の検出処理を停止する。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
ステップS61において、動きなしと判定され、顔の検出処理が継続して行われると、CPU110は、顔の検出処理の結果から、顔が検出されたか否かを判定する(ステップS63)。そして、顔が検出されと判定すると、処理を終了し、顔が検出されないと判定すると、ステップS60に戻り、再度、顔の検出処理を行う。
以上のように、動きベクトルを検出し、動きが検出されなくなったら、画像が安定したと判断して、顔の検出を行うようにしてもよい。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
なお、上記の例では、起動時に顔検出機能と手ブレ補正機能を同時にONする場合について説明したが、顔検出機能がONされた後に手ブレ補正機能をONした場合も動きが検出されなくなるのを待って顔の検出処理を行う。
図12は、顔検出機能がONされた後に手ブレ補正機能をONした場合における顔の検出処理の手順を示すフローチャートである。
CPU110は、顔検出機能がONに設定されているか否かを判定し(ステップS70)、顔検出機能がONに設定されていると判定すると、顔の検出処理を開始する(ステップS71)。そして、その検出結果から顔が検出されたか否か判定し(ステップS72)、顔が検出されと判定すると、処理を終了する。
一方、顔が検出されないと判定すると、手ブレ補正機能がONされたか否かを判定する(ステップS73)。
手ブレ補正機能がONされていないと判定すると、CPU110は、ステップS71に戻り、再度、顔の検出処理を行う。
一方、手ブレ補正機能がONされたと判定すると、CPU110は、顔の検出処理を一旦停止する(ステップS74)。そして、手ブレ補正の処理を開始する(ステップS75)。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
この手ブレ補正の処理開始と同時にCPU110は、動きベクトル検出部162で動きベクトルを検出し(ステップS76)、動きの有無を判定する(ステップS77)。そして、動きなしと判定すると、顔の検出処理を再開する(ステップS78)。
顔の検出処理再開後もCPU110は、動きベクトル検出部162で動きベクトルを検出し(ステップS79)、動きの有無を判定する(ステップS80)。そして、動きありと判定すると、顔の検出処理を再度停止する(ステップS81)。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
顔の検出処理を停止した場合は、ステップS79の処理に戻り、再度、動きベクトル検出部162で動きベクトルを検出し(ステップS79)、動きの有無を判定する(ステップS80)。
このように、画像の動きがない場合、すなわち画像が安定している場合にのみ顔の検出処理を行い、その検出処理の結果から、顔が検出されたか否かを判定する(ステップS82)。そして、顔が検出されと判定すると、処理を終了し、顔が検出されないと判定すると、ステップS78に戻り、再度、顔の検出処理を行う。
以上のように、顔検出機能がONされた後に手ブレ補正機能をONした場合も画像の動きベクトルを検出し、動きがなくなるのを待って顔の検出処理を行う。これにより、手ブレ補正動作中のブレた画像に基づいて顔検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。
なお、上記実施の形態のデジタルカメラでは、電源が投入されると、補正レンズ212のセンタリング処理が行われるが、補正レンズ212を光軸上に保持する保持機構を手ブレ補正ユニット206に備えることにより、この処理は不要になる。あるいは、電源をOFFにしても、補正レンズ212を光軸上に保持可能なアクチュエータを利用することにより、この処理は不要になる。
しかし、電源OFF時において、補正レンズ212を光軸上に保持できない場合には、上記実施の形態のデジタルカメラのように、電源投入と同時に補正レンズ212のセンタリング処理を行う必要がある。
この場合、このセンタリング処理中に顔検出処理を行うと、ブレた画像に基づいて顔の検出処理が行われるため、顔の検出精度が著しく低下する。
このため、補正レンズのセンタリングが必要なデジタルカメラの場合で顔の検出処理を行う場合は、センタリングの完了を待って顔の検出処理を開始することが好ましい。
図13は、補正レンズのセンタリングが必要なデジタルカメラで顔の検出処理を行う場合の処理の手順を示すフローチャートである。
デジタルカメラの電源がONされると(ステップS90)、CPU110は、補正レンズ212のセンタリング処理を行う(ステップS91)。そして、X軸位置センサ232及びY軸位置センサ244から得られる補正レンズ212の位置情報に基づいて補正レンズ212のセンタリングが完了したか否か、すなわち、補正レンズ212の中心が光軸L上に位置したか否かを判定する(ステップS92)。
補正レンズ212のセンタリングが完了したと判定すると、CPU110は、顔検出機能がONに設定されているか否かを判定する(ステップS93)。そして、顔検出機能がONに設定されていると判定すると、顔検出の処理を開始する(ステップS94)。この後、顔の検出処理の結果から、顔が検出されたか否か判定し(ステップS95)、顔が検出されと判定すると、処理を終了する。
このように、補正レンズのセンタリングが必要なデジタルカメラの場合は、補正レンズのセンタリングが完了するのを待って顔の検出処理を開始する。これにより、センタリング動作中のブレた画像に基づいて顔の検出処理が行われ、顔の検出精度が低下するのを有効に防止することができる。
なお、電源をONすると、自動的に主要被写体にピントを合わせるカメラで顔の検出処理を行う場合は、主要被写体にピントが合うのを待って顔の検出処理を開始するようにしてもよい。
また、電源をONすると、ズームレンズ群が自動的に前回撮影終了時のズーム位置に移動するカメラで顔の検出処理を行う場合は、前回影終了時のズーム位置までズームレンズ群が移動するのを待って顔の検出処理を開始するようにしてもよい。
また、一般にコンパクトタイプのデジタルカメラの撮影レンズは、電源をOFFすると、撮影レンズが自動的に所定の収納位置に退避し、電源をONすると、所定の撮影スタンバイ位置に移動するが、この種の撮影レンズを用いたカメラで顔の検出処理を行う場合は、撮影レンズが撮影スタンバイ位置に移動するのを待って顔の検出処理を開始するようにしてもよい。
このような処理をすることにより、顔の検出精度の低下を効果的に防止することができる。
また、パンニングやチルティングなど急激な画角変更動作が行われると、画像が流れてしまうので、このような場合も顔の検出処理を停止することが好ましい。すなわち、顔の検出処理中、パン/チルト動作を検出し、パン/チルト動作が検出された場合は、顔の検出処理を停止する。
以下、このパン/チルド動作を検出して、顔の検出処理を中止する場合の処理について説明する。
図14は、パン/チルト動作の検出機構を有する手ブレ補正ユニット206Aの駆動制御系を示すブロック図である。
パンニング検出部270とチルティング検出部272を有する点で図5に示した手ブレ補正ユニット206の駆動制御系と相違している。
X軸角速度センサ248とY軸角速度センサ250で検出されたX軸方向(パン方向)とY軸方向(チルト方向)の角速度の情報は、それぞれA/D変換器252、254を介してパンニング検出部270とチルティング検出部272に入力される。
パンニング検出部270は、入力されたX軸方向の角速度の情報に基づいてパンニング動作の開始と終了を検出し、その検出結果をCPU110に出力する。
チルティング検出部272は、入力されたY軸方向の角速度の情報に基づいてチルティング動作の開始と終了を検出し、その検出結果をCPU110に出力する。
CPU110は、パンニング検出部270とチルティング検出部272でパン/チルトの動作が検出されると、顔検出の処理を停止する。
図15は、パン/チルト動作に応じて顔検出処理の実行/停止を行う場合の処理の手順を示すフローチャートである。
デジタルカメラの電源がONされると(ステップS100)、まず、CPU110は、補正レンズ212のセンタリング処理を行う(ステップS101)。
次いで、CPU110は、顔検出機能がONに設定されているか否かを判定する(ステップS102)。
顔検出機能がONに設定されていると判定すると、CPU110は、パンニング検出部270及びチルティング検出部272でパン/チルト動作の検出を行う(ステップS103)。そして、そのパン/チルト動作の検出結果に基づいてパンニング又はチルティングが行われているか否か判定する(ステップ104)。
この判定でパンニング又はチルティングの動作が行われていないと判定すると、CPU110は、顔検出の処理を開始する(ステップS105)。
一方、パンニング又はチルティングの動作が行われていると判定すると、ステップS103に戻り、再度、パン/チルト動作の検出を行う。すなわち、パンニング又はチルティングの動作が検出されなくなるまで、繰り返しパン/チルト動作の検出処理が行われる。
パンニング又はチルティングの動作がなく、顔検出の処理が開始されると、CPU110は、再びパンニング検出部270及びチルティング検出部272でパン/チルト動作の検出を行う(ステップS106)。そして、そのパン/チルト動作の検出結果に基づいてパンニング又はチルティングが行われているか否か判定する(ステップ107)。
この判定でパンニング又はチルティングの動作が行われていると判定すると、CPU110は、顔検出の処理を停止する(ステップS108)。そして、顔の検出処理を停止した場合は、ステップS106に戻り、再度、パン/チルト動作の検出を行う。すなわち、パンニング又はチルティングの動作が検出されなくなるまで、顔の検出処理を停止する。
一方、パンニング又はチルティングの動作が行われていないと判定すると、CPU110は、顔の検出処理の結果から、顔が検出されたか否か判定する(ステップS109)。そして、顔が検出されたと判定すると、処理を終了する。
このように、顔の検出処理を行う場合において、パン/チルト動作を検出し、パン/チルト動作が検出された場合は、顔の検出処理を停止することにより、流れた画像に基づいて顔の検出処理が行われるのを防止でき、顔の検出精度が低下するのを防止することができる。特にスルー画像に基づいて顔検出を行う場合には、シャッター速度の制限上(1/60sec)、パン/チルト動作を行うと、画像が流れやすくなるので、本発明は特に有効に作用する。
なお、上記の例では、手ブレ補正とは別にパン/チルト動作の検出を行い、その検出結果に基づいて顔検出の処理の実行/停止する場合を例に説明したが、手ブレ補正の過程で検出されるパン/チルト動作の検出結果に基づいて顔の検出処理の実行/停止を行うようにしてもよい。この場合、上記実施の形態で説明したように、像のブレの有無を検出し、像が安定していないときは、顔の検出処理を停止する。これにより、さらに顔の検出精度を向上させることができる。
また、パンニングとチルティングの検出方法については、上記実施の形態のものに限定されるものではなく、他の公知の検出方法を用いてもよい。
なお、上記一連の実施の形態では、人物の顔を検出する場合を例に説明したが、検出対象は、これに限定されるものではなく、他の被写体を検出する場合にも本発明を適用することができる。
また、上記実施の形態のデジタルカメラでは、顔検出機能のON/OFFを任意に切り替えられるようにしているが、常に顔検出を行うようにしてもよい。同様に常に手ブレ補正を行うようにしてもよい。
なお、常に顔の検出を行う場合において、人物撮影モード(人物撮影に適した画像処理等を行うモード)が用意されている場合には、人物撮影モードに設定された場合と、それ以外のモードに設定された場合とで、顔画像の検出に用いる閾値を変えることが好ましい。すなわち、人物撮影モードに設定されている場合は、被写体に人物が含まれている確率が高いので、顔の検出に用いる閾値を高く設定する。これにより、さらに高精度に顔の検出を行うことができるようになる。
また、人物撮影モード以外のモードに設定された場合には、自動的に顔の検出処理を停止するようにしてもよい。これにより、無駄な処理を省略することができる。
また、上記実施の形態では、手ブレ補正の方式として、撮影レンズの一部を移動させる方式を採用しているが、手ブレ補正の方式は、これに限定されるものではない。たとえば、撮像素子134を光軸Lに直交する面内でX軸方向及びUY軸方向に移動可能に保持し、ブレを打ち消す方向に撮像素子134を移動させて、受光面に生じる像ブレを補正するようにしてもよい。
また、上記一連の実施の形態では、本発明をデジタルカメラに適用した場合を例に説明したが、本発明の適用は、これに限定されるものではなく、デジタルビデオカメラの他、カメラ付き携帯電話機等のカメラ機能を備えた機器にも同様に適用することができる。
10…デジタルカメラ、14…撮影レンズ、28…モニタ、34…手ブレ補正ボタン、42…顔検出ボタン、110…CPU、112…操作部、203…ズーム制御部、204…絞り・シャッタ制御部、207…手ブレ補正制御部、209…フォーカスモータ制御部、134…撮像素子、138…アナログ信号処理部、142…デジタル信号処理部、144…AF検出部、146…AE/AWB検出部、148…圧縮伸張処理部、150…メディアコントローラ、152…記憶メディア、202…ズームレンズ群、204…絞り・シャッタユニット、206…手ブレ補正ユニット、208…フォーカスレンズ群、210…本体フレーム、212…補正レンズ、214…レンズ枠体、216…X軸リニアモータ、218…Y軸リニアモータ、232…X軸位置センサ、244…Y軸位置センサ、248…X軸角速度センサ、250…Y軸角速度センサ、260…X軸駆動回路、262…Y軸駆動回路、270…パンニング検出部、272…チルティング検出部