(57)【特許請求の範囲】
【請求項１】
フォーカスレンズを含む撮影光学系を介して入射した被写体像を光電変換して撮像信号を生成する撮像手段と、
前記撮像信号から撮影画面内の被写体を検出する被写体検出手段と、
前記撮像素子から出力される撮像信号のうち、前記被写体を含んで設定された焦点検出領域に対応する撮像信号から焦点信号を生成する生成手段と、
前記被写体検出手段によって検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかどうかを判断する距離変化判断手段と、
フォーカスレンズを駆動制御して焦点調節を行う制御手段であって、前記距離変化判断手段により被写体距離の変化があると判断される場合に被写体距離の変化に対応させた追従駆動動作をフォーカスレンズの駆動制御として行い、前記距離変化判断手段により被写体距離の変化がないと判断される場合には前記追従駆動動作を制限し、前記焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行う制御手段と、
を有し、
前記距離変化判断手段は、
前記被写体検出手段によって検出された被写体のサイズを検出する被写体サイズ検出手段と、前記被写体検出手段によって検出された被写体の向きの変化を判断する向き変化判断手段と、を含み、
前記被写体サイズ検出手段によって検出された被写体のサイズの変化量が所定値より大きくかつ前記向き変化判断手段によって被写体の向きが変化していないと判断されるときに被写体距離の変化があると判断することを特徴とする自動焦点調節装置。
【請求項２】
前記向き変化判断手段は、
被写体のサイズの変化の急峻度合を検出し、被写体のサイズの変化の急峻度合が所定度合より大きい場合に被写体の向きが変化したと判断することを特徴とする請求項１に記載の自動焦点調節装置。
【請求項３】
前記向き変化判断手段は、
被写体のサイズの変化の急峻度合を検出し、被写体のサイズの変化の急峻度合が所定時間内に増減を繰り返して変動している場合に被写体の向きが変化したと判断することを特徴とする請求項１に記載の自動焦点調節装置。
【請求項４】
前記被写体検出手段は、被写体の顔を検出することを特徴とする請求項１から３の何れか１項に記載の自動焦点調節装置。
【請求項５】
前記距離変化判断手段は、
前記被写体検出手段によって検出された体の部位を基に人体を検出する人体検出手段と、前記人体検出手段によって検出された人体の長さを検出する長さ検出手段と、を含み、
前記長さ検出手段によって検出される人体の長さの変化量が所定値より大きい場合に被写体距離の変化があると判断することを特徴とする請求項１に記載の自動焦点調節装置。
【請求項６】
前記被写体検出手段は、被写体の体の部位の頭、胴体、脚、腕のうちの少なくとも１つを検出することを特徴とする請求項５に記載の自動焦点調節装置。
【請求項７】
前記人体検出手段は、撮像画面の所定の範囲内で検出している体の部位を組み合わせて人体を構成して検出することを特徴とする請求項５または６に記載の自動焦点調節装置。
【請求項８】
前記長さ検出手段で検出する人体の長さは、前記人体検出手段によって検出された人体を構成する体の部位の長さを加算したものであることを特徴とする請求項５から７の何れか１項に記載の自動焦点調節装置。
【請求項９】
前記距離変化判断手段は、
前記被写体検出手段によって検出された顔の部位の複数の位置を検出する位置検出手段と、前記顔の部位の位置間の距離を算出する距離算出手段と、撮像画面に対する顔の傾き度合を検出する傾き検出手段と、顔の部位の位置間の距離を、撮像画面に対する顔の傾きの軸に対して水平及び垂直方向に分解した複数の成分を検出する成分検出手段と、前記成分検出手段の検出出力から複数の成分の変化量を検出する成分変化量検出手段と、を含み、
前記成分変化量検出手段の検出出力が全て変化した場合に被写体距離の変化があると判断することを特徴とする請求項１に記載の自動焦点調節装置。
【請求項１０】
前記被写体検出手段は、顔の部位の目、鼻、口、耳、眉毛のうちの少なくとも１つを検出することを特徴とする請求項９に記載の自動焦点調節装置。
【請求項１１】
フォーカスレンズを含む撮影光学系を介して入射した被写体像を光電変換して撮像信号を生成する撮像ステップと、
撮像信号から撮影画面内の被写体を検出する被写体検出ステップと、
前記撮像ステップにおいて出力される撮像信号のうち、被写体を含んで設定された焦点検出領域に対応する撮像信号から焦点信号を生成する生成ステップと、
前記被写体検出ステップによって検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかどうかを判断する距離変化判断ステップと、
焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行う制御ステップと、
を含む自動焦点調節方法であって、
前記制御ステップにおいて、前記距離変化判断ステップにおいて被写体距離の変化があると判断される場合に被写体距離の変化に対応させた追従駆動動作をフォーカスレンズの駆動制御として行い、前記距離変化判断ステップにおいて被写体距離の変化がないと判断される場合には前記追従駆動動作を制限し、焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行い、
前記距離変化判断ステップにおいて、
前記被写体検出ステップで検出された被写体のサイズを検出する被写体サイズ検出ステップと、前記被写体検出ステップで検出された被写体の向きの変化を判断する向き変化判断ステップと、を含み、
前記被写体サイズ検出ステップで検出された被写体のサイズの変化量が所定値より大きくかつ前記向き変化判断ステップで被写体の向きが変化していないと判断されるときに被写体距離の変化があると判断することを特徴とする自動焦点調節方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像対象に人物などの予め定められた被写体を含む場合に、人物などの特徴部（顔部など）を抽出し、その結果を考慮して焦点調節を行う撮像装置における自動焦点調節装置及び方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラ等の撮像装置の中には、例えば顔等の、予め設定された条件を有する被写体を検出する機能を備え、その検出結果を利用して被写体を自動的に捉えることができるものがある。例えば、被写体の顔を検出し、目の間隔を基に顔の位置にフォーカス枠を自動的に設定することで、簡単に被写体の顔にフォーカスを合わせて撮影することができる。顔に対してフォーカシングする際、顔が光軸方向に移動したときには、フォーカスが追従しきれずにボケてしまうという事態に関して、顔の大きさの変化を基にフォーカスレンズを駆動する方向を決定するという手法が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０３１７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した顔検出機能を用いたフォーカシングにおいて、顔が光軸方向に近づいたり遠ざかったりすると、顔の距離変化にフォーカスが追従しきれずに顔がボケてしまうことがある。顔がボケないようにフォーカスを追従させるには、顔の被写体距離変化の有無を判断して、被写体距離変化がある場合にはフォーカスを追従させやすくする等の制御を行う必要がある。このような必要に対して、顔の大きさの変化を基に、フォーカシングを行う方向を決定するといった手法が提案されている。しかしながら、図７に示すように顔の大きさは目の間隔に依存しており、顔が光軸方向に移動したときだけでなく、顔の向きを変えた時にも目の間隔が変化してしまうため、顔の大きさが変化してしまう。顔の向きを変えた場合は被写体距離の変化がないため、顔の大きさの変化を基にフォーカシングを行うと、フォーカスがボケたりフワついたりしてしまうということがあった。
【０００５】
本発明の目的は、こうした課題を解決し、被写体のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかを判断することで、顔などの近づき・遠ざかりに関する誤判定を抑制し、誤判定によるフォーカスのボケやフワつきを防ぐと共に、好適なフォーカシングを可能にする技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明の自動焦点調節装置は、フォーカスレンズを含む撮影光学系を介して入射した被写体像を光電変換して撮像信号を生成する撮像手段と、撮像信号から撮影画面内の被写体を検出する被写体検出手段と、撮像素子から出力される撮像信号のうち、被写体を含んで設定された焦点検出領域に対応する撮像信号から焦点信号を生成する生成手段と、被写体検出手段によって検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかどうかを判断する距離変化判断手段と、フォーカスレンズを駆動制御して焦点調節を行う制御手段と、を有する。そして、制御手段は、距離変化判断手段により被写体距離の変化があると判断される場合に被写体距離の変化に対応させた追従駆動動作をフォーカスレンズの駆動制御として行い、距離変化判断手段により被写体距離の変化がないと判断される場合には前記追従駆動動作を制限し、焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行う。更に、前記距離変化判断手段は、前記被写体検出手段によって検出された被写体のサイズを検出する被写体サイズ検出手段と、前記被写体検出手段によって検出された被写体の向きの変化を判断する向き変化判断手段と、を含み、前記被写体サイズ検出手段によって検出された被写体のサイズの変化量が所定値より大きくかつ前記向き変化判断手段によって被写体の向きが変化していないと判断されるときに被写体距離の変化があると判断する。
【０００７】
また、上記課題に鑑み、本発明の自動焦点調節方法は、フォーカスレンズを含む撮影光学系を介して入射した被写体像を光電変換して撮像信号を生成する撮像ステップと、撮像信号から撮影画面内の被写体を検出する被写体検出ステップと、撮像ステップにおいて出力される撮像信号のうち、被写体を含んで設定された焦点検出領域に対応する撮像信号から焦点信号を生成する生成ステップと、被写体検出ステップによって検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかどうかを判断する距離変化判断ステップと、焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行う制御ステップと、を含む。そして、制御ステップにおいて、距離変化判断ステップにおいて被写体距離の変化があると判断される場合に被写体距離の変化に対応させた追従駆動動作をフォーカスレンズの駆動制御として行い、距離変化判断ステップにおいて被写体距離の変化がないと判断される場合には前記追従駆動動作を制限し、焦点信号に基づいてフォーカスレンズを駆動制御して焦点調節を行う。更に、前記距離変化判断ステップにおいて、前記被写体検出ステップで検出された被写体のサイズを検出する被写体サイズ検出ステップと、前記被写体検出ステップで検出された被写体の向きの変化を判断する向き変化判断ステップと、を含み、前記被写体サイズ検出ステップで検出された被写体のサイズの変化量が所定値より大きくかつ前記向き変化判断ステップで被写体の向きが変化していないと判断されるときに被写体距離の変化があると判断する。
【発明の効果】
【０００８】
以上説明したように、本発明に依れば、画面内で検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づいて被写体距離の変化があるかどうかを判断する。これにより、顔などの被写体距離の変化がある場合のみに追従駆動動作を行うことができて、被写体距離の変化がない場合にはフォーカスのボケやフワつきを抑制し、また被写体距離の変化がある場合には好適なフォーカシングを行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における撮像装置の構成を示すブロック図。
【図２】第１の実施形態におけるＡＦ処理を示すフローチャート。
【図３】本発明の実施形態における検出被写体優先ＡＦ時の動作を示すフローチャート。
【図４】第１の実施形態における被写体距離変化有無判定処理を示すフローチャート。
【図５】第１の実施形態における向き変化有無判定処理を示すフローチャート。
【図６】本発明の実施形態における被写体距離変化方向判定処理を示すフローチャート。
【図７】顔が近づいた時及び顔の向きが変わった時の顔エリアのサイズを表す図。
【図８】第２の実施形態におけるＡＦ処理を示すフローチャート。
【図９】第２の実施形態における被写体距離変化有無判定処理を示すフローチャート。
【図１０】顔が近づいた時及び顔の向きが変わった時の、顔エリア及び人体エリアのサイズを表す図。
【図１１】第３の実施形態におけるＡＦ処理を示すフローチャート。
【図１２】第３の実施形態における被写体距離変化有無判定処理を示すフローチャート。
【図１３】第３の実施形態における各顔部位間の距離の水平／垂直成分計算処理を示すフローチャート。
【図１４】顔が近づいた時及び顔の向きが変わった時の、各顔部位間の距離を基準軸に対して水平／垂直方向に分解した成分の変化を表す図。
【図１５】顔を傾けた時の、各顔部位間の距離を水平／垂直方向に分解する基準軸が撮像画面である場合と、撮像画面に対する顔の傾きである場合を表す図。
【図１６】撮像画面に人物の全長が映っている状態と、人物の頭部から胴体までが映り脚が映っていない状態のそれぞれの人体エリアの例を表す図。
【発明を実施するための形態】
【００１０】
本発明の特徴は、検出された被写体の少なくとも一部のサイズの変化量であって被写体の向きの変化に依らない変化量に基づき被写体距離の変化があるかを判断し、その判断に基づき、被写体距離の変化に対応させた追従駆動動作を行うか制限するかを決定することにある。この考え方に基づき、本発明の自動焦点調節装置及び方法は、課題を解決するための手段のところで述べた様な基本的構成を有する。
【００１１】
被写体距離の変化の有無を判断する距離変化判断手段としては、例えば、次の様な形態のものが挙げられる。まず、第１の実施形態で説明する様に、距離変化判断手段は、被写体検出手段によって検出された被写体のサイズを検出する被写体サイズ検出手段と、被写体検出手段によって検出された被写体の向きの変化を判断する向き変化判断手段と、を含み、被写体サイズ検出手段によって検出された被写体のサイズの変化量が所定値より大きくかつ向き変化判断手段によって被写体の向きが変化していないと判断されるときに被写体距離の変化があると判断する。次に、第２の実施形態で説明する様に、距離変化判断手段は、被写体検出手段によって検出された体の部位を基に人体を検出する人体検出手段と、人体検出手段によって検出された人体の長さを検出する長さ検出手段と、を含み、長さ検出手段によって検出される人体の長さの変化量が所定値より大きい場合に被写体距離の変化があると判断する。また、第３の実施形態で説明する様に、距離変化判断手段は、被写体検出手段によって検出された顔の部位の複数の位置を検出する位置検出手段と、顔の部位の位置間の距離を算出する距離算出手段と、撮像画面に対する顔の傾き度合を検出する傾き検出手段と、顔の部位の位置間の距離を、撮像画面に対する顔の傾きの軸に対して水平及び垂直方向に分解した複数の成分を検出する成分検出手段と、成分検出手段の検出出力から複数の成分の変化量を検出する成分変化量検出手段と、を含み、成分変化量検出手段の検出出力が全て変化した場合に被写体距離の変化があると判断する。
【００１２】
以下、本発明の実施形態を説明する。以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。
＜第１の実施形態＞
図１は、本発明の第１の実施形態における画像処理機能を有する撮像装置の装置構成を示すブロック図である。図１に示すように、本実施形態のデジタルビデオカメラ１０は、撮像レンズ１１から画像信号を取得できるように構成されており、以下の部分を備えている。すなわち、撮像素子１２１、ＣＤＳ／ＡＧＣ１２２、タイミングジェネレータ（ＴＧ）１２３、画像入力コントローラ１２４、信号処理部１２５、被写体領域検出部１２６、変倍レンズ駆動部１３１、絞り駆動部１３２、フォーカシング駆動部１３３、操作部１３４、システム制御部１４、バス１５、記録媒体制御部１６１、記録媒体１６２、表示制御部１６３、表示部１６４、ＡＦ検出部１６５、ＳＤＲＡＭ１６６、ＲＯＭ１６７、フラッシュＲＯＭ１６８、振れ検出部１７を備えている。
【００１３】
システム制御部１４は、ビデオカメラ全体の動作を統括制御する制御手段として機能し、操作部１３４からの入力に基づき所定の制御プログラムに従って各部を制御する。バス１５を介して接続されたＲＯＭ１６７には、システム制御部１４が実行する制御プログラム及び制御に必要な各種データ等が格納され、フラッシュＲＯＭ１６８には、ユーザ設定情報等のデジタルビデオカメラ１０の動作に関する各種設定情報等が格納されている。ＳＤＲＡＭ１６６は、システム制御部１４の演算作業用領域として利用されるとともに、画像データの一時記憶領域として利用される。
【００１４】
変倍レンズ１１２は、変倍レンズ駆動部１３１に駆動されて光軸に沿って前後移動する。フォーカスコンペレンズ１１５（フォーカスレンズとも記す）は、フォーカシング駆動部１３３に駆動されて光軸に沿って前後移動する。システム制御部１４は、変倍レンズ駆動部１３１とフォーカシング駆動部１３３を制御することにより、変倍レンズ１１２の位置とフォーカスコンペレンズ１１５の位置を制御し、撮影光学系である撮影レンズ１１のズーミングとフォーカシングを行う。絞り１１３は、例えば、アイリス絞りで構成されており、絞り駆動部１３２に駆動されて動作する。システム制御部１４は、絞り駆動部１３２を制御することにより、絞り１１３の開口量（絞り値）を制御し、撮像素子１２１への入射光量を制御する。
【００１５】
撮像素子１２１は、ＣＭＯＳセンサやＣＣＤセンサにより構成される光電変換素子である。撮影レンズ１１によって撮像素子１２１の受光面上に結像された被写体の光学像は、このフォトダイオードによって入射光量に応じた信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、システム制御部１４の指令に従ってＴＧ１２３から与えられる駆動パルスに基づいて、信号電荷に応じた電圧信号（画像信号）として撮像素子１２１から順次読み出される。本実施形態では、撮像素子としてＣＭＯＳセンサを用いているが、ＣＣＤセンサ等の他の構成の撮像素子を用いることもできる。ＣＳＤ／ＡＧＣ１２２は、撮像素子１２１から出力された画像信号に含まれるリセットノイズ（低周波）を除去するための相関二重サンプリング回路（ＣＤＳ）と、画像信号を増幅し一定レベルの大きさにコントロールするためのＡＧＣ回路である。つまり、撮像素子１２１から出力される画像信号を相関二重サンプリング処理するとともに増幅する。撮像素子１２１やＣＳＤ／ＡＧＣ１２２などにより、被写体像を光電変換して撮像信号を生成する撮像手段が構成される。
【００１６】
画像入力コントローラ１２４は、ＣＳＤ／ＡＧＣ１２２から出力された画像信号を取り込んで、ＳＤＲＡＭ１６６に格納する。信号処理部１２５は、システム制御部１４からの指令に従いＳＤＲＡＭ１６６に格納された画像信号を取り込み、所定の信号処理を施して輝度信号Ｙと色差信号Ｃｒ、ＣｂとからなるＹＵＶ信号を生成する。被写体領域検出部１２６は、画像信号に対して被写体検出処理を施し、撮影画面内の被写体領域を特定する。そして、その検出結果をシステム制御部１４に送信する。システム制御部１４は、ＡＦ検出部１６５に上記検出結果を送信し、ＡＦ検出部１６５は、撮影画面内の被写体領域を含む位置を焦点検出に用いられる領域（焦点検出領域）として設定する。次に、ＡＦ検出部１６５は、設定した焦点検出領域の合焦度合い表す焦点信号を計算し、システム制御部１４に送信する。結果を受信したシステム制御部１４は、受信した合焦度合いに応じてフォーカシング駆動部１３３を制御し、フォーカシング駆動部１３３はフォーカスレンズ１１５を駆動制御する。
【００１７】
ここで、上述した被写体検出処理の一例として顔検出機能が挙げられる。これは、顔検出機能によって検出された撮影画面内の顔に対してオートフォーカス（ＡＦ）を行う顔優先ＡＦを行う場合等に利用される。以下、顔検出機能について説明する。システム制御部１４は、顔検出対象の画像データを信号処理部１２５に送る。信号処理部１２５は当該画像データを被写体領域検出部１２６に送り、被写体領域検出部１２６は、当該画像データに水平方向バンドパスフィルタを作用させる。また、被写体領域検出部１２６は、処理された画像データに垂直方向バンドパスフィルタを作用させる。これら水平及び垂直方向のバンドパスフィルタにより、画像データのエッジ成分が検出される。その後、信号処理部１２５は、検出されたエッジ成分に関してパターンマッチングを行い、目及び鼻、口、耳の候補を抽出する。そして、信号処理部１２５は、抽出された目の候補群の中から、予め設定された条件（例えば、２つの目の距離、傾き等）を満たすものを、目の対と判断し、目の対があるもののみ目の候補群として絞り込む。そして、信号処理部１２５は絞り込まれた目の候補群とそれに対応する顔を形成するほかのパーツ（鼻、口、耳）を対応付け、また、予め設定した非顔条件フィルタを通すことで、顔を検出する。信号処理部１２５は顔の検出結果に応じて上記顔情報を出力し、処理を終了する。このとき、顔のサイズや顔の数などの特徴量をＳＤＲＡＭ１６６に記録する。
【００１８】
以上のようにライブビュー表示あるいは再生表示される画像データを画像解析して、画像データの特徴量を抽出して被写体情報を検出することが可能である。本実施例では被写体情報として顔情報を例に挙げたが、動物等、人物以外の顔の特徴等の様々な被写体情報がある。また、全ての顔を検出するのではなく、予め登録した顔の特徴量に当てはまるものを被写体として検出するシステムや、ユーザーがタッチパネル等の操作部１３４から指定した特徴量を分析し、検出を行うシステムでも良い。
【００１９】
次に、上記構成を有する撮像装置１０の第１の実施形態における動作について図２から図６を用いて説明する。図２は、第１の実施形態におけるシステム制御部１４で行うＡＦ処理を表すフローチャートである。ステップＳ１はＡＦ処理の開始を表している。ステップＳ２において、システム制御部１４はバス１５を介してフラッシュＲＯＭ１６８から各種設定情報を読み出し、読み出した各種設定情報の中から顔検出を行うモードなのか否かを判断する。顔検出を行うモードであった場合、ステップＳ３の顔検出処理に進み、顔検出を行わないモードの場合は処理をステップＳ６に進める。
【００２０】
ステップＳ２で顔検出モードであった場合に進むステップＳ３では、読み出した画像データから被写体の顔を検出する顔検出処理を行い、ステップＳ４に進める。ステップＳ４では、被写体領域検出部１２６で検出した顔領域を、ＡＦ検出部１６５によって焦点検出領域として設定し、ステップＳ５に進める。ステップＳ５では、検出被写体優先ＡＦ制御を行うための処理を行い、Ｓ８で処理を終える。ステップＳ５の詳細は図３で後述する。
【００２１】
ステップＳ２で顔検出モードでなかった場合に進む進むＳ６では、ＲＯＭ１６７から読み出した情報を基に、事前に設定してある位置に焦点検出領域を設定する。また、ユーザが焦点検出領域を設定していれば、事前に設定してある焦点検出領域でなく、フラッシュＲＯＭ１６８から読み出したユーザ設定情報を基に、焦点検出領域を設定してもよい。ステップＳ６で焦点検出領域を設定したら進むステップＳ７では、通常のＡＦ制御を行い、ステップＳ８で処理を終了する。
【００２２】
本実施形態における通常ＡＦ制御の一例としては、「微小振動駆動」によって合焦させる手法がある。この手法では、焦点検出領域中のコントラスト値を基に至近側・無限側とフォーカスレンズ１１５を微小振動駆動させることで、コントラスト値が高くなる方向を合焦方向として、順次振動の中心を合焦方向に移動させる。また、上述した微小振動駆動で一定方向に振動中心を移動している場合、そちらに合焦方向があるとして、振動中心を移動している方向に、コントラスト値が増加し続ける間、駆動させ続ける「山登り駆動」といった手法などもある。しかし、このようなＡＦ制御のみであると、被写体が近づいてきたとき、あるいは遠ざかったときに追従しきれず、ボケてしまうといったことがあった。このような被写体の近づき、遠ざかりといった被写体距離の変化がある場合には、ボケを抑えてフォーカスを追従できるように、通常のＡＦ制御とは異なるような特殊なＡＦ制御を用いる手法が挙げられる。この手法の一例について、次に図３を用いて説明する。
【００２３】
図２のステップＳ５で行われる上記特殊なＡＦ制御処理の動作を図３を用いて説明する。図３は、システム制御部１４で行われる検出被写体優先ＡＦ時の動作を示すフローチャートである。ステップＳ５１では、被写体距離に変化があるかどうかを判定する処理を行い、ステップＳ５２へ進む。ステップＳ５１の被写体距離有無判定については、図４を用いて後述する。ステップＳ５２では、ステップＳ５１で得た被写体距離変化の有無に関する情報を基に、被写体距離変化がある場合はステップＳ５３へ進み、被写体距離変化がない場合はステップＳ５４へ進む。ステップＳ５３では、被写体距離変化があったとして、被写体距離の変化に追従しやすいＡＦ制御を行い処理を終了する。一方、ステップＳ５４では、図２のステップＳ７で説明した通常のＡＦ制御を行い、処理を終了する。
【００２４】
本発明における追従ＡＦ制御の一例として、被写体距離変化がある方向に追従しやすくするために、上述した通常ＡＦ制御における「微小振動駆動」において、被写体距離変化がある方向にのみ振動中心を駆動するようにする制御が挙げられる。また、振動中心の駆動量を大きくする制御がある。さらに、上述した通常ＡＦ制御における「山登り駆動」を、「微小振動駆動」による合焦方向探索をせずに、被写体距離変化がある方向に向かって行うといった制御も挙げられる。このように被写体距離変化がある場合は、被写体距離変化がある方向に追従しやすくするような、通常のＡＦ制御時とは異なる特殊なＡＦ制御を行うことで、フォーカスのボケを抑えて被写体の動きに追従できる。
【００２５】
次に、図３のステップＳ５１で行われる被写体距離変化有無判定処理を、図４を用いて説明する。これは本発明の特徴的な部分である。ステップＳ５１１では、図２のステップＳ３で検出した顔のサイズの履歴を基に、時間方向の顔サイズの変化量を計算し、ステップＳ５１２へ進む。この時間方向の顔サイズの変化量とは、顔サイズを時間で１次微分したものに相当する。ステップＳ５１２では、検出した顔の向きの変化があるかどうかを判定し、ステップＳ５１３へ進む。ステップＳ５１２の詳細は、図５を用いて後述する。ステップＳ５１３では、ステップＳ５１１で計算した顔サイズの変化量が所定より大きいかどうかを判断し、所定より大きい場合はステップＳ５１４、そうでない場合はステップＳ５１６へ進む。ここで、設定する所定量としては、例えば被写体の被写界深度分移動したときに対応する顔サイズの変化量が挙げられる。ステップＳ５１３において、顔サイズの変化量が所定より大きいときに進むステップＳ５１４では、ステップＳ５１２によって判定した顔の向き変化の有無を基に、向き変化が無い場合にはステップＳ５１５、そうでない場合はステップＳ５１６へ進む。
【００２６】
上述したように、ステップＳ５１３で顔サイズの変化量が所定より大きく、ステップＳ５１４で顔の向き変化が無いと判断した場合に、被写体距離変化があると判定する。被写体距離変化があると判断した場合は、ステップＳ５１５で被写体距離の変化方向を判定して処理を終了する。ステップＳ５１５の被写体距離変化方向判定については、図６を用いて後述する。また、ステップＳ５１３で顔サイズの変化量が所定より大きくないと判断した場合、ステップＳ５１６で被写体距離の変化がないとする。また、ステップＳ５１３で顔サイズの変化量が所定より大きいと判断したがステップＳ５１４で向きの変化が無いと判断した場合も、ステップＳ５１６で被写体距離の変化がないとする。そして、処理を終了する。
【００２７】
このように、顔サイズの変化量が所定より大きく顔の向きの変化が無い場合に、被写体距離変化があると判定し、その上で、図３のステップＳ５３で説明したような追従ＡＦ制御を行う理由について、図７を用いて説明する。図７は、顔被写体が近づいたとき、及び、向きが変わったときのそれぞれの顔エリアのサイズについて表した図である。まず「近づき」について説明すると、顔が近づいたときは、図７のように近づくにつれて目の間隔が広くなるため顔エリアのサイズも大きくなる。このような場合は、被写体距離の変化が大きいため、追従ＡＦ制御を行い、ボケを抑えて追従するのが好ましい。図７の「近づき」のように正面を向いていれば、顔サイズの変化量が大きいかどうかを判断すれば被写体距離の変化が大きいか否かが判断できる。しかし、「向き変更」について説明すると、図７のように横を向いた状態から正面を向いたときは、目の間隔が広くなるために顔エリアのサイズも大きくなる。この際、「向き変更」は「近づき」の場合と異なり、被写体距離の変化は殆どない。よって、顔サイズの変化量だけを考慮して追従ＡＦ制御を行うと、「向き変更」の場合は被写体距離の変化が無いために、フォーカスがボケたりフワついたりしてしまう。よって、正確に被写体距離の変化があるかどうかを判定するために、顔サイズの変化量が大きいかどうかだけでなく、顔の向きの変化の有無を考慮する。これにより、向きが変わっていない場合のみ被写体距離が変わったとすることで、上述したフォーカスのボケやフワつきを防ぐことができるのである。
【００２８】
次に、図４のステップＳ５１２で行われる向き変化有無判定処理を図５を用いて説明する。これは、本発明の特徴とする部分である。ステップＳ５１２１では、事前にＳＤＲＡＭ１６６に保持した、図２のステップＳ３で検出した顔のサイズの履歴を基に、時間方向の顔サイズの変化の急峻度合を計算し、ステップＳ５１２２へ進む。この時間方向の顔サイズの変化の急峻性は、顔サイズを時間で２次微分したものに相当する。ステップＳ５１２２では、ステップＳ５１２１で計算した顔サイズの変化の急峻度合が所定より大きいかどうかを判断し、所定より大きい場合はステップＳ５１２３、そうでない場合はステップＳ５１２４へ進む。ステップＳ５１２２で顔サイズの変化の急峻度合が所定より大きい場合に進むステップＳ５１２３では、顔の向きの変化があったとして処理を終了する。「顔の近づき／遠ざかり」と「顔の向き変更」のそれぞれの顔サイズの変化の急峻度合を考えると、前者よりも後者の方が少しの動作で目の間隔の変化が大きくなるため、顔サイズの変化が急峻に起こりやすい。よって、顔サイズの変化量が大きくても顔サイズの変化が急峻であったときは、向きが変わったと判断する。このときに、顔サイズの変化の急峻度合の閾値として設定する値は、走って近づいてきたときの変化の急峻度合よりやや大きくするといった程度の値が一例として挙げられる。この閾値は、どのくらいの被写体距離変化に追従できるようにするかによってチューニングを行う必要がある。
【００２９】
次に、ステップＳ５１２２で顔サイズの変化の急峻度合が所定より小さいときに進むステップＳ５１２４では、顔サイズの変化の急峻度合の履歴を見て、前回の値と正負が反転しているかどうかを判断し、反転している場合はステップＳ５１２５へ進む。そうでない場合は、ステップＳ５１２６へ進む。ステップＳ５１２５では、今回の駆動シーケンスでは顔サイズの変化の急峻度合の値の正負の反転が起きたとして記憶し、ステップＳ５１２６へ進む。なお、過去の駆動シーケンスについても、顔サイズの変化の急峻度合の値の正負の反転が起きたかどうかを記憶しておく。ステップＳ５１２６では、所定時間内の間に、顔サイズの変化の急峻度合の正負反転回数が所定回以上かどうかを判断し、所定回以上であればステップＳ５１２３へ進み、そうでない場合はステップＳ５１２７へ進む。ステップＳ５１２６で、所定時間内に顔サイズの変化の急峻度合が所定回数以上だった場合は、ステップＳ５１２３で顔の向きの変化があるとして処理を終了する。一方、ステップＳ５１２６で、所定時間内に顔サイズの変化の急峻度合が所定回数以上でない場合は、ステップＳ５１２７で向きの変化がなかったとして処理を終了する。
【００３０】
ステップＳ５１２２では、顔サイズの変化の急峻度合が大きいかどうかを判断して、顔の向きが変化したかどうかを判断した。しかし、例えばゆっくりと顔の向きを変化させた場合は、顔サイズの変化が急峻にならないため、顔の向きが変わったと判定できない。そこで、ステップＳ５１２４からＳ５１２６までの処理を用いて、顔の向きがゆっくり変わった場合でも、顔サイズの変化の急峻度合の正負反転回数を用いて、向きが変わったと判定できるようにしている。先ほど述べたように、「顔の近づき／遠ざかり時」は、少し移動したとしても目の間隔の変化は小さいが、「顔の向きを変えた時」は少し向きを変えただけで目の間隔変化が大きくなりやすい。よって、「顔の向きを変えた時」は「顔の近づき／遠ざかり時」と比べて、顔の大きさの変化量のバラつきが多いと考える。故に、この顔の大きさの変化量のバラつきの単位時間の多さを判断するために、顔の大きさの変化の急峻度合が、一定時間内に多くゼロクロス（正負反転）しているときにはバラつきが多いと判断し、このときは顔の向きが変わったと判断する。ここで設定する、所定時間と、顔サイズの変化の急峻度合の正負反転回数のスレッシュは、それぞれ「顔の近づき／遠ざかり時」と「顔の向きを変えた時」のデータを基に、「顔の向きを変えた時」を正しく判定できるようにチューニングする必要がある。以上の様に、向き変化判断手段は、被写体のサイズの変化の急峻度合を検出し、被写体のサイズの変化の急峻度合が所定度合より大きい場合に被写体の向きが変化したと判断したり、被写体のサイズの変化の急峻度合を検出し、被写体のサイズの変化の急峻度合が所定時間内に増減を繰り返して変動している場合に被写体の向きが変化したと判断したりする。
【００３１】
次に、図４のステップＳ５１５で行われる被写体距離変化方向判定処理を図６を用いて説明する。この処理は、被写体距離の変化があったと判断した際に、被写体距離の変化が至近方向か無限方向かどうかを判断するものである。ステップＳ５１５１では、顔サイズの変化量を基に、顔サイズが大きくなっているかどうかを判断し、顔サイズが大きくなってる場合はステップＳ５１５２へ進み、そうでない場合はステップＳ５１５３へ進む。ステップＳ５１５１で顔サイズが大きくなっている場合に進むステップＳ５１５２では、被写体距離は至近方向に変化しているとして処理を終了する。これはすなわち、顔が近づいていることを意味する。一方、ステップＳ５１５１で顔サイズが小さくなっている場合に進むステップＳ５１５３では、被写体距離は無限方向に変化しているとして処理を終了する。これはすなわち、顔が遠ざかっていることを意味する。ここで得た被写体距離の変化方向を基に、追従ＡＦ制御で追従しやすくする方向を決定する。
【００３２】
以上説明したように、システム制御部１４は、フラッシュＲＯＭ１６８の設定が顔優先ＡＦモードである場合は、被写体領域検出部１２６で検出した被写体領域を基にＡＦ検出部１６５に焦点調節エリアを設定する。そして、ＡＦ制御を行うことでフォーカシング駆動部１３３によってフォーカスレンズ１１５を駆動する。その際、顔サイズの変化量だけでなく、顔サイズの変化の急峻度合によって向きが変わったのかどうかを判断することで、被写体距離が変化しているのかどうかを正確に判断することができる。被写体距離の変化がある場合には、被写体距離変化方向に追従しやすくするような特殊なＡＦ制御を行うことで、こうした被写体に対してボケを抑えて追従することができる。さらには、顔の向きが変わったときに被写体距離変化があると誤判定してしまうことを防ぎ、不用意なフォーカスのボケやフワつきを軽減することができる。
【００３３】
＜第２の実施形態＞
次に、第２の実施形態を説明する。装置構成については、第１の実施形態で図１を用いて説明したものと同様なので説明を省略する。ただし、本実施形態における被写体領域検出部１２６は、顔だけでなく被写体の人体も検出できるものとする。
【００３４】
以下、人体検出について説明する。システム制御部１４は、人体検出対象の画像データを信号処理部１２５に送る。信号処理部１２５は当該画像データを被写体領域検出部１２６に送り、被写体領域検出部１２６は、当該画像データに水平方向バンドパスフィルタを作用させる。また、被写体領域検出部１２６は、処理された画像データに垂直方向バンドパスフィルタを作用させる。これら水平及び垂直方向のバンドパスフィルタにより、画像データのエッジ成分が検出される。その後、信号処理部１２５は、検出されたエッジ成分に関してパターンマッチングを行い、頭及び胴体、腕、足の候補を抽出する。そして、信号処理部１２５は、これら候補群を対応付けて人体を検出する。信号処理部１２５は人体の検出結果に応じて上記人体情報を出力し、処理を終了する。このとき、人体のサイズや人体の数などの特徴量をＳＤＲＡＭ１６６に記録する。
【００３５】
次に、第２の実施形態における撮像装置１０の動作について図８、図９を用いて説明する。図８は、第２の実施形態における、システム制御部１４で行うＡＦ処理を表すフローチャートである。図８のステップＳ１１及びステップＳ１８、Ｓ１９は、第１の実施形態において図２のステップＳ１及びステップＳ６、Ｓ７でそれぞれ説明した内容と同様なので省略する。ステップＳ１２において、システム制御部１４はバス１５を介してフラッシュＲＯＭ１６８から各種設定情報を読み出し、読み出した各種設定情報の中から顔検出／人体検出を行うモードなのか否かを判断する。顔検出／人体検出を行うモードであった場合はステップＳ１３に進み、そうでない場合はステップＳ１８に進める。ステップＳ１３では、読み出した画像データから被写体の顔を検出する顔検出処理を行い、ステップＳ１４に進める。ステップＳ１４では、読み出した画像データから被写体の人体を検出する人体検出処理を行い、ステップＳ１５に進める。このとき行う人体検出処理は、被写体の体の部位、例えば頭部、胴体、脚、腕等を検出して、それらを組み合わせることで人体として検出する。
【００３６】
一例として、例えば撮像画面中から人の頭部と胴体を検出したときに、頭部と胴体を含むような形で人体として検出する。また、撮像画面中に映っている体の部位によって、人体として検出するエリアを可変としてもよい。図１６は、撮像画面内に人物の全長が映っている状態と、人物の頭部から胴体までが映り脚が映っていない状態という２つの状態を表した図である。前者の場合は、例えば胴体と脚の領域を人体領域として検出し、後者の場合は胴体の領域を人体領域として検出する。このようにすることで、撮像画面での人物の映り方がどのような場合でも、体の部位が検出できれば、人体検出を行うことができる。また、このとき、人体検出を行うエリアは、撮像画面全体に対して設定という条件に限らず、撮像画面のある一部のエリアや、撮像画面全体の所定の割合の範囲でのみといったように、人体検出を利用したいエリアを任意に設定してもよい。
【００３７】
ステップＳ１４で人体検出を行った後に進むステップＳ１５では、被写体領域検出部１２６で検出した顔領域を、ＡＦ検出部１６５によって焦点検出領域として設定し、ステップＳ１６に進める。ステップＳ１６では、被写体領域検出部１２６で検出した人体領域についても、ＡＦ検出部１６５によって焦点検出領域として設定し、ステップＳ１７に進める。ステップＳ１７では、検出被写体優先ＡＦ制御を行うための処理を行い、ステップＳ２０で処理を終える。なお、図８のステップＳ１７の処理は、第１の実施形態において図３を用いて説明した、検出被写体優先ＡＦ制御処理と同じなのでその説明は省略する。
【００３８】
次に、本実施形態における、図３のステップＳ５１で行われる被写体距離変化有無判定処理を、図９を用いて説明する。これは本発明の特徴的な部分である。なお、図９におけるステップＳ５２４、Ｓ５２５は、第１の実施形態で説明した図４におけるステップＳ５１５、Ｓ５１６とそれぞれ同様の処理なので、説明は省略する。ステップＳ５２１では、図８のステップＳ１４で検出した人体のサイズの履歴を基に、時間方向の人体サイズの変化量を検出し、ステップＳ５２２へ進む。この時間方向の人体サイズの変化量とは、人体サイズを時間で１次微分したものに相当する。ステップＳ５２２では、撮像画面の所定領域内に人体検出している領域があるかどうかを判断し、領域がある場合はステップＳ５２３、領域がない場合はステップＳ５２６へ進む。撮像画面内の所定領域で人体の検出がない場合とは、例えば被写体の顔のアップを撮影しているような状態である。このように、そもそも人体が検出できないような画角である場合は、ステップＳ５２６へ進み、ここで第１の実施形態の図４のような顔検出手段をもって被写体距離変化の有無を判断する手法をとる必要がある。
【００３９】
それに対して、ステップＳ５２２で人体検出している領域があると判断した場合に進むＳ５２３では、人体サイズの変化量が所定より大きいかどうかを判断して、所定より大きい場合はステップＳ５２４へ進み、そうでない場合はステップＳ５２５へ進む。人体サイズの変化量が所定より大きい場合は、被写体距離変化があるとして、ステップＳ５２４で被写体距離の変化方向の判定を行い、処理を終了する。ステップＳ５２４の処理は、第１の実施形態で図６を用いて説明した内容と同様なので、説明を省略する。人体サイズの変化量が所定以下であれば、ステップＳ５２５で被写体距離変化が無いとして、処理を終了する。
【００４０】
このように人体検出を行っている場合は、顔検出の情報を必要とせず、人体サイズの変化量によって被写体距離の変化があるかどうかを判断することができる。この詳細について、図１０を用いて説明する。図１０は、人物が近づいたとき、及び、向きが変わったときのそれぞれの顔エリアと人体エリアのサイズについて表した図である。まず「近づき」について説明すると、顔が近づいたときは、顔エリアのサイズが大きくなると共に人体エリアのサイズが大きくなる。一方、「向き変更」について説明すると、図１０のように横を向いた状態から正面を向いたときは、顔エリアのサイズは近づき時と同様に大きくなってしまうものの、人体エリアのサイズは変化していない。上述したように、顔サイズの変化量だけでは近づき／遠ざかりと向きを変えた時との違いを切り分けることができないが、人体サイズを用いれば、向きの変化に関らずサイズ変化が大きいかどうかを見ることで、被写体距離の変化があるか否かを切り分けられる。また、人体が検出できないような撮影シーンでは、図９のステップＳ５２６の説明で先述したように、第１の実施形態のような顔の情報を用いて被写体距離変化の有無を判定すればよい。
【００４１】
以上に説明した様に、本実施形態では、被写体検出手段は、被写体の体の部位の頭、胴体、脚、腕のうちの少なくとも１つを検出し、制御手段中の人体検出手段は、撮像画面の所定の範囲内で検出している体の部位を組み合わせて人体を構成して検出する。そして、人体検出手段によって検出された人体の長さを検出する制御手段中の長さ検出手段は、人体検出手段によって検出された人体を構成する体の部位の長さを加算して人体の長さを検出する。
【００４２】
ここで、図１６の上段の図ように撮像画面中に人の全長が映っている状態から、下段の図のように脚が映らない状態まで近づいてきた場合について説明する。例えば、人体検出のシステムが人の「全長」を検出できるシステムであるとする。その場合、図１６の上段の図の状態では被写体距離変化の有無を判定することができるが、下段の図の状態のように脚が映らない状態になってしまうと、検出する人体のサイズ変化がなくなってしまうか、そもそも全長を検出することができないため、被写体距離変化の有無を判定できなくなってしまう。しかし、図８のステップＳ１４の説明で先述したように、検出する人体とは、検出した体の部位から構成するものである。なので、全長が映っている状態から脚が映らない状態に変わっても、図１６のように人体検出するエリアを、胴体＋脚から胴体のみに変更することで、体の部位のいづれかが検出できる状態であれば人体エリアのサイズ変化がわかるため人体検出を行うことができる。このように、被写体の撮影画面の映り方が変わっても、人体検出できるエリアを検出部位よって変えて、そのサイズの変化量を監視することで被写体距離の変化の有無を判定することができる。なお、以上の説明では人体検出が有効なエリアを撮影画面全体としたが、このエリアを撮影画面のある一定のエリアという風に絞っても、上記と同様に検出する人体として構成する体の部位を変えていくことで、被写体距離変化の有無を判定できる。
【００４３】
以上説明したように、人体が検出できる撮影状態であれば、人体サイズの変化量を監視することで、顔の向きの情報を取得せずに被写体距離が変化しているのかどうかを正確に判断することができる。また、被写体の近づき／遠ざかり等によって、検出している人体の部位が、人体検出有効なエリアに映らなくなってしまっても、新たに検出している部位から人体のエリアを構成して、その人体サイズの変化量を監視することで被写体距離変化の有無を判断できる。第１の実施形態で説明したように、被写体距離の変化がある場合には、被写体距離変化方向に追従しやすくするような、特殊なＡＦ制御を行うことで、被写体距離変化がある被写体に対してボケを抑えて追従することができる。さらには、顔の向きが変わったときに被写体距離変化があると誤判定してしまうことを防ぎ、不用意なフォーカスのボケやフワつきを軽減することができる。
【００４４】
＜第３の実施形態＞
次に、第３の実施形態を説明する。装置構成については、第１の実施形態で図１を用いて説明したものと同様なので説明を省略する。ただし、本実施形態における被写体領域検出部１２６は、顔の部位を検出できるものする。顔の部位とは、目、鼻、口、耳、眉毛といった、顔のパーツのことである。
【００４５】
次に、第３の実施形態における撮像装置１０の動作について図１１から図１３を用いて説明する。図１１は、第３の実施形態における、システム制御部１４で行うＡＦ処理を表すフローチャートである。図１１のステップＳ２１及びステップＳ２７、Ｓ２８は、第１の実施形態において図２のステップＳ１及びステップＳ６、Ｓ７で説明した内容と同様なので説明を省略する。ステップＳ２２において、システム制御部１４はバス１５を介してフラッシュＲＯＭ１６８から各種設定情報を読み出し、読み出した各種設定情報の中から顔部位検出を行うモードなのか否かを判断する。顔部位検出を行うモードであった場合はステップＳ２３に進み、そうでない場合はステップＳ２７に進める。ステップＳ２３では、読み出した画像データから被写体の顔の部位を検出する顔部位検出処理を行い、ステップＳ２４に進める。ここで検出する顔の部位は、少なくとも２つ以上である必要がある。
【００４６】
ステップＳ２４では、被写体領域検出部１２６で検出した顔の部位の位置を基に、顔領域をＡＦ検出部１６５によって焦点検出領域として設定し、ステップＳ２５に進める。ステップＳ２５では、ステップＳ２３で検出した顔の部位の位置を保持して、ステップＳ２６へ進む。ステップＳ２６では、検出被写体優先ＡＦ制御を行うための処理を行い、ステップＳ２９で処理を終える。このように、本実施形態では、被写体の顔の部位を検出し、後述するように被写体距離変化の有無を判定する。なお、図１１のステップＳ２６の処理は、第１の実施形態において図３を用いて説明した検出被写体優先ＡＦ制御処理と同じなので説明を省略する。
【００４７】
次に、本実施形態における、図３のステップＳ５１で行われる被写体距離変化有無判定処理を、図１２を用いて説明する。これは本発明の特徴的な部分である。ステップＳ５３１では、図１１のステップＳ２５で保持した顔部位の位置を基に、各顔部位間の距離を或る基準軸に対して水平／垂直方向に分解した成分を計算し、ステップＳ５３２へ進む。ステップＳ５３１の処理については、図１３の説明で後述する。ステップＳ５３２では、ステップＳ５３１で計算した各顔部位間の距離を水平／垂直方向に分割した成分を基に、分割したそれぞれの成分の変化量を検出し、ステップＳ５３３へ進む。ステップＳ５３３では、ステップＳ５３２で計算したそれぞれの成分の変化量が、全て所定値より増加または減少しているかどうかを判定して、増加または減少している場合はステップＳ５３４へ進み、変化していない場合はステップＳ５３５へ進む。なお、ステップＳ５３３で条件判定に利用する、各顔部位間の距離を或る基準軸に対して水平／垂直方向に分解した成分の変化量については、図１４の説明で後述する。ステップＳ５３４では、被写体距離変化があると判断して、被写体距離変化方向判定を行い、処理を終了する。ステップＳ５３５では、被写体距離変化が無いと判断し、処理を終了する。ステップＳ５３４で行われる被写体距離変化方向判定処理は、第１の実施形態で図６を用いて説明したものと同様なので説明を省略する。
【００４８】
本実施形態では、各顔部位間の距離を水平／垂直方向に分解した成分の変化量を基に、被写体距離変化があるかどうかを判定する。この判定方法について図１４を用いて説明する。図１４は、顔被写体が近づいたとき、及び、向きが変わったときの各顔部位間の距離を或る基準軸に対して水平／垂直方向に分解した成分の変化について表した図である。図１４の説明においては、水平／垂直方向に分解する基準軸を撮像画面とする。また、検出している部位の一例として、図１４では両目と鼻の計３つで、水平成分は両目の位置間の長さ、垂直成分は片方の目と鼻との位置間の長さとする。
【００４９】
まず「近づき」について説明すると、顔が近づくにつれて、顔部位間の距離を分解した水平成分及び垂直成分が変化する。一方、「向き変更」について説明すると、横を向いた状態から正面を向いたときは、顔部位間の距離を分解した水平成分は変化するが、垂直成分は変化しない。また、図１４には示していないが、例えば上を向いた状態から正面を向いたときは、顔部位間の距離を分解した垂直成分は変化するが、水平成分は変化しない。つまり、顔の部位間の距離の水平成分及び垂直成分が双方とも変化したかどうかを見ることで、被写体距離の変化があるのか、向きが変わっただけなのかを切り分けることができる。このように、本実施形態のような顔の部位検出が可能なシステムにおいて、検出した顔の部位間の距離を分解した水平方向及び垂直方向の成分の双方の変化の有無を監視することで、被写体距離の変化の有無を判定することができる。
【００５０】
次に、本実施形態における、図１２のステップＳ５３１で行われる各顔部位間の距離の水平／垂直成分計算処理について、図１３を用いて説明する。これは本発明の特徴的な部分である。ステップＳ５３１１では、撮像画面に対する顔の傾き度合を検出し、ステップＳ５３１２へ進む。ステップＳ５３１２では、ステップＳ５３１１で検出した顔の傾き度合を基に、撮像画面に対する顔の傾きの軸に対して、各顔部位間の距離を水平方向に分解した成分を計算し、ステップＳ５３１３へ進む。ステップＳ５３１３では、ステップＳ５３１１で検出した顔の傾き度合を基に、撮像画面に対する顔の傾きの軸に対して、各顔部位間の距離を垂直方向に分解した成分を計算し、処理を終了する。
【００５１】
図１３のステップＳ５３１１からＳ５３１２において、撮像画面に対する顔の傾き具合を考慮することについて、図１５を用いて説明する。図１５は、顔被写体が顔を傾けたときに、各顔部位間の距離を水平／垂直方向に分解する基準軸が撮像画面である場合と、撮像画面に対する顔の傾きである場合を表した図である。検出している部位の一例として、図１５では両目と鼻の計３つで、水平成分は両目の位置間の長さ、垂直成分は片方の目と鼻との位置間の長さとする。まず「基準軸が撮像画面」である場合に顔を傾けたことを考えると、顔を傾けたことで、水平成分と垂直成分が共に変化する。この場合、被写体距離の変化はないにも拘らず、水平成分及び垂直成分が共に変化するので、被写体距離が変化したと誤判定してしまう。それに対して、「基準軸が撮像画面に対する顔の傾き」である場合に顔を傾けたことを考えると、顔を傾けても水平成分と垂直成分は変化しない。つまり、顔の部位間の距離の水平及び垂直成分の双方の変化を見るだけでなく、その水平及び垂直成分を分解するための基準軸として、撮像画面でなく顔の傾きを考慮することで、顔を傾けた際にも、被写体距離変化を誤ることなく判断することができる。
【００５２】
上述した実施形態における処理のために、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に提供してもよい。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって、前述した実施形態の機能を実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリーカード、ＲＯＭなどを用いることもできる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれている。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリーに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含むものである。
【符号の説明】
【００５３】
１０‥‥撮像装置、１１‥‥撮像レンズ（撮影光学系）、１４‥‥システム制御部（制御手段、距離変化判断手段）、１１５‥‥フォーカスコンペレンズ（フォーカスレンズ）、１２１‥‥撮像素子（撮像手段）、１２６‥‥被写体領域検出部（被写体検出手段）、１６５‥‥ＡＦ検出部（生成手段）
【図１】
0005882726.tif 000002
【図２】
0005882726.tif 000003
【図３】
0005882726.tif 000004
【図４】
0005882726.tif 000005
【図５】
0005882726.tif 000006
【図６】
0005882726.tif 000007
【図７】
0005882726.tif 000008
【図８】
0005882726.tif 000009
【図９】
0005882726.tif 000010
【図１０】
0005882726.tif 000011
【図１１】
0005882726.tif 000012
【図１２】
0005882726.tif 000013
【図１３】
0005882726.tif 000014
【図１４】
0005882726.tif 000015
【図１５】
0005882726.tif 000016
【図１６】
0005882726.tif 000017