以下に、本発明を実施するための最良の形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
[実施形態1]以下、本発明の撮像装置をデジタルビデオカメラに適用した例を説明するが、これに限られず、デジタルスチルカメラ等に適用しても良い。
<装置構成>まず、図1を参照して、本実施形態のビデオカメラの主要な構成について説明する。
図1において、101は第1の固定レンズ群、102は光軸方向に移動して変倍を行い、焦点距離を可変な変倍レンズ、103は絞りである。また、104は第2の固定レンズ群、105は変倍に伴う焦点面の移動を補正する機能とフォーカシングの機能とを兼ね備えたフォーカスコンペンセータレンズ(以下、フォーカスレンズと略称する)である。第1の固定レンズ群101、変倍レンズ102、絞り103、第2の固定レンズ群104及びフォーカスレンズ105により撮影光学系が構成される。
106はCCDセンサやCMOSセンサにより構成される光電変換素子としての撮像素子である。撮像素子106は撮影光学系により形成された被写体像を撮像して映像信号を出力する。107は撮像素子106の出力をサンプリングし、ゲイン調整するCDS/AGC回路である。
108はカメラ信号処理部であり、CDS/AGC回路107からの出力信号に対して各種の画像処理を施し、映像信号を生成する。109はLCD等により構成される表示部であり、カメラ信号処理部108からの映像信号を表示する。115は記録部であり、カメラ信号処理部108からの映像信号を磁気テープ、光ディスク、半導体メモリ等の記録媒体に記録する。
110は変倍レンズ102を移動させるためのズーム駆動部である。111はフォーカスレンズ105を移動させるためのフォーカシング駆動部である。ズーム駆動部110及びフォーカシング駆動部111は、ステッピングモータ、DCモータ、振動型モータ及びボイスコイルモータ等のアクチュエータにより構成される。
112はCDS/AGC回路107からの全画素の出力信号のうち焦点検出に用いられる領域の信号のみを通すAF検出部である。
AF信号処理部113は、AF検出部112を通過した信号から高周波成分や輝度差成分(AF検出部112を通過した信号の輝度レベルの最大値と最小値の差分)等を抽出してAF評価値信号を生成する。AF評価値信号は、マイクロコンピュータ(以下、マイコンと略称する)114に出力される。AF評価値信号は、撮像素子106からの出力信号に基づいて生成される映像信号の鮮鋭度(コントラスト状態)を表すものであるが、鮮鋭度は撮影光学系の合焦状態によって変化するので、結果的にAF評価値信号は撮影光学系の合焦状態を表す信号となる。
マイコン114は本発明の制御手段を構成し、ビデオカメラ全体の動作の制御を司ると共に、フォーカシング駆動部111を制御してフォーカスレンズ105を移動させる焦点調節動作を実行する。マイコン114は、上記焦点調節動作として、TV−AF方式でのAF制御(以下、TV−AFと略称する)を実行する。
顔検出部116は本発明の被写体検出手段を構成し、映像信号に対して公知の顔検出処理を施して、撮影画面内の人物の顔領域を検出する。その検出結果をマイコン114に送出する。マイコン114は、上記検出結果に基づき、撮影画面内の顔領域を含む位置に焦点検出に用いられる領域を追加するようにAF検出部112へ情報を送出する。ここで、顔検出部116から複数の人物の顔領域を検出した場合には、顔領域の位置、大きさに応じて優先順位をつける主顔判定処理部があり、主顔判定処理部によって優先順位が第1位となった顔を主顔とする。
なお、顔検出処理としては、例えば、画像データで表される各画素の階調色から、肌色領域を抽出し、予め用意する顔の輪郭プレートとのマッチング度で顔を検出する方法や、周知のパターン認識技術を用いて、目、鼻、口等の顔の特徴点を抽出することで顔検出を行う方法等が開示されている。本実施形態では、顔検出処理の方法については、上述した方法に限られず、どのような方法であっても良い。
また、ビデオカメラ100にはズームキー117が設けられており、撮影者はズームキー117を操作することができる。ズームキー117の操作に対応して、マイコン114がズーム駆動部110を制御することにより変倍レンズ102が移動し、これによりズーム倍率が変倍される。
顔検出AFモード切替部118は、後述する顔検出処理を利用したAF制御を切り替える機能を有する。ここで、撮影者により選択された顔検出AFモードに応じて、マイコン114は、顔検出処理の結果に応じたAF制御及びAE制御を行う。
振れ検出部119はビデオカメラの撮影等の際における手ブレを検出するものであり、ジャイロセンサ等の角速度センサが用いられる。振れ検出部の出力である手ブレ信号はマイコン114へ入力され、所定のフィルタリング処理、積分処理を行い、ビデオカメラの角変位として不図示の振れ補正系の制御信号として用いる。
なお、振れ補正系としては撮像素子に入射される撮像光の光路途中に、光軸偏向が可能なプリズムやレンズ部材を配置し、手ブレに応じて光軸の偏向を行う光学式の方式がある。また、電子式の方式では、撮像素子で受光された画像の一部を切り出す位置を制御し、制御された位置での画像の切り出しを行って振れ補正する方式がある。他の電子式の方式として、フィールド間での映像信号の変化からカメラの動き量を算出し、この算出された動き量を手ブレ量とする動きベクトル検出方式と併用される場合も多い。この場合には、動きベクトル検出用のフィールドメモリの蓄積画像における動きを除去するように対応する画像をメモリから抽出することにより補正が行われる。
<AF制御処理>次に、図2を参照して、マイコン114が実行するAF制御処理について説明する。図2のAF制御処理は、マイコン114内に格納されたコンピュータプログラムに従って実行され、例えば1フィールド画像を生成するための撮像素子106からの撮像信号の読み出し周期にて繰り返し実行される。
図2において、まず、最新の映像信号に対して顔検出処理を実行した後の顔検出部116から顔領域の有無を示す情報を取得する(S201)。
次いで、ステップS202で顔検出AFモード切替部118により、撮影者が選択されている顔検出AFモードを取得する。
本実施形態では、顔検出AFモードとして、図5に示す2つの顔検出AFモードを選択できる。第1の焦点調節モードとしての第1の顔検出AFモードは、撮影画面内に顔が存在する場合には顔に対して、顔が存在しない場合には、画面中央の被写体に対して常にピント合わせを行う。第2の焦点調節モードとしての第2の顔検出AFモードは、撮影画面内に顔が存在する場合にのみ顔に対してピント合わせを行う。つまり、第1の顔検出AFモードは、顔が存在する場合には、顔に対して追従してピント合わせを行い、顔が存在しない場合には、画面中央に対してピント合わせを行うことで、常に画面内のいずれかの被写体に対して素早くピント合わせを行うことが可能である。また、第2の顔検出AFモードは、撮影画面内に顔が存在する場合にのみ、顔に追従して安定してピント合わせを行い、顔が存在しなくなった場合には、ピント合わせを禁止する。これにより、顔がフレームアウトした場合に素早く背景にピント合わせを行ってしまい、ピント面が動くことにより編集時にカットしにくい映像となってしまうことを防ぐことができる。このように、撮影者の意図に適した第1及び第2の顔検出AFモードを有し、撮影者が自ら撮影シーンに合わせて選択することにより、撮影者に最適なAF制御を提供することができる。
そして、ここで第2の顔検出AFモードか否かを判定し、第2の顔検出AFモードでない場合はステップS203へ移行し、第2の顔検出AFモードである場合には、ステップS213へ移行する。
ステップS203では、ステップS201で取得した結果から、顔領域が存在するか否かを判定する。顔領域が存在しない場合にはステップS204へ移行し、画面上の中央位置へAF枠を設定し、ステップS212で後述するTV−AF制御を行う。顔領域が存在する場合にはステップS205へ移行し、後述するマイコン114内の主顔判定処理部で判定された主顔位置にAF枠を設定する。
次に、ステップS206で今回の主顔が前回の主顔と変わったか否かを判定する。主顔が変わっていない場合にはステップS207へ移行し、主顔が変わった場合にはステップS210へ移行する。ここで、主顔が変わったか否かは、後述する主顔判定処理部で判定される際に主顔に付随されている顔番号が変わったか否かによって判断する。
ステップS207では、主顔切り替わりカウンタをカウントアップする。そして、ステップS208へ移行し主顔切り替わりカウンタが第1のカウント値以上か否かを判定する。第1のカウント値以下の場合は、ステップS211へ移行し振幅大フラグをセットする。第1のカウント値より大きい場合には振幅大フラグをクリアする。ここで、第1のカウント値は例えば1秒とする。
ステップS210では、主顔が変わったことにより主顔切り替わりカウンタをクリアし、ステップS211で振幅大フラグをセットする。
ここで、振幅大フラグのセット/クリアに関しては、振幅大フラグをセットした場合、後述するステップS211TV−AF処理における微小駆動時のフォーカスレンズ105を移動させる振幅量を大きくする。例えば、振幅量を振幅大フラグがクリアされている場合の2倍に設定する。
本実施形態において、主顔が変わった場合に微小駆動時の振幅量を大きくするのは、主顔に対して迅速にピント合わせを行うためである。つまり、次の主顔がボケた状態ではフォーカスレンズ105を移動させる方向が判別しにくくピント合わせに時間がかかってしまう。そのため、振幅量を増やすことによりフォーカスレンズ105を移動させる方向を判別しやすくし、次の主顔にピント合わせを行う時間を短くする。但し、ピントが合ってから振幅を増やすと、フォーカスレンズ105を動かすことによってデフォーカスしている被写体の見えが悪くなる。このため、第1のカウント値をおおよそピントが合うまでの時間、若しくは、主顔が大ボケになっている時間を想定して設定すれば良い。
次に、ステップS202で第2の顔検出AFモードが設定されている場合、ステップS213へ移行する。ここで、後述する焦点検出禁止モードか否かを判定する。焦点検出禁止モードの場合はステップS216へ移行し、焦点検出禁止モードでない場合はステップS214へ移行する。
ステップS214では、ステップS201で取得した結果から、ステップS203、S206と同様に、顔領域が存在するか否か、若しくは主顔が変わったか否かを判定する。顔領域が存在しない、若しくは主顔が変わった場合にはステップS215へ移行し、焦点検出禁止モードに設定する。顔領域が存在し、主顔も変わってない場合には、ステップS219へ移行する。ここで、焦点検出禁止モードとは、顔領域が存在するがAF制御を禁止する状態を示しており、後述する所定の条件により解除され、AF制御を実行する。
ステップS216では、ウエイトカウント値が第2のカウント値より大きいか否かを判定する。ウエイトカウント値が第2のカウント値よりも小さい場合にはステップS223へ移行し、ウエイトカウント値をカウントアップし、ステップS224でフォーカスレンズ105を停止させておく。ウエイトカウント値が第2のカウント値よりも大きい場合にはステップS217へ移行し、焦点検出禁止モードの設定を解除し、ステップS218へ移行する。
ステップS218では、顔領域が存在するかを判定し、顔領域が存在しない場合にはステップS224へ移行しフォーカスレンズ105を停止させておく。一方、顔領域が存在する場合にはステップS219へ移行し、ステップS205と同様に主顔位置にAF枠を設定する。
次に、ステップS220では、振幅大フラグをクリアしておき、ステップS221でステップS212と同様のTV−AF制御を行い、ステップS222でウエイトカウント値をクリアする。
本実施形態では、主顔が切り替わった際に焦点検出禁止モードに設定し、所定時間フォーカスレンズ105を停止させている。これは、主顔がフレームアウトした際に、背景に他の顔が存在していた場合、第1の顔検出AFモードのように、素早く次の主顔に対してピント合わせを行ってしまうと、ピント面が動くことにより編集時にカットしにくい映像となってしまうからである。これでは、第2の顔検出AFモードの利点を活用できなくなり、撮影者の意図に反し、編集しにくい映像となってしまう。つまり、第2の顔検出AFモードでは、AF制御の対象となっている主被写体が存在している場合は、ピント合わせを主被写体に追従するように行い、主被写体が存在しなくなった場合には、ピント面を動かさずに背景等がボケた状態にしておくことが望ましい。第2の顔検出AFモードは、映像を編集しやすい撮影シーンを撮影でき、撮影者の意図した安定した撮影シーンを提供するものであるのに、他の被写体が存在しているからといって、ピント面を即座に動かしてしまっては撮影者の意図に反し不快感を与えてしまう。
また、本実施形態では、顔領域が存在しない場合にも、ウエイトカウント値をカウントアップしている。これは、顔領域が存在しなくなった直後には、他の顔領域は存在していなかったが、新たに他の顔領域がピント面を止めておきたい第2のカウント値を満たすよりも前に現れるかもしれない。その場合に、ピント面が動いてしまうのを防ぐためである。また、第2のカウント値は、上述したように編集する際にカット可能な時間が確保できれば良いという設定から、全くピント面を動かさないという無限に続くカウント値としても良い。無限に続くカウント値とした場合は、第2の顔検出AFモード以外になった場合に、ウエイトカウント値をクリアするようにすれば良い。
<TV−AF制御処理>図3及び図4は、図2のステップS212及びS221で実行されるTV−AF制御処理を示すフローチャートである。
図3において、まず、AF評価値を取得する(S301)。そして、図4で後述に説明するTV−AF再起動判定処理を行う(S302)。
次いで、TV−AFモードが微小駆動モードであるか否かを判定する(S303)。微小駆動モードについては後述する。
ステップS301での判定の結果、モードが微小駆動モードであるときは(S303でYES)、フォーカスレンズ105を微小駆動する(S304)。微小駆動については、後に図6を用いて説明する。
次いで、合焦状態であるか否かを判定する(S305)。ステップS305での判定の結果、合焦状態であるときは(S305でYES)、フォーカスレンズ105の駆動を停止する(S309)。
次いで、フォーカスレンズ105の合焦位置におけるAF評価値をマイコン114のメモリ(図示しない)に記憶させる(S310)。
次いで、現在のモードを再駆動判定モードに移行させる(S311)。
ステップS305での判定の結果、合焦状態でないときは(S305でNO)、現在のフォーカスレンズ105の位置に対して合焦位置がいずれの方向にあるかを判別する(S306)。
次いで、ステップS307において合焦位置の方向(以下、合焦方向と略称する)を判別できたか否かを判定する(S307)。
ステップS307での判定の結果、合焦方向を判別できたときは(S307でYES)、TV−AFのモードを山登り駆動モードに移行させる(S308)。
ステップS303での判定の結果、モードが微小駆動モードでないときは(S303でNO)、モードが山登り駆動モードであるか否かを判定する(S312)。
ステップS312での判定の結果、モードが山登り駆動モードであるときは(S312でYES)、所定の速度でフォーカスレンズ105を山登り駆動(合焦位置検出制御)する(S313)。
次いで、フォーカスレンズ105の山登り駆動においてAF評価値がピークを超えたか否かを判定する(S314)。
ステップS314での判定の結果、AF評価値がピークを超えたときは(S314でYES)、フォーカスレンズ105の山登り駆動においてAF評価値がピークとなった位置(以下、ピーク位置という)にフォーカスレンズ105を戻す(S315)。
次いで、フォーカスレンズ105がピーク位置に戻ったか否かを判定する(S316)。
ステップS316での判定の結果、ピーク位置に戻ったときは(S316でYES)、TV−AFのモードを微小駆動モードへ移行させる(S317)。
ステップS312での判定の結果、モードが山登り駆動モードでないときは(S312でNO)、現在のモードが再駆動判定モードであり、ステップS318に移行する。ステップS318では、後述するステップS302のTV−AF再起動判定処理によって、再起動フラグがセットされているか否かを判定する。ステップS318で再起動フラグがセットされていないときは(S318でNO)、フォーカスレンズ105の駆動を停止する(S319)。
ステップS318での判定の結果、再起動フラグがセットされているときは(S318でYES)、TV−AFのモードを微小駆動モードへ移行させる(S320)。そして、再起動フラグをクリアする(S321)。
<TV−AF再起動判定処理>図4は、図3のステップS302におけるTV−AF再起動判定処理を示すフローチャートである。
まず、マイコン114のメモリ(図示しない)に記憶されているAF評価値と最新のAF評価値とを比較して、これらの差が所定の値よりも大きいか否か、すなわちAF評価値の変動が大きいか否かを判定する(S401)。
ステップS401の判定の結果、AF評価値の変動が大きいときは(S401でYES)、山登り駆動モードか否か判定する(S402)。
ステップS402の判定の結果、山登り駆動モードでないときは(S402でNO)、再起動処理を実行する、若しくは微小駆動モードであるならば、微小駆動を再度初期状態からやり直すために、TV−AF処理で使用するデータを初期化する(S403)。そして、ステップS404へ移行する。
ステップS402の判定の結果、山登り駆動モードであるときは(S402でYES)、ステップS404へ移行する。
次に、ステップS404では、再起動モードであるか否かを判定する。ステップS404での判定の結果、再起動モードであるとき(S404でYES)、再起動フラグをセットする(S405)。そして、処理を終了する。ステップS404の判定の結果、再起動モードでないとき(S404でNO)、処理を終了する。
ステップS401の判定の結果、AF評価値の変動が小さいときは(S401でNO)、そのまま処理を終了する。
図6は、図3のTV−AF処理におけるステップS304で実行されるフォーカスレンズ105の微小駆動を説明する図である。
図6において、横軸は時間を、縦軸はフォーカスレンズ105の位置を示している。また、図中上方において、映像信号の垂直同期信号を示している。
図6に示すように、期間Aの間に撮像素子106に蓄積された電荷(図中、斜線楕円で示す)に対するAF評価値EVAが時刻TAで取り込まれ、期間Bの間に撮像素子106に蓄積された電荷に対するAF評価値EVBが時刻TBで取り込まれる。また、時刻TCでは、AF評価値EVA,EVBを比較して、EVB>EVAであれば、微小駆動の駆動(振動)中心を移動させる。一方、EVA>EVBであれば、振動中心を移動させない。このように、フォーカスレンズ105を移動させながらAF評価値が増加する方向を判定したり、AF評価値が最も大きくなるフォーカスレンズ105の位置(ピーク位置)を探すのが微小駆動である。
なお、AF評価値の変化から合焦状態か否かを判定するためにフォーカスレンズ105を微小駆動させる制御は、合焦確認制御ということもできる。
また、AF評価値の変化から合焦方向を判定するためにフォーカスレンズ105を微小駆動させる制御は、合焦方向判定制御ということもできる。
図7は、図3のTV−AF処理におけるステップS313で実行されるフォーカスレンズ105の山登り駆動を説明するための図である。
図7において、横軸はフォーカスレンズ105の位置を、縦軸はAF評価値を示している。
図7に示すように、Aの動きでは、AF評価値がピークを超えてから減少するので、ピーク位置(合焦位置)の存在を確認することができる。この場合、フォーカスレンズ105をピーク位置近傍に戻してから山登り駆動を終了して、微小駆動に移行する。一方、Bの動きでは、ピークが無く、AF評価値が単調に減少するので、フォーカスレンズ105の駆動方向が誤りであると判定することができる。この場合、フォーカスレンズ105の駆動方向を反転して山登り駆動を継続する。このように、フォーカスレンズ105を駆動して、その間に得られたAF評価値がピークとなるピーク位置又はその近傍を判定するのが山登り駆動である。
<主顔判定処理>図8は、マイコン114による主顔判定処理を示すフローチャートである。この主顔判定処理が本発明の主被写体選択手段を構成する。
まず、ステップS801で、顔検出部116により取得された顔検出結果から後述する顔相関判定処理を行う。この処理により、各検出された顔に対して顔番号を任意に割り当てる。
そして、ステップS802で、検出された顔の位置、大きさ等から、優先順位付けを行い、第1優先となったものを主顔とする。この場合の優先順位付けの決定は、例えば、位置が画面中央に近い程、大きさが大きくなる程優先順位が高くなるように決定する。さらには、頻繁に検出された顔が切り替らなくするために、前回も検出されていた顔に対しては優先順位を高くしても良く、撮影者が主顔として相応しく感じられる優先順位付け方法であれば、上述した限りではない。
ステップS803では、不図示ではあるが主顔固定モードが有効か無効かを判定する。ここで、主顔固定モードの有効/無効は、設定メニュー等で撮影者が選択可能な入力手段があれば良い。また、十字キーやタッチパネルを用いて、撮影者が操作することにより、撮影者が意図的に顔を選択できる操作を可能にできる入力手段を撮像装置が持っていれば良い。そして、主顔固定モードとは、自動的に主顔を決定するのではなく、撮影者が選択して設定した顔が画面上に存在する限り、常に撮影者が選択した顔を主顔とする機能である。
主顔固定モードが無効である場合には処理を終了し、主顔固定モードが有効である場合には、ステップS804へ移行する。
ステップS804では、今回の顔検出結果によって取得した顔に割り当てた顔番号と記憶されている主顔固定顔番号とを比較し、主顔固定されている顔が存在するか否かを判定する。主顔固定されている顔が存在する場合にはステップS805へ移行し、主顔固定されている顔が存在しない場合には、ステップS806へ移行する。
ステップS805では、主顔固定されている顔を第1優先(主顔)にステップS802で決定された優先順位を変更し、処理を終了する。
ステップS806では、記憶されている主顔固定顔番号をクリアする。そして、ステップS807へ移行し、主顔固定モードを無効にし、自動的に主顔を決定する状態へ移行し、処理を終了する。
<顔相関判定処理>次に、図9を参照して、図8の顔相関判定処理について説明する。この処理は、検出された顔数分処理を繰り返して行う。
まず、ステップS901で、顔検出部116により取得された前回と今回の顔検出結果を比較する。具体的には、顔の位置と大きさを各々比較し、前回の位置と今回の位置が近い程、前回の大きさと今回の大きさが同等である程、同じ顔であると判断できる。このように同じ顔を検索していき、顔の位置及び大きさの差から同じ顔が否かを判定するための相関量を算出し、相関が高い場合に同じ顔であると判定する。
そして、ステップS902で同じ顔であるか否かを判定し、前回と同じ顔に対しては前回と同じ顔番号を設定し(S903)、前回と同じ顔であると判定されなかった顔に対しては、新たに検出された顔と判断し、新しい任意の顔番号を設定する(S904)。
<実施形態1による効果>第1の顔検出AFモードの場合には、主顔がフレームアウトした等、主被写体が存在しなくなった場合、他の被写体が存在している場合には素早く他の被写体へピント合わせを行えば良い。しかしながら、第2の顔検出AFモードの場合には、他の被写体が存在しているからといって、他の被写体に即座にピント合わせを行ってしまうと、ピント面が動いてしまい編集しにくい映像になってしまう。このため、第2の顔検出AFモードの場合には、主顔が存在しなくなった、若しくは、主顔が変わってしまった場合に、焦点検出禁止モードを設定し、所定時間AF制御を禁止する。これにより、撮影者の意図に適した撮影シーンを撮影することが可能となり、撮影者の意図に反して不快感を与えることを軽減することができる。
また、第1の顔検出AFモードの場合には、常にAF制御を行うため、常にピントが合っている被写体が存在することが望ましい。そのため、主顔が変わった場合に、第2の顔検出AFモードの場合と比較して、微小駆動時のフォーカスレンズ105の移動量を大きくすることで、次の主顔がボケている状態でも素早く合焦方向が判別でき、次の主顔に対して素早いピント合わせが可能となる。これにより、AF制御の応答性を向上させ、次の主顔に対して素早いピント合わせを行うことができ、撮影者に不快感を与えないようにできる。
反対に、第2の顔検出AFモードの場合には、常にピントが合っている被写体が存在しているのではなく、次の主顔に対して素早くAF制御を行うこともなく、また、次の主顔が撮影者の撮影したい被写体であるとも限らない。さらに、フォーカスレンズ105の移動量を大きくすることで、背景等のデフォーカス被写体のピント面の動きが見えやすくなる。そのため、一度フレームアウトした顔が再度フレームインしたときに、顔が存在していない場合にはピント面が動いていなかった状態から、背景等のデフォーカス被写体のピント面の動きが急に見えて、撮影者に違和感を与えてしまうことも考えられる。よって、主顔が変わった場合に、第1の顔検出AFモードと比較して、微小駆動時のフォーカスレンズ105の移動量を小さくし、AF制御の応答性よりも安定した撮影シーンを優先した制御にすることにより撮影者に不快感を与えることを軽減することができる。
このように、第1及び第2の顔検出AFモードに応じてAF制御を切り替えることにより、撮影者の意図に適したAF制御を実現できる。
[実施形態2]次に、実施形態2について説明する。本実施形態のハードウェア構成は、前述の実施形態1において図1で説明したものと同様である。
<AF制御処理>図10を参照して、実施形態2のAF制御処理について説明する。図10は、図1のマイコン114が実行するAF制御処理を示すフローチャートである。
本処理は実施形態1のAF制御処理と基本的に同じであるので、図2と共通する動作については下2桁を図2と同数字で示すことで説明を省略し、異なる動作についてのみ説明する。
本実施形態では、第2の顔検出AFモードにおいて、主顔が存在しなくなった場合に、他の顔が存在している、若しくは他の顔が現れた場合に、ピント合わせを実行するか否かを他の顔の大きさ、位置、又は、カメラ動作によって変更するものである。
つまり、第2の顔検出AFモードにおいて、ステップS1014で顔領域が存在しなくなった、若しくは主顔が変わってしまったときに、ステップS1015焦点検出禁止モードに設定する。そして、ステップS1016ではウエイトカウント値が第2のカウント値以上になったか否かを判定する。ここで、ウエイトカウント値が第2のカウント値未満である場合に、ステップS1031へ移行する。
ステップS1031では、顔検出部116で検出した結果、顔領域が存在しているか否かを判定する。顔領域が存在していない場合には、ピント合わせを行う対象が存在しないということでステップS1023へ移行し、ウエイトカウント値をカウントアップし、フォーカスレンズ105を停止させておく。
反対に、ステップS1031で、顔領域が存在している場合、前回の主顔とは異なる他の顔が存在していることになるので、ステップS1032へ移行する。
次いで、ステップS1032で、前回の主顔と今回の主顔の大きさの差が所定の差未満か否か、及び前回の主顔の位置と今回の主顔の位置の差が所定の差未満か否かを判定する。ここでは、顔の大きさ、及び顔の位置を比較したが、いずれか一方だけでも良い。また、顔の特徴量を判定基準に用いても良い。その場合、顔の特徴量がどれだけ類似するかを比較し、類似度が所定の差未満か否かを判定すれば良い。例えば、主顔が横を向いてしまったり、誤って一時的にフレームアウトしてしまった場合等で、撮影者がピント合わせを行う対象の主顔であるにも関わらず、一時的に顔検出が不可能な状態になってしまう場合も考えられる。この場合、主顔が存在しなくなったからといって、ピント合わせを第2のカウント値以上も禁止していたら、撮影者がピント合わせを行いたい対象の主顔が再び現れてもピント合わせを追従させることができなくなってしまい、撮影者に不快感を与えてしまう。そのため、前回まで追従していた顔の大きさとほぼ同等、若しくは、前回まで追従していた顔の位置とほぼ同じ位置に主顔が存在した場合には、焦点検出禁止モードの設定を解除し、主顔位置にAF枠を設定し、TV−AF制御を実行しピント合わせを行う。
反対に、前回の主顔と今回の主顔の大きさの差が所定の差以上であり、又は、前回の主顔の位置と今回の主顔の位置の差が所定の差以上である場合、別の顔であると判定し、ステップS1033へ移行する。
ステップS1033では、撮影者がズームスイッチ117を操作することによりズーム操作が行われたか否かを判定する。ズーム操作が行われた場合には、焦点検出禁止モードの設定を解除し(S1035)、主顔位置にAF枠を設定し(S1019)、TV−AF制御を実行しピント合わせを行う(S1021)。ズーム操作が行われていない場合には、ステップS1034へ移行する。
ステップS1034では、振れ検出部119によってパンニングを検出したか否かを判定する。パンニングを検出した場合には、焦点検出禁止モードの設定を解除し(S1035)、主顔位置にAF枠を設定し(S1019)、TV−AF制御を実行しピント合わせを行う(S1021)。パンニングを検出していない場合には、ステップS1023へ移行し、ウエイトカウント値をカウントアップし、ステップS1024でフォーカスレンズ105を停止させておく。
ここで、図11及び図12を参照して、振れ検出部119で検出される手ブレ信号によるビデオカメラのパンニング検出判定処理について説明するが、この手法に限るものではなく、撮影者によりカメラが振られたことが判定できれば良い。
図11において、119はビデオカメラの振れ検出部である。119aはビデオカメラの振れを検出する角速度センサである。119bは角速度センサ119aの出力から直流成分を除去する高域通過フィルタ(以下、HPF)である。119cはHPF119bの出力を所定量増幅させる増幅器である。
次に、振れ検出部119の出力はマイコン114に入力され、114aはアナログ出力をデジタル信号に変換するA/D変換器である。114bはA/D変換器114aの出力から直流成分を除去するHPF、114cはHPF114bの出力を積分し、角変位信号へと変換する積分器である。114dは積分器114cの出力が不図示の振れ補正系に対して制御信号として出力される振れ状態判定部である。振れ状態判定部114dには、所定のパニング判定閾値が設定されており、積分器114cの出力が閾値以上か否かに応じてビデオカメラがパンニング動作となっているか否かを判定し、この判定結果がステップS1034のパンニング判定処理に適用される。撮影者の手ブレ量等により一時的にパンニングが検出されることもあるため、パンニング判定の条件に積分器114cの出力が所定の閾値以上となってからの時間を含めても良い。
なお、説明の簡略化のために、角速度センサ119a、HPF119b、増幅器119c、A/D変換器114a、HPF114b、積分器114c、振れ状態判定部114dは2系統あるが1系統のみを図示している。
次に、ビデオカメラが撮影者によってパンニングされている場合の積分器114cの出力を模式的に図12に示す。図12において、縦軸は積分器114cの出力、横軸は時間を表している。1201は積分器114cの出力である。1202,1202’はパンニング判定閾値である。1203,1203’はパンニング終了判定の閾値である。積分器114cの出力がパンニング判定閾値1202,1202’以上となり、閾値1202,1202’以上の出力が所定時間継続した場合にパンニングされたと判定される。
また、閾値1202,1202’以上で所定時間経過後、積分器114cの出力がパンニング終了判定の閾値1203,1203’以下になった場合は、パンニングが終了したと判定される。
ここで、ステップS1033でズーム操作、若しくはステップS1034でパンニングを検出しているのは、撮影者が意図的に画角を変えて異なる被写体に注目したり、カメラを振ることによって異なる被写体に向けたと考えられるからである。つまり、撮影者が意図的に異なる被写体を撮影しようと考えているため、AF制御が禁止されたままでは、次の被写体へのピント合わせに時間がかかってしまい、撮影者に不快感を与えてしまう。そのため、ズーム操作やパンニングを検出した場合には、撮影者が意図的に他の被写体へ切り替えたと判断し、ピント合わせを実行することにより、撮影者に不快感を与えることを軽減することができる。
<実施形態2による効果>第2の顔検出AFモードにおいて、主顔が存在しなくなった、若しくは主顔が切り替わったと判定された場合には、焦点検出禁止モードを設定しAF制御を禁止する。焦点検出禁止モードの設定時に、主顔が存在し、顔の大きさや位置がほぼ同等であると判定された場合には、撮影者が撮影する対象としている被写体と同じ被写体であると判断し、焦点検出禁止モードの設定を解除し、AF制御を実行する。また、ズーム操作やパンニングを検出した場合には、撮影者が意図的に被写体を切り替えたと判断し、焦点検出禁止モードの設定を解除し、AF制御を実行する。これにより、撮影者の意図に適した撮影シーンを撮影することが可能となり、撮影者の意図に反して不快感を与えることを軽減することができる。
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
また、本発明は、複数の機器(例えば、画像処理装置を構成するホストコンピュータ、インターフェイス機器、カメラヘッドなど)から構成されるシステムに適用してもよい。また、1つの機器からなる装置(例えば、デジタルスチルカメラ、デジタルビデオカメラなど)に適用してもよい。