図1は、本実施形態の撮像装置の構成例を示す図である。1は撮像装置である。撮像装置1は、例えばデジタルカメラである。なお、本発明は、デジタルビデオカメラやデジタル一眼レフのライブビュー時のAFにも適用可能である。2はズームレンズ群、3はフォーカスレンズ群、4はズームレンズ群2とフォーカスレンズ群3等からなる撮影光学系を透過する光束の量を制御する光量調節手段(露出手段)である絞りである。31はズームレンズ群2、フォーカスレンズ群3、絞り4を含む撮影レンズ鏡筒、5は撮影光学系を透過した被写体像が結像し、これを光電変換する固体撮像素子(以下CCDと記述)である。すなわち、CCD5は、撮影光学系により結像される被写体像を光電変換して画像信号を得る撮像手段として機能する。CCDは、Charge Coupled Deviceの略語である。なお、撮像手段が例えばCMOS(Complementary Metal Oxide Semiconductor )であってもよい。6はCCD5によって光電変換された電気信号を受けて各種の画像処理を施すことにより所定の画像信号を生成する撮像回路である。7は撮像回路6により生成されたアナログ画像信号をデジタル画像信号に変換するA(Analog)/D(Digital )変換回路である。8はA/D変換回路7が出力する画像信号を一時的に記憶するバッファメモリ等のメモリ(VRAM)である。9はVRAM8に記憶された画像信号を読み出してアナログ信号に変換するとともに、再生出力に適する形態の画像信号に変換するD/A変換回路である。10はこの画像信号を表示する液晶表示装置として機能する画像表示装置(以下LCDと記述)である。LCDは、Liquid Crystal Displayの略語である。
11は圧縮回路と伸長回路とを有する圧縮/伸長回路である。上記圧縮回路は、VRAM8に一時記憶された画像信号を読み出して記憶用メモリ12に対する記憶に適した形態にするために画像データの圧縮処理や符号化処理を施す。また、上記伸長回路は、記憶用メモリ12に記憶された画像データを再生表示等するのに最適な形態とするための復号化処理や伸長処理等を施す。12は半導体メモリ等からなる画像データを記憶する記憶用メモリである。13はA/D変換回路7からの出力を受けて自動露出(AE)処理を行うAE処理回路である。14はA/D変換回路7からの出力を受けてAF評価値を生成するスキャンAF処理回路である。AF評価値は、CPU(Central Processing Unit )15がフォーカスレンズ群3を合焦位置に移動させるAF制御の実行の際に用いる評価値である。15は撮像装置の制御を行う演算用のメモリを内蔵したCPUである。CPU15は、撮像装置全体を制御する。16は所定のタイミング信号を発生するタイミングジェネレータ(以下TGと記述)である。
17はCCDドライバである。18は絞り駆動モータ21を駆動制御する第1モータ駆動回路である。19はフォーカス駆動モータ22を駆動制御する第2モータ駆動回路である。20はズーム駆動モータ23を駆動制御する第3モータ駆動回路である。21は絞り4を駆動する絞り駆動モータである。22はフォーカスレンズ群3を駆動するフォーカス駆動モータである。23はズームレンズ群2を駆動するズーム駆動モータである。24は各種のスイッチ群からなる操作スイッチ(SW)である。25は各種制御等を行うプログラムや各種動作を行わせるために使用するデータ等が予め記憶されている電気的に書き換え可能な読み出し専用メモリであるEEPROMである。EEPROMは、Electrically Erasable and Programmable Read Only Memory の略語である。
26は電池である。27はストロボ発光部28の閃光発光を制御するスイッチング回路である。28はストロボ発光部である。29は警告表示などを行うLED(Light Emitting Diode)等の表示素子である。30は音声によるガイダンスや警告などを行うためのスピーカである。32はAF補助光部33を駆動するAF補助光駆動回路である。33はAF評価値を取得する際に被写体の全部又は一部を照明する照明手段であるAF補助光部である。AF補助光部33は、例えばLEDなどの光源を有する。34は振れ検出センサ35の信号を処理する振れ検出回路である。35は手振れ等を検出する振れ検出センサである。36はA/D変換回路7からの出力を受けて画面上での顔位置や顔の大きさなどを検出する顔検出回路である。
なお、画像データ等の記憶媒体である記憶用メモリ12は、例えば、フラッシュメモリ等の固定型の半導体メモリや、カード形状やスティック形状からなり装置に対して着脱自在に形成されるカード型フラッシュメモリ等の半導体メモリ等である。記憶用メモリ12として、ハードディスクやフロッピ−(登録商標)ディスク等の磁気記憶媒体等、様々な形態のものを適用してもよい。
また、上記操作スイッチ24は、撮像装置1を起動させ電源供給を行うための主電源スイッチや撮影動作(記憶動作)等を開始させるレリーズスイッチを含む。また、操作スイッチ24は、再生動作を開始させる再生スイッチ、撮影光学系のズームレンズ群2を移動させズームを行わせるズームスイッチを含む。また、操作スイッチ24は、光学式ファインダー(OVF)/電子ビューファインダー(EVF)切り替えスイッチを含む。レリーズスイッチは、撮影動作に先立って行われるAE処理、AF処理を開始させる指示信号を発生する第一ストローク(以下SW1)と実際の露光動作を開始させる指示信号を発生する第二ストローク(以下SW2)という二段スイッチを有する。本実施形態の撮像装置の制御方法とそのコンピュータプログラムは、図1に示す撮像装置1が備える処理部の機能によって実現される。
次に、図1に示す撮像装置1の動作について説明する。まず、絞り部4が、撮像装置1の撮影レンズ鏡筒31を透過した被写体光束の光量を調整する。この被写体光束が、CCD5の受光面に結像される。結像した被写体像は、CCD5による光電変換処理により電気的な信号に変換され撮像回路6に出力される。撮像回路6は、入力した信号に対して各種の信号処理を施し、所定の画像信号を生成する。この画像信号はA/D変換回路7に出力されデジタル信号(画像データ)に変換された後、VRAM8に一時的に格納される。VRAM8に格納された画像データは、D/A変換回路9へ出力される。D/A変換回路9が、画像データをアナログ信号に変換し、表示するのに適した形態の画像信号に変換する。そして、LCD10がこの画像信号を画像として表示する。一方、VRAM8に格納された画像データは圧縮/伸長回路11にも出力される。圧縮/伸長回路11が有する圧縮回路が画像データの圧縮処理を実行した後、圧縮処理後の画像データを記憶に適した形態の画像データに変換し、記憶用メモリ12に記憶する。
また、例えば、操作スイッチ24のうち不図示の再生スイッチが操作されてオン状態になると、再生動作が開始する。再生動作が開始すると、記憶用メモリ12に圧縮された形で記憶された画像データが圧縮/伸長回路11に出力され、伸長回路において復号化処理や伸長処理等が施された後、VRAM8に出力され一時的に記憶される。更に、この画像データはD/A変換回路9へ出力される。D/A変換回路9は、画像データをアナログ信号に変換し、表示するのに適した形態の画像信号に変換する。そして、LCD10が、画像信号を画像として表示する。
他方、A/D変換回路7によってデジタル化された画像データは、AE処理回路13、スキャンAF処理回路14及び顔検出回路36に対しても出力される。AE処理回路13は、入力されたデジタル画像信号を受けて、一画面分の画像データの輝度値に対して累積加算等の演算処理を実行する。これにより、被写体の明るさに応じた評価値であるAE評価値が算出される。このAE評価値はCPU15に出力される。スキャンAF処理回路14は、AF領域に相当する画像データの高周波成分をハイパスフィルター(HPF)等を介して抽出し、更に累積加算等の演算処理を行う。このAF領域は、後述するAF枠内の領域であって、例えば、画面の中央部分又は画面上の任意の部分に対応する領域である。スキャンAF処理回路14が画像データの高周波成分について累積加算等をすることによって、高域側の輪郭成分量等に対応するAF評価値が算出される。すなわち、スキャンAF処理回路14は、AF処理を行う過程において、CCD5によって生成された画像信号から所定の高周波成分を検出する機能を有する。
顔検出回路36は、A/D変換回路7が出力したデジタル画像信号を受けて、目、眉などの顔を特徴付ける部分を画像上で探索し、人物の顔の画像上での位置を求める。また、顔検出回路36は、顔を特徴付ける部分の間隔などの位置関係に基づいて、顔の大きさや傾き等を求める。
TG16は、所定のタイミング信号をCPU15、撮像回路6、CCDドライバ17へ出力する。CPU15は、このタイミング信号に同期させて各種の制御を行う。また、撮像回路6は、TG16からのタイミング信号を受け、これに同期させて色信号の分離等の各種画像処理を行う。また、CCDドライバ17は、TG16のタイミング信号を受け、これに同期してCCD5を駆動する。
また、CPU15は、第1モータ駆動回路18、第2モータ駆動回路19、第3モータ駆動回路20をそれぞれ制御する。これにより、CPU15は、絞り駆動モータ21、フォーカス駆動モータ22、ズーム駆動モータ23を介して、絞り4、フォーカスレンズ群3、ズームレンズ群2を駆動制御する。すなわち、CPU15は、AE処理回路13が算出したAE評価値等に基づいて、第1モータ駆動回路18を制御して絞り駆動モータ21を駆動し、絞り4の絞り量を適正になるように調整するAE制御を行う。また、CPU15は、スキャンAF処理回路14において算出されるAF評価値に基づいて、第2モータ駆動回路19を制御してフォーカス駆動モータ22を駆動し、フォーカスレンズ群3を合焦位置に移動させるAF制御を行う。また、操作スイッチ24が有するズームスイッチが操作された場合に、CPU15は、第3モータ駆動回路20を制御してズーム駆動モータ23を駆動制御することによりズームレンズ群2を移動させ、撮影光学系の変倍動作(ズーム動作)を行う。
本実施形態に特有の動作として、CPU15は、CCD5によって得られる画像信号に基づいて合焦位置を検出する処理を行う制御手段として機能する。CPU15は、合焦位置の検出に用いる画像信号を得るための所定の画像信号取得用領域を含むAF枠を複数設定する。AF枠は、例えば、画面の中央部分とこの中央部分に隣接する複数の領域の各々に対して設定される。CPU15が、ユーザによって指定された任意の部分の領域とこの領域に隣接する複数の領域の各々に対してAF枠を設定してもよい。また、CPU15が、離散的に分布する複数の領域の各々に対してAF枠を設定してもよい。CPU15は、AF枠の内部に点光源被写体が存在するか否かを判断する処理を行う。内部に点光源被写体が存在しないAF枠がある場合に、CPU15は、以下の処理を行う。CPU15は、焦点調整手段であるフォーカスレンズ群3を所定の移動間隔で駆動させながら、該内部に点光源被写体が存在しないAF枠から、フォーカスレンズ群3の停止位置毎に、AF評価値を第1の合焦位置検出用評価値として取得する。AF評価値は画像信号の合焦位置検出用評価値である。CPU15は、取得したAF評価値を用いて合焦位置を検出し、AF処理を実行する。なお、フォーカスレンズ群3を駆動しながらAF評価値を取得する動作をスキャン、AF評価値を取得するフォーカスレンズの位置の間隔(移動間隔)をスキャン間隔、AF評価値を取得する数をスキャンポイント数という。また、AF評価値を取得する範囲をスキャン範囲という。
図2は、実施例1の撮像装置の全体動作処理フローの例を示す図である。撮像装置1の主電源スイッチがオン状態であり、かつ撮像装置1の動作モードが撮影(録画)モードにある場合は、撮影処理シーケンスが実行され、CCD5等に電源を供給して、撮像を可能にする。
まず、CPU15が、撮影レンズ鏡筒31を透過しCCD5上に結像した像をLCD10に画像として表示する(ステップS1)。具体的には、CCD5が、CCD5上に結像した被写体像を光電変換処理して電気的な信号に変換した後、撮像回路6に出力する。撮像回路6が、CCD5から入力した信号に対して各種の信号処理を施し、所定の画像信号を生成してA/D変換回路7に出力する。A/D変換回路7が、出力された画像信号をデジタル信号(画像データ)に変換し、VRAM8に一時的に格納する。VRAM8に格納された画像データは、D/A変換回路9へ出力されてアナログ信号に変換される。また、D/A変換回路9は、画像データを表示に適した形態の画像信号に変換する。そして、LCD10が、画像信号を画像として表示する。
次に、CPU15が、レリーズスイッチの状態を確認し、ユーザの操作によってSW1(レリーズスイッチの第一ストローク)がオン状態になったかを判断する(ステップS2)。SW1がオン状態になっていない場合は、ステップS2に戻る。SW1がオン状態になった場合は、CPU15が、通常のAE処理を実行する(ステップS3)。これにより、適正露光量が求められる。次に、CPU15及びスキャンAF処理回路14がスキャンAF処理を実行する(ステップS4)。スキャンAF処理は、AF枠内に点光源が存在するか否かについての判断結果に応じたAF処理である。スキャンAF処理の詳細については図3等を参照して後述する。
スキャンAF処理においては、後述する図3のS307において、AF枠から得られる画像信号に基づいて合焦位置が検出されるかが判断される。従って、CPU15は、合焦位置が検出されるかについての判断結果に応じて、AF表示を行う(ステップS5)。AF表示は、AFOK表示又はAFNG表示である。AFOK表示は、AF枠から得られる画像信号に基づいて合焦位置が検出されることを示す表示である。AFNG表示は、AF枠から得られる画像信号に基づいて合焦位置が検出されないことを示す表示である。例えば、CPU15は、LED29を点灯すると同時に、LCD10上に緑の枠を表示することによってAFOK表示を実行する。また、例えば、CPU15は、LED29を点滅表示すると同時に、LCD10上に黄色の枠を表示することによって、AFNG表示を実行する。次に、CPU15が、SW2(レリーズスイッチの第二ストローク)を確認し、SW2がオン状態であるかを判断する(ステップS6)。SW2がオン状態でない場合はステップS6に戻る。SW2がオン状態である場合は、CPU15が、実際の露光処理を実行する(ステップS7)。
図3は、図2のステップS4におけるスキャンAF処理の詳細を説明する図である。ここで、CPU15は、図6(A)に示すように、画面の中央部分とそれに隣接する複数箇所にAF枠を設定するものとする。なお、図6(A)中の00枠、01枠、02枠、10枠、11枠、12枠、20枠、21枠、22枠に対応するそれぞれのAF枠を、AF00枠、AF01枠、AF02枠、AF10枠、AF11枠、AF12枠、AF20枠、AF21枠、AF22枠と記述する。
まず、CPU15が、顔検出回路36による顔検出結果に基づいて、被写体の顔の検出に成功したかを判断する(ステップS301)。すなわち、CPU15は、CCD5によって得られる画像信号に基づいて、被写体の顔が検出されるかを判断する。CPU15は、所定の大きさ以上の顔が検出されている場合は顔の検出に成功したと判断する。顔の検出に成功した場合は、CPU15は、通常のAF処理を行う(ステップS320)。顔が検出されていないか、又は顔が検出されていても顔の大きさが所定の大きさ未満である場合は、AF枠内に点光源被写体が入る可能性がある。本実施形態においては、CPU15は、顔が検出された場合のAF枠の大きさを顔の大きさに一致させるので、通常はAF枠内に点光源被写体が入ることは無い。しかし、AF枠が小さいと、AF評価値を取得する際の信号量が減り精度の良いAF処理を実行できないので、AF枠の大きさに下限が設けられている。このため、検出された顔の大きさが小さい場合には、AF枠内に点光源被写体が入る可能性がある。従って、顔が検出されていないか、又は顔が検出されていても顔の大きさが所定の大きさ未満である場合は、CPU15は、顔の検出に失敗したと判断して、ステップS302に進む。
次に、CPU15が、図2のステップS3におけるAE処理の結果に基づいて、所定の輝度より低輝度での撮影か否かを判断する(ステップS302)。すなわち、CPU15は、被写体の顔が検出される場合に、撮影光学系から入射する光の明るさが所定の値より小さいかを判断する。所定の輝度より高輝度での撮影である場合は、ステップS320に進む。所定の輝度より低輝度での撮影である場合は、CPUは、点光源被写体判定処理を行う(ステップS303)。点光源被写体判定処理は、各AF枠内に点光源被写体が存在するか否かを判定する処理である。すなわち、CPU15は、撮影光学系から入射する光の明るさが所定の値より小さい場合に、AF枠の内部に点光源被写体が存在するか否かを判断する。
CPU15が、全てのAF枠に点光源被写体が存在するかを判断する(ステップS304)。CPU15が、全てのAF枠に点光源被写体が存在すると判断した場合は、CPU15は、通常のAFでは焦点調整ができないと判断し、ステップS309に進む。ステップS309において、CPU15が、撮影画像サイズが所定のサイズより小さいかを判断する(ステップS309)。撮影画像サイズが所定のサイズより小さい場合、CPU15は、フォーカスレンズ群3を過焦点位置に制御する。過焦点位置は、無限遠を被写界深度の遠側に含む最も近距離のフォーカスレンズ位置である。撮影画像サイズが所定のサイズより大きい場合、CPU15は、露光量を適正露出よりも減らしてAF処理を行い(ステップS310)、ステップS307に進む。すなわち、CPU15は、設定された複数のAF枠の全ての内部に点光源被写体がある場合に、露光量を減らし、設定された全てのAF枠から得られる画像信号のAF評価値を用いて合焦位置を検出する。
CPU15が、いずれかのAF枠内に点光源被写体が存在せず、従って、通常のAFで焦点調整が可能と判断した場合は、CPU15が、以下の処理を行う。CPU15が、中央のAF枠で通常AFが可能であるか、すなわち、中央のAF枠内に点光源がないかを判断する(ステップS305)。中央のAF枠で通常AF処理が可能でない場合はステップS309に進む。中央のAF枠で通常AF可能である場合はステップS306に進む。なお、ステップS305において、CPU15が、ユーザが設定した画面上の任意のAF枠で通常AFが可能であるかを判断するようにしてもよい。
ステップS306において、CPU15が、通常AF処理が可能であると判断されたAF枠のみを用いて通常AF処理を実行し(ステップS306)、ステップS307に進む。上記通常AF処理については、図7を参照して後述する。ステップS307において、CPU15が、全てのAF枠でAFNGか、すなわち、全てのAF枠について、AF枠から得られる画像信号に基づいて合焦位置が検出されないかを判断する(ステップS307)。全てのAF枠でAFNGである場合は、ステップS311に進む。AF枠から得られる画像信号に基づいて合焦位置が検出されるAF枠がある場合は、CPU15が、検出された合焦位置のうち所定のアルゴリズムに従って選択された合焦位置へフォーカスレンズ群3を制御する(ステップS308)。このアルゴリズムは、例えば、参考文献1(特許第2620235号公報)に開示されている。この参考文献1に開示されたアルゴリズムは、前方障害物ではないと判断されるもののうち最も近側の合焦位置を選択する。
図4は、図3のステップS303における点光源被写体判定処理の例を説明する図である。この例では、図6(A)に示すAF枠が設定されているものとする。CPU15は、図6(A)に示すAF枠内の輝度分布(ヒストグラム)を測定し、該輝度分布に基づいて、点光源被写体がそのAF枠内(画像信号取得用領域内)に存在するか否かを判定する。
まず、CPU15が、ヒストグラムをとるAF枠の枠位置を1枠目(図6(A)のAF00枠)に設定する(ステップS401)。次に、CPU15が、設定されたAF枠内のヒストグラムをとる(ステップS402)。具体的には、CPU15は、ヒストグラムをとるAF枠内の各々の画素について画素の輝度値を測定し、その輝度値の画素がいくつ存在するかを求める。
次に、CPU15は、ヒストグラムに基づいて、所定輝度値より低い輝度の画素数を求め、これをNumBlightLowとする(ステップS403)。続いて、CPU15が、ヒストグラムに基づいて、所定輝度値より高い輝度の画素数を求め、これをNumBlightHighとする(ステップS404)。次に、CPU15が、ヒストグラムYpを求める(ステップS405)。ヒストグラムYpは、有効輝度値の最大値である。有効輝度値は、図5のステップS505において有効であると判断される輝度値である。次に、CPU15が、ヒストグラムMMを求める(ステップS406)。ヒストグラムMMは、有効輝度値の最大値と最小値の差である。ヒストグラムMMの大きさは、コントラストの高さを示す。続いて、CPU15が、低輝度画素数(NumBlightLow)と高輝度画素数(NumBlightHigh)の和が所定画素数(NumHighLowPixs)を超えるかを判断する(ステップS407)。NumBlightLowとNumBlightHighの和がNumHighLowPixs以下である場合はステップS412に進む。NumBlightLowとNumBlightHighの和がNumHighLowPixsを超える場合は、ステップS408に進む。
ステップS408において、CPU15が、高輝度画素数(NumBlightHigh)が所定画素数(NumHighPixs)を超えるかを判断する(ステップS408)。NumBlightHighがNumHighPixs以下である場合は、ステップS412に進む。NumBlightHighがNumHighPixsを超える場合は、ステップS409に進む。ステップS409において、CPU15が、ヒストグラムYpが所定値(Yp0)を超えるかを判断する(ステップS409)。ヒストグラムYpがYp0以下である場合は、ステップS412に進む。ヒストグラムYpがYp0を超える場合は、ステップS410に進む。ヒストグラムYpがYp0を超える場合は、ステップS410に進む。ステップS410において、CPU15が、ヒストグラムMMが所定値(MM0)を超えるかを判断する(ステップS410)。ヒストグラムMMがMM0以下である場合は、ステップS412に進む。ヒストグラムMMがMM0を超える場合は、CPU15が、AF枠内に点光源被写体が存在すると判断し(ステップS410)、ステップS412に進む。すなわち、CPU15は、以下の(1)乃至(4)の条件が全て満たされる場合に、AF枠内に点光源被写体が存在すると判断する。
(1)AF枠内の画素のうち、所定の輝度値より高い第1の輝度値を有する画素の数が第1の所定の個数を超えている。
(2)上記第1の輝度値を有する画素の数と、上記所定の輝度値より低い第2の輝度値を有する画素の数の和が第2の所定の個数を超えている。
(3)有効輝度値の最大値が所定値を超えている。
(4)有効輝度値の最大値と最小値との差が所定値を超えている。
次に、CPU15は、全てのAF枠について点光源被写体判定処理が終了したかを判断する(ステップS412)。全てのAF枠について点光源被写体判定処理が終了した場合は、図3のステップS304に進む。点光源被写体判定処理が終了していないAF枠がある場合は、次のAF枠(例えば、図6(A)のAF01枠)の処理に進む(ステップS413)。すなわち、処理がステップS402に戻る。
図5は、図4のステップS405,S406におけるヒストグラムYp、ヒストグラムMMを求める処理を説明する図である。まず、CPU15が、ヒストグラムをとるAF枠内の総画素数であるNumHistPixsを求める(ステップS501)。続いて、CPU15が、ThrNumHistを求める(ステップS502)。ThrNumHistは、各々の輝度値に対応する画素数に関する閾値であって、CPU15が、該画素数が有効であるか否かを判断するために用いる閾値である。具体的には、CPU15は、NumHistPixsとThrRatioの積をとることによって、ThrNumHistを求める。ThrRatioは、NumHistPixsのうち、有効であると判断される画素数の割合である。ThrRatioは予め決められている。CPU15がThrNumHistを求めるのは、画素数がThrNumHistに満たない輝度値をノイズ等による見せかけのものと判断して、ヒストグラムYp、ヒストグラムMMを求める際に用いないようにするためである。
次に、CPU15が、輝度値を0に初期化する(ステップS503)。そして、CPU15が、輝度値が有効な輝度値であるか否かの判断処理を輝度値0から順に開始する。CPU15が、処理対象の輝度値の画素数がThrNumHist以上であるかを判断する(ステップS504)。処理対象の輝度値の画素数がThrNumHist以上でない場合は、CPU15は、この輝度値を無効な輝度値であると判断して、ステップS506に進む。処理対象の輝度値の画素数がThrNumHist以上である場合は、CPU15は、この輝度値を有効であると判断し、この輝度値を有効輝度値とする(ステップS505)。
次に、CPU15が、処理対象の輝度値が輝度値の最大値である255であるかを判断する(ステップS506)。処理対象の輝度値が255でない場合は、CPU15は、次の輝度値を処理対象の輝度値として(ステップS507)、ステップS504に戻る。処理対象の輝度値が255である場合はステップS508に進む。
ステップS508において、CPU15が、有効輝度値の最大値と最小値とを求める(ステップS508)。そして、CPU15が、有効輝度値の最大値をヒストグラムYpとして決定する(ステップS509)。また、CPU15が、有効輝度値の最大値と最小値との差をヒストグラムMMとして決定し(ステップS510)、図4のステップS407に進む。
ここで、図7を用いて、図3のステップS320、S306、S310において行われる通常AF処理について説明する。CPU15は、CCD5によって生成された画像信号に基づいて算出されるAF評価値(第1の合焦検出用信号)が最も高くなるフォーカスレンズ群3の位置を合焦位置として検出することによって、AF処理を実行する。CPU15は、フォーカス駆動モータ22を駆動制御する第2モータ駆動回路19を介してフォーカス駆動モータ22を制御する。これによって、CPU15は、フォーカスレンズ群3を無限遠に相当する位置(図7中の点A)から各々の撮影モードにおいて設定される至近距離に相当する位置(図7中の点B)にまで駆動する。
CPU15は、フォーカスレンズ群3を駆動させながらスキャンAF処理回路14の出力(AF評価値)を取得する。軌跡90は、フォーカスレンズ群3の位置に対応するAF評価値を示す。すなわち、スキャンAF処理回路14が、AF枠内の領域であるAF領域に対応する画像データに基づいてAF評価値を算出し、CPU15が、このAF評価値を取得する。CPU15は、フォーカスレンズ群3の駆動が終了した時点で取得したAF評価値が最大になる位置(図7中の点C)を求め、その位置にフォーカスレンズ群3を駆動する。CPU15は、スキャンAFの高速化のために、全てのフォーカスレンズ群3の停止位置についてはスキャンAF処理回路14の出力を取得せず、所定のステップ毎にスキャンAF処理回路14の出力を取得する。例えば、CPU15が、図7中の点a1、a2、a3の各々に対応するAF評価値を取得したものとする。点a1、a2、a3は、AF評価値を取得するフォーカスレンズ群3の位置に対応する点である。CPU15は、各々の点に対応するフォーカスレンズ群3の位置と、各々の点において取得されたAF評価値とを用いて、補間計算を行なって、合焦位置Cを求める。すなわち、CPU15は、補間計算を行って、AF評価値が最大値となる点Cに対応するフォーカスレンズ群3の位置を合焦位置として求める(検出する)。
CPU15は、合焦位置を求める前に、公知の技術を用いて、AF評価値の信頼性を評価する。CPU15は、例えば、参考文献2(特許第4235422号公報)に開示されている技術を用いてAF評価値の信頼性の評価を実行する。
CPU15は、図3のステップS320における通常AF処理を以下のようにして実行する。CPU15は、各AF枠についてAF評価値の信頼性が十分である場合に、AF評価値が最大値となる点を求める。AF評価値の信頼性が十分でないAF枠に関しては、CPU15は、AF評価値信号が最大値となる点を求める処理は行わない。CPU15は、いずれかのAF枠に対応するAF評価値の信頼性が十分である場合に、合焦位置を求める。従って、この場合には、図2のステップS5において、CPU15は、AFOK表示を行う。CPU15は、全てのAF枠についてAF評価値の信頼性が低い場合には、合焦位置を求めない。従って、この場合には、図2のステップS5において、CPU15は、AFNG表示を行う。CPU15は、図3のステップS306においては、通常AF処理が可能であると判断したAF枠のみで上記ステップS320におけるAF処理と同様のAF処理を行う。
CPU15は、図3のステップS310においては、露光量を適正露出よりも減らして、上記ステップS320におけるAF処理と同様のAF処理を行う。CPU15は、上記減らす露光量を、点光源被写体に対応する画素数の総画素数に対する比率に応じて変える。具体的には、CPU15は、所定輝度値より高い輝度の画素数であるNumBlightHighの総画素数に対する比率に応じて、以下に示すNumBlightHighの比率と露光量を減らす量との対応関係に従って、露光量を減らす。
NumBlightHighの比率 露光量を減らす量
50%以上 0段(露光量を適正露出より減らさない)
25%以上50%未満 1段
12.5%以上25%未満 2段
6.25%以上12.5%未満 3段
3.125%以上6.25%未満 4段
1.5625%以上3.125%未満 5段
1.5625%未満 6段
点光源被写体が総画素数の50%程度以上を占める場合は、点光源被写体に対してAE処理がなされているので、点光源被写体に対する露光量は適正であり、そのため飽和画素はほとんど存在しない。点光源被写体が減少していくに従い、画面全体に対して適正な露光量を得ようとするため、点光源被写体以外の暗い部分の影響を受け露光量は増加し、点光源被写体にとっては露光量がオーバーの状態となる。従って、その分の露光量を減らせば、点光源被写体に対する露光量は適正になる。以上より、CPU15は、高輝度画素の比率が50%以上の場合は露光量を減らさず、高輝度画素の比率が減少するに従い露光量を減らしていく。例えば、CPU15は、高輝度画素の比率が半減した場合に1段分露光量を減らすようにする。なお、CPU15は、露光量を適正露出より減らしてAF処理を行う時もEVF表示はゲインアップして適正にする。
なお、ユーザによってAF枠の位置が指定された場合は、CPU15は、その位置が指定されたAF枠を中央のAF枠としてスキャンAF処理を行う。すなわち、CPU15は、位置が指定されたAF枠の周りに8つのAF枠を作成し、合わせて9枠のAF枠を設定した上で、スキャンAF処理処理を行う。実施例1の撮像装置1によれば、点光源被写体と照明された通常被写体が混在する場合においても、正確な焦点調整をすることができる。
次に、実施例2について説明する。実施例2の撮像装置は、実施例1の撮像装置と異なり、CPU15が、AF枠とは別に、AE処理においてヒストグラムをとる枠(ヒストグラム枠)を複数設定する。ヒストグラム枠は、輝度分布測定用の領域を含む。例えば、CPU15は、図6(A)に示すAF枠を設定するとともに、図6(B)に示すヒストグラム枠を設定する。なお、図6(B)中の1枠、2枠、3枠、4枠に対応するそれぞれのヒストグラム枠を、ヒストグラム1枠、ヒストグラム2枠、ヒストグラム3枠、ヒストグラム4枠と記述する。AF枠とヒストグラム枠との位置関係(対応関係)は図6(C)のようになる。AE処理回路13は、設定されたヒストグラム枠に対応する画像データに基づいて、各々のヒストグラム枠についてヒストグラム(輝度分布)をとり、このヒストグラムに基づいて、AE評価値を算出する。
図8は、実施例2の撮像装置のスキャンAF処理フローを説明する図である。図8に示す処理フローに含まれるステップのうち、図3に示す処理フローに含まれるステップと同一のステップ番号が付されたステップについては、図3に示す処理フローに含まれるステップと同様である。実施例2においては、CPU15は、ヒストグラム枠を用いて点光源被写体判定処理を行う(ステップS800)。具体的には、CPU15は、図4を参照して説明した点光源被写体判定処理と同様の処理によって、ヒストグラム枠内(輝度分布測定用の領域内)に点光源被写体があるかを判断する。すなわち、CPU15は、ヒストグラム枠内すなわち輝度分布測定用の領域内の輝度分布に基づいて、ヒストグラム枠内に点光源被写体があるかを判断する。CPU15が、全てのヒストグラム枠に点光源被写体が存在するかを判断する(ステップS801)。CPU15が、全てのヒストグラム枠に点光源被写体が存在すると判断した場合は、ステップS309に進む。CPU15が、いずれかのヒストグラム枠内に点光源被写体が存在しないと判断した場合は、CPU15は、通常のAFで焦点調整が可能なAF枠が存在する可能性があると判断して、ステップS802へ進む。そして、CPU15が、各AF枠の有効性を判断する(ステップS802)。AF枠の有効性の判断は、各々のAF枠が通常のAFで焦点調整が可能であるかに関する判断である。通常のAFで焦点調整が可能であると判断されたAF枠が、CPU15が合焦位置の検出に用いるAF枠である。
具体的には、CPU15が、各AF枠が通常のAFで焦点調整が可能であるかを、以下のようにして判断する。CPU15は、AF00枠については、ヒストグラム1枠に点光源被写体を含まなければ、通常のAFで焦点調整が可能である、すなわちAF枠が有効であると判断する。CPU15は、AF01枠については、ヒストグラム1枠とヒストグラム2枠とが点光源被写体を含まなければ有効であると判断する。CPU15は、AF02枠については、ヒストグラム2枠に点光源被写体を含まなければ有効であると判断する。CPU15は、AF10枠については、ヒストグラム1枠とヒストグラム3枠が点光源被写体を含まなければ有効であると判断する。CPU15は、AF11枠については、4つのヒストグラム枠のうち3つが点光源被写体を含まなければ有効であると判断する。CPU15は、AF12枠については、ヒストグラム2枠とヒストグラム4枠が点光源被写体を含まなければ有効であると判断する。CPU15は、AF20枠については、ヒストグラム3枠に点光源被写体を含まなければ有効であると判断する。CPU15は、AF21枠については、ヒストグラム3枠とヒストグラム4枠とが点光源被写体を含まなければ有効であると判断する。CPU15は、AF22枠については、ヒストグラム4枠に点光源被写体を含まなければ有効であると判断する。
実施例2においては、CPU15が、ヒストグラム枠を複数設定し、ヒストグラム枠内の輝度分布に基づいて、ヒストグラム枠内に点光源被写体が存在するかを判断する。そして、CPU15が、該判断結果と、ヒストグラム枠とAF枠との対応関係とに基づいて、合焦位置の検出に用いるAF枠を決定する。従って、実施例2の撮像装置1によれば、AF枠の設定とヒストグラム枠の設定とが異なる場合でも、点光源被写体と照明された通常被写体が混在するときに正確な焦点調整を実行することができる。
図9は、実施例3の撮像装置のスキャンAF処理フローを説明する図である。図9に示す処理フローに含まれるステップのうち、図3に示す処理フローに含まれるステップと同一のステップ番号が付されたステップは、図3に示す処理フローに含まれるステップと同様である。実施例3においては、ステップS901において、CPU15が、所定の個数(例えば、AF枠の総数の3分の2の個数)以上のAF枠に点光源被写体があるかを判断する(ステップS901)。所定の個数以上のAF枠に点光源被写体がある場合は、ステップS309に進む。点光源被写体があるAF枠の数が所定の個数未満である場合は、ステップS305に進む。また、実施例2においては、ステップS902において、CPU15が、所定の個数(例えばAF枠の総数の3分の1の個数)以上のAF枠に点光源被写体があるかを判断する(ステップS902)。CPU15が、所定の個数以上のAF枠に点光源被写体があると判断した場合はステップS309に進む。CPU15が、点光源被写体があるAF枠の数が所定の個数未満であると判断した場合はステップS306に進む。
すなわち、CPU15は、内部に点光源被写体が存在するAF枠が所定の個数未満である場合に、内部に点光源被写体が存在しないAF枠からAF評価値(第1の合焦位置検出用評価値)を取得し、このAF評価値を用いて合焦位置を検出する(図9のS306)。また、CPU15は、内部に点光源被写体が存在するAF枠が所定の個数以上である場合に、露光量を減らし、設定された全てのAF枠から得られる画像信号のAF評価値を用いて合焦位置を検出する(図9のS310)。実施例3の撮像装置1によれば、点光源被写体があるAF枠の数に応じて、露光量を減らして通常AF処理をするか、または通常AF処理が可能であるAF枠のみで通常AF処理を行うかを切り替えることができる。
次に、実施例4について説明する。実施例4の撮像装置の全体動作処理フローは、図2に示す全体処理フローと同様である。
図10は、実施例4の撮像装置のスキャンAF処理フローを説明する図である。図10に示す処理フローに含まれるステップのうち、図3に示す処理フローに含まれるステップと同一のステップ番号が付されたステップは、図3に示す処理フローに含まれるステップと同様である。実施例3においては、図10のステップS304の判断処理で、CPU15が、全てのAF枠に点光源被写体が存在すると判断した場合は、CPU15は、通常のAFでは焦点調整ができないと判断し、ステップS1001に進む。CPU15が、通常のAF処理(例えばステップS306におけるAF処理)においてAF評価値の取得に用いるスキャン間隔より粗い(大きい)スキャン間隔でスキャン(粗スキャン)を行うことを通じてAF処理を実行する(ステップS1001)。すなわち、CPU15は、通常AFにおいてAF評価値を取得するためのフォーカスレンズ群3の移動間隔より大きいスキャン間隔でフォーカスレンズ群3を駆動させながら、全てのAF枠から、画像信号のAF評価値(第2の合焦位置検出用評価値)を取得する。これにより、概略の合焦位置を求めることができる。
そして、CPU15は、露光量を適正露出よりも減らし、上記ステップS1001において取得されたAF評価値のピークに対応するフォーカスレンズ群3の位置を中心とした所定の移動範囲を対象として、以下の処理を行う。CPU15は、通常のAF処理においてAF評価値の取得に用いるスキャン間隔より細かい(小さい)スキャン間隔でフォーカスレンズ群3を駆動させながら、全てのAF枠から、画像信号のAF評価値(第3の合焦位置検出用評価値)を取得する(細スキャンする)。そして、CPU15は、取得したAF評価値を用いて合焦位置を検出する(ステップS1002)。
図11は、図10のステップS1001、S1002において行われるAF処理を説明する図である。CPU15は、CCD5によって生成された画像信号から出力される高周波成分(AF評価値)が最も大きくなるフォーカスレンズ群3の位置を求めることを通じて、AF処理を実行する。但し、点光源被写体がAF枠内に存在する場合は、点光源被写体が飽和被写体となる。従って、CPU15が適正露光量でスキャンすると、スキャンAF処理回路14で検出される高周波成分は、合焦位置では最大とならない。軌跡100は、点光源被写体がAF枠内に存在する場合に適正露光量でスキャンされたときの、フォーカスレンズ位置に対応するAF評価値の軌跡である。軌跡100に示すように、合焦位置では最大とならず合焦位置より多少ボケた位置で、AF評価値が合焦位置の値より大きくなる。
CPU15は、図10のステップS1001におけるAF処理を以下のようにして実行する。すなわち、CPU15は、図2のステップS3のAE処理で求められた適正露光量を用い、通常のAF処理においてAF評価値の取得に用いるスキャン間隔より粗いスキャン間隔でスキャンする。CPU15は、例えば、通常のAF処理においてAF評価値の取得に用いるスキャン間隔の2倍から3倍の間隔のスキャン間隔でスキャンする。
CPU15は、フォーカス駆動モータ22を駆動制御する第2モータ駆動回路19を介してフォーカス駆動モータ22を制御する。CPU15は、フォーカスレンズ群3を無限遠に相当する位置(図11中の点A)から各々の撮影モードにおいて設定される至近距離に相当する位置(図11中の点B)まで駆動する。CPU15は、フォーカス駆動モータ22を駆動させながらAF評価値信号を取得し、フォーカスレンズ群3の駆動が終了した時点で取得したAF評価値信号が最大になるフォーカスレンズ群3の位置(図11中の点Cに対応する位置)を求める。点Cに対応する位置が、概略の合焦位置である。
CPU15は、スキャンAFの高速化のために、フォーカスレンズ群3の全ての停止位置についてAF評価値信号の取得を行うのではなく、所定の停止位置で取得されたAF評価値に基づいて補間計算を行って、概略の合焦位置を求める。例えば、CPU15が、図11中の点a1、a2、a3の各々に対応するAF評価値を取得したものとする。点a1、a2、a3は、AF評価値を取得するフォーカスレンズ群3の位置に対応する点である。CPU15は、各々の点に対応するフォーカスレンズ群3の位置と、各々の点において取得されたAF評価値とを用いて、補間計算を行なって、概略の合焦位置を求める。なお、CPU15は、図7を参照して前述したAF処理と同様に、AF評価値信号が最大値となる点(図11中の点C)を求める前に、AF枠全てに対してAF評価値信号の信頼性を評価する。
CPU15は、図10のステップS1002におけるAF処理を以下のようにして実行する。CPU15は、露光量を適正露出よりも減らし(アンダー露光量とし)、図10のステップS1001のAF処理で求められたAF評価値のピークに対応する位置(概略の合焦位置)を中心にした所定の範囲を対象として以下の処理を行う。CPU15は、通常のAF処理においてAF評価値の取得に用いるスキャン間隔より細かいスキャン間隔でスキャンする。
CPU15は、フォーカス駆動モータ22を駆動制御する第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3を以下の範囲において駆動する。すなわち、CPU15は、図11中の点Cから所定の量無限遠方向にシフトした位置(図11中の点a)を駆動開始点として、フォーカスレンズ群3を、点Cから所定の量至近方向にシフトした位置(図11中の点b)まで駆動する。CPU15は、図11中の点Cからシフトする所定の量を、点光源被写体が存在する場合の真の合焦位置と、点光源の飽和によりAF評価値信号が最大値となるフォーカスレンズ群3の位置の差に設定する。点光源被写体が存在する場合の真の合焦位置は、点光源被写体が飽和しないように露光量を制御した場合にAF評価値信号が最大値となるフォーカスレンズ群3の位置である。
CPU15は、フォーカスレンズ群3を駆動させながらアンダー露光量を用いてAF評価値信号を取得する。図11中の軌跡101が、アンダー露光量を用いたAF処理によって得られるAF評価値の軌跡である。CPU15は、フォーカスレンズ群3の所定の停止位置で取得したAF評価値に基づいて、AF評価値が最大になる位置(図11中の点cに対応する位置)を補間計算によって求め、求めた点を合焦位置とする。CPU15は、合焦位置にフォーカスレンズ群3を駆動する。CPU15は、図7を参照して前述したAF処理と同様に、AF評価値信号が最大となる位置を求める前に、AF枠全てに対して、AF評価値信号の信頼性を評価する。なお、CPU15が、図3のステップS310における露光量を減らす処理と同様の方法を用いて、図10のステップS1002において減らす露光量を、点光源被写体に対応する画素数の総画素数に対する比率に応じて変えるようにしてもよい。
以下に、上述した図10のステップS1002のAF処理におけるスキャン範囲・スキャン間隔の決定方法について説明する。CPU15は、合焦位置からAF評価値信号が増加する範囲がどの程度かに応じて、スキャン範囲を定める。AF評価値信号が増加する範囲は、点光源の飽和量に依存する。飽和量は点光源の明るさと点光源からの距離によって決まる。すなわち、明るい点光源が近くにあれば、飽和量は限りなく大きくなる、しかし、一般に、点光源を含む被写体は遠距離の場合が多く、またその光量にも限度がある。例えば、クリスマスツリーの照明に使われるLED照明などを近距離で撮影する場合もあるが、この場合はLED照明の光量はあまり多くない。従って、点光源の飽和量によりAF評価値信号が増加する範囲は経験上ある程度限定でき、その量は10深度〜15深度程度である。
そこで、NumBlightHighの総画素数に対する比率と、以下に示すNumBlightHighの比率とAF評価値信号が増加する範囲との対応関係とに基づいて、点光源の飽和量によるAF評価値信号が増加する範囲を決定することができる。NumBlightHighはヒストグラムから求めた所定輝度値より高い輝度の画素数である。
NumBlightHighの比率 AF評価値信号が増加する範囲
50%以上 0深度
25%以上50%未満 0. 7深度程度
12.5%以上25%未満 1. 4深度程度
6.25%以上12.5%未満 2. 8深度程度
3.125%以上6.25%未満 5. 6深度程度
1.5625%以上3.125%未満 8. 0深度程度
1.5625%未満 12. 5深度程度
また、スキャン範囲の決定においては、図10のステップS1001において粗い間隔でスキャンしたことによって生じる合焦位置の誤差も考慮する必要がある。この誤差量は、スキャン間隔の半分程度である。従って、CPU15は、AF時間をも考慮して、図10のステップS1002において実行するAFのスキャン範囲を、以下に示すNumBlightHighの比率とAF評価値信号が増加する範囲との対応関係に基づいて決定する。
NumBlightHighの比率 AF評価値信号が増加する範囲
3.125%以上 ±10深度
3.125%未満 ±15深度
また、スキャン間隔については、点光源が小さい場合には高周波の被写体として認識されるので、スキャン間隔が粗い場合、その最大値をとりもらす可能性がある。従って、スキャン間隔をある程度細かくする必要がある。従って、CPU15は、図10のステップS1002におけるAF処理に用いるスキャン間隔を、例えば2. 5深度に設定する。
ユーザの指定入力によってAF枠の位置が指定された場合は、位置が指定されたAF枠を中央のAF枠として処理を行う。すなわち、CPU15は、位置が指定されたAF枠の周りに8つのAF枠を作成し、合わせて9枠のAF枠を用いて上記の処理を行う。但し、CPU15は、画面からはみ出してAF枠の設定を行うことはしないので、ユーザが指定した位置によっては9枠のAF枠が作成されない場合がある。AF枠の個数が最小で4枠となる可能性がある。
図10のステップS320における通常AFにおいて、ユーザの指定入力によって1点AFが設定されている場合や、検出された顔の位置にAF枠が設定されている場合は、その枠についてのみ上記の処理を行う。ユーザの指定入力によって設定されている上記AFは、中央1枠によるAFまたはユーザが指定した任意の1枠によるAFである。但し、図10のステップS306、S1001、S1002におけるAF処理を実行する場合、CPU15は、点光源被写体の影響を除去するため、9枠のAF枠を設定する。このようにすることにより、点光源被写体と照明された通常被写体が混在する場合などにおいてもより正確な焦点調整が可能になる。実施例4の撮像装置1は、2段階に分けてAF処理を行うので、露光量が適正露光量より減少する(アンダーになる)時間を短縮することができる。その結果、ユーザに与える違和感を低減することができる。
次に、実施例5について説明する。実施例5の撮像装置は、実施例4の撮像装置と異なり、SW1がオン状態になる前、つまりCPU15に対してAF処理(合焦位置を検出する処理)の実行が指示される前に、スキャンAF処理のうち第2のスキャンAFを行う。第2のスキャンAFは、図10のステップS1001におけるAF処理と同様に、概略の合焦位置を求める処理である。CPU15は、点光源被写体判定処理を実行する前に第2のスキャンAFを実行する。従って、第2のスキャンAFにおいて用いられるAF枠の数・位置などは撮影者の設定に従う。すなわち、実施例5においては、常に複数のAF枠が設定されるわけではない。
図12は、実施例5の撮像装置の全体動作処理フローを示す図である。図12に示す処理フローに含まれるステップS1011およびS1015は、図2のステップS3と同様である。また、ステップS1012、S1014、S1017、S1018、S1019は、それぞれ、図2のS1、S2、S5、S6、S7と同様である。
実施例5においては、ステップS1013において、CPU15が、第2のスキャンAF処理を行う(ステップS1013)。第2のスキャンAF処理は、概略の合焦位置へフォーカスレンズ群3を駆動する処理である。第2のスキャンAF処理の詳細については、図13を参照して後述する。
また、ステップS1016において、CPU15が、第1のスキャンAF処理を行う(ステップS1016)。第1のスキャンAF処理は、点光源被写体判定処理の結果に応じたAF処理である。第1のスキャンAF処理の詳細については、図14を参照して後述する。
図13は、第2のスキャンAF処理を説明するフローチャートである。CPU15が、微小駆動動作を実行し(ステップS1021)、合焦であるかを判断するとともに、合焦でない場合には、合焦点がある方向を判別する。微小駆動動作は、フォーカスレンズ群3を至近方向または無限遠方向にLCD上でピントの変化が確認できない程度の微小量駆動させる動作である。微小駆動動作は、フォーカスレンズ群3を微小量駆動させながら得られるAF評価値に基づいて合焦であるかを判断し、非合焦である場合に、合焦させるためにフォーカスレンズ群3を駆動すべき方向などを検出する動作を含む。
次に、CPU15が、合焦であると判断できたかを確認する(ステップS1022)。合焦であると判断できなかった場合、CPU15が、合焦点がある方向を判別できたかを判断する(ステップS1023)。合焦点がある方向を判別できなかった場合は、ステップS1021に戻る。合焦点がある方向を判別できた場合、CPU15が、AF評価値が大きくなる方向へ山登り駆動動作を行う(ステップS1024)。山登り駆動は、山登り駆動中の合焦度合いに応じてスキャン間隔を変えながら合焦位置を探すスキャンである。合焦度合いが低い場合は、CPU15が、5深度〜10深度の比較的粗いスキャン間隔でスキャンを行う。CPU15は、合焦度合いが高くなるに従って、スキャン間隔を細かくし、合焦位置近傍では2深度〜4深度の比較的細かいスキャン間隔でスキャンを行う。すなわち、CPU15は、フォーカスレンズ群3を駆動させながら、所定のAF枠から、画像信号のAF評価値(第4の合焦位置検出用評価値)を取得する。
次に、CPU15が、山登り駆動中のAF評価値が、AF評価値のピークを越えたかを判断する(ステップS1025)。山登り駆動中のAF評価値が、AF評価値のピークを越えていない場合は、ステップS1024に戻る。山登り駆動中のAF評価値が、AF評価値のピークを越えた場合、CPU15が、フォーカスレンズ群3の位置を、山登り駆動中のAF評価値がピークであるときのフォーカスレンズ群3の位置へ戻す。続いて、CPU15が、フォーカスレンズ群3の位置が山登り駆動中のAF評価値がピークであるときのフォーカスレンズ群3の位置へ戻ったかを判断する(ステップS1027)。フォーカスレンズ群3の位置が山登り駆動中のAF評価値がピークであるときのフォーカスレンズ群3の位置へ戻っていない場合は、ステップS1026に戻る。フォーカスレンズ群3の位置が山登り駆動中のAF評価値がピークであるときのフォーカスレンズ群3の位置へ戻った場合は、ステップS1021に戻り、ステップS1021の処理に続いてS1022の処理が実行される。すなわち、CPU15は、ステップS1024において取得されたAF評価値(第4の合焦位置検出用評価値)を用いて、概略の合焦位置(第1の合焦位置)が検出されたかを判断する(ステップS1025乃至S1027,S1021,S1022)。
上記ステップS1022において合焦であると判断できた場合、CPU15が、合焦であると判断したときのAF評価値を保持する(ステップS1028)。CPU15が、新たに各種AF評価値を取得する(ステップS1029)。続いて、CPU15が、ステップS1028で保持したAF評価値とステップS1029で新たに取得したAF評価値とを比較し、両者の差すなわちAF評価値の変動が所定レベル以上であるかを判断する(ステップS1030)。AF評価値の変動が所定レベル以上である場合は、ステップS1021に戻る。AF評価値の変動が所定レベル以上でない場合は、フォーカスレンズ群3を停止し(ステップS1031)、ステップS1029に戻る。
図14は、第1のスキャンAF処理を説明するフローチャートである。図14に示すステップのうち、図10に示す処理フローに含まれるステップと同一のステップ番号が付されたステップは、図10に示す処理フローに含まれるステップと同様である。なお、図14のステップS302の処理は、図12のステップS1015におけるAE処理の結果に基づいて実行される。
図13を参照して説明した第2のスキャンAF処理によって合焦であると判断できているとき、すなわち概略の合焦位置(第1の合焦位置)が検出されているときは、CPU15は、その近傍のみをスキャンすればよい。従って、ステップS1041において、CPU15が、露光量を適正露光よりも減らし、第2のスキャンAF処理において求められたAF評価値のピークに対応するフォーカスレンズ群3の位置を中心とした所定の移動範囲を対象として、以下の処理を実行する。CPU15は、通常AFでAF評価値を取得するためのスキャン間隔より小さいスキャン間隔でフォーカスレンズ群3を駆動させながら、設定された全てのAF枠から、画像信号のAF評価値(第5の合焦点位置検出用評価値)を取得(細スキャン)する。そして、CPU15は、取得したAF評価値を用いて合焦位置(第2の合焦位置)を検出する。CPU15が、図3のステップS310における露光量を減らす処理と同様の方法を用いて、ステップS1041において減らす露光量を、点光源被写体に対応する画素数の総画素数に対する比率に応じて変えるようにしてもよい。
ステップS1041でスキャンを行う際のスキャン範囲、スキャン間隔は、点光源被写体の比率、粗い間隔でスキャンしたことによって生じる合焦位置の誤差、AF時間を考慮して決められる。例えば、CPU15は、実施例4と同様に、以下に示す対応関係に基づいて、AF評価値信号が増加する範囲を求め、求まったAF評価値信号が増加する範囲に基づいて、スキャン範囲を決定する。
NumBlightHighの比率 AF評価値信号が増加する範囲
3.125%以上 ±10深度
3.125%未満 ±15深度
また、スキャン間隔については、点光源が小さい場合には高周波の被写体として認識されるので、スキャン間隔が粗い場合、その最大値をとりもらす可能性がある。このことからスキャン間隔をある程度細かくする必要がある。従って、CPU15は、スキャン間隔を例えば2. 5深度に設定する。
一方、第2のスキャンAF処理によって合焦であると判断できていない場合、CPU15は、図14のステップS1041に代えて、図10のステップS1001、S1002と同様の処理を実行する。
図14のステップS1042において、CPU15は、通常AF処理を行う(ステップS1042)。具体的には、第2のスキャンAF処理によって合焦であると判断できている場合、CPU15は、第2のスキャンAF処理によって求まった概略の合焦位置の近傍のみをスキャンする。そのスキャン範囲は、例えば、概略の合焦位置±5深度、スキャン間隔は2.5深度である。第2のスキャンAF処理によって合焦であると判断できていない場合におけるステップS1042の処理は、図10のステップS320の処理と同様である。
図14のステップS1043において、CPU15が、通常AF処理が可能であると判断されたAF枠のみを用いて通常AF処理を実行する(ステップS1043)。具体的には、第2のスキャンAF処理によって合焦であると判断できている場合、CPU15は、第2のスキャンAF処理によって求まった概略の合焦位置の近傍のみをスキャンする。そのスキャン範囲は、例えば、概略の合焦位置±5深度、スキャン間隔は2.5深度である。第2のスキャンAF処理によって合焦であると判断できていない場合におけるステップS1043の処理は、図10のステップS306の処理と同様である。
実施例5の撮像装置1によれば、点光源被写体と照明された通常被写体が混在する場合でも、より正確な焦点調整が可能になる。また、実施例5の撮像装置1は、2段階に分けてAFを行い、SW1がオン状態になる前に概略の合焦位置を得る。その結果、露光量が適正露光量よりアンダーになる時間が短縮され、ユーザに与える違和感を低減することができる。
次に、実施例6について説明する。実施例6の撮像装置1は、SW1がオン状態になる前、すなわち、CPU15に対して合焦位置を検出する処理の実行が指示される前に、点光源被写体判定処理を行う。
図15は、実施例6の撮像装置の全体動作処理フローを示す図である。図15に示す処理フロー内のステップのうち、図12に示す処理フロー内のステップと同一のステップ番号のものは、図12に示す処理フロー内のステップと同様である。図15のステップS1051において、CPU15が、点光源被写体判定処理を行って(ステップS1051)、各AF枠内に点光源被写体が存在するかを判断し、判断結果を所定の記憶部に記憶する。ステップS1051において行われる点光源被写体判定処理は、図10のステップS301乃至S303に相当する処理である。また、図15のステップS1052において、CPU15が、ステップS1051において記憶部に記憶された点光源被写体判定処理の結果に基づいて、第1のスキャンAF処理を実行する(ステップS1052)。
図16は、実施例6における第1のスキャンAF処理を説明するフローチャートである。図16に示すステップのうち、図14に示す処理フローに含まれるステップと同一のステップ番号が付されたステップは、図14に示す処理フローに含まれるステップと同様である。図16のステップS1061において、CPU15が、記憶部に記憶されている点光源被写体判定処理の結果を参照する(ステップS1061)。そして、CPU15が、AF枠内に点光源被写体が存在するかを判断する(ステップS1062)。AF枠内に点光源被写体が存在しない場合は、ステップS1042に進む。AF枠内に点光源被写体が存在する場合は、ステップS304に進む。
すなわち、CPU15は、SW1がオン状態となってAF処理の実行が指示された後に、記憶部に記憶された点光源被写体判定処理の結果に基づいて、設定された複数のAF枠の全ての内部に点光源被写体があるかを判断する(ステップS304)。そして、CPU15は、設定された複数のAF枠の全ての内部に点光源被写体がある場合に、ステップS1041の処理を行なって、AF評価値(第5の合焦位置検出用評価値)を取得し、取得したAF評価値を用いて第2の合焦位置を検出する。
実施例6の撮像装置によれば、点光源被写体と照明された通常被写体が混在する場合でも、より正確な焦点調整が可能になる。また、実施例6の撮像装置は、2段階に分けてAFを行い、SW1がオン状態になる前に概略の合焦位置を得る。その結果、露光量が適正露光量よりアンダーになる時間が短縮され、ユーザに与える違和感を低減することができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。