次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における撮像装置100の機能構成例を示すブロック図である。撮像装置100は、撮像部110と、画像信号取得部120と、色相情報生成部131と、コントラスト信号生成部132と、動きベクトル生成部133と、角速度検出部135と、ズーム操作受付部137と、シャッター操作受付部138と、顔検出部140と、被写体変化判定部150と、無条件停止判定部160と、レンズ動作決定部170と、オート制御指示部180と、ズームレンズモータ191と、モータドライバ192と、ズームコントローラ193と、フォーカスレンズモータ194と、モータドライバ195と、フォーカスコントローラ196と、アイリスモータ197と、モータドライバ198と、アイリスコントローラ199と、無条件顔検出可能範囲マップ記憶部200とを備える。撮像装置100は、例えば、顔検出機能およびオートフォーカス機能を備えるデジタルスチルカメラによって実現することができる。
撮像部110は、光学系111およびイメージャ115を備え、光学系111を通過した被写体からの入射光を電気信号に光電変換し、光電変換された電気信号を画像信号取得部120に出力するものである。光学系111は、フォーカスレンズ113およびズームレンズ112を含むレンズ群を備え、これらのレンズ群およびアイリス114を通過した被写体からの入射光をイメージャ115に出力するものである。
ズームレンズ112は、ズームレンズモータ191の駆動によって光軸方向に移動して、焦点距離を調整するレンズである。すなわち、ズームレンズ112により、ズーム機能が実現される。
フォーカスレンズ113は、フォーカスレンズモータ194の駆動によって光軸方向に移動して、フォーカス(焦点:ピント)を調整するレンズである。
アイリス114は、アイリスモータ197の駆動によって、被写体照度に応じた絞りを調整し、ズームレンズ112およびフォーカスレンズ113を通過した光の量(すなわち、露出)を決定するものである。
イメージャ115は、アイリス114を通過した入射光に光電変換処理を施し、光電変換された電気信号を画像信号取得部120に出力する撮像素子である。なお、イメージャ115は、CCD(Charge Coupled Device)またはCMOS(Complementary Metal-Oxide Semiconductor)等の素子で構成される。
画像信号取得部120は、イメージャ115から出力された電気信号に対して各種の信号処理を施し、信号処理が施された画像信号を、色相情報生成部131、コントラスト信号生成部132、動きベクトル生成部133および顔検出部140に出力するものである。
色相情報生成部131は、画像信号取得部120から出力された画像信号について、この画像信号に対応する撮像画像における色相情報を生成するものであり、生成された色相情報を、被写体変化判定部150およびオートフォーカス制御指示部181に出力する。
コントラスト信号生成部132は、画像信号取得部120から出力された画像信号について、この画像信号に対応する撮像画像の任意の領域から高周波成分を抽出してコントラスト信号を生成するものであり、生成されたコントラスト信号を、被写体変化判定部150、無条件停止判定部160およびオートフォーカス制御指示部181に出力する。
動きベクトル生成部133は、画像信号取得部120から出力された画像信号について、この画像信号に対応する撮像画像に含まれる各点の動きベクトルを生成するものであり、生成された動きベクトルを、被写体変化判定部150、無条件停止判定部160およびオートフォーカス制御指示部181に出力する。具体的には、動きベクトル生成部133は、連続する2つの撮像画像を比較することにより撮像画像の各点の動きベクトルを生成する。なお、動きベクトルを検出する検出方法として、勾配法やブロックマッチング方法等の検出方法を用いることができる。このように生成された動きベクトルに基づいて、パンニングやチルティング等の撮像装置100の動きを検出することができる。
角速度検出部135は、撮像装置100に加わった加速度、動き、傾き等を検出する角速度センサであり、検出された各種情報を無条件停止判定部160およびオートフォーカス制御指示部181に出力する。角速度検出部135は、例えばジャイロセンサにより実現することができる。このように検出された角速度等に基づいて、パンニングやチルティング等の撮像装置100の動きを検出することができる。
ズーム操作受付部137は、使用者により行われるズーム操作を受け付ける操作受付部であり、受け付けられたズーム操作の内容をズームコントローラ193に出力する。具体的には、図2(b)に示すW(ワイド)ボタンおよびT(テレ)ボタンがズーム操作受付部137に備えられ、Wボタンが押下されている状態では、ズームレンズ112がワイド端側(広角側)に移動し、Tボタンが押下されている状態では、ズームレンズ112がテレ端側(望遠側)に移動する。
シャッター操作受付部138は、使用者により行われるシャッター操作を受け付ける操作受付部であり、受け付けられたシャッター操作の内容をオートフォーカス制御指示部181に出力する。具体的には、静止画または動画の撮像を開始するためのレリーズボタンがシャッター操作受付部138として備えられている。そして、レリーズボタンが半押しまたは全押しされた場合には、オートフォーカス制御指示部181により最適なオートフォーカス制御が行われるとともに、オート制御指示部180により撮影に最適なオート制御が行われる。また、レリーズボタンが全押しされた場合には、これらのオートフォーカス制御およびオート制御が行われ、この全押しの際に撮像部110により撮像されている撮像画像が所定の記録媒体に記録される。
顔検出部140は、画像信号取得部120から出力された画像信号に対応する撮像画像から人の顔を検出するものであり、検出された顔に関する顔検出情報を被写体変化判定部150、レンズ動作決定部170およびオートフォーカス制御指示部181に出力する。なお、顔検出情報は、例えば、検出された顔の位置および大きさ、検出された顔の個数等の顔に関する情報である。
被写体変化判定部150は、撮像画像に含まれる被写体に一定の変化が生じたか否かを判定するものであり、この判定結果をレンズ動作決定部170に出力する。具体的には、被写体変化判定部150は、顔検出部140から出力された顔検出情報と、動きベクトル生成部133から出力された動きベクトルとに基づいて、顔検出部140により検出された顔が撮像画像の画枠の外に移動するか否かを推定し、その顔が撮像画像の画枠の外に移動すると推定された場合には、この画枠の外に移動すると推定されてから所定時間が経過したか否かを判断し、この所定時間内にその顔が撮像画像から検出されない場合には、被写体変化ありと判定する。なお、撮像画像の画枠の外に移動すると推定されてから所定時間内に、その顔が撮像画像から検出されない場合において、色相情報生成部131から出力された色相情報と、コントラスト信号生成部132から出力されたコントラスト信号とに基づいて、撮像画像に一定の変化が生じたか否かを判断し、撮像画像に一定の変化が生じた場合にのみ、被写体変化ありと判定するようにしてもよい。
無条件停止判定部160は、オートフォーカス制御を停止させるための一定の条件である無条件停止の状態になっているか否かを判定するものであり、この判定結果をレンズ動作決定部170に出力する。具体的には、無条件停止判定部160は、角速度検出部135から出力された角速度等の各検出情報、または、動きベクトル生成部133から出力された動きベクトルに基づいて、大きなパンニングやチルティング等の撮像装置100の大きな動きが検出されているか否かを判断し、撮像装置100の大きな動きが検出されている場合には、フォーカスを合わせるまでもないため、無条件停止の状態であると判定する。また、無条件停止判定部160は、コントラスト信号生成部132から出力されたコントラスト信号に基づいて、顔検出部140が顔を検出することが不能な状態であるか否かを判断し、顔検出が不能な状態であると判断された場合には、無条件停止の状態であると判定する。顔検出が不能な状態とは、例えば、夜等の暗い場所で撮像が行われている場合等のように、仮に顔が存在していたとしても顔を検出することができない状態をいう。
無条件顔検出可能範囲マップ記憶部200は、フォーカスレンズ113の移動範囲のうちの全範囲において、顔検出部140により顔の検出が可能である焦点距離およびF値の組合せが属する範囲である無条件対象物検出可能範囲を格納する無条件顔検出可能範囲マップを記憶する記憶部である。この無条件顔検出可能範囲マップについては、図5を参照して詳細に説明する。
レンズ動作決定部170は、シャッター操作受付部138によりシャッター操作が受け付けられる前の状態で、オートフォーカス制御を停止させるか否かを決定するものであり、決定された内容をオートフォーカス制御指示部181に出力する。具体的には、レンズ動作決定部170は、ズームコントローラ193から出力されたズームレンズ112の位置に基づいて取得される焦点距離(現在の焦点距離)と、アイリスコントローラ199から出力されたアイリス114に基づいて取得されるF値(現在のF値)との組合せが、無条件顔検出可能範囲マップ記憶部200に記憶されている無条件顔検出可能範囲マップにおける無条件対象物検出可能範囲に属する場合には、オートフォーカス制御を停止する旨の決定を行う。また、レンズ動作決定部170は、顔検出部140から出力された顔検出情報に基づいて、撮像画像から顔が検出されているか否かを判断し、撮像画像から顔が検出されている場合には、これ以上厳密にフォーカスを合わせる必要がないため、オートフォーカス制御を停止する旨の決定を行う。さらに、レンズ動作決定部170は、直前までのフォーカスが合っている状態で、被写体変化判定部150により被写体変化なしと判定された場合には、さらにフォーカスを合わせ直す必要がないため、オートフォーカス制御を停止する旨の決定を行う。また、レンズ動作決定部170は、無条件停止判定部160により無条件停止と判定された場合には、オートフォーカス制御を停止する旨の決定を行う。一方、レンズ動作決定部170は、現在の焦点距離およびF値の組合せが無条件対象物検出可能範囲に属さない場合、撮像画像から顔が検出されていない場合、および、無条件停止判定部160により無条件停止と判定されていない場合であって直前の撮像画像のフォーカスが合っていない場合には、オートフォーカス制御を再起動する旨の決定を行う。また、レンズ動作決定部170は、現在の焦点距離およびF値の組合せが無条件対象物検出可能範囲に属さない場合、撮像画像から顔が検出されていない場合、および、無条件停止判定部160により無条件停止と判定されていない場合であって直前の撮像画像のフォーカスが合っている場合において、被写体変化ありと判定された後にフォーカスが大きくずれていれば、オートフォーカス制御を再起動する旨の決定を行う。
オート制御指示部180は、撮像部110により撮像された撮像画像を記録する場合において、オートフォーカス、オートエクスポージャ(自動露出)、オートホワイトバランス等が最適な撮影条件となるように各種のオート制御を行うものである。また、オート制御指示部180は、レリーズボタンが半押しまたは全押しされた際に、顔検出部140により顔が検出されている場合には、検出された顔を含む顔領域に基づいてオート制御を行う。オート制御指示部180は、オートフォーカス制御を行うオートフォーカス制御指示部181を備える。
オートフォーカス制御指示部181は、色相情報生成部131、コントラスト信号生成部132および動きベクトル生成部133から出力された信号の大小や増減に基づいて、フォーカスレンズ113の駆動速度や駆動方向を決定するものであり、決定された内容をフォーカスコントローラ196に出力する。すなわち、オートフォーカス制御指示部181は、オートフォーカス制御を行うものである。なお、本発明の実施の形態では、レリーズボタンが半押しまたは全押しされる前の状態でもオートフォーカス制御指示部181がオートフォーカス制御を行う(いわゆる、モニタリングオートフォーカス)例について説明する。このモニタリングオートフォーカスの要否については、ユーザ操作により設定することができる。また、オートフォーカス制御指示部181は、フォーカスが合っているか否かを示す合焦情報をレンズ動作決定部170に出力する。さらに、オートフォーカス制御指示部181は、レンズ動作決定部170からオートフォーカス制御を停止する旨の決定が出力された場合には、オートフォーカス制御を停止する。一方、オートフォーカス制御が停止された後にレリーズボタンが半押しまたは全押しされた場合、または、レンズ動作決定部170からオートフォーカス制御を再起動する旨の決定が出力された場合には、オートフォーカス制御指示部181は、オートフォーカス制御を再起動する。
ズームレンズモータ191は、モータドライバ192から出力された駆動制御信号に応じて回転することによって、ズームレンズ112を光軸方向に移動させて、焦点距離を決定するモータである。
モータドライバ192は、ズームコントローラ193から出力された制御信号に基づいて、ズームレンズモータ191を回転させる駆動制御信号を生成し、この駆動制御信号をズームレンズモータ191に出力するものである。
ズームコントローラ193は、ズーム操作受付部137により受け付けられたズーム操作の内容に基づいて、ズームレンズモータ191を回転させるための制御信号を生成し、生成された制御信号をモータドライバ192に出力するものである。また、ズームコントローラ193は、ズームレンズ112の光軸方向における位置を示すズームレンズ位置をレンズ動作決定部170およびオートフォーカス制御指示部181に出力する。
フォーカスレンズモータ194は、モータドライバ195から出力された駆動制御信号に応じて回転することによって、フォーカスレンズ113を光軸方向に移動させて、焦点位置を調整するモータである。
モータドライバ195は、フォーカスコントローラ196から出力された制御信号に基づいて、フォーカスレンズモータ194を回転させる駆動制御信号を生成し、この駆動制御信号をフォーカスレンズモータ194に出力するものである。
フォーカスコントローラ196は、オートフォーカス制御指示部181から出力された制御信号に基づいて、フォーカスレンズモータ194を回転させるための制御信号を生成し、生成された制御信号をモータドライバ195に出力するものである。また、フォーカスコントローラ196は、フォーカスレンズ113の光軸方向における位置を示すフォーカスレンズ位置をレンズ動作決定部170およびオートフォーカス制御指示部181に出力する。
アイリスモータ197は、モータドライバ198から出力された駆動制御信号に応じて回転することによって、アイリス114を開閉させて、F値(絞り値)を調整するモータである。
モータドライバ198は、アイリスコントローラ199から出力された制御信号に基づいて、アイリスモータ197を回転させる駆動制御信号を生成し、この駆動制御信号をアイリスモータ197に出力するものである。
アイリスコントローラ199は、オートフォーカス制御指示部181から出力された制御信号に基づいて、アイリスモータ197を回転させるための制御信号を生成し、生成された制御信号をモータドライバ198に出力するものである。また、アイリスコントローラ199は、アイリス114の開閉により調整されたF値(絞り値)をレンズ動作決定部170およびオート制御指示部180に出力する。
図2は、本発明の実施の形態における撮像装置100の外観を示す図である。図2(a)は、撮像装置100の外観を示す正面図であり、図2(b)は、撮像装置100の外観を示す背面図であり、図2(c)は、撮像装置100の外観を示す平面図である。
撮像装置100は、レンズ101と、ビューファインダ102と、モードダイヤル103と、上下左右操作ボタン104と、液晶表示部105と、電源スイッチ106と、ズームレンズ112と、フォーカスレンズ113と、イメージャ115と、ズームレンズモータ191と、フォーカスレンズモータ194と、ズーム操作受付部137と、シャッター操作受付部138とを備える。ズームレンズ112、フォーカスレンズ113、イメージャ115、ズームレンズモータ191、フォーカスレンズモータ194、ズーム操作受付部137およびシャッター操作受付部138については、図1に示すものと同じであるため、同一の符号を付して、ここでの説明を省略する。また、ズームレンズ112、フォーカスレンズ113、イメージャ115、ズームレンズモータ191およびフォーカスレンズモータ194については、撮像装置100に内蔵されているものであるため、図2(c)では破線で示す。
レンズ101は、外界の光を集光するレンズであり、この入射光がズームレンズ112およびフォーカスレンズ113を介してイメージャ115に出力される。
ビューファインダ102は、被写体を撮像する場合において、その撮像範囲をユーザが確認するためのファインダである。
モードダイヤル103は、各種の撮影モード等を設定する場合に用いられるダイヤルである。
上下左右操作ボタン104は、各種の撮影条件等を設定する場合に用いられる操作ボタンである。
液晶表示部105は、イメージャ115により光電変換された電気信号に対応する撮像画像等が表示される表示部である。
電源スイッチ106は、撮像装置100の電源をON/OFFする場合に用いられるスイッチである。
次に、撮像画像に含まれる顔を検出する顔検出方法について説明する。
顔検出は、例えば、顔の輝度分布情報が記録されているテンプレートと、実画像とのマッチングによって実現することができる(例えば、特開2004−133637を参照)。最初に、顔を傾けた時に得られる顔の輝度分布情報テンプレート群を用意しておく。このテンプレートは、顔3次元直交座標系のXYZ軸の各々に対して傾いたものである。そして、実画像に縮小処理をかけた縮小画像を複数種類用意する。続いて、輝度分布情報テンプレート群と、複数種類用意された縮小画像とを順次マッチングさせていく。この輝度分布情報テンプレート群とのマッチングにより実際の顔の傾きを判定する。そして、縮小画像に対して2次元平面上をずらしながら順次マッチングさせた場合に、ある領域がテンプレートにマッチすれば、その領域が顔の存在する位置ということになる。そして、顔の大きさは実画像の縮小率から求めることができる。また、マッチした時に用いたテンプレートから直交3軸周りの顔の回転角(すなわち、ヨー、ピッチ、ロール角)を求めることができる。
これらの顔検出方法では、撮像画像のフォーカスが大きくずれている場合には顔検出ができないことが多いものの、撮像画像のフォーカスが多少ずれている程度であれば顔検出が可能であることが多い。また、顔検出部140により撮像画像から顔が検出されている場合であれば、検出された顔に基づいて、オート制御指示部180がオート制御を行うことができる。このように撮像画像から顔が検出されている場合には、撮像画像のフォーカスが多少ずれていたとしても、検出された顔に基づいて適切なオート制御を行うことができる。そこで、本発明の実施の形態では、撮像画像から顔が検出されている場合には、シャッター操作受付部138によりシャッター操作が受け付けられる前の状態(レリーズボタンが半押しまたは全押しされる前の状態)で行われるオートフォーカス制御(モニタリングオートフォーカス)を停止させる。これにより、モニタリングオートフォーカスを行う設定がされている場合において、適切なオート制御を行うとともに、消費電力を低減させることができる。
しかしながら、人物以外の風景画像を撮像する場合等では、顔を検出することができる状態であるにもかかわらず、顔を検出することができない。また、このような場合には、遠景にフォーカスが合っているため、フォーカスを合わせ直す必要がない場合が多い。このため、このような場合でも適切にオートフォーカス制御を停止させて消費電力を低減させることが重要である。
図3は、撮像部110により撮像された撮像画像を概略的に示す図である。図3(a)に示す撮像画像301は、木312および山314を背景にして、撮像装置100から比較的近い位置に存在する人310が含まれる撮像画像である。このように、撮像装置100から比較的近い位置に存在する人310が撮像画像に含まれる場合には、フォーカスが多少ずれている場合であっても、フォーカスが大きくずれていなければ、人310の顔を検出することができる。例えば、人310の顔を含む顔領域311が抽出される。
図3(b)に示す撮像画像302は、山314を背景にして、撮像装置100から比較的遠い位置(山314の手前に存在する木312および313よりも遠い位置)に存在する人314が含まれる撮像画像である。このように、撮像装置100から比較的遠い位置に存在する人314が撮像画像に含まれる場合には、フォーカスのずれにかかわらず、人314の顔を検出することができない場合がある。
図3(c)に示す撮像画像303は、山314を背景にして、山314の手前に存在する木312および313が含まれる撮像画像である。このように、撮像画像に人の顔が含まれていない場合には、フォーカスのずれにかかわらず、人の顔を検出することができない。
このように、図3(b)および(c)に示す撮像画像302および303の場合には、フォーカスのずれにかかわらず、撮像画像から顔を検出することができない。すなわち、顔検出の要否のみでは適切にオートフォーカス制御を停止させることができない場合がある。
ここで、撮像画像から顔検出がされない状況として、以下に示す(1)乃至(3)の状態を想定することができる。
(1)撮像画像に人が含まれているものの、フォーカスが十分に合っていないため、顔を検出することができない状態
(2)撮像画像にそもそも人が含まれない撮影環境であるため、顔を検出することができない状態(例えば、風景写真の撮影)
(3)撮像画像に人が含まれているとともにフォーカスも合っているものの、撮像装置の顔検出能力を超えているため、顔を検出することができない状態(例えば、撮像画像に含まれる顔が大き過ぎる場合、小さ過ぎる場合、暗過ぎる場合)
上記(1)の場合には、モニタリングオートフォーカスを実行してフォーカスを合わせることによって、顔を検出することができる。そして、顔を検出することができた後には、オートフォーカス制御を停止させることができる。
ここで、フォーカスが合わなくなる状況が発生する原因としては、例えば、(a)同一の撮影者が、至近側の被写体を撮影した後に、遠方側に存在する被写体を撮影しようとしている場合や(b)それとは反対に、遠方側の被写体を撮影した後に、至近側に存在する被写体を撮影しようとしている場合が考えられる。
このような発生状況を踏まえると、モニタリングオートフォーカスを継続して実施することによって、顔を検出することができない状況を低減させることができると考えられる。しかしながら、顔検出のためにモニタリングオートフォーカスを継続して実行すると、消費電力を低減させることができない。そこで、上記(1)の場合においても、モニタリングオートフォーカスを実行させてから停止させるか否かを判断すれば、顔を検出できるようになった後、顔検出が適切に行われている状態においてそれ以上不要なオートフォーカス制御を抑制することができる。
一方、上記(2)および(3)の場合には、図3(b)および(c)に示すように、モニタリングオートフォーカスを実行して、フォーカス合わせを継続したとしても、顔を検出することができない。このため、顔検出のためにモニタリングオートフォーカスを継続して実行すると、消費電力を低減することができない。そこで、上記(2)および(3)の場合においても、モニタリングオートフォーカスを実行させるか否かを判断すれば、顔検出が不可能な状況下で無駄なオートフォーカス制御を行うことを抑制することができる。以下では、撮像画像から顔を検出することができない場合においてモニタリングオートフォーカスを停止させるか否かを判断する方法について図面を参照して詳細に説明する。
撮像画像に含まれる対象物にフォーカスを合わせるために規定されているフォーカスレンズ動作範囲において、このフォーカスレンズ動作範囲中のどの位置にフォーカスレンズが存在していても、顔を検出することが可能なズーム範囲(以下では、無条件顔検出可能範囲と称する)が、レンズによっては存在する。この無条件顔検出可能範囲では、モニタリングオートフォーカスを停止させても顔を検出することができる。そこで、本発明の実施の形態では、この無条件顔検出可能範囲に基づいてモニタリングオートフォーカスを停止させるか否かを判断する。ここで、この無条件顔検出可能範囲は、被写界深度の深さに依存する。また、被写界深度は、焦点距離およびF値の大きさに比例する。
図4は、無条件顔検出可能範囲を測定する場合における測定方法の概略を示す図である。図4(a)および(b)では、撮像装置100に備えられるフォーカスレンズ113の光軸方向における動作範囲をフォーカスレンズ動作範囲330とし、撮像装置100が人の顔を検出することが可能な範囲を顔検出可能範囲340とし、顔検出可能範囲340における最至近に存在する人を人321とし、顔検出可能範囲340における最遠方に存在する人を人322として示す。また、この例では、撮像装置100において、焦点距離およびF値を固定して測定を行う。なお、焦点距離は、ズームレンズ112の位置から求めることができ、F値は、アイリス114から求めることができる。
図4(a)に示すように、フォーカスレンズ動作範囲330においてフォーカスレンズ113を最至近に停止させた状態で、顔検出可能範囲340における最至近に存在する人321の顔を検出することができるか否かを測定する。また、同じ状態で、顔検出可能範囲340における最至近から最遠方まで人を動かす。この最至近から最遠方までの間に人の顔を検出することができるか否かを測定する。すなわち、図4(a)に示す顔検出可能範囲340に存在する人の顔を検出することができるか否かが測定される。
続いて、図4(b)に示すように、フォーカスレンズ動作範囲330においてフォーカスレンズ113を最遠方に停止させた状態で、顔検出可能範囲340における最至近に存在する人321の顔を検出することができるか否かを測定する。また、同じ状態で、顔検出可能範囲340における最至近から最遠方まで人を動かす。この最至近から最遠方までの間に人の顔を検出することができるか否かを測定する。すなわち、図4(b)に示す顔検出可能範囲340に存在する人の顔を検出することができるか否かが測定される。
図4(a)に示すフォーカスレンズ113を最至近に停止させた状態、または、図4(b)に示すフォーカスレンズ113を最遠方に停止させた状態で、顔検出可能範囲340において、人の顔を問題なく検出することができる場合には、この測定の際に固定されていた焦点距離およびF値の組合せが、無条件顔検出可能範囲に属すると判定することができる。
このように、図4(a)および(b)に示す測定を、焦点距離またはF値を変更しながら順次行う。この測定結果が焦点距離またはF値の組合せに関連付けて無条件顔検出可能範囲マップに記憶される。
図5は、図4で示した測定により求められた測定結果が格納されている無条件顔検出可能範囲マップの一例を示す図である。図5に示す無条件顔検出可能範囲マップ350は、無条件顔検出可能範囲マップ記憶部200に記憶されている。無条件顔検出可能範囲マップ350は、モニタリングオートフォーカスを停止させるか否かの境界線を示すものである。
無条件顔検出可能範囲マップ350には、図4で示した測定に用いられた焦点距離の値およびF値の組合せとともに、この組合せが無条件顔検出可能範囲に属するか否かを示す情報が格納されている。この情報として、例えば、焦点距離の値およびF値の組合せが無条件顔検出可能範囲に属する場合には「停止」が格納される。なお、「停止」が格納されている部分を点線の枠353で囲んで示す。一方、焦点距離の値およびF値の組合せが無条件顔検出可能範囲に属さない場合には「動作」が格納される。なお、「動作」が格納されている部分を点線の枠354で囲んで示す。
図5に示す焦点距離351は、図4で示した測定に用いられた焦点距離の値を含む一定の範囲を示す。例えば、焦点距離351の「5〜8mm」については、中間の値である6.5mmの値により測定されているものとする。
図5に示すように、焦点距離351の値が大きくなるのに応じて、また、F値が小さくなるに応じて、焦点距離の値およびF値の組合せが無条件顔検出可能範囲に属さなくなる。
ここで、撮像装置100を用いて撮像が行われている場合において、現在の撮像条件が、無条件顔検出可能範囲に属する場合(無条件顔検出可能範囲マップ350に「停止」が格納されている焦点距離351およびF値352の組合せである場合)には、モニタリングオートフォーカスを停止していても顔を検出することができる。このように、現在の撮像条件が無条件顔検出可能範囲に属するにもかかわらず顔が検出されていない場合というのは、そもそも顔が存在しない場合か、顔検出部140が能力的に顔を検出することが不可能な状態となっている場合である。このため、フォーカスレンズ113を停止させて、消費電力を低減させる。
このように、撮像画像から顔が検出されていない場合であっても、焦点距離およびF値の組合せに基づいて、モニタリングオートフォーカスを停止させるか否かの判断を容易に行うことができる。なお、測定する焦点距離およびF値を増やすことによって、さらに正確な無条件顔検出可能範囲マップを作成することができる。
次に、本発明の実施の形態における撮像装置100の動作について図面を参照して説明する。
図6は、撮像装置100によるオートフォーカス制御処理の処理手順を示すフローチャートである。この例では、撮像装置100を用いて撮像が行われている場合において、対象物として人の顔を検出する場合について説明する。また、撮像装置100において、モニタリングオートフォーカスが設定されているものとする。
最初に、現在の焦点距離およびF値が無条件顔検出可能範囲に属するか否かが判断される(ステップS901)。すなわち、レンズ動作決定部170は、ズームコントローラ193およびアイリスコントローラ199からの情報により取得された現在の焦点距離およびF値の組合せが、無条件顔検出可能範囲マップ記憶部200に記憶されている無条件顔検出可能範囲マップ350の「停止」に属するか否かを判断する。現在の焦点距離およびF値が無条件顔検出可能範囲に属する場合には(ステップS901)、オートフォーカス制御を停止させる(ステップS908)。すなわち、レンズ動作決定部170は、オートフォーカス制御を停止する旨の決定をオートフォーカス制御指示部181に出力する。そして、オートフォーカス制御指示部181は、フォーカスコントローラ196を制御してフォーカスレンズ113の動作を停止させる。
一方、現在の焦点距離およびF値が無条件顔検出可能範囲に存在しない場合には(ステップS901)、撮像部110により光電変換された電気信号に対応する撮像画像から人の顔が検出されたか否かが判断される(ステップS902)。撮像画像から人の顔が検出された場合には(ステップS902)、オートフォーカス制御を停止させる(ステップS908)。すなわち、撮像画像から人の顔が検出された旨を示す顔検出情報が顔検出部140からレンズ動作決定部170に出力された場合には、レンズ動作決定部170はオートフォーカス制御を停止する旨の決定をオートフォーカス制御指示部181に出力する。そして、オートフォーカス制御指示部181は、フォーカスコントローラ196を制御してフォーカスレンズ113の動作を停止させる。
なお、撮像画像から人の顔が検出された際にフォーカスレンズ113が移動していた方向にフォーカスレンズ113を一定量移動させた後に、フォーカスレンズ113を停止させるようにしてもよい。これにより、撮像画像から顔が検出された際における被写体の微妙な距離の変化や、撮像装置100の前後移動による顔の見失い等を防止することができる。
撮像画像から人の顔が検出されていない場合には(ステップS902)、無条件停止の判定がされたか否かが判断される(ステップS903)。無条件停止の判定がされている場合には(ステップS903)、オートフォーカス制御を停止させる(ステップS908)。すなわち、無条件停止が判定された旨を示す無条件停止判定情報が無条件停止判定部160からレンズ動作決定部170に出力された場合には、レンズ動作決定部170はオートフォーカス制御を停止する旨の決定をオートフォーカス制御指示部181に出力する。そして、オートフォーカス制御指示部181は、フォーカスコントローラ196を制御してフォーカスレンズ113の動作を停止させる。なお、無条件停止の判定については、図8を参照して詳細に説明する。
無条件停止の判定がされていない場合には(ステップS903)、直前の撮像画像のフォーカスが合っているか否かが判断される(ステップS904)。直前の撮像画像のフォーカスが合っていない場合には(ステップS904)、モニタリングオートフォーカスが実行される(ステップS909)。
一方、直前の撮像画像のフォーカスが合っている場合には(ステップS904)、撮像画像に被写体変化があったか否かが判断される(ステップS905)。撮像画像に被写体変化がない場合には(ステップS905)、オートフォーカス制御を停止させる(ステップS908)。すなわち、撮像画像に被写体変化がない旨を示す被写体無変化情報が被写体変化判定部150からレンズ動作決定部170に出力された場合には、レンズ動作決定部170はオートフォーカス制御を停止する旨の決定をオートフォーカス制御指示部181に出力する。そして、オートフォーカス制御指示部181は、フォーカスコントローラ196を制御してフォーカスレンズ113の動作を停止させる。なお、無条件停止の判定については、図8を参照して詳細に説明する。なお、被写体変化の判定については、図9乃至図11を参照して詳細に説明する。
撮像画像に被写体変化があった場合には(ステップS905)、測距枠(測距エリア)を設定する測距枠設定処理が実行される(ステップS920)。なお、この測距枠設定処理については、図7を参照して詳細に説明する。続いて、設定された測距枠において合焦判定(ウォブリング動作)が行われる(ステップS906)。
続いて、合焦判定の結果(ステップS906)、フォーカスが大きくずれているか否かが判断され(ステップS907)、フォーカスが大きくずれている場合には(ステップS907)、モニタリングオートフォーカスが実行される(ステップS909)。一方、フォーカスが大きくずれていない場合には(ステップS907)、オートフォーカス制御を停止させる(ステップS908)。すなわち、測距枠が設定された場合において、顔が検出されない状態でもフォーカスが合っていることがある。この場合には、顔が検出されない環境である場合、または、顔があったとしても検出不能状態であると判断し、これ以降のオートフォーカス制御をせずに、フォーカスレンズ113を停止させる。
図7は、撮像装置100によるオートフォーカス制御処理の処理手順のうちの測距枠設定処理手順(図6に示すステップS920の処理手順)を示すフローチャートである。
最初に、撮像画像の特徴量が抽出される(ステップS921)。続いて、抽出された特徴量に有効な特徴量が存在するか否かが判断される(ステップS922)。有効な特徴量は、フォーカスに対して不変的な情報量、または変化量が少ない特徴的な情報量であり、例えば、人の肌の色相情報である。
抽出された特徴量に有効な特徴量が存在する場合には(ステップS922)、撮像画像において、この有効な特徴量が存在する領域を含む枠内が第1優先測距枠に設定される(ステップS923)。例えば、撮像画像に人の顔が含まれている場合には、この人の顔の領域から肌の色相情報が抽出されるため、有効な特徴量が存在する。続いて、撮像画像における画面全体または画面中央の領域が第2優先測距枠に設定される(ステップS924)。
続いて、第1優先測距枠の測距結果の信頼度が高いか否かが判断される(ステップS925)。測距枠の測距結果の信頼度は、例えば、画素間の輝度差分に基づいて判断される。例えば、第1優先測距枠に含まれる画素間の輝度差分が小さい場合(いわゆる、ローコントラスト状態)には、第1優先測距枠の測距結果の信頼度が低いと判断される。
第1優先測距枠の測距結果の信頼度が高い場合には(ステップS925)、合焦判定の測距枠として、第1優先測距枠が設定される(ステップS926)。一方、第1優先測距枠の測距結果の信頼度が低い場合には(ステップS925)、合焦判定の測距枠として、第2優先測距枠が設定される(ステップS927)。
また、抽出された特徴量に有効な特徴量が存在しない場合には(ステップS922)、撮像画像の唯一の測距枠(デフォルト測距枠)として、撮像画像における画面全体または画面中央の領域が設定される(ステップS928)。そして、合焦判定の測距枠として、デフォルト測距枠が設定される(ステップS929)。
次に、モニタリングオートフォーカスを無条件で停止するか否かを判定する無条件停止判定方法について図面を参照して詳細に説明する。
本発明の実施の形態では、無条件顔検出可能範囲に属するか否か、または、顔が検出されたか否かにかかわらず、一定の条件を満たす場合には、無条件でオートフォーカス制御を停止する。この一定の条件は、例えば、大きなパンニング動作や大きなチルティング動作が検出された場合、被写体やシーンが変化していると判定された場合、顔検出部140が何らかの制限により顔検出ができない場合である。これらの一定の条件が満たされている場合には、正確なモニタリングオートフォーカスや顔検出ができない場合が多いと考えられるため、オートフォーカス制御を停止させる。
パンニングまたはチルティングは、動きベクトル生成部133により生成された撮像画像に含まれる各点の動きベクトルに基づいて検出することができる。また、角速度検出部135により検出された撮像装置100の角速度等に基づいて検出することができる。
また、何らかの制限により、顔検出部140が顔検出をすることができない条件となっている場合においては、この条件においてフォーカスレンズを動かしてしまうと、顔検出が可能な範囲を通り越してしまう可能性がある。このため、顔検出ができない条件においては、モニタリングオートフォーカスの動作を停止する。
図8は、撮像装置100による無条件停止判定処理の処理手順を示すフローチャートである。
最初に、動きベクトル生成部133により生成された動きベクトルが、所定値以上になったか否かが判断される(ステップS941)。動きベクトル生成部133により生成された動きベクトルが、所定値以上になった場合には(ステップS941)、無条件停止と判定される(ステップS945)。
続いて、角速度検出部135により検出された角速度が、所定値以上になったか否かが判断される(ステップS942)。角速度検出部135により検出された角速度が、所定値以上になった場合には(ステップS942)、無条件停止と判定される(ステップS945)。すなわち、ステップS941では、撮像画像について、大きなパンニングまたはチルティングがあったか否かが判断され、ステップS942では、センサについて、大きなパンニングまたはチルティングがあったか否かが判断される。
続いて、顔検出部140が顔検出をすることができない条件となっているか否かが判断される(ステップS943)。顔検出部140が顔検出をすることができない条件となっている場合には(ステップS943)、無条件停止と判定される(ステップS945)。顔検出部140が顔検出をすることができない条件は、例えば、暗すぎるため、顔を検出することができないような場合である。
一方、動きベクトル生成部133により生成された動きベクトルが、所定値以上になっていない場合(ステップS941)、および、角速度検出部135により検出された角速度が、所定値以上になっていない場合(ステップS942)、および、顔検出部140が顔検出をすることができない条件となっていない場合(ステップS943)には、無条件停止ではないと判定される(ステップS944)。
次に、撮像画像に含まれる被写体が変化したか否かを判定する被写体変化判定方法について図面を参照して詳細に説明する。
オートフォーカス制御を停止させた状態からモニタリングオートフォーカスを起動させる起動条件は、上述した図6に示すように、直前の撮像画像のフォーカスがあっていない場合、または、直前の撮像画像のフォーカスがあっている場合において被写体変化があると判定されるとともにフォーカスが大きくずれている場合である。
この被写体変化があると判定される場合は、例えば、撮像画像から顔が検出されていた場合において、撮像画像に対応する画面内から人が出ると予測されてから所定時間が経過するとともに、撮像画像に対応する画面内の輝度情報および色相情報が大きく変化した場合である。このように、撮像画像から顔が検出されていた場合において、この検出された顔の動きが検出された後に、この顔が検出されなくなった場合には、一定の条件の下で再起動処理を実行する
図9は、撮像部110により撮像された撮像画像の遷移を概略的に示す図である。図9(a)乃至(d)に示す撮像画像401乃至404は、撮像装置100を用いて、木412および山413を背景にして人410を撮像する場合における撮像前の遷移を示す画像である。ここで、人410について顔を含む顔領域411が検出されているものとする。ここでは、例えば、人410が撮影場所を探して歩いて移動している場合を示す。
撮像装置100は固定しているものの、被写体の対象となっている人410が歩いて移動しているため、画面内において、人410が左方向に移動している。すなわち、図9(a)および(b)では、人410が撮像画像401および402に含まれて顔領域411が検出されているものの、図9(c)では、人410が撮像画像403から出てしまい顔領域411が検出されない。しかしながら、人410が撮像装置100の前に戻ってくるため、図9(d)では、人410が撮像画像404に含まれて顔領域411が検出される。
図9(a)および(b)に示すように、所定時間以上連続して顔が検出され、この顔が移動していた場合において、図9(c)に示すように、この顔が検出されなくなり、撮像画像に対応する画角の外に顔が出た場合には、所定時間は被写体変化ありと判定をしない。これは、図9(d)に示すように、移動している顔が短時間のうちに画角の中に再度入ってくる可能性があるためである。この場合には、撮像の対象物である顔の撮像装置100からの距離がほとんど変化していないため、オートフォーカス制御を行わない。一方、所定時間経過した後に顔を検出することができない場合には、被写体変化ありと判定する。このように、被写体変化ありと判定された場合には、モニタリングオートフォーカスを試みて、顔が存在する可能性を調査することができる。また、所定時間経過した後に顔を検出することができない場合において、輝度および色相の変化を検出して、一定の変化があった場合に、モニタリングオートフォーカスを起動させるようにしてもよい。
図10は、撮像部110により撮像された撮像画像の遷移を概略的に示す図である。図10(a)および(b)に示す撮像画像421および422は、撮像装置100を用いて、木433および山434を背景にして人430を撮像する場合における撮像前後の遷移を示す画像である。ここで、人430について顔を含む顔領域431が検出されているものとする。例えば、人430が撮像を待って静止している場合を示す。図10(c)に示す撮像画像423は、撮像装置100を用いて、複数の家435および山436を被写体として撮像する場合における撮像前の遷移を示す画像である。図10(b)および(c)に示す撮像画像422から撮像画像423への遷移は、被写体を全く変更するような場合を示すものである。このような場合には、同じような状態で人430が再度画角に入る可能性が低いと考えられる。
このように、図10(a)および(b)に示すように、所定時間以上連続して顔が検出され、この顔が移動していなかった場合、または、この顔が移動していても、画角の中に十分とどまっていると推定されていた場合において、図10(c)に示すように、顔が検出されなくなった場合には、被写体変化ありと判定する。
なお、顔が連続して検出されず、断続的に検出されるような場合における被写体変化の判定は、顔がない場合における被写体変化判断に準じる。また、顔の検出が不安定な状態における顔の動き情報は、やはり信頼度が低くなるため、これを用いないようにする。
図11は、撮像装置100による被写体変化判定処理の処理手順を示すフローチャートである。
最初に、顔動きフラグおよびカウンタa乃至cが初期化される(ステップS950)。すなわち、顔動きフラグに「0」がセットされ、カウンタa乃至cがクリアされる。続いて、撮像部110により撮像された撮像画像から人の顔が検出されたか否かが判断される(ステップS951)。撮像画像から人の顔が検出された場合には(ステップS952)、顔検出カウンタaがインクリメントされ(ステップS952)、検出された顔の動き量が算出される(ステップS953)。この顔の動き量は、例えば、動きベクトル生成部133により生成された動きベクトルを用いるようにしてもよく、検出された顔の中心位置を基準として、連続する2つの撮像画像における顔の中心位置間の距離を算出して、この距離を顔の動き量とするようにしてもよい。
続いて、検出された顔に動きがあるか否かが判断される(ステップS954)。検出された顔に動きがある場合には(ステップS954)、顔動きカウンタcがクリアされ(ステップS955)、顔検出カウンタaが、閾値Aよりも大きいか否かが判断される(ステップS956)。顔検出カウンタaが、閾値Aよりも大きい場合には(ステップS956)、算出された顔の動き量に基づいて、この顔の移動先が算出される(ステップS957)。この移動先の算出は、例えば、算出された顔の動き量と同じ値だけ顔が進むと推定して移動先を求めることができる。また、現在の撮像画像から所定枚数前までの各撮像画像について算出された各顔の動き量の平均値を算出して、この平均値と同じ値だけ顔が進むと推定して移動先を求めることができる。さらに、現在の撮像画像から所定枚数前までの各撮像画像について算出された各顔の動き量の増加または減少等に基づいて各顔の予測動き量を算出して、この予測動き量と同じ値だけ顔が進むと推定して移動先を求めることができる。
続いて、算出された顔の移動先の位置に基づいて、検出された顔が撮像画像の画枠の外に移動するか否かが判断される(ステップS958)。検出された顔が撮像画像の画枠の外に移動しないと判断された場合には(ステップS958)、被写体変化なしと判定される(ステップS960)。一方、検出された顔が撮像画像の画枠の外に移動すると判断された場合には(ステップS958)、顔動きフラグに「1」がセットされ(ステップS959)、被写体変化なしと判定される(ステップS960)。
また、検出された顔に動きがない場合には(ステップS954)、顔動きカウンタcがインクリメントされ(ステップS961)、顔動きカウンタcが、閾値Cよりも大きいか否かが判断される(ステップS962)。顔動きカウンタcが閾値Cよりも大きい場合には(ステップS962)、顔動きフラグに「0」がセットされ(ステップS963)、被写体変化なしと判定される(ステップS960)。一方、顔動きカウンタcが閾値Cよりも大きくない場合には(ステップS962)、被写体変化なしと判定される(ステップS960)。
また、撮像画像から人の顔が検出されない場合には(ステップS952)、顔検出カウンタaがクリアされ(ステップS964)、顔動きフラグに「1」がセットされているか否かが判断される(ステップS965)。顔動きフラグに「1」がセットされている場合には(ステップS965)、顔動きフラグカウンタbがインクリメントされ(ステップS966)、顔動きフラグカウンタbが、閾値Bよりも大きいか否かが判断される(ステップS967)。顔動きフラグカウンタbが閾値Bよりも大きい場合には(ステップS967)、顔動きフラグカウンタbがクリアされる(ステップS968)。そして、顔動きフラグに「0」がセットされ(ステップS969)、被写体変化なしと判定される(ステップS960)。一方、顔動きフラグカウンタbが閾値Bよりも大きくない場合には(ステップS967)、被写体変化なしと判定される(ステップS960)。
また、顔動きフラグに「1」がセットされていない場合には(ステップS965)、撮像画像における輝度および色相の変化があるか否かが判断される(ステップS970)。例えば、撮像画像における輝度および色相の変化量が所定値以上であった場合に、撮像画像における輝度および色相の変化があると判断される。撮像画像における輝度および色相の変化がある場合には(ステップS970)、被写体変化ありと判定される(ステップS971)。一方、撮像画像における輝度および色相の変化がない場合には(ステップS970)、被写体変化なしと判定される(ステップS960)。
続いて、電源がオフされたか否かが判断され(ステップS972)、電源がオフされていなければ、ステップS951に戻り、電源がオフされた場合には、被写体変化判定処理の動作を終了する。
以上では、レリーズボタンが半押しまたは全押しされる前の状態において、一定の条件に基づいて、モニタリングオートフォーカスを停止または再起動する例について説明した。ここでは、レリーズボタンが半押しまたは全押しされる前の状態において、一定の条件に基づいて、フォーカスレンズを探索領域毎に移動させる場合について説明する。すなわち、焦点距離およびF値が無条件顔検出可能範囲に属さない場合において、フォーカスレンズ動作範囲における複数の探索位置にフォーカスレンズを順次移動させることにより、顔を検出する例について図面を参照して詳細に説明する。
例えば、複数の人を撮影する場合において、撮像装置100から各人までの距離が人によって大きく異なっている場合を考える。この場合には、撮像装置100からの距離が大きく異なる複数の人の顔を検出する必要がある。しかしながら、焦点距離およびF値の組合せが無条件顔検出可能範囲に属さない場合においては、この複数の人の顔を迅速に検出することができない場合が考えられる。そこで、焦点距離およびF値の組合せが無条件顔検出可能範囲に属さない場合において、フォーカスレンズ動作範囲に複数の探索領域を設定し、この複数の探索領域のそれぞれの領域に代表探索位置を決定して、この代表探索位置において顔を検出することができるか否かの判断を順次行う。これにより、フォーカスレンズ動作範囲の全ての範囲にフォーカスレンズを移動させる必要がないため、顔を迅速に検出することができる。
図12は、図1に示す撮像装置100の一部を変形した撮像装置700の構成例を示すブロック図である。撮像装置700は、図1に示す撮像装置100において、レンズ動作決定部170、オートフォーカス制御指示部181および無条件顔検出可能範囲マップ記憶部200の代わりに、レンズ動作決定部171、オートフォーカス制御指示部182および記憶部201を設けた撮像装置である。なお、レンズ動作決定部171、オートフォーカス制御指示部182および記憶部201以外の構成は、図1に示す撮像装置100と同様であるため、これらの以外の構成についての説明は省略する。
記憶部201は、無条件対象物検出可能範囲を格納する無条件顔検出可能範囲マップを記憶するとともに、探索領域および代表探索位置と焦点距離およびF値の組合せとを関連付けて格納する探索領域・代表探索位置マップを記憶する記憶部である。ここで、探索領域は、フォーカスレンズ113の移動範囲における複数の領域であって、隣接する各領域の一部が互いに重複するとともに、これらの複数の領域の何れかの領域で顔検出部140により顔の検出が可能となる領域である。また、代表探索位置は、各探索領域においてフォーカスレンズ113を停止させる位置である。なお、探索領域および代表探索位置については、図13および図14を参照して詳細に説明する。また、記憶部201は、記憶されている無条件対象物検出可能範囲と、探索領域および代表探索位置に対応する焦点距離およびF値の組合せとをレンズ動作決定部171に出力するとともに、探索領域および代表探索位置をオートフォーカス制御指示部182に出力する。
レンズ動作決定部171は、シャッター操作受付部138によりシャッター操作が受け付けられる前の状態で、フォーカスレンズ113を探索領域毎に移動させるか否かを決定するものであり、決定された内容をオートフォーカス制御指示部182に出力する。なお、現在の焦点距離およびF値との組合せが無条件対象物検出可能範囲に属する場合、撮像画像から顔が検出されている場合、または、無条件停止判定部160により無条件停止と判定された場合については、レンズ動作決定部170と同様であるため、ここでの説明を省略する。レンズ動作決定部171は、現在の焦点距離およびF値の組合せが無条件対象物検出可能範囲に属さない場合、撮像画像から顔が検出されていない場合、および、無条件停止判定部160により無条件停止と判定されていない場合には、フォーカスレンズ113を探索領域毎に移動する旨の決定を行う。また、レンズ動作決定部171は、全ての探索領域にフォーカスレンズ113を移動させた後に、被写体変化判定部150により被写体変化なしと判定された場合には、さらにフォーカスを合わせ直す必要がないため、フォーカスレンズ113を停止する旨の決定を行う。
オートフォーカス制御指示部182は、レンズ動作決定部171から出力された決定内容に基づいて、フォーカスレンズ113の駆動速度や駆動方向を決定するものであり、決定された内容をフォーカスコントローラ196に出力する。具体的には、レンズ動作決定部171からフォーカスレンズ113を探索領域毎に移動する旨の決定が出力された場合には、フォーカスレンズ113を代表探索位置に順次移動させる制御を行う。また、オートフォーカス制御指示部182は、レンズ動作決定部171からフォーカスレンズ113を停止する旨の決定が出力された場合には、フォーカスレンズ113を停止させる制御を行う。一方、フォーカスレンズ113が停止された後にレリーズボタンが半押しまたは全押しされた場合には、オートフォーカス制御指示部182は、オートフォーカス制御を起動する。
図13は、探索領域を測定する場合における測定方法の概略を示す図である。図13(a)および(b)では、図4と同様に、フォーカスレンズ動作範囲330と、顔検出可能範囲340と、人321と、人322とを示す。なお、これらは、図4で示したものと同じであるため、同一の符号を付してここでの説明を省略する。また、この例では、撮像装置700において、無条件顔検出可能範囲に属さない焦点距離およびF値の組合せを固定して測定を行う。さらに、図13では、フォーカスレンズ動作範囲330に2つの探索領域(第1の探索領域610および第2の探索領域620)を設定する例について説明する。この探索領域は、互いに重複する重複部分を含む領域とする。
図13(a)に点線で示すように、第1の探索領域610においてフォーカスレンズ113を最至近に停止させた状態で、顔検出可能範囲340における最至近に存在する人321の顔を検出することができるか否かを測定する。また、第1の探索領域610においてフォーカスレンズ113を最遠方に停止させた状態で、最至近に存在する人321の顔を検出することができるか否かを測定する。すなわち、第1の探索領域610の何れの位置にフォーカスレンズ113を移動させても、顔検出可能範囲340における最至近に存在する人321の顔を検出することができるか否かを測定する。
続いて、図13(b)に点線で示すように、第2の探索領域620においてフォーカスレンズ113を最至近に停止させた状態で、顔検出可能範囲340における最遠方に存在する人322の顔を検出することができるか否かを測定する。また、第2の探索領域620においてフォーカスレンズ113を最遠方に停止させた状態で、最遠方に存在する人322の顔を検出することができるか否かを測定する。すなわち、第2の探索領域620の何れの位置にフォーカスレンズ113を移動させても、顔検出可能範囲340における最遠方に存在する人322の顔を検出することができるか否かを測定する。
そして、第1の探索領域610において、顔検出可能範囲340における最至近に存在する人321の顔を問題なく検出することができるとともに、第2の探索領域620において、顔検出可能範囲340における最遠方に存在する人322の顔を問題なく検出することができる場合であって、第1の探索領域610および第2の探索領域620が互いに重複する領域である場合には、この測定の際に固定されていた焦点距離およびF値の組合せについての探索領域として、第1の探索領域610および第2の探索領域620が設定される。また、設定された探索領域における1つの位置を代表探索位置に設定する。例えば、設定された探索領域の真中部分を代表探索位置に設定することができる。例えば、図13(a)に示すように、第1の探索領域610の真中部分の位置を、第1の探索領域610における代表探索位置611とする。また、図13(b)に示すように、第2の探索領域620の真中部分の位置を、第2の探索領域620における代表探索位置621とすることができる。
このように、1組の焦点距離またはF値を固定して、図13(a)および(b)に示す測定を、探索領域を変更しながら順次行う。この測定結果が、その焦点距離またはF値の組合せについての探索領域として設定される。このようにして求められた探索領域および代表探索位置と焦点距離またはF値の組合せとを関連付けて格納する探索領域・代表探索位置マップが記憶部201に記憶される。
図14は、図13で示した測定により求められた測定結果が格納されている探索領域・代表探索位置マップの一例を示す図である。図14に示す探索領域・代表探索位置マップ750は、記憶部201に記憶されている。
探索領域・代表探索位置マップ750には、図13で示した測定に用いられた焦点距離751およびF値752の組合せとともに、焦点距離751およびF値752の組合せについて求められた探索領域753および代表探索位置754が格納されている。探索領域753には、例えば、フォーカスレンズ動作範囲における探索領域の範囲として、探索領域の両端の位置情報が記録される。代表探索位置754には、フォーカスレンズ動作範囲における位置情報が記録される。なお、測定する焦点距離およびF値を増やすことによって、さらに正確な探索領域・代表探索位置マップを作成することができる。
例えば、焦点距離およびF値の組合せが無条件顔検出可能範囲に属さない場合において、撮像画像から顔が検出されていない場合を考える。例えば、現在の焦点距離およびF値の組合せが、記憶部201に記憶されている探索領域(第1の探索領域610および第2の探索領域620)に対応する焦点距離およびF値の組合せである場合において、現在のフォーカスレンズ113の位置が第1の探索領域610に含まれている場合には、フォーカスレンズ113を第2の探索領域620に移動して停止させる。一方、現在のフォーカスレンズ113の位置が第2の探索領域620に含まれている場合には、フォーカスレンズ113を第1の探索領域610に移動して停止させる。このように、第1の探索領域610および第2の探索領域620が探索領域として設定されている焦点距離およびF値の組合せの場合において、撮像画像に検出可能な顔が含まれている場合には、第1の探索領域610および第2の探索領域620の何れかの領域で顔を検出することができる。これにより、焦点距離およびF値の組合せが無条件顔検出可能範囲に属さない場合でも、撮像画像に検出可能な顔が含まれている場合には、第1の探索領域610および第2の探索領域620の何れかの代表探索位置にフォーカスレンズを移動させるのみでよいため、顔の検出を迅速に行うことができる。代表探索位置にフォーカスレンズを移動させて顔の存在を評価する動作を、シーケンシャル領域確認と称し、探索領域を移動して顔の検出の有無を判断することを探索と称する。
なお、図13では、2つの探索領域を設定する例について示したが、3以上の探索領域を設定する場合についても同様に適用することができる。探索領域の数はレンズによって異なる。
この探索領域の決定方法として、例えば、無条件顔検出可能範囲の中で最も条件の厳しくなる焦点距離(すなわち、焦点距離が最も大きくなる地点)について、それぞれのF値に対して、探索領域および代表探索位置を求め、この求められた探索領域および代表探索位置を記憶することができる。例えば、探索領域の数nは焦点距離によって決まる。また、探索領域の数nに応じて、測定時の顔検出可能範囲における人の配置間隔を変更する。
また、一定の焦点距離範囲毎に探索領域および代表探索位置を求めるようにしてもよい。この場合には、焦点距離が小さく被写界深度が広い条件においては、シーケンシャル領域確認における探索領域を少なくすることができ、探索時間を短くすることが可能である。このため、消費電力を低減させることができる。
また、探索の順番は、顔が検出されるまで、全ての探索領域を探索する必要がある。ただし、顔が検出された時点で探索を終了する。探索の順序としては、例えば、以下の(1)乃至(4)の方法を選択することができる。
(1)現在の探索領域から遠方側に順次探索していき、最遠方に到達したら最初の探索領域から至近方向に探索する。
(2)現在の探索領域から至近側に順次探索していき、最至近に到達したら最初の探索領域から遠方方向に探索する。
(3)探索領域の最至近から最遠方に順次探索する。
(4)探索領域の最遠方から最至近に順次探索する。
また、探索が終了した探索領域には、探索済みフラグを立て、フォーカスレンズの移動を停止させる。停止からの復帰条件(すなわち、再探索のトリガ)は、上述したモニタリングオートフォーカスの再起動と同様である。この再起動を行う場合に、探索完了済みフラグは「0」にリセットされる。
次に、本発明の実施の形態における撮像装置700の動作について図面を参照して説明する。
図15は、撮像装置700によるオートフォーカス制御処理の処理手順を示すフローチャートである。この例では、撮像装置700を用いて撮像が行われている場合において、対象物として人の顔を検出する場合について説明する。また、撮像装置700において、モニタリングオートフォーカスが設定されているものとする。なお、図15に示すステップS901乃至S903、S905、S908は、図6に示すステップS901乃至S903、S905、S908と同様であるため、ここでの説明は省略する。
最初に、探索完了済フラグが初期化されて「0」がセットされる(ステップS980)。そして、無条件停止の判定がされたか否かが判断され(ステップS903)、無条件停止の判定がされていない場合には、探索完了済フラグに「1」がセットされているか否かが判断される(ステップS981)。探索完了済フラグに「1」がセットされている場合には(ステップS981)、ステップS905に進み、探索完了済フラグに「1」がセットされていない場合には(ステップS981)、現在のフォーカスレンズ113が存在する探索領域の次の探索領域における代表探索位置に、フォーカスレンズ113が移動される(ステップS982)。続いて、探索完了済フラグに「0」がセットされ(ステップS983)、撮像画像から顔が検出されたか否かが判断される(ステップS984)。撮像画像から顔が検出された場合には(ステップS984)、探索完了済フラグに「1」がセットされ(ステップS986)、ステップS987に進む。
一方、撮像画像から顔が検出されない場合には(ステップS984)、全ての探索領域における代表探索位置にフォーカスレンズ113が移動されたか否かが判断される(ステップS985)。全ての探索領域における代表探索位置にフォーカスレンズ113が移動された場合には(ステップS985)、ステップS986に進み、全ての探索領域における代表探索位置にフォーカスレンズ113が移動されていない場合には(ステップS985)、ステップS908に進む。
そして、電源がオフされたか否かが判断され(ステップS987)、電源がオフされていなければ、ステップS901に戻り、電源がオフされた場合には、オートフォーカス制御処理の動作を終了する。
例えば、レリーズボタンが全押しされた後に、レリーズボタンが離された直後の最初の1回のみについては、フォーカスレンズを探索領域毎に移動させるようにすることができる。また、これ以降は、探索領域を用いないオートフォーカス制御を行うようにすることができる。これにより、撮像動作直後のオートフォーカス制御を迅速に行うことができる。また、探索領域を用いる場合と、探索領域を用いない場合とを、焦点距離に応じて変更するようにしてもよい。
また、本発明の実施の形態では、被写体の対象物として顔を検出する場合について説明したが、他の対象物またはシーンを検出または認識する場合についても、本発明の実施の形態を適用することができる。例えば、目、鼻、口等の顔の構成パーツ、車、木、家、風景、動物、食べ物等の様々な被写体の検出または認識について本発明の実施の形態を適用することができる。
また、本発明の実施の形態では、顔が検出された場合等の一定の場合において、オートフォーカス制御を速やかに停止させる例について説明したが、この一定の場合にモニタリングオートフォーカスの動作速度を適宜遅くして停止させるようにしてもよい。
以上で示したように、本発明の実施の形態によれば、顔が検出された時点でフォーカスレンズの動作を止めることにより、バッテリの消費電力を最小限に抑えることができる。また、顔が検出されない場合においても、顔の検出に必要なフォーカスの合焦度が確保できた時点でフォーカスレンズの動作を止めることにより、フォーカスが合っていないために、検出または認識機能が正常に動作しない状況に陥る可能性を低減させて、消費電力を低減させることができる。なお、顔が検出されていない場合において、十分にフォーカスが合っていない場合には、オートフォーカス制御が実行されるため、検出すべき顔が存在するにもかかわらず、顔を検出することができないという不具合を防止することができる。このようにすることによって、静止画の撮影時においては、検出された顔に基づいて、オートフォーカス、自動露出調整、オートホワイトバランス調整等のオート制御の性能を最大限に発揮することができる。
また、一定以上の大きなパンニングやチルティング等のように撮像装置が異常な動きをした場合や顔の検出が不能な場合についても、フォーカスレンズの動作を止めることにより、バッテリの消費電力を最小限に抑えることができる。
さらに、焦点距離およびF値の組合せが無条件顔検出可能範囲に属していない場合において、顔が検出されない場合には、焦点距離およびF値の組合せに応じた探索領域における代表探索位置にフォーカスレンズを順次移動させて、顔検出の要否を判断することができる。このため、フォーカスレンズの移動を迅速に行うことができるとともに、顔検出の要否に係る消費電力を最小限に抑えることができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
すなわち、請求項1において、シャッター操作受付手段は、例えばシャッター操作受付部138に対応する。
また、請求項1において、オートフォーカス制御手段は、例えばオートフォーカス制御指示部182に対応する。また、オートフォーカス制御動作決定手段は、例えばレンズ動作決定部171に対応する。
また、請求項1において、撮像手段は、例えば撮像部110に対応する。また、対象物検出手段は、例えば顔検出部140に対応する。
また、請求項5において、記憶手段は、例えば記憶部201に対応する。
また、請求項6または7において、判定手順は、例えばステップS902に対応する。また、制御手順は、ステップS981乃至S986に対応する。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。