以下、図面に従って本発明を適用したカメラを用いて好ましい実施形態について説明する。本発明の好ましい一実施形態に係わるカメラは、デジタルカメラであり、撮像部を有し、この撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部115にライブビュー表示する。撮影者はライブビュー表示を観察することにより、構図やシャッタチャンスを決定する。1stレリーズ時には、被写体に人物が含まれる場合には、人物の目または顔にピントが合うように撮影レンズの自動焦点調節を行う。2ndレリーズ時には、画像データが記録媒体(外部メモリ114)に記録される。記録媒体に記録された画像データは、再生モードを選択すると、表示部115に再生表示することができる。
図1は、本発明の一実施形態に係わるカメラ100の主として電気的構成を示すブロック図である。撮影レンズ101の光軸上に、絞り機構103、シャッタ105および撮像素子107が配置されている。撮像素子107の出力はA/D変換部109に接続され、A/D変換部109の出力はメモリ110に接続されている。メモリ110は画像処理部111とシステム制御部116に接続されている。システム制御部116には、撮像制御部108、シャッタ制御部106、絞り制御部104、レンズ制御部102、露出制御部112、AF処理部113、フラッシュ制御部121、不揮発性メモリ118、外部メモリ114、表示部115、操作部117、電源制御部120がそれぞれ接続されている。上述の撮像制御部108は撮像素子107に接続されており、シャッタ制御部106はシャッタ105に接続されており、絞り制御部104は絞り103に接続されており、レンズ制御部102は撮影レンズ101に接続されている。また、電源制御部120は電源部119に接続されており、フラッシュ制御部121はフラッシュ充電部122とフラッシュ発光部123にそれぞれ接続されている。
撮影レンズ101は、被写体光束を撮像素子107に集光させ、被写体像を結像させるための光学系である。この撮影レンズ101は、システム制御部116からの指示に応じて動作するレンズ制御部102により光軸方向に移動され、焦点状態が変化する。絞り機構103は、撮影レンズ101を介して撮像素子107に入射する被写体光束の入射量を調節する。絞り機構103は、システム制御部116からの指示に応じて動作する絞り制御部104により開口量が制御される。
シャッタ105は、撮影レンズ101によって形成される被写体像の光束の開閉を行うものであり、公知のレンズシャッタやフォーカルプレーンシャッタ等によって構成される。シャッタ105は、システム制御部116からの指示に応じて動作するシャッタ制御部106によりシャッタ開口時間(シャッタ速度値)が制御される。
撮像部として機能する撮像素子107は、CMOSイメージセンサやCCDイメージセンサ等の二次元固体撮像センサであり、前面に配置されたベイヤ―配列のカラーフィルタと、このカラーフィルタに対応して配列されたフォトダイオード等の光電変換素子から構成される。各カラーフィルタとこれに対応する各光電変換素子から構成される画素群によって撮像領域が構成される。撮像素子107は、撮影レンズ101により集光された光を各画素で受光し光電流に変換し、この光電流をコンデンサに蓄積し、アナログ電圧信号(画像信号)としてA/D変換部109に出力する。撮像部として機能する撮像制御部108は、システム制御部116からの指示に応じて撮像素子107の動作制御を行う。
A/D変換部109は、撮像素子107から出力されるアナログ電圧信号(画像信号)をデジタル画像信号(画像データ)に変換する。メモリ110は、A/D変換部109において得られた画像データや、画像処理部111において処理された画像データ等、各種データを一時的に記憶する記憶部である。なお、本明細書においては、撮像素子107から出力される画像信号に基づく信号であれば、A/D変換部109によってA/D変換された信号のみならず画像処理された信号も含めて画像データと称する場合がある。
画像処理部111は、メモリ110に一時記憶された画像データを読み出し、この画像データに対して、ホワイトバランス補正処理、同時化処理、色変換処理等の画像処理を行う。また、画像処理部111は、顔検出手段として機能し、画像データに基づいて被写体の中から顔を検出する。また、画像処理手段は、顔器官検出手段としての機能も果たし、目、鼻、口元等の顔の中の器官の検出を行う。ここで目等の器官を検出した場合には、その位置、大きさ等も検出し、これらの器官の位置等に基づいて顔の向きも検出する。さらに、画像処理部111は、後述する外部メモリ114に記録する際に画像圧縮を行い、また外部メモリ114から読み出した圧縮された画像データの伸張を行う。
露出制御部112はメモリ110に一時記憶された画像データを用いて被写体輝度(被写体を含むシーンの明るさ)を算出する。なお、専用の測光センサを用いて被写体輝度を算出するようにしても勿論かまわない。
AF(Auto Focus)処理部113は、メモリ110に一時記憶された画像データより高周波成分を抽出し、積算処理によりコントラスト値を取得する。システム制御部116は、コントラスト値に基づいてレンズ制御部102を通じて、撮影レンズ101が合焦位置となるように駆動制御を行う。コントラスト値を求めるにあたっては、画面全体について求めることもできるが、AFエリア設定手段によって設定されたAF領域に対応する画像データに基づいてコントラスト値を求めることも可能である。なお、AF処理部113は、TTL位相差AFセンサ等、専用のセンサを設け、この専用センサの出力に基づいて撮影レンズ101の焦点ずれ量を求めるようにしても勿論かまわない。
システム制御部116は、CPU(Central Processing Unit:中央処理装置)等を含むASIC(Application Specific Circuit:特定用途向け集積回路)で構成され、撮像制御部108やフラッシュ制御部121等のカメラ100の各種シーケンスを統括的に制御する。また、システム制御部116は、顔器官検出手段として機能する画像処理部111により検出された目の大きさを比較し、大きさが最大の目を選択する目選択手段と、最大の目の大きさと所定値と比較判別する目の大きさ比較判別手段と、顔の大きさと所定値と比較判別する顔の大きさ比較判別手段としても機能する。さらに、システム制御部116は、目や顔の位置や大きさに応じてピント合わせを行うAF領域を設定するAFエリア設定手段としても機能する。
操作部117は、図2に示すような電源釦117a、レリーズ釦117b、撮影モードダイヤル117c、動画釦117d、ファンクション釦117e、十字釦117f、OK釦117g、メニュー釦、各種入力キー等の操作部材を含む。ユーザが操作部117のいずれかの操作部材を操作すると、システム制御部116は、ユーザの操作に応じた各種シーケンスを実行する。
操作部117の内の電源釦117aはカメラ100の電源のオンオフを指示するための操作部材であり、電源釦117aが押されるとシステム制御部116は電源オンとし、再度押されると電源オフとする。レリーズ釦117bは、1stレリーズスイッチと2ndレリーズスイッチの2段スイッチを有している。レリーズ釦117bが半押しされると1stレリーズスイッチがオンとなり、半押しから更に押し込まれ全押しされると2ndレリーズスイッチがオンとなる。1stレリーズスイッチがオンとなると、システム制御部116は、AE処理やAF処理等撮影準備シーケンスを実行する。また2ndレリーズスイッチがオンとなると、システム制御部116は、静止画の撮影シーケンスを実行し、撮影を行う。
操作部117の内の動画釦117dは、動画撮影の開始と停止を指示する釦である。撮影モードダイヤル117cは、オートモード、絞り優先モード、シャッタ速度優先モード等を設定するためのダイヤルである。
外部メモリ114は、例えば、カメラ本体に着脱自在に記録媒体であり、画像処理部111において圧縮された画像データおよびその付随データが記録される。また、記録された画像データは読み出され、表示部115に再生表示される。なお、画像データ等を記録するための記録媒体として、カメラ本体に着脱可能な外部メモリに限らず、カメラ本体に内蔵のハードディスク等の記録媒体であってもかまわない。
表示部115は、カメラ本体の背面等に配置された液晶モニタ115a(図2参照)等を含み、画像データに基づいてライブビュー表示を行う。また、表示部115は、外部メモリ114に記録された撮影画像の再生表示を行い、さらに露出制御値等の表示や撮影モード等設定のためのメニュー画面の表示を行う。なお、画像等を表示できるものであれば、液晶モニタに限らず、有機EL等のディスプレイでもよい。
不揮発性メモリ118は、電気的に書き換え可能な不揮発性メモリであり、カメラ100の動作に必要な各種パラメータを記憶している。また、不揮発性メモリ118は、システム制御部116において実行するプログラムも記憶している。システム制御部116は、不揮発性メモリ118に記憶されているプログラムに従い、また不揮発性メモリ118に記憶されているパラメータを読み込み、各種シーケンスを実行する。
電源部119は、カメラ100の各部の動作に必要な電力を供給し、例えば、2次電池等の電源電池で構成される。電源制御部120は、電源部119を構成する電池の電源電圧や残量の検出等、電源部119の制御を行う。
フラッシュ制御部121は、システム制御部116からの指示に応じてフラッシュ充電部122における充電動作、およびフラッシュ発光部123における発光動作を制御する。フラッシュ充電部122は、電源部119の電源電圧を昇圧する昇圧回路や、ここで昇圧された電圧でエネルギを蓄積するコンデンサを有し、フラッシュ発光部123の発光を行うに必要なエネルギを蓄積する。フラッシュ発光部123は、例えば、キセノン(Xe)管等の発光管や反射傘を備えており、フラッシュ制御部121から発光指示を受信した際に、フラッシュ充電部122のコンデンサに蓄積されたエネルギを利用して発光する。
次に、本実施形態に係わるカメラ100の外観について、図2を用いて説明する。図2は、背面側からみたカメラ100の外観図であり、カメラ本体10に交換レンズ20が装着されている。カメラ本体10の上面には、電源釦117a、レリーズ釦117b、撮影モードダイヤル117cが配置されている。
また、カメラ本体10の背面には、液晶モニタ115aが配置されており、これによって被写体像のライブビュー表示やメニュー画面表示、記録画像の再生表示等の各種表示を行う。カメラ本体10の背面の右上側には、動画釦117d、ファンクション釦117eが配置されており、また、これらの釦の下側には、十字釦117gとOK釦117fが配置されている。十字釦117gは、液晶モニタ115aに表示されるメニュー画面等において、カーソルを画面上で移動させ、OK釦117fを押下げるとカーソルによって選択された項目を確定させることができる。
次に、本実施形態におけるカメラ100の動作について、図3に示すフローチャートを用いて説明する。このフローおよび後述する各フローは不揮発性メモリ118に記憶されているプログラムに従ってシステム制御部116によって実行される。図3に示すフローはメインルーチン動作である。このメインルーチンは、操作部117の電源釦117aがオンとなると実行を開始する。
メインルーチンの動作が開始すると、まず、ライブビュー表示を行う(S1)。ライブビュー表示では、撮像素子107から出力される画像信号が、画像処理部111によってライブビュー表示用に画像処理され、この処理された画像データが表示部115の液晶モニタ115aに表示される。撮影者はこのライブビュー表示を見て、静止画や動画の構図を決定し、シャッタタイミングを決める。
ライブビュー表示を行うと次に顔器官検出できたか否かを判定する(S3)。このステップでは、撮像素子107からの画像データに基づいて、画像処理部111が被写体の中に人物の顔の顔器官、すなわち、目、鼻、口等を検出できたか判定する。
ステップS3における判定の結果、顔器官を検出できた場合には、顔枠を表示する(S5)。この顔枠の表示は、例えば、図6(a)(b)に示すように、液晶モニタ115aに表示する被写体像に、顔枠30a、31a〜31dのように、被写体の顔の部分を示す白枠を重畳して行う。なお、顔枠としては、顔の部分を表示するものであれば、白枠に限らず他の表示方法でもよい。
ステップS5において顔枠の表示を行うと、またはステップS3における判定の結果、顔器官を検出しなかった場合には、次に、1stレリーズ操作がなされたか否かを判定する(S7)。ここでは、操作部117のレリーズ釦117bが半押しされたか否かを判定する。この判定の結果、1stレリーズ操作がなされていなかった場合には、ステップS1に戻り、ライブビュー表示等を実行する。
ステップS7における判定の結果、1stレリーズ操作がなされた場合には、最大の目を選択する(S9)。1stレリーズ操作がなされたことから、ステップS9以下において、被写体の目の部分にピントを合わせるとともに、顔部分を考慮した測光を行い、露出制御値を決める。まず、ステップS9において、ステップS3において検出した顔器官のうちの目の中から一番大きな目を選択する。図6(a)に示すように人物が一人の場合であって両目を検出した場合には、右目と左目の中で大きいほうの目を選択する。また、図6(b)に示すように人物が複数人の場合には、複数人の目の中で一番大きな目を選択する。
ステップS9において最大の目を選択すると、次に、目の大きさが所定値より大きいか否かを判定する(S41)。ここでは、ステップS9において選択した最大の目が所定値より大きいか判定する。例えば、目の大きさとしては、図8(b)に示すように、目じりと目頭の距離としてもよい。また、黒目(瞳)の径に基づいて判定してもよい。
ステップS41における所定値としては、顔の奥行き程度の距離(約10cm)でピントの変化すなわちボケ具合が大きくなるような値を固定値として使用してもよい。また、ピントのボケ具合は、レンズの焦点距離、カメラから顔までの距離、絞り値等によって変化することから、固定値とせずに、これらの値に基づいて計算して所定値を決めるようにしてもよい。
ステップS41における判定の結果、目の大きさが所定値より大きかった場合には、次に、目AF枠を選択する(S43)。目の大きさが所定値より大きいことから、このステップでは目の部分にピントが合うように目AF枠の設定を行う。実用上、目AF枠が小さくなり過ぎることがないように、バストアップ撮影程度の顔の大きさ以上になったどうか検出できるような上記所定値に設定するとよい。また、目AF枠を表示する際には、目AF枠と顔AF枠のアスペクト比は異ならせるとよい。この目AF枠の設定の詳細な動作は、図9ないし図20を用いて後述する。
一方、ステップS41における判定の結果、目の大きさが所定値より小さかった場合には、最も大きな目の顔枠を選択する(S45)。目の部分が所定値よりも小さいと、目にピントを合わせることが困難である。そこで、ステップS9において選択された最大の目の顔に対してAF枠を設定する。例えば、図6(b)のように顔枠31a〜31dが複数、選択された場合には、最大の目が含まれる顔枠を選択する。
ステップS43またはS45において目AF枠または顔枠を選択すると、次に、コントラストAFを行う(S47)。ここでは、ステップS43またはS45において選択された目AF枠または顔枠内の画像データを用いて、AF処理部113が画像データの高周波成分を積算したコントラスト値を取得する。システム制御部116は、コントラスト値がピーク値となるようにレンズ制御部102を通じて、撮影レンズ101を移動させ、焦点調節制御を行う。
コントラストAFを行うと、次に、測光を行う(S47)。ここでは、目AF枠または顔枠が選択された部分の画像データを用いて、被写体輝度を求める。なお、顔全体が適正露出としたい場合もあることから、目AF枠が選択された場合であっても、測光値としては目AF枠が選択された顔の顔枠の部分の画像データを用いて被写体輝度を求めてもよい。
測光を行うと、次に、露出演算を行う(S51)。ステップS49において求めた被写体輝度を用いて、システム制御部116がアペックス演算またはテーブル参照等により、適正露光となるシャッタ速度、絞り値、ISO感度等の露出制御値を算出する。
露出演算を行うと、次に、1stレリーズ操作が続行しているか否かの判定を行う(S53)。ステップS7においてレリーズ釦117bが半押しされると、ステップS9以下に進むが、ステップS53の判定時にも、レリーズ釦117bの半押しが続行されているか否かを判定する。この判定の結果、1stレリーズ操作が続行していなかった場合には、レリーズ釦117bから手が離れたことから、ステップS1に戻る。
ステップS53における判定の結果、1stレリーズ操作が続行していた場合には、次に、OK釦117gがオンか否かを判定する(S55)。ステップS53より前の処理において、自動的に選択された目AF枠または顔枠内の被写体の部分についてピント合わせが実行されている。しかし、ユーザによっては、自動的に設定された目AF枠を切換えてピント合わせを行いたい場合がある。そこで、ステップS55〜S61において、手動で目AF枠を切換えることができるようにした。この場合には、ユーザはOK釦117gを操作するので、このステップではOK釦117gがオンとなったか否かを判定する。なお、本実施形態においては、目AF枠の切換えをOK釦117gの操作によって行うことにしたが、これに限らず、液晶モニタ115aの画面上にタッチセンサを設け、目の位置をタッチする方法など、他の操作部材によって行うようにしてもよい。
ステップS55における判定の結果、OK釦117gがオンであった場合には、次に目AFしたか否かの判定を行う(S57)。ここでは、ステップS43において目AF枠を選択することができたか否かについて判定する。
ステップS57における判定の結果、目AFした場合には、次に、目AF枠左右切換えを行う(S59)。ここでは、現在、設定されている目AF枠を、他の目AF枠に切換える。すなわち、現在、図7(a)に示すように向かって右目に目AF枠が設定されている場合には図7(b)に示すように左目に切換える。一方、図7(b)に示すように向かって左目に目AF枠が設定されている場合には図7(a)に示すように右目に目AF枠の切換えを行う。
ステップS59において目AF枠の左右切換えを行うと、コントラストAFを行う(S61)。ここでは、左右切り換えられた目AF枠について、コントラストAFによって撮影レンズ101のピント合わせを行う。
ステップS61においてコントラストAFを行うと、またはステップS55における判定の結果、OK釦がオンとなっていなかった場合、またはステップS57における判定の結果、目AFしていなかった場合には、次に2ndレリーズ操作がなされたか否かを判定する(S63)。ここでは、操作部117のレリーズ釦117bが全押しされたか否かを判定する。この判定の結果、2ndレリーズ操作がなされていなかった場合には、ステップS53に戻る。
一方、ステップS63における判定の結果、2ndレリーズ操作がなされた場合には、次に、静止画撮影を行う(S65)。ここでは、撮像素子107からの静止画の画像データを取得し、画像処理部111によって画像処理した後、外部メモリ114に記録を行う。静止画撮影が終了すると、ステップS1に戻る。
このように本発明の一実施形態におけるメインフローにおいては、目の大きさが所定値よりも大きいと判別された場合には(S41Yes)、選択された目の大きさと位置に対応するAF領域を設定し(S43)、一方、目の大きさが所定値よりも小さいと判別された場合には、選択された目が属する顔の位置と大きさに対応するAF領域を設定している(S45)。このため、撮影される人物の大きさや位置に関わらず、目に良好なピント合わせを行うことが可能となる。
次に、本実施形態におけるメインフローの第1の変形例について、図4を用いて説明する。図3に示した一実施形態においては顔器官検出を行い、顔器官検出として検出された目に対してAF枠を選択するようにしていた。これに対して、第1の変形例においては、まず顔検出を行い、検出された顔の中で最大の顔の中で目AF枠の選択を行うようにしている。
第1の変形例に係わる図4に示すメインフローと図3に示したメインフローと比較すると、第1の変形例では、ステップS3の「顔器官検出」をステップS4の「顔検出」に代え、ステップS9の「最大の目を選択」をステップS10の「最大顔AF枠」に代え、ステップS45の「最も大きな目の顔枠を選択」を省略している。そこで、この相違点を中心説明し、同様の処理を行うステップについては、同一のステップ番号を付与して詳しい説明は省略する。
図4に示すメインフローに入り、ライブビュー表示を行うと(S1)、次に、顔検出を行う(S4)。このステップでは、画像処理部111は画像データを用いて、マッチング法や顔の色等、種々の方法により被写体像の中に顔が含まれているか検出する。この判定の結果、顔検出を行うことができた場合には、次に、顔枠表示を行う(S5)。ここでは、図6を用いて説明したような顔枠を表示する。
顔枠表示を行うと、1stレリーズ操作が行われたか否かを判定し(S7)、この判定の結果、1stレリーズ操作がなされた場合には、最大顔AF枠の選択を行う(S10)。ここでは、ステップS4における顔検出において検出された顔の中から、最大の顔を選択し、この顔に顔AF枠を被写体像に重畳する。たとえば、図8(a)に示すように、複数の顔枠31a〜31dが検出された場合には、検出された最も大きな顔を検出し、この顔を顔AF枠として選択する。選択された顔AF枠として選択された顔枠31aであることが区別できるように、枠の色を変える等により識別可能とするよい。
ステップS10において最大顔AF枠を選択すると、次に、目の大きさが所定値より大きいか否かを判定する(S41)。本発明の一実施形態においては、被写体の中の人物の全ての目を検出し、その中から最大の目を判定したが、本変形例においては、ステップS10において最大顔AF枠が選択された顔の中で判定する。
目の大きさが所定値より大きい場合には、目AF枠選択を行い(S43)、この目AF枠の選択を行うと、次に、コントラストAFを行う。本発明の一実施形態において、目の大きさが所定値より小さい場合には、最も大きな目の顔枠を選択していたが、本変形例においては、このステップを省略し、コントラストAFを行っている。目が所定値より小さい場合には、ステップS10において選択された最大顔AF枠の画像データに基づいてコントラストAFを行えば十分だからである。
ステップS47以下の各ステップでの処理は図3に示す一実施形態におけるフローと同様であることから、詳しい説明は省略する。
このように、メインフローの第1の変形例においては、先に顔検出を行い、この検出された顔の中から最大の顔を検出し、この最大顔の中の目が所定値より大きい場合には、目AF枠についてAFを行い、目が所定値より小さい場合には、最大顔AF枠についてAFを行うようにしている。すなわち、目の大きさが所定値よりも大きいと判別された場合には(S41)、選択された目の大きさと位置に対応するAF領域を設定し(S43)、一方、目の大きさが所定値よりも小さいと判別された場合には、選択された顔の位置と大きさに対応するAF領域を設定している(S10)。このため、撮影される人物の大きさや位置や人数に関わらず、迅速に目に良好なピント合わせを行うことが可能となる。
次に、本実施形態におけるメインフローの第2の変形例について、図5を用いて説明する。図3に示した一実施形態においては顔器官検出を行い、また、第1の変形例においては顔検出を行って、AF枠の選択を行うようにしていた。それに対して、第2の変形例においてはまず顔検出を行い、続いて顔器官検出を行って、左目または右目をAF枠として選択するようにしている。
第2の変形例に係わる図5に示すメインフローと図4に示したメインフローと比較すると、第1の変形例におけるステップS10とS41の間に、ステップS21ないしS39を追加している点で相違している。そこで、この相違点を中心説明し、同様の処理を行うステップについては、同一のステップ番号を付与して詳しい説明は省略する。
図5に示すメインフローに入り、ステップS10において最大顔AF枠を選択すると、次に、顔の大きさが所定値より大きいか否かを判定する(S21)。ここでは、ステップS10において検出された顔の大きさについて判定を行う。本実施形態においては、顔器官検出の処理と顔検出の処理が別々の場合には、AFに関する処理時間を短縮するために顔の大きさが所定値を超える場合のみに実行するようにしている。例えば、顔検出を顔の色等による検出で行う場合や、顔検出をパターンマッチングで行う場合等のように、目、鼻、口などの顔器官検出よりも比較的高速な検出が期待できる場合には有効である。
ステップS21における判定の結果、顔の大きさが所定値より大きかった場合には、次に、器官検出を行う(S23)。ここでは、画像処理部111が、ステップS10において選択された最大顔AF枠内の目等の器官を検出する。器官検出を行うにあたって、目の黒目部分(瞳)や白目の部分を検出する方式では、目を閉じてしまうと検出することができない。この場合には、次のステップS25においてNoと判定され、顔AF枠を用いてAFを行う。一方、図8(b)を用いて説明したような目じりと目頭の距離に基づいて目を検出する方式では、目を閉じていても検出できるので、このタイプの目の検出が望ましい。
ステップS23において器官検出を行うと、続いて、この器官検出が成功したか否かを判定する(S25)。この判定の結果、器官検出が成功した場合には、次に、右目の大きさを算出し(S27)、左目の大きさを算出する(S29)。左右の目の大きさは、画像処理部111が、目じりと目頭の距離を求めることにより算出する。
左右の目の大きさを算出すると次に、顔の向きが左右所定値以内か否かを判定する(S31)。顔の向きは両目と鼻または口等との位置関係に基づいて判定する。また所定値としては、例えば、16度程度として、この値は大体前を向いていると言える程度の値であればよい。
ステップS31における判定の結果、顔の向きが左右所定値以内でない場合には、次に、顔の向きが左向きか否かを判定する(S35)。顔の角度が所定値(例えば16度)を超える場合には、遠い方の目が検出不能である場合が多く、また検出不能に近い状態での検出精度が低いことを考慮して、向きに応じて左右のいずれかを選択するようにしている。そこで、ステップS35における判定の結果、顔の向きが左向きであった場合には、左目を選択し(S39)、一方、顔の向きが左向きでなかった場合には、右目を選択する(S37)。
一方、ステップS31における判定の結果、顔の向きが所定値以内であって場合には、次に、右目の大きさが左目の大きさより大きいか否かの判定を行う(S33)。顔の角度が所定値以内の場合には、顔の向きの検出精度が低いが、目の大きさの検出精度の方が高いことを考慮して、目の大きさに基づいて左右の目のいずれかを選択する。ステップS33における判定の結果、右目の大きさが左目の大きさよりも大きければ、右目を選択し(S37)、一方、右目の大きさが左目の大きさよりも大きくない場合には、左目を選択する(S39)。
ステップS37またはS39において右目または左目の選択を行うと、次に、選択された目が所定値よりも大きいか否かを判定する(S41)。なお、器官検出する顔の大きさや、顔の向き(上下左右)によって目の大きさがバラツクことを考慮して、所定値を十分に大きく設定する。なお、目AFの精度が目の大きさよって低下する場合があることを許容するならば、この判断ルーチンを省略してもかまわない。
ステップS41における判定の結果、目の大きさが所定値よりも大きければ、目AF枠を設定する(S43)。目AF枠を設定すると、またはステップS41における判定の結果、目の大きさが所定値よりも大きくなかった場合、またはステップS21における判定の結果、顔の大きさが所定値よりも大きくなかった場合、またはステップS25における判定の結果、器官検出が成功しなかった場合には、コントラストAFを行う(S47)。ステップS47以下における処理は、一実施形態や第1の変形例と同様であることから詳細な説明を省略する。
このようにメインフローの第2の変形例においては、顔検出を行ったのち、最大顔における目を検出し、顔の向きに応じて左右いずれかの目についてAF枠を設定するようにしている。また、顔の向きが所定角度以内の場合には、目の大きさに基づいてAF枠を設定するようにしている。すなわち、目の大きさが所定値よりも大きいと判別された場合には(S41)、選択された目の大きさと位置に対応するAF領域を設定し(S43)、一方、目の大きさが所定値よりも小さいと判別された場合には、選択された顔の位置と大きさに対応するAF領域を設定している(S10)。また、顔の大きさが所定値よりも大きいと判別された場合には(S21Yes)、選択された目の大きさと位置に対応するAF領域を設定し、一方、顔の大きさが所定値よりも小さいと判別された場合には(S21No)、選択された顔の位置と大きさに対応するAF領域を設定している(S10)。このため、撮影される人物の大きさや位置や人数や顔の向きに関わらず、迅速に顔や目に良好なピント合わせを行うことが可能となる。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択について、図9および図10を用いて説明する。図9に示す目AF枠選択のフローに入ると、まず、向かって左目の目じりと目頭の間の距離をLとし(S101)、向かって右目の目じりと目頭の間の距離をRとする(S103)。ここでは、画像処理部111が画像データに基づいて、目じりの位置と目頭の位置を検出し、検出された両位置の間を求める。
続いて、LがRより大きいか否かを判定する(S105)。ここでは、ステップS101において求めた左目の目じり目頭間距離Lと、右目の目じり目頭間距離Rを比較する。この判定の結果、LがRより大きかった場合には、向かって左目AF枠を選択する(S107)。一方、判定の結果LがRより大きくなかった場合には、向かって右目AF枠を選択する(S109)。
図10(a)に示す例では、右目の目じり目頭間距離201Rの方が、左目の目じり目頭間距離201Lよりも大きいことから、向かって右目AF枠が選択される。また、図10(b)に示す例では、右目の目じり目頭間距離202Rと、左目の目じり目頭間距離202Lがほぼ同じ距離であることから、ステップS105における判定はNoとなり、向かって右目AF枠が選択される。なお、本実施形態において、両距離がほぼ等しい場合には、右目AF枠が選択されるが、いずれの目を選択しても大差がないことから、左目AF枠を選択するようにしてもよい。さらにまた、不図示であるが、左右両方の目に測距エリアを指定して、両方の領域の演算結果によりピントを合わせるようにしても良い。ステップS107またはS109においてAF枠を選択すると、元のフローに戻る。
このように、一実施形態における目AF枠選択のフローにおいては、顔の器官検出を利用し、目じりと目頭間距離を利用してAF枠を選択している。顔検出にあたって、一般的には、目、鼻、口等の顔の中の器官検出機能を利用して行っている。このため、本フローにおいても、目を検出する際に検出した目じりや目頭の情報をそのまま利用できることから、迅速な処理が可能となる。また、目じり目頭間距離が長い方の目が一般的には近距離側にあることから、カメラに近い側の目を簡単に検出することができる。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択の第1の変形例について、図11および図12を用いて説明する。一実施形態における目AF枠選択のフローにおいては、目の大きさを算出するにあたって、目じり目頭間距離を採用していた。本変形例においては、目の大きさを算出するにあたって、瞳径を採用している。
第1の変形例に係わる図11に示すフローと一実施形態に係わる図9に示したフローと比較すると、一実施形態におけるステップS101とS103を、ステップS102とS104に置き換えている点で相違している。そこで、この相違点を中心説明し、同様の処理を行うステップについては、同一のステップ番号を付与して詳しい説明は省略する。
図11に示す目AF枠選択のフローに入ると、まず、向かって左目の瞳径をLとし(S102)、向かって右目の瞳径をRとする(S104)。ここでは、画像処理部111が画像データに基づいて、それぞれの目において瞳の位置を検出し、検出された瞳の径を求める。ステップS102、S104において瞳径を求めると、ステップS105以下において、図9におけるフローと同様にAF枠の選択を行う。
図12(a)に示す例では、右目の瞳径203Rの方が、左目の瞳径203Lよりも大きいことから、向かって右目AF枠が選択される。また、図12(b)に示す例では、右目の瞳径204Rと、左目の瞳径204Lがほぼ同じ径であることから、ステップS105における判定はNoとなり、向かって右目AF枠が選択される。なお、本実施形態においても、両瞳の径がほぼ等しい場合には、右目AF枠が選択されるが、いずれの目を選択しても大差がないことから、左目AF枠を選択するようにしてもよい。ステップS107またはS109においてAF枠を選択すると、元のフローに戻る。
このように、目AF枠選択の第1の変形例のフローにおいても、顔の器官検出を利用し、瞳径の大きさに基づいてAF枠を選択している。このため、目を検出する際に検出した瞳の情報をそのまま利用できることから、迅速な処理が可能となる。また、瞳径が大きい方の目が一般的には近距離側にあることから、カメラに近い側の目を簡単に検出することができる。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択の第2の変形例について、図13および図14を用いて説明する。一実施形態における目AF枠選択のフローにおいては、左右の目のいずれかを選択するにあたって、目じり目頭間距離を採用していた。本変形例においては、先に顔の向きを検出し、顔の向きに応じて左右の目AF枠のいずれかを選択し、顔が所定量以上の角度で向いていた場合には、目じり目頭間距離を用いて目AF枠を選択するようにしている。
第2の変形例に係わる図13に示すフローと一実施形態に係わる図9に示したフローと比較すると、本変形例においてステップS97およびS99を追加している点で相違している。そこで、この相違点を中心説明し、同様の処理を行うステップについては、同一のステップ番号を付与して詳しい説明は省略する。
図13に示す目AF枠選択のフローに入ると、まず、顔の向きの角度の絶対値が所定量より大きいか否かを判定する(S97)。ここでは、画像処理部111が、顔器官検出により、目、口元、鼻、顎、額、眉毛、眉間などのポイントを検出し、これらのポイントを繋いで、図14に示すようにワイヤーフレームを形成し、このワイヤーフレームに基づいて顔の向いている方向の角度を算出する。顔の向きの判定の際の所定量としては、図5のS33の場合と同様であり、例えば、16度程度とする。
ステップS97における判定の結果、顔の向きが所定量以内であった場合には、次に、その顔の向きが、向かって右か左かを判定する(S99)。この判定の結果、向かって右であった場合には、向かって左目AF枠を選択する(S107)。被写体の人物が向かって右側を向いていることから、左側の目がカメラ側を向いており、このため左目AF枠を選択する。一方、判定の結果、向かって右側であった場合には、向かって右目AF枠を選択する(S109)。被写体の人物が向かって左側を向いていることから、右側の目がカメラを向いており、このため右目AF枠を選択する。
顔の向きが右向きか左向きかの判断にあって、図14(a)に示す例では、額、眉間、鼻、顎を通る中心ラインが、顔の輪郭のラインに対して左側に偏っていることから、左向きと判定され、また中心ラインの偏り方に基づいて角度を算出することができる。また、図14(b)に示す例では、額、眉間、鼻、顎を通る中心ラインが、顔の輪郭のラインに対してほぼ中央にあることから、正面向きと判定される。
ステップS97における判定の結果、顔の向きが所定量より大きい場合には、一実施形態の場合と同様、目じり目頭間距離を検出し、大きな目の側をAF枠として選択する(S101〜S109)。ステップS107またはS109においてAF枠を選択すると、元のフローに戻る。なお、ステップS101およびS103は、第1の変形例におけるステップS102およびS104に置き換えても構わない。
このように、目AF枠選択の第2の変形例のフローにおいても、顔の器官検出を利用し、顔の向きを算出しAF枠を選択している。このため、顔検出する際に検出した顔器官の情報をそのまま利用できることから、迅速な処理が可能となる。特に、本変形例においては、ワイヤーフレームを用いて顔の向きを判定していることから、わずかな角度であっても検出でき、高精度のピント合わせを行うことが可能となる。また、顔の向きに応じて近距離側にある目を選択することから、カメラに近い側の目を簡単に検出することができる。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択の第3の変形例について、図15および図16を用いて説明する。本変形例においては、画面中心位置から右目と左目の位置を検出し、この検出された位置に応じて左右の目AF枠のいずれかを選択するようにしている。
図15に示す目AF枠選択のフローに入ると、まず、画面中心からの右目のx軸方向に沿っての距離をXrightとし(S111)、画面中心からの右目のy軸方向に沿っての距離をYrightとする(S113)。ここでは、画像処理部111が、画像データに基づいて画面中心位置206cを決め、この中心位置206cを基準に右目の位置、例えば、瞳の中心のx座標、y座標(Xright、Yright)を決める。
続いて、画面中心からの左目のx軸方向に沿っての距離をXleftとし(S115)、画面中心からの左目のy軸方向に沿っての距離をYleftとする(S117)。ここでは、画像処理部111が、中心位置206cを基準に左目の位置、例えば、瞳の中心のx座標、y座標(Xleft、Yleft)を決める。
ステップS111ないしS117において、右目および左目の座標を定めると、次に、カメラが正位置にあるかまたは縦位置に有るかの判定を行う(S119)。ここでは、6軸センサやジャイロ等のカメラの姿勢検知部(不図示)に基づいて、カメラが正位置(横位置)にあるか縦位置にあるかを判定する。
ステップS119における判定の結果、カメラが正位置(横位置)に有る場合には、次に、右目のx座標の値が左目のx座標の値よりも大きいか否かを判定する(S121)。カメラが正位置に有る場合には、x座標が画面中心206cよりも遠い位置にある目を選択する。
ステップS121における判定の結果、右目のx座標の値が左目のx座標の値よりも大きくない場合には、向かって左目AF枠を選択する(S125)。一方、右目のx座標の値(Xright)が左目のx座標の値(Xleft)よりも大きい場合には、向かって右目AF枠を選択する(S127)。図16に示す例では、右目位置206Rのx座標の方が大きいことから、右目AF枠が選択される。
一方、ステップS119における判定の結果、カメラが縦位置に有る場合には、次に、右目のy座標の値(Yright)が左目のy座標の値(Yleft)よりも大きいか否かを判定する(S123)。カメラが縦位置に有る場合には、y座標が画面中心206cよりも遠い位置にある目を選択する。
ステップS123における判定の結果、右目のy座標の値が左目のy座標の値よりも大きくない場合には、向かって左目AF枠を選択する(S131)。一方、右目のy座標の値が左目のy座標の値よりも大きい場合には、向かって右目AF枠を選択する(S129)。図16に示す例は、横位置であるが、仮に縦位置だとすると、右目位置206Rのy座標の方が大きいことから、右目AF枠が選択される。ステップS125ないしS131においてAF枠を選択すると、元のフローに戻る。
このように、目AF枠選択の第3の変形例のフローにおいても、顔の器官検出を利用し、顔の向きを算出しAF枠を選択している。このため、顔検出する際に検出した顔器官の情報をそのまま利用できることから、迅速な処理が可能となる。特に、本変形例においては、画面中心から目までの距離に基づいてAF枠を選択していることから、殆ど時間がかからずに処理を行うことができる。また、顔の向きに応じて近距離側にある目を選択することから、カメラに近い側の目を簡単に検出することができる。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択の第4の変形例について、図17および図18を用いて説明する。一実施形態および第1ないし第3の変形例においては、自動的に左右のいずれかの目にAF枠を選択していた。しかし、ユーザによっては予め左右いずれかの目にAF枠を選択することを望む場合もあることから、本変形例においては、予め、右目または左目に目AF枠を設定できるようにしている。
図17に、目AF枠の手動設定画面を示す。ユーザはメニュー釦(不図示)を操作し、メニュー画面からカスタマイズメニュー画面115bを開くと、その画面にファンクションボタン(Fnボタン)機能を選択でき、このFnボタン機能の下位に目AF枠選択設定のアイコンが設けられている。
今、十字釦117fを操作し、目AF枠選択設定を選択し、これをOK釦117gで確定すると、目AF枠選択設定の内の自動(AUTO)アイコンを示す自動設定画面115cが表示される。この状態で、OK釦117gを操作することにより、目AF枠の自動モードが設定される。この目AF枠自動モードが設定されると、一実施形態、第1ないし第3変形例のいずれかによって自動的に目AF枠が設定される。
自動設定画面115cの表示状態において、十字釦117fの上下キーを操作することにより、左目設定画面115dを表示させることができ、この状態でOK釦117gを操作することにより、左目AF枠設定モードとなる。このモードが設定された際に、目AF枠選択のフローに入ると、人物の左目を検出し、自動的に左目に目AF枠が設定される。
左目設定画面115dの表示状態において、十字釦117fの上下キーを操作することにより、右目設定画面115eを表示させることができ、この状態でOK釦117gを操作することにより、右目AF枠設定モードとなる。このモードが設定された際に、目AF枠選択のフローに入ると、人物の右目を検出し、自動的に右目に目AF枠が設定される。
右目設定画面115eの表示状態において、十字釦117fの上下キーを操作することにより、オフ設定画面115fを表示させることができ、この状態でOK釦117gを操作することにより、目AF枠オフモードとなる。このモードが設定されると、目AF枠の設定が禁止され、通常のAFが設定される。上述した十字釦117f等の操作部117、表示部115およびシステム制御部116によって、左右どちらかの一方の目に合わせるか、または大きいほうの目を自動選択するかを指示する指示手段が構成される。
次に、上述の如く設定された目AF枠設定のモードに応じた目AF枠選択の動作について、図18を用いて説明する。図18に示す目AF枠選択のフローに入ると、まず、目AF選択設定について判定する(S141)。ここでは、図17を用いて説明したように、自動(AUTO)モード、右目AF枠設定モード、または左目AF枠設定モードが設定されているか否かを判定する。
ステップS141における判定の結果、左目AF設定モードが選択されていた場合には、向かって左目AF枠が選択される(S145)。一方、右目AF設定モードが選択されていた場合には、向かって右目AF枠が選択される(S147)。
ステップS141における判定の結果、自動モードが設定されていた場合には、顔の向きを検出する(S143)。顔の向きの検出としては、第2の変形例に係わる図13のステップS97、S99において説明したような顔のフレームワイヤーに基づいて検出すれば良い。
ステップS143における判定の結果、顔が向かって右を向いている場合には、向かって左目AF枠が選択される(S145)。一方、顔が向かって左を向いている場合には、向かって右目AF枠が選択される(S147)。ステップS145またはS147においてAF枠を選択すると、元のフローに戻る。
このように、目AF枠選択の第4の変形例においては、ユーザが好みで予め左右いずれかの目AF枠を設定することができる。このため、ユーザの意図に沿った目にピントの合った写真を撮影することができる。なお、ステップS143において、顔の向きの検出にあたって、第2の変形例を適用した例で説明したが、これに限らず、一実施形態や他の変形例を適用するようにしても勿論かまわない。
次に、図3ないし図5に示したメインフロー中のステップS43における目AF枠選択の第5の変形例について、図19および図20を用いて説明する。本変形例においては、顔AFを行うために撮影レンズ101をスキャンする際に、右目または左目が顔全体よりも至近側にあることが判明すると、至近側にある目を目AF枠として選択する。
図19に示す目AF枠選択のフローに入ると、まず、顔AFスキャンを行う(S151)。この顔AFスキャンは、予め顔検出によって、顔全体のエリア、右目のエリア、左目のエリアを検出しておき、この状態で、撮影レンズ101を至近側から無限遠側に移動させながらエリアごとに画像データからコントラスト値を取得する。
顔AFスキャンを開始させると、撮影レンズ101の移動中に、顔枠部分のコントラストピークPfaceを取得し(S153)、右目枠部分のコントラストピークPrを取得し(S155)、左目枠部分のコントラストピークPlを取得する(S157)。撮影レンズ101を移動させながら、コントラスト値を取得することにより、図20(b)に示すようなグラフの関係を取得することができる。
すなわち、図20(a)に示すような人物を被写体とした場合、顔枠208face、右目枠208R、左目枠209Lを顔AFスキャン前に予め検出しておく。この状態で撮影レンズ101を移動させながら、AF処理部113は画像データに基づいて、各枠ごとにコントラスト値を求めると、図20(b)に示すようなコントラストカーブ209L、209face、209Rを得ることができる。これらのコントラストカーブ中で、それぞれピーク位置、すなわち顔枠部分のピークをPface、右目枠部分のピークをPr、左目枠部分のピークをPlとする。
続いて、顔枠部分のPfaceの取得が完了したか否かを判定する(S159)。顔枠部分のコントラスト209faceは、撮影レンズ101が至近側から無限遠側に移動するにつれて、次第に増加し、Pfaceを通過すると減少するので、コントラスト値が減少するとPfaceを取得することができる。この判定の結果、Pfaceの取得が完了していない場合には、ステップS151に戻り、顔AFスキャンを続行しながら、コントラストピークを求める。
ステップS159における判定の結果、Pfaceを取得すると、次に、右目枠208RのコントラストピークPrが、Pfaceよりも至近側にあるか否かを判定する(S161)。この判定の結果、PrがPfaceよりも至近側にある場合には、向かって右目に目AF枠を選択する(S171)。
ステップS161における判定の結果、PrがPfaceよりも至近側になかった場合には、次に、左目枠208LのコントラストピークPlがPfaceよりも至近側にあるか否かを判定する(S163)。この判定の結果、PlがPfaceよりも至近側にある場合には、向かって左目に目AF枠を選択する(S169)。
ステップS163における判定の結果、PlがPfaceよりも至近側になかった場合には、全ピークの取得が完了したか否かを判定する(S165)。ここでは、Pface、Pr、Plの全てのピークを取得したか否かを判定する。この判定の結果、全てのピークの取得が完了していなかった場合には、ステップS151に戻り、ピークの取得を続行する。
一方、ステップS165における判定の結果、全ピークの取得が完了した場合には、次に、PrがPlよりも至近側にあるか否かを判定する(S167)。この判定の結果、PrがPlよりも至近側にある場合には、向かって右目に目AF枠を選択する(S171)。一方、判定の結果、PrがPlよりも至近側にない場合には、向かって左目に目AF枠を選択する(S169)。ステップS169またはS171において目AF枠を選択すると、ステップS47のコントラストAFをスキップし、ステップS49にジャンプする。
このように、目AF枠選択の第5の変形例においては、顔全体のコントラスト値を取得した時点で、顔全体のコントラスト値のピーク位置と、右目枠または左目枠のコントラスト値のピーク位置を比較し、至近側にある右目枠または左目枠を目AF枠として選択している。このため、顔AFスキャンが完了する前に、目AF枠を選択することができ、目AFを迅速に処理することが可能となる。
以上説明したように、本発明の一実施形態とその変形例においては、顔の中の目や顔の位置や大きさに基づいて、最適な目または顔を選択し、AF領域を設定している。このため、撮影される人物の大きさや位置に関わらず、目に良好なピント合わせを行うことが可能となる。
なお、本発明の一実施形態とその変形例においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話や携帯情報端末(PDA:Personal Digital Assist)、ゲーム機器等に内蔵されるカメラでも構わない。
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。