(57)【要約】【課題】画像から主たる被写体領域を検出して追従させる際の応答性を向上しつつ、精度を確保する技術の実現。【解決手段】撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を撮像する装置の撮像時のブレ量を検出するブレ量検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定する演算回路と、を有し、前記演算回路は、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算する。【選択図】図１
2008061219.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像から被写体の特徴部を検出する特徴検出回路と、
前記撮像画像を撮像する装置の撮像時のブレ量を検出するブレ量検出回路と、
前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、
前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定する演算回路と、を有し、
前記演算回路は、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算することを特徴とする画像処理装置。
【請求項２】
前記演算回路は、前記ブレ量が閾値より小さい場合に、前記枠の移動量を前記ブレ量に基づいて演算することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算回路は、前記ブレ量が前記閾値以上である場合に、前記枠の移動量を前記ブレ量に基づく前記枠の移動量の演算を行わないことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記演算回路は、前記ブレ量が前記閾値以上である場合に、前記特徴検出回路にて検出された特徴部を基に、前記枠の新たな位置を設定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記演算回路は、前記特徴検出回路にて前記被写体の特徴部が検出されてから、新たな特徴部が検出されるまでの間に、前記枠の移動量を前記ブレ量に基づいて演算することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記特徴検出回路は、前記演算回路が前記枠の移動量を前記ブレ量に基づいて演算する間は、前記演算回路が前記枠の移動量を前記ブレ量に基づいて演算しないときに比較して、前記撮像画像から被写体の特徴部を検出する処理の間隔を長くすることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記表示部は、前記特徴検出回路にて検出された特徴部を基に前記枠の位置が移動する場合と、前記ブレ量を基に前記枠の位置が移動する場合とで、前記枠の表示形態を異ならせることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
撮像画像から被写体の特徴部を検出する特徴検出回路と、
前記撮像画像を撮像する装置の撮像時のブレ量を検出するブレ量検出回路と、
前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、
前記被写体の特徴部を囲む枠の前記撮像画像上の位置を、前記特徴検出回路にて検出された特徴部を基に設定する演算回路と、を有し、
前記表示部は、前記ブレ量検出回路にて検出されたブレ量が閾値以上である場合に、前記枠を消去することを特徴とする画像処理装置。
【請求項９】
前記表示部は、前記ブレ量検出回路にて検出されたブレ量が閾値未満である場合に、前記枠を消去しないことを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記ブレ量検出回路にて検出されたブレ量が閾値以上であるために、前記表示部が前記枠を消去すると、前記演算回路は前記特徴検出回路にて検出された特徴部を基に、前記枠の新たな位置を設定することを特徴とする請求項８に記載の画像処理装置。
【請求項１１】
撮像部と、
前記撮像部にて得た撮像画像から被写体の特徴部を検出する特徴検出回路と、
前記撮像装置の撮像時のブレ量を検出するブレ量検出回路と、
前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、
前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定する演算回路と、を有し、
前記演算回路は、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算することを特徴とする撮像装置。
【請求項１２】
前記ブレ量検出回路は、加速度センサあるいはジャイロであることを特徴とする請求項１１に記載の撮像装置。
【請求項１３】
撮像部と、
前記撮像部にて得た撮像画像から被写体の特徴部を検出する特徴検出回路と、
前記撮像装置の撮像時のブレ量を検出するブレ量検出回路と、
前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、
前記被写体の特徴部を囲む枠の前記撮像画像上の位置を、前記特徴検出回路にて検出された特徴部を基に設定する演算回路と、を有し、
前記表示部は、前記ブレ量検出回路にて検出されたブレ量が閾値以上である場合に、前記枠を消去することを特徴とする撮像装置。
【請求項１４】
前記ブレ量検出回路は、加速度センサあるいはジャイロであることを特徴とする請求項１３に記載の撮像装置。
【請求項１５】
撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部とを備える画像処理装置の制御方法であって、
前記撮像画像を撮像する装置の撮像時のブレ量を検出する工程と、
前記特徴検出回路にて検出された特徴部を基に、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定し、前記枠を表示する工程と、
前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算し、前記枠を表示する工程と、を有することを特徴とする方法。
【請求項１６】
撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部とを備える画像処理装置の制御方法であって、
前記撮像画像を撮像する装置の撮像時のブレ量を検出する工程と、
前記特徴検出回路にて検出された特徴部を基に、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定し、前記枠を表示する工程と、
前記ブレ量が閾値以上である場合に、前記枠を消去する工程と、を有することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像から被写体の顔等の目的とする対象を検出し、この目的とする対象を囲む枠を撮像画像と共に表示する技術に関する。
【背景技術】
【０００２】
従来の撮像装置には、撮影時に画像から人物の顔領域を検出し、検出された顔領域を囲むように顔枠を表示することで、フォーカスされる人物をユーザに認知させて、人物撮影をアシストする顔枠表示機能を持つ機種がある。
【０００３】
特許文献１には、撮影された被写体像をカメラの表示画面に表示し、被写体像の中から検出された顔の画像部分を囲むように顔枠を表示することで、撮影時に検出された顔の画像部分をユーザに認知させる技術が記載されている。
【０００４】
また、特許文献２には、人物撮影時に画像に含まれる被写体の眼を検出し、検出された眼の周りにフォーカス枠を表示し、このフォーカス枠を撮影に用いる合焦位置としてオートフォーカス（ＡＦ）制御を行う技術が記載されている。
【０００５】
また、人物の顔領域の検出方法として、例えば、非特許文献１には、主成分分析による固有顔を用いた方法が記載されており、特許文献３には、目、鼻、口等の特徴点を利用した方法が記載されている。
【特許文献１】特開２００５−２８６９４０号公報
【特許文献２】特開２００５−１２８１５６号公報
【特許文献３】特開平０９−２５１５３４号公報
【非特許文献１】M.A.Turk and A.P.Pentland, "Face recognition using eigenfaces", Proc. of IEEE Conf. on Computer Vision and Pattern Recognition, pp.586-591, 1991.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記顔検出処理は演算量が多いために撮像画像から顔領域を検出するまでに時間が必要である。このため、顔検出結果に基づいて顔枠を表示する際に、例えば装置に手ブレが発生した場合、図１０（ａ）乃至図１０（ｃ）に示すように、手ブレによる移動後の画像の顔検出処理に要する時間だけ顔枠の表示位置の更新が遅れてしまうという問題がある。また、特に画像中に複数の顔が含まれている場合は、更に顔検出処理に要する時間が増大することになる。
【０００７】
また、特許文献２では、被写体にフォーカスが合った人物画像を容易に取得できるようフォーカス枠を表示している。ところが、フォーカス枠は被写体の眼の検出結果に基づいているため、特許文献１と同様に、手ブレ等によって撮像装置が移動した場合、フォーカス枠の表示位置の更新が遅れてしまうという問題がある。
【０００８】
本発明は、上記課題に鑑みてなされ、その目的は、画像から主たる被写体領域を検出して追従させる際の応答性を向上しつつ、精度を確保する技術を実現することである。
【課題を解決するための手段】
【０００９】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を撮像する装置の撮像時のブレ量を検出するブレ量検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定する演算回路と、を有し、前記演算回路は、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算する。
【００１０】
また、本発明の画像処理装置は、撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を撮像する装置の撮像時のブレ量を検出するブレ量検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を、前記特徴検出回路にて検出された特徴部を基に設定する演算回路と、を有し、前記表示部は、前記ブレ量検出回路にて検出されたブレ量が閾値以上である場合に、前記枠を消去する。
【００１１】
また、本発明の撮像装置は、撮像部と、前記撮像部にて得た撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像装置の撮像時のブレ量を検出するブレ量検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定する演算回路と、を有し、前記演算回路は、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算する。
【００１２】
また、本発明の撮像装置は、撮像部と、前記撮像部にて得た撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像装置の撮像時のブレ量を検出するブレ量検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部と、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を、前記特徴検出回路にて検出された特徴部を基に設定する演算回路と、を有し、前記表示部は、前記ブレ量検出回路にて検出されたブレ量が閾値以上である場合に、前記枠を消去する。
【００１３】
また、本発明の画像処理装置の制御方法は、撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部とを備える画像処理装置の制御方法であって、前記撮像画像を撮像する装置の撮像時のブレ量を検出する工程と、前記特徴検出回路にて検出された特徴部を基に、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定し、前記枠を表示する工程と、前記特徴検出回路にて検出された特徴部を基に前記撮像画像上の位置が設定された枠の移動量を、前記ブレ量に基づいて演算し、前記枠を表示する工程と、を有する。
【００１４】
本発明の画像処理装置の制御方法は、撮像画像から被写体の特徴部を検出する特徴検出回路と、前記撮像画像を表示すると共に、表示された撮像画像に対して、前記被写体の特徴部を囲む枠を表示する表示部とを備える画像処理装置の制御方法であって、前記撮像画像を撮像する装置の撮像時のブレ量を検出する工程と、前記特徴検出回路にて検出された特徴部を基に、前記被写体の特徴部を囲む枠の前記撮像画像上の位置を設定し、前記枠を表示する工程と、前記ブレ量が閾値以上である場合に、前記枠を消去する工程と、を有する。
【発明の効果】
【００１５】
本発明によれば、画像から主たる被写体領域を検出して追従させる際の応答性を向上しつつ、精度を確保する技術を実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下に、添付図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００１７】
尚、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１８】
［第１の実施形態］
図１は本発明に係る第１の実施形態の撮像装置のブロック図である。
【００１９】
図１において、本実施形態の撮像装置は、例えばデジタルスチルカメラであり、結像光学部１１０１を通じて入射した被写体の光学像がＣＣＤやＣＭＯＳセンサ等の撮像部としての撮像素子１１０３に結像される。撮像素子１１０３は光学像をアナログの電気信号に光電変換する。光量調節部１１０２は、絞りを備えており、撮像素子１１０３に到達する被写体の光学像の光量を調節する。Ａ／Ｄ変換回路１１０４は撮像素子１１０３から出力される電気信号を、デジタル信号からなる画像データに変換する。
【００２０】
信号処理回路１１０５は、画像データを液晶表示装置等の表示画面に表示したり、手ブレ量検出回路１１０７や顔検出回路１１０８で使用するため、Ａ／Ｄ変換回路１１０４から受け取った画像データを現像する。即ち、信号処理回路１１０５は、Ａ／Ｄ変換回路１１０４から受け取った画像データを、輝度データＹ及び色相データＵ、ＶからなるＹＵＶデータ形式の画像データに現像する機能を有している。この信号処理回路１１０５は、主にＷＢ（ホワイトバランス）回路、ガンマ補正回路、マトリクス変換回路からなる。
【００２１】
信号処理回路１１０５は手ブレ量検出回路１１０７からＣＰＵ１１１１を介して送られる手ブレ量の情報に基づき、手ブレを補正する処理を施すための補正処理回路を含んでいる。信号処理回路１１０５から連続して出力される画像データは、メモリＩ／Ｆ１１０６を介して一時的にメモリ１１１０に保存される。
【００２２】
表示部１１０９は、メモリＩ／Ｆ１１０６を介して、メモリ１１１０に保存されている画像データを読み出してＬＣＤ等の表示画面に表示する。手ブレ量検出回路１１０７は、メモリ１１１０に保存された複数の画像データから撮像時の手ブレによる画像の移動量（以下、手ブレ量）を算出し、その手ブレ量の情報をＣＰＵ１１１１に送出する。手ブレ量は、先ず表示画面を複数の領域に分割し、夫々の領域の局所的な移動量を求め、それらを平均化する統計的処理によって、表示画面全体の移動量を求めることで検出される。
【００２３】
顔検出回路１１０８はメモリＩ／Ｆ１１０６を介してメモリ１１１０に保存されている画像データを読み出し、読み出した画像データに含まれる１又は２以上の人物の顔領域を検出する特徴検出回路である。上記顔領域の検出方法としては、例えば、非特許文献１に開示された、主成分の分析によって得られる固有顔を利用する方法や、特許文献３に開示された目、鼻、口等の特徴点を利用する方法が適用可能である。これら各検出方法は、入力画像と複数の標準パターンとのパターンマッチング法により撮像画像中の被写体が人物の顔であるかどうかを判定している。本実施形態では、予めメモリ１１１０に保存されている人物の顔の標準パターンと、得られた画像データとの間でパターンマッチングを行って判定する。また、手ブレ量検出回路１１０７による画像の移動量の算出に要する時間は、顔検出回路１１０８による顔領域の検出処理に要する時間よりも、十分に短いものとする。なお、画像データから特徴部を抽出することで、目的とする対象を認識するものであれば、その目的とする対象は顔に限定されるものではなく、犬や猫といった動物であってもよい。
【００２４】
顔検出回路１１０８にて得られた顔検出結果はＣＰＵ１１１１に送出される。ＣＰＵ１１１１は顔検出結果に基づき、顔枠表示部１１１２に対して、検出された各々の顔が占める領域の位置を表すデータを送出する。顔枠表示部１１１２はこの顔の位置を表わすデータから、顔の位置を囲む顔枠のデータを生成し、このデータをメモリＩ／Ｆ１１０６を介してメモリ１１１０に記憶させる。この記憶されたデータはメモリＩ／Ｆ１１０６を介して表示部１１０９により読み出され、表示画面において顔枠が被写体の撮像画像上に重ね合わせて表示される。
【００２５】
カウンタ１１１３は後述する図２のフローにおいて、手ブレ量が小さい場合の判定回数をカウントし、ＣＰＵ１１１１に送出する。
【００２６】
フォーカス調節部１１１４は、撮像素子１１０３に結像される光学象のフォーカス状態を調節するため、結像光学部１１０１内になるフォーカスレンズを駆動する。
【００２７】
露出制御部１１１５は、撮像素子１１０３に結像される光学像の光量を調節するため、光量調節部１１０２に備えられた絞りの開口径を制御したり、撮像素子１１０３のリセット走査や電荷読み出し走査のタイミングを制御したりする。
【００２８】
フォーカス調節部１１１４、露出制御部１１１５、及び、信号処理回路１１０５内部のＷＢ回路は、顔検出回路１１０８にて顔が検出されると、検出された顔の領域のみを用いて、ＡＦ調節、自動露出制御、及び、自動ホワイトバランス処理を行う。或いは、検出された顔の領域の画像信号に重みをおいて、ＡＦ調節、自動露出制御、及び、自動ホワイトバランス処理を行う。
【００２９】
［顔枠の表示処理］
次に、図２を参照して第１の実施形態による顔枠の表示処理について説明する。
【００３０】
図２は、第１の実施形態の撮像装置による顔枠の表示手順を示すフローチャートである。撮像装置は、被写体の画像を連続して取得し、動画として表示部１１０９に表示するものであって、表示部１１０９が映し出された人物の顔の位置に、顔枠を重畳して表示する構成を備えている。
【００３１】
尚、図２のフローは、演算回路としての図１のＣＰＵ１１１１が顔検出用のプログラムや表示制御用のプログラムを実行することで実現される。後述するカウンタＣＮＴは、初期値としてゼロに設定されているものとする。
【００３２】
図２において、ステップＳ１０１では、ＣＰＵ１１１１は顔検出回路１１０８に顔検出処理を開始させる。顔検出回路１１０８はメモリ１１１０に保存された最新の画像データを読み出して顔検出処理を行う。顔検出回路１１０８はこの顔検出処理を１回だけ行うのではなく、他のステップと並行しながら繰り返し顔検出処理を行い、新たな顔検出結果が得られるたびに、顔検出結果を更新する。
【００３３】
ステップＳ１０２では、ＣＰＵ１１１１は顔検出回路１１０８から最新の顔検出結果を受け取る。この顔検出結果には、検出された顔が占める領域の位置と大きさを示す情報が含まれている。
【００３４】
ステップＳ１０３では、ＣＰＵ１１１１は顔が検出できたかを判定し、顔が検出できていればステップＳ１０４に進み、顔が検出できていなければステップＳ１１４に進む。
ステップＳ１１４では、ＣＰＵ１１１１はシャッターボタンが押されたかどうか、メニュー画面を呼び出すボタンを押されたかどうか等の、撮像装置の操作状態に基づき、撮像画像の表示を終了するかどうかを判定する。例えば、撮影を行うためにシャッターボタンが押された場合（ステップＳ１１４でＹＥＳ）には、撮像画像の表示を終了し、画像の記録動作に移行するため、このフローを終了する。一方、Ｓ１１４で撮像画像の表示が継続されると判定された場合（ステップＳ１１４でＮＯ）には、ステップＳ１０２に戻り、このステップＳ１０２からの処理を繰り返す。
【００３５】
ステップＳ１０４では、図３（ａ）に示すように、ＣＰＵ１１１１は顔検出結果を基に、被写体の顔に顔枠を重畳させて表示部１１０９に表示させる。
【００３６】
ステップＳ１０５では、ＣＰＵ１１１１は手ブレ量検出回路１１０７で検出される手ブレ量と移動量を取得する。具体的には、手ブレ量検出回路１１０７が、メモリ１１１０に記憶された複数の画像データを読み出す。そして、手ブレ量検出回路１１０７は、複数の画像データの輝度信号を用いて、例えばブロックマッチング法により、１画面を複数に分割した各領域（マクロブロック）毎に、画像の動きベクトルを検出する。そして、各マクロブロックの動きベクトルから、手ブレによる背景画像の動きベクトルと、被写体の動きに起因する動きベクトルとを分離し、撮像装置の手ブレ量、及び、人物の顔領域における局所的な移動量（被写体の動きに起因する動きベクトル）を検出する。
【００３７】
ステップＳ１０６では、ＣＰＵ１１１１は手ブレ量検出回路１１０７から受け取った手ブレ量と閾値とを比較し、手ブレ量が閾値未満であるかを判定する。ステップＳ１０６で手ブレ量が閾値未満であると判定されたときはステップＳ１０７に進む。
【００３８】
ステップＳ１０７では、ＣＰＵ１１１１はステップＳ１０５で取得した手ブレ量と移動量に基づいて、生成された顔枠の移動情報を顔枠表示部１１１２へ送る。顔枠表示部１１１２はこの手ブレ量と移動量の情報に基づいて、顔の位置を囲む顔枠を表すデータを新たに生成し、このデータをメモリＩ／Ｆ１１０６を介してメモリ１１１０に記憶させる。図３（ｂ），（ｃ）に示すように、表示部１１０９は、上記記憶されたデータをメモリＩ／Ｆ１１０６を介して読み出し、顔枠の位置を更新して被写体像上に表示する。
【００３９】
ステップＳ１０８では、カウンタ１１１３はカウンタＣＮＴに１を加算してインクリメントする。以後、ステップＳ１０８を通るたびにカウンタＣＮＴが１ずつ加算されていく。
【００４０】
ステップＳ１０９では、ステップＳ１０８で加算されたカウンタＣＮＴと設定値ＣＮＴmax1とを比較し、カウント値が設定値ＣＮＴmax1よりも達していないかを判定する。
【００４１】
カウント値が設定値ＣＮＴmax1に達していなければステップＳ１１０に進み、上述したステップＳ１１４と同様の判定を行う。そして、撮像画像の表示を終了するならばこのフローを終了し、終了しないのであればステップＳ１０５に戻る。そして、再びＣＰＵ１１１１は手ブレ量検出回路１１０７で検出される手ブレ量と移動量を取得する。
【００４２】
反対に、カウント値が設定値ＣＮＴmax1に達していれば、ステップＳ１１２でカウンタ１１１３はカウンタＣＮＴをリセットする。そしてステップＳ１１３では、ＣＰＵ１１１１はステップＳ１１４と同様の判定を行い、撮像画像の表示を終了するならばこのフローを終了し、表示を終了しないのであればステップＳ１０２に戻り、再び最新の顔検出結果を取得する。
【００４３】
ここで、設定値ＣＮＴmax1は、Ｓ１０５からＳ１１０を繰り返してカウント値が設定値ＣＮＴmax1に達するのに要する時間と、顔検出回路１１０８による１回の顔検出処理に要する平均的な時間がほぼ等しくなるように設定される。つまり、顔検出回路１１０８が一度顔を検出してから、次に顔を検出するまでの間は、手ブレ量と移動量を用いて顔枠の位置が設定されるが、次の顔が検出されれば、この新たに検出された次の顔の位置に基づいて顔枠の位置が設定される。なお、ステップＳ１０９の処理は、単に、顔検出回路１１０８による１回の顔検出処理に相当する時間が経過したか否かを計時するものであっても構わない。
【００４４】
この構成によれば、手ブレ量と移動量を用いて顔枠の位置を更新するので、顔検出処理に要する時間よりも短い間隔で顔枠の位置を更新することができる。つまり、細かな手ブレが生じた場合も、顔検出結果のみを用いて顔枠の位置を更新する場合に比較して、顔枠が高い応答性で顔の位置を追従することが可能となる。
【００４５】
ここで、ステップＳ１０６の説明に戻り、ＣＰＵ１１１１はステップＳ１０５で取得した手ブレ量が閾値以上であるときはステップＳ１１１に進む。手ブレ量検出回路１１０７から取得した手ブレ量と移動量を用いて算出した新たな顔枠の位置は、手ブレ量が多いほど、その信頼性が低くなると考えられる。つまり、この閾値は、手ブレ量の信頼性を判断するための基準値として設定されていることになる。この手ブレ量の閾値は実験的に求めればよく、予めＣＰＵ１１１１にパラメータとして設定されている。
【００４６】
ステップＳ１１１では、ＣＰＵ１１１１は、手ブレ量及び移動量から新たな顔枠の位置の算出を行わず、図３（ｅ）に示すように表示部１１０９に顔枠の表示を消去させる。これは手ブレ量が閾値に達しており、手ブレ量検出回路１１０７から取得した手ブレ量と移動量を用いても、信頼できる顔の位置を求めることができないためである。この手ブレ量の閾値は実験的に求めればよい。顔枠を消去したあとは、ステップＳ１１２とＳ１１３を経由し、ステップＳ１０２に戻るか、あるいは、このフローを終了する。ステップＳ１０２に戻ると、新たな顔検出結果を取得し、図３（ｆ）に示すように新たな顔検出結果に応じた位置に、新たな顔枠が設定される。
【００４７】
以上のフローによれば、顔が検出されると、手ブレ量が閾値よりも小さければ、新たな顔が検出されるまで手ブレ量と移動量とに基づいて顔枠を移動させる（Ｓ１０５〜Ｓ１１０を繰り返す処理、及びＳ１０９〜Ｓ１１３を経由して、Ｓ１０２に戻る処理）。そして、閾値以上の手ブレ量が検出されると、表示されている顔枠を消去し、新たな顔検出結果を用いて顔枠を表示する（ステップＳ１０６からステップＳ１１１、Ｓ１１２、Ｓ１１３を経由して、ステップＳ１０２に戻る処理）。
【００４８】
よって、本実施形態によれば、顔検出回路１１０８にて得られた顔検出結果のみを用いて顔枠の位置を設定する場合に比較して、顔枠の追尾の応答性を高くすることができる。さらに、顔枠がずれる可能性の高い状況では、顔の検出結果に関わらず顔枠を消去することで、顔以外の不自然な位置に顔枠が重畳されてしまうことを抑制することができる。
なお、ステップＳ１０６にて用いられる閾値の値は、ステップＳ１０２で取得した顔の大きさに応じて変更してもよい。同じ量の手ブレが生じた場合であっても、顔が大きければ大きな顔枠が設定されるため、顔枠が画像中の顔から外れる可能性は低くなるが、顔が小さければ小さな顔枠が設定されるため、顔枠が画像中の顔から外れてしまう可能性が高くなる。したがって、検出された顔が大きければ、顔枠が消去される機会を減らすために閾値を大きく設定し、検出された顔が小さければ、顔以外の位置に顔枠が重畳される機会を減らすために閾値を小さく設定する構成としてもよい。
【００４９】
また、手ブレ量と移動量を用いる処理として説明したものを、単に手ブレ量のみを用いる処理に置き換えても同様の効果を得ることができる。
【００５０】
また、読み込んだ動画像に対して顔検出処理を行い、複数の画像データから手ブレ情報を検出することができる装置であれば、パーソナルコンピューター等の画像処理機能を有する装置であっても上記実施形態を実行することが可能である。
【００５１】
［第２の実施形態］
次に、図４のフローチャートを参照して第２の実施形態による顔枠の表示処理について説明する。
【００５２】
第２の実施形態は、手ブレ量と移動量に基づいて顔枠を移動させる際の顔枠の表示形態を、顔検出結果に基づいて顔枠を移動させる際の顔枠の表示形態と異ならせるものである。
【００５３】
尚、第２の実施形態の撮像装置の構成は、図１のブロック図と同様であるので説明を省略する。図４に示すフローチャートのうち、図２に示すフローチャートと異なる部分に関してのみ説明を行う。
【００５４】
本実施形態では、顔枠表示部１１１２が手ブレ量と移動量の情報に基づいて、顔の位置を囲む顔枠を表すデータを新たに生成する方法が異なる。
【００５５】
まず、図４のステップＳ１０６において、手ブレ量が閾値未満であると判定されると、ステップＳ２０１進む。ステップＳ２０１は、顔枠表示部１１１２で手ブレ情報に基づいて生成される顔枠が、ステップＳ１０４にて顔検出結果に基づいて生成された顔枠とは異なる大きさの情報として、メモリＩ／Ｆ１１０６を介してメモリ１１１０に一度記憶される。具体的には、ステップＳ２０１到達した時点で既に表示されている顔枠が占める領域（図５（ａ）を参照）と、ステップＳ１０５にて取得した手ブレ量と移動量に基づいて推定される顔の領域（図５（ｃ）を参照）を、両方とも含む顔枠のデータが形成される。そして、表示部１１０９は、この顔枠のデータをメモリ１１１０から読み出して、顔枠の位置と大きさを更新して被写体像に重畳させて表示する（図５（ｂ）を参照）。この顔枠が表示されるのは一瞬だけであり、その後はすぐに、手ブレ量と移動量に基づいて推定される顔の領域（図５（ｃ）を参照）のみに基づく顔枠のデータが形成され、表示部１１０９によって顔枠の位置と大きさが更新される。
【００５６】
このように、本実施形態では、手ブレ量と移動量によって顔枠の位置を更新する際には、位置を更新する前の顔枠と位置を更新した後の顔枠の、両方を含む顔枠を一度表示してから、顔枠の位置を更新する。これにより、顔枠が顔を追尾する様子を、視覚的に強調した表示を行うことが可能となる。
【００５７】
また、図５（ｄ）乃至図５（ｆ）に示すように、手ブレ量を用いて顔枠の位置を更新するときと、顔検出回路１１０８の顔検出結果を用いて顔枠の位置を更新するときとで、顔枠の表示形態を異ならせるようにしてもよい。図５（ｄ）〜図５（ｆ）における左側の被写体の顔枠は、手ブレ量と移動量を用いてその位置が更新されており、一度、顔枠を拡大する処理を行ってから顔枠の位置が更新されている。これに対し、図５（ｄ）〜図５（ｆ）における右側の被写体の顔枠は、顔検出回路１１０８による顔検出結果を用いてその位置が更新されており、顔枠を拡大することなく顔枠の位置が更新されている。また、これらの顔枠の色を異ならせるようにしてもよい。また、手ブレ量と移動量を用いる処理として説明したものを、単に手ブレ量のみを用いる処理に置き換えても構わない。
【００５８】
［第３実施形態］
次に、図６のフローチャートを参照して第３の実施形態による顔枠の表示処理について説明する。
【００５９】
第３の実施形態は、手ブレ量と移動量に基づいて顔枠を移動させている間は、顔検出回路１１０８の顔検出処理の実行間隔を長くするものである。
【００６０】
尚、第３の実施形態の撮像装置の構成は、図１のブロック図と同様であるので説明を省略する。図６に示すフローチャートのうち、図２に示すフローチャートと異なる部分に関してのみ説明を行う。
【００６１】
本実施形態では、手ブレ量と移動量の情報を用いて顔枠の位置を移動させているか否かに応じて、これと並行して行われる顔検出処理の実行間隔を変化させる。
【００６２】
まず、図６のステップＳ１０４では、ＣＰＵ１１１１は顔検出結果を基に、被写体の顔に顔枠を重畳させて表示部１１０９に表示させ、ステップＳ１０５にて、ＣＰＵ１１１１は手ブレ量検出回路１１０７で検出される手ブレ量と移動量を取得する。
【００６３】
ステップＳ３０１では、ＣＰＵ１１１１は手ブレ量検出回路１１０７から受け取った手ブレ量と移動量をそれぞれの閾値とを比較し、手ブレ量と移動量がともに閾値未満であるかを判定する。手ブレ量と移動量がともに閾値未満であれば、ステップＳ１０７にて、顔枠表示部１１１２は手ブレ量と移動量の情報に基づいて顔枠の位置を更新する。
【００６４】
そしてステップＳ３０２では、ＣＰＵ１１１１は、顔検出回路１１０８の顔検出処理の実行間隔を、初期値である第１の値よりも長い第２の値に設定する。これは、ステップＳ３０１にて手ブレ量と移動量がともにそれぞれの閾値未満であれば、被写体の動き量が少ないシーンであるとみなして、顔検出処理の実行頻度を低くするためである。ステップＳ１０５からＳ１１０を繰り返しており、すでに顔検出処理の実行間隔が第２の値に設定されていれば、このステップを飛ばす。
【００６５】
ステップＳ１０８では、カウンタ１１１３はカウンタＣＮＴに１を加算し、ステップＳ３０４に進む。ステップＳ３０４では、ステップＳ１０８で加算されたカウンタＣＮＴと設定値ＣＮＴmax2とを比較し、カウント値が設定値ＣＮＴmax2よりも小さければステップＳ１１０に進み、小さくなければステップＳ１１２に進む。
【００６６】
ここで、顔検出処理の実行間隔が第２の値に設定された状態にてＳ１０５からＳ１１０を繰り返す。これにより、設定値ＣＮＴmax2は、カウント値が設定値ＣＮＴmax2に達するのに要する時間と、顔検出回路１１０８による１回の顔検出処理に要する平均的な時間とがほぼ等しくなるように設定される。
【００６７】
そしてステップＳ１１０にて撮像画像の表示を終了するならば、ステップＳ３０５で、ＣＰＵ１１１１は、顔検出回路１１０８の顔検出処理の実行間隔を初期値である第１の値に戻し、このフローを終了する。
【００６８】
ここで、ステップＳ３０１に処理に戻り、ステップＳ３０１にて、手ブレ量と移動量の少なくとも一方が閾値以上であれば、ステップＳ１１１、Ｓ１１２、Ｓ１１３を経由してから、ステップＳ３０３へ進む。
【００６９】
ステップＳ３０３において、ＣＰＵ１１１１は、顔検出回路１１０８の顔検出処理の実行間隔を、初期値である第１の値に設定する。これは、ステップＳ３０１にて手ブレ量と移動量の少なくとも一方が閾値以上であれば、被写体の動き量が多いシーンであるとみなして、顔検出処理の実行頻度を高くするためである。
【００７０】
また、ステップＳ３０４にて、カウント値が設定値ＣＮＴmax2に達していれば、ステップＳ１１１、Ｓ１１２、Ｓ１１３を経由してから、ステップＳ３０３へ進み、顔検出回路１１０８の顔検出処理の実行間隔を、初期値である第１の値に設定する。
【００７１】
このように、被写体の動き量が少なく、手ブレ量と移動量を用いて顔枠を顔に移動に追尾させることが可能である場合は、顔検出処理の実行頻度を低くし、顔検出回路１１０８における消費電力を減少させることが可能となる。なお、手ブレ量と移動量を用いる処理として説明したものを、単に手ブレ量のみを用いる処理に置き換えても構わない。
【００７２】
［第４の実施形態］
次に、図７のフローチャートを参照して第４の実施形態による顔枠の表示処理について説明する。
【００７３】
第４の実施形態は、手ブレ量が閾値未満であっても、手ブレ量及び移動量に基づいた顔枠の移動を行わない点が、第１の実施形態と異なる。
【００７４】
尚、第４の実施形態の撮像装置の構成は、図１のブロック図と同様であるので説明を省略する。図７に示すフローチャートのうち、図２に示すフローチャートと異なる部分に関してのみ説明を行う。
【００７５】
まず、図６のステップＳ１０４では、ＣＰＵ１１１１は顔検出結果を基に、被写体の顔に顔枠を重畳させて表示部１１０９に表示させる。ただし、顔枠は検出された顔が中心に配置されるようにして、この顔の領域よりも一回り大きく設定される。
【００７６】
ステップＳ１０５にて、ＣＰＵ１１１１は手ブレ量検出回路１１０７で検出される手ブレ量を取得する。
【００７７】
ステップＳ４０１では、ＣＰＵ１１１１は手ブレ量検出回路１１０７から受け取った手ブレ量と第２閾値とを比較し、手ブレ量が第２閾値未満であるかを判定する。この第２閾値は、ステップＳ１０２で取得した顔の位置が手ブレによって移動したとしても、ステップＳ１０４で設定された顔枠内に収まる値に設定される。つまり、ステップＳ４０１で、手ブレ量が第２閾値未満であると判定されたのであれば、既に表示されている顔枠から顔がはみだしていないと判断することができる。手ブレが生じる度に顔枠内における顔の中心位置はずれるが、複数回の手ブレが生じることで、それぞれの手ブレに起因する顔の位置ずれは相殺されるものとみなす。
【００７８】
ステップＳ１０８では、カウンタ１１１３はカウンタＣＮＴに１を加算してインクリメントする。
【００７９】
ステップＳ１０９では、ステップＳ１０８で加算されたカウンタＣＮＴと設定値ＣＮＴmax1とを比較し、カウント値が設定値ＣＮＴmax1よりも大きくなったかを判定する。カウント値が設定値ＣＮＴmax1に達していなければ、まだ顔検出回路１１０８によって新たな顔が検出されていないと判断し、ステップ１１０へ進む。カウント値が設定値ＣＮＴmax1に達していれば、顔検出回路１１０８によって新たな顔が検出されたと判断し、ステップＳ１１２へ進む。
【００８０】
以上のように、このフローによれば、検出された手ブレが第２閾値以上であれば、顔が顔枠からはみ出したと判断して顔枠を消去し、検出された手ブレが第２閾値未満であれば、顔が顔枠に収まっていると判断して顔枠の表示をそのまま維持する。
【００８１】
よって、本実施形態によれば、顔枠の位置は顔検出回路１１０８による顔検出結果によって決定されるが、大きな手ブレ量が検出されると、顔検出結果の如何に関わらず顔枠が消去される。そのため、顔が顔枠からはみ出した状態で、顔枠が表示され続けることを抑制することができる効果がある。
【００８２】
［第５の実施形態］
次に、図８を参照して第５の実施形態の撮像装置の構成について説明する。
【００８３】
図８は、第５の実施形態の撮像装置の構成を示すブロック図であり、図１と同じの構成には同一の符号を付して示している。
【００８４】
第５の実施形態の撮像装置は、手ブレ量を画像データからではなく、加速度検出装置やジャイロといった機械装置から検出し、検出された手ブレ量に基づいて顔枠の移動量を演算する構成である。
【００８５】
尚、本実施形態の撮像装置による顔枠の表示処理については、第１乃至第４の実施形態のいずれも適用することが可能であるので、説明を省略する。
【００８６】
第１の実施形態では、手ブレ量検出回路１１０７が、メモリ１１１０に記憶された連続して取得した複数の画像データを用いて、画像の動きベクトルを検出している。これに対して、本実施形態の手ブレ量検出回路２１０７は、加速度センサやジャイロ等のブレ検出器を備えており、この検出器により撮像装置の手ブレによる移動量、移動方向、回転量、及び、回転方向が検出される。この手ブレ量検出回路２１０７にて得られた撮像装置の移動量、移動方向、回転量、及び、回転方向を示す手ブレ情報はＣＰＵ１１１１に送信される。
【００８７】
ＣＰＵ１１１１は、手ブレ情報を顔枠の移動情報及び回転情報として顔枠表示部１１１２に送出する。顔枠表示部１１１２はこの移動情報及び回転情報に基づいて顔枠の位置を表すデータを生成し、このデータをメモリＩ／Ｆ１１０６を介してメモリ１１１０に記憶させる。この記憶されたデータはメモリＩ／Ｆ１１０６を介して表示部１１０９により読み出され、図９（ａ）乃至図９（ｃ）に示すように、表示画面において顔枠が被写体の顔の向き、及び、位置にあわせて撮像画像上に重ね合わせて表示される。
【００８８】
上記実施形態によれば、加速度センサやジャイロ等の検出結果を用いて、手ブレ情報を生成し、その手ブレ情報を用いて顔枠の位置を移動させたり、この手ブレ情報を用いて顔枠を消去するか否かを判定したりすることができる。
【００８９】
よって、上記第１の実施形態の効果に加えて、手ブレにより撮像装置が回転する方向に移動した場合でも手ブレ情報を生成できるので、ＣＰＵの演算処理負荷を軽減し、回路規模を小さくすることができる。
【００９０】
［他の実施形態］
本発明は、前述した実施形態の機能を実現するコンピュータプログラムを、システムあるいは装置に直接あるいは遠隔から供給することによって達成される場合も含む。その場合、システム等のコンピュータが該コンピュータプログラムを読み出して実行することになる。
【００９１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるコンピュータプログラム自体も本発明を実現するものである。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００９２】
プログラムを供給するための記録媒体（記憶媒体）としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク等がある。その他にも、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM、DVD-R)等がある。
【００９３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものをダウンロードすることもできる。また圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するコンピュータプログラムを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００９４】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザが、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードすることもできる。この場合、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現する。
【００９５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳ等が、実際の処理の一部又は全部を行うことによっても実現され得る。
【００９６】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットのメモリに書き込まれた後、該ボード等のＣＰＵ等が実際の処理の一部又は全部を行うことによっても実現される。
【図面の簡単な説明】
【００９７】
【図１】本発明に係る第１の実施形態の撮像装置のブロック図である。
【図２】第１の実施形態の撮像装置による顔枠の表示手順を示すフローチャートである。
【図３】第１の実施形態による顔枠の表示例である。
【図４】第２の実施形態の撮像装置による顔枠の表示手順を示すフローチャートである。
【図５】第２の実施形態による顔枠の表示例である。
【図６】第３の実施形態の撮像装置による顔枠の表示手順を示すフローチャートである。
【図７】第４の実施形態の撮像装置による顔枠の表示手順を示すフローチャートである。
【図８】本発明に係る第５の実施形態の撮像装置のブロック図である。
【図９】第５の実施形態による顔枠の表示例である。
【図１０】従来による顔枠の表示例である。
【符号の説明】
【００９８】
１１０３  撮像素子
１１０８，２１０８  顔検出回路
１１０９  表示部
１１１２  顔枠表示部
１１０７，２１０７  手ブレ量検出回路
【図１】
2008061219.tif 000003
【図２】
2008061219.tif 000004
【図４】
2008061219.tif 000005
【図６】
2008061219.tif 000006
【図７】
2008061219.tif 000007
【図８】
2008061219.tif 000008
【図３】
2008061219.tif 000009
【図５】
2008061219.tif 000010
【図９】
2008061219.tif 000011
【図１０】
2008061219.tif 000012