(57)【特許請求の範囲】
【請求項１】
画像データから特定の被写体を検知する検知手段と、
前記検知手段が前記特定の被写体を検知するための判定基準を設定する基準設定手段と、を備え、
前記基準設定手段は、オートフォーカス開始指示前にオートフォーカス対象領域を表示する第１のモードの場合に、オートフォーカス開始指示後にオートフォーカス対象領域を表示する第２のモードの場合に比べて前記特定の被写体が検知されやすくなるように前記判定基準を変更することを特徴とする撮像装置。
【請求項２】
前記特定の被写体は人間の顔であり、
前記検知手段は、顔検知手段であることを特徴とする請求項１記載の撮像装置。
【請求項３】
前記検知手段は、前記第１のモードにおいて、顔検知手段と人体検知手段を使用して前記特定の被写体を検知し、前記第２のモードにおいては、前記人体検知手段を使用せずに前記顔検知手段を使用して前記特定の被写体を検知することを特徴とする請求項１記載の撮像装置。
【請求項４】
前記基準設定手段は、前記検知手段が前記第１のモードで検知対象とする前記特定の被写体の最小検知サイズが、前記第２のモードで検知対象とする前記特定の被写体の最小検知サイズよりも小さくなるように、前記判定基準を設定することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記基準設定手段は、前記検知手段が前記第１のモードで検知対象とする前記特定の被写体の奥行き方向の角度範囲が、前記第２のモードで検知対象とする前記特定の被写体の奥行き方向の角度範囲よりも広くなるように、前記判定基準を設定することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記基準設定手段は、前記検知手段が前記第１のモードで検知対象とする前記特定の被写体の画像面方向の角度範囲が、前記第２のモードで検知対象とする前記特定の被写体の画像面方向の角度範囲よりも広くなるように、前記判定基準を設定することを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
前記基準設定手段は、前記検知手段が前記第１のモードで検知対象とする前記特定の被写体の信頼度が、前記第２のモードで検知対象とする前記特定の被写体の信頼度よりも低くなるように、前記判定基準を設定することを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
第１の画像における指定領域が、第２の画像においてどの領域へ移動したかを示す移動量を算出する算出手段を、さらに具備し、
前記基準設定手段は、前記第１のモードでは、前記算出手段の算出結果を前記判定基準として採用するが、前記第２のモードでは、前記算出手段の算出結果を前記判定基準として採用しないことを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
画像データから特定の被写体を検知する検知工程と、
前記検知工程において前記特定の被写体を検知するための判定基準を設定する基準設定工程と、を備え、
前記基準設定工程では、オートフォーカス開始指示前にオートフォーカス対象領域を表示する第１のモードの場合に、オートフォーカス開始指示後にオートフォーカス対象領域を表示する第２のモードの場合に比べて前記特定の被写体が検知されやすくなるように前記判定基準を変更することを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及びその制御方法に関し、特に、オートフォーカス機能を備えた撮像装置及びその制御方法に関する。
【背景技術】
【０００２】
従来から、被写体を自動的に認識し、その被写体の位置に基づいてピント合わせを自動で行うオートフォーカス機能を備えたカメラが知られている。
【０００３】
オートフォーカス機能を備えたカメラとしては、撮像モードに応じて被写体の認識アルゴリズムを変更することによって精度良く被写体認識を行うことができるようにしたカメラが提案されている（例えば、特許文献１）。また、シーンに応じて被写体位置の精度を上げる処理と、精度は下がるが負荷の少ない処理を選択することができるカメラが提案されている（例えば、特許文献２）。このような従来技術によれば、被写体を認識するためのアルゴリズムを改善すること等によって処理速度が向上し、より小さい顔や角度のついた顔などをフォーカス対象の被写体として検知できるようになっている。
【０００４】
一方、オートフォーカス位置を自動的に決定するカメラであって、フォーカス位置を決定して表示する表示方式を任意に変更できるカメラがある。フォーカス位置を決定して表示する方式としては、事前表示モードと、事後表示モードがある。事前表示モードは、オートフォーカス開始指示の前にカメラが選んだ被写体を表示して追尾する被写体表示モードである。一方、事後表示モードは、オートフォーカス開始指示の後にカメラが選んだ被写体を表示する被写体表示モードである。
【０００５】
事前表示モードは、ユーザが選択した被写体又はカメラが自動的に見つけた被写体を追尾し続けるモードであり、目的の被写体があらかじめ画角内に捕えられ、決定されている場合に適している。この事前表示モードでは、ユーザは、カメラが自動的に見つけた主被写体が気に入らなければ、オートフォーカス動作前に別の被写体に切り換えることができる。一方、事後表示モードは、あらかじめ目的の被写体が画角内に存在しなくても撮影直前の撮像画像からメインとなりそうな被写体をカメラが選んでくれるのでカメラ任せの撮影に適している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３３０８８２号公報
【特許文献２】特開２０１１−０２２２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術では、オートフォーカス対象領域をオートフォーカス操作開始前に表示する事前表示モード、又は操作開始後に表示する事後表示モードによっては、カメラが認識した被写体がユーザにとって好ましくない被写体である場合に問題となる。すなわち、事前表示モードであれば撮影前にフォーカス位置が表示されるので、カメラが認識した被写体がユーザにとって好ましくない場合、ユーザは、撮影前に別の被写体に変更できるので、問題となることはない。一方、事後表示モードでは、オートフォーカス開始後にフォーカス位置が表示されるので、カメラが認識した被写体がユーザにとって好ましくない場合、その後に、被写体を変更すればシャッターチャンスを逃す虞がある。ユーザにとって好ましくない被写体としては、例えば、極端に小さな顔などが挙げられる。
【０００８】
本発明は、このような状況に鑑み、ユーザにとって好ましい被写体を、高い確率でフォーカス対象の被写体として設定することができる撮像装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の撮像装置は、画像データから特定の被写体を検知する検知手段と、前記検知手段が前記特定の被写体を検知するための判定基準を設定する基準設定手段と、を備え、前記基準設定手段は、オートフォーカス開始指示前にオートフォーカス対象領域を表示する第１のモードの場合に、オートフォーカス開始指示後にオートフォーカス対象領域を表示する第２のモードの場合に比べて前記特定の被写体が検知されやすくなるように前記判定基準を変更することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、被写体表示モードに応じて被写体を検知するための判定基準を変更する。従って、例えば、ユーザが、主となる被写体の変更が可能なオートフォーカス開始指示前にフォーカス対象領域を表示するモードにおける判定基準を、オートフォーカス開始指示後にフォーカス対象領域を表示するモードにおける判定基準よりも低く設定する。これによって、ユーザにとって好ましい被写体を、高い確率でフォーカス対象の被写体として設定することができるようになる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る撮像装置の構成を示すブロック図である。
【図２】顔認識における顔の角度を規定した図である。
【図３】図１の撮像装置を適用したオートフォーカス処理の手順を示すフローチャートである。
【図４Ａ】顔位置決定処理の手順を示すフローチャートである。
【図４Ｂ】顔位置決定処理の手順を示すフローチャートである。
【図５Ａ】第２の実施の形態における顔位置決定処理の手順を示すフローチャートである。
【図５Ｂ】第２の実施の形態における顔位置決定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
【００１３】
図１は、本発明の実施の形態に係る撮像装置（デジタルカメラ）の構成を示すブロック図である。図１において、デジタルカメラ１００は、電源１１０、カード入出力部１１９及びカードスロット１２０を備えている。電源１１０は、デジタルカメラ１００内の各回路に電源を供給する。カードスロット１２０は、着脱可能な記録媒体としてのメモリカード１２１を差し込む場所であり、メモリカード１２１はカードスロット１２０に差し込まれた状態で、カード入出力部１１９と電気的に接続する。なお、記録媒体として、メモリカードの他、ハードディスク、光ディスク、光磁気ディスク、磁気ディスク、その他の固体メモリを使用してもよい。
【００１４】
また、デジタルカメラ１００は、デジタルカメラ１００全体を制御するＣＰＵ１０９、フォーカシングレンズ１０１、ズーミングレンズ１０２及び絞り１０３を備えている。フォーカシングレンズ１０１は光軸方向の進退により焦点調節を行う。ズーミングレンズ１０２は光軸方向の進退により焦点距離の変更を行う。また、絞り１０３は撮像素子への光量を調節する。フォーカシングレンズ１０１、ズーミングレンズ１０２及び絞り１０３は、撮像光学系を構成し、ＣＰＵ１０９によって制御される。
【００１５】
また、デジタルカメラ１００は、撮像素子１０４、前処理回路１０５、Ａ／Ｄコンバータ１０６、像信号処理装置１０７及びフレームメモリ１０８を備えている。撮像素子１０４、前処理回路１０５、Ａ／Ｄコンバータ１０６、像信号処理装置１０７及びフレームメモリ１０８は、撮像光学系で形成された被写体の光学像をデジタル画像信号又は画像データに変換する光電変換系を構成する。
【００１６】
撮像素子１０４は、ＣＣＤ撮像素子又はＣＭＯＳ撮像素子等で構成される光電変換手段である。撮像素子１０４は、光学部材１０１〜１０３からなる撮像光学系で形成された被写体像を光電変換し、画像信号を出力する。撮像素子１０４は、電子シャッター機能を有しており露光時間を調整することができる。なお、撮像素子１０４は、電子シャッター機能の代わりに機械式のシャッターを有し、露光時間を調整する構成であっても良い。前処理回路１０５は、ＣＤＳ（相関二重サンプリング）回路及びＡＧＣ（オートゲインコントロール）回路等を含み、撮像素子１０４の出力画像信号のノイズを除去し、ゲインを制御する。
【００１７】
Ａ／Ｄコンバータ１０６は、前処理回路１０５から出力されるアナログ画像信号をデジタル画像信号に変換する。像信号処理装置１０７は、デジタル画像信号にシェーディング補正等のカメラで周知の画像信号処理を施す。像信号処理装置１０７は、いわば、撮像素子１０４の特性に起因する画像濃度の非線形性、及び光源に起因する画像色の偏りを補正する。フレームメモリ１０８は、撮像素子１０４〜像信号処理装置１０７により生成される画像信号を一時記憶するバッファメモリとして機能する。フレームメモリ１０８に格納されている画像データは、補正処理等が施されているが、撮像素子１０４の各画素に蓄積された電化エネルギーをそのままデジタルデータ化したものと考えることができる。
【００１８】
ＣＰＵ１０９は、撮像素子１０４の画像信号読み出しを制御するクロック信号を送出し、撮像素子１０４〜フレームメモリ１０８の動作タイミングを制御する。
【００１９】
ＣＰＵ１０９は、電源１１０、不揮発性メモリ１１１、現像処理部１１２、ＲＡＭメモリ１１３、表示制御装置１１４、メインスイッチ１１６、第１レリーズスイッチ（ＳＷ１）１１７、第２レリーズスイッチ１１８と接続されている。また、ＣＰＵ１０９は、操作ボタン１４０〜１４２、カード入出力部１１９、顔検知部２００、人体検知部２０１、移動量算出部２０２、オートフォーカス評価値算出部２０３と接続されている。
【００２０】
不揮発性メモリ１１１は、ＥＥＰＲＯＭ等で構成されており、電源１１０がオフにされても、記録されたデータを失わない。不揮発性メモリ１１１には、電源１１０がオンされた時にカメラに設定する初期カメラ設定値が記録されている。
【００２１】
現像処理部１１２は、ＣＰＵ１０９が読み出したフレームメモリ１０８上のＲＡＷデータに対し、現像パラメータ設定に基づいて画像処理を実行する。画像処理が施されたそれぞれの画像データは、ＲＡＭメモリ１１３に格納される。現像パラメータとは、デジタル画像データの画質に関するパラメータのことで、デジタル画像データのホワイトバランス、色補間、色補正、γ変換、エッジ強調、解像度に関するパラメータはすべて現像パラメータに相当する。
【００２２】
ＲＡＭメモリ１１３は、現像処理結果の画像データの他、ＣＰＵ１０９が各種処理を行なう際のデータを一時的に記憶する。表示制御装置１１４は、液晶表示素子からなるＴＦＴ１１５の駆動及び制御を行い、ＲＡＭメモリ１１３に表示用の画像フォーマットで配置された画像データを表示装置へ出力する。ここで表示用の画像フォーマットを配置するＲＡＭメモリ１１３をＶＲＡＭと呼ぶ。
【００２３】
顔検知部２００は、画像データから特定の画像として人間の顔を検知し、顔の輪郭、顔の部位としての目、鼻、口の特徴を検出し、顔の位置、サイズ、角度（画像奥行き方向と画像平面方向）、信頼度を出力する。複数の顔があれば、複数の顔の位置、サイズ、信頼度を出力する。顔位置は入力する画像データの、例えば、左上を原点の座標とする。ここで、顔検知部２００には、出力される顔のサイズを制限する設定を行うことができる。設定したサイズよりも小さな顔は出力されない。
【００２４】
図２は、顔認識における顔の角度を規定した図である。図２（ａ）に示すように、画像奥行き方向の角度は、左９０度３００、左４５度３０１、正面３０２、右４５度３０３、右９０度３０４として検出される。顔検知部２００には、出力される画像奥行き方向の角度を制限する設定を行うことができる。例えば、正面３０２のみを設定すると、正面３０２以外の結果は出力されない。また、画像平面方向の角度は、図２（ｂ）に示すように、０度３１０、９０度３１１、１８０度３１２、２７０度３１３として検出される。顔検知部２００には、出力される平面方向の角度を制限する設定を行うことができる。例えば、０度３１０のみを設定すると、０度３１０以外の結果は出力されない。
【００２５】
顔検知部２００が出力する信頼度は、例えば０〜２５５で出力され、信頼度が高いほど顔である可能性が高い。ここで、顔検知部２００には、出力される信頼度を制限する設定を行うことができる。例えば、信頼度を１２８で設定すると１２８よりも低い信頼度の顔は出力されない。
【００２６】
人体検知部２０１は、画像データから人型（頭から肩までのシルエット）を認識し、顔の位置、サイズ、信頼度を出力する。人体検知部２０１が出力する信頼度は、例えば０〜２５５で出力され、信頼度が高いほど人体である可能性が高い。ここで、顔検知部２００と同様、人体検知部２０１も顔のサイズ、信頼度について出力結果を制限する設定を行うことができる。
【００２７】
移動量算出部２０２は、第１の画像データと第２の画像データと第１の画像データに対する指定領域（座標とサイズで指定する）を入力すると、第１の画像データの指定領域が、第２の画像データのどの領域へ移動したかの移動量を算出する。移動量算出部２０２を適用することによって、主被写体と判断した領域を追尾することができる。
【００２８】
ＡＦ評価値算出部２０３は、画像データと評価値を取得する位置を指定することによって、オートフォーカスの評価値を算出する。ＣＰＵ１０９は、ＡＦの評価値に基づきフォーカシングレンズ１０１を駆動させることでオートフォーカス動作を行うことができる。オートフォーカス動作については、コントラスト方式、位相差方式などがあるがここでは、方式を特に限定しない。
【００２９】
ユーザがメインスイッチ１１６をオンにすると、ＣＰＵ１０９は、所定のプログラムを実行する。また、ユーザがメインスイッチ１１６をオフにすると、ＣＰＵ１０９は、所定のプログラムを実行し、カメラをスタンバイモードにする。第１レリーズスイッチ（ＳＷ１）１１７は、レリーズボタンの第１ストローク（半押し状態）でオンになり、第２レリーズスイッチ１１８は、レリーズボタンの第２ストローク（全押し状態）でオンとなる。オートフォーカス動作は第１レリーズスイッチ（ＳＷ１）１１７をオンにすることで動作を開始する。また、撮像動作は第２レリーズスイッチ１１８をオンすることで動作を開始する。
【００３０】
ＣＰＵ１０９は、また、左選択ボタン１４０、右選択ボタン１４１、設定ボタン１４２の押下を検知すると、デジタルカメラ１００の動作状態に応じて制御を行なう。メニューからライブビューを選択すると、定期的、例えば１秒に３０回、撮像素子１０４からＲＡＷデータを取り込み、現像処理してＶＲＡＭへ配信することで、リアルタイムに撮像素子１０４から取り込んだ画像を表示する。また、メニューからライブビュー中の被写体表示モードを切り替えることができる。被写体表示モードには、事前表示モードと事後表示モードがあり、ユーザが、モードを切り替えることでライブビュー中のオートフォーカス動作位置の表示タイミングや位置を決定する方法を切り替えることができる。事前表示モードは、ユーザのオートフォーカス開始指示前（第１レリーズスイッチ１１７オン前）にオートフォーカス対象領域をＴＦＴ１１５に表示するモードである。また、事後表示モードは、オートフォーカス開始指示後にオートフォーカスを行う位置をカメラが決定するモードである。
【００３１】
事前表示モードでは、例えば、顔検知部２００、人体検知部２０１、移動量算出部２０２を使って検知した結果を統合して得られた顔の位置をオートフォーカス位置として表示する。複数の顔を検知した場合には、その中から１つをカメラが選択し表示する。ユーザは、主となる被写体を現在表示されているオートフォーカス位置にある顔とは別の顔に変更したい場合は、左選択ボタン１４０もしくは右選択ボタン１４１を押すことで別の顔に切り替えることができる。
【００３２】
以下、図１の撮像装置（デジタルカメラ）を適用したライブビュー中のオートフォーカス処理について説明する。
【００３３】
図３は、図１の撮像装置（デジタルカメラ）を適用したオートフォーカス処理の手順を示すフローチャートである。このオートフォーカス処理は、デジタルカメラ１００のＣＰＵ１０９が、図示省略したＲＯＭに記憶されたプログラムに従って実行する。本処理は、ライブビューが開始されると同時に実行されるライブビュー中のオートフォーカス処理である。
【００３４】
図３において、オートフォーカス処理が開始されると、ＣＰＵ１０９は、被写体表示モードが事前表示モードであるか否かを判定する（ステップＳ４０１）。ステップＳ４０１の判定の結果、事前表示モードが設定されている（ステップＳ４０１で「ＹＥＳ」）場合、ＣＰＵ１０９は、後述する図４Ａ及び図４Ｂの顔位置決定処理で決定された顔位置があるか否かを判定する（ステップＳ４０２）。顔位置としては、顔位置決定処理で決定された顔位置があればＲＡＭメモリ１１３に記憶されているので、これが使われる。ステップＳ４０２の判定の結果、決定された顔位置がある（ステップＳ４０２で「ＹＥＳ」）場合、ＣＰＵ１０９は、顔位置をＴＦＴ１１５へ表示させるためＶＲＡＭ１１３への書き込み処理を行い、顔位置に顔枠を表示する（ステップＳ４０３）。このとき、顔位置は、例えば白枠で表示される。
【００３５】
顔位置を白枠表示した後、ＣＰＵ１０９は、第１レリーズスイッチ（ＳＷ１）１１７がオンであるか否かを判定する（ステップＳ４０４）。ステップＳ４０４の判定の結果、第１レリーズスイッチ（ＳＷ１）１１７がオン（ステップＳ４０４で「ＹＥＳ」）の場合、ＣＰＵ１０９は、白枠表示した顔位置をオートフォーカスの評価値を取得する位置として設定する（ステップＳ４０５）。
【００３６】
オートフォーカスの評価値を取得する位置を設定した後、ＣＰＵ１０９は、オートフォーカスの評価値に基づいてオートフォーカス動作を実行する（ステップＳ４０６）。次いで、ＣＰＵ１０９は、オートフォーカス動作の結果が合焦と判断される場合は、評価値を取得したフォーカス位置を、例えば緑枠で表示する（ステップＳ４０７）。このとき、合焦と判断できない場合は何もしないが、例えば、同じフォーカス位置で１０回以上合焦と判断できない場合は、そのフォーカス位置を赤枠で表示する。
【００３７】
フォーカス位置を緑枠で表示した後、ＣＰＵ１０９は、第１レリーズスイッチ１１７（ＳＷ１）がオフであるか否かを判定し、オフでなければオフになるまで待機する（ステップＳ４０８）。一方、ステップＳ４０８の判定の結果、第１レリーズスイッチ（ＳＷ１）１１７がオフ（ステップＳ４０８で「ＹＥＳ」）であれば、ＣＰＵ１０９は、処理をステップＳ４０１へ戻す。
【００３８】
一方、ステップＳ４０２の判定の結果、それ以前に決定された顔位置がない（ステップＳ４０２で「ＮＯ」）場合、ＣＰＵ１０９は、第１レリーズスイッチ（ＳＷ１）１１７がオンであるか否か判定する（ステップＳ４０９）。ステップＳ４０９の判定の結果、第１レリーズスイッチ１１７（ＳＷ１）がオンである（ステップＳ４０９で「ＹＥＳ」）場合、ＣＰＵ１０９は、処理をステップＳ４１０に進める。すなわち、ＣＰＵ１０９は、測距操作を行い、最も近い距離にある物体（被写体）の中心をオートフォーカスの評価値を取得する位置として設定し（ステップＳ４１０）、その後、処理をステップＳ４０６へ進める。また、ステップＳ４０９の判定の結果、第１レリーズスイッチ（ＳＷ１）１１７がオフである（ステップＳ４０９で「ＮＯ」）場合、ＣＰＵ１０９は、処理をステップＳ４０１へ戻す。
【００３９】
また、ステップＳ４０４の判定の結果、第１レリーズスイッチ（ＳＷ１）１１７がオフ（ステップＳ４０４で「ＮＯ」）の場合、ステップＳ４０９の判定の結果が「ＮＯ」の場合と同様に、ＣＰＵ１０９は、処理をステップＳ４０１へ戻す。
【００４０】
一方、ステップＳ４０１の判定の結果、事前表示モードでない（ステップＳ４０１で「ＮＯ」）場合、すなわち、被写体表示モードとして事後表示モードが設定されている場合、ＣＰＵ１０９は、処理をステップＳ４１１へ進める。すなわち、ＣＰＵ１０９は、第１レリーズスイッチ（ＳＷ１）１１７がオンであるか否かを判定する（ステップＳ４１１）。ステップＳ４１１の判定の結果、第１レリーズスイッチ（ＳＷ１）１１７がオンの（ステップＳ４１１で「ＹＥＳ」）場合、ＣＰＵ１０９は、以前に顔位置決定処理で決定された顔位置があるか否かを判定する（ステップＳ４１２）。
【００４１】
そして、ステップＳ４１２の判定の結果、決定された顔位置がある（ステップＳ４１２で「ＹＥＳ」）場合、ＣＰＵ１０９は、処理をステップＳ４１３に進める。すなわち、ＣＰＵ１０９は、顔位置決定処理で決定された顔位置をオートフォーカスの評価値を取得する位置として設定し、その後、処理をステップＳ４０６へ進める。
【００４２】
一方、ステップＳ４１２の判定の結果、以前に決定された顔位置がない（ステップＳ４１２で「ＮＯ」）場合、ＣＰＵ１０９は、処理をステップＳ４１４に進める。すなわち、ＣＰＵ１０９は、測距操作を行い、最も近い距離にある物体（被写体）の中心をオートフォーカスの評価値を取得する位置として設定し、その後、処理をテップＳ４０６へ進める。なお、ステップＳ４１１の判定の結果、第１レリーズスイッチ１１７（ＳＷ１）がオンでない場合、ＣＰＵ１０９は、処理をステップＳ４０１に戻す。
【００４３】
図３の処理によれば、以前に決定された顔位置がある場合、事前表示モードでは、顔位置に顔枠を表示した後、事後表示モードではそのまま、ＳＷ１がオンか否かを判定し、オンなら、以前に決定された顔位置をオートフォーカスの評価値取得位置として決定する。一方、以前に決定された顔位置がない場合は、いずれのモードでも、今回の顔位置検出処理において、最も近い距離にある被写体の中心をオートフォーカスの評価値取得位置として設定する。これによって、事前の操作及びライブビュー画面を参照しつつ、ユーザが主被写体としたい被写体位置をオートフォーカスの評価値を取得する位置として設定し易くなり、利便性が向上する。
【００４４】
次に、図３のオートフォーカス処理におけるステップＳ４０２の判定の対象となる顔位置を決定するための顔位置決定処理について説明する。
【００４５】
図４Ａ及び図４Ｂは、顔位置決定処理の手順を示すフローチャートである。この顔位置決定処理は、デジタルカメラ１００のＣＰＵ１０９が、図示省略したＲＯＭに記憶されたプログラムに従って実行する。
【００４６】
本顔位置決定処理は、上述のオートフォーカス処理と同様、ライブビューの開始に伴って開始され、画像が取得される毎に実行される。顔検知と人体検知については、処理時に取得された画像を用いて処理が行われ、移動量算出処理については、処理時に取得された画像とそれ以前の前回の処理時における画像を用いて処理が行われる。
【００４７】
図４Ａ及び図４Ｂにおいて、顔位置決定処理が開始されると、ＣＰＵ１０９は、先ず、被写体表示モードが事前表示モードであるか否かを判定する（ステップＳ１０１）。ステップＳ１０１の判定の結果、事前表示モードが設定されている（ステップＳ１０１で「ＹＥＳ」）場合、ＣＰＵ１０９は、顔検知部２００と人体検知部２０１に、最小検知サイズとして事前表示モード用の設定値を設定する（ステップＳ１０２）。最小検知サイズの設定値は画像表示モードごとに特有の設定値である。すなわち、事前表示モード用の最小検知サイズの設定値は、後述する事後表示モード用の最小検知サイズの設定値と同様、予め、デジタルカメラ１００の図示省略したＲＯＭに記憶されており、その設定値が使用される。なお、以下の処理で設定される事前表示モード用の奥行き方向の顔角度の設定値、事前表示モード用の平面方向の顔角度の設定値、及び事前表示モード用の顔の信頼度の設定値も事前表示モードに特有の設定値であり、図示省略したＲＯＭに予め記憶されている。
【００４８】
顔検知部２００と人体検知部２０１に対し、最小検知サイズを設定した後、ＣＰＵ１０９は、顔検知部２００に、奥行き方向の顔角度として事前表示モード用の設定値を設定する（ステップＳ１０３）。
【００４９】
奥行き方向の顔角度を設定した後、ＣＰＵ１０９は、顔検知部２００に、平面方向の顔角度として事前表示モード用の設定値を設定する（ステップＳ１０４）。次いで、ＣＰＵ１０９は、顔検知部２００と人体検知部２０１に、信頼度として事前表示モード用の顔の信頼度の設定値を設定する（ステップＳ１０５）。
【００５０】
次いで、ＣＰＵ１０９は、顔検知部２００に今回の画像を設定して顔の検知を開始し（ステップＳ１０６）、また、人体検知部２０１に今回の画像を設定して人体検知を開始する（ステップＳ１０７）。人体検知を開始した後、ＣＰＵ１０９は、前回決定した顔位置があるか否かを判定する（ステップＳ１０８）。ステップＳ１０８の判定の結果、前回決定した顔位置がある（ステップＳ１０８で「ＹＥＳ」）場合、ＣＰＵ１０９は、移動量算出部２０２に、前回決定した顔位置を、移動量を算出する基準位置として設定する（ステップＳ１０９）。次いで、ＣＰＵ１０９は、前回の画像と今回の画像を設定して前回の顔位置に対する今回の顔位置の移動量の算出を開始する（ステップＳ１１０）。
【００５１】
次いで、ＣＰＵ１０９は、移動量の算出が完了したか否かを判定し、算出が完了するまで待機する（ステップＳ１１１）。そして、移動量の算出が完了した（ステップＳ１１１で「ＹＥＳ」）後、ＣＰＵ１０９は、顔検知及び人体検知が完了したか否かを判定し、完了するまで待機する（ステップＳ１１２）。ステップＳ１１２の判定の結果、顔検知及び人体検知が完了した（ステップＳ１１２で「ＹＥＳ」）場合、ＣＰＵ１０９は、ユーザから顔変更の指示があったか否かを判定する（ステップＳ１１３）。そして、ステップＳ１１３の判定の結果、ユーザから顔変更の指示があった（ステップＳ１１３で「ＹＥＳ」）場合、ＣＰＵ１０９は、処理をステップＳ１１４に進める。すなわち、ＣＰＵ１０９は、ステップＳ１１０〜Ｓ１１１で取得した移動量算出結果と前回の顔位置検知結果を無効にし、顔検知結果と人体検知結果から前回の顔位置に相当する結果を削除する（ステップＳ１１４）。
【００５２】
ここで、前回の顔位置に相当する結果とは、検出画像の横サイズの６分の１以内で最も前回の顔位置に近い顔の検出結果であり、前回決定された顔位置を参照する今回の顔位置決定処理において、顔位置として決定されるべき顔の検出結果である。即ち、前回の顔の検出画像サイズが、例えば縦４８０画素×横６４０画素の時、該検出画像の中心から横サイズ６４０画素の１／６つまり１０６画素以内の距離にある今回検出された顔位置の中心の中で前回の顔位置の中心に最も近い中心に対応する顔に相当する。なお、縦方向についても同様に、４８０画素の１／６つまり８０画素以内の距離にある今回検出された顔位置の中心の中で、前回の顔位置の中心に最も近い中心に対応する顔が今回の顔位置に相当する結果になる。従って、縦横どちらかの条件を満たせばよい。
【００５３】
次いで、ＣＰＵ１０９は、顔位置を決定する（ステップＳ１１５）。すなわち、ＣＰＵ１０９は、前回の顔位置結果があれば、検出画像サイズの６分の１以内で前回の顔位置結果に最も近い位置の顔もしくは人体検知の結果があれば、その顔位置もしくはその人体検知位置を今回の顔位置として決定する。一方、検出画像サイズの６分の１以内で前回の顔位置結果に最も近い位置の顔もしくは人体検知の結果がなければ、移動量算出の結果を顔位置検知結果とする。また、ＣＰＵ１０９は、顔検知部２００、人体検知部２０１が共に顔又は人体を検知できず、さらに、移動量算出部２０２も移動量が算出できなかった場合、顔位置検知結果として適合する顔なしと決定する。また、ＣＰＵ１０９は、前回の顔位置検知結果がなければ、今回検知した顔位置のうち、最も信頼度の高い顔検知結果を顔位置に決定し、今回検知した顔検知結果がない場合は顔位置検知結果なしとする。そして、ＣＰＵ１０９は、検知結果をＲＡＭメモリ１１３に記憶させた後、処理をステップＳ１０１に戻す。
【００５４】
なお、ステップＳ１０８の判定の結果、前回決定した顔位置がない（ステップＳ１０８で「ＮＯ」）場合、ＣＰＵ１０９は、処理をステップＳ１１２へ進める。また、ステップＳ１１３の判定の結果、ユーザからの顔切換えの指示がなかった場合（ステップＳ１１３で「ＮＯ」）、ＣＰＵ１０９は、処理をステップＳ１１５へ進める。
【００５５】
一方、ステップＳ１０１の判定の結果、被写体表示モードの設定が事前表示モードでない（ステップＳ１０１で「ＮＯ」）場合、すなわち、事後表示モードである場合、ＣＰＵ１０９は、処理をステップＳ１１６へ進める。すなわち、ＣＰＵ１０９は、顔検知部２００に、最小検知サイズとして事後表示モード用の設定値を設定する（ステップＳ１１６）。顔検知部２００に設定する事後表示モード用の最小検知サイズの設定値は、予め、デジタルカメラ１００の図示省略したＲＯＭに記憶されている事後表示モードに特有の設定値であり、その設定値が使用される。このとき、事後表示モード用の最小検知サイズは、事前表示モード用の最小検知サイズよりも大きく設定されている。なお、以下の処理で設定される事後表示モード用の奥行き方向の顔角度の設定値、事後表示モード用の平面方向の顔角度の設定値、及び事後表示モード用の顔の信頼度の設定値も事後表示モードに特有の設定値であり、図示省略したＲＯＭに予め記憶されている。
【００５６】
顔検知部２００に対し、最小検知サイズを設定した後、ＣＰＵ１０９は、顔検知部２００に、奥行き方向の顔角度として事後表示モード用の設定値を設定する（ステップＳ１１７）。このとき、事後表示モード用の奥行き方向の顔角度範囲は、事前表示モード用の奥行き方向の顔角度範囲よりも狭く規定されている。
【００５７】
奥行き方向の顔角度を設定した後、ＣＰＵ１０９は、顔検知部２００に、平面方向の顔角度として事後表示モード用の設定値を設定する（ステップＳ１１８）。このとき、事後表示モード用の平面方向の顔角度範囲は、事前表示モード用の平面方向の顔角度範囲よりも狭く規定されている。次いで、ＣＰＵ１０９は、顔検知部２００に、信頼度として事後表示モード用の顔の信頼度の設定値を設定する（ステップＳ１１９）。このとき、事後表示モード用の信頼度の設定値は、事前表示モード用の信頼度の設定値よりも高く規定されている。
【００５８】
次いで、ＣＰＵ１０９は、顔検知部２００に今回の画像を設定して顔の検知を開始する（ステップＳ１２０）。顔検知を開始した後、ＣＰＵ１０９は、顔検知が完了したか否かを判定し、完了するまで待機する（ステップＳ１２１）。ステップＳ１２１の判定の結果、顔検知が完了した（ステップＳ１２１で「ＹＥＳ」）場合、ＣＰＵ１０９は、今回検知した顔位置のうち、最も信頼度の高い顔検知結果を顔位置に決定し、顔検知結果がない場合は顔位置結果なしとする（ステップＳ１２２）。そして、ＣＰＵ１０９は、検知結果をＲＡＭメモリ１１３に記憶させた後、処理をステップＳ１０１に戻す。
【００５９】
本顔位置決定処理において、顔位置を決定するための判定基準の設定値は、予め、被写体表示モードに従ってデジタルカメラ１００の図示省略したＲＯＭに記憶されており、この設定値が使用される。このとき、顔検知と人体検知における事後表示モードの最小検知サイズは、事前表示モード用の最小検知サイズよりも大きくなるように規定されている。また、事後表示モード用の顔検知の奥行き方向及び画像面方向の顔角度範囲が、それぞれ事前表示モード用の顔角度範囲よりも狭くなるように規定されている。具体的には、事前表示モードの奥行き方向の顔角度が、左９０度３００、左４５度３０１、正面３０２、右４５度３０３、右９０度３０４のすべてである場合、事後表示モードでは、例えば、左４５度３０１、正面３０２、右４５度３０３のみが規定されている。一方、事前表示モードの平面方向の顔角度が、０度３１０、９０度３１１、１８０度３１２、２７０度３１３のすべてである場合、事後表示モードでは、例えば０度３１０のみが規定されている。また、事後表示モード用の信頼度を、事前表示モード用の信頼度と比べて高く規定し、事後表示モードでは事前表示モードに比べてより信頼度の高い結果のみが検出されるように設定されている。
【００６０】
図４Ａ及び図４Ｂの処理によれば、事後表示モードである場合の顔位置を決定するための判定基準設定を、事前表示モードにおける顔位置を決定するための判定基準設定よりも厳しくする。これによって、ユーザによるフォーカス対象の変更が困難な事後表示モードにおいて、ユーザが意図する被写体である顔がフォーカス対象として設定され易くなる。
【００６１】
一方、ユーザによるフォーカス対象の変更が可能な事前表示モードにおいては、比較的顔である可能性が低い場合であっても顔位置をフォーカス位置として利用する。この場合、ユーザが意図しない顔位置がフォーカス対象に決定される可能性はあるが、かかる場合、ユーザは顔位置の設定を変更することができる。これによって、ユーザ所望の被写体を、フォーカス対象の被写体として設定し易くなり、しかもライブビュー中のオートフォーカス処理を迅速に行うことができるようになる。
【００６２】
本実施の形態において、被写体表示モードは、図示省略した被写体表示モード設定部を用いて予めユーザによって、デジタルカメラ１００に設定される。
【００６３】
また、本実施の形態において、移動量算出部２０２の算出結果は、事前表示モードにおいては顔を検知する際の判定基準として採用されるが、事後表示モードにおいては顔を検知する際の判定基準として採用されていない。事後表示モードにおいては、事前表示モードに比べて判定基準がより厳しく設定されるので、前回決定された顔位置のデータを参照しないことによるものである。
【００６４】
また、本実施形態では、顔検知部２００、人体検知部２０１、および、移動量算出部２０２の全てを用いて顔を検知する例をあげて説明を行ったが、これに限られるものではない。事後表示モードにおいて、事前表示モードに比べて判定基準を厳しく設定するのであれば、顔検知部２００、人体検知部２０１、および、移動量算出部２０２の一部のみを用いるようにしてもよい。また、オートフォーカスを行う対象として顔を検知する例をあげて行ったが、事前表示モードに比べて判定基準を厳しく設定するのであれば、顔以外の被写体を検知する構成であってもよい。
【００６５】
以下、第２の実施の形態について説明する。
【００６６】
本実施の形態では、オートフォーカス処理は、第１の実施の形態における図３の処理と同様に実行され、第１の実施の形態とは顔位置決定処理のみが異なる。
【００６７】
図５Ａ及び図５Ｂは、第２の実施の形態における顔位置決定処理の手順を示すフローチャートである。この顔位置決定処理は、デジタルカメラ１００のＣＰＵ１０９が、図示省略したＲＯＭに記憶されたプログラムに従って実行する。
【００６８】
本実施の形態において、オートフォーカス処理については、上記実施の形態と同様であるので、説明を省略する。本顔位置決定処理は、上記実施の形態と同様、ライブビューが開始されると開始され、ライブビュー中に画像が取得される毎に実行される。
【００６９】
図５Ａ及び図５Ｂにおいて、顔位置決定処理が開始されると、ＣＰＵ１０９は、先ず、顔検知部２００と人体検知部２０１に対し、最小検知サイズを設定する（ステップＳ５０１）。このとき、最小検知サイズとして、より小さい顔サイズまで検知対象とする事前表示モード用の設定値が設定される。最小検知サイズの設定値は、被写体表示モードによって異なる表示モード特有の設定値であり、事前表示モードの最小検知サイズの設定値は、予め、デジタルカメラ１００のＲＯＭに記憶されているので、この設定値が適用される。また、以下の処理で設定される事前表示モード用の奥行き方向の顔角度の設定値、事前表示モード用の平面方向の顔角度の設定値、及び事前表示モード用の顔の信頼度の設定値も事前表示モードに特有の設定値であり、図示省略したＲＯＭに予め記憶されている。なお、事後表示モードにおける各設定値も予め、図示省略したＲＯＭに記憶されている。
【００７０】
顔検知部２００と人体検知部２０１に対し、最小検知サイズを設定した後、ＣＰＵ１０９は、顔検知部２００に対し、奥行き方向の顔角度を設定する（ステップＳ５０２）。このとき、奥行き方向の顔角度としては、事後表示モードと比較して検出角度範囲がより広い事前表示モード用の角度範囲が設定される。
【００７１】
奥行き方向の顔角度を設定した後、ＣＰＵ１０９は、顔検知部２００に対し、平面方向の顔角度を設定する（ステップＳ５０３）。このとき、平面方向の顔角度としては、事後表示モードと比較して検出角度範囲がより広い事前表示モード用の角度が設定される。次いで、ＣＰＵ１０９は、顔検知部２００に対して信頼度の設定を行う（ステップＳ５０４）。このとき、信頼度は、事後表示モードと比較してより信頼度が低い事前表示モード用の信頼度の設定値が設定される。
【００７２】
信頼度を設定した後、ＣＰＵ１０９は、顔検知部２００に今回の画像を設定し、顔の検知を開始する（ステップＳ５０５）。次いで、ＣＰＵ１０９は、人体検知部２０１に今回の画像を設定し、人体検知を開始する（ステップＳ５０６）。人体検知を開始した後、ＣＰＵ１０９は、前回決定した顔位置があるか否かを判定する（ステップＳ５０７）。ステップＳ５０７の判定の結果、前回決定した顔位置がある（ステップＳ５０７で「ＹＥＳ」）場合、ＣＰＵ１０９は、移動量算出部２０２に対し、前回決定した顔位置が移動量を算出する基準位置となるように設定する（ステップＳ５０８）。次いで、ＣＰＵ１０９は、前回の画像と今回の画像を設定して移動量の算出を開始する（ステップＳ５０９）。
【００７３】
次いで、ＣＰＵ１０９は、移動量の算出が完了したか否かを判定し、算出が完了するまで待機する（ステップＳ５１０）。そして、移動量の算出が完了した（ステップＳ５１０で「ＹＥＳ」）後、ＣＰＵ１０９は、顔検知と人体検知が完了したか否かを判定し、完了するまで待機する（ステップＳ５１１）。ステップＳ５１１の判定の結果、顔検知と人体検知が完了した（ステップＳ５１１で「ＹＥＳ」）後、ＣＰＵ１０９は、ユーザから顔変更の指示があったか否かを判定する（ステップＳ５１２）。そして、ステップＳ５１２の判定の結果、ユーザから顔変更の指示があった（ステップＳ５１２で「ＹＥＳ」）場合、ＣＰＵ１０９は、処理をステップＳ５１３に進める。すなわち、ＣＰＵ１０９は、ステップ５０９〜Ｓ５１０で取得した移動量算出結果と前回の顔位置検知結果を無効にし、顔検出結果と人体検出結果から前回の顔位置に相当する結果を除外する（ステップＳ５１３）。ここで、前回の顔位置に相当する結果とは、検出画像の横サイズの６分の１以内の最も前回の顔位置に近い顔とする。
【００７４】
次いで、ＣＰＵ１０９は、被写体表示モードとして事前表示モードが設定されているか否か判定する（ステップＳ５１４）。ステップＳ５１４の判定の結果、事前表示モードが設定されている（ステップＳ５１４で「ＹＥＳ」）場合、ＣＰＵ１０９は、顔位置を決定する（ステップＳ５１５）。すなわち、ＣＰＵ１０９は、前回の顔位置結果があれば、検出画像サイズの６分の１以内で前回の顔位置結果に最も近い位置の顔もしくは人体検知の結果があれば、その顔位置又は人体検知位置を今回の顔位置として決定する。一方、検出画像サイズの６分の１以内で前回の顔位置結果に最も近い位置の顔もしくは人体検知の結果がなければ、移動量算出の結果を顔位置検知結果とする。また、ＣＰＵ１０９は、顔検知部２００、人体検知部２０１が共に検知できず、さらに、移動量算出部２０２も移動量が算出できなかった場合、顔位置検知結果として適合する顔なしと決定する。また、ＣＰＵ１０９は、前回の顔位置検知結果がなければ、今回検知した顔位置のうち最も信頼度の高い顔検知結果を顔位置として決定し、今回検知した顔検知結果がない場合は顔位置検知結果なしとする。そして、ＣＰＵ１０９は、検知結果を、ＲＡＭメモリ１１３に記憶させた後、処理をステップＳ１０１に戻す。
【００７５】
なお、ステップＳ５０７の判定の結果、前回決定した顔位置がない（ステップＳ５０７で「ＮＯ」）場合、ＣＰＵ１０９は、処理をステップＳ５１１へ進める。また、ステップＳ５１２の判定の結果、ユーザからの顔切換えの指示がなかった場合（ステップＳ５１２で「ＮＯ」）、ＣＰＵ１０９は、処理をステップＳ５１４へ進める。
【００７６】
一方、ステップＳ５１４の判定の結果、被写体表示モードが事前表示モードでなく、事後表示モードである（ステップＳ５１４で「ＮＯ」）場合、ＣＰＵ１０９は、処理をステップＳ５１６へ進める。すなわち、ＣＰＵ１０９は、顔検知部２００の検知結果から事後表示モードでは顔として認められないサイズと、顔として認められない信頼度の顔を検知結果から削除する（ステップＳ５１６）。ここで、本処理においては、上述の第１の実施の形態と同様、事後表示モードよりも事前表示モードの顔検知の方が小さい顔を検知対象としている。また、信頼度についても、事後表示モードより事前表示モードの方が信頼度の低い顔までも検知対象としている。従って、これらの検知結果を判定対象から除外してより精度の高い検知を行う。
【００７７】
次いで、ＣＰＵ１０９は、最も信頼度の高い顔検知結果を顔位置として決定し、顔検知結果がない場合は顔位置なしとする（ステップＳ５１７）。そして、ＣＰＵ１０９は、決定した顔位置をＲＡＭメモリ１１３に記憶させた後、処理をステップＳ５０１に戻す。
【００７８】
図５Ａ及び図５Ｂの処理によれば、顔検知部２００、人体検知部２０１、移動量算出部２０２へ設定する判定基準として、より検出範囲の広い事前表示モード用の判定基準を共通で設定する。そして、事後表示モードの場合のみ、検出後に検出範囲外の結果を除外する処理を追加している。これによって、被写体表示モードの相違によって判定基準をパラメータ毎に変更させる制御が不要となる。従って、上記第１の実施の形態よりも設計の複雑度、操作の煩雑度を低減することができ、しかも、同等の効果を得ることができる。
【００７９】
以上、本発明の好ましい実施の形態について説明したが、本発明はこれらの実施の形態に限定されず、その趣旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００８０】
１００  デジタルカメラ
１０１  フォーカシングレンズ
１０９  ＣＰＵ
１１１  不揮発性メモリ
１１３  ＲＡＭメモリ
１１４  表示制御装置
１１５  ＴＦＴ
１１７  第１レリーズスイッチ
１１８  第２レリーズスイッチ
２００  顔検知部
２０１  人体検知部
２０２  移動量算出部
２０３  オートフォーカス評価値算出部
【図１】
0006418827.tif 000002
【図２】
0006418827.tif 000003
【図３】
0006418827.tif 000004
【図４Ａ】
0006418827.tif 000005
【図４Ｂ】
0006418827.tif 000006
【図５Ａ】
0006418827.tif 000007
【図５Ｂ】
0006418827.tif 000008