(57)【要約】【課題】画像データから所定の条件を満たす対象を検出する際の検出動作状態を容易に把握することができる画像処理装置を提供する。【解決手段】連続した画像データを用いて動画像を表示するとともに、画像データから所定の条件を満たす対象を検出し、検出された対象の領域を示す対象枠を画像データに重畳して表示する画像処理装置において、ＣＰＵ１０１は以下の制御を行う。即ち、ＣＰＵ１０１は、対象枠が表示されているか否か判断し、対象枠が表示されていると判断した場合に、対象の移動履歴を取得する。また、ＣＰＵ１０１は、対象枠が表示されていると判断された場合に、対象枠の近傍に対象が表示されているか否か判断する。そして、ＣＰＵ１０１は、対象が表示されていないと判断した場合に、所定の時間、移動履歴から生成される表示位置に対象枠を表示する。【選択図】図５
2010130493.tif 000002
【特許請求の範囲】
【請求項１】
連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理装置において、
前記対象枠が表示されているか否か判断する第１の判断手段と、
前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得手段と、
前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断手段と、
前記第２の判断手段により前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記移動履歴は、前記所定の時間に表示できる前記画像データの数に合わせて取得されることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記移動履歴は、前記対象を特定する識別子、前記対象の検出位置、前記対象の大きさの少なくとも１つを用いて構成されることを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記表示位置は、前記対象を検出できなかった直前の前記画像データに対する前記画像データ間の相対座標から算出される方向とは異なる方向に算出されることを特徴とする請求項２または３記載の画像処理装置。
【請求項５】
前記表示位置は、算出される方向によって前記画像データ内に存在しない位置になる場合に、前記画像データ内で移動できる方向に対して算出されることを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記表示手段は、前記対象を検出できなかった直前の前記対象の座標位置を中心として、前記対象枠を複数の方向に移動させて表示することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記表示手段は、前記対象を検出できなかった直前の前記対象の座標位置を中心として、前記対象枠を交互に拡大及び縮小させて表示することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記対象が検出された位置に応じて、前記所定の時間を変更することを特徴とする請求項１記載の画像処理装置。
【請求項９】
前記表示位置は、前記対象を検出する所定の条件における検出探索範囲内であることを特徴とする請求項２または３記載の画像処理装置。
【請求項１０】
前記検出探索範囲が変更されると、前記表示位置の範囲も変更されることを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記対象を検出できなかった場合に、前記所定の時間が経過すると前記移動履歴をリセットすることを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記画像データ内に複数の前記対象が存在する場合、特定の前記対象に対してのみ前記移動履歴を取得することを特徴とする請求項１記載の画像処理装置。
【請求項１３】
連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理方法において、
前記対象枠が表示されているか否か判断する第１の判断ステップと、
前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得ステップと、
前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断ステップと、
前記第２の判断ステップにより前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示ステップと、
を備えることを特徴とする画像処理方法。
【請求項１４】
連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理方法をコンピュータに実行させるプログラムにおいて、
前記画像処理方法は、
前記対象枠が表示されているか否か判断する第１の判断ステップと、
前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得ステップと、
前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断ステップと、
前記第２の判断ステップにより前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示ステップと、
を備えることを特徴とするプログラム。
【請求項１５】
連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する撮像装置において、
前記対象枠が表示されているか否か判断する第１の判断手段と、
前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得手段と、
前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断手段と、
前記第２の判断手段により前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示手段と、
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法、並びにプログラム、撮像装置に関する。特に、連続する画像データから所定の条件を満たす対象を検出し、この対象の検出結果を示す表示機能に特徴のある画像処理装置及び画像処理方法、並びにプログラム、撮像装置に関する。
【背景技術】
【０００２】
近年、撮像装置であるデジタルカメラにおいて、被写体像の中から、特定の領域として顔を検出できるものが実用化されている。これらは、通常の撮像（撮影）による自動合焦制御機能（ＡＦ）、自動露出制御機能（ＡＥ）において、自動制御が困難な場合でも、顔を検出し、顔領域に対してＡＦやＡＥを行うことによって、被写体像に対して適切な焦点及び露出を得ることが可能である。また、顔を検出した場合に、検出領域に枠を表示することで、操作者は、デジタルカメラが顔を検出したか否かを判断することができる。
【０００３】
枠を表示するということにおいては、撮像によって得られた被写体像の中から顔の領域を検出し、撮像時に顔の領域を操作者に知らせることができるようにするデジタルカメラが提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１に提案されたデジタルカメラでは、顔領域に対して枠を表示し、枠内の画像を表す画像データを用いてＡＦ及びＡＥが設定される。そのため、顔の領域に焦点が合い、かつ適正な明るさに調整された被写体像の画像データが記録できる。
【０００５】
このようなデジタルカメラでは、枠の表示により、操作者はデジタルカメラが顔を検出したか否かを判断することができる。しかし、検出状況が急激に変化する場合には、枠も急に表示されたり、非表示になったりと短期間に繰り返されることがある。
【０００６】
例えば、じっとすることが苦手な子供を対象として検出を行う場合には、子供の移動に合わせて検出を行うと、連続的に顔を検出することが難しく、枠が表示されない期間と表示される期間が繰り返され、顔の枠が明滅して見づらく煩わしいものとなる。
【０００７】
そこで、一時的に目的とする対象が検出できなくなっても、その被写体の位置を示す枠表示を時間に応じて継続する技術が提案されている（例えば、特許文献２参照）。
【特許文献１】特開２００５−２８６９４０号公報
【特許文献２】特開２００７−６８１４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、複数の人物に対して枠表示を継続していると、どれが対象のものであり、顔の検出を継続しているのか、検出できなくなっているのかの判断がつきにくい。
【０００９】
例えば、複数の人物が画像内に存在する場合において、主被写体として継続させておきたい場合に、主被写体が横を向いた状態で画面内を移動すると、枠の位置はそのまま残っており誤検出していると感じることとなる。
【００１０】
また、デジタルカメラが顔を検出しようと動いているのかどうか操作者には分からないため、再び顔を検出できるようになるか、枠が消失するまで画角を固定したまま待つことになる。
【００１１】
本発明の目的は、画像データから所定の条件を満たす対象を検出する際の検出動作状態を容易に把握することができる画像処理装置及び画像処理方法、並びにプログラム、撮像装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載の画像処理装置は、連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理装置において、前記対象枠が表示されているか否か判断する第１の判断手段と、前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得手段と、前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断手段と、前記第２の判断手段により前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示手段とを備えることを特徴とする。
【００１３】
請求項１３記載の画像処理方法は、連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理方法において、前記対象枠が表示されているか否か判断する第１の判断ステップと、前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得ステップと、前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断ステップと、前記第２の判断ステップにより前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示ステップとを備えることを特徴とする。
【００１４】
請求項１４記載のプログラムは、連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する画像処理方法をコンピュータに実行させるプログラムにおいて、前記画像処理方法は、前記対象枠が表示されているか否か判断する第１の判断ステップと、前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得ステップと、前記第１の判断ステップにより前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断ステップと、前記第２の判断ステップにより前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示ステップと、を備えることを特徴とする。
【００１５】
請求項１５記載の撮像装置は、連続した画像データを用いて動画像を表示するとともに、前記画像データから所定の条件を満たす対象を検出し、検出された前記対象の領域を示す対象枠を前記画像データに重畳して表示する撮像装置において、前記対象枠が表示されているか否か判断する第１の判断手段と、前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象の移動履歴を取得する取得手段と、前記第１の判断手段により前記対象枠が表示されていると判断された場合に、前記対象枠の近傍に前記対象が表示されているか否か判断する第２の判断手段と、前記第２の判断手段により前記対象が表示されていないと判断された場合に、所定の時間、前記取得手段により取得された前記移動履歴から生成される表示位置に前記対象枠を表示する表示手段とを備えることを特徴とする。
【発明の効果】
【００１６】
本発明の画像処理装置によれば、画像データから所定の条件を満たす対象を検出する際の検出動作状態を容易に把握することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を図面を参照しながら詳細に説明する。
【００１８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る画像処理装置及び撮像装置としてのビデオカメラの構成を示すブロック図である。
【００１９】
図１において、ビデオカメラ１００は、図中の符号１０１〜１０５に示す制御系ブロックを備える。
【００２０】
ＣＰＵ１０１は、内部バス１０５により、ＲＡＭ１０２、ＲＯＭ１０３及びその他の各ブロックに接続され、ＲＯＭ１０３に格納された制御プログラムを基に各ブロックの制御を行う。
【００２１】
ＣＰＵ１０１は、動作時の一時的なデータの格納場所としてＲＡＭ１０２を用いる。また、ＣＰＵ１０１に接続された操作部１０４は、操作者による各種の操作レバーやボタンなどの入力をＣＰＵ１０１に伝え、ＣＰＵ１０１は、操作者の指示に応じて、各種処理を行うことができる。
【００２２】
また、ビデオカメラ１００は、符号１１０〜１１４に示すカメラ系ブロックを備える。
【００２３】
フォーカスレンズ１１０を通過した光は、ＣＣＤ（ＣＣＤイメージセンサ）１１３の撮像面（撮影）面上に結像し、撮像面の光学像が電気信号に変換される。
【００２４】
レンズ制御部１１２は、ＣＰＵ１０１の制御により、フォーカスレンズ１１０及び光量調節装置１１１を駆動して、フォーカスと絞り量の調整を行う。ＡＦＥ１１４は、ＣＰＵ１０１に指示されたシャッター速度に基づき、ＣＣＤ１１３を駆動して画像信号を読み出し、画像信号のサンプル・ホールドと増幅、デジタル信号への変換を行う。
【００２５】
また、ビデオカメラ１００は、図中の符号１２０〜１２４に示す画像処理系ブロックを備える。
【００２６】
ＣＰＵ１０１の制御により、画像入力部１２０には、撮影時にＡＦＥ１１４から画像信号を入力し、再生時にＣＯＤＥＣ１３０から画像信号を入力し、画像処理部１２１にて色変換や解像度変換といった各種の画像信号処理を行う。
【００２７】
フォーカス評価部１２２及び露出評価部１２３は、画像処理部１２１から得た画像信号に含まれる複数の領域に対して、フォーカス及び露出の状態をそれぞれ評価する。
【００２８】
特徴検出部１２４は、画像入力部１２０から読み出した画像信号から、画像に含まれる所定の条件を満たす特徴部分の数と個々の特徴部分の大きさ、位置、特徴に対する信頼度を検出する。特徴検出部１２４で検出した結果は、ＲＡＭ１０２に保存される。
【００２９】
本実施の形態では、画像に含まれる特徴部分として人物の顔領域を検出するものとする。顔領域を検出する技術としては様々な手法が公知となっている。
【００３０】
例えば、ニューラルネットワークやサポートベクターマシンに代表される学習を用いた手法がある。また、目や鼻といった物理的な形状の特徴のある部位を画像領域からテンプレートマッチングで抽出する手法がある。
【００３１】
更に、特開平１０−２３２９３４号公報や特開２０００−４８１８４号公報に示されるように、肌の色や目の形といった画像特徴量を検出し、統計的手法を用いて解析する手法がある。
【００３２】
また、ビデオカメラ１００は、図中の符号１３０〜１３２に示すレコーダ系ブロックを備える。
【００３３】
撮影画像の記録（記憶）時には、ＣＰＵ１０１の制御により、ＣＯＤＥＣ１３０は、画像処理部１２１から得た画像信号を符号化して、メモリコントローラ１３１が符号データをメモリ（ハードディスクやメモリカードなどの内部記録媒体）１３２に記録する。逆に、記録画像の再生時には、ＣＰＵ１０１の制御により、メモリコントローラ１３１は、メモリ１３２から読み出した符号データをＣＯＤＥＣ１３０に渡し復号化する。
【００３４】
また、ビデオカメラ１００は、図中の符号１４０〜１４４に示す表示系ブロックを備える。
【００３５】
描画処理部１４０は、画像処理部１２１から得た画像信号に対して、ＣＰＵ１０１の指示に基づき描画した文字や図形などを重畳してＬＣＤコントローラ１４１へ渡し、ＬＣＤコントローラ１４１では、画像信号をＬＣＤ１４２に出力して表示させる。
【００３６】
また、外部出力コントローラ１４３は、描画処理部１４０から読み込んだ画像信号を、外部端子１４４に接続ケーブル１５０を介して接続されている外部出力装置１５１へ出力して表示させる。
【００３７】
ここで、フォーカスレンズ１１０、光量調節装置１１１及びＣＣＤ１１３は、画像（動画像及び静止画像）を撮影する撮影手段（撮像手段）として機能する。
【００３８】
また、特徴検出部１２４は、撮影された画像から特徴部分を検出する特徴検出手段として機能する。特徴検出部１２４は、動画を構成する複数連続フレームの画像信号から、所定周期で画像信号を受け取り、特徴部分を検出する。
【００３９】
また、ＣＰＵ１０１と特徴検出部１２４は、検出手段によって検出された対象の履歴を保持する検出履歴保持手段として機能する。また、ＣＰＵ１０１は、特徴検出手段によって複数の対象に対して特徴検出が行われた場合には、検出されている個々の対象の履歴を保持するように制御を行う。
【００４０】
また、画像処理部１２１とフォーカス評価部１２２、ＣＰＵ１０１は、特徴検出手段により検出された対象の領域に対して、オートフォーカスを行う焦点制御手段として機能する。焦点制御手段は、得られたフォーカス位置を基に撮影手段に対して制御を行う。
【００４１】
また、画像処理部１２１と露出評価部１２３、ＣＰＵ１０１は、特徴検出手段により検出された対象の領域に対して、自動露出を行う露出制御手段として機能する。露出制御手段によって得られた値を基に、撮影手段に対して制御を行う。
【００４２】
また、描画処理部１４０とＬＣＤコントローラ１４１は、特徴検出手段によって検出された領域に対して検出表示を描画するための表示データを、画像処理部１２１から得られた画像データに重畳して表示する表示手段として機能する。
【００４３】
また、ＣＰＵ１０１と描画処理部１４０は、検出履歴保持手段によって得られた対象の移動履歴から、表示する位置を生成する機能を有する。
【００４４】
図２は、図１のビデオカメラ１００によって実行されるメイン処理の手順を示すフローチャートである。
【００４５】
本処理は、図１におけるＣＰＵ１０１の制御の下に実行される。
【００４６】
電源を入れてから初期起動処理を終了させると、ステップＳ２０１において、カメラ系ブロックから映像データ（１フレームの画像データ）が、画像処理系ブロックに入力される。
【００４７】
ステップＳ２０２で、ＣＰＵ１０１は、ビデオカメラ１００の撮影モードを取得する。撮影モードは、通常は、ビデオカメラ１００の物理的なスイッチやＬＣＤ１４２に表示されるメニュー画面からの操作によって設定することが可能であり、操作部１０４によってＣＰＵ１０１へ通知することにより変更される。
【００４８】
ステップＳ２０３で、ＣＰＵ１０１は、選択された撮影モードのうち、顔を検出するモードが選択されているか否かを判断する。顔を検出するモードが選択されている場合には、特徴検出部１２４において顔領域の検出を行うステップＳ２０４へ進む。
【００４９】
ステップＳ２０４で、ＣＰＵ１０１は、顔領域の検出を行う。検出された顔領域の結果はＲＡＭ１０２に保存され、ＣＰＵ１０１と描画処理部１４０によって、描画位置の座標や、大きさ、色、形状などを算出するための顔枠表示処理を行うため、ステップＳ２０５へ進む。
【００５０】
ステップＳ２０５で、ＣＰＵ１０１は、顔領域の結果を用いた顔枠表示位置の算出が終わると、ＬＣＤコントローラ１４１へ描画情報と表示データを出力し、最終的に顔領域を示す顔枠が画像データに重畳されてＬＣＤ１４２に出力される。
【００５１】
ステップＳ２０３で、顔を検出するモード以外が設定されている場合には、顔検出及び顔領域の枠描画処理は行う必要が無いため、ステップＳ２０６へ進む。
【００５２】
ステップＳ２０６で、操作者によって撮影開始ボタンが押下されたかどうかを操作部１０４によりＣＰＵ１０１へ通知し、ＣＰＵ１０１は、撮影が開始されているか否かを判断する。
【００５３】
撮影が開始されていると、ステップＳ２０７に進み、ＣＰＵ１０１は、レコーダ系を駆動させ、内部のメモリ１３２へ映像（画像データ）を記録する撮影処理を行う。
【００５４】
ステップＳ２０６で、撮影が行われないと判断された場合、メイン処理ルーチンを終了するかどうかの判断を行うステップＳ２０８へ進む。
【００５５】
ステップＳ２０８で、ＣＰＵ１０１は、メイン処理ルーチンを終了するか否かを判断し、必要な終了処理を行う。終了しない場合においては、ステップ２０１の画像取得ルーチンへ戻り、撮影モードの変更などを確認しながらフレーム毎に繰り返していく。尚、顔領域の検出は、特徴検出部１２４の処理能力によっては、毎フレームではなく複数フレームに１回の割合で行われるようにしてもよい。
【００５６】
図３は、図１のビデオカメラ１００において、ＬＣＤ１４２及び外部出力装置１５１に出力された画像の例を示す図である。図３では、出力画像３０１が時間軸で変化する様子を表している。
【００５７】
出力画像３０１で、正面を向いていた被写体の顔領域を示す顔枠３１１が、時間が経つにつれて移動していく被写体に対し、追従している様子を示している。出力画像３０１に対して顔検出を行い、被写体の顔領域を検出し、顔領域の枠表示として顔枠３１１を表示している。
【００５８】
被写体が出力画像３０２から出力画像３０３、出力画像３０４と、画角内を右へ移動していくにつれて、顔枠は、顔枠３１２、顔枠３１３、顔枠３１４と顔領域の位置に座標を変更しながら追従されている。
【００５９】
顔領域の検出結果としては、画像内で検出された複数の顔領域の中から任意の顔領域を識別するための識別子（ＩＤ）、顔領域を検出した中心座標位置、顔領域の大きさ、顔であるかどうかの確度などの情報が得られる。
【００６０】
これらの検出結果情報は、ＲＡＭ１０２へＩＤと関連付けて保存される。検出結果情報は、画像データである各々の出力画像３０１〜３０４の情報である。そのため、出力画像３０１で記憶された検出結果に加えて、出力画像３０２の検出結果、出力画像３０３の検出結果という順序で、履歴データとしてリスト構造で保存される。
【００６１】
図４は、図１のビデオカメラ１００の顔領域の検出結果の履歴データの構造の例を示す図である。具体的には、図４は、出力画像３０１〜３０４の検出結果の履歴データの構造の例を示す図である。
【００６２】
時間４０１は、各々の出力画像を撮影した時間を表しており、時間ｔ１は出力画像３０１の状態を示した検出結果である。検出された被写体の顔領域を示すＩＤ４０２、中心座標位置のＸ座標とＹ座標を示す座標位置（ｘ、ｙ）４０３、検出した顔領域の大きさ４０４、顔であるかどうかの確度４０５が示されている。
【００６３】
ここで、顔領域の中心座標位置は、座標の原点を画面左上とし、Ｘ方向は右を正の方向、Ｙ方向は下を正の方向として、最大値を（Ｘ，Ｙ）＝（３２０、２４０）として表している。但し、この座標は、簡易的に示された座標位置であり、原点位置や最大値、負の方向のいずれかを用いて表しても構わない。
【００６４】
また、履歴データとして、時間、識別子（ＩＤ）、中心座標位置、大きさ、顔であるかどうかの確度をリストとして持つように示したが、同等の情報や追加のパラメータ値などがあってもよい。また、時間ではなく画像フレーム番号などの検出対象となった画像データを識別できるパラメータを代わりに用いてもよい。
【００６５】
履歴データを、時間ごとの個々のＩＤに対するパラメータの変化について見ていく。時間ｔ２である出力画像３０２のときには中心座標位置４０３が画面内の右方向であるＸ方向の正の位置へ移動し、時間ｔ３である出力画像３０３、時間ｔ４である出力画像３０４と、徐々に右方向へ移動していることがわかる。
【００６６】
図５は、図２のステップＳ２０５で実行される顔枠表示処理の手順を示すフローチャートである。
【００６７】
まず、ステップＳ５０１（第１の判断手段）で、ＣＰＵ１０１は、既に過去の画像データから検出された顔領域の検出結果に基づき、顔領域の枠（顔枠）を表示しているか否かを判断する。顔枠（対象枠）がまだ表示されていなければステップＳ５０２へ進む。ビデオカメラ１００を撮影モードに移行させ、最初に顔枠表示処理（ステツプＳ２０５）を実行する場合には、顔枠がまだ表示されていないため、ステップＳ５０２へ進むことになる。
【００６８】
ステップＳ５０２で、ＣＰＵ１０１は、ステップＳ２０４の顔検出で得られた全ての顔領域の座標を取得する。
【００６９】
ステップＳ５０３で、ＣＰＵ１０１は、ステップ５０２で得られた顔領域の座標を基に、検出された顔領域を囲う顔枠を被写体に重畳させて表示する。
【００７０】
図３に示したように、被写体の頭部を囲うように四角い枠が表示される。表示すると同時に顔枠の位置や付随情報を履歴データへ登録する。
【００７１】
ステップＳ５０４で、ＣＰＵ１０１は、ステップＳ５０２で取得した全ての顔領域の座標に対して顔枠の表示がされていればルーチンを終了し、まだ顔枠の表示がされていなければステップＳ５０３に戻る。ステップＳ２０４で、顔検出が一つもされていなければ、ステップＳ５０２乃至Ｓ５０４では、顔枠の表示については何も行われない。
【００７２】
このルーチンを終了すると顔枠が表示され、検出対象の被写体が動けば顔枠も追従して移動する。尚、顔枠の形状は矩形であっても、楕円であっても、被写体の顔の輪郭に沿う形状のものでもよく、様々な形状のものが適用できる。
【００７３】
ステップＳ５０１に戻り、顔領域の枠を既に表示している場合にはステップＳ５０５へ進む。ステップＳ５０５（取得手段）で、ＣＰＵ１０１は、ステップＳ２０４の顔検出において得られた全ての顔領域の座標を取得する。
【００７４】
ステップＳ５０６（第２の判断手段）で、ＣＰＵ１０１は、既に表示されている顔枠のいずれか一つを選択し、ステップＳ５０５で得られた顔座標の中に、選択した顔枠の近傍に存在するものがあるか否かを判断する。新たに取得した顔領域の座標がこの近傍にあれば、ステップＳ５０７へ進む。
【００７５】
この近傍の範囲は、選択された顔枠によって囲われた人物と新たに取得した顔領域の座標が示す人物とが、各々の座標位置の距離が一定値以下であるか否かを判断することで特定することができる。また、この近傍に位置する顔座標が複数ある場合には、選択した顔枠の座標と最も差異が小さいものを選択してステップＳ５０７の処理を行う。
【００７６】
ステップＳ５０６では、得られた顔領域の座標の他に、顔の確度や大きさといった座標位置以外の情報を用いて精度を高めてもよい。尚、ステップＳ２０４の顔検出において、認識処理によって特定の個人を識別する機能を備えていれば、ステップＳ５０６で、ＣＰＵ１０１は、既に表示されている顔枠によって囲まれている人物と、同じ人物の顔が検出されているかを判断してもよい。
【００７７】
ステップＳ５０７で、ＣＰＵ１０１は、ステップＳ２０４の顔検出結果を用いて、既に表示されている顔枠と、新たに検出された顔の座標の比較を行い、その差を求める。
【００７８】
ステップＳ５０８で、ＣＰＵ１０１は、ステップＳ５０７で得られた差が所定範囲内であると判断したならば、既に表示している顔枠の位置を更新することなく、そのままの位置にて表示を継続する。
【００７９】
逆に、ステップＳ５０８で、ＣＰＵ１０１は、所定距離内に顔の座標がないと判断したならば、ステップＳ５０９で、新たな顔枠の表示を行い、ステップＳ５１０へ進む。また、ステップＳ５０９で、ＣＰＵ１０１は、新たな顔枠の座標位置と付随するデータについて履歴データの更新を行う。
【００８０】
ステップＳ５０８で、ＣＰＵ１０１は、ステップＳ５０７で得られた差が所定範囲内であるかを判断することによって、新たに得られた顔領域の座標が既に表示されている顔枠の中に位置しているかを判断している。顔枠が細かな移動を頻繁に行うと、画面の見易さが低下してしまうため、顔枠の更新頻度を落とすことで、見易さを向上させている。
【００８１】
ステップＳ５０６に戻り、新たに取得した顔領域の座標が上記選択した顔枠の近傍になければステップＳ５１１へ進む。
【００８２】
ステップＳ５１１で、ＣＰＵ１０１は、選択した顔枠に対するタイマが設定されているか否かを判断する。タイマが既にセットされていれば、ステップＳ５１３へ進む。タイマがセットされていなければ、ステップＳ５１２へ進み、ＣＰＵ１０１は、各顔枠に個別のタイマをセットし、ステップＳ５１３へ進む。タイマは対象の顔領域に対する顔枠の表示時間を示す。
【００８３】
ステップＳ５１３で、ＣＰＵ１０１は、タイマがセットされた顔枠は、ステップＳ２０４の顔検出によって顔が検出できなかった枠であると判断できるため、顔枠の消失処理のための新たな顔枠座標位置を算出する。
【００８４】
顔枠座標位置は、図４にて示した過去の履歴データを基に、座標位置の移動履歴から算出される。画面内の右方向への移動が続いた場合、選択した顔枠に対する座標位置のＸ座標の値が大きく変動していることが分かる。
【００８５】
ここで、次に移動するであろう右方向を予測して枠位置を表示すると、検出できているか否かの判断ができない。そこで、これまでの移動方向とは逆方向に、つまり左方向に重心を置いて枠の座標位置の計算を行う。
【００８６】
履歴データ内の各時間に対する座標位置を基に相対座標を計算し、相対座標から直前の画像フレームに対する動きベクトルを導き出し、逆方向に枠位置を表示するように計算を行う。
【００８７】
本実施の形態では、逆方向と示したが、移動方向とは異なる方向に対して一意に決定できる方向であれば、逆方向以外のいかなる方向でもよい。また、座標位置は、ステップＳ５０６で使用される選択した顔枠の検索範囲を示す検出探索範囲内になるように決定される。
【００８８】
顔枠の検出探索範囲を越えた座標である場合、検出探索範囲内で最も距離の近い位置の座標を用いる。顔領域の探索範囲は、画面全体でも、ある領域内に絞って探索してもよく、探索範囲に合わせて座標位置の範囲も変更される。顔枠の座標位置を算出したら、ステップＳ５１４へ進む。また、算出された枠表示の座標位置や付随データを履歴データに対して更新する。
【００８９】
ステップＳ５１４で、ＣＰＵ１０１は、ステップＳ５１２でセットしたタイマを基に、計測時間が所定時間に達したか否かを判断する。
【００９０】
計測時間が所定時間に達していれば、ステップＳ５１５で、ＣＰＵ１０１は、その枠を消去し、計測時間及び履歴データをリセットして初期値に戻す。所定時間に達していなければ、ステップＳ５１６（表示手段）に進み、ＣＰＵ１０１は、顔枠位置の更新を行い、表示を継続すると同時に、タイマの更新も行う。そしてステップＳ５１０へ進む。
【００９１】
ステップＳ５１０で、ＣＰＵ１０１は、全ての既存枠に対して処理を行ったか否かを判断し、行っていなければ未処理の枠の中でいずれか一つの枠を選択し、ステップＳ５０６に戻って処理を継続する。全ての既存枠に対する処理が終了している場合には、ステップＳ５１７へ進む。
【００９２】
ステップＳ５１７で、ＣＰＵ１０１は、全ての既存枠のいずれの近傍にも位置しない顔領域の座標が存在するか否かを判断し、存在していなければこのフローを終了する。全ての既存枠のいずれの近傍にも位置しない顔領域の座標が存在すれば、ＣＰＵ１０１は、新たな顔が検出されたと判断し、新たに顔枠を設定する必要があるため、ステップＳ５１８へ進む。
【００９３】
ステップＳ５１８で、ＣＰＵ１０１は、ステップＳ５０５で取得した顔領域の座標を基に、検出された顔領域を囲うように顔枠を被写体像に重畳させて表示し、同時に顔枠の位置や付随情報を履歴データへ登録する。
【００９４】
ステップＳ５１９で、ＣＰＵ１０１は、顔枠が設定されていない顔領域の座標が残っているか否かを判断し、全ての顔領域の座標に対して顔枠の設定が行われていればこのフローを終了する。まだ顔枠の設定が行われていない顔領域の座標が残っていれば、ＣＰＵ１０１は、ステップＳ５１８へ戻って処理を継続する。
【００９５】
図６は、図２のステップＳ２０７で実行される撮影処理におけるフォーカス、及び露出の処理（ＡＦ・ＡＥ処理）の手順を示すフローチャートである。
【００９６】
ステップＳ６０１で、ＣＰＵ１０１は、画像データを読み込んで、画像処理部１２１においてＡＥ処理、ＡＦ処理を行う。通常、ＡＥ処理、ＡＦ処理は、顔領域の枠として検出された位置に基づいて行われるが、ステップＳ５０６からＳ５０９にて説明したように、検出された顔領域の座標と、表示されている顔枠の位置とが完全に一致しない場合もある。この場合、ＡＥ処理、ＡＦ処理には、顔枠が表示されている位置ではなく、検出された最新の顔領域の座標が用いられる。
【００９７】
ステップＳ６０２で、ＣＰＵ１０１は、露出評価部１２３から得た情報により露出が正しく設定されているかを判断する。ＣＰＵ１０１は、露出が適正であると判断したらステップＳ６０３へ進む。
【００９８】
露出が適正ではないと判断されると、ステップＳ６０４へ進み、ＣＰＵ１０１は、露出評価部１２３と連携してＡＥ制御を行い、適正な露出パラメータを算出し、レンズ制御部１１２に指示を出す。レンズ制御部１１２では、フォーカスレンズ１１０と光量調節装置１１１を制御して適正な露出になるように調整する。その後ステップＳ６０１へ戻る。
【００９９】
ステップＳ６０３で、ＣＰＵ１０１は、露出の適正なパラメータもしくは測定値をＲＡＭ１０２へ記憶させる。そしてステップＳ６０５へ進む。
【０１００】
ステップＳ６０５で、ＣＰＵ１０１は、ホワイトバランスが適正かどうかを判断し、適正であると判断するとステップＳ６０６へ進む。ステップＳ６０５で、ＣＰＵ１０１は、ホワイトバランスが適正でないと判断すると、ステップＳ６０７へ進む。
【０１０１】
ステップＳ６０７で、ＣＰＵ１０１は、画像処理部１２１と連携して色処理のパラメータを調節し、ホワイトバランス制御を行いステップＳ６０１へ戻る。
【０１０２】
ステップＳ６０６で、ＣＰＵ１０１は、パラメータもしくは測定値をＲＡＭ１０２へ記憶させる。そしてステップＳ６０８へ進む。
【０１０３】
ステップＳ６０８で、ＣＰＵ１０１は、フォーカス評価部１２２から得られた情報により、合焦状態であるか否かを判断し、合焦状態であると判断するとステップＳ６０９に進む。
【０１０４】
ステップＳ６０９で、ＣＰＵ１０１は、パラメータあるいは測定値をＲＡＭ１０２へ記憶し、合焦した領域を示すＡＦ枠の表示を設定し、このＡＦ処理及びＡＥ処理を終了する。このＡＦ枠は最新の顔領域の座標とその位置が一致する。
【０１０５】
ステップＳ６０８で、ＣＰＵ１０１は、合焦状態でないと判断すると、ステップＳ６１０へ進み、フォーカス評価部１２２と連携してフォーカス制御を行い、レンズ制御部１１２に指示を出す。レンズ制御部１１２では、フォーカスレンズ１１０と光量調節装置１１１を制御して適正なフォーカスになるように調節する。その後ステップＳ６０１へ戻る。
【０１０６】
ここで、顔枠の表示方法について再び説明を行う。
【０１０７】
本実施の形態では、顔を検出して顔領域を示す枠を表示する（Ｓ５０３、Ｓ５０９、Ｓ５１６、Ｓ５１８）。その顔枠によって囲まれていた人物と一致する可能性の高い人物の顔を検出できないままに、タイマが所定時間に達すると顔枠は消去される（Ｓ５１５）。このタイマが所定時間に達する間、過去の顔検出座標位置履歴を用いて枠位置を更新していく（Ｓ５１３）。
【０１０８】
つまり、顔が検出されなくなってからの顔枠座標位置は、過去の検出履歴を基に算出されており、画像データ間の座標位置の関係によって決定されている。人物の特徴抽出において誤検出を行ってしまい、１フレームのみの顔データが検出された場合には、過去の検出履歴から枠の移動履歴を算出できないため表示は行わない。
【０１０９】
図７（ａ）、（ｂ）、（ｃ）は、図１のビデオカメラ１００の表示例を示す図である。具体的には、図７は、いずれもステップＳ５０６において、図示した最初の画像の少なくとも３フレーム前の画像から最初の画像まで連続して顔枠の近傍に顔が存在すると検出されている状態から、２番目の画像で検出されなくなった例について示している。横軸はいずれも時間を示している。
【０１１０】
図７の（ａ）は、対象となる被写体は画面の左方向から進んできており、画面内の中央で横を向くなどして、顔検出がなされなかった状態となってからも、そのまま画面内を横切る例である。この例において、所定時間は画像データ３枚を表示する時間としている。
【０１１１】
フレーム７０１においては、画面中央で顔の検出がされており、顔枠７１０が表示されている。フレーム７０２になると、対象の人物が顔を横に向けたため、顔を検出できなくなり、ステップＳ５０６で近傍に顔がないと判断され、ステップＳ５１１乃至Ｓ５１６のルーチンへ移動している。
【０１１２】
ステップＳ５１３において、過去の顔検出の履歴から正のＸ方向への移動が続いていることが分かるため、枠位置の算出としては、逆方向である負のＸ方向へ枠位置の座標を出力している。顔枠７１２が算出された顔枠の座標位置であり、ステップＳ５１６において新しい枠位置として更新され、表示が継続される。
【０１１３】
顔枠７１１は、フレーム７０１において検出されていた最後の顔枠であり、本実施の形態においては色を変え破線によって表示を行っているが、色相、形状、濃淡、線幅、線分方向表示率、透明度の少なくとも一つを、現在表示中の顔枠と代えて表示を行えればよい。
【０１１４】
ここで、線分方向表示率とは、例えば、枠線の線分方向に、枠線が全て表示されている場合、即ち、実線で表示されている場合を１００％とする。また、枠線が表示されている部分が単位長さを考えたときに５０％であるとき、即ち、破線であって線分の割合が５０％であるときは５０％という形で表示する。また、最後の顔枠は、表示を行わなくとも本発明の目的は達せられる。
【０１１５】
フレーム７０３及びフレーム７０４は、ステップＳ５１３において、更新された顔枠の履歴も含めて算出される。各々の顔枠の座標位置に対する計算は、過去フレームになるほど採用する割合を小さくするよう計算される。顔を検出できなくなってからの顔枠の座標位置は、過去の履歴の確度が特殊な値となるように記憶され、算出時の履歴の利用において判断できるようになっている。
【０１１６】
顔枠は、フレーム７０２では負のＸ方向へ移動したため、フレーム７０３ではその逆方向である正のＸ方向へ移動し、フレーム７０４では再びその逆方向である負のＸ方向へと移動する。即ち、顔が検出できなくなると、顔枠は顔が検出できなくなる直前の顔枠の座標位置を中心に、往復移動を繰り返し行うことになる。
【０１１７】
図８は、図５のステップＳ５１３で実行される顔枠座標位置算出処理の手順を示すフローチャートである。
【０１１８】
ステップＳ８０１で、ＣＰＵ１０１は、表示継続の所定時間を取得する。表示を継続する時間はフレーム数に相当し、顔領域が検出されなくなってから表示を継続する画像データの数である。
【０１１９】
次に、ステップＳ８０で、ＣＰＵ１０１は、過去の顔を検出した際の移動履歴を検索する。ステップＳ８０３で、ＣＰＵ１０１は、過去の履歴データが表示継続時間分存在するか否かを判断する。表示継続時間に満たない履歴データしか持たない顔である場合は、誤検出である可能性が高く、顔枠の表示時間が継続表示よりも短いため、かえって表示が見にくくなるため表示は行わない。
【０１２０】
ステップＳ８０３で、ＣＰＵ１０１は、履歴データが存在すると判断した場合には、ステップＳ８０４に進む。
【０１２１】
ステップＳ８０４で、ＣＰＵ１０１は、継続表示を行うフレーム数分の過去の移動履歴から、各フレーム間の座標相対移動距離を絶対値で加算し、表示フレーム数で割り、フレーム間平均の絶対移動距離を算出する。
【０１２２】
ステップＳ８０５で、ＣＰＵ１０１は、履歴データから直前の顔枠に対する相対の顔枠移動方向を検出し、逆方向の座標位置になるように移動距離から座標を算出して設定する。
【０１２３】
ステップＳ８０６で、ＣＰＵ１０１は、ステップＳ８０５の算出結果を座標として移動履歴に追加し、顔の確度は検出していないことを示す特殊な値とする。この確度の値は、顔領域の検出時に出力される確度とは異なる値であり、確度なしということを示す値であればどんな値でもよい。
【０１２４】
このフローチャートにおいて、顔枠の位置に用いたアルゴリズムは、座標の相対移動距離と枠移動方向の加算などであったが、直前の座標位置と移動方向から予測して算出してもよいし、一定方向の場合とランダムに移動させる場合とで使い分けを行ってもよい。
【０１２５】
図７の（ｂ）は、画面の端で顔検出が行えなくなった場合を示す。フレーム７２１で検出されていた顔枠７３１が、フレーム７２２で検出されなくなり、以降、フレーム７２４まで移動履歴から算出された座標位置に合わせて表示されている。フレーム７２５において所定時間が経過し顔枠が消失している。
【０１２６】
顔領域が検出できなくなった位置が画面の端であることは、座標位置から推測できるため、その後の移動方向の算出においても、逆方向への移動が困難であると判断できる場合には、本実施の形態に示すように、顔枠を上下へ移動させるように座標位置を算出する。
【０１２７】
フレーム７２２における顔枠７３２では、逆方向である負のＸ方向の位置を算出できるが、フレーム７２３では正のＸ方向の位置へ移動できない。そのため、顔枠７３３のように上へ移動させる。またフレーム７２４では、前回の位置が上であったため、顔枠７３４は逆方向である下へ移動するように算出されている。
【０１２８】
即ち、顔が検出できなくなると、顔枠は顔が検出できなくなる直前の顔枠の座標位置を中心に、複数方向への移動を繰り返し行うことになる。
【０１２９】
また、図７の（ｃ）は、顔領域の検出位置が一定であり、位置が移動されない状態で、振り向いたりして顔の検出ができなくなった場合の例である。
【０１３０】
フレーム７４１で検出されていた顔枠７５１は、フレーム７４２で検出できなくなり、以降、フレーム７４４まで表示していた後、フレーム７４５で所定時間が経過し顔枠が消失している。
【０１３１】
顔領域が検出できなくなった位置が画面の端でないことは座標位置から推測でき、過去の移動履歴から顔領域の座標位置が変わらないことがわかる。
【０１３２】
そのため、履歴データ中の、顔の大きさをパラメータとして抽出することにより、顔枠の大きさの変化により移動方向の算出を行っている。フレーム７４２の顔枠７５２は、過去の履歴データからその大きさを算出し、サイズが大きい方向へと変化させた後は、フレーム７４３の顔枠７５３のように、逆方向である顔枠のサイズが小さい方向へと変化させている。
【０１３３】
即ち、顔が検出できなくなると、顔枠は顔が検出できなくなる直前の顔枠の座標位置を中心に、顔枠のサイズの拡大及び縮小を交互に行うことになる。
【０１３４】
ここまで、画像データ内に対象の人物が一人だけいる場合において説明を行ってきたが、複数の人物が存在し、各々の人物に対して移動履歴を持ち、各々の検出状態に合わせて顔枠の表示を変更してもよい。また、複数の対象の中から特定の対象に対してのみ、上述の検出できなかった場合の顔枠移動を行うことでも、本発明の目的は達せられる。
【０１３５】
以上説明したように、本実施の形態では、顔領域が検出されていた状態から、検出されていない状態に移行したときに、過去の移動履歴から座標を算出して、顔枠の表示を所定時間継続することができる。
【０１３６】
操作者が見ているＬＣＤ画面上などで、不意に顔を検出しなくなった場合、上記のような特殊な表示状態となるため見失ったのかどうかをすぐに判断することができる。従って、複数の顔が表示されている場合など、新たな顔を注力するように撮像装置を移動させたり、他の顔を主の顔として追跡するように指示することが可能となる。
【０１３７】
（第２の実施の形態）
図９は、本発明の第２の実施の形態に係る画像処理装置及び撮像装置としての監視カメラの構成を示すブロック図である。
【０１３８】
図９において、監視カメラ９００は、図中の符号９０１〜９０５に示す制御系ブロックを備える。
【０１３９】
ＣＰＵ９０１、ＲＡＭ９０２、ＲＯＭ９０３、内部バス９０５は、第１の実施の形態におけるビデオカメラ１００と同じ役割を果たすため、説明はここでは割愛する。監視カメラ９００は、パン・チルト方向への移動を行うため、モータ制御部９０４を持ち、ＣＰＵ９０１からの制御に基づきモータ９７０に対して移動方向を指示する。
【０１４０】
モータ９７０により、監視カメラ９００は、撮像方向を自由に変更することができ、ＣＰＵ９０１とモータ制御部９０４により自由な角度にて停止させることが可能である。また、ＣＰＵ９０１は、モータ制御部９０４から現在のモータ位置に対応する角度を取得することもできる。
【０１４１】
また、監視カメラ９００は、図中の符号９１０〜９１４のカメラ系ブロックを備える。カメラ系ブロックは、第１の実施の形態におけるビデオカメラ１００と同じであるため、説明を割愛する。
【０１４２】
また、監視カメラ９００は、図中の符号９２０〜９２４に示す画像処理系ブロックを備える。この画像処理系ブロックも第１の実施の形態におけるビデオカメラ１００と同じであるため、説明を割愛する。
【０１４３】
同じように、特徴検出部９２４で検出した結果はＲＡＭ９０２に保存される。また、本実施の形態においても、画像に含まれる特徴部分として人物の顔領域を検出するものとする。
【０１４４】
また、監視カメラ９００は、ＣＰＵ９０１の制御により、ＣＯＤＥＣ９３０が画像処理部９２１から得た画像信号を符号化している。描画処理部９４０は、ＣＰＵ９０１の指示に基づき画像処理部９２１から得た画像信号に基づき描画した文字や図形などを重畳して通信部９５０へ渡す。
【０１４５】
通信部９５０は、外部機器９６０と画像データを送受信するものであり、ＣＯＤＥＣ９３０から得られる画像データと描画処理部９４０にて重畳された情報を、ＣＰＵ９０１の指示に基づき外部機器９６０に送信する。
【０１４６】
また、通信部９５０では、画像データの送受信だけでなく、外部機器９６０との間でパラメータ変更や、撮像位置の変更に伴う制御情報なども送受信し、受信したデータをＣＰＵ９０１へ渡す。
【０１４７】
更に、通信部９５０では、送受信する外部機器９６０の情報をＣＰＵ９０１との制御によってＲＡＭ９０２へリストとして保存している。ＣＰＵ９０１は、各種制御情報に基づいて画像の符号化やモータ位置の変更を行う。
【０１４８】
また、ＣＰＵ９０１と描画処理部９４０は、特徴検出部９２４にて検出された顔領域の検出位置移動履歴を用いて、顔枠の表示座標位置を算出する。
【０１４９】
また、本実施の形態では、描画処理部９４０において検出した顔領域の枠を画像データに重畳しているが、描画処理部９４０にて座標位置のみを指示して通信部９５０にて、画像データとは異なる制御情報として外部機器９６０と送受信を行ってもよい。また、顔枠位置の座標情報を画像データの拡張情報領域に格納して、画像データには重畳せずに出力してもよい。
【０１５０】
図１０は、図９の監視カメラ９００によって実行されるメイン処理の手順を示すフローチャートである。
【０１５１】
本処理は、図９におけるＣＰＵ９０１の制御の下に実行される。
【０１５２】
電源を入れてから初期起動処理を終了させると、ステップＳ１００１で、ＣＰＵ９０１は、カメラ系ブロックで使用される撮像パラメータをＲＡＭ１０２より取得する。
【０１５３】
撮像パラメータは、外部機器９６０によって通信部９５０を介してＣＰＵ９０１に対して送られてくる制御情報に含まれているものもあるため、ステップＳ１００２で、ＣＰＵ９０１は、既存の撮像パラメータから変更されているか否かを判断する。
【０１５４】
電源起動時には、これら撮像パラメータは、ＲＯＭ９０３に保存されている初期値を持って起動することになり、ステップＳ１００２では変更なしと判断される。ステップＳ１００２で撮像パラメータが変更ない場合は、ステップＳ１００４に進む。
【０１５５】
ステップＳ１００２で、ＣＰＵ９０１は、撮像パラメータが変更されていると判断すると、ステップＳ１００３で、レンズ制御部９１２や画像処理部９２１、フォーカス評価部９２２、露出評価部９２３、特徴検出部９２４に対して設定を反映する。撮像パラメータを設定し終わるとステップＳ１００４に進む。
【０１５６】
ステップＳ１００４で、ＣＰＵ９０１は、カメラ系ブロックから入力された映像を画像処理系ブロックに渡す。
【０１５７】
ステップＳ１００５で、ＣＰＵ９０１は、設定された撮像パラメータにて顔検出モードになっているかどうかを判断する。
【０１５８】
顔検出モードに設定されていなければステップＳ１００８へ進む。ステップＳ１００５にて顔検出モードであると判断されると、ステップＳ１００６で、ＣＰＵ９０１は、顔検出を行う。
【０１５９】
ステップＳ１００６の顔検出においては、ＣＰＵ９０１は、特徴検出部９２４で顔領域の検出を行い、検出結果をＲＡＭ９０２へ記憶する。
【０１６０】
顔検出された結果を基に、ステップＳ１００７で、ＣＰＵ９０１は、顔枠の描画処理を行う。即ち、ステップＳ１００で、ＣＰＵ９０１と描画処理部９４０にて顔領域の検出結果の履歴を基に、新しい顔枠の座標位置を算出し、画像データに重畳して描画する。
【０１６１】
ステップＳ１００８で、ＣＰＵ９０１は、画像データを配布する通信相手があるかどうか判断する。即ち、ＣＰＵ９０１は、ＲＡＭ９０２に保存してある通信相手のリストを用いて、画像データの取得要求がある通信相手である外部機器９６０が存在するか否かを判断する。
【０１６２】
通信相手の外部機器９６０が存在していれば、ステップ１００９に進む。ステップ１００９で、ＣＰＵ９０１は、通信部９５０において送信処理を行い、画像データを対象の外部機器９６０へ配布する。
【０１６３】
ステップＳ１０１０で、ＣＰＵ９０１は、監視カメラ９００の電源を切って終了するかどうかを判断し、終了しなければステップ１００１へ戻る。終了する場合には、ＣＰＵ９０１は、通信終了処理を行い、過去の移動履歴を削除し、現在の撮像パラメータをＲＯＭ９０３へ記憶し、メイン処理ルーチンを抜ける。
【０１６４】
ここで、ステップＳ１００７の顔枠描画処理について詳しく述べる。
【０１６５】
顔領域の枠表示は、第１の実施の形態にて説明した方法と同じように行われる。ステップＳ１００６で検出された顔領域の結果をＲＡＭ９０２へ移動履歴として保存し、移動履歴を基に、ＣＰＵ９０１と描画処理部９４０にて、顔枠表示の座標を算出する。
【０１６６】
監視カメラ９００は、モータ制御部９０４にてモータ９７０を制御することにより、撮像映像を自由に変更することができる。そのため、画面内の座標位置と実際の顔枠の座標位置が常に一致しているとは限らない。つまり、顔枠の座標算出においては、現在のパン・チルトの位置を加味して算出を行う必要がある。
【０１６７】
図１１は、図１０のステップＳ１００７で実行される顔枠描画処理における顔枠の座標算出処理の手順を示すフローチャートである。
【０１６８】
ステップＳ１１００で、ＣＰＵ９０１は、表示継続の所定時間を取得する。表示を継続する時間は、画像データのフレーム数に相当し、顔領域が検出されなくなってから顔枠の表示を継続する時間である。
【０１６９】
次に、ステップＳ１１０１で、ＣＰＵ９０１は、過去の顔領域を検出した際の移動履歴を検索する。ステップＳ１１０２で、ＣＰＵ９０１は、過去の顔領域の検出履歴データが表示継続の所定時間数に満たないと判断した場合は、誤検出である可能性が高いため、顔枠の表示は行わない。対象の顔領域の検出の移動履歴もリセットする。
【０１７０】
次に、ステップＳ１１０２で、ＣＰＵ９０１は、顔領域の移動履歴が存在すると判断した場合は、ステップＳ１１０３へ進む。
【０１７１】
ステップＳ１１０３で、ＣＰＵ９０１は、現在の監視カメラ９００のパン・チルトの角度を取得する。角度は、モータ９７０のギア比と中心位置からのステップ数によって算出することができ、モータ制御部９０４において測定したデータを用いて取得する。
【０１７２】
更に、ステップＳ１１０４で、ＣＰＵ９０１は、継続表示を行うフレーム数分の顔領域の移動履歴から、各画像データ間における相対移動距離を絶対値によって加算し、残り表示継続時間数で割ることによって算出する。
【０１７３】
ステップＳ１１０５で、ＣＰＵ９０１は、直前の画像フレームの移動方向である動きベクトルの方向から、次に移動するべき方向を導き出す。ここで、検出できているか否かの判断を簡単に行うことができるように、対象に対して追従する方向とは逆方向の座標位置の計算を行う。
【０１７４】
正のＸ方向、正のＹ方向へと移動していれば、顔枠の表示位置となるべき移動方向は負のＸ方向、負のＹ方向となるように、動きベクトルを打ち消す方向に決定される。移動方向が決定されたらステップＳ１１０６へ進む。
【０１７５】
ステップＳ１１０６で、ＣＰＵ９０１は、移動方向と移動座標から、現在表示している顔枠の位置を維持したまま、画面全体を移動させるように、監視カメラ９００のパン・チルト角度を算出する。その後、ステップＳ１１０７で、ＣＰＵ９０１は、パン・チルトの移動方向と座標位置を履歴へ追加する。
【０１７６】
図１２は、図９の監視カメラ９００におけるパン・チルトの移動と顔枠の表示例を示す図である。図１２は、対象の人物は画面内を左から右へと移動している中で、振り向いたため顔領域が検出できなくなった例を示す。
【０１７７】
画像フレーム１２０１で検出された顔領域を囲む顔枠１２１０を、次の画像フレーム１２０２では検出できなかった場合、過去の移動履歴と動きベクトルの方向より、パン・チルト角度が決定される。検出できなくなったことを簡便に明示的に示すため、過去の動きベクトルで予測される移動方向とは逆の位置を選択する。
【０１７８】
画像フレーム１２０２では、これまでの移動履歴が右方向であったことから左方向に画面全体が移動するように角度が決定される。この角度に応じて画像全体を左方向へパン移動している。
【０１７９】
画像フレーム１２０３では、過去の移動履歴より計算された絶対移動距離と、直前の画像フレーム１２０２において移動したパン・チルトの方向より決定された角度により、画面全体を右方向へパン移動している。
【０１８０】
画像フレーム１２０４は、画面全体を左方向へパン移動している。画像フレーム１２０５では、所定時間が経過して元のパン・チルト角度へ戻り、顔枠が消去されたことを示している。
【０１８１】
尚、本実施の形態では、パン・チルトが可能な雲台を持った監視カメラ９００を例に挙げて説明を行った。しかし、画面全体に対する移動方向や角度などの情報が得られるセンサ、例えばジャイロや角度センサなどを用いて、移動履歴とは異なる画角の変化が把握できるような構成であれば、顔枠の移動位置を算出することが可能である。
【０１８２】
以上説明したように、本実施の形態では、顔領域が検出されていた状態から、検出されていない状態に移行したときに、過去の移動履歴から座標を算出して、パン・チルトの角度を変更する。これにより、顔枠の表示を所定時間の継続しながら画角を移動させることができる。
【０１８３】
そのため、監視カメラ９００の看視者が外部出力装置１５１などで表示している画面上で、不意に顔を検出しなくなった場合、画角が変化するため見失ったのかどうかをすぐに判断できることになり、追跡などの操作を行うことができる。
【０１８４】
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【０１８５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１８６】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１８７】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【０１８８】
更に、上述した実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【０１８９】
【図１】本発明の第１の実施の形態に係る画像処理装置及び撮像装置としてのビデオカメラの構成を示すブロック図である。
【図２】図１のビデオカメラ１００によって実行されるメイン処理の手順を示すフローチャートである。
【図３】図１のビデオカメラ１００において、ＬＣＤ１４２及び外部出力装置１５１に出力された画像の例を示す図である。
【図４】図１のビデオカメラ１００の顔領域の検出結果の履歴データの構造の例を示す図である。
【図５】図２のステップＳ２０５で実行される顔枠表示処理の手順を示すフローチャートである。
【図６】図２のステップＳ２０７で実行される撮影処理におけるフォーカス、及び露出の処理（ＡＦ・ＡＥ処理）の手順を示すフローチャートである。
【図７】図１のビデオカメラ１００の表示例を示す図である。
【図８】図５のステップＳ５１３で実行される顔枠座標位置算出処理の手順を示すフローチャートである。
【図９】本発明の第２の実施の形態に係る画像処理装置及び撮像装置としての監視カメラの構成を示すブロック図である。
【図１０】図９の監視カメラ９００によって実行されるメイン処理の手順を示すフローチャートである。
【図１１】図１０のステップＳ１００７で実行される顔枠描画処理における顔枠の座標算出処理の手順を示すフローチャートである。
【図１２】図９の監視カメラ９００におけるパン・チルトの移動と顔枠の表示例を示す図である。
【符号の説明】
【０１９０】
１００  ビデオカメラ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  操作部
１０５  内部バス
１１０  フォーカスレンズ
１１１  光量調節装置
１１２  レンズ制御部
１１３  ＣＣＤ
１１４  ＡＦＥ
１２０  画像入力部
１２１  画像処理部
１２２  フォーカス評価部
１２３  露出評価部
１２４  特徴検出部
１３０  ＣＯＤＥＣ
１３１  メモリコントローラ
１３２  メモリ
１４０  描画処理部
１４１  ＬＣＤコントローラ
１４２  ＬＣＤ
１４３  外部出力コントローラ
１４４  外部端子
１５０  接続ケーブル
１５１  外部出力装置
【図１】
2010130493.tif 000003
【図２】
2010130493.tif 000004
【図３】
2010130493.tif 000005
【図４】
2010130493.tif 000006
【図５】
2010130493.tif 000007
【図６】
2010130493.tif 000008
【図７】
2010130493.tif 000009
【図８】
2010130493.tif 000010
【図９】
2010130493.tif 000011
【図１０】
2010130493.tif 000012
【図１１】
2010130493.tif 000013
【図１２】
2010130493.tif 000014