(57)【要約】      （修正有）【課題】記録被写界像の品質を向上させることができる、電子カメラを提供する。【解決手段】写界を捉える撮像面で生成された被写界像を繰り返し出力する撮像手段16、撮像手段から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する探索手段、被写界に存在する特定物体の数を探索手段の探索結果に基づいて検出する検出手段、検出手段によって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを探索手段の探索結果に基づいて繰り返し判別する判別手段、および判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき撮像手段から出力された被写界像を記録する記録手段を備える。【効果】記録被写界像の品質を改善することができる。【選択図】図２
2011193063.tif 000002
【特許請求の範囲】
【請求項１】
被写界を捉える撮像面で生成された被写界像を繰り返し出力する撮像手段、
前記撮像手段から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する探索手段、
前記被写界に存在する特定物体の数を前記探索手段の探索結果に基づいて検出する検出手段、
前記検出手段によって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを前記探索手段の探索結果に基づいて繰り返し判別する判別手段、および
前記判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき前記撮像手段から出力された被写界像を記録する記録手段を備える、電子カメラ。
【請求項２】
前記検出手段は、前記探索手段によって発見された特定物体像の位置と前記探索手段による発見時刻とを含む特定物体像情報を登録する情報登録手段、および前記情報登録手段によって登録された特定物体像情報に基づいて前記特定物体の数を測定する測定手段を含む、請求項１記載の電子カメラ。
【請求項３】
前記情報登録手段は、登録済みの特定物体像情報を最新の特定物体像情報によって更新する更新手段、前記探索手段によって発見された特定物体像の位置に基づいて前記被写界に存在する特定物体を追尾する追尾手段、および前記追尾手段の追尾結果に基づいて前記更新手段の更新態様を制御する制御手段を含む、請求項２記載の電子カメラ。
【請求項４】
前記追尾手段は、前記探索手段によって発見された特定物体像の位置に基づいて追尾探索範囲を算出する算出手段、および前記算出手段によって算出された追尾探索範囲において肌色エリアを探索する追尾探索手段を含む、請求項３記載の電子カメラ。
【請求項５】
前記検出手段は、前記情報登録手段による特定物体像情報の登録後の前記探索手段の探索結果に基づいて登録済みの特定物体像情報を削除する削除手段をさらに含む、請求項２ないし４のいずれかに記載の電子カメラ。
【請求項６】
前記探索手段は、前記被写界像上で指定された部分画像を前記複数の参照用特定物体像の各々と照合して照合度を算出する照合手段、および前記照合手段によって算出された照合度のうち基準を上回る照合度に対応する参照用特定物体像の姿勢を登録する姿勢登録手段を含み、
前記判別手段は前記姿勢登録手段によって登録された姿勢を参照して判別処理を実行する、請求項１ないし５のいずれかに記載の電子カメラ。
【請求項７】
前記探索手段が探索する特定物体像は人物の顔画像である、請求項１ないし６のいずれかに記載の電子カメラ。
【請求項８】
被写界を捉える撮像面で生成された被写界像を繰り返し出力する撮像手段を備える電子カメラのプロセッサに、
前記撮像手段から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する探索ステップ、
前記被写界に存在する特定物体の数を前記探索ステップの探索結果に基づいて検出する検出ステップ、
前記検出ステップによって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを前記探索ステップの探索結果に基づいて繰り返し判別する判別ステップ、および
前記判別ステップの判別結果が否定的な結果から肯定的な結果に更新されたとき前記撮像手段から出力された被写界像を記録する記録ステップを実行させるための、撮像制御プログラム。
【請求項９】
被写界を捉える撮像面で生成された被写界像を繰り返し出力する撮像手段を備える電子カメラによって実行される撮像制御方法であって、
前記撮像手段から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する探索ステップ、
前記被写界に存在する特定物体の数を前記探索ステップの探索結果に基づいて検出する検出ステップ、
前記検出ステップによって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを前記探索ステップの探索結果に基づいて繰り返し判別する判別ステップ、および
前記判別ステップの判別結果が否定的な結果から肯定的な結果に更新されたとき前記撮像手段から出力された被写界像を記録する記録ステップを備える、撮像制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子カメラに関し、特に、特定物体像を被写界像から探索する、電子カメラに関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この背景技術によれば、被写界像は、イメージセンサから繰り返し出力される。ＣＰＵは、撮像面を向く顔画像がイメージセンサから出力された被写界像に現れているか否かを、シャッタボタンの半押しに先立って繰り返し判別する。判別結果を含む顔検出履歴は、ＣＰＵによって顔検出履歴テーブルに記述される。ＣＰＵは、シャッタボタンが半押しされたとき、顔検出履歴テーブルに記述された顔検出履歴に基づいて顔画像位置を決定する。フォーカスなどの撮像条件は、決定された顔画像位置に注目して調整される。これによって、撮像条件を顔画像に注目して調整することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８７４１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、背景技術では、被写体が複数ある場合に、それらの存在が認識されるか不明である。また、被写体の顔が検出されて履歴に記録されている場合、その後当該被写体が顔を横に向けたにもかかわらず撮影が行われてしまう。これらによって記録被写界像の品質が低下するおそれがある。
【０００５】
それゆえに、この発明の主たる目的は、記録被写界像の品質を向上させることができる、電子カメラを提供することである。
【課題を解決するための手段】
【０００６】
この発明に従う電子カメラ(10：実施例で相当する参照符号。以下同じ)は、被写界を捉える撮像面で生成された被写界像を繰り返し出力する撮像手段(16)、撮像手段から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する探索手段(S29)、被写界に存在する特定物体の数を探索手段の探索結果に基づいて検出する検出手段(S25, S31~S39)、検出手段によって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを探索手段の探索結果に基づいて繰り返し判別する判別手段(S41, S43)、および判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき撮像手段から出力された被写界像を記録する記録手段(S5~S15, S45)を備える。
【０００７】
好ましくは、検出手段は、探索手段によって発見された特定物体像の位置と探索手段による発見時刻とを含む特定物体像情報を登録する情報登録手段(S129~S139, S143~S147, S167)、および情報登録手段によって登録された特定物体像情報に基づいて特定物体の数を測定する測定手段(S25, S39, S141)を含む。
【０００８】
さらに好ましくは、情報登録手段は、登録済みの特定物体像情報を最新の特定物体像情報によって更新する更新手段(S147)、探索手段によって発見された特定物体像の位置に基づいて被写界に存在する特定物体を追尾する追尾手段(S171~S183)、および追尾手段の追尾結果に基づいて更新手段の更新態様を制御する制御手段(S185)を含む。
【０００９】
好ましくは、探索手段は、被写界像上で指定された部分画像を複数の参照用特定物体像の各々と照合して照合度を算出する照合手段(S99)、および照合手段によって算出された照合度のうち基準を上回る照合度に対応する参照用特定物体像の姿勢を登録する姿勢登録手段(S101~S107)を含み、判別手段は姿勢登録手段によって登録された姿勢を参照して判別処理を実行する。
【発明の効果】
【００１０】
この発明によれば、探索処理は互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して実行されるため、特定物体像の数および姿勢が被写界像毎に特定される。また、探索処理は繰り返し実行されるため、複数の探索結果を参照することで被写界に存在する特定物体の数が明らかとなる。
【００１１】
被写界に存在する特定物体のいずれもが姿勢条件を満足するか否かは探索処理の結果に基づいて繰り返し判別され、被写界像の記録処理は判別結果が否定的な結果から肯定的な結果に更新されたときに実行される。
【００１２】
この結果、記録される被写界像は、被写界に存在する特定物体のいずれもが姿勢条件を満足する状態で生成された被写界像となる。これによって、記録被写界像の品質を改善することができる。
【００１３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１４】
【図１】この発明の基本的構成を示すブロック図である。
【図２】この発明の一実施例の構成を示すブロック図である。
【図３】評価エリアを撮像面に割り当てた状態の一例を示す図解図である。
【図４】顔向きパターンを収める顔向きパターン辞書ＦＰＤＣの一例を示す図解図である。
【図５】照合処理において参照されるレジスタの一例を示す図解図である。
【図６】顔検出処理において参照されるワークテーブルの一例を示す図解図である。
【図７】顔検出処理のために用いられる顔検出枠の一例を示す図解図である。
【図８】探索処理の一例を示す図解図である。
【図９】顔検出処理において参照される人数・顔向き管理テーブルの一例を示す図解図である。
【図１０】更新・追加処理の一部を示す図解図である。
【図１１】（Ａ）は撮像面によって複数の人物が捉えられた状態を表す画像の一例を示す図解図であり、（Ｂ）は撮像面によって複数の人物が捉えられた状態を表す画像の他の一例を示す図解図であり、（Ｃ）は撮像面によって複数の人物が捉えられた状態を表す画像のその他の一例を示す図解図である。
【図１２】（Ａ）は撮像面によって複数の人物が捉えられた状態を表す画像のさらにその他の一例を示す図解図であり、（Ｂ）は撮像面によって複数の人物が捉えられた状態を表す画像の他の一例を示す図解図であり、（Ｃ）は撮像面によって複数の人物が捉えられた状態を表す画像のその他の一例を示す図解図である。
【図１３】追尾処理において参照される追尾情報テーブルの一例を示す図解図である。
【図１４】追尾処理の一部を示す図解図である。
【図１５】追尾処理の他の一部を示す図解図である。
【図１６】（Ａ）は撮像面によって複数の人物が捉えられた状態を表す画像のさらにその他の一例を示す図解図であり、（Ｂ）は撮像面によって複数の人物が捉えられた状態を表す画像の他の一例を示す図解図であり、（Ｃ）は撮像面によって複数の人物が捉えられた状態を表す画像のその他の一例を示す図解図である。
【図１７】（Ａ）は撮像面によって複数の人物が捉えられた状態を表す画像のさらにその他の一例を示す図解図であり、（Ｂ）は撮像面によって複数の人物が捉えられた状態を表す画像の他の一例を示す図解図である。
【図１８】図２実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図１９】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図２０】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図２１】図２実施例に適用されるＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２２】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図２３】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図２４】図２実施例に適用されるＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２５】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図２６】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図２７】図２実施例に適用されるＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図２８】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【００１５】
以下、この発明の実施の形態を図面を参照しながら説明する。
［基本的構成］
【００１６】
図１を参照して、この発明の電子カメラは、基本的に次のように構成される。撮像手段１は、被写界を捉える撮像面で生成された被写界像を繰り返し出力する。探索手段２は、撮像手段１から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行する。検出手段３は、被写界に存在する特定物体の数を探索手段２の探索結果に基づいて検出する。判別手段４は、検出手段３によって検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを探索手段２の探索結果に基づいて繰り返し判別する。記録手段５は、判別手段４の判別結果が否定的な結果から肯定的な結果に更新されたとき撮像手段１から出力された被写界像を記録する。
【００１７】
探索処理は互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して実行されるため、特定物体像の数および姿勢が被写界像毎に特定される。また、探索処理は繰り返し実行されるため、複数の探索結果を参照することで被写界に存在する特定物体の数が明らかとなる。
【００１８】
被写界に存在する特定物体のいずれもが姿勢条件を満足するか否かは探索処理の結果に基づいて繰り返し判別され、被写界像の記録処理は判別結果が否定的な結果から肯定的な結果に更新されたときに実行される。
【００１９】
この結果、記録される被写界像は、被写界に存在する特定物体のいずれもが姿勢条件を満足する状態で生成された被写界像となる。これによって、記録被写界像の品質を改善することができる。
［実施例］
【００２０】
図２を参照して、この実施例のディジタルカメラ１０は、ドライバ１８ａおよび１８ｂによってそれぞれ駆動されるフォーカスレンズ１２および絞りユニット１４を含む。これらの部材を経た被写界の光学像は、イメージセンサ１６の撮像面に照射され、光電変換を施される。これによって、被写界像を表す電荷が生成される。
【００２１】
電源が投入されると、ＣＰＵ３４は、集合写真撮像タスクの下で動画取り込み処理を開始するべく、ドライバ１８ｃに露光動作および電荷読み出し動作の繰り返しを命令する。ドライバ１８ｃは、図示しないＳＧ(Signal Generator)から周期的に発生する垂直同期信号Ｖｓｙｎｃに応答して、撮像面を露光し、かつ撮像面で生成された電荷をラスタ走査態様で読み出す。イメージセンサ１６からは、読み出された電荷に基づく生画像データが周期的に出力される。
【００２２】
前処理回路２０は、イメージセンサ１６から出力された生画像データにディジタルクランプ，画素欠陥補正，ゲイン制御などの処理を施す。これらの処理を施された生画像データは、メモリ制御回路２２を通してＳＤＲＡＭ２４の生画像エリア２４ａに書き込まれる。
【００２３】
後処理回路２６は、生画像エリア２４ａに格納された生画像データをメモリ制御回路２２を通して読み出し、読み出された生画像データに色分離処理，白バランス調整処理，ＹＵＶ変換処理などの処理を施し、ＹＵＶ形式に従う表示画像データおよび探索画像データを個別に作成する。
【００２４】
表示画像データは、メモリ制御回路２２によってＳＤＲＡＭ２４の表示画像エリア２４ｂに書き込まれる。探索画像データは、メモリ制御回路２２によってＳＤＲＡＭ２４の探索画像エリア２４ｃに書き込まれる。
【００２５】
ＬＣＤドライバ２８は、表示画像エリア２４ｂに格納された表示画像データをメモリ制御回路２２を通して繰り返し読み出し、読み出された画像データに基づいてＬＣＤモニタ３０を駆動する。この結果、被写界のリアルタイム動画像（スルー画像）がモニタ画面に表示される。なお、探索画像データに対する処理については、後述する。
【００２６】
図３を参照して、撮像面の中央には評価エリアＥＶＡが割り当てられる。評価エリアＥＶＡは水平方向および垂直方向の各々において１６分割され、２５６個の分割エリアが評価エリアＥＶＡを形成する。また、前処理回路２０は、上述した処理に加えて、生画像データを簡易的にＲＧＢデータに変換する簡易ＲＧＢ変換処理を実行する。
【００２７】
ＡＥ／ＡＦ評価回路３２は、前処理回路２０によって生成されたＲＧＢデータのうち評価エリアＥＶＡに属するＲＧＢデータを、垂直同期信号Ｖｓｙｎｃが発生する毎に積分する。これによって、２５６個の積分値つまり２５６個のＡＥ評価値が、垂直同期信号Ｖｓｙｎｃに応答してＡＥ／ＡＦ評価回路３２から出力される。
【００２８】
また、ＡＥ／ＡＦ評価回路３２は、前処理回路２０から出力されたＲＧＢデータのうち同じ評価エリアＥＶＡに属するＧデータの高周波成分を抽出し、抽出された高域周波数成分を垂直同期信号Ｖｓｙｎｃが発生する毎に積分する。これによって、２５６個の積分値つまり２５６個のＡＦ評価値が、垂直同期信号Ｖｓｙｎｃに応答してＡＥ／ＡＦ評価回路３２から出力される。
【００２９】
ＣＰＵ３４は、ＡＥ／ＡＦ評価回路３２からの出力に基づく簡易ＡＥ処理を動画取り込み処理と並列して実行し、適正ＥＶ値を算出する。算出された適正ＥＶ値を定義する絞り量および露光時間は、ドライバ１８ｂおよび１８ｃにそれぞれ設定される。この結果、スルー画像の明るさが適度に調整される。
【００３０】
フラグＦＬＧ＿ｆｒが１に更新されると、ＣＰＵ３４は、ＡＥ／ＡＦ評価回路３２の出力に基づくＡＥ処理を集合写真撮像タスクの下で実行し、これによって算出された最適ＥＶ値を定義する絞り量および露光時間をドライバ１８ｂおよび１８ｃにそれぞれ設定する。この結果、スルー画像の明るさが厳格に調整される。ＣＰＵ３４はまた、ＡＥ／ＡＦ評価回路３２からの出力に基づくＡＦ処理を通常撮像タスクの下で実行し、ドライバ１８ａを通じてフォーカスレンズ１２を合焦点に設定する。これによって、スルー画像の鮮鋭度が向上する。
【００３１】
続いて、ＣＰＵ３４は、集合写真撮像タスクの下で静止画取り込み処理および記録処理を実行する。ＡＦ処理が完了した直後の１フレームの表示画像データは、静止画取り込み処理によって静止画エリア２４ｄに取り込まれる。取り込まれた１フレームの表示画像データは、記録処理に関連して起動したＩ／Ｆ３８によって静止画エリア２４ｄから読み出され、ファイル形式で記録媒体４０に記録される。
【００３２】
ＣＰＵ３４はまた、人数・顔向き検出タスクの下で、探索画像エリア２４ｃに格納された画像データから人物の顔画像を探索するべく、顔検出処理を実行する。このような顔検出処理のために、図４に示す顔向きパターン辞書ＦＰＤＣ、図５に示すレジスタＲＧＳＴ１、図６に示す顔検出ワークテーブルＴＢＬｗ、図７に示す複数の顔検出枠ＦＤ，ＦＤ，ＦＤ，…が準備される。
【００３３】
図４によれば、人物の顔向きパターンＦＰ＿１〜ＦＰ＿５が顔向きパターン辞書ＦＰＤＣに収められる。ここで、ＦＰ＿１は正面を向いた姿勢に対応し、ＦＰ＿２は右真横を向いた姿勢に対応し、ＦＰ＿３は斜め右に向いた姿勢に対応し、ＦＰ＿４は斜め左に向いた姿勢に対応し、ＦＰ＿５は左真横に向いた姿勢に対応する。
【００３４】
図５に示すレジスタＲＧＳＴ１は顔向きパターン辞書との照合度を保持するためのレジスタに相当し、最も照合度が高い顔向きパターンを記述するカラムとその照合度を記述するカラムとによって形成される。
【００３５】
図６に示す顔検出ワークテーブルＴＢＬｗは、１回の顔検出処理で検出された顔画像の情報を保持するためのテーブルに相当し、検出された顔画像の位置（顔画像が検出された時点の顔検出枠ＦＤの位置）を記述するカラム、顔画像のサイズ（顔画像が検出された時点の顔検出枠ＦＤのサイズ）を記述するカラム、および検出された顔画像に相当する顔向きパターンを記述するカラムによって構成される。
【００３６】
図７に示す顔検出枠ＦＤは、垂直同期信号Ｖｓｙｎｃが発生する毎に、探索画像エリア２４ｃに割り当てられた探索エリア上をラスタ走査態様で移動する。顔検出枠ＦＤのサイズは、ラスタ走査が終了する毎に最大サイズＳＺｍａｘから最小サイズＳＺｍｉｎまで“５”刻みで縮小される。
【００３７】
人数・顔向き検出タスクの下では、まずフラグＦＬＧ＿ｆｒが“０”に設定される。ここで、フラグＦＬＧ＿ｆｒは検出された人物が全員正面を向いているか否かを識別するためのフラグであり、“０”は検出された人物が全員正面を向いていないことを示す一方、“１”は検出された人物が全員正面を向いて撮影準備が出来ていることを示す。次に、後述する人数・顔向き管理テーブルＴＢＬ１が初期化されて、顔検出処理が実行される。
【００３８】
探索エリアはまず、評価エリアＥＶＡの全域を覆うように設定される。また、最大サイズＳＺｍａｘは“２００”に設定され、最小サイズＳＺｍｉｎは“２０”に設定される。したがって、顔検出枠ＦＤは、“２００”〜“２０”の範囲で変化するサイズを有して、図８に示す要領で評価エリアＥＶＡ上を走査される。
【００３９】
ＣＰＵ３４は、顔検出枠ＦＤに属する画像データをメモリ制御回路２２を通して探索画像エリア２４ｃから読み出し、読み出された画像データの特徴量を算出する。算出された特徴量は、顔向きパターン辞書ＦＰＤＣに収められた顔向きパターンＦＰ＿１〜ＦＰ＿５の各々の特徴量と照合される。
【００４０】
顔向きパターンＦＰ＿１の特徴量に対する照合度は、正面を向いている人物の顔を捉えたときに基準ＲＥＦを上回る。また、顔向きパターンＦＰ＿２の特徴量に対する照合度は、向かって右真横を向いている人物の顔を捉えたときに基準ＲＥＦを上回る。顔向きパターンＦＰ＿３の特徴量に対する照合度は、向かって斜め右を向いている人物の顔を捉えたときに基準ＲＥＦを上回る。顔向きパターンＦＰ＿４の特徴量に対する照合度は、向かって斜め左を向いている人物の顔を捉えたときに基準ＲＥＦを上回る。さらに、顔向きパターンＦＰ＿５の特徴量に対する照合度は、向かって左真横を向いている人物の顔を捉えたときに基準ＲＥＦを上回る。
【００４１】
顔向きパターンＦＰ＿１〜ＦＰ＿５の各々と照合した結果、照合度が基準ＲＥＦを上回るものがあると、ＣＰＵ３４は、人物の顔画像が発見されたとみなし、照合された顔向きパターンおよび照合度をレジスタＲＧＳＴ１に登録する。他の顔向きパターンとの照合度がレジスタＲＧＳＴ１に登録されているものを上回った場合は、照合度が高い方の顔向きパターンおよび照合度でレジスタＲＧＳＴ１を上書きする。
【００４２】
顔検出枠ＦＤに属する画像データから人物の顔画像が発見された場合は、顔検出枠ＦＤの現時点の位置、顔検出枠ＦＤの現時点のサイズ、およびレジスタＲＧＳＴ１に登録されている顔向きパターンを、発見された人物１名分のレコードとして、顔検出ワークテーブルＴＢＬｗに記述する。
【００４３】
次に、顔検出枠ＦＤをラスタ方向に移動させ、同様に、顔検出枠ＦＤに属する画像データの特徴量と顔向きパターン辞書ＦＰＤＣの顔向きパターンの特徴量との照合を行い、人物の顔画像が発見された場合は顔検出ワークテーブルＴＢＬｗを更新する。これらの処理を顔検出枠ＦＤが右下位置に移動するまで繰り返すと、顔検出枠ＦＤのサイズを縮小して、再度探索する。
【００４４】
顔検出枠ＦＤが右下位置に移動した時点で顔検出枠ＦＤのサイズがＳＺｍｉｎに達すると顔検出処理が終了し、続いて更新・追加処理が実行される。このとき、顔検出ワークテーブルＴＢＬｗには、１回の顔検出処理で発見された人物の人数分のレコードが保持されている。
【００４５】
ＣＰＵ３４はまた、人数・顔向き検出タスクの下で、検出された顔画像の情報を更新するべく、更新・追加処理を実行する。このような更新・追加処理のために、図９に示す人数・顔向き管理テーブルＴＢＬ１が準備される。
【００４６】
図９に示す人数・顔向き管理テーブルＴＢＬ１は、過去に検出された顔画像の情報を保持するためのテーブルに相当し、検出された顔画像の位置を記述するカラム、顔画像のサイズを記述するカラム、検出された顔画像に相当する顔向きパターンを記述するカラム、当初検出時刻（最初に顔検出がなされた時刻）を記述するカラム、最終検出時刻（最後に顔検出がなされた時刻）を記述するカラム、および削除フラグを記述するカラムによって構成される。
【００４７】
最初の更新・追加処理が実行される前においては、人数・顔向き管理テーブルＴＢＬ１には何も記述されていない。直前の顔検出処理において作成された顔検出ワークテーブルＴＢＬｗの各々のレコードに対応して、検出された人数分の新たなレコードが人数・顔向き管理テーブルＴＢＬ１に作成される。「顔位置」、「顔サイズ」、および「顔向きパターン」には、顔検出ワークテーブルＴＢＬｗの同名のカラムと同じ内容が記述される。「当初検出時刻」および「最終検出時刻」には、いずれも現在の時刻が記述される。
【００４８】
２回目以降の更新・追加処理においては、直前の顔検出処理において作成された顔検出ワークテーブルＴＢＬｗの内容に従って、人数・顔向き管理テーブルＴＢＬ１が更新される。
【００４９】
顔検出ワークテーブルＴＢＬｗに記述されている人物について人数・顔向き管理テーブルＴＢＬ１に同一人物のものと判断されるレコードがあれば、当該レコードの「顔位置」、「顔サイズ」、および「顔向きパターン」を顔検出ワークテーブルＴＢＬｗの内容で更新する。また、「最終検出時刻」を現在の時刻で更新する。同一人物か否かの判断に際しては、顔検出ワークテーブルＴＢＬｗのレコードと人数・顔向き管理テーブルＴＢＬ１のレコードとで顔位置が同一の場合は、同一人物と判断する。また、図１０を参照して、人物ＨＢが移動した場合など顔位置が完全に同一でなくても、顔検出枠ＦＤの位置が互いに重なっている場合は同一人物と判断する。
【００５０】
人数・顔向き管理テーブルＴＢＬ１に同一人物のものと判断されるレコードがない場合、つまり、新たに画角に入った人物が存在する場合は、新たなレコードが人数・顔向き管理テーブルＴＢＬ１に作成される。
【００５１】
ＣＰＵ３４はまた、人数・顔向き検出タスクの下で、一旦検出されたがその後検出されなかった顔画像の情報を管理するべく、検出不可処理を実行する。
【００５２】
検出不可処理においては、人数・顔向き管理テーブルＴＢＬ１を１レコードずつ読み出して、最終検出時刻が直前の更新・追加処理で更新されたものであるかまたは過去のものであるかを判断する。
【００５３】
過去のものである場合、つまり、一旦顔画像が検出されたが直前の顔検出処理では検出されなかった人物については、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「顔向きパターン」を“ＮＧ”に更新する。また、既に「顔向きパターン」に“ＮＧ”が設定されており、かつ、顔画像等が検出されないまま最終検出時刻から一定時間が経過しているレコードについては、「削除フラグ」に“１”を設定する。
【００５４】
ＣＰＵ３４は、人数・顔向き検出タスクの下で、人数・顔向き管理テーブルＴＢＬ１のレコードのうち「削除フラグ」が“１”であるレコードを、削除する。次に、ＣＰＵ３４は、人数・顔向き管理テーブルＴＢＬ１の各々のレコードの「顔向きパターン」が“ＦＰ＿１”であるか否か、つまり、直前の顔検出処理で検出された人物全員が正面を向いているか否かを判断する。全員が正面を向いており、かつ、全員の当初検出時刻から一定時間が経過している場合は、フラグＦＬＧ＿ｆｒに“１”を設定する。
このようにしてフラグＦＬＧ＿ｆｒが１に更新されると、前述のように、厳格ＡＥ処理、ＡＦ処理、静止画取り込み処理、および記録処理が実行されて、画像データが記録媒体４０に記録される。
【００５５】
以上述べた顔検出処理、更新・追加処理、および検出不可処理を、図１１（Ａ）、図１１（Ｂ）、および図１１（Ｃ）を参照して、以下に具体的に説明する。図１１（Ａ）は１回目の顔検出処理が実行される際の被写界の状態を、図１１（Ｂ）は２回目の顔検出処理が実行される際の被写界の状態を、図１１（Ｃ）は１回目の顔検出処理から一定時間経過後に再び顔検出処理が実行される際の被写界の状態を、それぞれ示している。
【００５６】
図１１（Ａ）の状態では、６人の人物ＨＢ１〜ＨＢ６の顔画像が検出されている。また、全員が正面を向いているが、最初に検出されてから一定時間が経過していないので、フラグＦＬＧ＿ｆｒに“１”は設定されない。
【００５７】
図１１（Ｂ）の状態では、１回目の顔検出処理の際と同様に６人の人物ＨＢ１〜ＨＢ６の顔画像が検出されるが、人物ＨＢ５については、右真横を向いているので、人数・顔向き管理テーブルＴＢＬ１において人物ＨＢ５の「顔向きパターン」が“ＦＰ＿２”に更新される。また、全員が正面を向いていないので、フラグＦＬＧ＿ｆｒに“１”は設定されない。
【００５８】
図１１（Ｃ）の状態では、後列中央の人物は、顔検出枠ＦＤの位置が互いに重なっていることから、１回目および２回目の顔検出処理で検出された人物ＨＢ５と同一人物と判断される。よって、人数・顔向き管理テーブルＴＢＬ１において人物ＨＢ５の「最終検出時刻」が更新される。また、正面を向いているので、人物ＨＢ５の「顔向きパターン」が“ＦＰ＿１”に更新される。さらに、全員が正面を向いており、当初検出時刻から一定時間が経過しているので、フラグＦＬＧ＿ｆｒに“１”が設定される。よって、図１１（Ｃ）の状態で、厳格ＡＥ処理、ＡＦ処理、静止画取り込み処理、および記録処理が実行される。
【００５９】
次に、図１２（Ａ）、図１２（Ｂ）、および図１２（Ｃ）を参照して、繰り返し顔検出処理が実行される間に一旦検出された人数が減る場合の例を、以下に具体的に説明する。図１２（Ａ）は１回目の顔検出処理が実行される際の被写界の状態を、図１２（Ｂ）は２回目の顔検出処理が実行される際の被写界の状態を、図１２（Ｃ）は１回目の顔検出処理から一定時間経過後に再び顔検出処理が実行される際の被写界の状態を、それぞれ示している。
【００６０】
図１２（Ａ）の状態では、６人の人物ＨＢ７〜ＨＢ１２の顔画像が検出されている。また、全員が正面を向いているが、最初に検出されてから一定時間が経過していないので、フラグＦＬＧ＿ｆｒに“１”は設定されない。
【００６１】
図１２（Ｂ）の状態では、人物ＨＢ８が移動して人物ＨＢ９の陰に隠れている。よって、人物ＨＢ８の顔画像は検出されず、人数・顔向き管理テーブルＴＢＬ１において人物ＨＢ８の「顔向きパターン」を“ＮＧ”に更新する。
【００６２】
図１２（Ｃ）の状態では、前回検出されなかった人物ＨＢ８が画角外に移動している。よって、人物ＨＢ８の顔画像は今回も検出されない。また、人物ＨＢ８が最後に検出されてから一定時間が経過しているので、人数・顔向き管理テーブルＴＢＬ１において人物ＨＢ８の「削除フラグ」に“１”が設定され、人物ＨＢ８のレコードは削除される。人物ＨＢ７および人物ＨＢ９〜Ｈ１２は全員正面を向いており、人数・顔向き管理テーブルＴＢＬ１において人物ＨＢ７および人物ＨＢ９〜Ｈ１２の「顔向きパターン」には全て“ＦＰ＿１”が記述されている。かつ当初検出時刻から一定期間が経過しているので、フラグＦＬＧ＿ｆｒに“１”が設定される。よって、５人の人物ＨＢ７および人物ＨＢ９〜Ｈ１２の顔画像が検出された図１２（Ｃ）の状態で、厳格ＡＥ処理、ＡＦ処理、静止画取り込み処理、および記録処理が実行される。
【００６３】
顔検出処理によって顔画像が一旦検出された人物は、移動等のためにディジタルカメラ１０に対して反対方向に顔を向けることがある。その際に再度の顔検出処理が実行されると、顔向きパターン辞書ＦＰＤＣのいずれの顔向きパターンの特徴量に対しても照合度が基準ＲＥＦを上回らず、顔の向きを変えた人物の顔画像は検出されない。この状態で一定時間が経過した場合に、画角内にその人物が存在するにも関わらず人数・顔向き管理テーブルＴＢＬ１の該当レコードが削除されないようにする必要がある。そこで、ＣＰＵ３４は、人数・顔向き検出タスクの下で、顔画像が検出されなかった人物について画角内での存在を把握すべく、追尾処理を実行する。このような追尾処理のために、図１３に示す追尾情報テーブルＴＢＬ２が準備される。
【００６４】
図１３に示す追尾情報テーブルＴＢＬ２は、顔画像は検出されないが画角内に存在すると推定される人物の情報を保持するためのテーブルに相当し、人数・顔向き管理テーブルＴＢＬ１に対応する番号を記述するカラム、移動方向を記述するカラム、および移動速度を記述するカラムによって構成される。なお、追尾処理がなされる人物が複数人であれば、追尾情報テーブルＴＢＬ２のレコードも複数作成される。
【００６５】
ＣＰＵ３４は、一旦顔画像が検出されたがその後の顔検出処理において顔画像が検出されなかった人物について、顔向きパターン辞書ＦＰＤＣを用いない方法によって、再度探索を行う。ただし、図１４を参照して、ＣＰＵ３４は、最後に検出された顔位置を基準として、その際の顔検出枠ＦＤを左右に等距離に所定量広げかつ上下に等距離に所定量広げた追尾探索範囲ＴＲＣを、探索エリアとして設定する。追尾処理では、顔検出処理における顔向きパターン辞書ＦＰＤＣを用いる代わりに、追尾探索範囲ＴＲＣの範囲内で肌色エリアＳＫを探索することによって、人物の存在の検出を行う。
【００６６】
ＣＰＵ３４は、検出不可処理において、人数・顔向き管理テーブルＴＢＬ１のレコードの「顔向きパターン」を“ＮＧ”に更新すると、そのレコードに対応するレコードを追尾情報テーブルＴＢＬ２に新規作成する。次に、ＣＰＵ３４は、人数・顔向き管理テーブルＴＢＬ１の「顔位置」を基準として追尾探索範囲ＴＲＣを算出し、肌色エリアＳＫを探索する。
【００６７】
肌色エリアＳＫが発見された場合は、最後に検出された顔画像の位置から肌色エリアＳＫの位置まで人物が移動したと推定し、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「最終検出時刻」を現在の時刻で更新する。また、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「顔位置」と肌色エリアＳＫの位置とを用いて、人物の移動方向および移動速度を算出し、追尾情報テーブルＴＢＬ２に記述する。肌色エリアＳＫの位置を人物の顔位置とみなすので、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「顔位置」を、肌色エリアＳＫの位置で更新する。
【００６８】
顔検出処理において同一の顔画像を複数回連続して検出できなかった場合は、追尾探索範囲ＴＲＣの算出において、人数・顔向き管理テーブルＴＢＬ１の「顔位置」に加え、追尾情報テーブルＴＢＬ２の「移動方向」および「移動速度」を考慮する。具体的には、図１５を参照して、追尾情報テーブルＴＢＬ２の「移動方向」に向けて継続して移動すると推定し、推定した移動方向に広くなり、その反対方向に狭くなるように、追尾探索範囲ＴＲＣを算出する。また、「移動速度」に応じて、広くする量または狭くする量を調整する。
【００６９】
追尾処理によって人数・顔向き管理テーブルＴＢＬ１のレコードが更新された人物が再びディジタルカメラ１０の方を向いた場合は、ＣＰＵ３４は、顔検出処理において顔向きパターン辞書ＦＰＤＣと照合し、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「顔向きパターン」が“ＦＰ＿１”〜“ＦＰ＿５”のいずれかで更新する。また、追尾情報テーブルＴＢＬ２の該当レコードを削除する。顔画像が検出された全員が正面を向いており、かつ、全員の当初検出時刻から一定時間が経過している場合は、フラグＦＬＧ＿ｆｒに“１”を設定し、記録処理等を実行する。
【００７０】
追尾探索範囲ＴＲＣにおいて肌色エリアＳＫを発見できなかった場合は、ＣＰＵ３４は、最終検出時刻から一定時間が経過しているか否かを判断する。一定時間が経過していなければ、人数・顔向き管理テーブルＴＢＬ１の「顔位置」と追尾情報テーブルＴＢＬ２の「移動方向」および「移動速度」とを用いて、人物の予測位置を算出する。算出した予測位置が画角内であれば、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「顔位置」を、算出した予測位置で更新する。画角外であれば、人物が退去したと推定し、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「削除フラグ」に“１”を設定する。
【００７１】
追尾情報テーブルＴＢＬ２の「移動方向」および「移動速度」が空であった場合、つまり、顔検出処理において顔画像を検出できなかった後に肌色エリアＳＫも発見できなかった場合は、予測位置を算出できないので、「顔位置」は更新しない。
【００７２】
最終検出時刻から一定時間が経過していれば、顔画像および肌色エリアＳＫが検出されることなく人物が退去したと推定し、「削除フラグ」に“１”を設定する。「削除フラグ」に“１”が設定されたレコードは人数・顔向き管理テーブルＴＢＬ１から削除され、同時に追尾情報テーブルＴＢＬ１からも対応するレコードが削除される。
【００７３】
以上述べた追尾処理を、図１６（Ａ）、図１６（Ｂ）、図１６（Ｃ）、図１７（Ａ）、および図１７（Ｂ）を参照して、以下に具体的に説明する。図１６（Ａ）は１回目の顔検出処理が実行される際の被写界の状態を、図１６（Ｂ）は１回目の追尾処理が実行される際の被写界の状態を、図１６（Ｃ）は２回目の追尾処理が実行される際の被写界の状態を、図１７（Ａ）は１回目の顔検出処理から一定時間経過後の４回目の顔検出処理が実行される際の被写界の状態を、図１７（Ｂ）は４回目の顔検出処理で検出されない顔画像があって３回目の追尾処理が実行される際の被写界の状態を、それぞれ示している。
【００７４】
図１６（Ａ）の状態では、３人の人物ＨＢ１３、ＨＢ１４、およびＨＢ１５の顔画像が検出されている。また、全員が正面を向いているが、最初に検出されてから一定時間が経過していないので、フラグＦＬＧ＿ｆｒに“１”は設定されない。
【００７５】
図１６（Ｂ）の状態では、人物ＨＢ１４が後ろを向いたことによって顔画像が検出されないので、人数・顔向き管理テーブルＴＢＬ１の「顔向きパターン」が“ＮＧ”とされ、追尾処理が実行される。人物ＨＢ１４は右上に移動しているが、１回目の顔検出処理で検出された顔位置に基づいて追尾探索範囲ＴＲＣが設定され、その範囲内で肌色エリアＳＫが検出されたので、肌色エリアＳＫの位置に人物ＨＢ１４が存在すると推定される。１回目の顔検出処理で検出された顔位置および肌色エリアＳＫの位置から、人物ＨＢ１４の移動方向と移動速度が算出され、追尾情報テーブルＴＢＬ２に記述される。また、人数・顔向き管理テーブルＴＢＬ１は、肌色エリアＳＫの位置を顔位置と擬制して更新される。
【００７６】
図１６（Ｃ）の状態では、人物ＨＢ１４は後ろを向いたまま移動を続けており、顔検出処理によっては顔画像が検出されない。よって、追尾処理が実行される。１回目の追尾処理で検出された肌色エリアＳＫの位置、算出された移動方向、および算出された移動速度に基づいて、追尾探索範囲ＴＲＣが右上に広く設定されている。そして、設定された追尾探索範囲ＴＲＣの範囲内で肌色エリアＳＫが検出されたので、肌色エリアＳＫの位置に人物ＨＢ１４が存在すると推定される。肌色エリアＳＫの位置に基づいて、移動方向、移動速度、および顔位置が更新される。
【００７７】
図１７（Ａ）の状態では、人物ＨＢ１４が正面を向いたので、顔検出処理において「顔向きパターン」が“ＦＰ＿１”に更新される。また、人物ＨＢ１３およびＨＢ１５も正面を向いており、全員の当初検出時刻から一定時間が経過しているので、フラグＦＬＧ＿ｆｒに“１”が設定される。よって、図１７（Ａ）の状態で、厳格ＡＥ処理、ＡＦ処理、静止画取り込み処理、および記録処理が実行される。
【００７８】
図１７（Ｂ）の状態では、図１６（Ｃ）の状態から人物ＨＢ１４がさらに移動を続けて、画角外に出てしまっている。顔検出処理によっては顔画像が検出されないので追尾処理が実行される。しかし、人物ＨＢ１４は画角外に出ているので、追尾探索範囲ＴＲＣの範囲内で肌色エリアＳＫは検出されない。よって、３回目の追尾処理で検出された肌色エリアＳＫの位置、算出された移動方向、および算出された移動速度に基づいて、予測位置が算出される。算出された予測位置が画角外であるので、人数・顔向き管理テーブルＴＢＬ１の該当レコードの「削除フラグ」に“１”が設定されて、そのレコードが削除される。それとともに、追尾情報テーブルＴＢＬ２の対応するレコードも削除される。人数・顔向き管理テーブルＴＢＬ１にレコードが残されている人物ＨＢ１３およびＨＢ１５は正面を向いており、２人の当初検出時刻から一定時間が経過しているので、フラグＦＬＧ＿ｆｒに“１”が設定される。よって、２人が画角内に存在する図１７（Ｂ）の状態で、厳格ＡＥ処理、ＡＦ処理、静止画取り込み処理、および記録処理が実行される。
【００７９】
ＣＰＵ３４は、図１８に示す集合写真撮像タスクおよび図１９〜２８に示す人数・顔向き検出タスクを含む複数のタスクを実行する。なお、これらのタスクに対応する制御プログラムは、フラッシュメモリ４２に記憶される。
【００８０】
図１８を参照して、ステップＳ１では動画取り込み処理を開始し、この結果、被写界を表すスルー画像がＬＣＤモニタ３０に表示される。ステップＳ３では人数・顔向き検出タスクを起動する。
【００８１】
フラグＦＬＧ＿ｆｒは、起動された人数・顔向き検出タスクの下で“０”に初期設定され、顔検出処理によって顔画像が検出された全員の顔向きが正面で、かつ、全員の当初検出時刻から一定期間が経過したときに、“１”に更新される。ステップＳ５ではこのようなフラグＦＬＧ＿ｆｒが“１”に更新されたか否かを繰り返し判別し、判別結果がＮＯである限り、ステップＳ７で簡易ＡＥ処理を繰り返し実行する。スルー画像の明るさは、簡易ＡＥ処理によって適度に調整される。
【００８２】
判別結果がＮＯからＹＥＳに更新されると、ステップＳ９では厳格ＡＥ処理を実行し、ステップＳ１１ではＡＦ処理を実行する。厳格ＡＥ処理およびＡＦ処理の結果、スルー画像の明るさおよびフォーカスが厳格に調整される。
【００８３】
ステップＳ１３では静止画取り込み処理を実行する。ステップＳ１５では記録処理を実行し、その後にステップＳ３に戻る。
【００８４】
図１９を参照して、ステップＳ２１ではフラグＦＬＧ＿ｆｒに“０”を設定し、ステップＳ２３では人数・顔向き管理テーブルＴＢＬ１を初期化する。また、ステップＳ２５では、人数・顔向き管理テーブルＴＢＬ１のレコード数を表す変数ＲＥＣ１に“０”を設定する。
【００８５】
ステップＳ２７では垂直同期信号Ｖｓｙｎｃが発生したか否かを判別する。判別結果がＮＯからＹＥＳに更新されると、ステップＳ２９では、探索画像エリア２４ｃに格納された画像データから人物の顔画像を探索するべく、顔検出処理を実行する。
【００８６】
顔検出処理が完了すると、ステップＳ３１では、一旦検出された顔画像の情報を更新するべく、更新・追加処理を実行する。更新・追加処理が完了すると、ステップＳ３３では、一旦検出されたがその後検出されなかった顔画像の情報を管理するべく、検出不可処理を実行する。
【００８７】
検出不可処理が完了すると、ステップＳ３５では削除フラグに“１”が設定されているレコードを人数・顔向き管理テーブルＴＢＬ１から削除し、ステップＳ３７では対応するレコードを追尾情報テーブルＴＢＬ２から削除する。また、ステップＳ３９では、ステップＳ３５で人数・顔向き管理テーブルＴＢＬ１から削除したレコード数だけ、変数ＲＥＣ１を減ずる。
【００８８】
ステップＳ４１では人数・顔向き管理テーブルＴＢＬ１を参照して顔画像が検出された人物全員が正面を向いているか否かを判別し、判別結果がＮＯであればステップＳ２７に戻り、ＹＥＳであればステップＳ４３に進む。
【００８９】
ステップＳ４３では人数・顔向き管理テーブルＴＢＬ１を参照して顔画像が検出された人物全員の当初検出時刻から一定時間が経過しているか否かを判別し、判別結果がＮＯであればステップＳ２７に戻り、ＹＥＳであればステップＳ４５に進む。
【００９０】
ステップＳ４５ではフラグＦＬＧ＿ｆｒに“１”を設定し、その後に処理を終了する。
【００９１】
図１９に示すステップＳ２９の顔検出処理は、図２１〜図２２に示すサブルーチンに従って実行される。まず、ステップＳ５１では顔検出ワークテーブルＴＢＬｗを初期化する。ステップＳ５３では、顔検出ワークテーブルのレコード数を示す変数ＲＥＣｗに“０”を設定する。
【００９２】
ステップＳ５５では評価エリアＥＶＡの全域を顔検出処理における探索エリアとして設定する。
【００９３】
ステップＳ５７では、顔検出枠ＦＤのサイズの可変範囲を定義するべく、顔検出枠ＦＤの最大サイズＳＺｍａｘを“２００”に設定し、最小サイズＳＺｍｉｎを“２０”に設定する。ステップＳ５９では顔検出枠ＦＤのサイズを“ＳＺｍａｘ”に設定し、ステップＳ６１で顔検出枠ＦＤを探索エリアの左上位置に配置する。
【００９４】
ステップＳ６３では、顔検出枠ＦＤに属する一部の画像データを探索画像エリア２４ｃから読み出し、読み出された画像データの特徴量を算出する。ステップＳ６５では、算出された特徴量を顔向きパターン辞書ＦＰＤＣに収められた顔向きパターンの特徴量と照合する照合処理を実行する。
【００９５】
フラグＦＬＧ＿Ａは、照合処理の下で“０”に初期設定され、顔検出枠ＦＤに属する画像データから人物の顔画像が検出されたときに、“１”に更新される。ステップＳ６７ではこのようなフラグＦＬＧ＿Ａが“１”に更新されたか否かを判別し、判別結果がＮＯであればステップＳ７３に進む。判別結果がＹＥＳであれば、ステップＳ６９で、顔検出枠ＦＤの現在の位置、顔検出枠の現時点のサイズ、および照合処理において最も照合度が高かった顔向きパターンを顔検出ワークテーブルＴＢＬｗに記述する。ステップＳ７１では変数ＲＥＣｗをインクリメントする。
【００９６】
ステップＳ７３では、顔検出枠ＦＤが探索エリアの右下位置に到達したか否かを判別する。判別結果がＮＯであれば、ステップＳ７５で顔検出枠ＦＤを既定量だけラスタ方向に移動させ、その後にステップＳ６３に戻る。判別結果がＹＥＳであれば、顔検出枠ＦＤのサイズが“ＳＺｍｉｎ”以下であるか否かをステップＳ７７で判別する。判別結果がＮＯであれば、ステップＳ７９で顔検出枠ＦＤのサイズを“５”だけ縮小させ、ステップＳ８１で顔検出枠ＦＤを探索エリアの左上位置に配置し、その後にステップＳ６３に戻る。ステップＳ７７の判別結果がＹＥＳであれば、上階層のルーチンに復帰する。
【００９７】
図２１に示すステップＳ６５の照合処理は、図２３〜図２４に示すサブルーチンに従って実行される。まず、ステップＳ９１ではフラグＦＬＧ＿Ａを“０”に設定し、ステップＳ９３ではレジスタＲＧＳＴ１を初期化する。
【００９８】
ステップＳ９５では、変数Ｋを“１”に設定し、ステップＳ９７では垂直同期信号Ｖｓｙｎｃが発生したか否かを判別する。判別結果がＮＯからＹＥＳに更新されると、ステップＳ９９では顔検出枠ＦＤに属する画像データの特徴量を顔向きパターン辞書ＦＰＤＣに収められた顔向きパターンの特徴量と照合し、ステップＳ１０１では照合度が基準ＲＥＦを上回るか否かを判別する。
【００９９】
判別結果がＮＯであれば、ステップＳ１１１で変数Ｋをインクリメントし、インクリメントされた変数Ｋが“５”を上回るか否かをステップＳ１１３で判別する。Ｋ≦５であればステップＳ９７に戻る一方、Ｋ＞５であれば上階層のルーチンに復帰する。
【０１００】
ステップＳ１０１の判別結果がＹＥＳであればステップＳ１０３でレジスタＲＧＳＴ１に登録されている照合度があるか否かを判別する。判別結果がＮＯであればステップＳ１０７に進み、ＹＥＳであればステップＳ１０５で、ステップＳ９９で算出された照合度がレジスタに登録されている照合度よりも高いかを判別する。
【０１０１】
ステップＳ１０５の判別結果がＮＯであればステップＳ１１１に進み、ＹＥＳであればステップＳ１０７で、顔向きパターンＦＰ＿ＫおよびステップＳ９９で算出された照合度をレジスタＲＧＳＴ１に登録する。ステップＳ１０９ではフラグＦＬＧ＿Ａを“１”に設定し、ステップＳ１１１に進む。
【０１０２】
図１９に示すステップＳ３１の更新・追加処理は、図２５に示すサブルーチンに従って実行される。まず、ステップＳ１２１では変数Ｆを“０”に設定し、ステップＳ１２３では変数Ｆｍａｘを変数ＲＥＣｗが示す値に設定する。
【０１０３】
ステップＳ１２５では変数Ｆをインクリメントする。ステップＳ１２７では、変数Ｆが変数Ｆｍａｘの値を超えたか否かを判別し、判別結果がＹＥＳであれば上階層のルーチンに復帰する。
【０１０４】
判別結果がＮＯであれば、ステップＳ１２９で顔検出ワークテーブルＴＢＬｗのＦ番目のレコード、すなわち顔検出処理においてＦ番目に検出された人物のレコードを読み出す。
【０１０５】
ステップＳ１３１では変数Ｔを“０”に設定し、ステップＳ１３３では変数Ｔｍａｘを変数ＲＥＣ１が示す値に設定する。
【０１０６】
ステップＳ１３５では変数Ｔをインクリメントする。ステップＳ１３７では変数Ｔが変数Ｔｍａｘの値を超えたか否かを判別し、判別結果がＮＯであればステップＳ１４３に進む一方、判別結果がＹＥＳであれば、ステップＳ１３９に進む。
【０１０７】
ステップＳ１３９では、人数・顔向き管理テーブルＴＢＬ１に新規レコードを追加し、「顔位置」、「顔サイズ」、および「顔向きパターン」には、ステップＳ１２９で読み出した顔検出ワークテーブルＴＢＬｗの同名のカラムと同じ内容を記述する。「当初検出時刻」および「最終検出時刻」には、いずれも現在の時刻を記述する。
【０１０８】
ステップＳ１４１では変数ＲＥＣ１をインクリメントし、その後にステップＳ１２５に戻る。
【０１０９】
ステップＳ１４３では、人数・顔向き管理テーブルＴＢＬ１のＴ番目のレコードを読み出す。ステップＳ１４５では、ステップＳ１２９およびステップＳ１４３で読み出した２つのレコードの顔位置が重なるか否かを判別する。判別結果がＮＯであればステップＳ１３５に戻る一方、ＹＥＳであればステップＳ１４７に進む。
【０１１０】
ステップＳ１４７では、人数・顔向き管理テーブルＴＢＬ１のＴ番目のレコードの「顔位置」、「顔サイズ」、および「顔向きパターン」を、ステップＳ１２９で読み出した顔検出ワークテーブルＴＢＬｗの同名のカラムの内容で更新する。また、「最終検出時刻」を現在の時刻で更新する。その後にステップＳ１２５に戻る。
【０１１１】
図１９に示すステップＳ３３の検出不可処理は、図２６に示すサブルーチンに従って実行される。まず、ステップＳ１５１では変数Ｕを“０”に設定し、ステップＳ１５３では変数Ｕｍａｘを変数ＲＥＣ１が示す値に設定する。
【０１１２】
ステップＳ１５５では変数Ｕをインクリメントする。ステップＳ１５７では、変数Ｕが変数Ｕｍａｘの値を超えたか否かを判別し、判別結果がＹＥＳであれば上階層のルーチンに復帰する。判別結果がＮＯであれば、ステップＳ１５９で人数・顔向き管理テーブルＴＢＬ１のＵ番目のレコードを読み出す。
【０１１３】
ステップＳ１６１ではステップＳ１５９で読み出したレコードの「最終検出時刻」が直前の更新・追加処理よりも過去の時刻であるか否かを判別する。判別結果がＮＯであればステップ１６３に進む一方、ＹＥＳであればステップＳ１６７に進む。
【０１１４】
ステップＳ１６３ではそのレコードに対応するレコードが追尾情報テーブルＴＢＬ２にあるか否かを判別し、判別結果がＮＯであればステップＳ１５５に戻る。判別結果がＹＥＳであればステップＳ１６５で当該レコードを追尾情報テーブルＴＢＬ２から削除した上でステップＳ１５５に戻る。
【０１１５】
ステップＳ１６７では、顔画像が検出されなかった人物について画角内での存在を把握すべく、追尾処理を実行する。追尾処理の完了後、ステップＳ１５５に戻る。
【０１１６】
図２６に示すステップＳ１６７の追尾処理は、図２７および図２８に示すサブルーチンに従って実行される。
【０１１７】
ステップＳ１７１では検出不可処理のステップＳ１５９で読み出したレコードの「顔向き」に“ＮＧ”が設定されているか否かを判別し、判別結果がＹＥＳであればステップＳ１７７に進む一方、ＮＯであればステップＳ１７３に進む。
【０１１８】
ステップＳ１７３では、検出不可処理のステップＳ１５９で読み出したレコードの「顔向き」を“ＮＧ”に設定し、ステップＳ１７５では追尾情報テーブルＴＢＬ２に新規レコードを追加する。
【０１１９】
ステップＳ１７７では、追尾情報テーブルＴＢＬ２の対応するレコードに、「移動方向」および「移動速度」が記述されているか否かを判別する。
【０１２０】
判別結果がＮＯであれば、ステップＳ１７９で、検出不可処理のステップＳ１５９で読み出したレコードの「顔位置」に基づいて追尾探索範囲ＴＲＣを算出し、その後にステップＳ１８３に進む。
【０１２１】
判別結果がＹＥＳであれば、ステップＳ１８１で、検出不可処理のステップＳ１５９で読み出した人数・顔向き管理テーブルＴＢＬ１の「顔位置」と追尾情報テーブルＴＢＬ２の対応するレコードの「移動方向」および「移動速度」とに基づいて、追尾探索範囲ＴＲＣを算出する。その後にステップＳ１８３に進む。
【０１２２】
ステップＳ１８３では、ステップＳ１７９またはステップＳ１８１で算出された追尾探索範囲ＴＲＣの範囲内で、肌色エリアＳＫを探索する。
【０１２３】
ステップＳ１８５では、ステップＳ１８３で肌色エリアＳＫが検出されたか否かを判別し、判別結果がＹＥＳであればステップＳ１８７に進む一方、ＮＯであればステップＳ１９５に進む。
【０１２４】
ステップＳ１８７では、検出不可処理のステップＳ１５９で読み出したレコードの「最終検出時刻」を現在の時刻で更新する。
【０１２５】
ステップＳ１８９では、検出不可処理のステップＳ１５９で読み出したレコードの「顔位置」と肌色エリアＳＫの位置とを用いて、人物の移動方向および移動速度を算出する。ステップＳ１９１では、ステップＳ１８９で算出した人物の移動方向および移動速度を、追尾情報テーブルＴＢＬ２に記述する。
【０１２６】
ステップＳ１９３では、検出不可処理のステップＳ１５９で読み出したレコードの「顔位置」を、肌色エリアＳＫの位置または後述するステップＳ１９９で算出する予測位置で更新し、その後に上階層のルーチンに復帰する。
【０１２７】
ステップＳ１９５では検出不可処理のステップＳ１５９で読み出したレコードの「最終検出時刻」から一定時間が経過しているか否かを判別し、判別結果がＮＯであればステップＳ１９７に進む一方、ＹＥＳであればステップＳ２０３に進む。
【０１２８】
ステップＳ１９７では、追尾情報テーブルＴＢＬ２の対応するレコードに、「移動方向」および「移動速度」が記述されているか否かを判別し、判別結果がＮＯであれば上階層のルーチンに復帰する一方、ＹＥＳであればステップＳ１９９に進む。
【０１２９】
ステップＳ１９９では、検出不可処理のステップＳ１５９で読み出したレコードの「顔位置」と追尾情報テーブルＴＢＬ２の対応するレコードの「移動方向」および「移動速度」とを用いて、人物の予測位置を算出する。
【０１３０】
ステップＳ２０１ではステップＳ１９９で算出された予測位置が画角外であるか否かを判別する。判別結果がＹＥＳであればステップＳ２０３に進む一方、ＮＯであればステップＳ１９３に進む。
【０１３１】
ステップＳ２０３では検出不可処理のステップＳ１５９で読み出したレコードの「削除フラグ」を“１”に設定し、その後に上階層のルーチンに復帰する。
【０１３２】
以上の説明から分かるように、イメージセンサ１６は、被写界を捉える撮像面で生成された被写界像を繰り返し出力する。ＣＰＵ３４は、イメージセンサ１６から出力された被写界像から特定物体像を探索する処理を互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して繰り返し実行し(S29)、被写界に存在する特定物体の数を探索結果に基づいて検出する(S25, S31~S39)。ＣＰＵ３４はまた、検出された数に相当する特定物体のいずれもが姿勢条件を満足するか否かを探索結果に基づいて繰り返し判別し(S41, S43)、判別結果が否定的な結果から肯定的な結果に更新されたときイメージセンサ１６から出力された被写界像を記録する(S5~S15, S45)。
【０１３３】
探索処理は互いに異なる姿勢を各々が有する複数の参照用特定物体像を利用して実行されるため、特定物体像の数および姿勢が被写界像毎に特定される。また、探索処理は繰り返し実行されるため、複数の探索結果を参照することで被写界に存在する特定物体の数が明らかとなる。
【０１３４】
被写界に存在する特定物体のいずれもが姿勢条件を満足するか否かは探索処理の結果に基づいて繰り返し判別され、被写界像の記録処理は判別結果が否定的な結果から肯定的な結果に更新されたときに実行される。
【０１３５】
この結果、記録される被写界像は、被写界に存在する特定物体のいずれもが姿勢条件を満足する状態で生成された被写界像となる。これによって、記録被写界像の品質を改善することができる。
【０１３６】
なお、この実施例では、追尾処理においては、追尾探索範囲ＴＲＣの範囲内で肌色エリアＳＫを探索することによって、人物の存在を検出している。しかし、顔検出処理によって顔画像が検出された際に、顔検出枠ＦＤに属する画像データの色情報、輝度情報、または形状情報等を保持しておき、追尾処理の際に、これらの保持されている情報との照合度が一定以上の領域を追尾探索範囲ＴＲＣの範囲内で探索するようにして、人物の存在を検出してもよい。
【０１３７】
また、この実施例では、顔向きパターン辞書ＦＰＤＣに収められる人物の顔向きパターンをＦＰ＿１〜ＦＰ＿５の５つとしている。しかし、５つ以上または５つ未満の顔向きパターンを収めるようにして、照合処理を実行するようにしてもよい。
【０１３８】
また、この実施例では、フラグＦＬＧ＿ｆｒに“１”が設定されている場合には自動的に記録処理等を行っている。しかし、撮影者がキー入力装置３６を通じて手動でシャッタボタンを押さない限り、記録処理等を実行しないようにしてもよい。この場合、撮影者が撮影しようとする際にフラグＦＬＧ＿ｆｒに“１”が設定されていると記録処理等を実行するが、フラグＦＬＧ＿ｆｒに“０”が設定されていると記録処理等を実行せずに警告を発するようにすればよい。
【符号の説明】
【０１３９】
１０  …ディジタルカメラ
１６  …イメージセンサ
２４  …ＳＤＲＡＭ
３２  …ＡＥ／ＡＦ評価回路
３４  …ＣＰＵ
４０  …記録媒体
４２  …フラッシュメモリ
ＦＰＤＣ  …顔向きパターン辞書
【図１】
2011193063.tif 000003
【図２】
2011193063.tif 000004
【図３】
2011193063.tif 000005
【図４】
2011193063.tif 000006
【図５】
2011193063.tif 000007
【図６】
2011193063.tif 000008
【図７】
2011193063.tif 000009
【図８】
2011193063.tif 000010
【図９】
2011193063.tif 000011
【図１０】
2011193063.tif 000012
【図１１】
2011193063.tif 000013
【図１２】
2011193063.tif 000014
【図１３】
2011193063.tif 000015
【図１４】
2011193063.tif 000016
【図１５】
2011193063.tif 000017
【図１６】
2011193063.tif 000018
【図１７】
2011193063.tif 000019
【図１８】
2011193063.tif 000020
【図１９】
2011193063.tif 000021
【図２０】
2011193063.tif 000022
【図２１】
2011193063.tif 000023
【図２２】
2011193063.tif 000024
【図２３】
2011193063.tif 000025
【図２４】
2011193063.tif 000026
【図２５】
2011193063.tif 000027
【図２６】
2011193063.tif 000028
【図２７】
2011193063.tif 000029
【図２８】
2011193063.tif 000030