(57)【要約】【課題】撮像範囲から主顔を選択する際に、撮像範囲に存在する被写体の状態の変化を尊重しつつも、極端に頻繁に主顔が入れ替わることを抑制する。【解決手段】デジタルカメラ２００は、ＣＣＤ２０１が取得した画像信号から得られる画像データから、主被写体となる人物の顔を選択する。選択処理に際しては、あるタイミングにおける複数の顔それぞれの状態に基づいて算出される重みに加えて、複数の顔それぞれと、それ以前のタイミングにおける主顔との距離に基づいて算出される重み（第４の重み）も利用する。第４の重みは、それ以前のタイミングにおける主顔との距離が近い顔ほど大きくなるように算出される。【選択図】図４
2008005438.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得する撮像手段と、
前記撮像手段が取得した画像データから、人物の顔を検出する顔検出手段と、
前記顔検出手段が検出した人物の顔から、主被写体となる顔を選択する選択手段とを有し、
前記選択手段が、
前記選択手段が過去に選択した主被写体となる顔についての情報が存在する場合には、当該過去の主被写体となる顔についての情報と、前記顔検出手段が検出した人物の顔についての情報から前記画像データにおける主被写体の顔を選択する第１のモードと、
前記選択手段が過去に選択した主被写体となる顔についての情報が存在しない場合には、前記顔検出手段が検出した人物の顔についての情報から前記画像データにおける主被写体となる顔を選択する第２のモードとを有することを特徴とする撮像装置。
【請求項２】
前記選択手段が過去に選択した主被写体となる顔についての情報と、前記顔検出手段が検出した人物の顔についての情報とが、顔の位置についての情報を含み、
前記選択手段が、前記第１のモードにおける選択のために、前記選択手段が過去に選択した主被写体となる顔と前記顔検出手段が検出した人物の顔との距離を用いることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記顔検出手段が検出した人物の顔についての情報が、顔の確からしさを示す信頼度、顔のサイズ、及び、顔の位置を含むことを特徴とする請求項１又は２に記載の撮像装置。
【請求項４】
前記選択手段が、前記第１のモードにおいて、前記選択手段が過去に選択した主被写体となる顔が予め定められた時間よりも前に選択されたものである場合、前記第２のモードで主被写体となる顔を選択することを特徴とする請求項１乃至３のいずれか１項に記載の撮像装置。
【請求項５】
前記選択手段が前記第２のモードにおいて選択した主被写体となる顔についての情報を記憶する記憶手段を更に備え、
前記選択手段が、前記第１のモードにおいて、前記顔検出手段が検出した人物の顔についての情報のうち、前記記憶手段が記憶している情報と予め定められた関係を満たすものが存在しない場合、前記第２のモードで主被写体となる顔を選択することを特徴とする請求項１乃至４のいずれか１項に記載の撮像装置。
【請求項６】
前記記憶手段が記憶している情報と、前記顔検出手段が検出した人物の顔についての情報とが、顔の位置及び顔のサイズのうち少なくとも一方についての情報を含み、
前記予め定められた関係とは、前記顔検出手段が検出した人物の顔の位置が前記記憶手段が記憶している顔の位置から予め定められた範囲内に存在すること、及び、前記顔検出手段が検出した人物の顔のサイズと前記記憶手段が記憶している顔のサイズとの差が予め定められた範囲内であることのうち、少なくとも一方を含むことを特徴とする請求項５に記載の撮像装置。
【請求項７】
画像データを取得する撮像工程と、
前記撮像工程で取得した画像データから、人物の顔を検出する顔検出工程と、
前記顔検出工程で検出した人物の顔から、主被写体となる顔を選択する選択工程とを有し、
前記選択工程が、
前記選択工程で過去に選択した主被写体となる顔についての情報が存在する場合には、当該過去の主被写体となる顔についての情報と、前記顔検出工程で検出した人物の顔についての情報から前記画像データにおける主被写体の顔を選択する第１のモードと、
前記選択工程で過去に選択した主被写体となる顔についての情報が存在しない場合には、前記顔検出工程で検出した人物の顔についての情報から前記画像データにおける主被写体となる顔を選択する第２のモードとを有することを特徴とする撮像方法。
【請求項８】
請求項７に記載の撮像方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主被写体となる人物の顔を選択する撮像装置及び撮像方法に関する。
【背景技術】
【０００２】
被写体に自動的に焦点を合わせるＡＦ（オートフォーカス）機能や露出を自動的に決定するＡＥ（オートエクスポージャ）機能などを備える撮像装置（例えば、デジタルカメラ）が知られている。また、人物を被写体とする場合に、人物に合わせたＡＦやＡＥなど（以下、「ＡＦ等」と呼ぶ）をより正確に行うために、撮像範囲から人物や人物の顔を検出する機能を備える撮像装置も知られている。更に、撮像範囲に複数の人物が存在する場合でもより正確なＡＦ等を行うために、複数の人物から主被写体となる人物や人物の顔を選択する機能を備える撮像装置も知られている（特許文献１乃至４参照）。
【０００３】
特許文献１乃至４に開示される撮像装置は、撮像範囲に存在する被写体の状態に基づいて、主被写体となる人物や人物の顔を選択していた。被写体の状態とは、例えば、撮像装置から被写体までの距離、撮像範囲における被写体の面積、撮像範囲における被写体の位置、被写体間の距離などを表す種々のパラメータを意味する。
【特許文献１】特開平１１−１４６４０５号公報
【特許文献２】特開２００１−２１５４０３号公報
【特許文献３】特開２００４−３１７６９９号公報
【特許文献４】特開２００２−５１２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の主被写体となる人物や人物の顔を選択する技術によれば、ある特定の時刻における被写体の状態のみに基づいて選択処理を行うため、以下に示す問題が発生しうる。
【０００５】
図１は、時刻（タイミング）ｔ＝１〜４において撮像装置が検出した人物の顔及び主被写体となる人物の顔（以下、「主顔」と呼ぶ）を示す図である。実線の枠で示された部分（例えば、図１（ａ）左）が主顔であり、点線の枠で示された部分（例えば、図１（ａ）右）がそれ以外の顔である。図１（ａ）〜（ｄ）に示すように、２つの顔の状態が略同じである場合、僅かな状態の変化によって主顔が頻繁に入れ替わる。
【０００６】
表示装置２１３によるＥＶＦ（電子ビューファインダ）の表示が図１（ａ）〜（ｄ）に示すように頻繁に変化することは、ユーザにとって煩わしい。また、主顔に合わせてＡＦ等を行う場合、主顔が頻繁に入れ替わると、それに合わせてＡＦレンズ等も頻繁に駆動され、安定性、ひいては、精度が損なわれる場合もある。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、撮像範囲から主顔を選択する際に、撮像範囲に存在する被写体の状態の変化を尊重しつつも、極端に頻繁に主顔が入れ替わることを抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の撮像装置は、画像データを取得する撮像手段と、前記撮像手段が取得した画像データから、人物の顔を検出する顔検出手段と、前記顔検出手段が検出した人物の顔から、主被写体となる顔を選択する選択手段とを有し、前記選択手段が、前記選択手段が過去に選択した主被写体となる顔についての情報が存在する場合には、当該過去の主被写体となる顔についての情報と、前記顔検出手段が検出した人物の顔についての情報から前記画像データにおける主被写体の顔を選択する第１のモードと、前記選択手段が過去に選択した主被写体となる顔についての情報が存在しない場合には、前記顔検出手段が検出した人物の顔についての情報から前記画像データにおける主被写体となる顔を選択する第２のモードとを有することを特徴とする。
【０００９】
また、本発明の撮像方法は、画像データを取得する撮像工程と、前記撮像工程で取得した画像データから、人物の顔を検出する顔検出工程と、前記顔検出工程で検出した人物の顔から、主被写体となる顔を選択する選択工程とを有し、前記選択工程が、前記選択工程で過去に選択した主被写体となる顔についての情報が存在する場合には、当該過去の主被写体となる顔についての情報と、前記顔検出工程で検出した人物の顔についての情報から前記画像データにおける主被写体の顔を選択する第１のモードと、前記選択工程で過去に選択した主被写体となる顔についての情報が存在しない場合には、前記顔検出工程で検出した人物の顔についての情報から前記画像データにおける主被写体となる顔を選択する第２のモードとを有することを特徴とする。
【００１０】
尚、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【００１１】
以上の構成により、本発明によれば、撮像範囲から主顔を選択する際に、撮像範囲に存在する被写体の状態の変化を尊重しつつも、極端に頻繁に主顔が入れ替わることを抑制することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態を説明する。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。
【００１３】
尚、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１４】
［第１の実施形態］
＜撮像装置の構成及び動作＞
図２は、実施形態に係る撮像装置の一例である、デジタルカメラ２００の構成例を示すブロック図である。まず、電源が投入された後、シャッターボタン（不図示）が押下されていない状態でのデジタルカメラ２００の動作を説明する。
【００１５】
デジタルカメラ２００は、ＣＣＤ２０１を種々のモード（後述）にて駆動し、例えば１／３０秒毎に光電変換により画像信号を取得する。取得された画像信号は、ＯＢ部２０２に出力され、以降のブロックで順次信号処理が施される。本実施形態におけるＣＣＤ２０１は、図３（ａ）に示す通常のスチル読み出し（全画素読み出し）モードで動作できる。また、ＥＶＦ（電子ビューファインダ）用あるいは動画用に、図３（ｂ）に示すムービー読み出し（垂直方向２／８読み出し）等のモード（加算・間引きモード）で動作できる。ＥＶＦ表示用には、電荷の読み出しを高速にする必要があり、一般的に、図３（ｂ）に示す、加算・間引きモードでＣＣＤ２０１が駆動される。加算・間引きの種類は、図３（ｂ）に示す以外にも色々あるが、本発明の主旨ではないため説明は省略する。
【００１６】
ＥＶＦ用に駆動されたＣＣＤ２０１が取得した画像信号は、ＯＢ（オプチカルブラック）部２０２にて黒引きが実施される。そして、ＷＢ（ホワイトバランス）部２０３においてホワイトバランスが調整される。その後、色変換ＭＴＸ２０６にてＣｒＣｂ色差信号に変換される。そして、ＬＰＦ（ローパスフィルタ）２０７で帯域が制限される。そして、ＣＳＵＰ回路２０８にて飽和部における色差信号が抑圧される。一方、ホワイトバランス調整後の画像信号は、輝度信号生成回路２１４に送られ輝度信号が作成される。その後、エッジ強調回路２１５にて輪郭補正が実施される。ＣＳＵＰ回路２０８における抑圧処理後の色差信号とエッジ強調された輝度信号は、ＲＧＢ変換回路２０９にてＲＧＢ信号に変換される。そして、ガンマ補正回路２１０にてガンマ補正が施される。その後、色輝度変換回路２１１にてＹＵＶ信号に変換され、リサイズ回路２２３にてＥＶＦ表示用の画像サイズ、例えば３２０ピクセル×２４０ピクセルの画像サイズにリサイズされ、表示装置２１３に転送される。
【００１７】
一方、リサイズされたＹＵＶ信号は、顔検出モジュール（ＶＢＰＦ部２１７、目検出部２１８、非顔フィルタパターン認識部２１９）にも転送される。顔検出モジュールでは、定期的に、リサイズされたＹＵＶ信号を用いて顔検出処理を行う。そして、検出した顔情報（顔座標値、目座標値、信頼度情報など。詳細は後述。）を顔レジスタ２２４に書き込む。ここで、顔検出モジュールによる検出処理の周期と表示装置２１３によるＥＶＦの更新周期は必ずしも一致せず、それぞれ独立に設定できる。尚、顔の検出方法は、本発明の主眼点ではないため詳細な説明は省略する。
【００１８】
顔検出モジュールは、所定の画像処理により、画像データから人物の顔を検出することができる。例えば、瞳の色が黒色や茶色などの一定の色であり、かつ、一定の大きさであることを利用して、目が２つあるか否かを判断する。そして、検出された２つの目の間隔が一般的な顔における２つの目の間隔に近いか否かを判断する。更に、顔の色が肌色や黒色などの一定の色であることを利用して、一般的な顔の面積に近い面積の肌色領域が画像データに存在するか否かを判断してもよい。
【００１９】
次に、シャッターボタン（不図示）が半押しされた後のデジタルカメラ２００の動作を説明する。
【００２０】
ユーザによりシャッターボタン（不図示）が半押しされると、システムコントローラ２２０は顔レジスタ２２４より、その時点で最新の顔情報を読み込む。ここで、検出された顔が２つ以上ある場合には、その中から主被写体となる顔（主顔）を選択する主顔選択処理を実施する。主顔選択処理の詳細は後述する。尚、主顔選択処理は、シャッターボタン（不図示）が半押しされた時ではなく、デジタルカメラ２００に電源が投入された時点で開始されてもよい。
【００２１】
システムコントローラ２２０は、主顔選択処理で決定された主顔情報を用いて、ＡＥ／ＥＦ制御部２２１及びＡＦ制御部２２２にＡＦ用測距枠及びＡＥで使用する測光重みを設定する。そして、ＡＦ動作及びＡＥ動作を行い、完了したら表示装置２１３等を介してユーザにその旨を通知する。ＡＦ及びＡＥ動作の具体的な処理内容は本発明の主眼点ではないため説明は省略する。
【００２２】
ここで、シャッターボタンが押下される前も、半押しされた後も、ＣＣＤ２０１は所定のタイミングで連続的に画像信号を取得し、表示装置２１３に表示したり主顔選択処理に使用したりする画像データを取得していることに注意されたい。
【００２３】
＜主顔選択処理＞
図４は、第１の実施形態に係る、デジタルカメラ２００による主顔選択処理の流れを示すフローチャートである。本フローチャートの各ステップの処理は、例えば、システムコントローラ２２０が不図示のＲＯＭに格納されているプログラムを実行することにより実現可能である。以下、特に断らなければ、システムコントローラ２２０が各ステップの処理を行うものとする。
【００２４】
（ステップＳ４０１）
主顔選択処理が行われた回数をカウントする変数カウンターが０に初期化される。
【００２５】
（ステップＳ４０２）
所定のタイミングｔにおける、顔検出結果が取得される。顔検出結果は、ＣＣＤ２０１が取得した画像信号がその後リサイズ部２２３によってリサイズされて得られる画像データに存在する顔の情報である。
【００２６】
図５は、顔情報の一例を示す図である。顔情報として、検出された顔の中心座標（ｘ、ｙ）、顔を正方形とした場合の一辺の長さを示す顔サイズｓｉｚｅ、検出された顔が顔である確からしさを示す信頼度値が取得される。
【００２７】
顔サイズは、例えば、顔の大部分が肌色であることを利用して、所定のサイズの正方形に含まれる肌色領域の割合が所定の値となるようなサイズとすることができる。
【００２８】
信頼度は、例えば、瞳の色が黒であることを利用して、目が２つあるか否か、２つの目の距離はどれくらいか、２つの目の間に鼻が存在するか否かなどに基づき決定される。本実施形態では、信頼度は、１乃至１０の１０段階で表現され、１が最も顔の確率が高いことを示す。
【００２９】
（ステップＳ４０３）
検出された顔がひとつである場合はステップＳ４１７に進み、Ｃｏｕｎｔｅｒ＝０とする。そして、ステップＳ４０２へ戻り、同様の処理を繰り返す。一方、検出された顔が複数ある場合には、ステップＳ４０４に進む。尚、ステップＳ４１７においては、Ｃｏｕｎｔｅｒの値を１以上とし、検出された１つの顔を主顔として顔レジスタ２２４に主顔の顔情報を格納してもよい。
【００３０】
（ステップＳ４０４）
Ｃｏｕｎｔｅｒ＝０のとき、ステップＳ４０５に進み、そうでない場合はステップＳ４０９に進む。
【００３１】
（ステップＳ４０５）
ステップＳ４０５乃至ステップＳ４０８における計算処理は、ステップＳ１０２において読み込まれた全ての顔情報（即ち、検出された全ての顔の情報）に対して行われる。
【００３２】
まず、検出された顔の信頼度と、図６に示す信頼度−重み特性グラフを用いて、第１の重みを算出する。図６は、入力（ｘ軸）を検出された顔の信頼度、出力（ｙ軸）を第１の重みとしたグラフである。本実施形態では、信頼度が３までは第１の重みを１とし、信頼度５において第１の重みが０となるように信頼度３から５までを直線で結び、信頼度が５以上の場合は第１の重みが０とする。
【００３３】
（ステップＳ４０６）
検出された顔のサイズと、図７に示す顔サイズ−重み特性グラフを用いて、第２の重みを算出する。図７は、入力（ｘ軸）を検出された顔のサイズ、出力（ｙ軸）を第２の重みとしたグラフである。本実施形態では、顔サイズが０（単位は例えばピクセル。以下同様。）のときに重みを０、顔サイズが２０のとき重みが０．２になるよう顔サイズ０から２０までを直線で結ぶ。更に、顔サイズが３０のときに重みが１になるよう顔サイズ２０から３０までを直線で結び、顔サイズ３０以上は重みを１．０とする。
【００３４】
（ステップＳ４０７）
検出された顔において、図５に示すような、検出された顔の中心座標値と例えば画面の中央座標値との距離情報ｄｉｓｔを算出し、その距離情報ｄｉｓｔと図８に示す距離−重み特性グラフを用いて、第３の重みを算出する。本実施形態では、顔検出対象の画像データは表示装置２１３のＥＶＦ表示用画像データであるためサイズが３２０ピクセル×２４０ピクセルである。そのため、中心座標（１６０，１２０）からの距離を三平方の定理を利用して算出する。そして、図８のグラフを利用して第３の重みを求める。本実施形態では、距離が１０までは重みを１．０、距離８０になると重みが０になるよう距離１０から８０までを直線で結び、距離８０以上は重みが０となる。
【００３５】
（ステップＳ４０８）
ステップＳ４０５乃至Ｓ４０７で算出した第１乃至第３の重みを乗算し、最終重みを算出し、ステップＳ４１５に進む。尚、最終重みの算出は、乗算に限られるものではなく、例えば、第１乃至第３の重みの総和によって求められてもよい。
【００３６】
（ステップＳ４０９）
ステップＳ４０４からＳ４０９へ進むのは、Ｃｏｕｎｔｅｒの値が０ではない時、即ち、前回の主顔選択処理において主顔が選択されており、主顔の情報が顔レジスタ２２４に格納されている時である。ステップＳ４０９では、前回選択された主顔の情報を顔レジスタ２２４から取得し、ステップＳ４０２において取得した顔情報それぞれとの距離を算出する。即ち、図９に示すように、タイミングｔにおいて検出された複数の顔全てについて、前回のタイミングｔ−１において選択された主顔（以下、「前回主顔」と呼ぶ）の座標値との距離ｄｉｓｔ＿ｐｒｅＭａｉｎＦａｃｅを以下の式１を用いて算出する。
2008005438.tif 000003
【００３７】
（ステップＳ４１０）
ステップＳ４０９において算出された前回主顔との距離を用いて、第４の重みを算出する。例えば、前回主顔と最も距離が短い顔を、タイミングｔにおける主顔候補とし、主顔候補の補正重みとして予め設定された値ｋＨｏｓｅｉＷｅｉｇｈｔＭａｉｎＦａｃｅ（例えば１．５）を第４の重みとして割り当てる。更に、主顔候補以外の検出された顔に対しては、第４の重みとして、ｋＨｏｓｅｉＷｅｉｇｈｔＯｔｈｅｒＦａｃｅ（＝１．０）を割り当てる。また、前回主顔との距離が最短である顔が複数存在する場合には、距離が最短である顔全てを主顔候補とし、第４の重みとしてｋＨｏｓｅｉＷｅｉｇｈｔＭａｉｎＦａｃｅを割り当てる。
【００３８】
また、図１０のような、式１で算出した前回主顔からの距離ｄｉｓｔ＿ｐｒｅＭａｉｎＦａｃｅから第４の重みを決定する、前回距離−重み特性グラフを用いて、第４の重みを算出してもよい。
【００３９】
（ステップＳ４１１乃至Ｓ４１３）
ここでは、ステップＳ４０５乃至Ｓ４０７における処理と同じ処理が行われる。
【００４０】
（ステップＳ４１４）
式２に従って、ステップＳ４１０で算出された第４の重みとステップＳ４１１からＳ４１３で算出された第１から第３の重みを乗算し、検出された顔それぞれの最終重みを算出する。尚、最終重みの算出は、乗算に限られるものではなく、例えば、第１乃至第４の重みの総和によって求められてもよい。
2008005438.tif 000004
【００４１】
（ステップＳ４１５）
ステップＳ４０８又はＳ４１４において算出された、検出された複数の顔それぞれに関する最終重みに従い、最も重みの大きい顔を、タイミングｔにおける主顔として確定（選択）する。そして、選択した主顔の顔情報を顔レジスタ２２４に格納する。
【００４２】
（ステップＳ４１６）
Ｃｏｕｎｔｅｒの値を１増やし（Ｃｏｕｎｔｅｒ＝Ｃｏｕｎｔｅｒ＋１）、ステップＳ１０２に戻って同様の処理を繰り返す。
【００４３】
ここで、図４には明示していないが、前回主顔が選択された時から所定の時間が経過した場合、Ｃｏｕｎｔｅｒの値を０にリセットするようにデジタルカメラ２００を構成してもよい。即ち、デジタルカメラ２００は、原則として、前回主顔を利用して主顔を選択するが、前回主顔が時間的に古すぎる場合、前回主顔とは無関係に、ステップＳ４０５乃至Ｓ４０８及びＳ４１５に従って主顔を選択してもよい。
【００４４】
＜主顔選択処理の具体例＞
以上、図４を参照して、主顔選択処理の流れを説明した。ここでは、図１１のような連続するシーン（タイミングｔ＝１から４）にて２つの顔（「顔１」「顔２」と呼ぶ）が検出された場合の主顔選択処理の具体例を、各タイミングにおける顔情報を示した図１２と、上述のフローチャート（図４）とを用いて説明する。また、図１３は、各タイミングにおける各々の顔に対する第１〜第４の重み、最終重み、前回主顔との距離、主顔選択結果を示す図である。
【００４５】
（ｔ＝１における主顔選択）
図４のステップＳ１０１からＳ４０２に沿って動作し、ステップＳ４０３にて検出された顔が２個のためステップＳ４０４に進み、Ｃｏｕｎｔｅｒ＝０のためステップＳ４０５に進む。
【００４６】
ステップＳ４０５において、検出された各顔における信頼度による第１の重み（Ｗｅｉｇｈｔ１）が算出される。本実施形態では、顔１、２共に信頼度が１のため、Ｗｅｉｇｈｔ１は１となる。
【００４７】
ステップＳ４０６において、顔のサイズより第２の重み（Ｗｅｉｇｈｔ２）が算出され、図１３に示すようになる。
【００４８】
ステップＳ４０７において、中心からの距離により第３の重み（Ｗｅｉｇｈｔ３）が算出され、図１３に示すようになる。
【００４９】
ステップＳ４０８において、重み１から３の値を乗算することで、それぞれの顔における最終重み（Ｔｏｔａｌ＿Ｗｅｉｇｈｔ）が算出される。
【００５０】
ステップＳ４１５において、顔１の最終重みが顔２の最終重みよりも大きいため、主顔として顔１が選択される。図１３において、カラム「主顔」に１の値が入っているものが主顔であることを示す。
【００５１】
ステップＳ４１６において、Ｃｏｕｎｔｅｒの値を１増やす。
【００５２】
（ｔ＝２における主顔選択）
ステップＳ４０２において顔情報が読み込まれ、ステップＳ４０３、Ｓ４０４を通り、ステップＳ４０９へと処理が進む。
【００５３】
ステップＳ４０９において、ｔ＝２において検出された顔の中心座標と、ｔ＝１のときの主顔（前回主顔で、ここでは顔１）の中心座標の距離を算出する。そして、距離が最も近い顔をｔ＝２における主顔候補とする。図１３より、顔１と前回主顔の距離が１０、顔２と前回主顔の距離が１０５であり、顔１が主顔候補とされる。
【００５４】
ステップＳ４１０において、ステップＳ４０９の結果に基づき、前回主顔と最も距離が近い顔（顔１）の第４の重みを例えば１．５、それ以外を１．０に設定する。
【００５５】
ステップＳ４１１からＳ４１３において、それぞれの顔に対する第１乃至第３の重みが算出される。
【００５６】
ステップＳ１４において、第１乃至第４の重みを用いてｔ＝２における最終重みが算出される。図１３より、顔１の最終重みは０．４２、顔２の最終重みは０．３５となる。
【００５７】
従って、ステップＳ４１５において、主顔として顔１が選択される。
【００５８】
（ｔ＝３における主顔選択）
ｔ＝２における主顔選択処理と同様な処理経路となり、主顔として顔１が選択される。
【００５９】
（ｔ＝４における主顔選択）
ｔ＝３における主顔選択処理と同様な処理経路となるが、顔１における中心からの距離に基づく第３の重みが０となるため、最終重みも０となり、主顔として顔２が選択される。
【００６０】
（第４の重みを利用しない場合）
ここで、比較のために、ｔ＝１〜４において、第４の重みを利用せずに主顔を選択した場合を、図１及び図１４を参照して説明する。上述した図１１及び図１３の場合と全く同じ位置に２つの顔が存在しても、図１及び図１４に示すように、主顔が頻繁に入れ替わることが分かる。
【００６１】
＜第１の実施形態のまとめ＞
以上説明したように、本実施形態によれば、デジタルカメラ２００は、ＣＣＤ２０１が取得した画像信号から得られる画像データから、主被写体となる人物の顔を選択する。選択処理に際しては、あるタイミングにおける複数の顔それぞれの状態に基づいて算出される重みに加えて、複数の顔それぞれと、それ以前のタイミングにおける主顔との距離に基づいて算出される重み（第４の重み）も利用する。第４の重みは、それ以前のタイミングにおける主顔との距離が近い顔ほど大きくなるように算出される。
【００６２】
これにより、撮像範囲から主顔を選択する際に、撮像範囲に存在する被写体の状態の変化を尊重しつつも、極端に頻繁に主顔が入れ替わることを抑制することが可能となる。
【００６３】
［第２の実施形態］
第１の実施形態では、主顔選択処理に際して、検出された顔と前回主顔との距離を利用した。第２の実施形態では、更に、現在の画像データで検出された顔と、基準として用いられる過去に選択された主顔（以下、「リファレンス顔」と呼ぶ）との距離差及びサイズの差も利用して主顔を選択する。これは、一般的な撮影においては、主顔が撮像範囲の中央付近に存在する確率が高いことに着目した構成である。即ち、現在の画像データから選択される主顔が、リファレンス顔の位置からある程度移動した場合を考える。この場合は、前回主顔の位置を考慮せずに主顔の選択（図４のステップＳ４０５乃至Ｓ４０８、及び、Ｓ４１５）を行った方が、ユーザの意図に沿う確率が高いという検証データに基づいている。
【００６４】
尚、本実施形態において、デジタルカメラ２００の構成（図２参照）は第１の実施形態と同様であるため、その説明を省略する。
【００６５】
＜主顔選択処理＞
図１５は、第２の実施形態に係る、デジタルカメラ２００による主顔選択処理の流れを示すフローチャートである。本フローチャートの各ステップの処理は、例えば、システムコントローラ２２０が不図示のＲＯＭに格納されているプログラムを実行することにより実現可能である。以下、特に断らなければ、システムコントローラ２２０が各ステップの処理を行うものとする。また、第１の実施形態（図４）と同一の処理を行うステップには同一の符号を付し、説明を省略する。
【００６６】
（ステップＳ１５０８〜Ｓ１５１０）
ステップＳ４０４においてＣｏｕｎｔｅｒ＝０であれば、ステップＳ１５０８において、図４のステップＳ４０５乃至Ｓ４０８、及び、Ｓ４１５と同一の処理により、主顔を選択する。ステップＳ１５０９で、選択された主顔の顔情報は、リファレンス顔として顔レジスタ２２４に格納される。ステップＳ１５１０で、Ｃｏｕｎｔｅｒの値が１になり、ステップＳ４０２に戻る。また、選択された主顔の顔情報は、前回主顔としても顔レジスタ２２４に格納される。
【００６７】
尚、第１の実施形態と同様の考えに基づき、ステップＳ４１７において、１つの検出された顔を主顔とし、この主顔の顔情報をリファレンス顔として顔レジスタ２２４に格納してもよい。この場合、ステップＳ４１７では、Ｃｏｕｎｔｅｒ＝１とする。また、選択された主顔の顔情報は、前回主顔としても顔レジスタ２２４に格納される。
【００６８】
（ステップＳ１５０１）
ステップＳ４０２で取得された各々の顔について、前回主顔との距離を算出し（図９参照）、前回主顔に近い順にソートする。そして、前回主顔に最も近い顔を主顔候補とする。
【００６９】
（ステップＳ１５０２）
リファレンス顔と主顔候補の中心座標間の距離を算出し、主顔移動距離（Δｄｉｓ＿ＭａｉｎＦａｃｅ）とする。算出方法は、前回主顔がリファレンス顔になる以外、図９に示すものと同様である。
【００７０】
（ステップＳ１５０３）
ステップＳ１５０２で算出した主顔移動距離が、予め設定された距離Ｔｈ＿ｄｉｓ以下であればステップＳ１５０４に進む。そうでない場合は、主顔候補は実際には主顔ではないと判断し、ステップＳ１５０７に進む。ここで距離Ｔｈ＿ｄｉｓは、例えば式３のように、リファレンス顔のサイズに予め設定された係数をかけることで設定することができる。
【００７１】
Ｔｈ＿ｄｉｓ＝ＲｅｆＦａｃｅＳｉｚｅ×ｋＴｈＨｏｓｅｉＶａｌ１  （式３）
ＲｅｆＦａｃｅＳｉｚｅ：      リファレンス顔のサイズ（一辺の長さ）
ＫｔｈＨｏｓｅｉＶａｌ１：    定数
（ステップＳ１５０４）
リファレンス顔のサイズと主顔候補のサイズとの差分値ΔＳを算出する。
【００７２】
（ステップＳ１５０５）
差分値ΔＳが予め設定された差分値Ｔｈ＿ｓｉｚｅ以下であればステップＳ１５０６に進む。そうでない場合は、主顔候補は実際には主顔ではないと判断し、ステップＳ１５０７に進む。ここで、Ｔｈ＿ｓｉｚｅは、例えば式４のように、リファレンス顔のサイズに予め設定された係数をかけることで設定することができる。
【００７３】
Ｔｈ＿ｓｉｚｅ＝ＲｅｆＦａｃｅＳｉｚｅ×ｋＴｈＨｏｓｅｉＶａｌ２  （式４）
ＲｅｆＦａｃｅＳｉｚｅ：      リファレンス顔のサイズ（一辺の長さ）
ＫｔｈＨｏｓｅｉＶａｌ２：    定数
（ステップＳ１５０６）
主顔候補を主顔として決定し、更に、前回主顔として顔レジスタ２２４に顔情報を格納する。
【００７４】
（ステップＳ１５０７）
ステップＳ１５０１においてソートされた順に従って、次に前回主顔から近い顔を主顔候補とし、ステップＳ１５０２に戻り、同様の処理を繰り返す。検出された全ての顔について処理を行った場合は、主顔の位置が大きく動いたため前回主顔の位置を利用することは適当でないと判断し、ステップＳ１５０８に進む。
【００７５】
＜主顔選択処理の例＞
以上、図１５を参照して、主顔選択処理の流れを説明した。ここでは、第１の実施形態と同様、図１１のような連続するシーン（タイミングｔ＝１から４）にて２つの顔が検出された場合の主顔選択処理の例を、各タイミングにおける顔情報を示した図１２と、上述のフローチャート（図１５）とを用いて説明する。また、図１６は、各タイミングにおける各々の顔に対する第１〜第３の重み、最終重み、リファレンス顔座標、リファレンス画像との距離、Ｔｈ＿ｄｉｓ、主顔選択結果を示す図である。尚、説明を簡単にするため、顔サイズに関する説明は省略する。
【００７６】
（ｔ＝１における主顔選択）
図１５のステップＳ４０１からＳ４０２に沿って動作し、ステップＳ４０３にて検出された顔が２個のためステップＳ４０４に進み、Ｃｏｕｎｔｅｒ＝０のためステップＳ１５０８に進む。
【００７７】
ステップＳ１５０８において、検出された各顔における信頼度による第１の重み（Ｗｅｉｇｈｔ１）、顔のサイズによる第２の重み（Ｗｅｉｇｈｔ２）、顔の中心位置による第３の重み（Ｗｅｉｇｈｔ３）が算出される。そして、これらを乗算して最終重みを算出し、最終重みが最も大きい顔をｔ＝１における主顔とし、リファレンス顔として顔情報を顔レジスタ２２４に格納する。また、Ｃｏｕｎｔｅｒを１にセットする。
【００７８】
本実施形態では、顔１、顔２に対して上記計算がなされ、図１６に示すように顔１の最終重みは０．４２、顔２の最終重みは０．３５となり、顔１が主顔に設定される。
【００７９】
（ｔ＝２における主顔選択）
ステップＳ４０２において顔情報が読み込まれ、ステップＳ４０３、Ｓ４０４を通り、ステップＳ１５０１へと処理が進む。
【００８０】
ステップＳ１５０１において、ｔ＝２において検出された複数の顔全てについて、中心座標と、リファレンス顔（本実施形態では、ｔ＝１における顔１）の中心座標との距離を算出する。そして、リファレンス顔との距離が近い順に、検出された複数の顔をソートする。本実施形態では、顔１とリファレンス顔との距離が１０、顔２とリファレンス顔との距離が１０５となり、ソートの結果、顔１、顔２という順番になる。そこで、まず距離の近い顔１を主顔候補としてステップＳ１５０２以降の処理を行う。
【００８１】
ステップＳ１５０２において主顔候補とリファレンス顔との距離を算出する。ここでは、１０である。
【００８２】
ステップＳ１５０３において、予め設定した距離Ｔｈ＿ｄｉｓ（＝３０）と比較し、Ｔｈ＿ｄｉｓ以下であるため、ステップＳ１５０４に進む。
【００８３】
顔のサイズについては詳細を省略するが、差分値がＴｈ＿ｓｉｚｅ以下であり、ステップＳ１５０５からＳ１５０６へと進む。
【００８４】
ステップＳ１５０６において、顔１が主顔と設定される。
【００８５】
（ｔ＝３における主顔選択）
ｔ＝２における主顔選択処理と同様な処理により、顔１が主顔として選択される。
【００８６】
（ｔ＝４における主顔選択）
ステップＳ１５０１まではｔ＝３における主顔選択処理と同様な処理が行われる。
【００８７】
顔１とリファレンス顔との距離は７０、顔２とリファレンス顔との距離は１０５であり、いずれもＴｈ＿ｄｉｓよりも大きい。そのため、ステップＳ１５０３からステップ１５０７へ処理が進み、更に、ステップＳ１５０８に進む。
【００８８】
ステップＳ１５０７では、ｔ＝１における主顔選択処理と同様、第１乃至第３の重みに基づいて主顔が選択される。ここでは、顔１の最終重みが０、顔２の最終重みが０．３５であるため、顔２が主顔として選択される。
【００８９】
＜第２の実施形態のまとめ＞
以上説明したように、本実施形態によれば、デジタルカメラ２００は、検出された顔と前回主顔との距離に加えて、検出された顔とリファレンス顔との距離及びサイズの差も利用して主顔を選択する。
【００９０】
これにより、デジタルカメラにおいては、主顔がより撮像範囲の中央に存在する確率が高いということも考慮しつつ、極端に頻繁に主顔が入れ替わることを抑制することが可能となる。
【００９１】
［その他の実施形態］
上述した各実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００９２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【００９３】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００９４】
【図１】従来技術に従い、時刻ｔ＝１〜４において撮像装置が検出した人物の顔及び主被写体となる人物の顔を示す図である。
【図２】実施形態に係る撮像装置の一例である、デジタルカメラ２００の構成及び動作を示すブロック図である。
【図３】ＣＣＤ２０１の電荷読み出し方法の一例を示す図である。
【図４】第１の実施形態に係る、デジタルカメラ２００による主顔選択処理の流れを示すフローチャートである。
【図５】顔情報の一例を示す図である。
【図６】主顔選択処理に使用する第１の重みを、信頼度に基づいて決定するための、信頼度−重み特性グラフを示す図である。
【図７】主顔選択処理に使用する第２の重みを、顔のサイズに基づいて決定するための、顔サイズ−重み特性グラフを示す図である。
【図８】主顔選択処理に使用する第３の重みを、距離情報ｄｉｓｔに基づいて決定するための、距離−重み特性グラフを示す図である。
【図９】タイミングｔにおいて検出された顔と、タイミングｔ−１において選択された主顔（前回主顔）との距離ｄｉｓｔ＿ｐｒｅＭａｉｎＦａｃｅを示す図である。
【図１０】主顔選択処理に使用する第４の重みを、前回主顔との距離に基づいて決定するための、前回距離−重み特性グラフを示す図である。
【図１１】実施形態に従い、時刻ｔ＝１〜４において撮像装置が検出した人物の顔及び主被写体となる人物の顔を示す図である。
【図１２】時刻ｔ＝１〜４において撮像装置が検出した２つの顔それぞれの顔情報を示す図である。
【図１３】時刻ｔ＝１〜４における、各々の顔に対する第１〜第４の重み、最終重み、前回主顔との距離、主顔選択結果を示す図である。
【図１４】第４の重みを利用しない場合の、時刻ｔ＝１〜４における、各々の顔に対する第１〜第４の重み、最終重み、前回主顔との距離、主顔選択結果を示す図である。
【図１５】第２の実施形態に係る、デジタルカメラ２００による主顔選択処理の流れを示すフローチャートである。
【図１６】各タイミングにおける各々の顔に対する第１〜第３の重み、最終重み、リファレンス顔座標、リファレンス画像との距離、Ｔｈ＿ｄｉｓ、主顔選択結果を示す図である。
【符号の説明】
【００９５】
２０１  ＣＣＤ
２１３  表示装置
２１７  ＶＢＰＦ部
２１８  目検出部
２１９  非顔フィルタパターン認識部
２２０  システムコントローラ
２２３  リサイズ回路
２２４  顔レジスタ
【図１】
2008005438.tif 000005
【図２】
2008005438.tif 000006
【図３】
2008005438.tif 000007
【図４】
2008005438.tif 000008
【図５】
2008005438.tif 000009
【図６】
2008005438.tif 000010
【図７】
2008005438.tif 000011
【図８】
2008005438.tif 000012
【図９】
2008005438.tif 000013
【図１０】
2008005438.tif 000014
【図１１】
2008005438.tif 000015
【図１２】
2008005438.tif 000016
【図１３】
2008005438.tif 000017
【図１４】
2008005438.tif 000018
【図１５】
2008005438.tif 000019
【図１６】
2008005438.tif 000020