以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
本実施形態では、撮像装置の一例として、撮像面位相差方式の自動焦点調節(オートフォーカス:AF)機能を有するレンズ交換式の一眼レフデジタルカメラにより実現した例について説明する。しかしながら、本実施形態として適用可能な撮像装置は、レンズ交換式ではないデジタルカメラやデジタルビデオカメラ、パーソナルコンピュータやその一種であるタブレット、携帯電話やその一種であるスマートフォン、監視カメラ、車載カメラ、医療用カメラなどに適用可能である。
<装置構成>まず、図1を参照して、本実施形態の撮像装置の構成および機能について説明する。
本実施形態の撮像装置10はレンズ交換式の一眼レフデジタルカメラであり、レンズユニット100とカメラ本体120とを有する。レンズユニット100は図の中央の点線で示されるマウントMを介して、カメラ本体120に対して着脱可能に接続される。
被写体像を結像させるレンズユニット100は、第1レンズ群101、絞り102、第2レンズ群103、フォーカスレンズ群(以下、フォーカスレンズ)104、および後述する駆動部および制御部を有する。レンズユニット100は、フォーカスレンズ104を含み且つ被写体の像を形成する撮影光学系をなす。
被写体像を結像させるレンズユニット100は、第1レンズ群101、絞り102、第2レンズ群103、フォーカスレンズ群(以下、フォーカスレンズ)104、および後述する駆動/制御系を有する。レンズユニット100は、フォーカスレンズ104を含み且つ被写体の光学像を形成する撮影光学系をなす。
第1レンズ群101は、レンズユニット100の先端に配置され、光軸方向OAに進退可能に保持される。以下では、光軸方向OAをZ方向とし、カメラから被写体側を見る方向を正方向とする。また、本実施形態において、Z方向の軸の原点0は、後述するカメラ本体120の撮像素子122の位置に対応するものとする。
絞り102は、その開口径を調節することで撮影時の光量調節を行う。また、絞り102は、静止画撮影時には露出時間を制御するメカニカルシャッタとしても機能する。絞り102および第2レンズ群103は一体として光軸方向OAに進退可能であり、第1レンズ群101と連動して移動することによりズーム機能を実現する。
フォーカスレンズ104は、光軸方向OAに進退可能であり、その位置に応じてレンズユニット100が合焦する被写体距離(合焦距離)が変化する。本実施形態では、フォーカスレンズ104の光軸方向OAの位置を制御することにより、被写体距離の検出(焦点検出)および合焦距離を調節するオートフォーカス機能を実現する。
レンズユニット100の駆動/制御系(機器、回路、プログラムコードその他のものを含む)は、駆動系としてズームアクチュエータ111、絞り/シャッターアクチュエータ112、フォーカスアクチュエータ113、ズーム駆動部114、絞り/シャッター駆動部115、フォーカス駆動部116を有する。また、駆動系を制御する制御系として、レンズMPU117とレンズメモリ118を有する。
ズームアクチュエータ111は、第1レンズ群101や第2レンズ群103を光軸方向OAに進退駆動し、撮影光学系の画角を変更するズーム制御を行う。絞り/シャッターアクチュエータ112は、絞り102の開口径を制御して撮影光量を調節すると共に、絞り102の開閉動作を制御して撮影時の露光時間制御を行う。フォーカスアクチュエータ113は、フォーカスレンズ104を光軸方向OAに進退駆動してオートフォーカス動作を行うと共に、フォーカスレンズ104の現在位置を検出する機能も有している。
ズーム駆動部114は、撮影者のズーム操作またはレンズMPU117の制御値に応じて、ズームアクチュエータ111を駆動する。絞り/シャッター駆動部115は、絞り/シャッターアクチュエータ112を駆動して絞り102の開口径または開閉動作を制御する。フォーカス駆動部116は、フォーカスアクチュエータ113を駆動し、フォーカスレンズ104を光軸方向OAに進退駆動してオートフォーカス動作(焦点調節動作)を行う。
レンズMPU117は、撮影光学系に係る全ての演算、制御を行い、ズーム駆動部114、絞り/シャッター駆動部115、フォーカス駆動部116、レンズメモリ118を制御する。レンズMPU117は、マウントMを介してカメラMPU125との間でコマンドやデータの通信が可能に接続される。例えば、レンズMPU117は、フォーカスレンズ104の現在の位置を検出し、カメラMPU125からの要求に対してレンズ位置情報を通知する。このレンズ位置情報は、フォーカスレンズ104の光軸方向OAにおける位置、光学系が移動していない状態の射出瞳の光軸方向OAにおける位置および直径、射出瞳の光束を制限するレンズ枠の光軸方向OAにおける位置および直径などの情報を含む。また、レンズMPU117は、カメラMPU125からの要求に応じて、ズーム駆動部114、絞り/シャッター駆動部115、フォーカス駆動部116を制御する。レンズメモリ118には、本実施形態の撮像面位相差AFに必要な光学情報が予め記憶されている。また、レンズメモリ118には、例えば、フォーカスレンズ104の位置や移動量とデフォーカス量との対応関係を示すデフォーカスマップが格納されている。なお、デフォーカスマップは、後述するように第1焦点検出信号と第2焦点検出信号の各画素位置での像ずれ量を相関演算により算出し、像ずれ量をデフォーカス量に換算することで生成される。これにより、レンズMPU117は、カメラMPU125からデフォーカス量を所定量だけ変更する要求を受けた場合に、レンズメモリ118に記憶されたデフォーカスマップを参照し、所定のデフォーカス量に対応する距離だけフォーカスレンズ104を移動するようにフォーカスアクチュエータ113を制御することが可能である。カメラMPU125は、例えばROM125aやレンズメモリ118に格納されているプログラムを実行することで、レンズユニット100の動作を制御する。また、レンズメモリ118には、本実施形態の撮影光学系の光学情報なども格納されている。
カメラ本体120は、光学的ローパスフィルタ121、撮像素子122、後述する駆動/制御系を有する。光学的ローパスフィルタ121は、撮影画像の偽色やモアレを軽減する。
撮像素子122は、例えばCMOSイメージセンサとその周辺回路で構成されている。CMOSイメージセンサは、光を受光する各画素に光電変換素子が設けられており、各画素を単位画素として複数の単位画素が二次元状に配列された画素群(撮像面)を有する。撮像素子122は、撮像光学系の異なる瞳領域をそれぞれ通過する光束を受光する複数の焦点検出画素を有し、画素ごとに独立した信号出力が可能である。これにより、撮像面位相差AFによるデフォーカス量の算出が可能である。また、撮像素子122は、被写体の像を形成する撮影光学系の射出瞳の全域を通る光束を各画素で受光して被写体の画像信号を生成する複数の撮像用画素を有する。
カメラ本体120の駆動/制御系は、撮像素子駆動部123、画像処理部124、カメラ本体120全体を制御するカメラMPU125、表示部126、操作スイッチ127、メモリ128、第1焦点検出部129、第2焦点検出部130を有する。撮像素子駆動部123は、撮像素子122の電荷蓄積動作を制御すると共に、撮像素子122から読み出した画像信号をデジタル信号に変換してカメラMPU125に送出する。画像処理部124は、撮像素子122から読み出された画像信号にガンマ変換、色補間、JPEG圧縮等の各種画像処理を行う。また、画像処理部124は、後述する撮像面位相差方式による焦点検出用の信号、露光調節用の信号、ホワイトバランス調整用の信号、および、被写体検出用の信号を生成する。なお、本実施形態では、焦点検出用(位相差AF用)の信号、露光調節用の信号、ホワイトバランス調整用の信号、および、被写体検出用の信号を生成しているが、例えば露光調節用の信号、ホワイトバランス調整用の信号、被写体検出用の信号を共通の信号として生成してもよい。また、共通とする信号の組み合わせはこの限りではない。
カメラMPU125はマイクロプロセッサを有し、カメラ本体120に係る全ての演算、制御を行う。これにより、撮像素子駆動部123、画像処理部124、表示部126、操作スイッチ127、メモリ128、第1焦点検出部129、第2焦点検出部130を制御する。カメラMPU125はマウントMに配置された信号線を介してレンズMPU117と接続されている。これにより、レンズMPU117に対して、レンズ位置を取得する要求を発行したり、所定の駆動量でのズーム駆動や絞り駆動やレンズ駆動の要求を発行したり、レンズユニット100に固有の光学情報を取得する要求を発行する。
カメラMPU125には、カメラの動作を制御するためのプログラムを格納したROM125a、変数を記憶するRAM125b、各種パラメータを記憶するEEPROM125cが内蔵されている。カメラMPU125は、ROM125aに格納されたプログラムを読み出してRAM125bに展開して実行することで、後述する焦点検出処理、被写体検出処理、露光調節処理、ホワイトバランス調整処理を実行する。
表示部126はLCD(液晶)パネルや有機ELなどの表示デバイスを有し、カメラの各動作モードに関する各種の情報を表示する。カメラの動作モードは、例えば、静止画や動画を撮影する撮影モード、メモリ128に格納されている撮影済みの画像を再生する再生モードを含む。撮影モードの場合は、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像、焦点検出時の合焦状態画像などを表示する。また、撮影中の動画を逐次表示する。
操作スイッチ127は、シャッタースイッチ、電源スイッチ、ズームスイッチ、モード切替スイッチなどを含む。メモリ128は、カメラに着脱可能なフラッシュメモリであり、撮影済み画像を記録する。
焦点調節部129は、撮像素子122および画像処理部124から得られる焦点検出用の一対の異なる視差の像信号(位相差AF用の信号)に基づいて、位相差検出方式による焦点検出処理を行う。画像処理部124は、撮像光学系の一対の瞳領域を通過する光束で形成される異なる視差の一対の像データを生成し、焦点調節部129が、一対の像データのずれ量に基づいて焦点ずれ量(デフォーカス量)を算出する。このように、焦点調節部129は、専用のAFセンサを用いることなく、撮像素子122の出力信号により位相差AF(撮像面位相差AF)を行う。
焦点調節部129は、取得ブロック129aおよび算出ブロック129bを有する。これらの動作については後述する。なお、焦点調節部129の少なくとも一部(取得ブロック129aまたは算出ブロック129bの一部)を、カメラMPU125に設けてもよい。なお、焦点調節部129が実行する焦点調節動作については後述する。焦点調節部129は、焦点検出結果を用いてフォーカスレンズ104の位置を制御する自動焦点調節(AF)機能を有する。
被写体検出部130は、画像処理部124により生成される被写体検出用の信号に基づいて、被写体の種類や部位や状態(検出タイプ)、被写体の位置やサイズ(検出領域)などを検出する被写体検出処理を行う。被写体検出部130の処理については後述する。
露光調節部131は、撮像素子122および画像処理部124から得られる露光調節用(AE用)の信号に基づいて測光を行うことで撮影条件を適切に制御する。露光調節部131は、露出調節用の信号に基づいて測光を行い、設定中の絞り値、シヤッタスピード、ISO感度での露光量を算出し、算出した露光量と、予め定められた適正露光量との差に基づき撮影時の適切な絞り値、シヤッタスピード、ISO感度を演算し、撮影条件として設定する。露光調節部131は、測光結果を用いて撮影時の露光条件を算出し、絞り102の絞り値、シヤッタスピード、ISO感度を制御する自動露出調節(AE)機能を有する。
ホワイトバランス調整部132は、撮像素子122および画像処理部124から得られるホワイトバランス調整用の信号に基づいてホワイトバランス調整処理を行う。ホワイトバランス調整部132は、ホワイトバランス調整用の信号から取得したホワイトバランスのパラメータと予め定められた適切なホワイトバランスのパラメータとの差に基づき色の重みづけを調整する自動ホワイトバランス調整(AWB)機能を有する。
本実施形態の撮像装置10は、焦点調節(AF)、露光調節(AE)、ホワイトバランス調整(AWB)と、被写体検出とを組み合わせて実行可能であり、被写体検出結果に応じて、焦点調節(AF)、露光調節(AE)、ホワイトバランス調整(AWB)を行う位置(像高範囲)を選択することができる。
<撮像素子の構成>次に、図2を参照して、実施形態1の撮像素子122の撮像画素(および焦点検出画素)の配列について説明する。
図2は、実施形態1の2次元CMOSセンサ(撮像素子122)の画素(撮像画素)配列を4列×4行の範囲で、焦点検出画素配列を8列×4行の範囲で示している。
実施形態1において、図2に示した2列×2行の画素群200は、R(赤)の分光感度を有する画素200Rが左上に、G(緑)の分光感度を有する画素200Gが右上と左下に、B(青)の分光感度を有する画素200Bが右下に配置されている。さらに、各画素は2列×1行に配列された第1焦点検出画素201と第2焦点検出画素202により構成されている。
図2に示した4列×4行の画素(8列×4行の焦点検出画素)を面上に多数配置し、撮像画像(焦点検出信号)の取得を可能としている。実施形態1では、画素の周期Pが4μm、画素数Nが横5575列×縦3725行=約2075万画素、焦点検出画素の列方向周期PAFが2μm、焦点検出画素数NAFが横11150列×縦3725行=約4150万画素の撮像素子122として説明を行う。
図3(a)は、図2に示した撮像素子122の1つの画素200Gを、撮像素子122の受光面側(+z側)から見た平面図であり、図3(b)は、図3(a)のa−a断面を−y側から見た断面図である。
図3に示すように、実施形態1の画素200Gは、各画素の受光側に入射光を集光するためのマイクロレンズ305が形成され、x方向にNH分割(2分割)、y方向にNV分割(1分割)された光電変換部301と光電変換部302が形成される。光電変換部301と光電変換部302が、それぞれ、第1焦点検出画素201と第2焦点検出画素202に対応する。
光電変換部301と光電変換部302は、p型層とn型層の間にイントリンシック層を挟んだpin構造フォトダイオードとしてもよいし、必要に応じて、イントリンシック層を省略し、pn接合フォトダイオードとしてもよい。各画素には、マイクロレンズ305と、光電変換部301および光電変換部302との間に、カラーフィルター306が形成される。また、必要に応じて、副画素毎にカラーフィルターの分光透過率を変えてもよいし、カラーフィルターを省略してもよい。
図3に示した画素200Gに入射した光は、マイクロレンズ305により集光され、カラーフィルター306で分光されたのち、光電変換部301と光電変換部302で受光される。
光電変換部301と光電変換部302では、受光量に応じて電子とホールが対生成され、空乏層で分離された後、負電荷の電子はn型層(不図示)に蓄積され、一方、ホールは定電圧源(不図示)に接続されたp型層を通じて撮像素子122外部へ排出される。
光電変換部301と光電変換部302のn型層(不図示)に蓄積された電子は、転送ゲートを介して、静電容量部(FD)に転送され、電圧信号に変換される。
図4は、図3に示した実施形態1の撮像素子122の画素構造と瞳分割との対応関係を示している。図4は、図3(a)に示した撮像素子122の画素構造を+y側から見た断面図(a)と撮像素子122の瞳面(瞳距離Ds)(b)を示している。図4では、撮像素子122の瞳面の座標軸と対応を取るために、断面図(a)のx軸とy軸を図3に対して反転させている。
図4において、第1焦点検出画素201の第1瞳部分領域501は、重心が−x方向に偏心している光電変換部301の受光面と、マイクロレンズによって、概ね、共役関係になっており、第1焦点検出画素201で受光可能な瞳領域を示している。第1焦点検出画素201の第1瞳部分領域501は、瞳面上で+X側に重心が偏心している。図4において、第2焦点検出画素202の第2瞳部分領域502は、重心が+x方向に偏心している光電変換部302の受光面と、マイクロレンズによって、概ね、共役関係になっており、第2焦点検出画素202で受光可能な瞳領域を示している。第2焦点検出画素202の第2瞳部分領域502は、瞳面上で−X側に重心が偏心している。また、図4において、瞳領域500は、光電変換部301と光電変換部302(第1焦点検出画素201と第2焦点検出画素202)を全て合わせたときの画素200G全体で受光可能な瞳領域である。
撮像面位相差AFでは、撮像素子122のマイクロレンズを利用して瞳分割するため回折の影響を受ける。図4において、撮像素子122の瞳面までの瞳距離が数10mmであるのに対し、マイクロレンズの直径は数μmである。そのため、マイクロレンズの絞り値が数万となり、数10mmレベルの回折ボケが生じる。よって、光電変換部の受光面の像は、明瞭な瞳領域や瞳部分領域とはならずに、受光感度特性(受光率の入射角分布)となる。
図5は、実施形態1の撮像素子122と瞳分割との対応関係を示している。第1瞳部分領域501と第2瞳部分領域502の異なる瞳部分領域を通過した光束は、撮像素子122の各画素に、それぞれ、異なる角度で入射し、2×1分割された第1焦点検出画素201と第2焦点検出画素202で受光される。図5は、瞳領域が水平方向に2つに瞳分割されている例を示しているが、必要に応じて、垂直方向に瞳分割を行ってもよい。
撮像素子122は、第1焦点検出画素201と、第2焦点検出画素202とを有する撮像画素が複数配列されている。第1焦点検出画素201は、撮影光学系の第1瞳部分領域を通過する光束を受光する。また、第2焦点検出画素202は、第1瞳部分領域と異なる撮影光学系の第2瞳部分領域を通過する光束を受光する。また、撮像画素は、撮影光学系の第1瞳部分領域と第2瞳部分領域を合わせた瞳領域を通過する光束を受光する。
撮像素子122は、それぞれの撮像画素が第1焦点検出画素201と第2焦点検出画素202から構成されている。必要に応じて、撮像画素と第1焦点検出画素201、第2焦点検出画素202を個別の画素構成とし、撮像画素配列の一部に、第1焦点検出画素201と第2焦点検出画素202を部分的に配置する構成としてもよい。
実施形態1では、撮像素子122の各画素の第1焦点検出画素201の受光信号を集めて第1焦点信号を生成し、各画素の第2焦点検出画素202の受光信号を集めて第2焦点信号を生成して焦点検出を行う。また、撮像素子122の画素ごとに、第1焦点検出画素201と第2焦点検出画素202の信号を加算することで、有効画素数Nの解像度の撮像信号(撮像画像)を生成する。各信号の生成方法は、上述した方法に限らず、例えば、第2焦点検出信号を、撮像信号と第1焦点信号の差分から生成してもよい。
<デフォーカス量と像ずれ量の関係>次に、図6を参照して、撮像素子122により取得される第1焦点検出信号と第2焦点検出信号のデフォーカス量と像ずれ量の関係について説明する。
図6は、第1焦点検出信号と第2焦点検出信号のデフォーカス量と第1焦点検出信号と第2焦点検出信号間の像ずれ量の関係を示している。撮像面800に撮像素子122(不図示)が配置され、図4および図5と同様に、撮像素子122の瞳面が、第1瞳部分領域501と第2瞳部分領域502に2分割される。デフォーカス量dは、被写体の結像位置から撮像面までの距離を大きさ|d|とし、被写体の結像位置が撮像面より被写体側にある前ピン状態を負符号(d<0)として定義される。また、被写体の結像位置が撮像面より被写体の反対側にある後ピン状態を正符号(d>0)として定義される。被写体の結像位置が撮像面(合焦位置)にある合焦状態はd=0である。図6において、被写体801は合焦状態(d=0)の例を示しており、被写体802は前ピン状態(d<0)の例を示している。前ピン状態(d<0)と後ピン状態(d>0)を合わせて、デフォーカス状態(|d|>0)とする。
前ピン状態(d<0)では、被写体802からの光束のうち、第1瞳部分領域501(第2瞳部分領域502)を通過した光束は、一度、集光した後、光束の重心位置G1(G2)を中心として幅Γ1(Γ2)に広がり、撮像面800でボケた像となる。ボケた像は、撮像素子122に配列された各画素を構成する第1焦点検出画素201(第2焦点検出画素202)により受光され、第1焦点検出信号(第2焦点検出信号)が生成される。よって、第1焦点検出信号(第2焦点検出信号)は、撮像面800上の重心位置G1(G2)に、被写体802が幅Γ1(Γ2)にボケた被写体像として記録される。被写体像のボケ幅Γ1(Γ2)は、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね、比例して増加していく。同様に、第1焦点検出信号と第2焦点検出信号間の被写体像の像ずれ量p(=光束の重心位置の差G1−G2)の大きさ|p|も、デフォーカス量dの大きさ|d|が増加するのに伴い、概ね、比例して増加していく。後ピン状態(d>0)でも、第1焦点検出信号と第2焦点検出信号間の被写体像の像ずれ方向が前ピン状態と反対となるが、同様である。
第1焦点検出信号と第2焦点検出信号、もしくは、第1焦点検出信号と第2焦点検出信号を加算した撮像信号のデフォーカス量の大きさが増加するのに伴い、第1焦点検出信号と第2焦点検出信号間の像ずれ量の大きさが増加する。焦点調節部129は、撮像信号のデフォーカス量の大きさが増加するのに伴い、第1焦点検出信号と第2焦点検出信号間の像ずれ量の大きさが増加する関係性から、基線長に基づいて算出された変換係数により像ずれ量をデフォーカス量dに変換する。
<撮影時の処理>次に、図7から図10を参照して、実施形態1の撮影時の処理について説明する。
図7は、実施形態1の撮像装置10による撮影時の処理のフローチャートを示している。なお、図7の処理は、カメラMPU125およびレンズMPU117がプログラムを実行し、レンズユニット100およびカメラ本体120の各部を制御することにより実現される。
ステップS701では、カメラMPU125は、被写体検出部132を制御し被写体検出を実行する。
ここで、図8を参照して、実施形態1の被写体検出部132により検出される被写体の種類、部位および状態(検出タイプ)、被写体の位置およびサイズ(検出領域)について説明する。
図8は、被写体(検出対象)と、被写体の検出領域の関係を示している。図8の801〜808は、被写体検出部132が検出した被写体の検出領域であり、各被写体801〜808の検出タイプ(種類、部位、状態)と検出領域(位置、サイズ)は、表1に示す通りである。
このように、被写体検出部132は、画像処理部124により生成される被写体検出用の信号に基づいて、検出タイプと検出領域の検出を行う。
実施形態1では、1つの被写体検出用の信号から複数の被写体に関する検出タイプと検出領域を取得したが、最も主らしい被写体の検出タイプと検出領域のみを取得してもよい。また、検出タイプは種類、部位、状態の全てに限らず、種類、部位、状態の少なくとも1つ、種類だけ、部位だけ、状態だけでもよいし、別の指標であってもよい。
(表1)
ステップS702では、カメラMPU125は、ステップS701で検出された被写体の中から、主被写体を選択する。主被写体の選択方法は、予め定められた検出タイプ(種類、部位、状態)および検出領域(位置、サイズ)の優先順位に応じて決定される。例えば、撮影頻度の高いものほど優先順位を高く設定し、検出タイプの種類は、人、犬、鳥、車、飛行機の順、検出タイプの状態は、走り、飛行、静止の順、検出領域の位置は、中央像高ほど、検出領域のサイズは、大きいものほど優先順位を高く設定する。
ステップS703では、カメラMPU125は、焦点調節部129を制御し、S702で選択された主被写体に対して焦点調節を実行する。焦点調節処理については後述する。
ステップS704では、カメラMPU125は、合焦判定を行う。合焦と判定された場合はステップS705へ進み、合焦でないと判定された場合はステップS701へ進める。
ステップS705では、カメラMPU125は、ホワイトバランス調整部132を制御し、S702で選択された主被写体に対してホワイトバランス調整処理を実行する。ホワイトバランス調整処理については後述する。
ステップS706では、カメラMPU125は、露光調節部131を制御し、S702で選択された主被写体に対して露光調節処理を実行する。露光調節処理については後述する。
ステップS707では、カメラMPU125は、撮影を実行する。ステップS707を終えると処理を終了する。
<焦点調節処理>次に、図7のステップS703における焦点調節処理について説明する。
図9は、実施形態1の焦点調節処理のフローチャートを示している。なお、図9の処理は、焦点調節部129によって実行される。
ステップS901では、焦点調節部129は、取得ブロック129aが、図7のステップS701〜S702で検出した主被写体の被写体検出結果(検出タイプ、検出領域)を取得する。
ステップS902では、焦点調節部129は、取得ブロック129aが、焦点調節動作のモードとしてAFモード(ワンショットAFまたはサーボAF)を取得する。ワンショットAFは、静止している被写体にピントを固定するAFモードであり、サーボAFは、動いている被写体にピントを合わせ続けるAFモードである。
ステップS903では、焦点調節部129は、取得ブロック129aが、ステップS901で取得した被写体検出結果と、ステップS902で取得したAFモードに応じた測距領域設定倍率を取得する。表1は、被写体検出結果の検出タイプ(被写体の種類、部位、状態(動き)、AFモード(ワンショットAF、サーボAF)ごとの測距領域設定倍率β1〜β16を示している。ステップS903では、β1〜β16の測距領域設定倍率を、被写体検出結果とAFモードに応じて取得する。
ステップS904では、焦点調節部129は、ステップS901で取得した主被写体の位置およびサイズと、ステップS903で取得した測距領域設定倍率とに基づいて測距領域を設定する。
図10は、図9のステップS904で設定される測距領域を示している。図10(a)は、図8の801でAFモードがワンショットAF時に対して、測距領域を設定した様子を示している。図10(b)は、図8の803でAFモードがワンショットAF時に対して、測距領域を設定した様子を示している。図10(c)は、図8の804でAFモードがワンショットAF時に対して、測距領域を設定した様子を示している。図10(d)は、図8の804でAFモードがサーボAF時に対して、測距領域を設定した様子を示している。図10(e)は、図8の808でAFモードがサーボAF時に対して、測距領域を設定した様子を示している。
図10(a)は、被写体状態が静止で、AFモードがワンショットAFであるため、測距領域設定倍率β1は小さく設定されている。
図10(b)は、被写体種類が犬、被写体状態が静止、AFモードがワンショットAFで図10(a)と同じであるが、被写体部位が全身であるため、測距領域設定倍率β3はβ1よりさらに小さく設定されている。全身は顔よりも大きくなるため、検出サイズに対する被写体の移動量は、全身の方が小さくなる。そのため、測距領域設定倍率β3はβ1よりさらに小さく設定するのが適している。
図10(c)は、被写体種類が犬、被写体部位が全身、AFモードがワンショットAFで、図10(b)と同じであるが、被写体状態が走りであるため、測距領域設定倍率β4はβ3より大きく設定されている。被写体状態が走りの場合は、検出サイズに対する被写体の移動量は大きくなる。そのため、測距領域設定倍率β4はβ3より大きく設定するのが適している。
図10(d)は、被写体種類が犬、被写体部位が全身、被写体状態が走りで、図10(c)と同じであるが、AFモードがサーボAFであるため、測距領域設定倍率β12はβ4よりさらに大きく設定されている。AFモードがサーボAFの場合は、ユーザがフレーミングのためにカメラを動かしている可能性が高く、検出サイズに対する被写体の移動量は大きくなる可能性が高い。そのため、測距領域設定倍率β12はβ4より大きく設定するのが適している。
図10(e)は、被写体部位が全身、AFモードがサーボAFで、図10(d)と同じであるが、被写体種類が鳥、被写体状態が飛行である点が異なる。犬が走っている場合よりも、鳥が飛行している場合の方が、検出サイズに対する被写体の移動量は大きくなりやすいため、測距領域設定倍率β16はβ12よりさらに大きく設定するのが適している。
このように、被写体の種類や状態(動き)に応じて測距領域設定倍率を設定する。例えば、検出領域のサイズに対する被写体の移動量が小さい場合には、測距領域設定倍率が小さくなるように設定することで、測距領域が狭くなり(視野長が短くなり)、遠近競合が低減される。また、検出領域のサイズに対する被写体の移動量が大きい場合には、測距領域設定倍率が大きくなるように設定することで、測距領域が広くなり、視野長が長くなるものの、被写体の位置ずれに対応できるようになる。
本実施形態では、被写体検出部132が検出した被写体の状態に応じた測距領域設定倍率を取得したが、これに限定されるものではない。例えば、焦点調節部129が算出したデフォーカス量の変化から被写体の状態(動体か静止体かなど)を判定し、被写体の状態に応じた測距領域設定倍率を取得してもよい。また、不図示の動きベクトル検出部が検出した被写体位置情報の時間変化と、ジャイロセンサなどで検出した手振れ量やパンニング量から判定した被写体の状態に応じた測距領域設定倍率を取得してもよい。
ステップS905では、焦点調節部129は、算出ブロック129bが、ステップS904で設定された測距領域内の各測距点のデフォーカス量を算出する。
ステップS906では、焦点調節部129は、ステップS905で算出された各測距点のデフォーカス量に基づいて測距点を選択する。
ステップS907では、焦点調節部129は、算出ブロック129bが、ステップS906で選択された測距点のデフォーカス量に基づいてフォーカスレンズ駆動量を算出する。
ステップS908では、焦点調節部129は、ステップS907で算出されたフォーカスレンズ駆動量に基づいてフォーカスレンズを駆動する。ステップS908を終えると処理を終了する。
以上のように、実施形態1によれば、被写体検出結果(被写体の種類、部位、状態)および/またはAFモードに基づいて測距領域の位置およびサイズが設定される。詳しくは、被写体検出結果(被写体の種類、部位、状態)やAFモードに応じて測距領域設定倍率を取得し、測距領域設定倍率に基づいて処理(焦点調節、ホワイトバランス調整、露光調節)を行う被写体領域を設定する。これにより、検出対象の被写体に対して適切な処理を行うことが可能となる。
[実施形態2]以下、実施形態2について説明する。
実施形態1では、被写体検出結果やAFモードに応じて測距領域設定倍率を設定し、測距領域設定倍率に基づいて設定される測距領域内の測距点のデフォーカス量を用いて主被写体に対する焦点調節を行う構成について説明した。これに対して、実施形態2では、被写体検出性能のデフォーカス耐性から設定されるデフォーカス範囲内または被写体サイズから想定される被写体奥行き情報から設定されるデフォーカス範囲内の領域を主被写体の検出領域とそれ以外の領域に設定し、主被写体領域の測距点のデフォーカス量を用いて主被写体に対する処理(焦点調節、ホワイトバランス調整、露光調節)を行う構成について説明する。
なお、実施形態2の撮像装置10の構成、撮像素子122の構成、焦点検出方法、被写体検出方法、撮影時の処理は、実施形態1の図1から図7と同様である。
まず、図7のS701において、実施形態2の被写体検出部132により検出される被写体の種類(検出タイプ)、被写体の位置およびサイズ(検出領域)、被写体検出が可能なデフォーカス範囲(被写体検出性能のデフォーカス耐性)や被写体の奥行き倍率について説明する。
図11は、被写体(検出対象)と検出領域の関係を示している。図11の1101〜1106は、被写体検出部132が検出した被写体の検出領域である。各被写体1101〜1106の検出タイプ(被写体の種類)、検出領域(被写体の位置とサイズ)、被写体検出性能のデフォーカス耐性、被写体の奥行き倍率は、表2に示す通りである。
このように、被写体検出部132は、画像処理部124により生成される被写体検出用の信号に基づいて、主被写体の検出タイプと検出領域を取得する。
実施形態2では、1つの被写体検出用の信号から複数の被写体に関する検出タイプと検出領域を取得したが、最も主らしい被写体の検出タイプと検出領域のみを取得してもよい。また、検出タイプは種類を取得したが、これに限らず、別の指標であってもよい。また、実施形態2では、犬や鳥の全身、車や飛行機の全体を検出タイプの種類として取得したが、犬や鳥の顔や瞳などの特定部位や、車や飛行機の運転者や運転者の頭部などの特定部分を取得してもよい。
(表2)
次に、図12から図18を参照して、実施形態2の焦点調節処理、ホワイトバランス調整処理、露光調節処理について説明する。
<焦点調節処理>図12を参照して、実施形態2の焦点調節処理(図7のステップS703)について説明する。
図12は、実施形態2の焦点調節処理のフローチャートを示している。なお、図12の処理は、焦点調節部129によって実行される。
ステップS1201において、焦点調節部129は、取得ブロック129aが、図7のステップS701〜ステップS702で検出した主被写体の被写体検出結果(検出タイプ、検出領域)を取得する。
ステップS1202では、焦点調節部129は、ステップS1201で取得した主被写体の検出領域の中心位置を基準に測距領域を設定する。主被写体位置を基準に測距領域を設定することで、同時に演算可能な測距点数が限られていた場合であっても、主被写体近傍の測距結果を高密度に得ることができる。そして、その中から最適な測距結果を選択することで、主被写体へ適切に合焦させることが可能となる。被写体が非検出の状態の場合には、中央像高を中心位置として測距領域を設定する。
ステップS1203では、焦点調節部129は、算出ブロック129bが、ステップS1202で設定した測距領域内の各測距点のデフォーカス量を算出する。デフォーカス量算出処理については後述する。
ステップS1204では、焦点調節部129は、ステップS1201で取得した被写体検出結果の検出状態が、被写体を検出した状態か非検出の状態かを判定する。非検出の状態の場合はステップS1205へ進み、ステップS1205では、画像の全範囲を対象としたデフォーカス範囲を取得する。被写体を検出した状態の場合はステップS1206へ進む。
ステップS1206では、焦点調節部129は、AFモードがサーボAFであるか否かを判定する。サーボAFの場合は、被写体の動きに合わせてAF制御を継続するため、基本的に被写体近傍にピントが合っている状態である。サーボAFでない場合はステップS1207へ進み、ステップS1201で取得した被写体検出結果に応じたデフォーカス耐性に基づくデフォーカス範囲を取得する。被写体検出結果に応じたデフォーカス耐性に基づくデフォーカス範囲は、表2に示すように、被写体の種類、位置、サイズによって異なる。なお、実施形態2では、被写体の種類、位置、サイズによって異なるデフォーカス範囲を設定しているが、これに限らず、被写体の種類のみに基づいてデフォーカス範囲を設定してもよい。被写体の検出状態では、被写体は、被写体検出性能のデフォーカス耐性よりも大きいデフォーカス量とはならない。言い換えれば、被写体がデフォーカス耐性よりも大きいデフォーカス量であった場合、被写体検出結果は非検出状態となる。そのため、デフォーカス耐性に基づくデフォーカス範囲は、被写体の可能性が高いデフォーカス範囲であることを意味する。ステップS1206でサーボAFの場合はステップS1208に進む。
ステップS1208では、焦点調節部129は、取得ブロック129aが、被写体検出結果に応じた被写体奥行き倍率を取得する。被写体検出結果に応じた被写体奥行き倍率は、表2に示すように、被写体種類によって異なる。なお、実施形態2では、被写体の種類によって異なる奥行き倍率を設定しているが、これに限らず、被写体の位置やサイズによって異なる奥行き倍率を設定してもよい。被写体奥行き倍率は、被写体サイズに対する被写体の奥行きを倍率で表したものである。図13は被写体奥行き倍率の説明図であり、図11の被写体1101に対して、最大の被写体サイズ(h1、w1)に対する被写体奥行き倍率がγ1倍であることを示している。実施形態2では、最大の被写体サイズ(h1、w1)に対する倍率により被写体奥行きを表しているが、これに限らず、h1、w1のいずれかに対する倍率で表してもよいし、(h1、w1)の大きい方と同サイズ(γ1=1)としてもよい。
ステップS1209では、焦点調節部129は、取得ブロック129aが、レンズユニット100の光学情報を取得する。
ステップS1210では、焦点調節部129は、算出ブロック129bが、ステップS1201で取得した被写体検出結果の被写体サイズ、ステップS1208で取得した被写体奥行き倍率、ステップS1209で取得した光学情報の焦点距離と現在の被写体距離から、実空間上での被写体の想定奥行きサイズを算出する。被写体サイズを(h、w)、被写体奥行き倍率をγ、焦点距離をf、被写体距離をzとすると想定被写体奥行きサイズΔzは式1で表される。
(式1)
Δz=(z/f)max(h,w)γ
ステップS1211では、焦点調節部129は、算出ブロック129bが、ステップS1210で算出した想定奥行きサイズに基づいてデフォーカス範囲を算出する。焦点調節部129は、実空間上での想定奥行きサイズΔzから、像面上での被写体内深度差Δdefを算出し、被写体内深度差Δdefをデフォーカス範囲として取得する。被写体内深度差Δdefは式2で表される。
(式2)
Δdef=(f/z)2Δz=(f/z)max(h,w)γ
ステップS1212では、焦点調節部129は、ステップS1201で取得した被写体領域のうち、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲内の検出領域を第1領域に、それ以外の検出領域を第2領域に設定する。図14は、第1領域、第2領域の説明図である。図14の1401、1402は、図11の被写体領域1102に対して、ステップS1201で取得した被写体領域、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲から設定された測距領域内の第1領域、第2領域を示している。図14の1400_nはステップS1202で設定された測距領域内の測距点である。図14(a)は、各測距点から取得した信号に対して第1領域、第2領域の設定した状態を示している。図14(b)は、ステップS1202で測距領域を設定しステップS1203で算出したデフォーカス量(def)に基づいて、測距点分布を3段階(def<Def2、−Def2≦def≦Def2、−Def2<def)で分類した状態を示している。図14(a)で花の部分は、図14(b)で、def<Def2となっており、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲よりも至近側となっている。図14(a)で背景の部分は、図14(b)で、−Def2<defとなっており、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲よりも無限遠側となっている。このように、花や背景は、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲外となっており、第2領域として設定される。
ステップS1213では、焦点調節部129は、ステップS1212で設定した、第1領域、第2領域の優先順位に基づいて測距点を選択する。まず、最も優先順位の高い第1領域内の測距点の中で、被写体検出結果の信頼性が所定の閾値より高い測距点が存在する場合、その中で最至近のデフォーカス量を検出している測距点を選択する。次に、第1領域内に、信頼性が所定の閾値より高い測距点が存在しない場合、次に優先順位の高い第2領域の測距点の中で、信頼性が所定の閾値より高い測距点の中で最至近のデフォーカス量を検出している測距点を選択する。このように、優先順位の高い領域の中から優先して測距点を選択することで、被写体(検出対象)である領域における測距点を選択することができ、検出領域内に、検出対象以外が含まれる場合でも被写体(検出対象)に対して適切な測距を行うことが可能となる。
本実施形態では、第1領域内で最至近のデフォーカス量を検出している測距点を選択したが、これに限定されるものではない。例えば、ステップS1212で設定した第1領域内のデフォーカス量のヒストグラムを算出し、ヒストグラムの最頻値のデフォーカス量を検出している測距点を選択してもよい。また、本実施形態では、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲に基づいて、第1領域を設定し、第1領域内から測距点選択を行ったが、これに限定されるものではない。例えば、第1領域を設定せずに、測距領域全体からデフォーカス量のヒストグラムを算出し、ヒストグラム算出の際に、ステップS1205、ステップS1207、ステップS1211のいずれかで取得したデフォーカス範囲外のデフォーカス量は、ヒストグラム算出から除外する(頻度カウントしない)としてもよい。
ステップS1214では、焦点調節部129は、算出ブロック129bが、ステップS1213で選択した測距点のデフォーカス量に基づいてフォーカスレンズ駆動量を算出する。
ステップS1215では、焦点調節部129は、ステップS1214で算出したフォーカスレンズ駆動量に基づいてフォーカスレンズを駆動する。ステップS1215を終えると処理を終了する。
<ホワイトバランス調整処理>次に、図15を参照して、実施形態2のホワイトバランス調整処理(図7のステップS705)について説明する。
図15は、実施形態2のホワイトバランス調整処理のフローチャートを示している。なお、図15の処理は、ホワイトバランス調整部132によって実行される。
ステップS1501では、ホワイトバランス調整部132は、図7のステップS701〜ステップS702で検出した主被写体の被写体検出結果を取得する。
ステップS1502では、ホワイトバランス調整部132は、図12のステップS1212で設定された第1領域をカメラMPU125から取得する。
ステップS1503では、ホワイトバランス調整部132は、ステップS1502で取得した第1領域内のホワイトバランスのパラメータを算出する。本実施形態では、第1領域内のホワイトバランスのパラメータを算出したが、これに限らず、第1領域と第2領域に重みをつけてホワイトバランスのパラメータを算出してもよい。
ステップS1504では、ホワイトバランス調整部132は、予め定められた適切なホワイトバランスのパラメータを取得する。
ステップS1505では、ホワイトバランス調整部132は、ステップS1503で算出したホワイトバランスのパラメータと、ステップS1504で取得したホワイトのパラメータの差に基づき、撮像信号に対するホワイトバランスを調整する。ステップS1505を終えると処理を終了する。
<露光調節処理>次に、図16を参照して、実施形態2の露光調節処理(図7のS706)について説明する。
図16は、実施形態2の露光調節処理のフローチャートを示している。なお、図16の処理は、露光調節部131によって実行される。
ステップS1604では、露光調節部131は、図7のステップS701〜ステップS702で検出した主被写体の被写体検出結果を取得する。
ステップS1602では、露光調節部131は、図12のステップS1212で設定した第1領域、第2領域をカメラMPU125から取得する。
ステップS1603では、露光調節部131は、ステップS1602で取得した第1領域、第2領域に重みづけを設定する。
ステップS1604では、露光調節部131は、ステップS1603で設定した第1領域、第2領域の重みづけに応じて、第1領域、第2領域の測光結果を重みづけして露光量を算出する。本実施形態では、第1領域、第2領域に重みづけして露光量を算出したが、これに限らず、第1領域のみから露光量を算出してもよい。
ステップS1605では、露光調節部131は、予め定められた適切な露光量を取得する。
ステップS1606では、露光調節部131は、ステップS1604で算出した露光量と、ステップS1605で取得した露光量の差を演算し、撮影時の露光条件を調整する。ステップS1606を終えると処理を終了する。
<デフォーカス量算出処理>次に、図17を参照して、図12のステップS1203におけるデフォーカス量算出処理について説明する。
図17は、実施形態2のデフォーカス量算出処理のフローチャートを示している。なお、図17の処理は、焦点調節部129によって実行される。
ステップS1701では、焦点調節部129は、取得ブロック129aが、焦点検出信号、被写体検出結果を取得する。
ステップS1702では、焦点調節部129は、ステップS1701で取得した焦点検出信号に対してフィルタ処理を行う。
ステップS1703では、焦点調節部129は、算出ブロック129bが、ステップS1702でフィルタ処理を行った焦点検出信号に対して相関演算を行う。
ステップS1704では、焦点調節部129は、ステップS1701で取得した被写体検出結果が、被写体を検出した状態であるか、非検出の状態であるかを判定する。非検出の場合はステップ14905へ進み、ステップS1705では、画像の全範囲を対象としたデフォーカス範囲を取得する。被写体を検出した状態の場合はステップS1706に進む。
ステップS1706では、焦点調節部129は、AFモードがサーボAFであるか否かを判定する。サーボAFでない場合はステップS1707へ進み、ステップS1701で取得した被写体検出結果に応じたデフォーカス耐性に基づくデフォーカス範囲を取得する。サーボAFの場合はステップS1708へ進む。
ステップS1708では、焦点調節部129は、取得ブロック129aが、被写体検出結果に応じた被写体奥行き倍率を取得する。
ステップS1709では、焦点調節部129は、取得ブロック129aが、レンズユニット100の光学情報を取得する。
ステップS1710では、焦点調節部129は、算出ブロック129bが、ステップS1701で取得した被写体検出結果の被写体サイズ、ステップS1708で取得した被写体奥行き倍率、ステップS1709で取得した光学情報の焦点距離と現在の被写体距離から、実空間上での被写体の想定奥行きサイズを式1により算出する。
ステップS1711では、焦点調節部129は、取得ブロック129aが、ステップS1710で算出した実空間上での想定奥行きサイズから、像面上での被写体内深度差Δdefを式2により算出し、被写体内深度差Δdefをデフォーカス範囲として取得する。
ステップS1712では、焦点調節部129は、ステップS1703の相関演算で算出された相関値の中から、ステップS1705、ステップS1707、ステップS1711のいずれかで取得したデフォーカス範囲内で、信頼性最大極値を選択する。
図18は、ステップS1712で選択される相関量の極値の説明図である。図18の1801は相関演算で算出された相関値であり、図18の1802は、ステップS1705、ステップS1707、ステップS1711のいずれかで取得したデフォーカス範囲、図18の1803、1804は相関量の極小値である。実施形態2では、図11の被写体1102が検出された場合の−Def2≦def≦Def2の例を説明する。1つの測距点内に被写体と、被写体とは距離の異なる障害物などが混在している場合、図18の1803、1804ように相関量の極小値が2つとなる場合がある。このような場合、どちらが被写体かを判別できない。そこで、実施形態2では、ステップS1705、ステップS1707、ステップS1711のいずれかで取得したデフォーカス範囲に限定して極小値を選択することで、明らかに被写体ではない極小値1804を選択から除外することが可能となる。
ステップS1713では、焦点調節部129は、ステップS1712で選択した極値のデフォーカス量を算出する。ステップS1713を終えると処理を終了する。
以上のように、実施形態2によれば、被写体検出性能のデフォーカス耐性から設定されるデフォーカス範囲内または被写体サイズから想定される被写体奥行き情報からデフォーカス範囲を取得し、デフォーカス範囲内の領域とそれ以外の領域の優先順位に基づいて処理(焦点調節、ホワイトバランス調整、露光調節)を行う被写体領域を選択する。これにより、検出領域内に検出対象以外の被写体が含まれる場合であっても、検出対象の被写体に対して適切な処理を行うことが可能となる。
[他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。