以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
なお、以下に説明する実施の形態は本発明の実現手段としての一例である。本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
[装置の説明]
図1は、本発明の実施の形態における画像処理機能を有する撮像装置の構成を示すブロック図である。なお撮像装置としては、デジタルカメラ、デジタルビデオカメラ、カメラ付き携帯端末(カメラ付き携帯電話を含む)、スキャナ等があり、被写体光学像を変換して電気的な画像信号を出力可能なものであれば、本発明を適用することが可能である。
図1において、100は撮像装置である。10は撮影レンズ、12は絞り機能を備えるシャッター、14は光学像を電気信号に変換する撮像素子、16は撮像素子14のアナログ信号出力をディジタル信号に変換するA/D変換器である。
18は撮像素子14、A/D変換器16、D/A変換器26にそれぞれクロック信号や制御信号を供給するタイミング発生部であり、メモリ制御部22及びシステム制御部50により制御される。
20は画像処理部であり、A/D変換器16からのデータ或いはメモリ制御部22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理部20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行う。そして、得られた演算結果に基づいてシステム制御部50が露光制御部40、焦点調節部42に対して、TTL(スルー・ザ・レンズ)方式のオートフォーカス(AF)処理、自動露出(AE)処理、フラッシュプリ発光(EF)処理を行っている。さらに、画像処理部20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のオートホワイトバランス(AWB)処理も行っている。
さらに、画像処理部20においては、撮像した画像データから被写体の顔の部分を顔領域として検出する顔検出処理も行っている。画像データから被写体の顔を検出すると、検出した顔の領域の位置やサイズ、顔の確からしさ等の顔情報を出力する。
22はメモリ制御部であり、A/D変換器16、タイミング発生部18、画像処理部20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長部32を制御する。A/D変換器16から出力される画像データは、画像処理部20、メモリ制御部22を介して、或いはメモリ制御部22のみを介して、画像表示メモリ24或いはメモリ30に書き込まれる。
24は画像表示メモリ、26はD/A変換器、28はTFT LCD等から成る画像表示部であり、画像表示メモリ24に書き込まれた表示用の画像データはD/A変換器26を介して画像表示部28により表示される。画像表示部28を用いて、撮像した画像データを逐次表示することで、電子ビューファインダー(EVF)機能を実現することができる。また、画像表示部28は、システム制御部50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合には撮像装置100の電力消費を大幅に低減することができる。
30は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶容量を備えている。これにより、複数枚の静止画像を連続して撮影する連写撮影やパノラマ撮影の場合、また、動画撮影の場合にも、高速かつ大量の画像書き込みをメモリ30に対して行うことが可能となる。また、メモリ30はシステム制御部50の作業領域としても使用することが可能である。
32は適応離散コサイン変換(ADCT)等、公知の圧縮方法を用いて画像データを圧縮・伸長する圧縮・伸長部である。圧縮・伸長部32は、メモリ30に格納された画像を読み込んで、例えばJPEG或いはMPEG形式で圧縮処理或いは伸長処理を行い、処理を終えたデータを再びメモリ30に書き込む。
40は露光制御部であり、絞り機能を備えるシャッター12を制御する。露光制御部40は、フラッシュ48と連携することによりフラッシュ調光機能も有する。42は撮影レンズ10のフォーカシングを制御する焦点調節部、44は撮影レンズ10のズーミングを制御するズーム制御部、46はバリア102の動作を制御するバリア制御部である。48はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。露光制御部40及び焦点調節部42はTTL方式を用いて制御されている。上述の通り、A/D変換器16からの画像データを画像処理部20によって演算した演算結果に基づき、システム制御部50が露光制御部40及び焦点調節部42を制御する。
50は撮像装置100全体を制御するシステム制御部、52はシステム制御部50の動作用の定数、変数、プログラム等を記憶するメモリである。
54はシステム制御部50でのプログラムの実行に応じて、文字、画像、音声などを用いて動作状態やメッセージなどを外部に通知するための通知部である。通知部54としては、例えばLCDやLEDなどによる視覚的な表示を行う表示部や音声による通知を行う発音素子などが用いられるが、これらのうち1つ以上の組み合わせにより構成される。特に、表示部の場合には、撮像装置100の操作部70近辺の、視認しやすい、単数あるいは複数箇所に設置されている。また、通知部54は、その一部の機能が光学ファインダー104内に設置されている。
通知部54の表示内容の内、LCDなどに表示するものとしては以下のものがある。まず、動作モード表示、シングルショット/連写撮影表示、セルフタイマー表示等、撮影モードに関する表示がある。また、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示等の記録に関する表示がある。また、シャッタースピード表示、絞り値表示、露出補正表示、フラッシュ表示、赤目緩和表示等の撮影条件に関する表示がある。その他に、マクロ撮影表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示、記録媒体200及び210の着脱状態表示、通信I/F動作表示、日付・時刻表示なども行われる。
また、通知部54の表示内容の内、光学ファインダー104内に表示するものとしては、合焦表示、手ぶれ警告表示、フラッシュ充電表示などがある。
56は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。
60、62、64及び70は、システム制御部50の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
ここで、これらの操作手段の具体的な説明を行う。
60はモードダイアルスイッチで、電源オフ、自動撮影モード、プログラム撮影モード、パノラマ撮影モード、再生モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを切り替え設定することができる。
62はシャッタースイッチSW1で、不図示のシャッターボタンの途中操作(例えば半押し)でONとなり、AF処理、AE処理、AWB処理、EF処理等の動作開始を指示する。
64はシャッタースイッチSW2で、不図示のシャッターボタンの操作完了(例えば全押し)でONとなり、露光処理、現像処理、及び記録処理からなる一連の処理の動作開始を指示する。まず、露光処理では、撮像素子14から読み出した信号をA/D変換器16、メモリ制御部22を介して画像データをメモリ30に書き込み、更に、画像処理部20やメモリ制御部22での演算を用いた現像処理が行われる。更に、メモリ30から画像データを読み出し、圧縮・伸長部32で圧縮を行い、記録媒体200あるいは210に画像データを書き込む記録処理が行われる。
70は各種ボタンやタッチパネルなどから成る操作部である。一例として、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り換えボタン、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタンを含む。更に、再生画像移動+(プラス)ボタン、再生画像移動−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン、顔指定モード設定ボタンなども含む。
66は傾斜センサからなる姿勢検知部で、撮像装置が構えられているのが横位置であるか、縦位置であるか等の装置の姿勢を検出する。
80は電源制御部で、電源検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御部80は、外部電源の接続の有無、電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
82、84はコネクタ、86はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li−ion電池、Liポリマー電池等の二次電池、ACアダプター、または外部バッテリー等からなる電源部である。
90及び94はメモリカードやハードディスク等の記録媒体とのインタフェース、92及び96はメモリカードやハードディスク等の記録媒体と接続を行うコネクタである。98はコネクタ92及び/或いは96に記録媒体200或いは210が装着されているか否かを検知する記録媒体着脱検知回路である。
なお、本実施の形態では記録媒体を取り付けるインタフェース及びコネクタを2系統持つものとして説明しているが、記録媒体を取り付けるインタフェース及びコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインタフェース及びコネクタを組み合わせて備える構成としても構わない。
インタフェース及びコネクタとしては、種々の記憶媒体の規格に準拠したものを用いて構成することが可能である。例えば、PCMCIA(Personal Computer Memory Card International Association)カードやCF(コンパクトフラッシュ(登録商標))カード、SDカード等である。インタフェース90及び94、そしてコネクタ92及び96をPCMCIAカードやCF(登録商標)カード等の規格に準拠したものを用いて構成した場合、各種通信カードを接続することができる。通信カードとしては、LANカードやモデムカード、USB(Universal Serial Bus)カード、IEEE(Institute of Electrical and Electronic Engineers)1394カードがある。他にも、P1284カード、SCSI(Small Computer System Interface)カード、PHS等がある。これら各種通信カードを接続することにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。
102は、撮像装置100のレンズ10を含む撮像部を覆う事により、撮像部の汚れや破損を防止する保護装置であるバリアである。
104は光学ファインダであり、画像表示部28による電子ファインダー機能を使用すること無しに、光学ファインダーのみを用いて撮影を行うことが可能である。また、光学ファインダー104内には、通知部54の一部の機能、例えば、合焦状態、手振れ警告、フラッシュ充電、シャッタースピード、絞り値、露出補正などが表示される。
110は通信回路で、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信、等の各種通信機能を有する。
112は通信回路110により撮像装置100を他の機器と接続するコネクタ或いは無線通信の場合はアンテナである。
200及び210はメモリカードやハードディスク等の記録媒体である。この記録媒体200及び210は、それぞれ、半導体メモリや磁気ディスク等から構成される記録部202及び212、撮像装置100とのインタフェース204及び214、撮像装置100と接続を行うコネクタ206及び216を備えている。
記録媒体200及び210としては、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク等を用いることができる。また、マイクロDAT、光磁気ディスク、CD−RやCD−WR等の光ディスク、DVD等の相変化型光ディスク等で構成されていても勿論構わない。
図2は、上記構成を有する撮像装置100の一例である電子カメラの背面構成を示す斜視図である。
図2において、300は撮像装置100の電源をON/OFFするための電源ボタン、60は撮影モード、再生モード、動画撮影モード、静止画撮影モード等の各機能モードを切り換えるためのモードダイアルである。301はシャッタースイッチSW1、SW2を操作するためのレリーズボタンである。302はセット(SET)ボタン、303はメニュー(MENU)ボタン、304は十字ボタンで、操作部70に対応し、撮像装置100の設定変更や、再生モードにおける画像送りや動画再生の際の様々な操作に使用する。
画像表示部28にはカメラの撮影画像が表示されると共に、静止画像及び或いは再生時の動画像もこの画像表示部28に表示される。
<第1の実施形態>
次に、上記構成を有する撮像装置100の本第1の実施形態における動作について説明する。
●撮影動作
図3は、本第1の実施形態における撮影の全体動作を示すフローチャートである。
電源ボタン300のON操作により撮像装置100に電源が投入されて起動が完了すると、システム制御部50は、ステップS100にて、EVF画像(入力画像毎)の画像データから被写体として顔を検出する。更に、検出した顔の情報を基にAE処理やAF処理等に使用する顔枠(すなわち、主被写体を示す領域表示)を設定し、設定した顔枠をEVF画像に重畳表示する顔枠表示処理を行う。なお、本第1の実施形態における顔枠表示処理の詳細については、図4〜図9を参照して後述する。
次に、システム制御部50は、ステップS101にてシャッタースイッチSW1(62)がON状態であるか否かを判定する。シャッタースイッチSW1(62)がON状態であれば、システム制御部50は処理をステップS102へ進め、OFF状態であれば、システム制御部50は処理をステップS100へ戻して顔枠表示処理を繰り返す。
撮影者によりレリーズボタン301が押し込まれ、シャッタースイッチSW1(62)がON状態になると、システム制御部50は、ステップS102にて、露光制御部40と画像処理部20を用いてAF用AE処理を行う。この際に、ステップS100で顔枠が表示されていれば、顔枠内の輝度が適正になるように絞りとシャッタースピードを決定する。一方、ステップS100で顔枠が表示されていなければ、システム制御部50は画像全体の輝度が適正になるように絞りとシャッタースピードを決定する。
AF用AE処理が終了すると、システム制御部50は、ステップS103にてAF処理を行う。AF処理では、システム制御部50は、焦点調節部42により撮影レンズ10の一部であるフォーカスレンズを一定量ずつ駆動しながら順次撮像を行い、AF信号を生成する。そして、生成したAF信号が最も大きくなるフォーカスレンズ位置を求めて、その位置を合焦位置と決定する。この際もAE処理と同様に、ステップS100で顔枠が表示されていれば、顔枠内の画像データにバンドパスフィルター等の処理を行ってAF信号を生成する。一方、ステップS100で顔枠が表示されていなければ、例えば、予め設定された領域(例えば、画面中央など)の画像データを用いる等、公知の方法によりAF処理を行う。
次に、ステップS104にて本露光用AE処理が実施される。ステップS102ではステップS103のAF動作に適した露出条件を実現するように設定するが、ここでは実際の撮影に適した露出条件となるように絞りやシャッタスピードが設定される。
本露光用AF処理が終了すると、システム制御部50は、ステップS105にてシャッタースイッチSW1(62)がON状態であるか否かを判断する。この時点でシャッタースイッチSW1(62)がOFF状態であれば、撮影の準備動作が途中キャンセルされたものと判断し、ステップS100に戻って顔枠表示処理を行う。一方、ステップS105においてシャッタースイッチSW1(62)がON状態であれば、次のステップS106に進み、シャッタースイッチSW2(64)がON状態であるか否かを判断する。
この時点でシャッタースイッチSW2(64)がON状態でなければ、撮影の準備が完了し、撮影者はシャッタースイッチSW1(62)を保持しながら撮影のタイミングを待ち構えている状態であると判断する。そして、ステップS105に戻り、引き続きシャッタースイッチSW1(62)の状態を監視する。
撮影者によりレリーズボタン301が押し込まれ、シャッタースイッチSW2(64)がON状態になると、システム制御部50は、処理をステップS107に進める。ステップS107では、ステップS103のAF及び処理ステップS104の本露光用AE処理で決定した絞り、シャッタースピードおよび合焦位置を用いて、上述した露光処理、現像処理からなる撮影処理を行い、現像した画像データをメモリ30に書き込む。
撮影処理が終了すると、ステップS108にて、システム制御部50は、メモリ30から画像データを読み出し、インタフェース90あるいは94、コネクタ92あるいは96を介して、記録媒体200あるいは210へ書き込む記録処理を実行する。記録処理が終了すると、撮影の動作を終了する。
●顔枠表示処理
次に、図3のステップS100で行われる顔枠表示処理の動作について、図4のフローチャートを参照して説明する。
システム制御部50は、ステップS200にて、EVF画像データから被写体の顔を検出する。この顔検出処理では、システム制御部50は、画像処理部20を用いてEVF画像データから被写体の顔を検出し、検出した全ての顔について、顔の領域の位置やサイズ、顔の確からしさ、顔の数等の顔情報を、メモリ30に記録する。即ち、画像処理部20は検出手段を構成する。
次に、システム制御部50は、ステップS201にて、ステップS200でメモリ30に記録した顔情報を基に、検出した顔の中から主被写体とする顔を選択して主顔とする、主顔選択処理を行う。即ち、システム制御部50は、選択手段としての役割を担う。なお、主顔選択処理の詳細については図5を用いて後述する。
最後に、システム制御部50は、ステップS202にて、画像表示部28に表示しているEVF画像に、図7(a)または(b)に示すように、ステップS201で選択された主顔の領域を示す顔枠400または401を重ねて表示する顔枠表示制御を行う。即ち、システム制御部50は、表示制御手段としての役割も担う。なお、顔枠表示処理の詳細については図6を用いて後述する。
以上の顔枠表示処理を繰り返し実行することにより、EVF画像の主被写体の顔部分に顔枠を重畳表示するとともに、顔枠を主被写体の顔部分に追従させて表示し続けることができ、顔枠を使用してAF処理およびAE処理等を行って撮影することが可能となる。
●主顔選択処理
図5は、図4のステップS201で行われる主顔選択処理の動作を示すフローチャートである。
先ずステップS300において、システム制御部50は、上述したステップS200で顔が検出されたかどうかを判断する。検出されていなければ、そのまま主顔選択処理を終了し、検出されていれば、ステップS301に進む。
システム制御部50は、ステップS301にて、現在の顔選択モードが、検出した顔の中から主被写体とする顔を撮影者が選択して主顔とする、顔指定モードかどうかを判定する。
顔指定モードでない場合、即ち、検出した顔の中から主被写体とする顔を撮像装置100が自動的に選択して主顔とする顔オートモードの場合、システム制御部50はステップS302に処理を進める。なお、本第1の実施形態においては、初期値として自動選択モードが設定されているものとする。ステップS302では、メモリ30に記録されている検出された顔の位置やサイズ、顔の確からしさ等の顔情報を基にして、検出された顔の中から主顔を選択する。そして、ステップS307にて選択された主顔の現在位置をメモリ30に記録して、主顔選択処理を終了する。ここで、一つの顔しか検出されなければ、その顔が主顔として選択され、複数の顔が検出されれば、顔の位置、サイズ、確からしさのそれぞれの項目の合計点が最も高い顔が主顔として選択される。検出された顔の位置やサイズに変化が生じれば、その度に主顔が変更されることになる。
一方、顔選択モードが顔指定モードの場合、システム制御部50は、ステップS303に処理を進める。ステップS303では、すでに主顔が選択されている場合、選択されている主顔を現在検出できていない状態(主顔ロスト中)であるか否かを判定する。ここで、顔指定モード中は主顔の検出範囲を現在の主顔の周辺に限定している。
ステップS303にて主顔ロスト中でないと判定された場合、システム制御部50は、ステップS304に処理を進め、主顔以外に顔を検出しているか否かを判定する。主顔以外に顔を検出していない場合、処理をステップS307に進めて主顔の現在位置をメモリ30に記録し、主顔選択処理を終了する。一方、主顔以外に顔を検出している場合、処理をステップS305に進める。
ステップS305においては、システム制御部50は、ユーザから十字ボタン304の操作により主顔の切り換えを指示されているか否かを判定する。この主顔の切り替え指示では、撮影者によりセットボタン302が押されているか否かを判断している。主顔の切り替え指示があった場合は、システム制御部50は、例えば、図7(c)に示すEVF画面表示例の顔枠402のように顔枠の左右両側に矢印を表示し、十字ボタン304の左右ボタンにより主顔を切り換え可能な状態であること示す。この状態で、撮影者から主顔の切り換えが指示された場合は、図7(c)に示すように現在指定されている主顔以外に検出されている顔の位置に主顔の枠の位置を切り替えることができる(ステップS306)。撮影者が主顔を選択した後、再度セットボタン302を押すことにより主顔の選択状態から抜けることができる。そして、処理をステップS307に進めて主顔の現在位置をメモリ30に記録し、主顔選択処理を終了する。
一方、撮影者から主顔の切り換えが指示されていない場合は、システム制御部50は処理をステップS307に進めて主顔の現在位置をメモリ30に記録し、主顔選択処理を終了する。
また、ステップS303にて主顔ロスト中と判定された場合、システム制御部50はステップS307における主顔現在位置の記録をせずに、そのまま主顔選択処理を終了する。
以上の通り、顔オートモードでは検出した顔の中から撮像装置100が主顔を自動的に選択するとともに、顔指定モードの場合には、検出した顔の中から撮影者が任意の顔を主顔として選択することができる。
●顔枠表示制御
図6は、図4のステップS202で行われる顔枠表示制御処理の動作を示すフローチャートである。
システム制御部50は、まず、ステップS400にて現在の顔選択モードが、顔オートモードと顔指定モードのどちらであるかを判定する。顔オートモードの場合は(ステップS400でNO)ステップS411に処理を移し、図7(a)に示すように、顔枠400を自動的に選択された主顔に重ねて描画する。この処理にて描画される顔枠は、図5の主顔選択処理にて選択され、メモリ30に記録された情報に基づいて描画される。
一方で、顔指定モードであれば(ステップS400でYES)、次のステップS401に進む。ステップS401では撮影者が指定した顔が検出できているか否かを判断する。検出できている場合には、ステップS406に進んで主顔をロストしている状態であるか否かを示す顔LOSTフラグをFALSEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)の主顔選択枠401のような表示となる。
一方、ステップS401にて撮影者が指定した顔が検出できていない場合は、次のステップS402に進み、顔LOSTフラグの状態を調べる。ステップS402の時点で顔LOSTフラグがFALSEである場合には、次のステップS403にて図4を参照して上述した顔検出処理により、メモリ30に記憶されている検出されている顔の数を調べる。ステップS403では検出されている顔の数が所定値以上の場合は次のステップS404に進み、所定値未満の場合はステップS405に進む。本第1の実施形態中においてはこの所定値を「5」とする。なお、所定値の値に関しては本第1の実施形態中での説明に制限されるものではなく、例えば、焦点距離を変更可能な構成の撮像装置であれば、焦点距離に応じて先に述べた検出顔数の所定値を切り替えても良い。
次にステップS404では、システム制御部50は、主顔をロストした場合に、主顔が最後に検出された位置に主顔選択枠を保持するための表示継続時間を設定する。ここでは時間T2を設定する。即ち、システム制御部50は設定手段として機能する。
一方、ステップS405では主顔をロストした場合に、主顔が最後に検出された位置に主顔選択枠を保持するための表示継続時間を設定し、ここでは時間T1を設定する。この時間T1、T2の関係については後述する。
ステップS404またはステップS405の処理が完了すると、次にステップS407に進む。ステップS407では顔LOSTフラグをTRUEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)の主顔選択枠401のように表示される。
また、ステップS402にて顔LOSTフラグがTRUEの場合には、ステップS409にて主顔選択枠の表示継続時間の経過を判断する。先に述べたとおり、一旦主顔をロストした場合、ステップS402〜S407の処理において表示継続時間として、時間T1もしくはT2が設定されている。この期間中は、主顔が検出されなくても主顔の情報が更新されないため、EVF画像における主顔選択枠の表示やAE、AF処理においてもメモリ30に記憶されている最後に検出された主顔の情報が継続して使用される。このステップS409において、表示継続時間が経過していないと判断される場合はステップS408の処理を実施し、主顔選択枠を描画する。一方で、表示継続時間が経過している場合はステップS410に進む。
ステップS410ではこれまで設定されていた顔指定モードを解除する。本第1の実施形態では、選択された顔をロストし、その際に検出されていた顔の数で決まる表示継続時間(T1もしくはT2)中に再度主顔が検出できなかった場合には、顔指定モードが自動的に解除され、顔オートモードに移行する。
次にステップS411にて通常顔枠表示処理を実施する。ただし、ステップS410よりステップS411に移った場合は表示すべき顔枠が確定していないため、通常の顔枠(図7(a)の顔枠400)として表示すべきものがない。従って、顔枠を表示せずに直ちに処理が終了することになる。しかし、図4で示した顔枠表示処理は図3に示すように継続して実施されているため、再度、図5の主顔選択処理を実行し、顔オートモードとして主顔選択処理を行うことによりステップS411にて顔枠の表示が行われる。
ここで、ステップS404とステップS405で設定する主顔選択枠の表示継続時間の関係について説明する。T1、T2には「T2>T1」の関係を持つように設定し、本第1の実施形態においては
T1=2秒
T2=6秒
と設定する。これにより、顔指定モードにおいて検出されている顔の数が多い(所定数以上)状況で主顔をロストした場合には、検出されている顔の数が少ない(所定数未満)の場合よりも、主顔選択枠の表示を元の位置に継続する時間を長くするような制御が可能となる。
上記の通り本第1の実施形態によれば、図8に示すように、元々人が少ない状況で主顔をロストした場合には短時間で顔指定モードを解除し、他の検出されている顔に顔枠が移るようにする。一方で図9で示すような集合写真のように、検出されている顔の数が多い状況では、顔をロストした際に顔指定モードを解除し、他の顔に顔枠を移しにくくすることが可能となる。つまり、顔枠の表示継続時間を検出されている顔の数に応じて切り替えることで、顔が密集している状態で主顔を検出できなくなった場合などに、想定外の顔に顔枠が移り変わってしまうことを抑え、撮影者のストレスを低減することが可能となる。
なお、上記第1の実施形態では、検出された顔の数が所定数以上か未満かに応じて、顔枠の表示継続時間を2段階に切り替える場合について説明したが、閾値を2つ以上設定して、3段階以上に切り替えるように制御しても構わない。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
なお、第2の実施形態における撮像装置の構成及び、基本的な撮影動作、顔枠表示処理の概要及び、顔枠表示処理における主顔選択処理は第1の実施形態と同様であるため、説明を省略する。本第2の実施形態は、図4に示す顔枠表示処理の内、ステップS202で行われる顔枠表示制御処理が第1の実施形態で図6を参照して説明した処理と異なると共に、ステップS200で行われる顔検出処理も第2の実施形態に特徴的な処理である。従って、以下、図10〜図12を用いて顔検出処理及び顔枠表示処理について説明する。
第2の実施形態では第1の実施形態と同様に画像データ全域を顔の検出領域とする検出領域1と、図12のように顔指定モードにおける主顔選択枠を中心とした主顔選択枠よりも大きく画像データ全域よりも小さい密集度カウント領域500を検出領域2とする。そして、この2つの顔検出領域における検出結果を用いて、主顔を中心とした顔の密集度を元に主顔ロスト時の表示継続時間を切り替える。なお本第2の実施形態では検出領域2の大きさは、画像データに対して縦横50%と設定するが、本発明はこれに限定されるものではなく、焦点距離等により比率を変えても良い。
図11は、本第2の実施形態における顔検出処理を示すフローチャートであり、上述したように図4に示す顔枠表示処理のステップS200で行われる。
まず、ステップS800で、画像データの全域(検出領域1)を対象とした顔検出処理を実施し、検出結果はメモリ30に記憶する。次にステップS801にて現在の設定が顔指定モードであるか否かを判断する。ここで顔指定モードでないと判断された場合はそのまま処理を終了する。つまり顔オートモードの場合は第1の実施形態と同様の動作となる。また、ステップS801で顔指定モードであると判断された場合にはステップS802に進む。
ステップS802では先に述べた主顔を中心とした検出領域2にて顔検出処理を実施し、その結果をメモリ30に記憶し、処理を終了する。
このように、顔指定モードが設定されている場合、検出領域1と検出領域2の2つの領域について顔検出を行い、これらの顔検出結果がメモリ30に記憶されることになる。
●顔枠表示制御
次に、図4のステップS202で行われる本第2の実施形態における撮像装置100の顔枠表示制御処理について、図10のフローチャートを用いて説明する。なお、図6と同様の処理には、同じ参照番号を付している。
システム制御部50は、まず、ステップS400にて現在の顔選択モードが、顔オートモードと顔指定モードのどちらであるかを判定する。顔オートモードの場合は(ステップS400でNO)ステップS411に処理を移し、図7(a)に示すように、顔枠400を自動的に選択された主顔に重ねて描画する。この処理にて描画される顔枠は、図5の主顔選択処理にて選択され、メモリ30に記録された情報に基づいて描画される。
一方で、顔指定モードであれば(ステップS400でYES)、次のステップS401に進む。ステップS401では撮影者が指定した顔が検出できているか否かを判断する。検出できている場合には、ステップS501に進み、現在検出されている主顔を中心として検出領域2の領域を設定し直す。設定された検出領域2は次に先に述べた顔検出処理を実施する際に使用される。そして、ステップS406に進んで主顔をロストしている状態であるか否かを示す顔LOSTフラグをFALSEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)に示した主顔選択枠401のような表示となる。
一方、ステップS401にて撮影者が指定した顔が検出できていない場合は、次のステップS402に進み、顔LOSTフラグの状態を調べる。ステップS402の時点で顔LOSTフラグがFALSEである場合には、次のステップS502にて、先に述べた図4のステップS200での顔検出処理によりメモリ30上に記憶されている検出されている検出領域1、検出領域2の顔の数より密集度を算出する。
ここで、密集度についてその算出方法を説明する。本第2の実施形態においては下記の式にて密集度を算出する。
密集度 = 検出領域2の顔検出数 / 検出領域1の顔検出数
例えば、図12(a)のような集合写真のような状況においては、密集度は1.0となり、図12(b)のような2ショット写真のような状況でも密集度は1.0となる。これらは共に密集度の高い場合の例である。また、図12(c)のように、全体としては検出数が多いものの主顔近傍では検出されていないような場合には、密集度は0.2となる。また、図12(d)のように全体としての検出数自体も少なく、また主顔近傍でも検出されていない場合では、密集度は0.5となる。これらは共に密集度の低い場合の例である。
次にステップS503では先に計算した密集度が所定値以上かどうかを判断し、所定値以上の場合はステップS505に進み、所定値未満の場合はS504に進む。本実施例中においてはこの所定値を「0.6」とする。なお、所定値の値に関しては本第2の実施形態での説明に制限されるものではなく、例えば、焦点距離を変更可能な構成の撮像装置であれば、焦点距離に応じて先に述べた基準となる密集度を切り替えても良い。ステップS505では、主顔をロストした場合に主顔が最後に検出された位置に主顔選択枠を保持するための表示継続時間を設定する。ここでは時間T2を設定する。
一方でステップS503にて密集度が所定値未満である場合には、ステップS504に進み、主顔をロストした場合に、主顔が最後に検出された位置に主顔選択枠を保持するための表示継続時間を設定する。ここでは時間T1を設定する。この時間T1、T2の関係は、例えば、第1の実施形態と同様である。
ステップS504またはステップS505の処理が完了すると、次にステップS407に進む。ステップS407では顔LOSTフラグをTRUEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)の主顔選択枠401のように表示される。
なお、ステップS402にて顔LOSTフラグがTRUEの場合の処理は、第1の実施形態の図6における処理と同様であるため、ここでは説明を省略する。
上記の通り本第2の実施形態によれば、図12(c)及び(d)に示すように、主顔の近傍に他の顔が少ない場合には短時間で顔指定モードを解除し、他の検出されている顔に顔枠が移るようにする。一方で図12(a)及び(b)のような集合写真や2ショット写真のように主顔の近傍に他の顔が多数検出できるような状況では、顔をロストした際に他の顔に顔指定モードを解除し、他の顔に顔枠を移しにくくすることが可能となる。つまり、顔枠の表示継続時間を検出されている顔の数より求めた密集度に応じて切り替えることで、顔が密集している状態で主顔を検出できなくなった場合に、想定外の顔に顔枠が移り変わってしまうことを抑え、撮影者のストレスを低減することが可能となる。
なお、上記第2の実施形態では、顔の密集度が所定数以上か未満かに応じて、顔枠の表示継続時間を2段階に切り替える場合について説明したが、閾値を2つ以上設定して、3段階以上に切り替えるように制御しても構わない。
<第3の実施形態>
次に、第3の実施形態について説明する。
なお、第3の実施形態における撮像装置の構成及び、基本的な撮影動作、顔枠表示処理の概要及び、顔枠表示処理における主顔選択処理は第1の実施形態と同様であるため、説明を省略する。また、本第3の実施形態において、図4のステップS200で行われる顔検出処理は、第2の実施形態で図11を参照して上述した処理を行う。本第3の実施形態は、図4に示す顔枠表示制御の内、ステップS202で行われる顔枠表示制御処理が、第1の実施形態で図6を参照して説明した処理と異なる。従って、以下、図13〜図15を用いて顔枠表示処理について説明する。
●顔枠表示制御
図13は、本発明の第3の実施形態における撮像装置100の顔枠表示処理を示すフローチャートである。なお、図6または図10と同様の処理には、同じ参照番号を付している。
システム制御部50は、まず、ステップS400にて現在の顔選択モードが、顔オートモードと顔指定モードのどちらであるかを判定する。顔オートモードの場合は(ステップS400でNO)ステップS411に処理を移し、図7(a)に示すように、顔枠400を自動的に選択された主顔に重ねて描画する。この処理にて描画される顔枠は、図5の主顔選択処理にて選択され、メモリ30に記録されている情報に基づいて描画される。
一方で、顔指定モードであれば(ステップS400でYES)、次のステップS510に進む。ステップS510では主顔をロストした場合の主顔選択枠の表示継続時間を算出する。
ここで表示継続時間の算出について図14を用いて説明する。先ず、ステップS600にて顔指定モード時に指定された顔が検出されているか否かを判断する。ここで、主顔が検出されていない場合は処理を終了する。
一方で、主顔が検出できている場合には次のステップS601に進む。ステップS601では密集度を算出する。この密集度の算出処理は、上述した第2の実施形態における処理と同様にして行う。次にステップS602にて、現在の密集度と直前に算出された密集度とを比較し、現在の密集度の方が大きければステップS603にて主顔ロスト時の顔枠表示継続時間をT2に設定する。一方、現在の密集度が直前の密集度以下の場合はステップS604にて顔枠表示継続時間をT1に設定する。次にステップS605にて算出した密集度をメモリ30に記憶する。なお、メモリ30には現在の算出結果と直前の算出結果が記録される。
つまり、主顔が検出されている期間はその情報を基にして算出した密集度に応じて、随時主顔ロスト時の顔枠表示継続時間を決定し、主顔が検出できない場合は直前の顔枠表示継続時間を使用することになる。
ステップS510の処理後、ステップS401では撮影者が指定した顔が検出できているか否かを判断する。検出できている場合には、ステップS501に進み、現在検出されている主顔を中心として検出領域2の領域を設定し直す。設定された検出領域2は次に先に述べた顔検出処理を実施する際に使用される。そして、ステップS406に進んで主顔をロストしている状態であるか否かを示す顔LOSTフラグをFALSEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)に示した主顔選択枠401のような表示となる。
一方、ステップS401にて撮影者が指定した顔が検出できていない場合は、次のステップS402に進み、顔LOSTフラグの状態を調べる。ステップS402の時点で顔LOSTフラグがFALSEである場合には、次のステップS511に進む。
ステップS511では、主顔をロストした場合に主顔選択枠を最後に検出された位置に保持するための表示継続時間を設定する。ここではステップS510において図14で説明したようにして算出した顔枠表示継続時間を設定する。ステップS407では顔LOSTフラグをTRUEに設定し、次のステップS408にて指定されている主顔に対してメモリ30に記録されている情報に基づいて顔枠を描画する。その際、図7(b)の主顔選択枠401のように表示される。
なお、ステップS402にて顔LOSTフラグがTRUEの場合の処理は、第1の実施形態の図6における処理と同様であるため、ここでは説明を省略する。
上記の通り本第3の実施形態によれば、図15(a)に示すように、元々密集度の低い状況で主顔をロストした場合には短時間で顔指定モードを解除し、他の検出されている顔に顔枠が移りやすくなる。一方で図15(a)から(b)にシーンが変化した場合、例えば集合写真を撮影するような状況で、最初は密集度が低い状況から徐々に人が集まり密集度が高くなった状況では、次のように顔枠表示継続時間を制御することができる。即ち、最初の状態で主顔をロストした場合には顔指定モードを解除し、他の顔に顔枠を移しやすく制御できるが、密集度が高くなるにつれて顔指定モード解除までの時間を延ばす。つまり、顔枠の表示継続時間を密集度の変化に応じて切り替えることで、顔が密集していない状態、顔が密集している状態、それぞれのシーンにあった顔枠表示継続時間を反映することができる。これにより、撮影者の意思に反した顔枠の移り変わりに伴うストレスを低減することが可能となる。
<他の実施形態>
なお、本発明は、複数の機器(例えば、画像処理装置を構成するホストコンピュータ、インターフェイス機器、カメラヘッドなど)から構成されるシステムに適用してもよい。また、一つの機器からなる装置(例えば、デジタルスチルカメラ、デジタルビデオカメラなど)に適用してもよい。
また、本発明の目的は、以下の様にして達成することも可能である。まず、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のようにして達成することも可能である。即ち、読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合である。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ROM、RAM、磁気テープ、不揮発性のメモリカード、CD−ROM、CD−R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。また、LAN(ローカル・エリア・ネットワーク)やWAN(ワイド・エリア・ネットワーク)などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。
10:撮影レンズ、12:シャッター、14:撮像素子、16:A/D変換器、18:タイミング発生部、20:画像処理部、22:メモリ制御部、24:画像表示メモリ、26:D/A変換器、28:画像表示部、30:メモリ、32:圧縮・伸長部、40:露光制御部、42:焦点調節部、44:ズーム制御部、46:バリア制御部、48:フラッシュ、50:システム制御部、52:メモリ、54:通知部、56:不揮発性メモリ、60:モードダイアルスイッチ、62:シャッタースイッチSW1、64:シャッタースイッチSW2、66:姿勢検知部、70:操作部、80:電源制御部、82、84:コネクタ、86:電源部、90、94:入出力I/F、92、96:コネクタ、98:記録媒体着脱検知部、100:撮像装置、102:バリア、104:光学ファインダ、110:通信回路、112:コネクタ(アンテナ)、200、210:記録媒体、202、212:記録部、204、214:インタフェース、206、216:コネクタ、300:電源ボタン、301:レリーズボタン、302:セットボタン、303:メニューボタン、304:十字ボタン、400、401、402:顔枠