以下、本発明の実施の形態を図面に基づいて説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係る撮像装置の一例としてのレンズ交換式カメラシステムの機能構成例を示すブロック図である。
本実施形態の撮像装置は交換可能なレンズユニット10及びカメラ本体20から構成されている。レンズ全体の動作を統括制御するレンズ制御部106と、レンズユニット10を含めたカメラシステム全体の動作を統括するカメラ制御部212とは、レンズマウントに設けられた端子を通じて相互に通信可能である。
まず、レンズユニット10の構成について説明する。固定レンズ101、絞り102、フォーカスレンズ103は撮像光学系を構成する。絞り102は、絞り駆動部104によって駆動され、後述する撮像素子201への入射光量を制御する。フォーカスレンズ103はフォーカスレンズ駆動部105によって駆動され、フォーカスレンズ103の位置に応じて撮像光学系の合焦距離が変化する。絞り駆動部104、フォーカスレンズ駆動部105はレンズ制御部106によって制御され、絞り102の開口量や、フォーカスレンズ103の位置を決定する。
レンズ操作部107は、AF(オートフォーカス)/MF(マニュアルフォーカス)モードの切り替え、MFによるフォーカスレンズの位置調整、手ブレ補正モードの設定など、ユーザがレンズユニット10の動作に関する設定を行うための入力デバイス群である。レンズ操作部107が操作された場合、レンズ制御部106が操作に応じた制御を行う。
レンズ制御部106は、後述するカメラ制御部212から受信した制御命令や制御情報に応じて絞り駆動部104やフォーカスレンズ駆動部105を制御し、また、レンズ制御情報をカメラ制御部212に送信する。
次に、カメラ本体20の構成について説明する。カメラ本体20はレンズユニット10の撮像光学系を通過した光束から撮像信号を取得できるように構成されている。
撮像素子201はCCDやCMOSセンサにより構成される。レンズユニット10の撮像光学系から入射した光束は撮像素子201の受光面上に結像し、撮像素子201に配列された画素に設けられたフォトダイオードにより、入射光量に応じた信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、カメラ制御部212の指令に従ってタイミングジェネレータ214が出力する駆動パルスより、信号電荷に応じた電圧信号として撮像素子201から順次読み出される。
本実施形態で用いられる撮像素子201の各画素は、2つ(一対)のフォトダイオードA、Bとこれら一対のフォトダイオードA、Bに対して設けられた1つのマイクロレンズとにより構成されている。各画素は、入射する光をマイクロレンズで分割して一対のフォトダイオードA、B上に一対の光学像を形成し、該一対のフォトダイオードA、Bから後述するAF用信号として用いられる一対の画素信号(A信号およびB信号)を出力する。このように、本実施例の撮像素子201は、1つのマイクロレンズに対して第1の光電変換部および第2の光電変換部を備えており、第1の光電変換部および第2の光電変換部から被写体の光学像を形成する撮像光学系の焦点状態に応じた一対の像信号を出力する。また、一対のフォトダイオードA、Bの出力を加算することで、撮像用信号として用いられる画素信号(A+B信号)を得ることができる。
複数の画素から出力された複数のA信号と複数のB信号をそれぞれ合成することで、撮像面位相差検出方式によるAF(以下、撮像面位相差AFという)に用いられるAF用信号(言い換えれば、焦点検出用信号)としての一対の像信号が得られる。後述するAF信号処理部204は、該一対の像信号に対する相関演算を行って、これら一対の像信号のずれ量である位相差(以下、像ずれ量という)を算出し、さらに該像ずれ量から撮像光学系のデフォーカス量(およびデフォーカス方向)を算出する。
図3(a)には撮像面位相差AFに対応していない画素構成を、図3(b)は撮像面位相差AFに対応した画素構成を示している。いずれの図においても、ベイヤー配列が用いられており、Rは赤のカラーフィルタを、Bは青のカラーフィルタを、Gr、Gbは緑のカラーフィルタを示している。撮像面位相差AFに対応する図3(b)に示す画素構成では、図3(a)に示した撮像面位相AFに非対応の画素構成における1画素(実線で囲んで示す)に相当する画素内に、図の水平方向に2分割された2つのフォトダイオードA、Bが設けられている。なお、図3(b)に示した画素の分割方法は例に過ぎず、図の垂直方向に分割したり、水平および垂直方向に2分割ずつ(計4分割)したりしてもよい。また、同じ撮像素子内において互いに異なる分割方法で分割された複数種類の画素が含まれてもよい。
CDS/AGC/ADコンバータ202は、撮像素子201から出力される画素信号(AF用信号および撮像用信号)に対して、リセットノイズを除去するための相関二重サンプリング、ゲイン調節およびAD変換を行う。該コンバータ202は、これらの処理を行った撮像用信号およびAF用信号をそれぞれ、画像入力コントローラ203およびAF信号処理部204に出力する。
画像入力コントローラ203は、コンバータ202から出力された撮像用信号をバス21を介してSDRAM209に画像信号として格納する。SDRAM209に格納された画像信号は、バス21を介して表示制御部205によって読み出され、表示部206に表示される。また、画像信号の記録を行う録画モードでは、SDRAM209に格納された画像信号は記録媒体制御部207によって半導体メモリ等の記録媒体208に記録される。
ROM210には、カメラ制御部212が実行する制御プログラムや処理プログラムおよびこれらの実行に必要な各種データ等が格納されている。フラッシュROM211には、ユーザにより設定されたカメラ20の動作に関する各種設定情報等が格納されている。
カメラ制御部212内の取得部2123(取得手段)は、カメラ制御部212で実行される処理に必要な各種情報を取得する。例えば、画像コントローラ203から出力される撮像用信号や、ROM210から出力される各種プログラムや、レンズ制御部106から出力されるレンズ情報や、後述するAF信号処理部204から出力される像ずれ量などの情報を取得する。
カメラ制御部212内の被写体検出部2121は、画像入力コントローラ203から入力された撮像用信号を基に特定の被写体を検出して、撮像用信号内(画像内)での特定の被写体の位置(領域)を決定する。また、画像入力コントローラ203から連続的に撮像信号を入力し、検出した特定の被写体が移動した場合には移動先の位置を判断し、特定の被写体の位置を追従する。特定の被写体とは、例えば顔被写体や、カメラ操作部213でユーザによって撮像画面内で指定された位置に存在する被写体などが一例である。後述するように、検出した特定の被写体の位置や大きさに関する情報は、主にAFを行う領域の設定の為に用いる。このように、被写体検出部2121は、撮像素子201から出力される撮像用信号に基づいて特定の被写体(主被写体)を検出する被写体検出手段として機能する。
焦点検出装置としてのAF信号処理部204は、コンバータ202から出力されたAF用信号である一対の像信号に対して相関演算を行い、これら一対の像信号の像ずれ量や信頼性を算出する。信頼性は、後述する二像一致度と相関変化量の急峻度を用いて算出される。また、AF信号処理部204は、撮像画面内で焦点検出およびAFを行う領域である測距領域の位置および大きさの設定を行う。AF信号処理部204は、測距領域(被写体検出領域)で算出した像ずれ量(検出量)および信頼性の情報をカメラ制御部212に出力する。このように、AF信号処理部204は、測距領域(被写体検出領域)の焦点状態を検出する焦点検出手段として機能する。なお、AF信号処理部204が行う処理の詳細については後述する。
また、カメラ制御部212は、被写体検出部2121によって行われる被写体検出処理とAF信号処理部204によって行われる焦点検出処理とを制御する制御手段として機能する。なお、後述するように、カメラ制御部212は、被写体検出処理と焦点検出処理とを並行して行う第1の制御と、被写体検出処理の完了後に焦点検出処理を行う第2の制御と、を切り替える制御を行う。
カメラ制御部212内のAF制御部2122は、AF信号処理部204が求めた像ずれ量、信頼性およびレンズユニット10とカメラ本体20の状態を示す情報に基づいて、必要に応じてAF信号処理部204の設定を変更する。例えば、AF信号処理部204に対して像ずれ量が所定量以上である場合には相関演算を行う領域を広く設定したり、一対の像信号のコントラストに応じてバンドパスフィルタの種類を変更したりする。また、AF信号処理部204での測距領域の設定の為に、被写体検出部2121で検出した特定の被写体や、カメラ操作部213でユーザによって撮像画面内で指定された位置を渡すことで、この情報をもとに測距領域の位置/範囲を設定する。
なお、本実施形態では撮像用信号およびAF用信号である一対の像信号の計3つの信号を撮像素子201から取得する。ただし、撮像素子201の負荷を考慮して、例えば撮像用信号と1つのAF用像信号の計2つの信号を取り出し、取り出した撮像用信号とAF用像信号の差分をもう1つのAF用像信号として用いてもよい。
カメラ制御部212は、カメラ本体20内の各部と情報をやり取りしながらこれらを制御する。また、カメラ制御部212は、ユーザ操作に基づくカメラ操作部213からの入力に応じて、電源のON/OFF、各種設定の変更、撮像処理、AF処理、記録画像の再生処理等、ユーザ操作に対応する様々な処理を実行する。さらに、カメラ制御部212は、レンズユニット10(レンズ制御部106)に対する制御命令やカメラ本体20の情報をレンズ制御部106に送信したり、レンズユニット10の情報をレンズ制御部106から取得したりする。カメラ制御部212は、マイクロコンピュータにより構成され、ROM210に記憶されたコンピュータプログラムを実行することで、交換レンズ10を含むカメラシステム全体の制御を司る。
カメラ制御部212は、AF信号処理部204にて算出された測距領域での像ずれ量を用いてデフォーカス量を算出し、該デフォーカス量に基づいてレンズ制御部106を通じてフォーカスレンズ103の駆動を制御する。
以下、カメラ本体20で行われる処理について説明する。カメラ制御部212は、コンピュータプログラムである撮像処理プログラムに従って以下の処理を行う。
図4はピント精度優先の低速連写モードにおけるカメラ本体20の撮影処理の手順を示すフローチャートである。Sはステップを意味する。
初めに、カメラ制御部212は、カメラ設定やカメラ操作部213からの入力に応じて低速連写中のAF動作を実行するかを判断する(S401)。
AF動作を実行すると判断すると、カメラ制御部212は、撮像面位相差AF用に用いるAF用信号およびライブビュー表示用に用いる撮像信号を取得するため、撮像素子201への露光を行い、ライブビュー撮影を実行する(S402)。
次に、カメラ制御部212は、現在のカメラ設定が被写体検出モードであるかを判断する(S403)。ここでの被写体検出モードとは、たとえば顔検出のようにカメラが自動的に被写体の検出または追尾を行い、AF対象を決定するモードを意味する。
被写体検出モードであると判断すると、カメラ制御部212内のAF制御部2122は、同カメラ制御部212内の被写体検出部2121から最新の検出結果を取得し、現在被写体が検出されているかを判断する(S404)。一般的に、被写体検出処理にはある程度の時間を要するため、S402で撮影されたライブビュー画像に対してAF制御部2122が処理を実行する際、同画像に対する被写体検出部2121の処理完了を待ってしまうとAF制御の開始が著しく遅延してしまう。また、AF制御周期が被写体検出処理周期に依存してしまうため、被写体検出処理に要する時間が1フレームの時間より長い場合はAF制御も間引かれてしまい、結果的に合焦までの時間が必要以上にかかってしまうこととなる。そのため、低速連写モードのようにライブビュー撮影が連続的に実行されるシーケンスでは、AF制御が所定周期で安定的に動作できるように被写体検出処理とは独立に実行されることが望ましい。
現在被写体が検出されていると判断すると、AF制御部2122は、同被写体に対応する位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S405)。
一方、被写体検出モードでない、あるいは、現在被写体が検出されていないと判断すると、AF制御部2122は、あらかじめ決められた位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S406)。なお、ここで設定する位置は、たとえば画面中央位置や、前回の測距位置等、任意の位置で構わない。
次に、カメラ制御部212は、AF信号処理部204に焦点検出処理を行わせる(S407)。焦点検出処理は、撮像面位相差AFを行うためのデフォーカス量と信頼性の情報を取得する処理であり、また、情報を取得する撮像画面内の領域についても、カメラ本体20の状態に応じて設定する。ここでの詳細については後述する。
続いて、AF制御部2122は、S407の焦点検出処理で算出された測距信頼性が所定信頼性より高いかを判断する(S408)。ここにいう信頼性は、前述した二像一致度や像ずれ量の急峻性により求められるものであり、算出されたデフォーカス量が信頼できない信頼性範囲の最高値を所定信頼性と設定するのが望ましい。なお、信頼性は、二像一致度と像ずれ量の急峻性の両方を用いて求めてもよいし、一方のみを用いて求めてもよい。また、二像の信号レベル等の他の指標を用いても構わない。
測距信頼性が所定信頼性より高いと判断すると、AF制御部2122は、S407の焦点検出処理で算出された検出デフォーカス量が焦点深度以内であるかを判断する(S409)。
検出デフォーカス量が焦点深度内であると判断すると、AF制御部2122は、被写体に合焦させることができたと判断してフォーカスレンズ103を停止し(S410)、AF制御を完了する。
一方、検出デフォーカス量が焦点深度内でないと判断すると、AF制御部2122は、同検出デフォーカス量に基づいてフォーカスレンズ103の駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S411)。そして、フローはS402へ帰還する。
他方、測距信頼性が所定信頼性より低いと判断すると、AF制御部2122は、信頼性が高いデフォーカス量が得られるよう、フォーカスレンズ駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S412)。そして、フローはS402へ帰還する。
AF制御が完了すると、カメラ制御部212は、記録媒体制御部207に静止画撮影を指示する(S413)。
最後に、カメラ制御部212は、カメラ操作部213からの入力に応じて低速連写中のAF動作を終了するかを判断し(S414)、AF動作を終了しないと判断すると、フローはS402へ帰還する。
このように、低速連写モードでは、S408およびS409で測距信頼性が所定信頼性より高い、かつ、検出デフォーカス量が焦点深度内であることを確認してからS412で静止画撮影を行うため、ピント精度の保証が可能となる。
対して、図5は秒間撮影枚数優先の高速連写モードにおけるカメラ本体20の撮影処理の手順を示すフローチャートである。
初めに、カメラ制御部212は、カメラ設定やカメラ操作部213からの入力に応じて高速連写中のAF動作を実行するかを判断する(S501)。
AF動作を実行すると判断すると、カメラ制御部212は、撮像面位相差AF用に用いるAF用信号およびライブビュー表示用に用いる撮像信号を取得するため、撮像素子201への露光を行い、ライブビュー撮影を実行する(S502)。
次に、カメラ制御部212は、現在のカメラ設定が被写体検出モードであるかを判断する(S503)。ここでの被写体検出モードとは、たとえば顔検出のようにカメラが自動的に被写体の検出または追尾を行い、AF対象を決定するモードを意味する。
被写体検出モードであると判断すると、カメラ制御部212内のAF制御部2122は、処理を実行しようとするS502で撮影されたライブビュー画像に対して、同カメラ制御部212内の被写体検出部2121の処理が完了しているかを判断する(S504)。一般的に、被写体検出処理にはある程度の時間を要するため、S502で撮影されたライブビュー画像に対してAF制御部2122が処理を実行しようとする際、多くの場合はその時点で同画像に対する被写体検出部2121の処理は完了していない。そのため、このときに最新の被写体検出結果を取得してしまうと、前回のライブビュー撮影に対する被写体検出結果を使用してしまうことになり、被写体が移動している場合に適切に測距領域を設定できなくなるリスクが高くなってしまう。
被写体検出部2121の処理が完了していると判断すると、AF制御部2122は、被写体検出部2121から最新の検出結果を取得し、現在被写体が検出されているかを判断する(S505)。S504で被写体検出部2121の処理が完了するのを待つことにより、ここでは被写体検出処理に使用されたライブビュー画像とAF制御に使用するライブビュー画像が同一であることを保証できる。
現在被写体が検出されていると判断すると、AF制御部2122は、同被写体に対応する位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S506)。
一方、被写体検出モードでない、あるいは、現在被写体が検出されていないと判断すると、AF制御部2122は、あらかじめ決められた位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S507)。なお、ここで設定する位置は、たとえば画面中央位置や、前回の測距位置等、任意の位置で構わない。
次に、カメラ制御部212は、AF信号処理部204に焦点検出処理を行わせる(S508)。焦点検出処理は、撮像面位相差AFを行うためのデフォーカス量と信頼性の情報を取得する処理であり、また、情報を取得する撮像画面内の領域についても、カメラ本体20の状態に応じて設定する。ここでの詳細については後述する。
続いて、AF制御部2122は、S508の焦点検出処理で算出された測距信頼性が所定信頼性より高いかを判断する(S509)。ここにいう信頼性は、前述した二像一致度や像ずれ量の急峻性により求められるものであり、算出されたデフォーカス量が信頼できない信頼性範囲の最高値を所定信頼性と設定するのが望ましい。なお、信頼性は、二像一致度と像ずれ量の急峻性の両方を用いて求めてもよいし、一方のみを用いて求めてもよい。また、二像の信号レベル等の他の指標を用いても構わない。
測距信頼性が所定信頼性より高いと判断すると、AF制御部2122は、S508の焦点検出処理で算出された検出デフォーカス量が焦点深度以内であるかを判断する(S510)。
検出デフォーカス量が焦点深度内であると判断すると、AF制御部2122は、被写体に合焦させることができたと判断してフォーカスレンズ103を停止し(S511)、AF制御を完了する。
一方、検出デフォーカス量が焦点深度内でないと判断すると、AF制御部2122は、同検出デフォーカス量に基づいてフォーカスレンズ103の駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S512)。そして、AF制御を完了する。
他方、測距信頼性が所定信頼性より低いと判断すると、AF制御部2122は、フォーカス駆動部105を介してフォーカスレンズ103を停止し(S513)、AF制御を完了する。
AF制御が完了すると、カメラ制御部212は、記録媒体制御部207に静止画撮影を指示する(S514)。
最後に、カメラ制御部212は、カメラ操作部213からの入力に応じて高速連写中のAF動作を終了するかを判断し(S515)、AF動作を終了しないと判断すると、フローはS503へ帰還する。
このように、高速連写モードでは、必要に応じてS512でフォーカスレンズの駆動を行うものの、S509およびS510の測距信頼性および検出デフォーカス量に関わらずS513で静止画撮影を行うため、秒間撮影枚数の向上が期待できる。
続いて、S407またはS508においてAF信号処理部204で実行される焦点検出処理の詳細について説明する。図6は同処理の流れを図示したフローチャートである。
初めに、AF信号処理部204は、撮像素子201における測距領域に含まれる複数の画素からAF用信号としての一対の像信号を取得する(S601)。図7は、撮像素子201の画素アレイ701上での測距領域702の例を示している。測距領域702の両側のシフト領域703は、相関演算に必要な領域である。このため、測距領域702とシフト領域703とを合わせた領域704が相関演算に必要な画素領域である。図中のp、q、s、tはそれぞれ、水平方向(x軸方向)での座標を表し、pとqはそれぞれ画素領域704の始点と終点のx座標を、sとtはそれぞれ測距領域702の始点と終点のx座標を示している。また、図8は、図7に示した測距領域702に含まれる複数の画素から取得したAF用の一対の像信号の例を示している。実線801が一方の像信号Aであり、破線802が他方の像信号Bである。図8(a)はシフト前の像信号A、Bを示し、図8(b)、(c)はそれぞれ、像信号A、Bを図8(a)の状態からプラス方向およびマイナス方向にシフトした状態を示している。
次に、AF信号処理部204は、取得した一対の像信号を1画素(1ビット)ずつ相対的にシフトさせながらこれら一対の像信号の相関量を算出する(S602)。測距領域内に設けた複数の画素ライン(以下、走査ラインという)のそれぞれにおいて、図8(b)、(c)のように像信号A801、B802の両方を矢印の方向に1ビットずつシフトしていくことで一対の像信号A801、B802の相関量を算出する。そして、それぞれの相関量を加算平均することで1つの相関量として算出する。ここでは、相関量算出にあたって一対の像信号を1画素ずつ相対的にシフトさせる構成としたが、たとえば2画素ずつ相対的にシフトさせる等、より多くの画素単位でシフトさせる構成でも構わない。また、各走査ラインの相関量を加算平均することで1つの相関量を算出したが、たとえば各走査ラインの一対の像信号に対して加算平均を行い、その後、加算平均した一対の像信号に対して相関量の算出を行う構成でも構わない。シフト量をiとし、最小シフト量をp−sとし、最大シフト量をq−tとし、xを測距領域702の開始座標とし、yを測距領域702の終了座標とするとき、相関量CORは以下の式(1)によって算出することができる。
図9(a)に、シフト量と相関量CORとの関係の例を示す。横軸はシフト量、縦軸は相関量CORである。シフト量とともに変化する相関量901における極値付近902、903のうち、より小さい相関量に対応するシフト量において一対の像信号A、Bの一致度が最も高くなる。
続いて、AF信号処理部204は、S602で算出した相関量から相関変化量を算出する(S603)。図9(a)に示した相関量901の波形における1シフトおきの相関量の差を相関変化量として算出し、シフト量をi、最小シフト量をp−s、最大シフト量をq−tとすると、相関変化量ΔCORは以下の式(2)によって算出することができる。
次に、AF信号処理部204は、S603で算出した相関変化量を用いて像ずれ量を算出する(S604)。図10(a)は、シフト量と相関変化量ΔCORとの関係の例を示しており、横軸はシフト量、縦軸は相関変化量ΔCORを表している。シフト量とともに変化する相関変化量1001は、1002、1003の部分でプラスからマイナスになる。相関変化量が0となる状態をゼロクロスと呼び、一対の像信号A、Bの一致度が最も高くなる。したがって、ゼロクロスを与えるシフト量が像ずれ量となる。図10(b)に図10(a)中の1002で示した部分を拡大して示す。1004は相関変化量1001の一部分である。ゼロクロスを与えるシフト量(k−1+α)は、整数部分β(=k−1)と小数部分αとに分けられる。小数部分αは、図中の三角形ABCと三角形ADEとの相似の関係から、以下の式(3)によって算出することができる。
また整数部分βは、図10(b)から以下の式(4)によって算出することができる。
すなわち、αとβの和から像ずれ量PRDを算出することができる。図10(a)に示したように相関変化量ΔCORのゼロクロスが複数存在する場合は、その付近での相関変化量ΔCORの変化の急峻性がより大きい方を第1のゼロクロスとする。この急峻性はAFの行い易さを示す指標であり、値が大きいほど精度良いAFを行い易い点であることを示す。急峻性maxderは、以下の式(5)によって算出することができる。
本実施形態では、相関変化量のゼロクロスが複数存在する場合は、その急峻性によって第1のゼロクロスを決定し、この第1のゼロクロスを与えるシフト量を像ずれ量とする。
続いて、AF信号処理部204は、S604で算出された像ずれ量の信頼性の高さを表す信頼性を算出する(S605)。像ずれ量の信頼性は、一対の像信号A、Bの一致度(以下、二像一致度という)fnclvlと上述した相関変化量の急峻性によって定義することができる。二像一致度は、像ずれ量の精度を表す指標であり、ここではその値が小さいほど精度が良いことを意味する。図9(b)は、図9(a)中の902で示した部分を拡大したもので、904が相関量901の一部分である。二像一致度fnclvlは、以下の式(6)によって算出することができる。
最後に、AF信号処理部204は、S604で算出された測距領域の像ずれ量を用いて該測距領域のデフォーカス量を算出する(S606)。
図11は、本実施形態における顔検出モード時の連続撮影シーケンスを図示したものであり、a)はピント精度優先の低速連写中の場合、b)は秒間撮影枚数優先の高速連写中の場合を示している。このように、それぞれの目的に合わせて測距演算のタイミングを切り替えることで、最適な測距対象位置が設定可能となる。
図2は、従来の撮像面位相差AFにおける顔検出モード時の連続撮影シーケンスを図示したものであり、a)はピント精度優先の低速連写中の場合、b)は秒間撮影枚数優先の高速連写中の場合を示している。いずれの場合もライブビュー撮影の読出しが完了した時点で最新の被写体検出結果に基づいて測距領域を設定している。このように、従来では、連続的にライブビュー撮影が実行されるa)に対して、離散的にライブビュー撮影が実行されるb)は、被写体検出結果が得られたフレームの読出し完了時刻からの遅延時間が結果的に大きくなってしまっていた。すなわち、被写体が移動している場合に適切に測距領域を設定できなくなるリスクが高くなっていた。
これに対し、本実施例では、図11に示すように、ピント精度優先の低速連写中の場合、ライブビュー撮影の読出しが完了した時点で被写体検出処理と焦点検出処理(測距演算)を同じタイミングで開始する第1の制御を行う。この第1の制御における焦点検出処理は、現在取得された画像(第1の画像)よりも過去に取得された画像(第2の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。一方、秒間撮影枚数優先の高速連写中の場合、ライブビュー撮影の読み出しが完了した時点で被写体検出処理を開始し、該被写体検出処理が完了した後のタイミングで測距演算を開始する第2の制御を行う。この第2の制御における焦点検出処理は、現在取得された画像(第1の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。
このように、カメラ制御部212は、ライブビュー撮影の読み出しが完了してから、被写体検出処理と焦点検出処理を並行して行う第1の制御と、被写体検出処理の完了後に焦点検出処理を行う第2の制御と、を撮影モード(撮影条件)に応じて切り替える。ここで、本発明における撮影条件とは、撮影を行う際における撮像装置の条件(状態)や被写体の条件(状態)などさまざまな条件を指し、本実施例では撮像装置に設定される撮影モード(連写モード)である。本実施例では、カメラ制御部212は、撮像装置に設定される連写モードが低速連写モード(第1の連写モード)である場合と、高速連写モード(第1の連写モードよりも撮影間隔が短い第2の連写モード)である場合とで、第1の制御と第2の制御とを切り替える。より具体的に、複数のライブビュー撮影と、静止画撮影と、を交互に行う低速連写モードである場合に第1の制御を行い、一つのライブビュー撮影と、静止画撮影と、を交互に行う高速連写モードである場合に第2の制御を行う。このように、撮影モード(撮影条件)に応じて制御を切り替えることで、離散的にライブビュー撮影が実行される秒間撮影枚数優先の高速連写中の場合でも、被写体検出結果が得られたフレームの読出し完了時刻からの遅延時間を短縮することができる。すなわち、被写体が移動している場合に適切に測距領域を設定できなくなるリスクを低減することができる。
以上説明したように、本発明によれば、ピント精度優先の低速連写モードや秒間撮影枚数優先の高速連写モード等の目的に応じてAF制御のシーケンスを変更する。そうすることにより、常に適切な測距領域を設定して、安定的に高速で高精度な焦点調節動作を提供することが可能となる。なお、ここでは本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
[第2の実施の形態]
以下、本発明の第2の実施の形態について説明する。第1の実施形態ではピント精度優先の低速連写モードと秒間撮影枚数優先の高速連写モードといった撮影モードに応じてAF制御のシーケンスを変更した。これに対し、本実施形態ではコンティニュアスAFを例とし、フレームレート等の撮像周期に応じてAF制御のシーケンスを変更することにある。以下、第1の実施形態との違いを中心に本実施形態の内容を詳細に説明する。
本実施形態のブロック図は第1の実施形態と同じく図1である。
以下、カメラ本体20で行われる処理について説明する。カメラ制御部212は、コンピュータプログラムである撮像処理プログラムに従って以下の処理を行う。
図12はカメラ本体20の撮影処理の手順を示すフローチャートである。Sはステップを意味する。
初めに、カメラ制御部212は、カメラ設定やカメラ操作部213からの入力に応じてコンティニュアスAF動作を実行するかを判断する(S1201)。
AF動作を実行すると判断すると、カメラ制御部212は、撮像面位相差AF用に用いるAF用信号およびライブビュー表示用に用いる撮像信号を取得するため、撮像素子201への露光を行い、ライブビュー撮影を実行する(S1202)。
次に、カメラ制御部212は、現在のカメラ設定が被写体検出モードであるかを判断する(S1203)。ここでの被写体検出モードとは、たとえば顔検出のようにカメラが自動的に被写体の検出または追尾を行い、AF対象を決定するモードを意味する。
被写体検出モードであると判断すると、カメラ制御部212内のAF制御部2122は、S1202で露光を行ったライブビュー撮影のフレームレートを取得し、所定周期未満であるかを判断する(S1204)。ここでの所定周期は、同カメラ制御部212内の被写体検出部2121で実行される後述の被写体検出処理に要する時間を基準に設定する。たとえば毎フレーム被写体検出処理が実行可能な場合、すなわち1フレームの時間が被写体検出処理時間より長い場合に所定周期以下と判断することが望ましい。
フレームレートが所定周期未満であると判断すると、AF制御部2122は、処理を実行しようとするS1202で撮影されたライブビュー画像に対して、被写体検出部2121の処理が完了しているかを判断する(S1205)。一般的に、被写体検出部2121による被写体検出処理にはある程度の時間を要する。そのため、ライブビュー画像に対してAF制御部2122が処理を実行する際、被写体検出処理とAF制御の同期性を優先すべきか、AF制御周期を優先すべきかによって、ここで同画像に対する被写体検出部2121の処理完了を待つか否かが変わってくる。
被写体検出部2121の処理が完了している、またはフレームレートが所定周期以上であると判断すると、AF制御部2122は、被写体検出部2121から最新の検出結果を取得し、現在被写体が検出されているかを判断する(S1206)。1フレームの時間が被写体検出処理よりも長い低速フレームレートの場合は、S1205で被写体検出処理の完了を待ったとしてもAF制御周期への影響は少ないため、被写体検出処理とAF制御の同期性を優先することができる。一方、1フレームの時間が被写体検出処理よりも短い高速フレームレートの場合は、被写体検出処理とは独立にAF制御を実行することで、所定周期で安定的に動作するようAF制御周期を優先することができる。
現在被写体が検出されていると判断すると、AF制御部2122は、同被写体に対応する位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S1207)。
一方、被写体検出モードでない、あるいは、現在被写体が検出されていないと判断すると、AF制御部2122は、あらかじめ決められた位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S1208)。なお、ここで設定する位置は、たとえば画面中央位置や、前回の測距位置等、任意の位置で構わない。
次に、カメラ制御部212は、AF信号処理部204に焦点検出処理を行わせる(S1209)。焦点検出処理は、撮像面位相差AFを行うためのデフォーカス量と信頼性の情報を取得する処理であり、また、情報を取得する撮像画面内の領域についても、カメラ本体20の状態に応じて設定する。ここでの詳細は第1の実施形態と同じであるため省略する。
続いて、AF制御部2122は、S1209の焦点検出処理で算出された測距信頼性が所定信頼性より高いかを判断する(S1210)。ここにいう信頼性は、前述した二像一致度や像ずれ量の急峻性により求められるものであり、算出されたデフォーカス量が信頼できない信頼性範囲の最高値を所定信頼性と設定するのが望ましい。なお、信頼性は、二像一致度と像ずれ量の急峻性の両方を用いて求めてもよいし、一方のみを用いて求めてもよい。また、二像の信号レベル等の他の指標を用いても構わない。
測距信頼性が所定信頼性より高いと判断すると、AF制御部2122は、S1209の焦点検出処理で算出された検出デフォーカス量が焦点深度以内であるかを判断する(S1211)。
検出デフォーカス量が焦点深度内であると判断すると、AF制御部2122は、被写体に合焦させることができたと判断してフォーカスレンズ103を停止する(S1212)。
一方、検出デフォーカス量が焦点深度内でないと判断すると、AF制御部2122は、同検出デフォーカス量に基づいてフォーカスレンズ103の駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S1213)。
他方、測距信頼性が所定信頼性より低いと判断すると、AF制御部2122は、信頼性が高いデフォーカス量が得られるよう、フォーカスレンズ駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S1214)。
最後に、カメラ制御部212は、カメラ操作部213からの入力に応じてコンティニュアスAF動作を終了するかを判断し(S1215)、AF動作を終了しないと判断すると、フローはS1202へ帰還する。
その他の処理については第1の実施形態と同様であるため、説明は省略する。なお、本実施形態ではAF制御の例としてコンティニュアスAFを説明したが、サーボAFなどにも適用可能である。
図13は、本実施形態における顔検出モード時のコンティニュアスAFシーケンスを図示したものであり、a)は高速フレームレートの場合、b)は低速フレームレートの場合を示している。このように、それぞれの目的に合わせて測距演算のタイミングを切り替えることで、最適な測距対象位置が設定可能となる。
本実施例では、高速フレームレートの場合、ライブビュー撮影の読出しが完了した時点で被写体検出処理と焦点検出処理(測距演算)を同じタイミングで開始する第1の制御を行う。この第1の制御における焦点検出処理は、現在取得された画像(第1の画像)よりも過去に取得された画像(第2の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。一方、低速フレームレートの場合、ライブビュー撮影の読み出しが完了した時点で被写体検出処理を開始し、該被写体検出処理が完了した後のタイミングで測距演算を開始する第2の制御を行う。この第2の制御における焦点検出処理は、現在取得された画像(第1の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。
このように、カメラ制御部212は、ライブビュー撮影の読み出しが完了してから、被写体検出処理と焦点検出処理を並行して行う第1の制御と、被写体検出処理の完了後に焦点検出処理を行う第2の制御と、を撮像周期(撮影条件)に応じて切り替える。ここで、本発明における撮影条件とは、撮影を行う際における撮像装置の条件(状態)や被写体の条件(状態)などさまざまな条件を指し、本実施例では撮像装置に設定された撮像素子のフレームレートである。本実施例では、カメラ制御部212は、フレームレートが高速フレームレート(第1のフレームレート)である場合と、低速フレームレート(第1のフレームレートよりも低い第2のフレームレート)である場合とで、第1の制御と第2の制御とを切り替える。より具体的に、1フレームの時間が被写体検出処理にかかる時間よりも短い高速フレームレートである場合に第1の制御を行い、1フレームの時間が前記被写体検出処理にかかる時間よりも長い低速フレームレートである場合に第2の制御を行う。このように、撮像周期(撮影条件)に応じて制御を切り替えることで、離散的にライブビュー撮影が実行される秒間撮影枚数優先の高速連写中の場合でも、被写体検出結果が得られたフレームの読出し完了時刻からの遅延時間を短縮することができる。すなわち、被写体が移動している場合に適切に測距領域を設定できなくなるリスクを低減することができる。
以上説明したように、本発明によれば、ライブビュー撮影時のフレームレート等の撮像周期に応じて被写体検出処理とAF制御の同期性を優先すべきか、AF制御周期を優先すべきかを切り替え、AF制御のシーケンスを変更する。そうすることにより、常に適切な測距領域を設定して、安定的に高速で高精度な焦点調節動作を提供することが可能となる。なお、ここでは本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
[第3の実施の形態]
以下、本発明の第3の実施の形態について説明する。第1の実施形態ではピント精度優先の低速連写モードと秒間撮影枚数優先の高速連写モードといった撮影モード、第2の実施形態ではライブビュー撮影時のフレームレート等の撮像周期に応じてAF制御のシーケンスを変更した。これに対し、本実施形態では被写体の動きに応じてAF制御のシーケンスを変更することにある。以下、第1の実施形態との違いを中心に本実施形態の内容を詳細に説明する。
本実施形態のブロック図は第1の実施形態と同じく図1である。
以下、カメラ本体20で行われる処理について説明する。カメラ制御部212は、コンピュータプログラムである撮像処理プログラムに従って以下の処理を行う。
図14はカメラ本体20の撮影処理の手順を示すフローチャートである。Sはステップを意味する。
初めに、カメラ制御部212は、カメラ設定やカメラ操作部213からの入力に応じてコンティニュアスAF動作を実行するかを判断する(S1401)。
AF動作を実行すると判断すると、カメラ制御部212は、撮像面位相差AF用に用いるAF用信号およびライブビュー表示用に用いる撮像信号を取得するため、撮像素子201への露光を行い、ライブビュー撮影を実行する(S1402)。
次に、カメラ制御部212は、現在のカメラ設定が被写体検出モードであるかを判断する(S1403)。ここでの被写体検出モードとは、たとえば顔検出のようにカメラが自動的に被写体の検出または追尾を行い、AF対象を決定するモードを意味する。
被写体検出モードであると判断すると、カメラ制御部212内のAF制御部2122は、過去の被写体検出結果の履歴に応じて、被写体移動量が所定量より大きいかを判断する(S1404)。ここでの所定量は、測距領域の大きさを基準に設定し、たとえば前フレームの被写体検出位置が使用できない場合、すなわち1フレームあたりの被写体移動量が測距領域より大きい場合に所定量より大きいと判断することが望ましい。
被写体移動量が所定量より大きいと判断すると、AF制御部2122は、処理を実行しようとするS1402で撮影されたライブビュー画像に対して、被写体検出部2121の処理が完了しているかを判断する(S1405)。一般的に、被写体検出部2121による被写体検出処理にはある程度の時間を要する。そのため、ライブビュー画像に対してAF制御部2122が処理を実行する際、被写体検出処理とAF制御の同期性を優先すべきか、AF制御周期を優先すべきかによって、ここで同画像に対する被写体検出部2121の処理完了を待つか否かが変わってくる。
被写体検出部2121の処理が完了している、または被写体移動量が所定量より小さいと判断すると、AF制御部2122は、被写体検出部2121から最新の検出結果を取得し、現在被写体が検出されているかを判断する(S1406)。被写体移動量が測距領域より大きい場合は、仮にAF制御周期が犠牲になったとしても、S1405で被写体検出処理の完了を待つことで、被写体検出処理とAF制御の同期性を保証することができる。一方、被写体移動量が測距領域より小さい場合は、被写体検出処理とは独立にAF制御を実行することで、所定周期で安定的に動作するようAF制御周期を優先することができる。
現在被写体が検出されていると判断すると、AF制御部2122は、同被写体に対応する位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S1407)。
一方、被写体検出モードでない、あるいは、現在被写体が検出されていないと判断すると、AF制御部2122は、あらかじめ決められた位置に測距領域が設定されるようAF信号処理部204に位置情報を通知する(S1408)。なお、ここで設定する位置は、たとえば画面中央位置や、前回の測距位置等、任意の位置で構わない。
次に、カメラ制御部212は、AF信号処理部204に焦点検出処理を行わせる(S1409)。焦点検出処理は、撮像面位相差AFを行うためのデフォーカス量と信頼性の情報を取得する処理であり、また、情報を取得する撮像画面内の領域についても、カメラ本体20の状態に応じて設定する。ここでの詳細は第1の実施形態と同じであるため省略する。
続いて、AF制御部2122は、S1409の焦点検出処理で算出された測距信頼性が所定信頼性より高いかを判断する(S1410)。ここにいう信頼性は、前述した二像一致度や像ずれ量の急峻性により求められるものであり、算出されたデフォーカス量が信頼できない信頼性範囲の最高値を所定信頼性と設定するのが望ましい。なお、信頼性は、二像一致度と像ずれ量の急峻性の両方を用いて求めてもよいし、一方のみを用いて求めてもよい。また、二像の信号レベル等の他の指標を用いても構わない。
測距信頼性が所定信頼性より高いと判断すると、AF制御部2122は、S1409の焦点検出処理で算出された検出デフォーカス量が焦点深度以内であるかを判断する(S1411)。
検出デフォーカス量が焦点深度内であると判断すると、AF制御部2122は、被写体に合焦させることができたと判断してフォーカスレンズ103を停止する(S1412)。
一方、検出デフォーカス量が焦点深度内でないと判断すると、AF制御部2122は、同検出デフォーカス量に基づいてフォーカスレンズ103の駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S1413)。
他方、測距信頼性が所定信頼性より低いと判断すると、AF制御部2122は、信頼性が高いデフォーカス量が得られるよう、フォーカスレンズ駆動量を算出するとともに、フォーカス駆動部105を介してフォーカスレンズ103を駆動する(S1414)。
最後に、カメラ制御部212は、カメラ操作部213からの入力に応じてコンティニュアスAF動作を終了するかを判断し(S1415)、AF動作を終了しないと判断すると、フローはS1402へ帰還する。
その他の処理については第1の実施形態および第2の実施形態と同様であるため、説明は省略する。なお、本実施形態ではAF制御の例としてコンティニュアスAFを説明したが、サーボAFなどにも適用可能である。
図15は、本実施形態における顔検出モード時のコンティニュアスAFシーケンスを図示したものであり、a)は被写体移動量が小さい場合、b)は被写体移動量が大きい場合を示している。このように、それぞれの目的に合わせて測距演算のタイミングを切り替えることで、最適な測距対象位置が設定可能となる。
本実施例では、被写体移動量が所定量より小さい場合、ライブビュー撮影の読出しが完了した時点で被写体検出処理と焦点検出処理(測距演算)を同じタイミングで開始する第1の制御を行う。この第1の制御における焦点検出処理は、現在取得された画像(第1の画像)よりも過去に取得された画像(第2の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。一方、被写体移動量が所定量より大きい場合、ライブビュー撮影の読み出しが完了した時点で被写体検出処理を開始し、該被写体検出処理が完了した後のタイミングで測距演算を開始する第2の制御を行う。この第2の制御における焦点検出処理は、現在取得された画像(第1の画像)に基づいて検出された被写体検出領域の焦点状態を検出する。
このように、カメラ制御部212は、ライブビュー撮影の読み出しが完了してから、被写体検出処理と焦点検出処理を並行して行う第1の制御と、被写体検出処理の完了後に焦点検出処理を行う第2の制御と、を被写体検出結果(撮影条件)に応じて切り替える。ここで、本発明における撮影条件とは、撮影を行う際における撮像装置の条件(状態)や被写体の条件(状態)などさまざまな条件を指し、本実施例では被写体検出手段が検出する被写体の移動量である。本実施例では、カメラ制御部212は、被写体移動量が所定量より小さい移動量(第1の移動量)である場合と、被写体移動量が所定量より大きい移動量(第1の移動量よりも大きい第2の移動量)である場合とで、第1の制御と第2の制御とを切り替える。具体的に、被写体移動量が被写体検出領域の大きさに対応する所定量よりも小さい第1の移動量である場合に第1の制御を行い、被写体移動量が被写体検出領域の大きさに対応する所定量よりも大きい第2の移動量である場合に第2の制御を行う。このように、被写体検出結果(撮影条件)に応じて制御を切り替えることで、離散的にライブビュー撮影が実行される秒間撮影枚数優先の高速連写中の場合でも、被写体検出結果が得られたフレームの読出し完了時刻からの遅延時間を短縮することができる。すなわち、被写体が移動している場合に適切に測距領域を設定できなくなるリスクを低減することができる。
以上説明したように、本発明によれば、ライブビュー撮影時の被写体移動量応じて被写体検出処理とAF制御の同期性を優先すべきか、AF制御周期を優先すべきかを切り替え、AF制御のシーケンスを変更する。そうすることにより、常に適切な測距領域を設定して、安定的に高速で高精度な焦点調節動作を提供することが可能となる。なお、ここでは本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
以上、本発明によれば、特に撮像面位相差AFが可能な撮像装置において、撮影条件に応じて適切な測距領域設定をすることで、安定的に高速で高精度な焦点調節動作を提供することが可能となる。
なお、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するための手順が記述されたコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。