以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態にかかる焦点検出装置を備えた撮像装置の概略構成を示すブロック図である。本第1の実施形態における撮像装置は、レンズ交換式の一眼レフカメラ(以下、単に「カメラ」と称する。)100である。カメラ100は、カメラ本体30と、カメラ本体30に脱着可能に構成された撮影レンズユニット20とで構成される。撮影レンズユニット20とカメラ本体30は、図1の点線で示したマウントを介して接続される。なお、本実施形態は、レンズ交換式のカメラに限定されず、レンズユニットとカメラ本体が一体的に構成されたカメラにも適用可能である。
撮影レンズユニット20は、撮影レンズ21と、絞り22と、レンズ側マイクロプロセッシングユニット(MPU)1と、レンズ駆動ユニット2と、絞り駆動ユニット3と、繰り返し位置検出ユニット4と、メモリ5とを備える。撮影レンズ21と絞り22により、撮影光学系が構成される。
レンズ側MPU1は、撮影レンズユニット20の動作に関する全ての演算及び制御を行う。レンズ駆動ユニット2は、レンズ側MPU1による制御に応じて撮影レンズ21を駆動する駆動部である。絞り駆動ユニット3は、レンズ側MPU1による制御に応じて絞り22を駆動する駆動部である。繰り返し位置検出ユニット4は、レンズ鏡筒の繰り返し位置を検出する検出部である。メモリ5は、自動焦点調節に必要な光学情報である光学情報テーブルを記憶している。
カメラ本体30は、カメラ側MPU6と、焦点検出ユニット7と、シャッター駆動ユニット8と、ダイヤルユニット10と、測光ユニット11とを備える。また、カメラ本体30は、メインミラー12と、サブミラー13と、ピント板14と、ペンタミラー15と、ファインダー16と、表示器17と、撮像素子(イメージセンサ)101と、スイッチSW1_18とスイッチSW2_19とを備える。
カメラ側MPU6は、カメラ本体30の動作に関する全ての演算及び制御を行う。また、カメラ側MPU6は、マウントの信号線を介してレンズ側MPU1に接続され、レンズ側MPU1からレンズ位置情報を取得したり、レンズ駆動及び交換レンズごとに固有の光学情報を取得したりする。
また、カメラ側MPU6には、カメラ本体30の動作を制御するためのプログラムが格納されたROM(不図示)、変数を記憶するRAM(不図示)、各種パラメータを記憶するEEPROM(電気的消去、書き込み可能メモリ)(不図示)が内蔵されている。ROMに格納されたプログラムにより、後述する焦点検出処理が実行される。
焦点検出ユニット7は後述する焦点検出センサを備え、位相差検出方式により焦点検出を行う。焦点検出ユニット7は、焦点検出センサからの信号読み出し完了をカメラ側MPU6に通知する。シャッター駆動ユニット8は、不図示のシャッターを駆動するための駆動部である。ダイヤルユニット10は、カメラ100の諸設定を変更するための操作部であり、ユーザが操作することで例えば、連続撮影速度(連写速度)やシャッター速度、絞り値、撮影モード等の切り替えなどを行うことができる。
測光ユニット11は測光センサを備え、不図示のレリーズボタンへの半押し操作に応じて、ペンタミラー15からの光束に基づき測光センサ(不図示)を介して測光処理を行う。測光センサは、フォトダイオード等の光電変換素子及びその信号処理回路等からなり、被写体の輝度レベルに関する信号出力を行い、その出力信号はカメラ側MPU6に入力される。
メインミラー12は、撮影レンズユニット20を介して入射された光束のほとんどを上方へ折り返し、ピント板14上に被写体像を結像させる機能を有する。ピント板14上の被写体像はペンタミラー15により正立正像に変換反射されてファインダー16へ導かれる。これにより、光学ファインダーとして機能する。なお、ペンタミラー15を透過した一部の光は、測光ユニット11へ導かれる。また、メインミラー12は、入射された光束の一部を透過させ、透過した光がサブミラー13を介して焦点検出ユニット7へと導かれる。そして、カメラ100が撮影状態になると、メインミラー12及びサブミラー13が光路から退避して、撮影レンズユニット20を介して入射される被写体からの光束がイメージセンサ101上に結像され、被写体の画像信号に光電変換されて出力される。
表示器17はLCD等により構成され、カメラの撮影モードに関する情報、撮影前のプレビュー画像と撮影後の確認用画像等を表示する。
スイッチSW1_18は、不図示のレリーズボタンの第1ストローク操作(例えば半押し)によりONするスイッチ、スイッチSW2_19は、不図示のレリーズボタンの第2ストローク操作(例えば全押し)によりONするスイッチである。
次に、焦点検出ユニット7を含む焦点検出装置の概略構成について図2を用いて説明する。上述したように、撮影レンズユニット20からの入射光の一部はメインミラー12を透過し、後方のサブミラー13で下方へ曲げられ、焦点検出ユニット7へ導かれる。焦点検出ユニット7は、視野マスク102、赤外線カットフィルタ103、フィールドレンズ104、絞り105、二次結像レンズ106、焦点検出センサ107、複数の反射ミラー108a〜108cで構成される。
焦点検出用の焦点検出センサ107は、撮影レンズユニット20の異なる射出瞳領域を通過した光束により形成される一対の被写体像を光電変換する、フォトダイオード等の光電変換素子で構成された一対のラインセンサ及びその信号処理回路等からなる。焦点検出センサ107、画素信号(像信号)を出力し、出力された像信号はカメラ側MPU6に入力される。以下、一対のラインセンサから出力された一対の像信号をA像(一方の像信号)、B像(他方の像信号)と呼ぶ。また、カメラ側MPU6は、異常画素検出部111、相関演算部112を有する。
次に、図1のカメラ100における基本動作を図3に示すフローチャートを用いて説明する。カメラ100の電源がONされると、メモリ内容や実行プログラムの初期化状態を検出すると共に、撮影準備動作を実行する。S11において、カメラ側MPU6は、ユーザーが各種ボタン(不図示)を操作してカメラの各種設定を行ったことを認識する。S12では、カメラ側MPU6は、スイッチSW1_18がONされたか否かの判定を行う。
スイッチSW1_18がONされた場合はS14に移行する。一方、ONされていない場合はS13に移行し、電源のON/OFF判定を行う。電源OFFの場合は一連の撮影動作を終了する。電源がONの場合は、S11の動作へ戻る。S14では、カメラ側MPU6は、スイッチSW1_18がONされたことに対応して、後述する焦点検出処理を行う。
後述する焦点検出処理後、S15においてカメラ側MPU6は、スイッチSW2_19がONされたか否かの判断を行い、スイッチSW2_19がONされたと判断すればS16で撮影処理を行う。一方、スイッチSW2_19がONされていないと判断するとS11へ戻る。
図4は、本第1の実施形態における図3のS14で行われる焦点検出処理を示すフローチャートである。S20では、カメラ側MPU6は焦点検出センサ107に対して、信号蓄積指示を出力する。指示に基づき、焦点検出センサ107は信号蓄積動作を開始する。そして、蓄積動作が終了すると焦点検出センサ107は、一対のラインセンサで得た像信号をそれぞれA像、B像としてカメラ側MPU6に出力する。
図4のS20で出力したA像、B像の一例を図5に示す。A像とB像は−2〜−3bitの位相差がある。ここでは、A像がB像に対して右に存在する場合を負の位相差と定義する。図5に示すA像、B像の信号レベルは、共に飽和レベルを超えていない。仮に、A像、B像に飽和レベルを超えている画素が存在している場合、飽和レベルを超えた画素信号は飽和レベルにクリップされて出力される。
次にS21では、カメラ側MPU6はA像、B像を基に、相関演算部112にて第1相関演算(前処理)を行う。ここで第1相関演算について、詳細に説明する。なお、以下の説明において、焦点検出センサから取得した像信号を相対的にシフトさせた波形をシフト波形と呼ぶ。まず、第1相関演算におけるA像、B像のシフト波形と相関量の演算方法について、図6を用いて説明する。
図6(a)はシフト量0のシフト波形、図6(b)はシフト量−1bitのシフト波形、図6(c)はシフト量−2bitのシフト波形を示している。ここでは、B像を固定して、A像を左右にシフトすることでシフト量を制御する。シフト量kbitでの相関量C(k)は、相関演算式(1)を用いて演算することができる。
この例では、最大シフト量は±4bitとし、9つのシフト波形をRAMに保存する。また、演算範囲はシフト可能な最大シフト量を考慮し、出力されたA像、B像の総画素数mのうち、最初と最後の4bit分を演算から除外した範囲を演算範囲として設定する。そこで、各シフト波形のA像、B像の差分面積(図6(a)〜(c)の斜線部の面積)を相関量Cとし、各シフト波形の相関量Cが最も小さくなるシフト量がA像、B像の位相差に対応する。
このように、図6(a)の画素信号に対して、±4bitシフトさせた相関量Cを図7に示す。シフト量k=−2bitの相関量C(−2)が最も小さい値となっているが、極小値は点線で示すようにk=−2〜−3bitの間にある。そこで、シフト量k=−2bitとその近傍の相関量情報から補間演算することで、位相差検出の分解能を上げる。ここでは、シフト量k=−1〜−4bitの4つの相関量Cを用いることで補間演算している。
S22では、カメラ側MPU6は、図2に示す異常信号を検出する手段を備えた異常画素検出部111により、S20で取得した一対の像信号、A像、B像中における異常画素(飽和画素、欠陥画素)を検出する。なお、以下の説明では異常画素が飽和画素であるものとして説明する。
S23では、S22で検出した情報を基に飽和画素が存在するか否かの判定を行う。飽和画素が存在しない場合はS25に移行する。一方、飽和画素が存在する場合はS24に進み、飽和画素信号を除外する第2相関演算を行う。なお、第2相関演算についての詳細は後述する。
S25では、S21もしくはS24で算出された位相差の情報に基づき、レンズ駆動量を算出してレンズ側MPU1に送信する。レンズ側MPU1は送信されたレンズ駆動量を基にレンズ駆動制御を行い、一連の焦点検出処理を終了する。
次に、S24で行われる第2相関演算について説明するが、第2相関演算の説明に先立って、飽和画素が存在する場合の相関演算誤差について、図5に示す像信号の飽和レベルを低くすることで説明する。図8は、飽和レベルを低くすることで、図5に示す像信号であるA像、B像の一部の画素が飽和レベルを超えた場合を示している。もちろん、飽和レベルを変えずに、例えばゲインをかけて信号レベルを上げても同様の現象が起きる。
飽和画素なしの像信号(図5)と、飽和画素ありの像信号(図8)について、上記(1)式を用いて相関量Cを算出した比較結果を図9に示す。図9に示す例では、飽和画素のあり/なしに関わらず、シフト量k=−2bitで相関量Cは最小となる。しかしながら、補間演算した結果は、飽和画素のあり/なしで差が生じる。この差は、飽和画素信号が飽和レベルにクリップされるため生じるもので、位相差を演算する際の誤差となってしまう。そこで、この誤差を軽減するために飽和画素信号を除外した第2相関演算を行う。
以下、第2相関演算について、図10のフローチャートを用いて詳細に説明する。第1相関演算では、シフト量k=−4〜+4bit、つまり9つのシフト波形の相関量を演算しているのに対して、第2相関演算では、第1相関演算の結果、最小の相関量Cの近傍に対応する4つのシフト波形から飽和画素信号は除外して、相関量を演算する。
S30では、第1相関演算で検出した位相差Pを基に第2相関演算で使用するシフト量の範囲を決定する。まず、最初に処理を行うシフト波形のシフト量k=F−1に設定する。Fは検出した位相差Pよりも小さい整数に丸めた値とする。図7を例にすると、位相差P=−2bitと−3bitの間であるため、F=−3となる。
S31では、第1相関演算で取得したシフト量kのシフト波形(k)をRAMから読み出す。S32で、S31で読み出したシフト波形(k)から1画素ずつA像、B像のいずれかが飽和画素であるか判断し、飽和画素の位置を検知する。ここでは、画素信号と予めRAMに記憶してある飽和レベルの値と比較することで飽和の判定を行う。
S33では、S32で飽和画素と判定された画素位置をRAMに記憶する。S34では、kがF+2以上か否かの判定を行い、F+2以上であればS36へ移行する。つまり、ここでは4つのシフト量のシフト波形について飽和画素の検知処理を行った場合に次のS36へ移行する。一方、F+2よりも小さければ、飽和画素を検知すべきシフト波形が残っているので、S35で、シフト量k=k+1を設定し、次のシフト量のシフト波形について検知処理を行う。
S36では、S33で飽和画素位置として記憶された画素位置をRAMから読み出し、4つのシフト波形のいずれか一か所でも飽和画素位置として記憶された画素位置の画素信号を0とする。これにより、後で行う相関演算において、それらの画素位置の画素信号を除外する。
ここでS36で行われる除外画素の決定処理について、図11及び図12を用いて詳細に説明をする。図11は第2相関演算で用いる4つのシフト波形を示している。なお、横軸は画素位置、縦軸は像信号を示している。
図11におけるシフト波形は、図4のS21の第1相関演算結果でRAMに記憶したF−1、F、F+1、F+2のシフト量であり、ここではF=−3のためシフト量k=−4、−3、−2、−1bit(第1のシフト量)のシフト波形である。図11(a)はシフト量k=−1bitのシフト波形であり、画素位置9〜12でA像、B像のいずれかに飽和画素が存在している。この場合、カメラ側MPU6は飽和画素位置として画素位置9、10、11、12の4画素をRAMに記憶する。
図11(b)はシフト量k=−2bit(第2のシフト量)のシフト波形であり、図11(a)と同様の判定により画素位置9、10、11の3画素をRAMに記憶する。図11(c)はシフト量k=−3bitのシフト波形であり、上記と同様の判定により画素位置9、10、11の3画素をRAMに記憶する。図11(d)はシフト量k=−4bitのシフト波形であり、上記と同様の判定により画素位置8、9、10、11の4画素をRAMに記憶する。
図12は、図11(a)〜(d)のシフト波形における飽和画素位置を表にまとめて示したものである。図12において、飽和画素、及び、後述する除外画素に対応した画素位置は「×」で表している。このようにシフト波形によってA像、B像のいずれかが飽和している画素の数が異なる。
また、第2相関演算における相関量Cは、相関演算式(1)で示したように、各画素の対になっている像信号の差分を総和した値である。飽和画素のみ、または、飽和画素及び飽和画素と対になる画素のみを除外すると、シフト波形毎に演算画素数が異なり、総和する画素数が異なるため、位相差を示すそれぞれの相関量の基準が異なってしまい、正しい演算結果を求めることができない。
そこで図11(a)〜(d)のいずれかのシフト波形で、画素位置(i)(第1の位置)を飽和画素位置として記憶している場合、他のシフト波形においても画素位置(i)を除外画素とする。この場合、除外画素は正常画素であってもよい。つまり、第2相関演算に用いる4つのシフト波形においては、図12に示すように、8、9、10、11、12の5画素が除外画素となる。したがって、例えば、図11(a)のシフト波形では画素位置9、10、11、12が飽和画素であるが、正常画素である画素位置8についても飽和画素と同様に扱う。
S37では、S36で飽和画素と決定された位置の画素信号を0とした4つのシフト波形について、第1相関演算と同様に上記式(1)を用いて相関量Cを求め、それぞれの相関量Cから極小値となるシフト量を求め、第2相関演算結果とする。そして、相関量C(F−1)とC(F)をつないだ直線と、相関量C(F+1)とC(F+2)をつないだ直線の交点を相関量の極小値とし、位相差を算出する。
以上説明したように、S36で、A像、B像のいずれかに飽和画素が存在するとき、その画素の画素信号を0にしている。これにより、S37で相関量Cを演算する際、上記式(1)で対になっている第1項、第2項の画素信号が0になることで、相関量Cから飽和した画素信号を取り除くことができる。
さらに、S36で、いずれかのシフト波形で飽和画素位置とした画素を4つのシフト波形から取り除いているため、S37で4つのシフト波形の相関量Cを演算する際に、演算範囲及び演算画素数が等しくなり、高精度に位相差を検出することができる。
さらに、第1相関演算結果に基づいて第2相関演算で使用するシフト範囲を狭くすることで、S36で飽和画素数として除外される画素数を少なくすることができる。したがって、相関演算に使用する画素数が減少することで生じる焦点検出精度の悪化を回避することができる。
また、上記第1の実施形態においては、図12に示すように、4つのシフト波形の少なくともいずれかにおいて飽和画素と判断された画素位置を除外画素とする場合について説明した。すなわち、全てのシフト波形における除外画素の画素数が同じ数になるように、正常画素を含めて除外画素の数を最小に抑えるように決定すれば良い。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本第2の実施形態では、イメージセンサに焦点検出用の画素が離散的に配置されている場合の焦点検出処理について説明する。
図13は第2の実施形態におけるイメージセンサ101の概略構成を示す回路図である。図13では2次元CMOSエリアセンサの2列×4行画素の範囲を示しているが、実際には、図13に示した画素を多数配置し、高解像度画像の取得を可能としている。ここでは、画素ピッチが2μm、有効画素数が横3000列×縦2000行=600万画素、撮像画面サイズが横6mm×縦4mmのデジタルスチルカメラ用イメージセンサとして説明を行う。
図13において、201はMOSトランジスタゲートとゲート下の空乏層からなる光電変換素子の光電変換部、202はフォトゲート、203は転送スイッチMOSトランジスタ、204はリセット用MOSトランジスタである。205はソースフォロワアンプMOSトランジスタ、206は水平選択スイッチMOSトランジスタ、207はソースフォロワの負荷MOSトランジスタである。208は暗出力転送MOSトランジスタ、209は明出力転送MOSトランジスタ、210は暗出力蓄積容量CTN、211は明出力蓄積容量CTSである。212は水平転送MOSトランジスタ、213は水平出力線リセットMOSトランジスタ、214は差動出力アンプ、215は水平走査回路、216は垂直走査回路である。
図14は、図13のY方向の2つの画素に係る配線部の断面図を示す。同図において、217はP型ウェル、218はゲート酸化膜、219は一層目ポリSi、220は二層目ポリSi、221はn+フローティングディフュージョン(FD)部である。FD部221は2つの転送MOSトランジスタを介して2つの光電変換部と接続される。同図において、2つの転送MOSトランジスタ203のドレインとFD部221を共通化して微細化とFD部221の容量低減による感度向上を図っているが、アルミ(Al)配線でFD部221を接続しても良い。
次に、図15のタイミングチャートを用いて、図13及び図14に示すイメージセンサ101における全画素独立出力の場合の動作について説明する。
まず、垂直走査回路216からのタイミング出力によって、制御パルスφLをハイとして垂直出力線をリセットする。また、制御パルスφR0、φPG00、φPGe0をハイとし、リセット用MOSトランジスタ204をオンとし、フォトゲート202の一層目ポリシリコン219をハイとしておく。時刻T0において、制御パルスφS0をハイとし、選択スイッチMOSトランジスタ206をオンさせ、第1及び第2ラインの画素を選択する。次に制御パルスφR0をローとし、FD部221のリセットを止め、FD部221をフローティング状態とし、ソースフォロワアンプMOSトランジスタ205のゲート・ソース間をスルーとする。その後、時刻T1において制御パルスφTNをハイとし、FD部221の暗電圧をソースフォロワ動作で蓄積容量CTN210に出力させる。
次に、第1ラインの画素から光電変換出力を行うため、先ず、第1ラインの制御パルスφTX00をハイとして転送スイッチMOSトランジスタ203を導通する。その後、時刻T2において制御パルスφPG00をローとして下げる。この時フォトゲート2の下に拡がっていたポテンシャル井戸を上げて、光発生キャリアをFD部221に完全転送させるような電圧関係が好ましい。従って完全転送が可能であれば制御パルスφTXはパルスではなくある固定電位でもかまわない。
時刻T2でフォトダイオードの第1ラインの画素からの電荷がFD部221に転送されることにより、FD部221の電位が光に応じて変化することになる。この時ソースフォロワアンプMOSトランジスタ205がフローティング状態であるので、FD部221の電位を時刻T3において制御パルスφTsをハイとして蓄積容量CTS211に出力する。この時点で第1ラインの画素の暗出力と明出力はそれぞれ蓄積容量CTN210とCTS211に蓄積される。時刻T4で制御パルスφHCを一時ハイとして水平出力線リセットMOSトランジスタ213を導通して水平出力線をリセットし、水平転送期間において水平走査回路215の走査タイミング信号により水平出力線に画素の暗出力と明出力を出力させる。この時、蓄積容量CTN210とCTS211の差動増幅器214によって、差動出力VOUTを取れば、画素のランダムノイズ、固定パターンノイズを除去したS/Nの良い信号が得られる。
また、第1ラインの画素の暗出力及び明出力は、同時に夫々の垂直出力線に接続された蓄積容量CTN210とCTS211に蓄積されている。従って、水平転送MOSトランジスタ212を順次オンとしていくことにより、夫々の蓄積容量CTN210とCTS211に蓄積された電荷は、水平出力線に順次読み出され、差動増幅器214から出力される。
また、本第2の実施形態では、差動出力VOUTをチップ内で行う構成を示している。しかしながら、チップ内に含めず、外部で従来のCDS(Correlated Double Sampling:相関二重サンプリング)回路を用いても同様の効果が得られる。
一方、第1ラインの画素から蓄積容量CTS211に明出力を出力した後、制御パルスφR0をハイとしてリセット用MOSトランジスタ4を導通し、FD部221を電源VDDにリセットする。第1ラインの電荷の水平転送が終了した後、第2ラインの画素からの読み出しを行う。第2ラインの読み出しは、上述した第1ラインと同様にまず制御パルスφTXe0、制御パルスφPGe0を駆動させる。次に、制御パルスφTN、φTSに夫々ハイパルスを供給して、蓄積容量CTN210とCTS211に夫々暗出力と明出力を蓄積し、暗出力及び明出力を取り出す。
以上の駆動により、第1、第2ラインの読み出しを夫々独立に行うことができる。この後、垂直走査回路216を走査させ、同様にして第2n+1、第2n+2(n=1,2,…)の読み出しを行えば、全画素からの独立出力が行える。即ち、n=1の場合は、まず制御パルスφS1をハイとし、次にφR1をローとし、続いて制御パルスφTN、φTX01をハイとする。そして、制御パルスφPG01をロー、制御パルスφTSをハイ、制御パルスφHCを一時ハイとして第3ラインの各画素から暗出力及び明出力を読み出す。続いて、制御パルスφTXe1、φPGe1及び上記と同様に制御パルスを印加して、第4ラインの各画素から暗出力及び明出力を読み出す。
図16〜図18は、撮像用画素と焦点検出用画素の構造を説明する図である。本第2の実施形態においては、2行×2列の4画素のうち、対角2画素にG(緑色)の分光感度を有する画素を配置し、他の2画素にR(赤色)とB(青色)の分光感度を有する画素を各1個配置した、ベイヤー配列が採用されている。そして、このベイヤー配列の間に、後述する構造の焦点検出用画素が配置される。
図16に撮像用画素の配置と構造を示す。図16(a)は2行×2列の撮像用画素の平面図である。周知のごとく、ベイヤー配列では対角方向にG画素が、他の2画素にRとBの画素が配置される。そしてこの2行×2列の構造が繰り返し配置される。
図16(a)におけるA−A断面図を図16(b)に示す。MLは各画素の最前面に配置されたオンチップマイクロレンズ、CFRはR(赤色)のカラーフィルタ、CFGはG(緑色)のカラーフィルタである。PD(Photo Diode)はイメージセンサ101の光電変換素子を模式的に示したものである。CL(Contact Layer)は、イメージセンサ101内の各種信号を伝達する信号線を形成するための配線層である。TL(Taking Lens)は撮影レンズ21を模式的に示したものである。
ここで、撮像用画素のオンチップマイクロレンズMLと光電変換素子PDは、撮影レンズTLを通過した光束を可能な限り有効に取り込むように構成されている。換言すると、撮影レンズTLの射出瞳EP(Exit Pupil)と光電変換素子PDは、マイクロレンズMLにより共役関係にあり、かつ光電変換素子の有効面積は大面積に設計される。なお、図16(b)ではR画素の入射光束について説明したが、G画素及びB(青色)画素も同一の構造となっている。このように、撮像用のRGB各画素に対応した射出瞳EPは大径となり、被写体からの光束を効率よく取り込んで画像信号のS/Nを向上させている。
図17は、撮影レンズTLの、図中x方向に瞳分割を行うための焦点検出用画素の平面図と断面図を示す。図17(a)は、焦点検出用画素を含む2行×2列の画素の平面図である。記録又は観賞のための画像信号を得る場合、G画素で輝度情報の主成分を取得する。これは、人間の画像認識特性は輝度情報に敏感であるためで、G画素が欠損すると画質劣化が認知されやすい。一方でR画素又はB画素は、色情報(色差情報)を取得する画素であるが、人間の視覚特性は色情報には鈍感であるため、色情報を取得する画素は多少の欠損が生じても画質劣化は認識され難い。そこで、本第2の実施形態においては、2行×2列の画素のうち、G画素は撮像用画素として残し、R画素とB画素をある割合で焦点検出用画素に置き換える。この焦点検出用画素対を図17(a)においてSHA及びSHBと示す。
図17(a)におけるB−B断面図を図17(b)に示す。マイクロレンズMLと、光電変換素子PDは図16(b)に示した撮像用画素と同一構造である。本第2の実施形態においては、焦点検出用画素の信号は画像生成には用いないため、色分離用カラーフィルタの代わりに透明膜CFW(白色)が配置される。また、イメージセンサ101で瞳分割を行うため、配線層CLの開口部はマイクロレンズMLの中心線に対してx方向に偏倚している。具体的には、画素SHAの開口部OPHAはマイクロレンズMLの中心線に対して−x方向に偏倚しているため、撮影レンズTLの+x方向の射出瞳領域EPHAを通過した光束を受光する。同様に、画素SHBの開口部OPHBはマイクロレンズMLの中心線に対して+x方向に偏倚しているため、撮影レンズTLの−x方向の射出瞳領域EPHBを通過した光束を受光する。
以上のような構成を有する画素SHAをx方向に規則的に配列し、これらの画素群の出力から、後述するようにしてA像(一方の像信号)を形成する。また、画素SHBもx方向に規則的に配列し、これらの画素群の出力から、後述するようにしてB像(他方の像信号)を形成する。そして、取得したA像とB像の相対位置を検出することで、x方向に輝度分布を有する被写体像のピントずれ量(デフォーカス量)を検出できる。
なお、上記画素SHA及びSHBでは、撮影画面のx方向に輝度分布を有した被写体、例えばy方向の線(縦線)に対しては焦点検出可能だが、y方向に輝度分布を有するx方向の線(横線)は焦点検出不能である。そこで本第2の実施形態では、後者についても焦点検出できるよう、撮影レンズのy方向にも瞳分割を行う画素も備えている。
図18は、撮影レンズTLの、図中y方向に瞳分割を行うための焦点検出用画素の平面図と断面図を示す。図18(a)は、焦点検出用画素を含む2行×2列の画素の平面図で、図17(a)と同様に、G画素は撮像用画素として残し、R画素とB画素をある割合で焦点検出用画素に置き換える。この焦点検出用画素対を図18(a)においてSVC及びSVDと示す。
図18(a)における断面C−Cを図18(b)に示すが、図17(b)に示す画素がx方向に瞳分離する構造であるのに対して、図18(b)に示す画素は瞳分離方向がy方向になっているだけで、画素の構造としては変わらない。すなわち、画素SVCの開口部OPVCはマイクロレンズMLの中心線に対して−y方向に偏倚しているため、撮影レンズTLの+y方向の射出瞳領域EPVCを通過した光束を受光する。同様に、画素SVDの開口部OPVCはマイクロレンズMLの中心線に対して+y方向に偏倚しているため、撮影レンズTLの−y方向の射出瞳領域EPVDを通過した光束を受光する。
以上のような構成を有する画素SVCをy方向に規則的に配列し、これらの画素群の出力から、後述するようにしてC像(一方の像信号)を形成する。また、画素SVDもy方向に規則的に配列し、これらの画素群の出力から、後述するようにしてD像(他方の像信号)を形成する。そして、取得したC像とD像の相対位置を検出することで、y方向に輝度分布を有する被写体像のピントずれ量(デフォーカス量)を検出できる。
図19から図23は、図16〜図18で説明した撮像用画素と焦点検出用画素の配置規則を説明する図である。図19は撮像用画素の間に焦点検出用画素を離散的に配置する場合の、最小単位の配置規則を説明するための図である。図19において、10行×10列=100画素をひとつのブロックと定義する。そして一番左上のブロックBLK(i,j)=BLK(1,1)とし、下方向と右方向を正とする。そして、ブロックBLK(1,1)において、一番左下のR画素とB画素を、水平方向に瞳分割を行う1組の焦点検出用画素SHA及びSHBで置き換える。
その右隣りのブロックBLK(1,2)においては、同じく一番左下のR画素とB画素を、垂直方向に瞳分割を行う1組の焦点検出用画素SVC及びSVDで置き換える。また、最初のブロックBLK(1,1)の下に隣接したブロックBLK(1,1)の画素配列は、ブロックBLK(1,2)と同一とする。そして、その右隣りのブロックBLK(2,2)の画素配列は、ブロックBLK(1,1)と同一とする。
この場合、図19に示す配置規則を普遍的に表現すると、ブロックBLK(i,j)において、i+jが偶数なら瞳分割方向が水平方向の焦点検出用画素を配置し、i+jが奇数なら瞳分割方向が垂直方向の焦点検出用画素を配置する。そして、図19の2×2=4ブロック、すなわち20行×20列=400画素の領域を、ブロックの上位の配列単位として、クラスタと定義する。
図20は、クラスタを単位とした配置規則を説明するための図である。図20において、20行×20列=400画素で構成された一番左上のクラスタをCST(u,w)=CST(1,1)とし、下方向と右方向を正とする。そして、クラスタCST(1,1)においては、各ブロックの一番左下のR画素とB画素を、焦点検出用画素SHA及びSHB、もしくはSVC及びSVDで置き換える。
その右隣りのクラスタCST(1,2)においては、ブロック内における焦点検出用画素の配置を、クラスタCST(1,1)に対して上方向に2画素分シフトした位置に配置する。また、最初のクラスタCST(1,1)の下に隣接したクラスタCST(2,1)においては、ブロック内における焦点検出用画素の配置を、クラスタCST(1,1)に対して右方向に2画素分シフトした位置に配置する。以上の規則を繰り返し適用すると図20に示した配置が得られる。
ここで、焦点検出用画素の座標は、図17もしくは図18で示したG画素を含む4画素を一つの単位(ペア)とし、そのうちの左上の画素の座標で規定する。また各ブロック内の座標は左上を(1,1)とし、下方向と右方向を正とする。この場合、図20に示す配置規則を普遍的に表現すると以下のようになる。クラスタCST(u,w)において、各ブロック内の焦点検出用画素ペアの水平座標は2×u−1となり、垂直座標は11−2×wとなる。そして、図20の5×5=25クラスタ、すなわち100行×100列=1万画素の領域を、クラスタの上位の配列単位として、フィールドと定義する。
図21は、フィールドを単位とした配置規則を説明するための図である。図21において、100行×100列=1万画素で構成された一番左上のフィールドをFLD(q,r)=FLD(1,1)とし、下方向と右方向を正とする。そして本第2の実施形態では、すべてのフィールドFLD(q,r)は先頭フィールドFLD(1,1)と同様の配列となっている。そこで、FLD(1,1)を水平方向に30個、垂直方向に20個配列すると、3000列×2000行=600万画素の撮像領域は600個のフィールドで構成される。このように、撮像領域全面に渡って焦点検出用画素を均一に分布させることができる。
次に図22及び図23を用いて、焦点検出時の画素のグループと信号加算方法について説明する。図22は、撮影光学系によって形成された被写体像の、水平方向の焦点検出を行う場合の画素グループ化方法を説明する図である。水平方向の焦点検出とは、図17で説明した、撮影光学系の射出瞳を横方向(左右方向)に分割するための焦点検出用画素SHA及びSHBを用いて、位相差演算を行うことを指す。
図22に示す画素配列は図20に示すものと同様であるが、焦点検出の際には、水平方向に1ブロック、縦方向に10ブロックの合計10ブロックを1つのグループとし、これをセクションSCTh(k)と定義する。そして、本第2の実施形態では、水平方向に並んだ30セクション(k=1〜30)で、1つの焦点検出領域(AFエリア)を構成する。すなわち、100行×300列=3万画素の領域が1つの焦点検出領域となる。ここで、1つのセクション内においては、水平方向の瞳分割を行う焦点検出用画素SHAが5個、垂直方向の瞳分割を行う焦点検出用画素SHBも5個含まれている。そこで本第2の実施形態においては、5個の焦点検出用画素SHAの出力を加算して、位相差演算用のA像(一方の像信号)の1AF画素とする。同様に、5個のSHBの出力を加算して、位相差演算用のB像(他方の像信号)の1AF画素とする。
図23は、撮影光学系によって形成された被写体像の、垂直方向の焦点検出を行う場合の画素のグループ化方法を説明する図である。垂直方向の焦点検出とは、図18で説明した、撮影光学系の射出瞳を縦方向(上下方向)に分割するための焦点検出用画素SVC及びSVDを用いて、位相差式焦点検出を行うことを指す。すなわち、図22で説明した技術を90度回転したものに相当する。
図23に示す画素配列も図20に示すものと同様であるが、焦点検出の際には、垂直方向に10ブロック、縦方向に1ブロックの合計10ブロックを1つのグループとし、これをセクションSCTv(k)と定義する。そして、第2の実施形態では、垂直方向に並んだ30セクション(k=1〜30)で、1つの焦点検出領域を構成する。すなわち、300行×100列=3万画素の領域が1つの焦点検出領域となる。この1つの焦点検出領域も図22と同様にAFエリアと定義する。ここで、1つのセクション内においては、縦方向における一方の瞳分割を行う画素SVCが5個、他方の瞳分割を行う画素SVDも5個含まれている。そこで第2の実施形態においては、5個のSVCの出力を加算して、位相差演算用のC像(一方の像信号)の1AF画素とする。同様に、5個のSVDの出力を加算して、位相差演算用のD像(他方の像信号)の1AF画素とする。
図24から図26は、第2の実施形態に関わる撮影動作及び焦点検出処理を説明するためのフローチャートである。以下、ライブビュー撮影を前提として先に説明した図13から図23の各図を参照しながら、図24〜図26のフローチャートに沿って、第2の実施形態における撮影動作について説明する。
図24は第2の実施形態のカメラの撮影動作を示すフローチャートである。撮影者がカメラ100の電源スイッチをオン操作すると、S40においてメモリ内容や実行プログラムの初期化を行うと共に、撮影準備動作を実行する。更に、目標露光値を設定する。S41ではイメージセンサ101の撮像動作を開始する。S40で設定された目標露光値になるように露光時間を制御し、プレビュー用の低画素動画像を出力する。S42では読み出した動画をカメラ背面に設けられた表示器17に表示し、撮影者はこのプレビュー画像を目視して撮影時の構図決定を行う。
S43では、スイッチSW1_18がオン操作されたか否かを判別し、オン操作されていなければS41に戻る。そして、イメージセンサ101の駆動からS42のプレビュー画像表示を繰り返し実行する。S43でSW1_18がオン操作されるとS44に移行し、焦点検出処理を実行する。ここで行われる焦点検出処理について、図25を参照して説明する。
図25は、本第2の実施形態における焦点検出処理を示すフローチャートである。S50において、まず、カメラ側MPU6はイメージセンサ101に対して、信号蓄積指示を出力する。指示に基づき、イメージセンサ101は信号蓄積動作を開始する。そして、蓄積動作が終了すると焦点検出用画素を読み出す。第2の実施形態において、AF画素は図22、図23で説明した通り、複数の焦点検出用画素の出力を加算する構成になっている。イメージセンサ101はAF画素から得た像信号をA像、B像、もしくはC像、D像として、それぞれ一対の像信号をカメラ側MPU6に出力する。
次にS21では、第1の実施形態と同様にして第1相関演算を行う。なお、イメージセンサ101のAF画素から取得した像信号をシフトさせた波形をシフト波形と呼ぶ。まず、上述した相関演算式(1)を用いて、それぞれのシフト波形から相関量C(k)を演算し、像信号の位相差を算出する。
次にS51においてカメラ側MPU6は、S50で取得した一対の像信号における異常画素(飽和画素、欠陥画素)を検出する。ここでは異常画素として飽和画素を検出する。
第2の実施形態において、AF画素は複数の焦点検出用画素の出力を加算する構成になっている。ここで定義する飽和画素は、各セクションSCTh(k)、SCTv(k)に含まれる焦点検出用画素に一つでも飽和画素が含まれていた場合、そのSCTh(k)、SCTv(k)の焦点検出用画素を飽和画素として扱う。以降のS23からS25の処理は、図4を参照して第1の実施形態で説明した処理と同様のため、説明を省略する。
図25に示す焦点検出処理が終了すると図24の処理に戻り、S45においてカメラ側MPU6は、スイッチSW2_19がONされたか否かの判断を行い、スイッチSW2_19がONされたと判断すればS46で撮影処理を行う。一方、スイッチSW2_19がONされていないと判断するとS11へ戻る。
図26はS46で行われる撮影処理のフローチャートである。スイッチSW2_19がON操作されると、S60では図24のS40において設定された目標露光値になるよう、絞り22を駆動し、イメージセンサ101の露光時間を規定するメカニカルシャッタの開口制御を行う。S61では、高画素静止画撮影のための画像読み出し、すなわち全画素の読み出しを行う。S62では読み出した画像信号の欠損画素補間を行う。ここで、焦点検出用画素の出力は撮像のためのRGBカラー情報を有しておらず、画像を得る上では欠陥画素に相当するため、周囲の撮像用画素の情報から補間により画像信号を創生する。
S63では、画像のγ補正、エッジ強調等の画像処理を行い、S64において、メモリ(不図示)に撮影画像を記録する。S65では、表示器17に撮影済み画像を表示し、図24の撮影動作処理にリターンする。
上記の通り第2の実施形態によれば、焦点検出用の画素が撮像素子に離散的に配置されている場合であっても、第1の実施形態と同様の効果を得ることができる。
なお、上記第2の実施形態では、焦点検出用画素が、互いに画素の異なる領域を遮光した複数の画素対であるものとして説明したが、各焦点検出用画素が複数の分割された複数の光電変換領域を有し、各光電変換領域から信号を独立に読み出すようにしても良い。
上記第1及び第2の実施形態において、異常画素として飽和画素を検出する場合について説明したが、本発明の異常画素は飽和画素に限定されるものではなく、他の欠陥画素を検出してもよい。
また、上記第1及び第2の実施形態において、位相差を求める際に、4つのシフト波形を用いたが、本発明は4つに限られるものではなく、複数のシフト波形を用いることで位相差を導くことができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。