(57)【要約】【課題】高速に移動する被写体の顔を追従して高精度なＡＦを行えるようにすること。【解決手段】被写体からの光束を結像する撮影光学系１０１からの撮影光束を薄膜ミラー２０１によって分割して、撮像素子２０２と、位相差検出方式により焦点位置を検出する焦点検出部２０６を含む測距ブロック２１５とに導き、顔検出部２０３によって、上記撮像素子２０２からの信号に基づき被写体の顔を検出すると共に、レンズ制御部１０２によって、上記焦点検出部２０６からの焦点位置に基づき上記撮影光学系のフォーカス位置を調整するカメラは、制御部２０８により、上記焦点検出部２０６と上記顔検出部２０３のタイミングを制御し、予測演算部２０９によって、上記焦点検出部２０６により検出された焦点検出情報と上記顔検出部２０３により検出された被写体の顔情報とに基づき、被写体の動き予測を行う。【選択図】図１
2010008506.tif 000002
【特許請求の範囲】
【請求項１】
被写体からの光束を結像する撮影レンズ群と、
上記撮影レンズ群からの結像光を電気信号に変換する光電変換手段と、
位相差検出方式により上記撮影レンズ群の焦点位置を検出する焦点検出手段と、
上記焦点検出手段により検出された焦点位置に基づき上記撮影レンズ群のフォーカス位置を調整するためのレンズ制御手段と、
撮影光束を複数に分割し、上記光電変換手段と上記焦点検出手段にそれぞれ光束を導く光分割手段と、
上記光電変換手段により生成された信号に基づき被写体の顔を検出する顔検出手段と、
上記焦点検出手段と上記顔検出手段のタイミングを制御する制御手段と、
上記焦点検出手段により検出された焦点検出情報と上記顔検出手段により検出された被写体の顔情報とに基づき、被写体の動き予測を行う予測演算手段と、
を具備することを特徴とするカメラ。
【請求項２】
上記焦点検出手段と上記顔検出手段は、上記制御手段により設定される非同期のタイミングにおいて各々動作を行うことを特徴とする請求項１に記載のカメラ。
【請求項３】
上記焦点検出手段と上記顔検出手段は、上記制御手段により設定される同期したタイミングにおいて各々動作を行うことを特徴とする請求項１に記載のカメラ。
【請求項４】
上記予測演算手段は、上記顔検出手段により検出された被写体の顔情報に基づき上記焦点検出手段の測距タイミングを制御することを特徴とする請求項１に記載のカメラ。
【請求項５】
上記予測演算手段は、上記顔検出手段の情報の信頼性が低い場合は上記焦点検出手段で検出された焦点検出情報のみを用いて被写体の動き予測を行うことを特徴とする請求項１に記載のカメラ。
【請求項６】
上記光分割手段は、ペリクルミラーであることを特徴とする請求項１乃至５の何れかに記載のカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラに関し、特に、デジタルカメラにおけるオートフォーカス（以下、ＡＦと略記する）技術に関する。
【背景技術】
【０００２】
従来のデジタルカメラにおけるＡＦ技術は、大別してコントラストＡＦ方式とＴＴＬ（Through the Lens）位相差ＡＦ方式とがある。
【０００３】
一般的に、コンパクトデジタルカメラでは、コントラストＡＦ方式を用いることが多く、焦点調節用のレンズ（フォーカスレンズ）を光軸方向に移動させながら被写体の高周波成分を検出して、コントラストのピーク値を算出することで焦点検出を行う。コントラストＡＦ方式は、焦点検出速度は高速ではないが、高精度の合焦制御が可能という特徴がある。また、撮像素子の出力を利用することにより被写体の顔を検出し、検出した顔にピントを合わせる技術が公知である。
【０００４】
一方で、レンズ交換式デジタル一眼レフカメラのＡＦには、位相差ＡＦ方式が用いられることが多く、高速に焦点検出を行えるという特徴がある。この位相差ＡＦ方式は、カメラ本体に焦点位置のズレを検出するためのＡＦセンサが設けられ、該ＡＦセンサにより検出された焦点ズレ量（デフォーカス量）により、フォーカスレンズの焦点検出を行う。しかし、測距点（ＡＦセンサの素子配置）は、離散的に配置せざるを得ないため、測距点を跨ぐような縦横方向の被写体への追従には難がある。
【０００５】
このような問題に鑑み、画面内の縦横方向にも追従可能で、かつ高速なＡＦ技術が求められている。
【０００６】
このような技術の先行例としては、特許文献１がある。これは撮像素子の出力を用いて顔検出を行い、撮影毎の顔の大きさ、位置によりグルーピングを行い、これに基づき最適な焦点検出エリアを指定するというものである。
【特許文献１】特開２００７−２８６２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記特許文献１では、撮像素子の出力を用いて顔検出した領域に相当する測距点の測距情報のみを用いて合焦動作を行う。しかしながら、高速に移動する被写体においては、測距時と撮影時で被写体が同じ場所にいるとは限らず、測距した時点のデフォーカス量と撮影時のデフォーカス量には誤差が生じ、追従に問題がある。
【０００８】
本発明は、上記の点に鑑みてなされたもので、高速に移動する被写体においても検出した顔を追従可能とし、高精度なＡＦを可能とするカメラを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のカメラの一態様は、
被写体からの光束を結像する撮影レンズ群と、
上記撮影レンズ群からの結像光を電気信号に変換する光電変換手段と、
位相差検出方式により上記撮影レンズ群の焦点位置を検出する焦点検出手段と、
上記焦点検出手段により検出された焦点位置に基づき上記撮影レンズ群のフォーカス位置を調整するためのレンズ制御手段と、
撮影光束を複数に分割し、上記光電変換手段と上記焦点検出手段にそれぞれ光束を導く光分割手段と、
上記光電変換手段により生成された信号に基づき被写体の顔を検出する顔検出手段と、
上記焦点検出手段と上記顔検出手段のタイミングを制御する制御手段と、
上記焦点検出手段により検出された焦点検出情報と上記顔検出手段により検出された被写体の顔情報とに基づき、被写体の動き予測を行う予測演算手段と、
を具備することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、光電変換手段と位相差検出方式の焦点検出手段とへ常に光分割手段によって撮影光束を導き、検出された焦点検出情報と検出された被写体の顔情報とに基づく被写体の動き予測を行うことで、高速に移動する被写体においても検出した顔を追従可能とし、高速移動被写体に対して高精度にＡＦ追従可能なカメラを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態に係るカメラの構成を示す図である。
【００１３】
このカメラは、レンズ本体１０とカメラ本体２０とからなる。
【００１４】
レンズ本体１０は、カメラ本体２０に対して着脱自在に構成された交換レンズとして提供されるもので、撮影光学系１０１、レンズ制御部１０２、通信部１０３、レンズ側接点１０４、等を備える。
【００１５】
ここで、撮影光学系１０１は、被写体からの光束を結像する撮影レンズ群である。また、レンズ制御部１０２は、当該レンズ本体１０内の各部を制御するレンズ制御手段であり、カメラ本体２０からの指令に応じて上記撮影光学系１０１のフォーカス位置を調整したり、図示しないレンズ位置検出機構によりレンズ位置を測定してレンズパルスとして、通信部１０３によりカメラ本体２０に送信する機能を備える。レンズ側接点１０４は、当該レンズ本体１０がカメラ本体２０に装着された状態でカメラ本体２０の対応する接点と当接して、電気的に接続された状態となり、通信部１０３により上記レンズ制御部１０２とカメラ本体２０との通信を可能とするものである。
【００１６】
また、カメラ本体２０は、薄膜ミラー２０１、撮像素子２０２、顔検出部２０３、メモリ２０４、ＡＦセンサ２０５、焦点検出部２０６、メモリ２０７、制御部２０８、予測演算部２０９、メモリ２１０、メインＣＰＵ２１１、通信部２１２、カメラ側接点２１３、等を備える。
【００１７】
ここで、薄膜ミラー２０１は、上記撮影光学系１０１からの撮影光束を複数に分割し、上記撮像素子２０２とＡＦセンサ２０５にそれぞれ光束を導く光分割手段であり、例えば、ペリクルミラー等が使用される。
【００１８】
撮像素子２０２は、上記薄膜ミラー２０１で分割された撮影光学系１０１からの結像光を電気信号に変換する光電変換手段である。顔検出部２０３は、上記撮像素子２０２により生成された信号に基づき被写体の顔を検出する顔検出手段であり、検出された被写体の顔情報をメモリ２０４に記憶する。これら撮像素子２０２、顔検出部２０３及びメモリ２０４によって顔検出ブロック２１４が構成される。
【００１９】
ＡＦセンサ２０５は、上記薄膜ミラー２０１で分割された撮影光学系１０１からの光束を複数に分割するセパレータ絞りマスクやセパレータレンズ、それら複数に分割された結像光をそれぞれ電気信号に変換する複数のラインセンサ等を含むＡＦセンサモジュールである。図２に示すように、このＡＦセンサの測距点２０５Ａは離散的に配置されている。焦点検出部２０６は、このＡＦセンサ２０５により生成された複数の信号に基づき位相差ＡＦ方式により上記撮影光学系１０１の焦点位置を検出する焦点検出手段であり、その検出された焦点検出情報をメモリ２０７に記憶する。これらＡＦセンサ２０５、焦点検出部２０６及びメモリ２０７によって、測距ブロック２１５が構成される。
【００２０】
制御部２０８は、後述するように、上記顔検出ブロック２１４及び測距ブロック２１５の動作タイミングを制御する制御手段として機能する。予測演算部２０９は、上記測距ブロック２１５により検出された焦点検出情報と上記顔検出ブロック２１４により検出された被写体の顔情報とに基づき、被写体の動き予測を行う予測演算手段であり、予測結果をメモリ２１０に記憶する。
【００２１】
メインＣＰＵ２１１は、該カメラ本体２０内の各部を制御するものである。上記予測演算部２０９は、該メインＣＰＵ２１１の制御により動作し、上記予測しメモリ２１０に記憶した被写体の動きに基づいて予測レンズ位置を算出して、通信部２１２によりレンズ制御部１０２に伝達することで、その予測レンズ位置にレンズ駆動するように制御する。
【００２２】
カメラ側接点２１３は、上記レンズ本体１０が当該カメラ本体２０に装着された状態でレンズ本体１０のレンズ側接点１０４と当接して、電気的に接続された状態となり、上記通信部２１２を介して上記予測演算部２０９やメインＣＰＵ２１１が上記レンズ本体１０内のレンズ制御部１０２と通信できるようにするものである。
【００２３】
図３は、上記制御部２０８による上記測距ブロック２１５の制御動作のフローチャートを示す図である。制御部２０８は、メインＣＰＵ２１１から予測演算部２０９を介して図示しない２段式のレリーズボタンの１段目の操作等に応じた測距開始要求が与えられると、このフローチャートの動作を開始する。
【００２４】
即ち、まず、メインＣＰＵ２１１から予測演算部２０９を介して上記レリーズボタンの１段目の操作の解除等に応じた測距終了要求、又は、上記レリーズボタンの２段目の操作による撮影要求が与えられたか否かを判別する（ステップＳ１１）。ここで、測距終了要求又は撮影要求が与えられなければ、更に、測距タイミングとなったか否かを判別する（ステップＳ１２）。この測距タイミングとしては、後述するように、メインＣＰＵ２１１から予測演算部２０９を介して与えられる同期パルスに応じるものとしても良いし、自己タイマで所定周期を計測するものであっても良い。そして、測距タイミングとなっていなければ、上記ステップＳ１１に戻る。
【００２５】
而して、測距タイミングとなったならば、ＡＦセンサ２０５の全ての測距点２０５Ａについて蓄積制御（露光）を行う（ステップＳ１３）。その後、ＡＦセンサ２０５の各測距点のデータを読み出して（ステップＳ１４）、焦点検出部２０６に与え、各測距点について位相差方式による測距演算即ちデフォーカス量演算を行わせる（ステップＳ１５）。そして、焦点検出部２０６に、求めた測距データ（測距値、測距間隔、測距結果）をメモリ２０７に格納させて（ステップＳ１６）、上記ステップＳ１１に戻る。
【００２６】
こうして、測距タイミングごとに、測距データを取得して、メモリ２０７に格納していく。
【００２７】
そして、メインＣＰＵ２１１から予測演算部２０９を介して測距終了要求又は撮影要求が与えられたならば（ステップＳ１１）、このフローチャートの動作を終了する。
【００２８】
図４は、上記制御部２０８による上記顔検出ブロック２１４の制御動作のフローチャートを示す図である。制御部２０８は、上記測距開始要求と同様、メインＣＰＵ２１１から予測演算部２０９を介して顔検出要求が与えられると、このフローチャートの動作を開始する。
【００２９】
即ち、まず、メインＣＰＵ２１１から予測演算部２０９を介して上記レリーズボタンの１段目の操作の解除等に応じた顔検出終了要求、又は、上記レリーズボタンの２段目の操作による撮影要求が与えられたか否かを判別する（ステップＳ３１）。ここで、顔検出終了要求又は撮影要求が与えられなければ、更に、顔検出タイミングとなったか否かを判別する（ステップＳ３２）。この顔検出タイミングとしては、後述するように、メインＣＰＵ２１１から予測演算部２０９を介して与えられる同期パルスに応じるものとしても良いし、自己タイマで所定周期を計測するものであっても良い。そして、顔検出タイミングとなっていなければ、上記ステップＳ３１に戻る。
【００３０】
而して、顔検出タイミングとなったならば、撮像素子２０２の露光（イメージャ露光）を行う（ステップＳ３３）。その後、撮像素子２０２よりイメージャデータを読み出して（ステップＳ３４）、顔検出部２０３に与え、顔検出を行わせる（ステップＳ３５）。なお、この顔検出の方法は、肌色検出／特徴点抽出などの公知技術を用いる。そして、顔検出部２０３に、求めた顔検出データ（Ｘ位置、Ｙ位置、顔面積、顔検出結果）をメモリ２０４に格納させて（ステップＳ３６）、上記ステップＳ３１に戻る。
【００３１】
こうして、顔検出タイミングごとに、顔検出データを取得して、メモリ２０４に格納していく。
【００３２】
そして、メインＣＰＵ２１１から予測演算部２０９を介して顔検出終了要求又は撮影要求が与えられたならば（ステップＳ３１）、このフローチャートの動作を終了する。
【００３３】
図５Ａ及び図５Ｂは、上記予測演算部２０９の予測演算動作の一連のフローチャートを示す図である。予測演算部２０９は、不図示レリーズボタンの１段目の操作等に応じてメインＣＰＵ２１１から予測演算要求が与えられると、このフローチャートの動作を開始する。
【００３４】
即ち、まず、メインＣＰＵ２１１から上記レリーズボタンの１段目の操作の解除等に応じた予測演算終了要求、又は、上記レリーズボタンの２段目の操作による撮影要求が与えられたか否かを判別する（ステップＳ４１）。ここで、予測演算終了要求又は撮影要求が与えられなければ、更に、内部に構成した又はメモリ２１０の一部を使用する顔検出フラグがオンとなっているか否かを判別する（ステップＳ４２）。
【００３５】
この顔追従フラグは、初期状態ではオフとなっている。従って、最初は、顔検出フラグはオフとなっていると判断される。この場合には、上記測距ブロック２１５での測距動作で取得してメモリ２０７に格納した測距値を上記焦点検出部２０６を介して読み出し、その測距値に基づいて、ＡＦ信頼性の高い測距点あるいは最至近の測距点等の既知の測距点選択法により、図２に示したような複数の測距点２０５Ａから予測演算に使用する測距点を選択する（ステップＳ４３）。
【００３６】
その後、上記顔検出ブロックでの顔検出動作で検出してメモリ２０４に格納した顔検出データを、上記顔検出部２０３を介して読み出し、その顔検出データに基づいて、上記選択した測距点に顔領域が存在するか否かを判別する（ステップＳ４４）。
【００３７】
ここで、上記選択した測距点に顔領域が存在しない場合には、更に、上記ステップＳ４３で選択した測距点が、前回選択した測距点と同じであるか否かを判別する（ステップＳ４５）。なお、最初は前回の選択測距点自体が存在しないので当然、同じではないと判断することとなる。このように、今回の選択測距点と前回の測距点が異なる場合には、上記ステップＳ４３で選択した測距点の測距値（デフォーカス量）に基づいて予測レンズ位置を算出して（ステップＳ４６）、上記ステップＳ４１に戻る。こうして算出された予測レンズ位置は、通信部２１２によりカメラ側接点２１３及びレンズ側接点１０４を介してレンズ本体１０の通信部１０３に送信され、通信部１０３からレンズ制御部１０２に送られて、その予測レンズ位置への撮影光学系１０１の駆動が行われることとなる。
【００３８】
また、上記ステップＳ４５において、今回の選択測距点と前回の測距点が同じであると判定した場合には、測距予測関数演算を実施する（ステップＳ４７）。そして、上記ステップＳ４３で選択した測距点の測距予測関数から予測レンズ位置を算出して（ステップＳ４８）、上記ステップＳ４１に戻る。
【００３９】
図６（Ａ）は、上記ステップＳ４７の測距予測関数演算の動作フローチャートを示す図であり、これを全測距点２０５Ａについて行う。
【００４０】
即ち、まず、測距予測関数演算に用いる測距値関連データを決定して、メモリ２１０に格納する（ステップＳ４７１）。これは、測距結果がＯＫ（ＡＦ可能）となったデータの内、最新から過去に遡りα個分を決定し格納するものである。なお、αは、予測精度や演算速度を加味して設定する。次に、最新測距の露光重心時間を基準として、測距値、測距間隔、レンズ位置から２次の予測関数を演算して（ステップＳ４７２）、演算した測距予測関数の係数（Ａｄ／Ｂｄ／Ｃｄ）をメモリ２１０に格納する（ステップＳ４７３）。
【００４１】
この測距予測関数演算について、図７を参照して説明する。図７において、黒丸は測距の際のＡＦセンサ２０５の露光時（露光重心（露光時間Ｔの１／２）時）のレンズ位置を示し、その近傍に記載したＤｅｆ［ａｒｅａ］［ｉ−３］．ｌｄｐｌｓ、Ｄｅｆ［ａｒｅａ］［ｉ−２］．ｌｄｐｌｓ、Ｄｅｆ［ａｒｅａ］［ｉ−１］．ｌｄｐｌｓ、Ｄｅｆ［ａｒｅａ］［ｉ］．ｌｄｐｌｓがそれらレンズ位置の値である。ここで、［ａｒｅａ］は測距点２０５Ａを、［ｉ−３］、［ｉ−２］、［ｉ−１］、［ｉ］は時系列を、それぞれ表す変数である。また、ｇ＿ｂａｓｅ＿ｔｉｍｅ＿ａｆは最新測距の露光重心時間を示しており、ｎｏｗｔｉｍｅが現在時である。測距は、図３を参照して前述したように、露光、読み出し、測距値演算（デフォーカス量演算）を順次行うものであり、測距予測関数演算はその後に行われる。レンズ駆動は、１回目の動体予測関数演算後に開始される。また、Ｄｔ（ｎ）はｎ＋１回目の測距時の時間である。
【００４２】
白丸は理想像面のレンズ位置であり、Ｌ（ｎ）はそのレンズ位置の値である。これら理想像面のレンズ位置は以下のように求められる。  
L0 = Def[area][i-3].ldpls + Def[area][i-3].Def * テ゛フォーカスレンス゛位置変換係数  
L1 = Def[area][i-2].ldpls + Def[area][i-2].Def * テ゛フォーカスレンス゛位置変換係数  
L2 = Def[area][i-1].ldpls + Def[area][i-1].Def * テ゛フォーカスレンス゛位置変換係数  
L3 = Def[area][i-0].ldpls + Def[area][i-0].Def * テ゛フォーカスレンス゛位置変換係数
ここで、Ｄｅｆ［ａｒｅａ］［ｉ−０］．Ｄｅｆが測距によって取得された測距値（デフォーカス量）である。また、デフォーカスレンズ位置変換係数は、例えば、デフォーカス量３０μｍをレンズパルスの５パルスとするというような、撮影光学系１０１のズーム状態によって変化する係数である。このデフォーカスレンズ位置変換係数は、通信によりレンズ制御部１０２から予め取得することができる。
【００４３】
上記ステップＳ４７１において、α＝４とすれば、レンズ位置Ｄｅｆ［ａｒｅａ］［ｉ−３］．ｌｄｐｌｓ〜Ｄｅｆ［ａｒｅａ］［ｉ−０］．ｌｄｐｌｓ、測距値Ｄｅｆ［ａｒｅａ］［ｉ−３］．Ｄｅｆ〜Ｄｅｆ［ａｒｅａ］［ｉ−０］．Ｄｅｆ、露光重心時間Ｔ０〜Ｔ３をメモリ２１０に格納し、上記ステップＳ４７２において、それら格納したデータに基づいて上記のように理想像面のレンズ位置Ｌ０〜Ｌ３を求め、それら理想像面のレンズ位置Ｌ０〜Ｌ３と各測距の露光重心時間Ｔ０〜Ｔ３とから最小二乗法又はラグランジェ補間などにて２次近似式にて予測関数を演算する。そして、上記ステップＳ４７３において、その２次近似式の係数（２次／１次／０次）を、上記測距予測関数の係数（Ａｄ／Ｂｄ／Ｃｄ）としてメモリ２１０に格納する。
【００４４】
而して、上記ステップＳ４８では、このメモリ２１０に格納した係数（Ａｄ／Ｂｄ／Ｃｄ）より、目標時間Ｔｔにおける目標位置である予測レンズ位置Ｌｔは、
Ｌｔ＝Ａｄ＊Ｔｔ２＋Ｂｄ＊Ｔｔ１＋Ｃｄ
により求められるので、この場合の目標時間Ｔ４における予測レンズ位置Ｌ４は、
Ｌ４＝Ａｄ＊Ｔ４２＋Ｂｄ＊Ｔ４１＋Ｃｄ
により算出することができる。こうして算出された予測レンズ位置は、通信部２１２によりカメラ側接点２１３及びレンズ側接点１０４を介してレンズ本体１０の通信部１０３に送信され、通信部１０３からレンズ制御部１０２に送られて、その予測レンズ位置への撮影光学系１０１の駆動が行われることとなる。
【００４５】
一方、上記ステップＳ４４において、上記選択した測距点に顔領域が存在すると判別した場合には、上記顔検出フラグをオンにする（ステップＳ４９）。そして、上記ステップＳ４３で選択した測距点の測距値（デフォーカス量）に基づいて予測レンズ位置を算出して（ステップＳ５０）、上記ステップＳ４１に戻る。その算出された予測レンズ位置は、通信部２１２によりカメラ側接点２１３及びレンズ側接点１０４を介してレンズ本体１０の通信部１０３に送信され、通信部１０３からレンズ制御部１０２に送られて、その予測レンズ位置への撮影光学系１０１の駆動が行われることとなる。
【００４６】
また、上記ステップＳ４２において、顔検出フラグがオンとなっていると判別した場合には、上記ステップＳ４７と同様の測距予測関数演算を実施する（ステップＳ５１）。但し、このステップＳ５１の測距予測関数演算では、測距データが更新されていない場合には、何も処理を行わない。そして、この測距予測関数演算の後、更に、顔検出予測関数演算を実施し（ステップＳ５２）、その演算した顔検出予測関数から目標時刻における目標顔位置（Ｘ位置Ｘｆ＿ｄｅｓｔ、Ｙ位置Ｙｆ＿ｄｅｓｔ、顔面積Ｓｆ＿ｄｅｓｔ）を演算する（ステップＳ５３）。
【００４７】
図６（Ｂ）は、上記ステップＳ５２の顔検出予測関数演算の動作フローチャートを示す図である。
【００４８】
即ち、まず、顔検出予測関数演算に用いる顔検出関連データを決定して、メモリ２１０に格納する（ステップＳ５２１）。これは、顔検出されたデータの内、最新から過去に遡りβ個分を決定し格納するものである。なお、βは、予測精度や演算速度を加味して設定する。次に、最新顔検出の露光重心時間を基準として、Ｘ位置、Ｙ位置、顔面積、顔検出間隔から２次の予測関数を演算する（ステップＳ５２２）。ここで、この顔検出の予測関数演算は、Ｘ位置／Ｙ位置／顔面積の計３パターンについて行う。そして、演算した顔検出予測関数の係数（Ｘ位置：Ａｆ＿ｘ／Ｂｆ＿ｘ／Ｃｆ＿ｘ、Ｙ位置：Ａｆ＿ｙ／Ｂｆ＿ｙ／Ｃｆ＿ｙ、顔面積：Ａｆ＿ｓ／Ｂｆ＿ｓ／Ｃｆ＿ｓ）をメモリ２１０に格納する（ステップＳ５２３）。
【００４９】
なお、顔検出結果が複数個の場合、つまり１回の露光で画面内に複数の顔が検出された場合には、各々について顔検出予測関数演算を行うものとする。また、前後露光時で検出されたＸ位置／Ｙ位置／顔面積が最も近い顔を同一顔とみなして、予測演算を行う。
【００５０】
この顔検出予測関数演算について、図８を参照して説明する。図８において、白丸Ｘ（ｎ）は顔検出の際の撮像素子２０２の露光時（露光重心時）の顔のＸ位置を、白三角Ｙ（ｎ）は同じくＹ位置を、白四角Ｓ（ｎ）は同じく顔面積を、それぞれ示している。ここで、顔のＸ位置及びＹ位置とは、図９（Ａ）に示すように、顔領域の中心のｘｙ座標（ｘ，ｙ）であり、顔面積（ａｒｅａ）は顔領域の幅（ｗｉｄｔｈ）と高さ（ｈｅｉｇｈｔ）を乗算したものを１／１０００した値である。なお、そのような１／１０００とするのは一例である。また、ｘｙ座標の原点は、図９（Ｂ）に示すように、カメラ本体２０を横位置に構えた際の画面左上とする。図９（Ｂ）の顔検出タイミングＴ０〜Ｔ３は、図８のそれと対応している。
【００５１】
顔検出は、図４を参照して前述したように、露光、読み出し、顔検出演算を順次行うものであり、顔検出予測関数演算はその後に行われる。なお、図８中のＦｔ（ｎ）はｎ＋１回目の顔検出における露光重心時間である。
【００５２】
上記ステップＳ５２１において、β＝４とすれば、顔検出のＸ位置Ｘ（０）〜Ｘ（３）、Ｙ位置Ｙ（０）〜Ｙ（３）及び顔面積Ｓ（０）〜Ｓ（３）と、露光重心時間Ｔ０〜Ｔ３をメモリ２１０に格納し、上記ステップＳ５２２において、それら格納したデータから、Ｘ位置、Ｙ位置及び顔面積のそれぞれについて、最小二乗法又はラグランジェ補間などにて２次近似式にて予測関数を演算する。そして、上記ステップＳ５２３において、それらの２次近似式の係数（２次／１次／０次）を、上記顔検出予測関数の係数（Ｘ位置：Ａｆ＿ｘ／Ｂｆ＿ｘ／Ｃｆ＿ｘ、Ｙ位置：Ａｆ＿ｙ／Ｂｆ＿ｙ／Ｃｆ＿ｙ、顔面積：Ａｆ＿ｓ／Ｂｆ＿ｓ／Ｃｆ＿ｓ）としてメモリ２１０に格納する。
【００５３】
而して、上記ステップＳ５３では、このメモリ２１０に格納した係数（Ｘ位置：Ａｆ＿ｘ／Ｂｆ＿ｘ／Ｃｆ＿ｘ、Ｙ位置：Ａｆ＿ｙ／Ｂｆ＿ｙ／Ｃｆ＿ｙ、顔面積：Ａｆ＿ｓ／Ｂｆ＿ｓ／Ｃｆ＿ｓ）より、現在の目標時間Ｔｔの顔の予測Ｘ位置Ｘｆ＿ｄｅｓｔ、予測Ｙ位置Ｙｆ＿ｄｅｓｔ及び予測顔面積Ｓｆ＿ｄｅｓｔは、それぞれ、
Ｘｆ＿ｄｅｓｔ＝Ａｆ＿ｘ＊Ｔｔ２＋Ｂｆ＿ｘ＊Ｔｔ１＋Ｃｆ＿ｘ
Ｙｆ＿ｄｅｓｔ＝Ａｆ＿ｙ＊Ｔｔ２＋Ｂｆ＿ｙ＊Ｔｔ１＋Ｃｆ＿ｙ
Ｓｆ＿ｄｅｓｔ＝Ａｆ＿ｓ＊Ｔｔ２＋Ｂｆ＿ｓ＊Ｔｔ１＋Ｃｆ＿ｓ
により算出することができる。従って、例えば、現在の目標時間をＴ４とすれば、顔の予測Ｘ位置Ｘｆ＿ｄｅｓｔ（図８中に黒丸で示す）、予測Ｙ位置Ｙｆ＿ｄｅｓｔ（図８中に黒三角で示す）及び予測顔面積Ｓｆ＿ｄｅｓｔ（図８中に黒四角で示す）は、それぞれ、
Ｘｆ＿ｄｅｓｔ＝Ａｆ＿ｘ＊Ｔ４２＋Ｂｆ＿ｘ＊Ｔ４１＋Ｃｆ＿ｘ
Ｙｆ＿ｄｅｓｔ＝Ａｆ＿ｙ＊Ｔ４２＋Ｂｆ＿ｙ＊Ｔ４１＋Ｃｆ＿ｙ
Ｓｆ＿ｄｅｓｔ＝Ａｆ＿ｓ＊Ｔ４２＋Ｂｆ＿ｓ＊Ｔ４１＋Ｃｆ＿ｓ
により算出することができる。
【００５４】
以上のようにして顔検出予測関数から現在の目標顔位置を演算したならば、次に、その演算した目標の顔のＸ位置、Ｙ位置及び顔面積、また移動量が閾値以下であるか否かを判別する（ステップＳ５４）。ここで、閾値を越える場合は、追従している顔が想定以上の速度で移動した、もしくは顔検出が誤検出されたなどが考えられるため、その演算結果は使用しないことが好ましい。そこで、上記顔追従フラグをオフにして（ステップＳ５５）、ＡＦ信頼性の高い測距点あるいは最至近の測距点等の既知の測距点選択法により、測距点を再選択する（ステップＳ５６）。そして、その再選択した測距点の測距値（デフォーカス量）に基づいて予測レンズ位置を算出して（ステップＳ５７）、上記ステップＳ４１に戻る。こうして算出された予測レンズ位置は、通信部２１２によりカメラ側接点２１３及びレンズ側接点１０４を介してレンズ本体１０の通信部１０３に送信され、通信部１０３からレンズ制御部１０２に送られて、その予測レンズ位置への撮影光学系１０１の駆動が行われることとなる。
【００５５】
これに対して、上記ステップＳ５４において上記演算した目標の顔のＸ位置、Ｙ位置及び顔面積、また移動量が閾値以下であると判別した場合には、更に、現在の検出された顔位置に相当する測距点の測距値は信頼性が有るか否かを判別する（ステップＳ５８）。ここで、その測距点の測距値に信頼性が無いと判別した場合には、上記ステップＳ５５に進む。
【００５６】
また、信頼性も有ると判別したならば、上記ステップＳ５３で算出した目標顔位置（追従顔位置）に相当する測距点２０５Ａを再選択して（ステップＳ５９）、顔追従予測関数演算を実施する（ステップＳ６０）。そして、演算した顔追従予測関数から予測レンズ位置を算出して（ステップＳ６１）、上記ステップＳ４１に戻る。
【００５７】
図１０は、上記ステップＳ６０の顔追従予測関数演算の動作フローチャートを示す図であり、この動作を上記再選択した測距点について行う。
【００５８】
即ち、まず、顔追従予測関数演算に用いる測距値関連データを決定して、メモリ２１０に格納する（ステップＳ６０１）。これは、測距結果がＯＫ（ＡＦ可能）となったデータの内、最新から過去に遡りα個分を決定し格納するものである。この場合、顔追従のため、測距点２０５Ａを跨ぐ可能性がある。次に、最新測距の露光重心時間を基準として、測距値、測距間隔、レンズ位置から２次の予測関数を演算して（ステップＳ６０２）、演算した顔追従予測関数の係数（Ａｄｄ／Ｂｄｄ／Ｃｄｄ）をメモリ２１０に格納する（ステップＳ６０３）。
【００５９】
この顔追従予測関数演算については、上記測距予測関数演算と同様の動作であるので、その説明は省略する。
【００６０】
而して、上記ステップＳ６１では、このメモリ２１０に格納した係数（Ａｄｄ／Ｂｄｄ／Ｃｄｄ）より、目標時間Ｔｔにおける目標位置である予測レンズ位置Ｌｔを、
Ｌｔ＝Ａｄｄ＊Ｔｔ２＋Ｂｄｄ＊Ｔｔ１＋Ｃｄｄ
により算出する。従って、例えば目標時間をＴ４とすれば、予測レンズ位置Ｌ４は、
Ｌ４＝Ａｄｄ＊Ｔ４２＋Ｂｄｄ＊Ｔ４１＋Ｃｄｄ
と算出することができる。こうして算出された予測レンズ位置は、通信部２１２によりカメラ側接点２１３及びレンズ側接点１０４を介してレンズ本体１０の通信部１０３に送信され、通信部１０３からレンズ制御部１０２に送られて、その予測レンズ位置への撮影光学系１０１の駆動が行われることとなる。
【００６１】
ここで、例えば、各測距点２０５Ａを図１１（Ａ）に示すようにＸＹ座標で表すとすれば、同図に丸で囲って示す測距点２０５Ａは（６，３）となり、その時刻をｔとすれば、時刻と座標を合わせて（ｔ，６，３）と記すものとする。このようにした場合、顔追従予測における測距位置と顔検出位置との関係は、図１１（Ｂ）に示すようになる。この図１１（Ｂ）において、破線の四角は顔検出位置を、黒四角の測距点が顔検出位置に相当する測距位置を、二重線の四角が予測される顔検出位置を、それぞれ示している。
【００６２】
図１１（Ｂ）の例の場合には、上記ステップＳ５２での顔検出予測関数演算に従って上記ステップＳ５３で現在の目標時間、例えばＴ４における予測される顔検出位置が求められ、上記ステップＳ５９で座標（７，３）の測距点２０５Ａが再選択される。そして、上記ステップＳ６０で、顔検出位置に一致した測距点の測距値（（Ｔ１，２，１）、（Ｔ２，３，１）及び（Ｔ３，５，２））を用いて顔追従予測関数演算が行われ、上記ステップＳ６１において測距値が予測されて予測レンズ位置Ｌ４が算出されることなる。
【００６３】
なお、上述したように、上記測距ブロック２１５と上記顔検出ブロック２１４とは、同期又は非同期のタイミングにおいて各々動作する。
【００６４】
図１２は、上記測距ブロック２１５の露光タイミングと上記顔検出ブロック２１４の露光タイミングを同期して各々動作を行う場合の、測距予測関数演算、顔検出予測関数演算、顔追従予測関数演算のタイミングを示す図である。
【００６５】
同図に示すように、測距動作の露光と顔検出の露光は、メインＣＰＵ２１１から同期パルスに応じて、予測演算部２０９が、制御部２０８によって両露光動作を開始させることで、開始される。Ｄｔ（ｎ）、Ｆｔ（ｎ）はそれぞれの露光重心時間を示す。また、Ｄｅｆ（ｎ）は測距データ、Ｆ（ｎ）は演算された顔検出予測関数を示す。
【００６６】
この場合、測距に必要な所要時間と顔検出に必要な所要時間とが異なるので、予測演算部２０９による顔追従予測関数演算の開始時間Ｂｔ（ｎ）は、長い方の所要時間である顔検出の終了に合わせて、顔検出予測関数演算の終了後としている。
【００６７】
この顔追従予測関数演算は、最初の顔追従予測関数Ｄｅｓｔ（０）を算出する際には、まだα個のデータが揃っていないので、測距データＤ（０）のみを用いた演算となる。次の顔追従予測関数Ｄｅｓｔ（１）を算出する際も、まだα個のデータが揃っていないので、測距データＤ（１），Ｄ（０）、測距の露光重心時間Ｄｔ（１），Ｄｔ（０）、顔検出予測関数Ｆ（１），Ｆ（０）、顔検出の露光重心時間Ｆｔ（１），Ｆｔ（０）、及び目標時間Ｔｔ（２）を用いた演算となる。そして、ｍ＋１回目の顔追従予測関数Ｄｅｓｔ（ｍ）を算出する際には、既にα個のデータが揃っているので、測距データＤ（ｍ）〜Ｄ（ｍ−α）、測距の露光重心時間Ｄｔ（ｍ）〜Ｄｔ（ｍ−α）、顔検出予測関数Ｆ（ｍ）〜Ｆ（ｍ−α）、顔検出の露光重心時間Ｆｔ（ｍ）〜Ｆｔ（ｍ−α）、及び目標時間Ｔｔ（ｍ＋１）を用いた演算となる。なお、目標時間Ｔｔ（ｍ＋１）は、次の同期パルスのタイミングである。
【００６８】
そして、図１１に示すように、撮影要求がなされると、撮影処理が開始される。但しこの場合、図５Ａ及び図５Ｂの予測演算動作の一連のフローチャートに示したように、予測レンズ位置の算出が行ってレンズを予測位置に駆動するようにしてから予測演算動作を終了するので、図１１に示すように、ｍ＋２回目の顔追従予測関数Ｄｅｓｔ（ｍ＋１）の算出を行うようになっている。
【００６９】
一方、図１３は、上記測距ブロック２１５の露光タイミングと上記顔検出ブロック２１４の露光タイミングを非同期で各々動作を行う場合の、測距予測関数演算、顔検出予測関数演算、顔追従予測関数演算のタイミングを示す図である。
【００７０】
この場合には、上記測距ブロック２１５の露光は所定の第１の間隔で周期的に行われ、また、上記顔検出ブロック２１４の露光は所定の第２の間隔で周期的に行われる。顔追従予測関数演算は、測距予測関数演算の終了に合わせて行う。
【００７１】
また、測距予測関数演算の回数と顔検出予測関数演算の回数とは一致しない。例えば、ｍ＋１回目の顔追従予測関数Ｄｅｓｔ（ｍ）を算出する際には、測距データＤ（ｍ）〜Ｄ（ｍ−α）、測距の露光重心時間Ｄｔ（ｍ）〜Ｄｔ（ｍ−α）、顔検出予測関数Ｆ（ｋ）〜Ｆ（ｋ−α）、顔検出の露光重心時間Ｆｔ（ｋ）〜Ｆｔ（ｋ−α）、及び目標時間Ｔｔ（ｍ＋１）を用いた演算となる。なお、目標時間Ｔｔ（ｍ＋１）は、次の測距ブロック２１５の露光タイミングである。
【００７２】
またこの場合も、撮影要求がなされると撮影処理が開始されるが、ｍ＋２回目の顔追従予測関数Ｄｅｓｔ（ｍ＋１）の算出を行うのは、図１１に示した同期の場合と同様である。
【００７３】
このように、上記測距ブロック２１５と上記顔検出ブロック２１４とを同期して動作しても、また非同期で動作しても、どちらでも構わない。
【００７４】
また、非同期とした場合、上記測距ブロック２１５の露光を周期的に行うのではなく、顔検出予測関数演算によって移動する顔の位置を予測し、顔が測距点２０５Ａに移動するタイミングを見計らって測距することで、信頼性の高い測距データを取得することが可能となる。
【００７５】
即ち、図１４に示すように、上記顔検出ブロック２１４の露光及び予測演算部２０９の顔検出予測関数演算は常に最高速度で周期的に行う。そして、顔検出予測関数演算の結果、顔の移動量・移動速度によって顔が測距点２０５Ａ相当の位置に移動するタイミングで制御部２０８によって測距タイミング制御信号（同期パルス）を上記測距ブロック２１５に与えることで、測距が行われる。
【００７６】
なお、このような測距タイミング制御を行う場合、顔追従予測関数演算において使用される目標時間Ｔｔ（ｍ＋１）は、顔検出予測関数演算の結果、顔の移動量・移動速度によって求められる上記測距タイミング制御信号の次の同期パルスのタイミングとなる。
【００７７】
以上のように、本実施形態によれば、顔検出ブロック２１４と測距ブロック２１５とへ常に薄膜ミラー２０１によって撮影光束を導き、予測演算部２０９によって、検出された被写体の顔情報と検出された焦点検出情報とに基づく被写体の動き予測を行うことで、高速に移動する被写体においても検出した顔を追従可能とし、高速移動被写体に対して高精度にＡＦ追従可能なカメラを提供することができる。
【００７８】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【００７９】
例えば、レンズ本体１０をカメラ本体２０に対して交換可能なカメラを例に説明したが、レンズ本体１０がカメラ本体２０と一体的に構成されたレンズ交換不可能なカメラであっても良い。
【００８０】
また、ＡＦセンサ２０５の測距点２０５Ａの配置は図２に示すような配置に限定されるものではなく、また測距点２０５Ａの個数もそれに限定されない。
【図面の簡単な説明】
【００８１】
【図１】図１は、本発明の一実施形態に係るカメラの構成を示す図である。
【図２】図２は、ＡＦセンサの測距点の配置例を示す図である。
【図３】図３は、制御部による測距ブロックの制御動作のフローチャートを示す図である。
【図４】図４は、制御部による顔検出ブロックの制御動作のフローチャートを示す図である。
【図５Ａ】図５Ａは、予測演算部の予測演算動作の一連のフローチャートの第１の部分を示す図である。
【図５Ｂ】図５Ｂは、予測演算部の予測演算動作の一連のフローチャートの第２の部分を示す図である。
【図６】図６（Ａ）は、測距予測関数演算の動作フローチャートを示す図であり、図６（Ｂ）は、顔検出予測関数演算の動作フローチャートを示す図である。
【図７】図７は、測距予測関数演算の概念を説明するための図である。
【図８】図８は、顔検出予測関数演算の概念を説明するための図である。
【図９】図９（Ａ）は、顔のＸ位置、Ｙ位置及び顔面積を説明するための図であり、図９（Ｂ）は、顔の移動とそれに対する顔のＸ位置、Ｙ位置及び顔面積の例とを示す図である。
【図１０】図１０は、顔追従予測関数演算の動作フローチャートを示す図である。
【図１１】図１１（Ａ）はＡＦセンサの測距点の座標を説明するための図であり、図１１（Ｂ）は、顔追従予測における測距位置と顔検出位置との関係を説明するための図である。
【図１２】図１２は、測距と顔検出を同期して行う場合の、測距予測関数演算、顔検出予測関数演算、顔追従予測関数演算のタイミングを示す図である。
【図１３】図１３は、測距と顔検出を非同期で行う場合の、測距予測関数演算、顔検出予測関数演算、顔追従予測関数演算のタイミングを示す図である。
【図１４】図１４は、顔が測距点に移動するタイミングで測距を行う場合の、測距予測関数演算、顔検出予測関数演算、顔追従予測関数演算のタイミングを示す図である。
【符号の説明】
【００８２】
１０…レンズ本体、  ２０…カメラ本体、  １０１…撮影光学系、  １０２…レンズ制御部、  １０３…通信部、  １０４…レンズ側接点、  ２０１…薄膜ミラー、  ２０２…撮像素子、  ２０３…顔検出部、  ２０４，２０７，２１０…メモリ、  ２０５…ＡＦセンサ、  ２０５Ａ…測距点、  ２０６…焦点検出部、  ２０８…制御部、  ２０９…予測演算部、  ２１１…メインＣＰＵ、  ２１２…通信部、  ２１３…カメラ側接点、  ２１４…顔検出ブロック、  ２１５…測距ブロック。
【図１】
2010008506.tif 000003
【図２】
2010008506.tif 000004
【図３】
2010008506.tif 000005
【図４】
2010008506.tif 000006
【図５Ａ】
2010008506.tif 000007
【図５Ｂ】
2010008506.tif 000008
【図６】
2010008506.tif 000009
【図７】
2010008506.tif 000010
【図８】
2010008506.tif 000011
【図９】
2010008506.tif 000012
【図１０】
2010008506.tif 000013
【図１１】
2010008506.tif 000014
【図１２】
2010008506.tif 000015
【図１３】
2010008506.tif 000016
【図１４】
2010008506.tif 000017