撮像装置及び撮像方法
【課題】顔検出を利用した各種機能の制御をシーンの認識結果に応じて個別に制御できるようにする。
【解決手段】撮影シーンの情報を取得してシーンを認識するとともに、その撮影シーンに顔があるか否かを検出する。そして、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う。顔検出を利用した顔枠表示、顔AE、顔AF、顔AWB、顔階調補正等の各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか等を個別に制御可能にし、シーンに応じてより良好な撮像や画像処理を実現する。また、シーンが変動すると、所定の周期毎に取得されたシーンの情報に基づいてシーンを認識し、5回認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、シーンの認識結果を安定して得る。
【解決手段】撮影シーンの情報を取得してシーンを認識するとともに、その撮影シーンに顔があるか否かを検出する。そして、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う。顔検出を利用した顔枠表示、顔AE、顔AF、顔AWB、顔階調補正等の各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか等を個別に制御可能にし、シーンに応じてより良好な撮像や画像処理を実現する。また、シーンが変動すると、所定の周期毎に取得されたシーンの情報に基づいてシーンを認識し、5回認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、シーンの認識結果を安定して得る。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮像装置及び撮像方法に係り、特にシーンの認識結果に基づいて顔検出の利用方法を変化させる技術に関する。
【背景技術】
【0002】
特許文献1には、デジタルスチルカメラにおいて、設定された撮影モードがシーンに対して適切であるか否かを、デジタル画像信号やEV値に基づいて判定することが開示されている。
【0003】
特許文献2には、顔認識手段と状態検出手段の出力情報に基づいてカメラの撮影モードを設定する撮影モード自動設定カメラが開示されている。特許文献2に記載のカメラは、被写体の動き、撮像倍率又は被写体距離の出力情報に基づいてカメラ撮影モードを自動設定するものである。また、特許文献2には、人の顔を検出するだけでなく、人数や撮影倍率に応じて撮影モードとして、ポートレートモード、複数人物モード、集合写真モードを区別することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−244530号公報
【特許文献2】特開2003−344891号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の発明は、設定された撮影モードが撮影シーンに対して適切であるか否かを判定するものであり、シーンを認識するものではない。
【0006】
また、特許文献2に記載の発明は、顔認識手段と状態検出手段の出力情報に基づいてシーン認識を行い、人物モードを含む各種の撮影モードを自動的に設定するものであるが、特許文献2には、シーン認識結果と顔検出結果とを利用した各種機能をどのように制御するかについては記載されていない。
【0007】
本発明はこのような事情に鑑みてなされたもので、顔検出を利用した各種機能の制御をシーンの認識結果に応じて個別に制御することができ、より良好な撮像や画像処理を実現することができる撮像装置及び撮像方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために本発明の一の態様に係る撮像装置は、撮影シーンの情報を取得する情報取得手段と、取得した情報からシーンを認識するシーン認識手段と、撮影シーンに顔があるか否かを検出する顔検出手段と、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う制御手段と、を備え、シーン認識手段は、認識したシーンに対応する情報を基準情報として記憶する記憶手段と、記憶手段に記憶された基準情報と情報取得手段により取得された情報からシーンが変動したか否かを判別するシーン変動判別手段と、シーン認識を行う所定の周期を設定する周期設定手段と、を有し、シーンが変動したことが判別されると、情報取得手段により取得した情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンであって、周期設定手段により設定された所定の周期毎に情報取得手段により取得された情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報とし、記憶手段に記憶させた基準情報を更新する。
【0009】
即ち、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うようにしたため、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか(制御を行うべきか否かを含む)等を個別に制御することができ、シーンに応じてより良好な撮像や画像処理を実現することができる。
【0010】
また、シーンが変動したことが判別されると、所定の周期毎に取得されたシーンの情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識するようにしたため、シーンの認識結果を安定して得ることができる。
【0011】
本発明の他の態様に係る撮像装置において、情報取得手段は、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得することが好ましい。尚、顔があるか否かを示す情報は、顔検出手段から取得することができる。
【0012】
本発明の更に他の態様に係る撮像装置において、制御手段は、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御手段、検出された顔の領域の明るさに基づいて露出を制御する露出制御手段、検出された顔に焦点が合うように焦点調節を行う自動焦点調節手段、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整手段、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正手段のうちの2以上の手段を含む。即ち、制御手段は、顔の検出結果に応じてライブビュー画像に検出された顔の位置を顔枠等により明示的に表示し、検出された顔の領域の明るさに基づいて露出を制御し、検出された顔に焦点が合うように焦点調節を行い、検出された顔の領域の色情報に基づいてホワイトバランスを調整し、又は検出された顔の領域の明るさに基づいて階調補正を行うが、これらの各種の制御をシーンの認識結果に応じて個別に制御できるようになっている。
【0013】
本発明の更に他の態様に係る撮像装置において、制御手段は、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを有し、シーンの認識結果と顔の検出結果とに基づいてテーブルから対応する情報を読み出して各種の制御を行う。
【0014】
本発明の更に他の態様に係る撮像装置において、テーブルに記憶されている情報をユーザーが自由に設定するカスタム設定手段を備えることが好ましい。即ち、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか等をユーザーが自由に設定することができ、ユーザーの好みに合わせた制御を可能にしている。
【0015】
本発明の更に他の態様に係る撮像装置において、シーン認識手段は、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する。
【0016】
本発明の更に他の態様に係る撮像方法は、所定の周期毎に撮影シーンの情報を取得するステップと、取得した撮影シーンの情報からシーンを認識するステップと、認識したシーンに対応する情報を基準情報として記憶手段に記憶させるステップと、撮影シーンに顔があるか否かを検出するステップと、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うステップと、を含み、シーンを認識するステップは、所定の周期毎に記憶手段に記憶された基準情報と取得されたシーンの情報とからシーンが変動したか否かを判別し、シーンが変動したことが判別されると、所定の周期毎に取得したシーンの情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報として記憶手段に記憶させた基準情報を更新する。
【0017】
本発明の更に他の態様に係る撮像方法において、撮影シーンの情報を取得するステップは、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得することが好ましい。
【0018】
本発明の更に他の態様に係る撮像方法において、各種の制御を行うステップは、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御、検出された顔の領域の明るさに基づいて露出を制御する露出制御、検出された顔に焦点が合うように焦点調節を行う自動焦点調節、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正のうちの2以上の制御を含む。
【0019】
本発明の更に他の態様に係る撮像方法において、各種の制御を行うステップは、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを使用し、シーンの認識結果と顔の検出結果とに基づいてテーブルから対応する情報を読み出して各種の制御を行う。
【0020】
本発明の更に他の態様に係る撮像方法において、テーブルに記憶されている情報は、ユーザーが自由に設定するカスタム設定手段により設定される。
【0021】
本発明の更に他の態様に係る撮像方法において、シーンを認識するステップは、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する。
【発明の効果】
【0022】
本発明によれば、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか(制御を行うべきか否かを含む)等を個別に制御することができ、シーンに応じてより良好な撮像や画像処理を実現することができ、また、シーン変動時にシーンの認識結果を安定して得ることができる。
【図面の簡単な説明】
【0023】
【図1】デジタルカメラの構成を示す概略ブロック図
【図2】本発明に係る撮像方法の概要を示すフローチャート
【図3】シーン判定の結果表示の一例を示す図
【図4】シーンの認識結果と顔検出を利用した各種機能の関係の一例を示す図表
【図5】シーン認識メイン処理のフローチャート
【図6】フレーム変動チェックのフローチャート
【図7】測光値変動チェックのフローチャート
【図8】フォーカス位置変動チェックのフローチャート
【図9】顔有無変動チェックのフローチャート
【図10】シーン認識の詳細を示すフローチャート
【図11】シーン認識結果SRを概念的に示した図
【図12】シーン判定サブルーチン(人物判定)のフローチャート
【図13】シーン判定サブルーチン(風景判定)のフローチャート
【図14】シーン判定サブルーチン(夜景判定)のフローチャート
【図15】シーン判定サブルーチン(夜景判定)のフローチャートの他の一例
【図16】シーン判定サブルーチン(接写判定)のフローチャート
【図17】顔検出利用による各種機能の制御の設定方法を示すフローチャート
【図18】顔形機能設定画面の一例を示す図
【発明を実施するための形態】
【0024】
以下、添付図面に従って本発明に係る撮像装置及び撮像方法の好ましい実施の形態について説明する。
【0025】
[撮像装置の構成]
図1は、本発明に係る撮像装置(デジタルカメラ)の第1の実施形態を示すブロック図である。
【0026】
この撮像装置(以下、デジタルカメラ1という。)は、撮影により取得した画像データを、Exif形式の画像ファイルに変換して、本体に着脱可能な外部記録メディアなどの記録部70へ記録するものである。
【0027】
図1に示すように、デジタルカメラ1は、操作部11と、ユーザーによる操作部11への操作内容を解釈して各部を制御する制御回路74とを有している。
【0028】
操作部11は、画像を撮影する撮影モードと、記録部70に記録された画像を読み出して表示部71に表示する再生モードとの間で動作モードを切り替える動作モードスイッチ、メニュー/OKボタン、ズーム/上下矢印レバー、左右矢印ボタン、Back(戻る)ボタン、表示切替ボタン、シャッタボタン、電源スイッチを含んでいる。
【0029】
制御回路74は、情報処理を行うCPU75、本発明に係るシーン認識等の情報処理を規定したプログラム、ファームウェア、プログラムでの各種判定に用いる閾値その他の定数などを記録したROM68、情報処理に必要な変数やデータなどを格納するRAM69を備えている。
【0030】
CPU75は、操作部11やAF処理部62等の各種処理部からの信号に応じてデジタルカメラ1の本体各部を制御する。ROM68は、デジタルカメラ1において設定される各種定数、及びCPU75が実行するプログラム等を格納する。RAM69は、CPU75がプログラムの実行に必要なデータを一時的に格納する。
【0031】
レンズ20は、フォーカスレンズ及びズームレンズを有している。レンズ20は、レンズ駆動部51によって光軸方向に移動可能である。レンズ駆動部51は、CPU75から出力されるフォーカス駆動量データに基づいて、フォーカスレンズの位置を制御する。また、レンズ駆動部51は、操作部11のズーム/上下矢印レバーの操作量データに基づいてズームレンズの位置を制御する。
【0032】
また、絞り54は、モータとモータドライバとからなる絞り駆動部55によって駆動される。絞り駆動部55は、CPU75から出力される絞り値データに基づいて絞り径の調整を行う。
【0033】
レンズ20、絞り54を含む撮像光学系の後方には、撮像素子(CCD)58が配置されている。尚、撮像素子58としては、CCDの代わりにCMOSイメージセンサを用いることもできる。
【0034】
撮像素子58は、多数の受光素子が2次元的に配列された光電面を有している。撮像光学系を通過した被写体光はこの光電面に結像し、光電変換される。光電面の前方には、各画素に光を集光するためのマイクロレンズアレイと、R,G,B各色のフィルタが規則的に配列されたカラーフィルタアレイとが配置されている。撮像素子58は、撮像素子制御部59から供給される垂直転送クロック及び水平転送クロックに同期して、画素毎に蓄積された電荷を1ラインずつシリアルなアナログ撮影信号として出力する。各画素において電荷を蓄積する時間、すなわち、露出時間は、撮像素子制御部59から与えられる電子シャッタ駆動信号によって決定される。また、撮像素子58は、あらかじめ定められた大きさのアナログ撮像信号が得られるように、撮像素子制御部59によりゲインが調整されて
いる。
【0035】
撮像素子58から取り込まれたアナログ撮影信号は、アナログ信号処理部60に入力される。アナログ信号処理部60は、アナログ信号のノイズを除去する相関2重サンプリング回路(CDS)と、アナログ信号のゲインを調節するオートゲインコントローラ(AGC)とからなる。アナログ信号処理部60におけるR、G、B信号の増幅ゲインは、撮影感度(ISO感度)に相当する。CPU75は、この増幅ゲインを調整することにより撮影感度を設定する。
【0036】
A/D変換部61は、アナログ信号処理部60により処理されたアナログ画像信号をデジタル画像データに変換する。このデジタル信号に変換された画像データは、画素毎にR,G,Bの濃度値を持つCCD−RAWデータである。
【0037】
制御回路74は、発振子(不図示)から供給される発振信号を逓倍又は分周してタイミング信号を発生させて撮像素子制御部59に入力することにより、操作部11のシャッタボタンの操作時における撮像素子58からの電荷の取込み及びアナログ信号処理部60の処理のタイミングを調整している。
【0038】
制御回路74は、撮像素子58で生成された画像信号の輝度を検出することにより測光を行う。制御回路74は、被写界輝度が低い場合、自動焦点調節(AF)時(シャッタボタン半押し時)に補助光制御部25に指示して補助光発光部26(例えば、LED)から補助光を照射させる。
【0039】
A/D変換部61から出力されたR,G,Bの各画像データ(CCD−RAWデータ)は、デジタル信号処理部65によって、ホワイトバランス(WB)調整、ガンマ補正、及びYC処理が施される。処理後の画像データは、メモリ66に書き込まれる。
【0040】
メモリ66は、画像データに対して後述の各種デジタル画像処理(信号処理)を行う際に使用する作業用メモリであり、例えば、一定周期のバスクロック信号に同期してデータ転送を行うSDRAM(Synchronous Dynamic Random Access Memory)が使用される。
【0041】
表示部71は、例えば、液晶モニタを含んでおり、撮影モード設定以後から本撮影指示がされるまでの間メモリ66に逐次格納された画像データをライブビュー画像(スルー画像)として液晶モニタに表示させたり、再生モード時に記録部70に保存されている画像データを液晶モニタに表示させる。尚、スルー画像は、撮影モードが選択されている間、所定の時間間隔で撮像素子58により撮影される。
【0042】
本実施形態のデジタルカメラ1は、動作モードが撮影モードに設定されると、画像の撮像を開始し、ライブビュー画像(スルー画)が表示部71の液晶モニタに表示される。スルー画表示時には、CPU75は、後述のAF処理部62及びAE/AWB処理部63による演算結果に基づいて、コンティニュアスAE(CAE)及びコンティニュアスAF(CAF)を実行する。ここで、コンティニュアスAEとは、スルー画撮影の継続中に繰り返し露出値の演算を行って、連続的に撮像素子(CCD)58の電子シャッタ機能及び/又は絞り54を制御する機能である。コンティニュアスAFとは、スルー画撮影の継続中に繰り返しAF評価値の演算を行って、連続的にフォーカスレンズ位置を制御する機能である。撮影モード時にシャッタボタンが半押しされると(S1オン)、デジタルカメラ1は、AE処理(S1AE)及びAF処理(S1AF)を実行し、AEロック及びAFロックを実行する。
【0043】
以下、AE処理及びAF処理について説明する。撮像素子58から出力された画像信号はA/D変換後にバッファメモリ(不図示)を介してAF処理部62及びAE/AWB処理部63に入力される。
【0044】
AE/AWB処理部63は、1画面を複数の分割エリア(例えば、8×8又は16×16)に分割し、この分割エリアごとにR、G、B信号を積算し、その積算値をCPU75に提供する。CPU75は、AE/AWB処理部63から得た積算値に基づいて被写体の明るさ(被写体輝度)を検出し、撮影に適した露出値(撮影EV値)を算出する。CPU75は、上記露出値と所定のプログラム線図に従って、絞り値とシャッタスピードを決定し、これに従い撮像素子58の電子シャッタ機能及び絞り54を制御して適正な露光量を得る。
【0045】
更に、CPU75は、フラッシュ発光モードがオンに設定された場合にフラッシュ制御部73にコマンドを送って動作させる。フラッシュ制御部73は、フラッシュ発光部(放電管)24を発光させるための電流を供給するためのメインコンデンサを含んでおり、CPU75からのフラッシュ発光指令に従ってメインコンデンサの充電制御、フラッシュ発光部24への放電(発光)のタイミング及び放電時間の制御等を行う。尚、フラッシュ発光手段としては、放電管に代えて発光ダイオード(LED)を用いることも可能である。
【0046】
また、AE/AWB処理部63は、自動ホワイトバランス調整時に、分割エリアごとにR、G、B信号の色別の平均積算値を算出し、その算出結果をCPU75に提供する。CPU75は、Rの積算値、Bの積算値、Gの積算値を得て、分割エリアごとにR/G及びB/Gの比を求め、これらR/G、B/Gの値のR/G、B/G軸座標の色空間における分布等に基づいて光源種判別を行い、判別された光源種に応じてホワイトバランス調整回路のR、G、B信号に対するゲイン値(ホワイトバランスゲイン)を制御し、各色チャンネルの信号に補正をかける。
【0047】
本実施形態に係るデジタルカメラ1におけるAF制御は、例えば、画像信号のG信号の高周波成分が極大になるようにフォーカスレンズを移動させるコントラストAFが適用される。即ち、AF処理部62は、G信号の高周波成分のみを通過させるハイパスフィルタ、絶対値化処理部、画面内(例えば、画面中央部)にあらかじめ設定されているフォーカス対象エリア内の信号を切り出すAFエリア抽出部及びAFエリア内の絶対値データを積算する積算部から構成される。
【0048】
AF処理部62により求められた積算値のデータはCPU75に通知される。CPU75は、レンズ駆動部51を制御してフォーカスレンズを移動させながら、複数のAF検出ポイントで焦点評価値(AF評価値)を演算し、演算した焦点評価値が極大となるレンズ位置を合焦位置として決定する。そして、CPU75は、レンズ駆動部51を制御して上記合焦位置にフォーカスレンズを移動させる。尚、コンティニュアスAF(CAF)時には、S1AFのときに比べて、合焦位置のサーチ範囲(AFサーチ時のフォーカスレンズの移動範囲)が狭く、AF検出ポイントの数が少なくなっている。また、AF評価値の演算はG信号を利用する態様に限らず、輝度信号(Y信号)を利用してもよい。
【0049】
尚、露出及びホワイトバランスについては、撮影モードがマニュアルモードに設定されている場合には、デジタルカメラ1のユーザーがマニュアル操作により設定可能である。また、露出及びホワイトバランスが自動で設定された場合にも、ユーザーがメニュー/OKボタン等の操作部11から指示を行うことにより、露出及びホワイトバランスをマニュアル調整することが可能である。
【0050】
シャッタボタンが半押し(S1オン)された後に全押し(S2オン)されると、撮像素子58から記録用の本画像データが取り込まれる。この本画像データは、シャッタボタンが全押しされることによって実行される本撮影時に撮像素子58から取り込まれ、アナログ信号処理部60、A/D変換部61、デジタル信号処理部65経由でメモリ66に格納された画像データである。デジタル信号処理部65は、本画像の画像データに対して、ガンマ補正、シャープネス補正、コントラスト補正等の画質補正処理、CCD−RAWデータを輝度信号であるYデータと、青色色差信号であるCbデータ及び赤色色差信号であるCrデータとからなるYCデータに変換するYC変換処理を行う。本画像の画素数の上限は、撮像素子58の画素数によって決定されるが、例えば、ファイン、ノーマル等の設定により、記録画素数を変更することができる。一方、スルー画像及びシャッタボタン半押し時のプレ画像の画像数は、例えば、本画像よりも少ない画素数、例えば、本画像の1/16程度の画素数で取り込まれる。
【0051】
また、デジタル信号処理部65は、フラッシュ発光部24の発光量が通常の撮影時よりも小さくされた場合には、本画像における顔領域の輝度を求め、輝度が所定のしきい値Th1よりも小さい場合には顔領域の輝度をしきい値Th1に調整する処理を行う。
【0052】
圧縮伸張処理部67は、補正・変換処理が行われた本画像の画像データに対して、例えば、所定の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルは、記録部70に記録される。この画像ファイルには、例えば、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。また、圧縮伸張処理部67は、再生モードの場合に、記録部70から読み出された画像ファイルに対して伸張処理を行う。伸張後の画像データは表示部71の液晶モニタに表示される。
【0053】
顔検出処理部80は、画像照合部及び顔画像テンプレートを含み、スルー画像、プレ画像、あるいは本画像から人物の顔を検出し、その顔の位置や大きさの情報を制御回路74に出力する。
【0054】
具体的には、顔検出処理部80の画像照合部が、スルー画像等の画面内で、対象領域の位置を移動させながら、対象領域の画像と顔画像テンプレートとを照合し、両者の相関を調べる。そして、相関スコアが予め設定された閾値を越えると、その対象領域を顔領域として認定する。顔が検出されない場合には、対象領域の大きさを変えながら上記の処理を繰り返し行う。尚、顔検出方法としては、顔に含まれる顔の特徴を有する領域(例えば、肌色の領域を有する、肌色領域の中に黒色領域(目)を有する、肌色領域が顔の形状を有する等)を顔領域として検出する方法等の公知の方法を利用することができる。
【0055】
<撮影制御>
図2は本発明に係る撮像方法の概要を示すフローチャートである。
【0056】
同図に示すように、本実施形態に係るデジタルカメラ1は、顔検出処理(ステップS200)とシーン認識処理(ステップS202)とを、シャッタボタンが半押し(S1オン)されるまで(ステップS204)、繰り返し実施する。尚、顔検出処理及びシーン認識処理の詳細については後述する。
【0057】
シーン認識は、ユーザーが撮ろうとしている、もしくは撮ったシーンが、どのようなシーンであるのかを認識する技術である。予めいくつかのシーンを定義しておき、認識した結果を表示部71に表示する。例えば、図3に示すように、「人物」、「風景」、「夜景」又は「接写」等のシーン認識結果は、テキスト又はアイコン表示などによりユーザーに分かりやすいように通知される。尚、定義したシーンのいずれにも当てはまらない場合の認識結果は、「AUTO」とし、また、自動シーン認識が「OFF」の場合には、何も表示しないようにする。
【0058】
ここで注意すべき点は、顔検出の結果はシーン認識に利用するが、顔検出の結果更新のタイミングと、シーン認識の結果更新のタイミングは必ずしも一致するとは限らないことである。即ち、顔検出処理とシーン認識処理とは、それぞれ独立に動いていて、顔検出の結果が更新されないと、シーン認識が動かない仕組みになっていない。また、図2のフローチャートで示すように、シーン認識とは全く別のタイミングで顔を検出することも可能である。例えば、シーン認識は本露光(ステップS220)の前に確定するが、顔検出は本露光後にも実行することができる(ステップS222参照)。
【0059】
このように、顔検出の結果とシーン認識の結果はいつも同じような関係が成り立つとは限らない。(「顔が検出されている」=「人物モード」が常に成り立っているわけではない)。
【0060】
そのため、後述するようにシーン認識の結果に応じて、顔検出を利用した各種機能の制御方法を個別に制御することで、より高性能なカメラとすることができる。
【0061】
S204において、シャッタボタンの半押し(S1オン)が判別され、"Yes"の場合は、S206に遷移し、"No"の場合はスタートに戻る。
【0062】
S206では、AE処理(S1AE)が行われ、S208ではAF処理(S1AF)が行われ、それぞれAEロック及びAFロックされる。
【0063】
S210では、S202と同様にシーン認識が行われるが、S202がCAE,CAFの結果を利用しているのに対し、S1AE、S1AFの結果を利用する点で異なる。
【0064】
S212では、S210でのシーン認識結果に応じてシーンに適したプログラム線図を選択し、選択したプログラム線図とS206でのS1AEの測光結果(EV値)とに基づいて絞り値とシャッタスピードとを決定する。
【0065】
S214では、シャッタボタンの全押し(S2オン)が判別され、"Yes"の場合はS220に遷移し、"No"の場合はS216に遷移する。
【0066】
S216では、シャッタボタンの半押し(S1オン)が判別され、"Yes"の場合はS218に遷移し、ここで顔検出処理が行われ、一方、"No"の場合はスタートに戻る。
【0067】
S220では、S212で決定した絞り値及びシャッタスピードに基づいて本露光を行い、本画像の撮像を行う。
【0068】
S222では、本画像に対して顔検出処理が行われる。S224では、本画像に対してホワイトバランス調整、ガンマ補正等の階調補正などの信号処理が行われる。
【0069】
S226では、信号処理後の本画像を所定フォーマットで圧縮処理し、画像ファイルを生成して記録部70に記録する。
【0070】
次に、シーンの認識結果と顔の検出結果とに基づいて各種機能を制御する場合の実施の形態について説明する。
【0071】
図4に、シーンの認識結果と顔検出を利用した各種機能の関係の一例を示す。
【0072】
同図に示す例では、5つのシーン認識結果と、5種類の顔検出を利用した制御との関係を示している。
【0073】
まず、「顔枠表示」、「顔AE」、「顔AF」、「顔AWB」、「顔階調補正」の5種類の顔検出を利用した制御について簡単に説明する。
【0074】
「顔枠表示」制御は、ライブビュー画像(スルー画像)の表示中に顔検出処理により顔が検出されると(図2のS200)、検出された顔の位置及び大きさに基づいてスルー画像上で顔の領域を囲む顔枠を表示させる制御である。これにより、ユーザーは顔が正しく検出されているかどうかを判断することができる。尚、顔枠の代わりに、矢印、その他のマークを表示するようにしてもよい。
【0075】
「顔AE」制御は、顔の検出結果に基づいてCAE、S1AEでの露出制御を行うもので、検出された顔の領域の明るさに基づいて測光値(EV値)を決定し、露出を制御する。
【0076】
「顔AF」制御は、顔の検出結果に基づいてCAF、S1AFでの自動焦点調節を行うもので、検出された顔の領域をAFエリアとし、このAFエリア(顔領域)に焦点が合うように焦点調節を行う。
【0077】
「顔AWB」制御は、顔の検出結果に基づいてホワイトバランス調整を行うもので、検出された顔の領域の色情報に基づいて、例えば肌色がきれいになるようにホワイトバランス調整を行う。
【0078】
「顔階調補正」制御は、顔の検出結果に基づいて画像の階調補正を行うもので、検出された顔の領域の明るさが適正な明るさになるようにガンマ補正等の階調補正を行う。
【0079】
図4に示す例では、〇印は制御を行い、×印は制御を行い場合に関して示しており「顔枠表示」、「顔AE」、及び「顔AF」の制御は、「AUTO」、「人物」、「風景」、「夜景」、「接写」の5つのシーン認識結果にかかわらず、常に制御を行っている。
【0080】
一方、「顔AWB」、及び「顔階調補正」の制御は、「AUTO」、「人物」、及び「接写」のシーンのみで行い、「風景」、「夜景」のシーンでは制御を行わないようにしている。
【0081】
尚、シーンの認識結果と顔の検出結果とに基づく各種機能の制御は、図4に示す例に限定されず、また、シーン認識の種類及び顔検出を利用した制御の種類も図4に示す例に限定されず、種々のものが考えられる。
【0082】
また、各種機能をON/OFFレベルで制御するようにしているが、各種機能の強度をいくつかのレベルに分けておき、そのレベルを設定するような仕組みでもよい(「強、中、弱」、「レベル1〜5」など)。
【0083】
尚、前述したようにシーン認識と顔検出とは必ずしも同じタイミングで行う必要はなく、そのため、図2に示した例では、本露光の後にシーン認識をするステップは記載されていないが、特にそれに限定するものではない。
【0084】
このようにシーン認識の結果に応じて、顔検出を利用した各種機能の制御方法を個別に制御することで、より高性能なカメラとすることができる(きれいな画像を撮像・作成する、表示を見やすくする、画像検索をしやすくするなど)。
【0085】
[シーン認識処理]
次に、図2に示したS200、S210での「シーン認識」(S200、S218、S222での「顔検出」を含む)について詳述する。
【0086】
図5は、シーン認識メイン処理のフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。この処理は、撮影モードが操作部11から設定され、かつ、そのときに「自動シーン認識ON」が操作部11から設定されていた場合に開始する。「自動シーン認識OFF」が操作部11から設定されている場合には開始しない。
【0087】
S1では、この処理の実行が初回であるか否かを判断する。“Yes”の場合はS2、“No”の場合はS3に進む。
【0088】
S2では、RAM69のフレーム変動基準情報を初期化する。フレーム変動基準情報には、分割測光値、フォーカスレンズの位置、合焦AFエリアのタイプ(合焦状態となったAFエリアが顔検出処理部80の検出した顔領域であるか否か、あるいは、デフォルトの画面中央近傍領域であるか否か)、合焦AFフィルタ(例えば特許公開2006−145964のローパスフィルタ、ハイパスフィルタ)、顔検出処理部80による顔検出の有無が含まれる。また、RAM69のstatusをサーチ状態に、チェックカウンタを0に、シーン認識履歴保持フラグをOFFに設定する。
【0089】
S3では、RAM69のstatus=確定状態か否かを判断する。“Yes”の場合はS4、“No”の場合はS7に進む。
【0090】
S4では、フレーム変動チェックを行う。この処理は後述する。
【0091】
S5では、フレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS6、“No”の場合はS1に戻る。
【0092】
S6では、シーン変動があったと判断し、RAM69のstatusをサーチ状態に設定する。
【0093】
S7では、RAM69のシーン認識履歴保持フラグがONに設定されているか否かを判断する。“Yes”の場合はS9、“No”の場合はS8に進む。
【0094】
S8では、RAM69のシーン認識カウンタを0に設定する。また、RAM69のシーン認識履歴をクリアする。
【0095】
S9では、認識部のシーン認識動作を行う。この処理は後述する。この処理の結果、RAM69にシーン認識結果SRが記憶される。シーン認識結果SRは、風景、AUTO、人物、夜景、接写などを含む。これら各シーンの認識の処理の詳細は後述する。
【0096】
S10では、RAM69のシーン認識カウンタを1だけインクリメントする。
【0097】
S11では、RAM69のシーン認識カウンタおよびROM68の所定のシーン認識履歴数閾値(E_AUTOSR_SR_HISTORY_BEFORE_S1)を比較し、シーン認識カウンタ≧シーン認識履歴数閾値であるか否かを判断する。“Yes”の場合はS12、“No”の場合はS17に進む。
【0098】
S12では、RAM69のシーン認識履歴をチェックする。シーン認識履歴は、statusが確定状態になるまで繰り返されたS9によりそれぞれ個別に記憶された、複数のシーン
認識結果SRで構成される。
【0099】
S13では、RAM69のシーン認識結果SRを、S9で異なる時間に記憶された複数のシーン認識結果SRで構成されたシーン認識履歴の中で、最大の出現頻度を有するものに更新する。また、RAM69のフレーム変動情報を、当該最大の出現頻度を有するシーン認識結果SRと同じ時点で取得されたフレーム変動情報に更新する。
【0100】
S14では、RAM69のシーン認識結果SRが「AUTO」と異なるか否かを判断する。“Yes”の場合はS16、“No”の場合はS15に進む。
【0101】
S15では、RAM69のstatusをサーチ状態に設定し、S1に戻る。
【0102】
S16では、RAM69のstatusを確定状態に設定し、S1に戻る。
【0103】
図6は、フレーム変動チェック(S4)の詳細な処理の流れを示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0104】
S21では、RAM69のパラメータであるchangeをOFFに、change_measureを0に設定する。
【0105】
S22では、1回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうちのいずれか1つであるものとするがその他の種類を含んでいてもよい。これらの処理は後述する。1回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK1として記憶される。
【0106】
S23では、S22の1回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS24、“No”の場合はS26に進む。
【0107】
S24では、RAM69のchange_measureを1だけインクリメントする。
【0108】
S25では、RAM69のchange_measureとROM68の所定閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS26、“Yes”の場合はS35に進む。
【0109】
S26では、2回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうち、1回目と異なるいずれか1つである。2回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK2として記憶される。
【0110】
S27では、S26の2回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS28、“No”の場合はS30に進む。
【0111】
S28では、RAM69のchange_measureを1だけインクリメントする。
【0112】
S29では、RAM69のchange_measureと、ROM68に記憶された閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS30、“Yes”の場合はS35に進む。
【0113】
S30では、3回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうち、1回目および2回目と異なるものである。3回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK3として記憶される。
【0114】
S31では、S30の3回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS32、“No”の場合はS34に進む。
【0115】
S32では、RAM69のchange_measureを1だけインクリメントする。
【0116】
S33では、RAM69のchange_measureと、ROM68に記憶された閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS34、“Yes”の場合はS35に進む。
【0117】
S34では、フレーム変動なしと判断する。その判断を示すフラグをRAM69に記憶してもよい。そして、シーン認識メイン処理のS5に戻る。
【0118】
S35では、フレーム変動ありと判断する。「フレーム変動あり」のフラグであるchange=ONに設定しRAM69に記憶する。そして、シーン認識メイン処理のS5に戻る。
【0119】
図7は測光値変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0120】
S41では、RAM69のパラメータchange_evをOFFに設定する。また、RAM69のパラメータev[i]を今回のフレーム画像について測光部46から得られた測光値とする。iは、所定の単位で画像を分割して得たN個の各ブロックに対応する添え字である。ここではi=0〜N−1とする。)。また、RAM69のパラメータev_base[i]をフレーム変動基準情報の分割測光値とし、その値をRAM69に確保する。なお、ev_base[i]はメイン処理のS2で初期化され、S13で更新される。また、各ブロックに対応する重みw [i]をROM68から読み出す。
【0121】
S42では、次式によりdelta_evをRAM69に設定する。総和はi=0〜N−1について行われる。delta_evは全画面の明るさ同士の差分でもよい。
【0122】
delta_ev=ΣW[i]*|ev[i]-ev_base[i]|/ ΣW[i]
各領域ごとの差の絶対値を総和するのは次の理由による。絶対値をとらないと、実際には領域ごとに大きな変化が生じているにもかかわらず、総和により各領域ごとの変化が相殺され、全体として変化がなくなるのを防ぐためである。
【0123】
S43では、RAM69のdelta_evと、ROM68に記憶された閾値E_AUTOSP_FRAME_DELTA_EV とを比較し、delta_ev≧E_AUTOSP_FRAME_DELTA_EVであるか否かを判断する。“
Yes”の場合はS44、“No”の場合はS45に進む。
【0124】
S44では、測光値の変動があったと判断する。そして、測光値の変動があったことを示すフラグchange_evをONに設定しRAM69に記憶する。
【0125】
S45では、測光値の変動がなかったと判断する。測光値の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0126】
図8はフォーカス位置変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0127】
S51では、RAM69のパラメータchange_focal_pointをOFFに、focal_pointを今回のフレーム画像を取得したときにレンズ駆動部51が設定したフォーカスレンズの位置(駆動パルス数)に、focal_point_baseをフレーム変動基準情報のフォーカスレンズの位置(S2で初期化あるいはS13で更新されるもの)とし、その記憶領域をRAM69に確保する。
【0128】
S52では、次式によりdelta_ focal_pointをRAM69に設定する。
【0129】
delta_focal_point=| focal_point- focal_point_base|
S53では、RAM69のdelta_focal_pointと、ROM68に記憶された所定のフォーカス位置変動閾値とを比較し、delta_focal_point>フォーカス位置変動閾値であるか否かを判断する。“Yes”の場合はS54、“No”の場合はS55に進む。
【0130】
S54では、フォーカス位置の変動があったと判断する。そして、フォーカス位置の変動があったことを示すフラグchange_ focal_pointをONに設定しRAM69に記憶する。
【0131】
S55では、フォーカス位置の変動がなかったと判断する。フォーカス位置の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0132】
図9は顔有無変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0133】
S61では、RAM69のパラメータchange_face_resultをOFFに設定する。
【0134】
S62では、今回のフレーム画像を取得したときに顔検出処理部80が出力した顔検出の有無が、フレーム変動基準情報の顔検出の有無(S2で初期化あるいはS13で更新されるもの)と一致するか否かを判断する。“Yes”の場合はS64、“No”の場合はS63に進む。
【0135】
S63では、顔検出の有無の変動があったと判断する。そして、顔検出の有無の変動があったことを示すフラグchange_face_resultをONに設定しRAM69に記憶する。
【0136】
S64では、顔検出の有無の変動がなかったと判断する。顔検出の有無の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0137】
図7はの認識部のシーン認識動作(S9)の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0138】
S71では、RAM69に格納された、シーン依存サーチを実施するフラグ(E_AUTOSR_SEARCH_TYPE)が0であるか否かを判断する。“Yes”の場合はS80、“No”の場合はS72に進む。なお、E_AUTOSR_SEARCH_TYPEの値は操作部11から任意に設定できるものとする。
【0139】
S72では、RAM69のシーン認識結果SRにAUTOを設定する。
【0140】
S73では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE1を代入する。E_AUTOSR_MODULE1は0〜4のうちのいずれかの整数である。そして、module[i]に相当するシーン判定サブルーチンを実施する。module[0]は何もしない。module[1]は後述の人物判定を行う。module[2]は後述の風景判定を行う。module[3]は後述の夜景判定を行う。module[4]は後述の接写判定を行う。
【0141】
S74では、S73でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS75に進み、“No”の場合はメイン処理のS10に戻る。
【0142】
S75では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE2を代入する。E_AUTOSR_MODULE2は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0143】
S76では、S75でのmodule[i]の実施の結果、RAM69のシーン認識結果SRが
AUTOであるか否かを判断する。“Yes”の場合はS77に進み、“No”の場合はメイン処理のS10に戻る。
【0144】
S77では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE3を代入する。E_AUTOSR_MODULE3は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1およびE_AUTOSR_MODULE2と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0145】
S78では、S77でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS79に進み、“No”の場合はメイン処理のS10に戻る。
【0146】
S79では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE4を代入する。E_AUTOSR_MODULE3は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1およびE_AUTOSR_MODULE2およびE_AUTOSR_MODULE3と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。E_AUTOSR_MODULE1、E_AUTOSR_MODULE2、E_AUTOSR_MODULE3、E_AUTOSR_MODULE4の値はどのように設定してもよいが、優先的にシーン判定を行いたい種類には若い番号を付するとよい。例えば、人物判定>風景判定>夜景判定>接写判定の順にシーン判定を行いたい場合は、E_AUTOSR_MODULE1=1、E_AUTOSR_MODULE2=2、E_AUTOSR_MODULE3=3、E_AUTOSR_MODULE4=4とする。これらの値を操作部11から任意に設定できてもよい。
【0147】
S80では、現在のRAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS72に進み、“No”の場合はS81に進む。
【0148】
S81では、RAM69のパラメータSR_oldに、現在のRAM69のシーン認識結果SRを設定する。すなわち、現在のRAM69のシーン認識結果SRがAUTOであればSR_old=0、現在のRAM69のシーン認識結果SRが人物であればSR_old=1、現在のRAM69のシーン認識結果SRが風景であればSR_old=2、現在のRAM69のシーン認識結果SRが夜景であればSR_old=3、現在のRAM69のシーン認識結果SRが接写であればSR_old=4とする。
【0149】
S82では、RAM69のパラメータiに、SR_oldを代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0150】
S83では、S82でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS84に進み、“No”の場合はメイン処理のS10に戻る。
【0151】
S84では、SR_old=E_AUTOSR_MODULE1であるか否かを判断する。“Yes”の場合はS87に進み、“No”の場合はS85に進む。
【0152】
S85では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE1を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0153】
S86では、S85でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS87に進み、“No”の場合はメイン処理のS10に戻る。
【0154】
S87では、SR_old=E_AUTOSR_MODULE2であるか否かを判断する。“Yes”の場合はS90に進み、“No”の場合はS88に進む。
【0155】
S88では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE2を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0156】
S89では、S88でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS90に進み、“No”の場合はメイン処理のS10に戻る。
【0157】
S90では、SR_old=E_AUTOSR_MODULE3であるか否かを判断する。“Yes”の場合はS93に進み、“No”の場合はS91に進む。
【0158】
S91では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE3を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0159】
S92では、S91でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS93に進み、“No”の場合はメイン処理のS10に戻る。
【0160】
S93では、SR_old=E_AUTOSR_MODULE4であるか否かを判断する。“Yes”の場合はメイン処理のS10に戻り、“No”の場合はS94に進む。
【0161】
S94では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE4を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。その後、メイン処理のS10に戻る。
【0162】
図11は以上の処理(S9)とS13によって決まるシーン認識結果SRを概念的に示している。
【0163】
シーン認識結果SRは、古いものから新しいものにかけて連続的に5個格納される。その履歴SRには添え字j=0〜4が付され、番号が若いものほど新しい履歴である。履歴の蓄積個数=5は一例であって、3以上の整数であれば何でもよい。
【0164】
S73・S75・S77・S79あるいはS85・S88・S91・S94で、module[i]が実行されるごとに、新たなシーン認識結果SRが取得される。この結果、これまでに蓄積した過去のシーン認識結果SRの添え字には1がインクリメントされ、1世代古い履歴になる。新たなシーン認識結果SRには0の添え字が付され、現在のシーン認識結果となる。
【0165】
図11では、SR[0]=3, SR[1]=3, SR[2]=3, SR[3]=0, SR[4]=1であったのが、新たな履歴SR[0]=2が追加されることで、SR[1]=3, SR[2]=3, SR[3]=3, SR[4]=0となる。新たな履歴SR[0]の追加前に最も古い世代の履歴SR[4]=1は、新たな履歴の追加とともにRAM69から消去してもよいし保存してもよい。
【0166】
S13では、新たな履歴の追加がされると、SR[0], SR[1], SR[2], SR[3], SR[4]のうち最も出現頻度の高い履歴を特定し、それを改めてシーン認識結果SRとする。図8では3の出現頻度が最大であるからSR=3となる。
【0167】
図示は省略するが、最大頻度の履歴が複数の場合は、最も新しい世代の履歴を含む方をシーン認識結果SRとする。例えば、SR[0]=2, SR[1]=3, SR[2]=3, SR[3]=2, SR[4]=0の場合、SR[0]= SR[3]=2、SR[1]= SR[2]=3となり、2も3も出現頻度が同じである。この場合、最も新しい世代の履歴SR[0]を含む2がシーン認識結果SRとなる。
【0168】
図12はシーン判定サブルーチン(人物判定、module[1])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0169】
S101では、顔検出処理部80が顔検出したか否かを判断する。“Yes”の場合はS102、“No”の場合はS105に進む。
【0170】
S102では、RAM69の顔制限フラグがオンであるか否かを判断する。“Yes”の場合はS103、“No”の場合はS104に進む。
【0171】
S103では、AF評価値の算出領域に設定された顔領域について、顔の大きさが所定範囲内かつ顔の傾きが所定の範囲内かつ顔の向きが所定の範囲内かつ顔の確からしさのスコアが所定の範囲内かつ顔の位置が所定の範囲内であるか否かを判断する。“No”の場合はS103、“Yes”の場合はS104に進む。
【0172】
S104では、シーン認識結果SR=人物に設定する。そして、module[1]の後に続く処理、すなわち、S73・S75・S77・S79のうちいずれか1つの次の処理、あるいはS85・S88・S91・S94のうちいずれか1つの次の処理に進む。
【0173】
S105では、シーン認識結果SR=AUTOに設定する。
【0174】
図13は、シーン判定サブルーチン(風景判定、module[2])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0175】
S111では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS124、“No”の場合はS112に進む。
【0176】
S112では、設定メニューや操作部11を介して予めコンティニュアスAF(以下「CAF」と表記)の実行が設定されているか否かを判断する。“Yes”の場合はS113、“No”の場合はS129に進む。
【0177】
S113では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS114、“No”の場合はS119に進む。なお、本ステップS113を省略してもよい。この場合、S112で“Yes”の場合はS114に進み、また、S113で“No”と判断された場合に続く諸処理(S119、S120、S121、S122、S123)も省略される。
【0178】
S114では、ROM68に記憶されたE_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS115、“No”の場合はS116に進む。
【0179】
S115では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち合焦被写体が所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0180】
S116では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS117、“No”の場合はS118に進む。
【0181】
S117では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0182】
S118では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0183】
S119では、ROM68に記憶されたE_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS120、“No”の場合はS121に進む。
【0184】
S120では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0185】
S121では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS122、“No”の場合はS123に進む。
【0186】
S122では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0187】
S123では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側
にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0188】
S124では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0189】
S125では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS126、“No”の場合はS129に進む。
【0190】
S126では、ROM68の設定パラメータとしてあるいは操作部11から、予め風景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS126、“No”の場合はS129に進む。
【0191】
S127では、ズームレンズ位置が所定範囲内例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS128、“No”の場合はS129に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、全景を画角に収めることができず、風景撮影に適していないから、撮影シーンはAUTOと判断する。
【0192】
S128では、SR=風景に設定する。そして、module[2]の後に続く処理に進む。
【0193】
S129では、SR=AUTOに設定する。そして、module[2]の後に続く処理に進む。
【0194】
図14は、シーン判定サブルーチン(夜景判定、module[3])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0195】
S131では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS132、“No”の場合はS152に進む。
【0196】
S132では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS147、“No”の場合はS133に進む。
【0197】
S133では、RAM69に記憶されている半押し(S1)前の夜景判定フラグがオンに設定さているか否かを判断する。“Yes”の場合はS134、“No”の場合はS152に進む。
【0198】
S134では、操作部11からの入力あるいはROM68に記憶されたパラメータにより夜景判定で距離情報を使うか否かのいずれが設定されているかを判断する。夜景判定で距離情報を使う設定がされている場合はS135、夜景判定で距離情報を使う設定がされていない場合はS149に進む。
【0199】
S135では、設定メニューや操作部11を介して予めCAFの実行が設定されているか否かを判断する。“Yes”の場合はS136、“No”の場合はS152に進む。
【0200】
S136では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS137、“No”の場合はS142に進む。なお、本ステップS136を省略してもよい。この場合、S135で“Yes”の場合はS137に進み、また、S136で“No”と判断された場合に続く諸処理も省略される。
【0201】
S137では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS138、“No”の場合はS139に進む。
【0202】
S138では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0203】
S139では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS140、“No”の場合はS141に進む。
【0204】
S140では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0205】
S141では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0206】
S142では、E_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS143、“No”の場合はS144に進む。
【0207】
S143では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0208】
S144では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS145、“No”の場合はS146に進む。
【0209】
S145では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0210】
S146では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0211】
S147では、操作部11からの入力あるいはROM68に記憶されたパラメータにより夜景判定で距離情報を使うか否かのいずれが設定されているかを判断する。夜景判定で距離情報を使う設定がされている場合はS148、夜景判定で距離情報を使う設定がされていない場合はS149に進む。
【0212】
S148では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0213】
S149では、ROM68の設定パラメータとしてあるいは操作部11から、予め夜景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS150、“No”の場合はS151に進む。
【0214】
S150では、ズームレンズ位置が所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS151、“No”の場合はS152に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、入射光量の乏しいバック遠景を画角に収めることができず、夜景撮影に適していないから、AUTOと判定する。
【0215】
S151では、SR=夜景に設定する。そして、module[3]の後に続く処理に進む。
【0216】
S152では、SR=AUTOに設定する。そして、module[3]の後に続く処理に進む。
【0217】
図15は、シーン判定サブルーチン(夜景判定、module[3])の他の一例を示すフロー
チャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。夜景判定は、図11または12のいずれかを採用すれば足りる。いずれか一方を選択的に実行できてもよい。
【0218】
S161では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS162、“No”の場合はS168に進む。なお、この閾値は、補助光制御部25へ発光を指示するか否かを判別する閾値と同じであってもよいし異なっていてもよい。
【0219】
S162では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS163、“No”の場合はS168に進む。
【0220】
S163では、補助光制御部25に補助光発光部26の発光を指示したか否かを判断する。“Yes”の場合はS164、“No”の場合はS168に進む。
【0221】
S164では、補助光制御部25が補助光発光部26を発光させる直前と直後にそれぞれ制御回路74の測光した被写界輝度の差が、ROM68に記憶された所定の閾値を超えているか否かを判断する。“Yes”の場合はS168、“No”の場合はS165に進む。なお、当該差が当該閾値を超えておらず、微小であれば、補助光照射による被写体輝度の増加の寄与がほとんどなく、被写体が近くないといえる。
【0222】
S165では、ROM68の設定パラメータとしてあるいは操作部11から、予め夜景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS166、“No”の場合はS167に進む。
【0223】
S166では、ズームレンズ位置が所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS167、“No”の場合はS168に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、バック遠景を画角に収めることができず、夜景撮影に適していない。
【0224】
S167では、SR=夜景に設定する。そして、module[3]の後に続く処理に進む。
【0225】
S168では、SR=AUTOに設定する。そして、module[3]の後に続く処理に進む。
【0226】
図16は、シーン判定サブルーチン(接写判定、module[4])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0227】
S171では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS184、“No”の場合はS172に進む。
【0228】
S172では、設定メニューや操作部11を介して予めCAFの実行が設定されているか否かを判断する。“Yes”の場合はS173、“No”の場合はS188に進む。
【0229】
S173では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS174、“No”の場合はS179に進む。なお、本ステップS173を省略してもよい。この場合、S172で“Yes”の場合はS174に進み、また、S173で“No”と判断された場合に続く諸処理も省略される。
【0230】
S174では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS175、“No”の場合はS176に進む。
【0231】
S175では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0232】
S176では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS177、“No”の場合はS178に進む。
【0233】
S177では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0234】
S178では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0235】
S179では、E_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS180、“No”の場合はS181に進む。
【0236】
S180では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0237】
S181では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS182、“No”の場合はS183に進む。
【0238】
S182では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0239】
S183では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0240】
S184では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0241】
S185では、ROM68の設定パラメータとしてあるいは操作部11から、予め接写ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS186、“No”の場合はS187に進む。
【0242】
S186では、ズームレンズ位置がROM68に記憶された所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS187、“No”の場合はS188に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がワイド端あるいはその近傍にある場合以外である。この場合、近接被写体の合焦ができず、近接撮影に適していない。
【0243】
S187では、SR=接写に設定する。そして、module[4]の後に続く処理に進む。
【0244】
S188では、SR=AUTOに設定する。そして、module[4]の後に続く処理に進む。
【0245】
図12〜図16のシーン判定の結果は、CPU75が表示部71に表示するよう制御する。
【0246】
例えば、図3に示したように、シーン判定の結果である「風景」、「AUTO」、「人物」、「夜景」、「接写」といった文字を、スルー画像にあるいはレリーズボタン全押し後の記録用画像に重畳して、表示部71に表示する。シーン判定の結果を示す文字列、アイコン、記号その他の情報は、図示しないOSD回路によって生成される。カメラ1に音声処理回路やスピーカが備えられていれば、シーン判定の結果に対応する報知音を出力するようCPU75が制御してもよい。「自動シーン認識OFF」が設定されていれば、シーン判定結果は表示されない。
【0247】
以上の処理により、ユーザーが撮ろうとしている、もしくは撮ったシーンが、どのようなシーンであるのかを認識できる。
【0248】
図5のメイン処理では、シーン変動時にシーン認識を行う。前回のシーン認識結果が確定されたときのフレームの状態と、現フレームの状態の変動を監視する(S4、図6)。変化があった場合にシーン変動ありと判断されると(S5)、status=サーチ状態となり
(S6)、シーン変動のタイミングで認識部が動作する(S9)。
【0249】
図6のフレーム変動チェックでは、変動を検知する因子を複数持つことが可能で、順序の入れ換えなども、E_AUTOSR_FRAME_CHECK1〜3の設定により可能である。そして、変動を検知した場合には、フレーム変動の指標となるchange_measureの値をインクリメントする(S24、S28、S32)。change_measureの値がE_AUTOSR_FRAME_CHANGE_MEASURE以上の場合には(S25、S29、S33で“Yes”)、フレーム変動ありと判断される(S35)。
【0250】
ここでは、フレーム変動を検知する具体的な処理として、測光値変動チェック(図7)、フォーカス位置変動チェック(図8)、顔有無変動チェック(図9)を示している。なお図示は省略するが、本撮像前AF処理部81の合焦検出の有無に応じてフレーム変動を検知してもよい。
【0251】
図7の測光値変動チェックでは、測光値の変動量の指標となるdelta_evは、N分割の分割エリアごとに測光値変動量を算出し、各エリアに対応した重みをかけて総和をとったものである。そして、delta_evの値がE_AUTOSP_FRAME_DELTA_EV以上の場合に、測光値変動
ありと判断する。
【0252】
図8のフォーカス位置変動チェックでは、フォーカス位置の変動量の指標となるdelta_focal_pointは、基準情報のフォーカス位置と今回のフォーカス位置の差分によって算出される。delta_focal_pointの値がフォーカス位置変動閾値以上の場合に、フォーカス位置変動ありと判断する。なお、ここで使用される閾値は、ズーム位置ごとにROM68に設定されているものとする。
【0253】
図9の顔有無変動チェックでは、基準情報の顔有無結果と今回の顔有無結果が異なる場合に、顔有無変動ありと判断する。
【0254】
認識部動作の差異に使用するシーン認識履歴は、自動シーン認識の結果として採用するSRを求めた後にクリアする(S8)。これは、認識部は常時動作することを想定しておらず、離れた時刻の情報を参照することがないようにするためである。
【0255】
ここで、シーン認識履歴がクリアされるために、サーチ状態となってから(S6)、参照するシーン認識履歴数回分だけ認識部が動作するまでは(S11で“Y”となるまでは)、SRが更新されない仕組みとなる。
【0256】
また、SRを決定した際、フレーム変動をチェックするための基準情報として、採用されたSRが最大頻度になった(最新側の)情報を記憶する(S13)。
【0257】
なお、決定したSRがAUTO以外の場合は「確定状態」となり(S16)、シーンが変動するまでは認識部は動作しない。これに対し、決定したSRがAUTOの場合は「サーチ状態」となり(S15)、引き続き認識部を動作させる。これはシーン変動の途中で認識した結果を「確定状態」にすることで、シーン変動を正しく検知できなくなってしまう可能性があるためである。
【0258】
仮に、シーン変動の途中の状態を基準情報として登録した後、フレーム変動を見に行ってしまうと、最終的にシーン変動が完了した状態で認識部に動作してほしいと思っても、基準情報との差分が小さい故に、認識部が動作しない現象が起こってしまう。そこで、これを回避するため、上記のように確定したシーンに対応する情報で基準情報を更新する処理を行う(S13)。
【0259】
シーン認識は結果が安定しないと、出力結果がユーザの混乱を招く。そこで、どのようなシーンであるのかという判断をする処理(S7〜S16)と、認識したシーンから変動があったかという監視をする処理(S4〜S6)とを混合的に動作させることにより、正確で安定したシーン認識を行うことが可能となる。
【0260】
<他の実施の形態>
次に、シーンの認識結果と顔の検出結果とに基づいて各種機能を制御する場合の他の実施の形態について説明する。
【0261】
図17は顔検出利用による各種機能の制御の設定方法を示すフローチャートを示す。
【0262】
S300では、ユーザーによる「カスタム設定」を行うか、「デフォルト設定」を行うが判別され、"Yes"の場合はS310に遷移し、"No"の場合はS320に遷移する。
【0263】
図18に、上記「カスタム設定」、「デフォルト設定」を選択するデジタルカメラ1の設定画面の一例を示す。
【0264】
例えば、デジタルカメラ1のメニュー/OKボタン等を操作し、図18(a)に示す顔検出利用設定のメニューを表示部71に表示させ、上下矢印レバーを操作することで、「カスタム設定」、又は「デフォルト設定」を任意に選択することができる。
【0265】
ここで、「カスタム設定」を選択し、メニュー/OKボタンを押すと、図18(b)に示すように「カスタム設定」の詳細画面に遷移する。ユーザーは、この画面上で顔検出を利用した各種機能の制御方法を任意に設定することができる。
【0266】
図18(b)に示す例では、「風景」、「夜景」及び「接写」のシーンの場合には、「顔AF」、「顔AWB」、「顔階調補正」の制御は実施しないようにしている。
【0267】
図17のS310では、「カスタム設定」が設定され、顔検出利用による各種機能の制御方法として、ユーザーにより設定された各種機能の設定が適用される。
【0268】
一方、S320では、「デフォルト設定」が設定され、顔検出利用による各種機能の制御方法として、デジタルカメラ1の出荷前に予め設定された各種機能の設定が適用される。
【0269】
即ち、デジタルカメラ1には、「デフォルト設定」用のテーブルと、「カスタム設定」用のテーブルとを有し、ユーザーによりいずれのテーブルを適用するかが選択できるようになっている。また、「カスタム設定」用のテーブルは、その内容(制御のON/OFFなど)がユーザーからの指示入力により書き替え可能になっている。
【0270】
尚、図18(b)に示す例では、図4に示した例と同様に、各種機能をON/OFFレベルで制御するようにしているが、各種機能の強度をいくつかのレベルに分けておき、そのレベルを設定するような仕組みでもよい。
【0271】
また、本発明は、以上の例には限定されず、本発明の要旨を逸脱しない範囲において、各種の改良や変形を行ってもよいことは言うまでもない。
【符号の説明】
【0272】
1…デジタルカメラ、11…操作部、20…レンズ、24…フラッシュ発光部、25…補助光制御部、26…補助光発光部、51…レンズ駆動部、54…絞り、55…絞り駆動部、58…撮像素子(CCD)、59…撮像素子制御部、60…アナログ信号処理部、61…A/D変換部、62…AF処理部、63…AE/AWB処理部、65…デジタル信号処理部、66…メモリ、67…圧縮伸張処理部、68…ROM、69…RAM、70…記録部、71…表示部、73…フラッシュ制御部、74…制御回路、75…CPU、80…顔検出処理部
【技術分野】
【0001】
本発明は撮像装置及び撮像方法に係り、特にシーンの認識結果に基づいて顔検出の利用方法を変化させる技術に関する。
【背景技術】
【0002】
特許文献1には、デジタルスチルカメラにおいて、設定された撮影モードがシーンに対して適切であるか否かを、デジタル画像信号やEV値に基づいて判定することが開示されている。
【0003】
特許文献2には、顔認識手段と状態検出手段の出力情報に基づいてカメラの撮影モードを設定する撮影モード自動設定カメラが開示されている。特許文献2に記載のカメラは、被写体の動き、撮像倍率又は被写体距離の出力情報に基づいてカメラ撮影モードを自動設定するものである。また、特許文献2には、人の顔を検出するだけでなく、人数や撮影倍率に応じて撮影モードとして、ポートレートモード、複数人物モード、集合写真モードを区別することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−244530号公報
【特許文献2】特開2003−344891号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の発明は、設定された撮影モードが撮影シーンに対して適切であるか否かを判定するものであり、シーンを認識するものではない。
【0006】
また、特許文献2に記載の発明は、顔認識手段と状態検出手段の出力情報に基づいてシーン認識を行い、人物モードを含む各種の撮影モードを自動的に設定するものであるが、特許文献2には、シーン認識結果と顔検出結果とを利用した各種機能をどのように制御するかについては記載されていない。
【0007】
本発明はこのような事情に鑑みてなされたもので、顔検出を利用した各種機能の制御をシーンの認識結果に応じて個別に制御することができ、より良好な撮像や画像処理を実現することができる撮像装置及び撮像方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために本発明の一の態様に係る撮像装置は、撮影シーンの情報を取得する情報取得手段と、取得した情報からシーンを認識するシーン認識手段と、撮影シーンに顔があるか否かを検出する顔検出手段と、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う制御手段と、を備え、シーン認識手段は、認識したシーンに対応する情報を基準情報として記憶する記憶手段と、記憶手段に記憶された基準情報と情報取得手段により取得された情報からシーンが変動したか否かを判別するシーン変動判別手段と、シーン認識を行う所定の周期を設定する周期設定手段と、を有し、シーンが変動したことが判別されると、情報取得手段により取得した情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンであって、周期設定手段により設定された所定の周期毎に情報取得手段により取得された情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報とし、記憶手段に記憶させた基準情報を更新する。
【0009】
即ち、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うようにしたため、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか(制御を行うべきか否かを含む)等を個別に制御することができ、シーンに応じてより良好な撮像や画像処理を実現することができる。
【0010】
また、シーンが変動したことが判別されると、所定の周期毎に取得されたシーンの情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識するようにしたため、シーンの認識結果を安定して得ることができる。
【0011】
本発明の他の態様に係る撮像装置において、情報取得手段は、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得することが好ましい。尚、顔があるか否かを示す情報は、顔検出手段から取得することができる。
【0012】
本発明の更に他の態様に係る撮像装置において、制御手段は、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御手段、検出された顔の領域の明るさに基づいて露出を制御する露出制御手段、検出された顔に焦点が合うように焦点調節を行う自動焦点調節手段、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整手段、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正手段のうちの2以上の手段を含む。即ち、制御手段は、顔の検出結果に応じてライブビュー画像に検出された顔の位置を顔枠等により明示的に表示し、検出された顔の領域の明るさに基づいて露出を制御し、検出された顔に焦点が合うように焦点調節を行い、検出された顔の領域の色情報に基づいてホワイトバランスを調整し、又は検出された顔の領域の明るさに基づいて階調補正を行うが、これらの各種の制御をシーンの認識結果に応じて個別に制御できるようになっている。
【0013】
本発明の更に他の態様に係る撮像装置において、制御手段は、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを有し、シーンの認識結果と顔の検出結果とに基づいてテーブルから対応する情報を読み出して各種の制御を行う。
【0014】
本発明の更に他の態様に係る撮像装置において、テーブルに記憶されている情報をユーザーが自由に設定するカスタム設定手段を備えることが好ましい。即ち、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか等をユーザーが自由に設定することができ、ユーザーの好みに合わせた制御を可能にしている。
【0015】
本発明の更に他の態様に係る撮像装置において、シーン認識手段は、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する。
【0016】
本発明の更に他の態様に係る撮像方法は、所定の周期毎に撮影シーンの情報を取得するステップと、取得した撮影シーンの情報からシーンを認識するステップと、認識したシーンに対応する情報を基準情報として記憶手段に記憶させるステップと、撮影シーンに顔があるか否かを検出するステップと、シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うステップと、を含み、シーンを認識するステップは、所定の周期毎に記憶手段に記憶された基準情報と取得されたシーンの情報とからシーンが変動したか否かを判別し、シーンが変動したことが判別されると、所定の周期毎に取得したシーンの情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報として記憶手段に記憶させた基準情報を更新する。
【0017】
本発明の更に他の態様に係る撮像方法において、撮影シーンの情報を取得するステップは、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得することが好ましい。
【0018】
本発明の更に他の態様に係る撮像方法において、各種の制御を行うステップは、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御、検出された顔の領域の明るさに基づいて露出を制御する露出制御、検出された顔に焦点が合うように焦点調節を行う自動焦点調節、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正のうちの2以上の制御を含む。
【0019】
本発明の更に他の態様に係る撮像方法において、各種の制御を行うステップは、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを使用し、シーンの認識結果と顔の検出結果とに基づいてテーブルから対応する情報を読み出して各種の制御を行う。
【0020】
本発明の更に他の態様に係る撮像方法において、テーブルに記憶されている情報は、ユーザーが自由に設定するカスタム設定手段により設定される。
【0021】
本発明の更に他の態様に係る撮像方法において、シーンを認識するステップは、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する。
【発明の効果】
【0022】
本発明によれば、顔検出を利用した各種の制御を行う際に、シーンの認識結果に応じてその制御をどのように行うべきか(制御を行うべきか否かを含む)等を個別に制御することができ、シーンに応じてより良好な撮像や画像処理を実現することができ、また、シーン変動時にシーンの認識結果を安定して得ることができる。
【図面の簡単な説明】
【0023】
【図1】デジタルカメラの構成を示す概略ブロック図
【図2】本発明に係る撮像方法の概要を示すフローチャート
【図3】シーン判定の結果表示の一例を示す図
【図4】シーンの認識結果と顔検出を利用した各種機能の関係の一例を示す図表
【図5】シーン認識メイン処理のフローチャート
【図6】フレーム変動チェックのフローチャート
【図7】測光値変動チェックのフローチャート
【図8】フォーカス位置変動チェックのフローチャート
【図9】顔有無変動チェックのフローチャート
【図10】シーン認識の詳細を示すフローチャート
【図11】シーン認識結果SRを概念的に示した図
【図12】シーン判定サブルーチン(人物判定)のフローチャート
【図13】シーン判定サブルーチン(風景判定)のフローチャート
【図14】シーン判定サブルーチン(夜景判定)のフローチャート
【図15】シーン判定サブルーチン(夜景判定)のフローチャートの他の一例
【図16】シーン判定サブルーチン(接写判定)のフローチャート
【図17】顔検出利用による各種機能の制御の設定方法を示すフローチャート
【図18】顔形機能設定画面の一例を示す図
【発明を実施するための形態】
【0024】
以下、添付図面に従って本発明に係る撮像装置及び撮像方法の好ましい実施の形態について説明する。
【0025】
[撮像装置の構成]
図1は、本発明に係る撮像装置(デジタルカメラ)の第1の実施形態を示すブロック図である。
【0026】
この撮像装置(以下、デジタルカメラ1という。)は、撮影により取得した画像データを、Exif形式の画像ファイルに変換して、本体に着脱可能な外部記録メディアなどの記録部70へ記録するものである。
【0027】
図1に示すように、デジタルカメラ1は、操作部11と、ユーザーによる操作部11への操作内容を解釈して各部を制御する制御回路74とを有している。
【0028】
操作部11は、画像を撮影する撮影モードと、記録部70に記録された画像を読み出して表示部71に表示する再生モードとの間で動作モードを切り替える動作モードスイッチ、メニュー/OKボタン、ズーム/上下矢印レバー、左右矢印ボタン、Back(戻る)ボタン、表示切替ボタン、シャッタボタン、電源スイッチを含んでいる。
【0029】
制御回路74は、情報処理を行うCPU75、本発明に係るシーン認識等の情報処理を規定したプログラム、ファームウェア、プログラムでの各種判定に用いる閾値その他の定数などを記録したROM68、情報処理に必要な変数やデータなどを格納するRAM69を備えている。
【0030】
CPU75は、操作部11やAF処理部62等の各種処理部からの信号に応じてデジタルカメラ1の本体各部を制御する。ROM68は、デジタルカメラ1において設定される各種定数、及びCPU75が実行するプログラム等を格納する。RAM69は、CPU75がプログラムの実行に必要なデータを一時的に格納する。
【0031】
レンズ20は、フォーカスレンズ及びズームレンズを有している。レンズ20は、レンズ駆動部51によって光軸方向に移動可能である。レンズ駆動部51は、CPU75から出力されるフォーカス駆動量データに基づいて、フォーカスレンズの位置を制御する。また、レンズ駆動部51は、操作部11のズーム/上下矢印レバーの操作量データに基づいてズームレンズの位置を制御する。
【0032】
また、絞り54は、モータとモータドライバとからなる絞り駆動部55によって駆動される。絞り駆動部55は、CPU75から出力される絞り値データに基づいて絞り径の調整を行う。
【0033】
レンズ20、絞り54を含む撮像光学系の後方には、撮像素子(CCD)58が配置されている。尚、撮像素子58としては、CCDの代わりにCMOSイメージセンサを用いることもできる。
【0034】
撮像素子58は、多数の受光素子が2次元的に配列された光電面を有している。撮像光学系を通過した被写体光はこの光電面に結像し、光電変換される。光電面の前方には、各画素に光を集光するためのマイクロレンズアレイと、R,G,B各色のフィルタが規則的に配列されたカラーフィルタアレイとが配置されている。撮像素子58は、撮像素子制御部59から供給される垂直転送クロック及び水平転送クロックに同期して、画素毎に蓄積された電荷を1ラインずつシリアルなアナログ撮影信号として出力する。各画素において電荷を蓄積する時間、すなわち、露出時間は、撮像素子制御部59から与えられる電子シャッタ駆動信号によって決定される。また、撮像素子58は、あらかじめ定められた大きさのアナログ撮像信号が得られるように、撮像素子制御部59によりゲインが調整されて
いる。
【0035】
撮像素子58から取り込まれたアナログ撮影信号は、アナログ信号処理部60に入力される。アナログ信号処理部60は、アナログ信号のノイズを除去する相関2重サンプリング回路(CDS)と、アナログ信号のゲインを調節するオートゲインコントローラ(AGC)とからなる。アナログ信号処理部60におけるR、G、B信号の増幅ゲインは、撮影感度(ISO感度)に相当する。CPU75は、この増幅ゲインを調整することにより撮影感度を設定する。
【0036】
A/D変換部61は、アナログ信号処理部60により処理されたアナログ画像信号をデジタル画像データに変換する。このデジタル信号に変換された画像データは、画素毎にR,G,Bの濃度値を持つCCD−RAWデータである。
【0037】
制御回路74は、発振子(不図示)から供給される発振信号を逓倍又は分周してタイミング信号を発生させて撮像素子制御部59に入力することにより、操作部11のシャッタボタンの操作時における撮像素子58からの電荷の取込み及びアナログ信号処理部60の処理のタイミングを調整している。
【0038】
制御回路74は、撮像素子58で生成された画像信号の輝度を検出することにより測光を行う。制御回路74は、被写界輝度が低い場合、自動焦点調節(AF)時(シャッタボタン半押し時)に補助光制御部25に指示して補助光発光部26(例えば、LED)から補助光を照射させる。
【0039】
A/D変換部61から出力されたR,G,Bの各画像データ(CCD−RAWデータ)は、デジタル信号処理部65によって、ホワイトバランス(WB)調整、ガンマ補正、及びYC処理が施される。処理後の画像データは、メモリ66に書き込まれる。
【0040】
メモリ66は、画像データに対して後述の各種デジタル画像処理(信号処理)を行う際に使用する作業用メモリであり、例えば、一定周期のバスクロック信号に同期してデータ転送を行うSDRAM(Synchronous Dynamic Random Access Memory)が使用される。
【0041】
表示部71は、例えば、液晶モニタを含んでおり、撮影モード設定以後から本撮影指示がされるまでの間メモリ66に逐次格納された画像データをライブビュー画像(スルー画像)として液晶モニタに表示させたり、再生モード時に記録部70に保存されている画像データを液晶モニタに表示させる。尚、スルー画像は、撮影モードが選択されている間、所定の時間間隔で撮像素子58により撮影される。
【0042】
本実施形態のデジタルカメラ1は、動作モードが撮影モードに設定されると、画像の撮像を開始し、ライブビュー画像(スルー画)が表示部71の液晶モニタに表示される。スルー画表示時には、CPU75は、後述のAF処理部62及びAE/AWB処理部63による演算結果に基づいて、コンティニュアスAE(CAE)及びコンティニュアスAF(CAF)を実行する。ここで、コンティニュアスAEとは、スルー画撮影の継続中に繰り返し露出値の演算を行って、連続的に撮像素子(CCD)58の電子シャッタ機能及び/又は絞り54を制御する機能である。コンティニュアスAFとは、スルー画撮影の継続中に繰り返しAF評価値の演算を行って、連続的にフォーカスレンズ位置を制御する機能である。撮影モード時にシャッタボタンが半押しされると(S1オン)、デジタルカメラ1は、AE処理(S1AE)及びAF処理(S1AF)を実行し、AEロック及びAFロックを実行する。
【0043】
以下、AE処理及びAF処理について説明する。撮像素子58から出力された画像信号はA/D変換後にバッファメモリ(不図示)を介してAF処理部62及びAE/AWB処理部63に入力される。
【0044】
AE/AWB処理部63は、1画面を複数の分割エリア(例えば、8×8又は16×16)に分割し、この分割エリアごとにR、G、B信号を積算し、その積算値をCPU75に提供する。CPU75は、AE/AWB処理部63から得た積算値に基づいて被写体の明るさ(被写体輝度)を検出し、撮影に適した露出値(撮影EV値)を算出する。CPU75は、上記露出値と所定のプログラム線図に従って、絞り値とシャッタスピードを決定し、これに従い撮像素子58の電子シャッタ機能及び絞り54を制御して適正な露光量を得る。
【0045】
更に、CPU75は、フラッシュ発光モードがオンに設定された場合にフラッシュ制御部73にコマンドを送って動作させる。フラッシュ制御部73は、フラッシュ発光部(放電管)24を発光させるための電流を供給するためのメインコンデンサを含んでおり、CPU75からのフラッシュ発光指令に従ってメインコンデンサの充電制御、フラッシュ発光部24への放電(発光)のタイミング及び放電時間の制御等を行う。尚、フラッシュ発光手段としては、放電管に代えて発光ダイオード(LED)を用いることも可能である。
【0046】
また、AE/AWB処理部63は、自動ホワイトバランス調整時に、分割エリアごとにR、G、B信号の色別の平均積算値を算出し、その算出結果をCPU75に提供する。CPU75は、Rの積算値、Bの積算値、Gの積算値を得て、分割エリアごとにR/G及びB/Gの比を求め、これらR/G、B/Gの値のR/G、B/G軸座標の色空間における分布等に基づいて光源種判別を行い、判別された光源種に応じてホワイトバランス調整回路のR、G、B信号に対するゲイン値(ホワイトバランスゲイン)を制御し、各色チャンネルの信号に補正をかける。
【0047】
本実施形態に係るデジタルカメラ1におけるAF制御は、例えば、画像信号のG信号の高周波成分が極大になるようにフォーカスレンズを移動させるコントラストAFが適用される。即ち、AF処理部62は、G信号の高周波成分のみを通過させるハイパスフィルタ、絶対値化処理部、画面内(例えば、画面中央部)にあらかじめ設定されているフォーカス対象エリア内の信号を切り出すAFエリア抽出部及びAFエリア内の絶対値データを積算する積算部から構成される。
【0048】
AF処理部62により求められた積算値のデータはCPU75に通知される。CPU75は、レンズ駆動部51を制御してフォーカスレンズを移動させながら、複数のAF検出ポイントで焦点評価値(AF評価値)を演算し、演算した焦点評価値が極大となるレンズ位置を合焦位置として決定する。そして、CPU75は、レンズ駆動部51を制御して上記合焦位置にフォーカスレンズを移動させる。尚、コンティニュアスAF(CAF)時には、S1AFのときに比べて、合焦位置のサーチ範囲(AFサーチ時のフォーカスレンズの移動範囲)が狭く、AF検出ポイントの数が少なくなっている。また、AF評価値の演算はG信号を利用する態様に限らず、輝度信号(Y信号)を利用してもよい。
【0049】
尚、露出及びホワイトバランスについては、撮影モードがマニュアルモードに設定されている場合には、デジタルカメラ1のユーザーがマニュアル操作により設定可能である。また、露出及びホワイトバランスが自動で設定された場合にも、ユーザーがメニュー/OKボタン等の操作部11から指示を行うことにより、露出及びホワイトバランスをマニュアル調整することが可能である。
【0050】
シャッタボタンが半押し(S1オン)された後に全押し(S2オン)されると、撮像素子58から記録用の本画像データが取り込まれる。この本画像データは、シャッタボタンが全押しされることによって実行される本撮影時に撮像素子58から取り込まれ、アナログ信号処理部60、A/D変換部61、デジタル信号処理部65経由でメモリ66に格納された画像データである。デジタル信号処理部65は、本画像の画像データに対して、ガンマ補正、シャープネス補正、コントラスト補正等の画質補正処理、CCD−RAWデータを輝度信号であるYデータと、青色色差信号であるCbデータ及び赤色色差信号であるCrデータとからなるYCデータに変換するYC変換処理を行う。本画像の画素数の上限は、撮像素子58の画素数によって決定されるが、例えば、ファイン、ノーマル等の設定により、記録画素数を変更することができる。一方、スルー画像及びシャッタボタン半押し時のプレ画像の画像数は、例えば、本画像よりも少ない画素数、例えば、本画像の1/16程度の画素数で取り込まれる。
【0051】
また、デジタル信号処理部65は、フラッシュ発光部24の発光量が通常の撮影時よりも小さくされた場合には、本画像における顔領域の輝度を求め、輝度が所定のしきい値Th1よりも小さい場合には顔領域の輝度をしきい値Th1に調整する処理を行う。
【0052】
圧縮伸張処理部67は、補正・変換処理が行われた本画像の画像データに対して、例えば、所定の圧縮形式で圧縮処理を行い、画像ファイルを生成する。この画像ファイルは、記録部70に記録される。この画像ファイルには、例えば、Exifフォーマット等に基づいて、撮影日時等の付帯情報が格納されたタグが付加される。また、圧縮伸張処理部67は、再生モードの場合に、記録部70から読み出された画像ファイルに対して伸張処理を行う。伸張後の画像データは表示部71の液晶モニタに表示される。
【0053】
顔検出処理部80は、画像照合部及び顔画像テンプレートを含み、スルー画像、プレ画像、あるいは本画像から人物の顔を検出し、その顔の位置や大きさの情報を制御回路74に出力する。
【0054】
具体的には、顔検出処理部80の画像照合部が、スルー画像等の画面内で、対象領域の位置を移動させながら、対象領域の画像と顔画像テンプレートとを照合し、両者の相関を調べる。そして、相関スコアが予め設定された閾値を越えると、その対象領域を顔領域として認定する。顔が検出されない場合には、対象領域の大きさを変えながら上記の処理を繰り返し行う。尚、顔検出方法としては、顔に含まれる顔の特徴を有する領域(例えば、肌色の領域を有する、肌色領域の中に黒色領域(目)を有する、肌色領域が顔の形状を有する等)を顔領域として検出する方法等の公知の方法を利用することができる。
【0055】
<撮影制御>
図2は本発明に係る撮像方法の概要を示すフローチャートである。
【0056】
同図に示すように、本実施形態に係るデジタルカメラ1は、顔検出処理(ステップS200)とシーン認識処理(ステップS202)とを、シャッタボタンが半押し(S1オン)されるまで(ステップS204)、繰り返し実施する。尚、顔検出処理及びシーン認識処理の詳細については後述する。
【0057】
シーン認識は、ユーザーが撮ろうとしている、もしくは撮ったシーンが、どのようなシーンであるのかを認識する技術である。予めいくつかのシーンを定義しておき、認識した結果を表示部71に表示する。例えば、図3に示すように、「人物」、「風景」、「夜景」又は「接写」等のシーン認識結果は、テキスト又はアイコン表示などによりユーザーに分かりやすいように通知される。尚、定義したシーンのいずれにも当てはまらない場合の認識結果は、「AUTO」とし、また、自動シーン認識が「OFF」の場合には、何も表示しないようにする。
【0058】
ここで注意すべき点は、顔検出の結果はシーン認識に利用するが、顔検出の結果更新のタイミングと、シーン認識の結果更新のタイミングは必ずしも一致するとは限らないことである。即ち、顔検出処理とシーン認識処理とは、それぞれ独立に動いていて、顔検出の結果が更新されないと、シーン認識が動かない仕組みになっていない。また、図2のフローチャートで示すように、シーン認識とは全く別のタイミングで顔を検出することも可能である。例えば、シーン認識は本露光(ステップS220)の前に確定するが、顔検出は本露光後にも実行することができる(ステップS222参照)。
【0059】
このように、顔検出の結果とシーン認識の結果はいつも同じような関係が成り立つとは限らない。(「顔が検出されている」=「人物モード」が常に成り立っているわけではない)。
【0060】
そのため、後述するようにシーン認識の結果に応じて、顔検出を利用した各種機能の制御方法を個別に制御することで、より高性能なカメラとすることができる。
【0061】
S204において、シャッタボタンの半押し(S1オン)が判別され、"Yes"の場合は、S206に遷移し、"No"の場合はスタートに戻る。
【0062】
S206では、AE処理(S1AE)が行われ、S208ではAF処理(S1AF)が行われ、それぞれAEロック及びAFロックされる。
【0063】
S210では、S202と同様にシーン認識が行われるが、S202がCAE,CAFの結果を利用しているのに対し、S1AE、S1AFの結果を利用する点で異なる。
【0064】
S212では、S210でのシーン認識結果に応じてシーンに適したプログラム線図を選択し、選択したプログラム線図とS206でのS1AEの測光結果(EV値)とに基づいて絞り値とシャッタスピードとを決定する。
【0065】
S214では、シャッタボタンの全押し(S2オン)が判別され、"Yes"の場合はS220に遷移し、"No"の場合はS216に遷移する。
【0066】
S216では、シャッタボタンの半押し(S1オン)が判別され、"Yes"の場合はS218に遷移し、ここで顔検出処理が行われ、一方、"No"の場合はスタートに戻る。
【0067】
S220では、S212で決定した絞り値及びシャッタスピードに基づいて本露光を行い、本画像の撮像を行う。
【0068】
S222では、本画像に対して顔検出処理が行われる。S224では、本画像に対してホワイトバランス調整、ガンマ補正等の階調補正などの信号処理が行われる。
【0069】
S226では、信号処理後の本画像を所定フォーマットで圧縮処理し、画像ファイルを生成して記録部70に記録する。
【0070】
次に、シーンの認識結果と顔の検出結果とに基づいて各種機能を制御する場合の実施の形態について説明する。
【0071】
図4に、シーンの認識結果と顔検出を利用した各種機能の関係の一例を示す。
【0072】
同図に示す例では、5つのシーン認識結果と、5種類の顔検出を利用した制御との関係を示している。
【0073】
まず、「顔枠表示」、「顔AE」、「顔AF」、「顔AWB」、「顔階調補正」の5種類の顔検出を利用した制御について簡単に説明する。
【0074】
「顔枠表示」制御は、ライブビュー画像(スルー画像)の表示中に顔検出処理により顔が検出されると(図2のS200)、検出された顔の位置及び大きさに基づいてスルー画像上で顔の領域を囲む顔枠を表示させる制御である。これにより、ユーザーは顔が正しく検出されているかどうかを判断することができる。尚、顔枠の代わりに、矢印、その他のマークを表示するようにしてもよい。
【0075】
「顔AE」制御は、顔の検出結果に基づいてCAE、S1AEでの露出制御を行うもので、検出された顔の領域の明るさに基づいて測光値(EV値)を決定し、露出を制御する。
【0076】
「顔AF」制御は、顔の検出結果に基づいてCAF、S1AFでの自動焦点調節を行うもので、検出された顔の領域をAFエリアとし、このAFエリア(顔領域)に焦点が合うように焦点調節を行う。
【0077】
「顔AWB」制御は、顔の検出結果に基づいてホワイトバランス調整を行うもので、検出された顔の領域の色情報に基づいて、例えば肌色がきれいになるようにホワイトバランス調整を行う。
【0078】
「顔階調補正」制御は、顔の検出結果に基づいて画像の階調補正を行うもので、検出された顔の領域の明るさが適正な明るさになるようにガンマ補正等の階調補正を行う。
【0079】
図4に示す例では、〇印は制御を行い、×印は制御を行い場合に関して示しており「顔枠表示」、「顔AE」、及び「顔AF」の制御は、「AUTO」、「人物」、「風景」、「夜景」、「接写」の5つのシーン認識結果にかかわらず、常に制御を行っている。
【0080】
一方、「顔AWB」、及び「顔階調補正」の制御は、「AUTO」、「人物」、及び「接写」のシーンのみで行い、「風景」、「夜景」のシーンでは制御を行わないようにしている。
【0081】
尚、シーンの認識結果と顔の検出結果とに基づく各種機能の制御は、図4に示す例に限定されず、また、シーン認識の種類及び顔検出を利用した制御の種類も図4に示す例に限定されず、種々のものが考えられる。
【0082】
また、各種機能をON/OFFレベルで制御するようにしているが、各種機能の強度をいくつかのレベルに分けておき、そのレベルを設定するような仕組みでもよい(「強、中、弱」、「レベル1〜5」など)。
【0083】
尚、前述したようにシーン認識と顔検出とは必ずしも同じタイミングで行う必要はなく、そのため、図2に示した例では、本露光の後にシーン認識をするステップは記載されていないが、特にそれに限定するものではない。
【0084】
このようにシーン認識の結果に応じて、顔検出を利用した各種機能の制御方法を個別に制御することで、より高性能なカメラとすることができる(きれいな画像を撮像・作成する、表示を見やすくする、画像検索をしやすくするなど)。
【0085】
[シーン認識処理]
次に、図2に示したS200、S210での「シーン認識」(S200、S218、S222での「顔検出」を含む)について詳述する。
【0086】
図5は、シーン認識メイン処理のフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。この処理は、撮影モードが操作部11から設定され、かつ、そのときに「自動シーン認識ON」が操作部11から設定されていた場合に開始する。「自動シーン認識OFF」が操作部11から設定されている場合には開始しない。
【0087】
S1では、この処理の実行が初回であるか否かを判断する。“Yes”の場合はS2、“No”の場合はS3に進む。
【0088】
S2では、RAM69のフレーム変動基準情報を初期化する。フレーム変動基準情報には、分割測光値、フォーカスレンズの位置、合焦AFエリアのタイプ(合焦状態となったAFエリアが顔検出処理部80の検出した顔領域であるか否か、あるいは、デフォルトの画面中央近傍領域であるか否か)、合焦AFフィルタ(例えば特許公開2006−145964のローパスフィルタ、ハイパスフィルタ)、顔検出処理部80による顔検出の有無が含まれる。また、RAM69のstatusをサーチ状態に、チェックカウンタを0に、シーン認識履歴保持フラグをOFFに設定する。
【0089】
S3では、RAM69のstatus=確定状態か否かを判断する。“Yes”の場合はS4、“No”の場合はS7に進む。
【0090】
S4では、フレーム変動チェックを行う。この処理は後述する。
【0091】
S5では、フレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS6、“No”の場合はS1に戻る。
【0092】
S6では、シーン変動があったと判断し、RAM69のstatusをサーチ状態に設定する。
【0093】
S7では、RAM69のシーン認識履歴保持フラグがONに設定されているか否かを判断する。“Yes”の場合はS9、“No”の場合はS8に進む。
【0094】
S8では、RAM69のシーン認識カウンタを0に設定する。また、RAM69のシーン認識履歴をクリアする。
【0095】
S9では、認識部のシーン認識動作を行う。この処理は後述する。この処理の結果、RAM69にシーン認識結果SRが記憶される。シーン認識結果SRは、風景、AUTO、人物、夜景、接写などを含む。これら各シーンの認識の処理の詳細は後述する。
【0096】
S10では、RAM69のシーン認識カウンタを1だけインクリメントする。
【0097】
S11では、RAM69のシーン認識カウンタおよびROM68の所定のシーン認識履歴数閾値(E_AUTOSR_SR_HISTORY_BEFORE_S1)を比較し、シーン認識カウンタ≧シーン認識履歴数閾値であるか否かを判断する。“Yes”の場合はS12、“No”の場合はS17に進む。
【0098】
S12では、RAM69のシーン認識履歴をチェックする。シーン認識履歴は、statusが確定状態になるまで繰り返されたS9によりそれぞれ個別に記憶された、複数のシーン
認識結果SRで構成される。
【0099】
S13では、RAM69のシーン認識結果SRを、S9で異なる時間に記憶された複数のシーン認識結果SRで構成されたシーン認識履歴の中で、最大の出現頻度を有するものに更新する。また、RAM69のフレーム変動情報を、当該最大の出現頻度を有するシーン認識結果SRと同じ時点で取得されたフレーム変動情報に更新する。
【0100】
S14では、RAM69のシーン認識結果SRが「AUTO」と異なるか否かを判断する。“Yes”の場合はS16、“No”の場合はS15に進む。
【0101】
S15では、RAM69のstatusをサーチ状態に設定し、S1に戻る。
【0102】
S16では、RAM69のstatusを確定状態に設定し、S1に戻る。
【0103】
図6は、フレーム変動チェック(S4)の詳細な処理の流れを示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0104】
S21では、RAM69のパラメータであるchangeをOFFに、change_measureを0に設定する。
【0105】
S22では、1回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうちのいずれか1つであるものとするがその他の種類を含んでいてもよい。これらの処理は後述する。1回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK1として記憶される。
【0106】
S23では、S22の1回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS24、“No”の場合はS26に進む。
【0107】
S24では、RAM69のchange_measureを1だけインクリメントする。
【0108】
S25では、RAM69のchange_measureとROM68の所定閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS26、“Yes”の場合はS35に進む。
【0109】
S26では、2回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうち、1回目と異なるいずれか1つである。2回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK2として記憶される。
【0110】
S27では、S26の2回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS28、“No”の場合はS30に進む。
【0111】
S28では、RAM69のchange_measureを1だけインクリメントする。
【0112】
S29では、RAM69のchange_measureと、ROM68に記憶された閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS30、“Yes”の場合はS35に進む。
【0113】
S30では、3回目のフレーム変動チェックを行う。ここでは、フレーム変動チェックは、測光値変動チェック、フォーカス位置変動チェック、顔有無変動チェックのうち、1回目および2回目と異なるものである。3回目のフレーム変動チェックの結果は、RAM69のパラメータであるE_AUTOSP_FRAME_CHECK3として記憶される。
【0114】
S31では、S30の3回目のフレーム変動チェックの結果、フレーム変動があったか否かを判断する。“Yes”の場合はS32、“No”の場合はS34に進む。
【0115】
S32では、RAM69のchange_measureを1だけインクリメントする。
【0116】
S33では、RAM69のchange_measureと、ROM68に記憶された閾値E_AUTOSP_FRAME_CHANGE_MEASUREとを比較し、change_measure≧E_AUTOSP_FRAME_CHANGE_MEASUREであるか否かを判断する。“No”の場合はS34、“Yes”の場合はS35に進む。
【0117】
S34では、フレーム変動なしと判断する。その判断を示すフラグをRAM69に記憶してもよい。そして、シーン認識メイン処理のS5に戻る。
【0118】
S35では、フレーム変動ありと判断する。「フレーム変動あり」のフラグであるchange=ONに設定しRAM69に記憶する。そして、シーン認識メイン処理のS5に戻る。
【0119】
図7は測光値変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0120】
S41では、RAM69のパラメータchange_evをOFFに設定する。また、RAM69のパラメータev[i]を今回のフレーム画像について測光部46から得られた測光値とする。iは、所定の単位で画像を分割して得たN個の各ブロックに対応する添え字である。ここではi=0〜N−1とする。)。また、RAM69のパラメータev_base[i]をフレーム変動基準情報の分割測光値とし、その値をRAM69に確保する。なお、ev_base[i]はメイン処理のS2で初期化され、S13で更新される。また、各ブロックに対応する重みw [i]をROM68から読み出す。
【0121】
S42では、次式によりdelta_evをRAM69に設定する。総和はi=0〜N−1について行われる。delta_evは全画面の明るさ同士の差分でもよい。
【0122】
delta_ev=ΣW[i]*|ev[i]-ev_base[i]|/ ΣW[i]
各領域ごとの差の絶対値を総和するのは次の理由による。絶対値をとらないと、実際には領域ごとに大きな変化が生じているにもかかわらず、総和により各領域ごとの変化が相殺され、全体として変化がなくなるのを防ぐためである。
【0123】
S43では、RAM69のdelta_evと、ROM68に記憶された閾値E_AUTOSP_FRAME_DELTA_EV とを比較し、delta_ev≧E_AUTOSP_FRAME_DELTA_EVであるか否かを判断する。“
Yes”の場合はS44、“No”の場合はS45に進む。
【0124】
S44では、測光値の変動があったと判断する。そして、測光値の変動があったことを示すフラグchange_evをONに設定しRAM69に記憶する。
【0125】
S45では、測光値の変動がなかったと判断する。測光値の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0126】
図8はフォーカス位置変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0127】
S51では、RAM69のパラメータchange_focal_pointをOFFに、focal_pointを今回のフレーム画像を取得したときにレンズ駆動部51が設定したフォーカスレンズの位置(駆動パルス数)に、focal_point_baseをフレーム変動基準情報のフォーカスレンズの位置(S2で初期化あるいはS13で更新されるもの)とし、その記憶領域をRAM69に確保する。
【0128】
S52では、次式によりdelta_ focal_pointをRAM69に設定する。
【0129】
delta_focal_point=| focal_point- focal_point_base|
S53では、RAM69のdelta_focal_pointと、ROM68に記憶された所定のフォーカス位置変動閾値とを比較し、delta_focal_point>フォーカス位置変動閾値であるか否かを判断する。“Yes”の場合はS54、“No”の場合はS55に進む。
【0130】
S54では、フォーカス位置の変動があったと判断する。そして、フォーカス位置の変動があったことを示すフラグchange_ focal_pointをONに設定しRAM69に記憶する。
【0131】
S55では、フォーカス位置の変動がなかったと判断する。フォーカス位置の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0132】
図9は顔有無変動チェックのフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0133】
S61では、RAM69のパラメータchange_face_resultをOFFに設定する。
【0134】
S62では、今回のフレーム画像を取得したときに顔検出処理部80が出力した顔検出の有無が、フレーム変動基準情報の顔検出の有無(S2で初期化あるいはS13で更新されるもの)と一致するか否かを判断する。“Yes”の場合はS64、“No”の場合はS63に進む。
【0135】
S63では、顔検出の有無の変動があったと判断する。そして、顔検出の有無の変動があったことを示すフラグchange_face_resultをONに設定しRAM69に記憶する。
【0136】
S64では、顔検出の有無の変動がなかったと判断する。顔検出の有無の変動がなかったことを示すフラグRAM69に記憶してもよい。
【0137】
図7はの認識部のシーン認識動作(S9)の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0138】
S71では、RAM69に格納された、シーン依存サーチを実施するフラグ(E_AUTOSR_SEARCH_TYPE)が0であるか否かを判断する。“Yes”の場合はS80、“No”の場合はS72に進む。なお、E_AUTOSR_SEARCH_TYPEの値は操作部11から任意に設定できるものとする。
【0139】
S72では、RAM69のシーン認識結果SRにAUTOを設定する。
【0140】
S73では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE1を代入する。E_AUTOSR_MODULE1は0〜4のうちのいずれかの整数である。そして、module[i]に相当するシーン判定サブルーチンを実施する。module[0]は何もしない。module[1]は後述の人物判定を行う。module[2]は後述の風景判定を行う。module[3]は後述の夜景判定を行う。module[4]は後述の接写判定を行う。
【0141】
S74では、S73でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS75に進み、“No”の場合はメイン処理のS10に戻る。
【0142】
S75では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE2を代入する。E_AUTOSR_MODULE2は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0143】
S76では、S75でのmodule[i]の実施の結果、RAM69のシーン認識結果SRが
AUTOであるか否かを判断する。“Yes”の場合はS77に進み、“No”の場合はメイン処理のS10に戻る。
【0144】
S77では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE3を代入する。E_AUTOSR_MODULE3は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1およびE_AUTOSR_MODULE2と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0145】
S78では、S77でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS79に進み、“No”の場合はメイン処理のS10に戻る。
【0146】
S79では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE4を代入する。E_AUTOSR_MODULE3は0〜4のうちのいずれかの整数であり、かつE_AUTOSR_MODULE1およびE_AUTOSR_MODULE2およびE_AUTOSR_MODULE3と異なる。そして、module[i]に相当するシーン判定サブルーチンを実施する。E_AUTOSR_MODULE1、E_AUTOSR_MODULE2、E_AUTOSR_MODULE3、E_AUTOSR_MODULE4の値はどのように設定してもよいが、優先的にシーン判定を行いたい種類には若い番号を付するとよい。例えば、人物判定>風景判定>夜景判定>接写判定の順にシーン判定を行いたい場合は、E_AUTOSR_MODULE1=1、E_AUTOSR_MODULE2=2、E_AUTOSR_MODULE3=3、E_AUTOSR_MODULE4=4とする。これらの値を操作部11から任意に設定できてもよい。
【0147】
S80では、現在のRAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS72に進み、“No”の場合はS81に進む。
【0148】
S81では、RAM69のパラメータSR_oldに、現在のRAM69のシーン認識結果SRを設定する。すなわち、現在のRAM69のシーン認識結果SRがAUTOであればSR_old=0、現在のRAM69のシーン認識結果SRが人物であればSR_old=1、現在のRAM69のシーン認識結果SRが風景であればSR_old=2、現在のRAM69のシーン認識結果SRが夜景であればSR_old=3、現在のRAM69のシーン認識結果SRが接写であればSR_old=4とする。
【0149】
S82では、RAM69のパラメータiに、SR_oldを代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0150】
S83では、S82でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS84に進み、“No”の場合はメイン処理のS10に戻る。
【0151】
S84では、SR_old=E_AUTOSR_MODULE1であるか否かを判断する。“Yes”の場合はS87に進み、“No”の場合はS85に進む。
【0152】
S85では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE1を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0153】
S86では、S85でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS87に進み、“No”の場合はメイン処理のS10に戻る。
【0154】
S87では、SR_old=E_AUTOSR_MODULE2であるか否かを判断する。“Yes”の場合はS90に進み、“No”の場合はS88に進む。
【0155】
S88では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE2を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0156】
S89では、S88でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS90に進み、“No”の場合はメイン処理のS10に戻る。
【0157】
S90では、SR_old=E_AUTOSR_MODULE3であるか否かを判断する。“Yes”の場合はS93に進み、“No”の場合はS91に進む。
【0158】
S91では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE3を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。
【0159】
S92では、S91でのmodule[i]の実施の結果、RAM69のシーン認識結果SRがAUTOであるか否かを判断する。“Yes”の場合はS93に進み、“No”の場合はメイン処理のS10に戻る。
【0160】
S93では、SR_old=E_AUTOSR_MODULE4であるか否かを判断する。“Yes”の場合はメイン処理のS10に戻り、“No”の場合はS94に進む。
【0161】
S94では、RAM69のパラメータiに、ROM68に予め記憶されたE_AUTOSR_MODULE4を代入する。そして、module[i]に相当するシーン判定サブルーチンを実施する。その後、メイン処理のS10に戻る。
【0162】
図11は以上の処理(S9)とS13によって決まるシーン認識結果SRを概念的に示している。
【0163】
シーン認識結果SRは、古いものから新しいものにかけて連続的に5個格納される。その履歴SRには添え字j=0〜4が付され、番号が若いものほど新しい履歴である。履歴の蓄積個数=5は一例であって、3以上の整数であれば何でもよい。
【0164】
S73・S75・S77・S79あるいはS85・S88・S91・S94で、module[i]が実行されるごとに、新たなシーン認識結果SRが取得される。この結果、これまでに蓄積した過去のシーン認識結果SRの添え字には1がインクリメントされ、1世代古い履歴になる。新たなシーン認識結果SRには0の添え字が付され、現在のシーン認識結果となる。
【0165】
図11では、SR[0]=3, SR[1]=3, SR[2]=3, SR[3]=0, SR[4]=1であったのが、新たな履歴SR[0]=2が追加されることで、SR[1]=3, SR[2]=3, SR[3]=3, SR[4]=0となる。新たな履歴SR[0]の追加前に最も古い世代の履歴SR[4]=1は、新たな履歴の追加とともにRAM69から消去してもよいし保存してもよい。
【0166】
S13では、新たな履歴の追加がされると、SR[0], SR[1], SR[2], SR[3], SR[4]のうち最も出現頻度の高い履歴を特定し、それを改めてシーン認識結果SRとする。図8では3の出現頻度が最大であるからSR=3となる。
【0167】
図示は省略するが、最大頻度の履歴が複数の場合は、最も新しい世代の履歴を含む方をシーン認識結果SRとする。例えば、SR[0]=2, SR[1]=3, SR[2]=3, SR[3]=2, SR[4]=0の場合、SR[0]= SR[3]=2、SR[1]= SR[2]=3となり、2も3も出現頻度が同じである。この場合、最も新しい世代の履歴SR[0]を含む2がシーン認識結果SRとなる。
【0168】
図12はシーン判定サブルーチン(人物判定、module[1])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0169】
S101では、顔検出処理部80が顔検出したか否かを判断する。“Yes”の場合はS102、“No”の場合はS105に進む。
【0170】
S102では、RAM69の顔制限フラグがオンであるか否かを判断する。“Yes”の場合はS103、“No”の場合はS104に進む。
【0171】
S103では、AF評価値の算出領域に設定された顔領域について、顔の大きさが所定範囲内かつ顔の傾きが所定の範囲内かつ顔の向きが所定の範囲内かつ顔の確からしさのスコアが所定の範囲内かつ顔の位置が所定の範囲内であるか否かを判断する。“No”の場合はS103、“Yes”の場合はS104に進む。
【0172】
S104では、シーン認識結果SR=人物に設定する。そして、module[1]の後に続く処理、すなわち、S73・S75・S77・S79のうちいずれか1つの次の処理、あるいはS85・S88・S91・S94のうちいずれか1つの次の処理に進む。
【0173】
S105では、シーン認識結果SR=AUTOに設定する。
【0174】
図13は、シーン判定サブルーチン(風景判定、module[2])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0175】
S111では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS124、“No”の場合はS112に進む。
【0176】
S112では、設定メニューや操作部11を介して予めコンティニュアスAF(以下「CAF」と表記)の実行が設定されているか否かを判断する。“Yes”の場合はS113、“No”の場合はS129に進む。
【0177】
S113では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS114、“No”の場合はS119に進む。なお、本ステップS113を省略してもよい。この場合、S112で“Yes”の場合はS114に進み、また、S113で“No”と判断された場合に続く諸処理(S119、S120、S121、S122、S123)も省略される。
【0178】
S114では、ROM68に記憶されたE_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS115、“No”の場合はS116に進む。
【0179】
S115では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち合焦被写体が所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0180】
S116では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS117、“No”の場合はS118に進む。
【0181】
S117では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0182】
S118では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0183】
S119では、ROM68に記憶されたE_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS120、“No”の場合はS121に進む。
【0184】
S120では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0185】
S121では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS122、“No”の場合はS123に進む。
【0186】
S122では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0187】
S123では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側
にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0188】
S124では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS125、“No”の場合はS129に進む。
【0189】
S125では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS126、“No”の場合はS129に進む。
【0190】
S126では、ROM68の設定パラメータとしてあるいは操作部11から、予め風景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS126、“No”の場合はS129に進む。
【0191】
S127では、ズームレンズ位置が所定範囲内例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS128、“No”の場合はS129に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、全景を画角に収めることができず、風景撮影に適していないから、撮影シーンはAUTOと判断する。
【0192】
S128では、SR=風景に設定する。そして、module[2]の後に続く処理に進む。
【0193】
S129では、SR=AUTOに設定する。そして、module[2]の後に続く処理に進む。
【0194】
図14は、シーン判定サブルーチン(夜景判定、module[3])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0195】
S131では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS132、“No”の場合はS152に進む。
【0196】
S132では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS147、“No”の場合はS133に進む。
【0197】
S133では、RAM69に記憶されている半押し(S1)前の夜景判定フラグがオンに設定さているか否かを判断する。“Yes”の場合はS134、“No”の場合はS152に進む。
【0198】
S134では、操作部11からの入力あるいはROM68に記憶されたパラメータにより夜景判定で距離情報を使うか否かのいずれが設定されているかを判断する。夜景判定で距離情報を使う設定がされている場合はS135、夜景判定で距離情報を使う設定がされていない場合はS149に進む。
【0199】
S135では、設定メニューや操作部11を介して予めCAFの実行が設定されているか否かを判断する。“Yes”の場合はS136、“No”の場合はS152に進む。
【0200】
S136では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS137、“No”の場合はS142に進む。なお、本ステップS136を省略してもよい。この場合、S135で“Yes”の場合はS137に進み、また、S136で“No”と判断された場合に続く諸処理も省略される。
【0201】
S137では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS138、“No”の場合はS139に進む。
【0202】
S138では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0203】
S139では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS140、“No”の場合はS141に進む。
【0204】
S140では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0205】
S141では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0206】
S142では、E_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS143、“No”の場合はS144に進む。
【0207】
S143では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0208】
S144では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS145、“No”の場合はS146に進む。
【0209】
S145では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0210】
S146では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0211】
S147では、操作部11からの入力あるいはROM68に記憶されたパラメータにより夜景判定で距離情報を使うか否かのいずれが設定されているかを判断する。夜景判定で距離情報を使う設定がされている場合はS148、夜景判定で距離情報を使う設定がされていない場合はS149に進む。
【0212】
S148では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも無限遠(INF)側にあるか、すなわち所定距離よりも遠いか否かを判断する。“Yes”の場合はS149、“No”の場合はS152に進む。
【0213】
S149では、ROM68の設定パラメータとしてあるいは操作部11から、予め夜景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS150、“No”の場合はS151に進む。
【0214】
S150では、ズームレンズ位置が所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS151、“No”の場合はS152に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、入射光量の乏しいバック遠景を画角に収めることができず、夜景撮影に適していないから、AUTOと判定する。
【0215】
S151では、SR=夜景に設定する。そして、module[3]の後に続く処理に進む。
【0216】
S152では、SR=AUTOに設定する。そして、module[3]の後に続く処理に進む。
【0217】
図15は、シーン判定サブルーチン(夜景判定、module[3])の他の一例を示すフロー
チャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。夜景判定は、図11または12のいずれかを採用すれば足りる。いずれか一方を選択的に実行できてもよい。
【0218】
S161では、制御回路74の測光した被写界輝度が、ROM68に記憶された所定の閾値よりも低いか否かを判断する。“Yes”の場合はS162、“No”の場合はS168に進む。なお、この閾値は、補助光制御部25へ発光を指示するか否かを判別する閾値と同じであってもよいし異なっていてもよい。
【0219】
S162では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS163、“No”の場合はS168に進む。
【0220】
S163では、補助光制御部25に補助光発光部26の発光を指示したか否かを判断する。“Yes”の場合はS164、“No”の場合はS168に進む。
【0221】
S164では、補助光制御部25が補助光発光部26を発光させる直前と直後にそれぞれ制御回路74の測光した被写界輝度の差が、ROM68に記憶された所定の閾値を超えているか否かを判断する。“Yes”の場合はS168、“No”の場合はS165に進む。なお、当該差が当該閾値を超えておらず、微小であれば、補助光照射による被写体輝度の増加の寄与がほとんどなく、被写体が近くないといえる。
【0222】
S165では、ROM68の設定パラメータとしてあるいは操作部11から、予め夜景ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS166、“No”の場合はS167に進む。
【0223】
S166では、ズームレンズ位置が所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS167、“No”の場合はS168に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がテレ端あるいはその近傍にある場合である。この場合、バック遠景を画角に収めることができず、夜景撮影に適していない。
【0224】
S167では、SR=夜景に設定する。そして、module[3]の後に続く処理に進む。
【0225】
S168では、SR=AUTOに設定する。そして、module[3]の後に続く処理に進む。
【0226】
図16は、シーン判定サブルーチン(接写判定、module[4])の詳細を示すフローチャートである。この処理はカメラ1のCPU75によって実行が制御される。この処理を規定するプログラムはROM68に記憶されている。
【0227】
S171では、レリーズボタンの半押し(S1)がロックされているか否かを判断する。“Yes”の場合はS184、“No”の場合はS172に進む。
【0228】
S172では、設定メニューや操作部11を介して予めCAFの実行が設定されているか否かを判断する。“Yes”の場合はS173、“No”の場合はS188に進む。
【0229】
S173では、本撮像前AF処理部81の算出したAF評価値が、ROM68に記憶された所定の閾値よりも高いか否かを判断する。“Yes”の場合はS174、“No”の場合はS179に進む。なお、本ステップS173を省略してもよい。この場合、S172で“Yes”の場合はS174に進み、また、S173で“No”と判断された場合に続く諸処理も省略される。
【0230】
S174では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=0であるか否かを判断する。“Yes”の場合はS175、“No”の場合はS176に進む。
【0231】
S175では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0232】
S176では、E_AUTOSR_CHECK_CAFSTATUS_HIGH=1であるか否かを判断する。“Yes”の場合はS177、“No”の場合はS178に進む。
【0233】
S177では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0234】
S178では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0235】
S179では、E_AUTOSR_CHECK_CAFSTATUS_LOW=0であるか否かを判断する。“Yes”の場合はS180、“No”の場合はS181に進む。
【0236】
S180では、CAFの結果定まった合焦位置が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0237】
S181では、E_AUTOSR_CHECK_CAFSTATUS_LOW=1であるか否かを判断する。“Yes”の場合はS182、“No”の場合はS183に進む。
【0238】
S182では、CAFの結果、AF評価値の極大点が検出され、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0239】
S183では、CAFの結果、AF評価値の極大点が検出されるかまたはAF評価値がその極大点の近傍にあり(例えば本出願人による特開2003−348426号公報段落0041の「微動調整」の段階にある場合)、かつその極大点で定まった合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0240】
S184では、AF処理部62のAF処理により合焦位置が決定され、かつその合焦位置に対応する焦点距離が、ROM68に記憶された所定の焦点距離閾値よりも至近(NEAR)側にあるか、すなわち所定距離よりも近いか否かを判断する。“Yes”の場合はS185、“No”の場合はS188に進む。
【0241】
S185では、ROM68の設定パラメータとしてあるいは操作部11から、予め接写ズーム情報フラグがオンに設定されているか否かを判断する。“Yes”の場合はS186、“No”の場合はS187に進む。
【0242】
S186では、ズームレンズ位置がROM68に記憶された所定範囲内、例えば所定位置よりもワイド側にあるか否かを判断する。“Yes”の場合はS187、“No”の場合はS188に進む。なお、ズーム位置が所定範囲内にないとは、例えばズームレンズ位置がワイド端あるいはその近傍にある場合以外である。この場合、近接被写体の合焦ができず、近接撮影に適していない。
【0243】
S187では、SR=接写に設定する。そして、module[4]の後に続く処理に進む。
【0244】
S188では、SR=AUTOに設定する。そして、module[4]の後に続く処理に進む。
【0245】
図12〜図16のシーン判定の結果は、CPU75が表示部71に表示するよう制御する。
【0246】
例えば、図3に示したように、シーン判定の結果である「風景」、「AUTO」、「人物」、「夜景」、「接写」といった文字を、スルー画像にあるいはレリーズボタン全押し後の記録用画像に重畳して、表示部71に表示する。シーン判定の結果を示す文字列、アイコン、記号その他の情報は、図示しないOSD回路によって生成される。カメラ1に音声処理回路やスピーカが備えられていれば、シーン判定の結果に対応する報知音を出力するようCPU75が制御してもよい。「自動シーン認識OFF」が設定されていれば、シーン判定結果は表示されない。
【0247】
以上の処理により、ユーザーが撮ろうとしている、もしくは撮ったシーンが、どのようなシーンであるのかを認識できる。
【0248】
図5のメイン処理では、シーン変動時にシーン認識を行う。前回のシーン認識結果が確定されたときのフレームの状態と、現フレームの状態の変動を監視する(S4、図6)。変化があった場合にシーン変動ありと判断されると(S5)、status=サーチ状態となり
(S6)、シーン変動のタイミングで認識部が動作する(S9)。
【0249】
図6のフレーム変動チェックでは、変動を検知する因子を複数持つことが可能で、順序の入れ換えなども、E_AUTOSR_FRAME_CHECK1〜3の設定により可能である。そして、変動を検知した場合には、フレーム変動の指標となるchange_measureの値をインクリメントする(S24、S28、S32)。change_measureの値がE_AUTOSR_FRAME_CHANGE_MEASURE以上の場合には(S25、S29、S33で“Yes”)、フレーム変動ありと判断される(S35)。
【0250】
ここでは、フレーム変動を検知する具体的な処理として、測光値変動チェック(図7)、フォーカス位置変動チェック(図8)、顔有無変動チェック(図9)を示している。なお図示は省略するが、本撮像前AF処理部81の合焦検出の有無に応じてフレーム変動を検知してもよい。
【0251】
図7の測光値変動チェックでは、測光値の変動量の指標となるdelta_evは、N分割の分割エリアごとに測光値変動量を算出し、各エリアに対応した重みをかけて総和をとったものである。そして、delta_evの値がE_AUTOSP_FRAME_DELTA_EV以上の場合に、測光値変動
ありと判断する。
【0252】
図8のフォーカス位置変動チェックでは、フォーカス位置の変動量の指標となるdelta_focal_pointは、基準情報のフォーカス位置と今回のフォーカス位置の差分によって算出される。delta_focal_pointの値がフォーカス位置変動閾値以上の場合に、フォーカス位置変動ありと判断する。なお、ここで使用される閾値は、ズーム位置ごとにROM68に設定されているものとする。
【0253】
図9の顔有無変動チェックでは、基準情報の顔有無結果と今回の顔有無結果が異なる場合に、顔有無変動ありと判断する。
【0254】
認識部動作の差異に使用するシーン認識履歴は、自動シーン認識の結果として採用するSRを求めた後にクリアする(S8)。これは、認識部は常時動作することを想定しておらず、離れた時刻の情報を参照することがないようにするためである。
【0255】
ここで、シーン認識履歴がクリアされるために、サーチ状態となってから(S6)、参照するシーン認識履歴数回分だけ認識部が動作するまでは(S11で“Y”となるまでは)、SRが更新されない仕組みとなる。
【0256】
また、SRを決定した際、フレーム変動をチェックするための基準情報として、採用されたSRが最大頻度になった(最新側の)情報を記憶する(S13)。
【0257】
なお、決定したSRがAUTO以外の場合は「確定状態」となり(S16)、シーンが変動するまでは認識部は動作しない。これに対し、決定したSRがAUTOの場合は「サーチ状態」となり(S15)、引き続き認識部を動作させる。これはシーン変動の途中で認識した結果を「確定状態」にすることで、シーン変動を正しく検知できなくなってしまう可能性があるためである。
【0258】
仮に、シーン変動の途中の状態を基準情報として登録した後、フレーム変動を見に行ってしまうと、最終的にシーン変動が完了した状態で認識部に動作してほしいと思っても、基準情報との差分が小さい故に、認識部が動作しない現象が起こってしまう。そこで、これを回避するため、上記のように確定したシーンに対応する情報で基準情報を更新する処理を行う(S13)。
【0259】
シーン認識は結果が安定しないと、出力結果がユーザの混乱を招く。そこで、どのようなシーンであるのかという判断をする処理(S7〜S16)と、認識したシーンから変動があったかという監視をする処理(S4〜S6)とを混合的に動作させることにより、正確で安定したシーン認識を行うことが可能となる。
【0260】
<他の実施の形態>
次に、シーンの認識結果と顔の検出結果とに基づいて各種機能を制御する場合の他の実施の形態について説明する。
【0261】
図17は顔検出利用による各種機能の制御の設定方法を示すフローチャートを示す。
【0262】
S300では、ユーザーによる「カスタム設定」を行うか、「デフォルト設定」を行うが判別され、"Yes"の場合はS310に遷移し、"No"の場合はS320に遷移する。
【0263】
図18に、上記「カスタム設定」、「デフォルト設定」を選択するデジタルカメラ1の設定画面の一例を示す。
【0264】
例えば、デジタルカメラ1のメニュー/OKボタン等を操作し、図18(a)に示す顔検出利用設定のメニューを表示部71に表示させ、上下矢印レバーを操作することで、「カスタム設定」、又は「デフォルト設定」を任意に選択することができる。
【0265】
ここで、「カスタム設定」を選択し、メニュー/OKボタンを押すと、図18(b)に示すように「カスタム設定」の詳細画面に遷移する。ユーザーは、この画面上で顔検出を利用した各種機能の制御方法を任意に設定することができる。
【0266】
図18(b)に示す例では、「風景」、「夜景」及び「接写」のシーンの場合には、「顔AF」、「顔AWB」、「顔階調補正」の制御は実施しないようにしている。
【0267】
図17のS310では、「カスタム設定」が設定され、顔検出利用による各種機能の制御方法として、ユーザーにより設定された各種機能の設定が適用される。
【0268】
一方、S320では、「デフォルト設定」が設定され、顔検出利用による各種機能の制御方法として、デジタルカメラ1の出荷前に予め設定された各種機能の設定が適用される。
【0269】
即ち、デジタルカメラ1には、「デフォルト設定」用のテーブルと、「カスタム設定」用のテーブルとを有し、ユーザーによりいずれのテーブルを適用するかが選択できるようになっている。また、「カスタム設定」用のテーブルは、その内容(制御のON/OFFなど)がユーザーからの指示入力により書き替え可能になっている。
【0270】
尚、図18(b)に示す例では、図4に示した例と同様に、各種機能をON/OFFレベルで制御するようにしているが、各種機能の強度をいくつかのレベルに分けておき、そのレベルを設定するような仕組みでもよい。
【0271】
また、本発明は、以上の例には限定されず、本発明の要旨を逸脱しない範囲において、各種の改良や変形を行ってもよいことは言うまでもない。
【符号の説明】
【0272】
1…デジタルカメラ、11…操作部、20…レンズ、24…フラッシュ発光部、25…補助光制御部、26…補助光発光部、51…レンズ駆動部、54…絞り、55…絞り駆動部、58…撮像素子(CCD)、59…撮像素子制御部、60…アナログ信号処理部、61…A/D変換部、62…AF処理部、63…AE/AWB処理部、65…デジタル信号処理部、66…メモリ、67…圧縮伸張処理部、68…ROM、69…RAM、70…記録部、71…表示部、73…フラッシュ制御部、74…制御回路、75…CPU、80…顔検出処理部
【特許請求の範囲】
【請求項1】
撮影シーンの情報を取得する情報取得手段と、
取得した情報からシーンを認識するシーン認識手段と、
撮影シーンに顔があるか否かを検出する顔検出手段と、
シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う制御手段と、を備え、
前記シーン認識手段は、
認識したシーンに対応する情報を基準情報として記憶する記憶手段と、
記憶手段に記憶された基準情報と前記情報取得手段により取得された情報からシーンが変動したか否かを判別するシーン変動判別手段と、
シーン認識を行う所定の周期を設定する周期設定手段と、を有し、
シーンが変動したことが判別されると、前記情報取得手段により取得した情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンであって、前記周期設定手段により設定された所定の周期毎に前記情報取得手段により取得された情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報とし、前記記憶手段に記憶させた基準情報を更新する撮像装置。
【請求項2】
前記情報取得手段は、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得する請求項1に記載の撮像装置。
【請求項3】
前記制御手段は、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御手段、検出された顔の領域の明るさに基づいて露出を制御する露出制御手段、検出された顔に焦点が合うように焦点調節を行う自動焦点調節手段、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整手段、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正手段のうちの2以上の手段を含む請求項1又は2に記載の撮像装置。
【請求項4】
前記制御手段は、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを有し、シーンの認識結果と顔の検出結果とに基づいて前記テーブルから対応する情報を読み出して各種の制御を行う請求項1から3のいずれかに記載の撮像装置。
【請求項5】
前記テーブルに記憶されている情報をユーザーが自由に設定するカスタム設定手段を備えた請求項4に記載の撮像装置。
【請求項6】
前記シーン認識手段は、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する請求項1から5のいずれかに記載の撮像装置。
【請求項7】
所定の周期毎に撮影シーンの情報を取得するステップと、
取得した撮影シーンの情報からシーンを認識するステップと、
認識したシーンに対応する情報を基準情報として記憶手段に記憶させるステップと、
撮影シーンに顔があるか否かを検出するステップと、
シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うステップと、を含み、
前記シーンを認識するステップは、
所定の周期毎に記憶手段に記憶された基準情報と前記取得されたシーンの情報とからシーンが変動したか否かを判別し、
シーンが変動したことが判別されると、前記所定の周期毎に取得したシーンの情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンを認識し、
n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報として前記記憶手段に記憶させた基準情報を更新する撮像方法。
【請求項8】
前記撮影シーンの情報を取得するステップは、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得する請求項7に記載の撮像方法。
【請求項9】
前記各種の制御を行うステップは、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御、検出された顔の領域の明るさに基づいて露出を制御する露出制御、検出された顔に焦点が合うように焦点調節を行う自動焦点調節、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正のうちの2以上の制御を含む請求項7又は8に記載の撮像方法。
【請求項10】
前記各種の制御を行うステップは、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを使用し、シーンの認識結果と顔の検出結果とに基づいて前記テーブルから対応する情報を読み出して各種の制御を行う請求項7から9のいずれかに記載の撮像方法。
【請求項11】
前記テーブルに記憶されている情報は、ユーザーが自由に設定するカスタム設定手段により設定される請求項10に記載の撮像方法。
【請求項12】
前記シーンを認識するステップは、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する請求項7から11のいずれかに記載の撮像方法。
【請求項1】
撮影シーンの情報を取得する情報取得手段と、
取得した情報からシーンを認識するシーン認識手段と、
撮影シーンに顔があるか否かを検出する顔検出手段と、
シーンの認識結果と顔の検出結果とに基づいて各種の制御を行う制御手段と、を備え、
前記シーン認識手段は、
認識したシーンに対応する情報を基準情報として記憶する記憶手段と、
記憶手段に記憶された基準情報と前記情報取得手段により取得された情報からシーンが変動したか否かを判別するシーン変動判別手段と、
シーン認識を行う所定の周期を設定する周期設定手段と、を有し、
シーンが変動したことが判別されると、前記情報取得手段により取得した情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンであって、前記周期設定手段により設定された所定の周期毎に前記情報取得手段により取得された情報に基づいてシーンを認識し、n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報とし、前記記憶手段に記憶させた基準情報を更新する撮像装置。
【請求項2】
前記情報取得手段は、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得する請求項1に記載の撮像装置。
【請求項3】
前記制御手段は、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御手段、検出された顔の領域の明るさに基づいて露出を制御する露出制御手段、検出された顔に焦点が合うように焦点調節を行う自動焦点調節手段、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整手段、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正手段のうちの2以上の手段を含む請求項1又は2に記載の撮像装置。
【請求項4】
前記制御手段は、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを有し、シーンの認識結果と顔の検出結果とに基づいて前記テーブルから対応する情報を読み出して各種の制御を行う請求項1から3のいずれかに記載の撮像装置。
【請求項5】
前記テーブルに記憶されている情報をユーザーが自由に設定するカスタム設定手段を備えた請求項4に記載の撮像装置。
【請求項6】
前記シーン認識手段は、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する請求項1から5のいずれかに記載の撮像装置。
【請求項7】
所定の周期毎に撮影シーンの情報を取得するステップと、
取得した撮影シーンの情報からシーンを認識するステップと、
認識したシーンに対応する情報を基準情報として記憶手段に記憶させるステップと、
撮影シーンに顔があるか否かを検出するステップと、
シーンの認識結果と顔の検出結果とに基づいて各種の制御を行うステップと、を含み、
前記シーンを認識するステップは、
所定の周期毎に記憶手段に記憶された基準情報と前記取得されたシーンの情報とからシーンが変動したか否かを判別し、
シーンが変動したことが判別されると、前記所定の周期毎に取得したシーンの情報に基づいて、予め定義した複数のシーン及びいずれのシーンにも当てはまらないシーンのうちのいずれかのシーンを認識し、
n回(n:3以上の整数)認識したシーンのうちの最大頻度のシーンを現在のシーンとして認識し、認識した現在のシーンに対応する情報を基準情報として前記記憶手段に記憶させた基準情報を更新する撮像方法。
【請求項8】
前記撮影シーンの情報を取得するステップは、撮影シーン中に顔があるか否かを示す情報、被写体距離に相当する情報、被写体の明るさに相当する情報のうちの少なくとも1つの情報を取得する請求項7に記載の撮像方法。
【請求項9】
前記各種の制御を行うステップは、ライブビュー画像を表示する表示手段の画面上において、検出された顔の位置を明示的に表示する表示制御、検出された顔の領域の明るさに基づいて露出を制御する露出制御、検出された顔に焦点が合うように焦点調節を行う自動焦点調節、検出された顔の領域の色情報に基づいてホワイトバランスを調整するホワイトバランス調整、及び検出された顔の領域の明るさに基づいて階調補正を行う顔階調補正のうちの2以上の制御を含む請求項7又は8に記載の撮像方法。
【請求項10】
前記各種の制御を行うステップは、シーンの種類と各種の制御の種類とに対応して、各制御の種類毎に制御を行うか否を示す情報又は制御の強弱を示す情報が記憶されたテーブルを使用し、シーンの認識結果と顔の検出結果とに基づいて前記テーブルから対応する情報を読み出して各種の制御を行う請求項7から9のいずれかに記載の撮像方法。
【請求項11】
前記テーブルに記憶されている情報は、ユーザーが自由に設定するカスタム設定手段により設定される請求項10に記載の撮像方法。
【請求項12】
前記シーンを認識するステップは、認識したn回のシーンのうちの最大頻度のシーンが複数存在する場合、シーン認識の履歴のうちの最も新しいシーンが属するシーンを現在のシーンとして認識する請求項7から11のいずれかに記載の撮像方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−182856(P2012−182856A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2012−146905(P2012−146905)
【出願日】平成24年6月29日(2012.6.29)
【分割の表示】特願2008−197003(P2008−197003)の分割
【原出願日】平成20年7月30日(2008.7.30)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願日】平成24年6月29日(2012.6.29)
【分割の表示】特願2008−197003(P2008−197003)の分割
【原出願日】平成20年7月30日(2008.7.30)
【出願人】(306037311)富士フイルム株式会社 (25,513)
【Fターム(参考)】
[ Back to top ]