(58)【調査した分野】(Int.Cl.,DB名)
前記第2の画素出力変化検出部が画素出力の変化を検出する複数の撮像画素のうちの一方は前記第1の画素出力変化検出部が画素出力の変化を検出した位相差検出画素に隣接し、他方は前記第1の画素出力変化検出部が画素出力の変化を検出した撮像画素に隣接していることを特徴とする請求項1又は2に記載の画像処理装置。
前記第1の画素出力変化検出部が画素出力の変化を検出した位相差検出画素と前記一方の撮像画素との距離と前記第1の画素出力変化検出部が画素出力の変化を検出した撮像画素と前記他方の撮像画素との距離とが等しいか又はそれよりも長いことを特徴とする請求項3に記載の画像処理装置。
前記第3の画素出力変化検出部が画素出力の変化を検出する複数の撮像画素は何れも前記位相差検出画素に隣接していることを特徴とする請求項5に記載の画像処理装置。
前記第3の画素出力変化検出部が画素出力の変化を検出する複数の撮像画素は、前記位相差検出画素を挟んで対向する位置にあるか又は前記位相差検出画素を挟んで等距離か又はそれよりも長距離の位置にあることを特徴とする請求項6に記載の画像処理装置。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を説明する。
図1は、本発明の一実施形態に係る画像処理装置を備えた撮像装置の一例としてのデジタルカメラ(以下、単にカメラと言う)の構成を示すブロック図である。ここで、
図1において、矢印付き実線はデータの流れを示し、矢印付き破線は制御信号の流れを示す。
【0012】
図1に示すカメラ1は、撮影レンズ11と、絞り13と、メカシャッタ15と、駆動部17と、操作部19と、撮像素子21と、撮像制御回路23と、A−AMP25と、アナログデジタル変換器(ADC)27と、CPU(Central Processing Unit)29と、画像処理部31と、焦点検出回路33と、ビデオエンコーダ35と、表示部37と、バス39と、DRAM(Dynamic Random Access Memory)41と、ROM(Read Only Memory)43と、記録媒体45と、を有する。
【0013】
撮影レンズ11は、被写体100からの像を撮像素子21に形成するための単一又は複数のレンズから構成された光学系である。撮影レンズ11は、単焦点レンズでもズームレンズでも良い。
【0014】
絞り13、撮影レンズ11の光軸上に配置され、その口径が可変に構成されている。絞り13は、撮影レンズ11を通過した被写体100からの光束の量を制限する。
【0015】
メカシャッタ15は、絞り13の後方に配置され、開閉自在に構成されている。メカシャッタ15は、その開放時間を調節することにより、撮像素子21への被写体100からの被写体光束の入射時間(撮像素子21の露光時間)を調節する。メカシャッタ15としては、公知のフォーカルプレーンシャッタ、レンズシャッタ等が採用され得る。
【0016】
駆動部17は、CPU29からの制御信号に基づいて、撮影レンズ11の焦点調節、絞り13の開口径制御、及びメカシャッタ15の開閉制御を行う。
【0017】
操作部19は、電源釦、レリーズ釦、再生釦、メニュー釦といった各種の操作釦及びタッチパネル等の各種の操作部材を含む。この操作部19は、各種の操作部材の操作状態を検知し、検知結果を示す信号をCPU29に出力する。ここで、本実施形態の操作部19により、カメラ1の撮影モードを選択することが可能である。即ち、ユーザは、操作部19に含まれる操作部材としての撮影モードダイヤルを操作することにより、カメラ1の撮影モードを静止画撮影モードと動画撮影モードの何れかから選択することができる。静止画撮影モードは、静止画像を撮影するための撮影モードであり、動画撮影モードは、動画像を撮影するための撮影モードである。ここではダイヤルで選択する例を示しているが、例えばメニュー画面上で例えばタッチパネルを操作して撮影モードを選択できるようにしても良い。
【0018】
撮像素子21は、撮影レンズ11の光軸上であって、メカシャッタ15の後方で、かつ撮影レンズ11によって被写体光束が結像される位置に配置されている。撮像素子21は、画素を構成するフォトダイオードが二次元的に配置されて構成されている。ここで、本実施形態における撮像素子21は、記録や表示のための画像を取得するための撮像画素と焦点検出をするための位相差検出画素とを有する。
【0019】
撮像素子21を構成するフォトダイオードは、受光量に応じた電荷を生成する。フォトダイオードで発生した電荷は、各フォトダイオードに接続されているキャパシタに蓄積される。このキャパシタに蓄積された電荷が画像信号として読み出される。
【0020】
ここで、本実施形態における撮像素子21は、複数の異なる電荷の読み出し方式を有している。撮像素子21に蓄積された電荷は、撮像制御回路23からの制御信号に従って読み出される。
【0021】
また、画素を構成するフォトダイオードの前面には、例えばベイヤ配列のカラーフィルタが配置されている。ベイヤ配列は、水平方向にR画素とG(Gr)画素が交互に配置されたラインと、G(Gb)画素とB画素が交互に配置されたラインを有している。
【0022】
また、本実施形態においては、撮像画素の一部の位置に位相差検出画素を配置する。位相差検出画素として用いる画素は、他の画素と異なり、一部の領域を遮光する。撮像素子21の詳細については後で詳しく説明する。
【0023】
撮像制御回路23は、CPU29からの制御信号に従って、撮像素子21の読み出し方式を設定し、設定した読み出し方式に従って撮像素子21からの画像信号の読み出しを制御する。撮像素子21からの画素データの読み出し方式は、カメラ1の動作状態に応じて設定されるものである。例えば、撮像素子21からの画素データの読み出しにリアルタイム性が求められる場合(例えばライブビュー表示時や動画記録時)には、画素データの読み出しを高速に行えるよう、複数の同色画素からの画素データを混合して読み出すか、特定の画素の画素データを間引いて読み出す。一方、リアルタイム性よりも画質が求められる場合(例えば静止画像の記録時)には、混合読み出しや間引き読み出しをせずに全画素の画素データを読み出すことで解像力を維持する。
【0024】
A−AMP25は、撮像素子21から出力された画像信号のアナログゲイン調整を行う。
【0025】
ADC27は、アナログデジタル変換器であり、A−AMP25によってアナログゲイン調整された画像信号を、デジタル形式の画像信号(画素データ)に変換する。以下、本明細書においては、複数の画素データの集まりを撮像データと記す。
【0026】
CPU29は、後述するROM43に記憶されているプログラムに従って、カメラ1の全体制御を行う。
【0027】
画像処理部31は、撮像データに対して各種の画像処理を施して画像データを生成する。例えば画像処理部31は、静止画像の記録の際には、静止画記録用の画像処理を施して静止画像データを生成する。同様に、画像処理部31は、動画像の記録の際には、動画記録用の画像処理を施して動画像データを生成する。さらに、画像処理部31は、ライブビュー表示時には、表示用の画像処理を施して表示用画像データを生成する。このような画像処理部31の詳しい構成については後で詳しく説明する。
【0028】
焦点検出回路33は、位相差検出画素からの画素データを取得し、取得した画素データに基づき、公知の位相差方式を用いて撮影レンズ11の合焦位置に対するデフォーカス方向及びデフォーカス量を算出する。
【0029】
ビデオエンコーダ35は、画像処理部31によって生成されDRAM41に一時記憶された表示用画像データを読み出し、読み出した表示用画像データを表示部37に出力する。
【0030】
表示部37は、例えば液晶ディスプレイや有機ELディスプレイといった表示部であって、例えばカメラ1の背面等に配置される。この表示部37は、ビデオエンコーダ35から入力されてきた表示用画像データに従って画像を表示する。表示部37は、ライブビュー表示や記録済み画像の表示等に使用される。
【0031】
バス39は、ADC27、CPU29と、画像処理部31と、焦点検出回路33、ビデオエンコーダ35、DRAM41、ROM43、記録媒体45に接続され、これらのブロックで発生した各種のデータが転送される。
【0032】
DRAM41は、電気的に書き換え可能なメモリであり、前述した撮像データ(画素データ)、記録用画像データ、表示用画像データ、CPU29における処理データといった各種データを一時的に記憶する。なお、一時記憶用としては、SDRAM(Synchronous Dynamic Random Access Memory)を用いても良い。
【0033】
ROM43は、マスクROMやフラッシュメモリ等の不揮発性メモリである。ROM43は、CPU29で使用するプログラム、カメラ1の調整値等の各種データを記憶している。
【0034】
記録媒体45は、カメラ1に内蔵又は装填自在に構成されており、記録用画像データを所定の形式の画像ファイルとして記録する。
【0035】
図2は、本実施形態に係る画像処理装置の一例としての画像処理部31の詳細な構成を示す図である。
図2では、画像処理部31以外のブロックについては図示を省略している。
【0036】
画像処理部31は、ホワイトバランス(WB)補正処理部311と、レベル変化検出部312と、周波数変化検出部313と、絵柄変化検出部314と、画素補正部315と、同時化処理部316と、輝度特性変換部317と、エッジ強調処理部318と、ノイズ低減(NR)処理部319と、色再現処理部320と、を有している。この他、図示を省略しているが、画像処理部31は、圧縮伸張処理部等も有している。
【0037】
WB補正処理部311は、撮像Wデータの各色成分を所定のゲイン量で増幅することにより、画像の色バランスを補正する。
【0038】
第1の画素出力検出部として機能するレベル変化検出部312は、位相差検出画素とその近傍の撮像画素との間の画素出力の変化(画素データの値の比又は画素データの値の差)を検出する。第3の画素出力検出部として機能する周波数変化検出部313は、各位相差検出画素に対して、各位相差検出画素の位相差検出の方向と異なる方向に位置する複数の撮像画素の画素出力の変化を検出する。第2の画素出力検出部として機能する絵柄変化検出部314は、レベル変化を検出した位相差検出画素とその近傍の撮像画素とのそれぞれの近傍に位置する撮像画素間の画素出力の変化を検出する。画素補正部315は、レベル変化検出部312の検出結果、周波数変化検出部313の検出結果、及び絵柄変化検出部314の検出結果を用いて、位相差検出画素の画素データを補正する。これらのレベル変化検出部312、周波数変化検出部313、絵柄変化検出部314、画素補正部315については後で詳しく説明する。
【0039】
同時化処理部316は、例えばベイヤ配列に対応して撮像素子21を介して出力される撮像データ等の、1つの画素が1つの色成分に対応している撮像データを、1つの画素が複数の色成分に対応している画像データに変換する。
【0040】
輝度特性変換部317は、同時化処理部316で生成された画像データの輝度特性を、表示や記録に適するように変換する。
【0041】
エッジ強調処理部318は、画像データからバンドパスフィルタ等を用いて抽出したエッジ信号にエッジ強調係数を乗じ、この結果をもとの画像データに加算することによって、画像データにおけるエッジ(輪郭)成分を強調する。
【0042】
NR処理部319は、コアリング処理等を用いて、画像データにおけるノイズ成分を除去する。
【0043】
色再現処理部320は、画像の色再現を適切なものとするための各種の処理を行う。この処理としては、例えばカラーマトリクス演算処理がある。このカラーマトリクス演算処理は、画像データに対して、例えばホワイトバランスモードに応じたカラーマトリクス係数を乗じる処理である。この他、色再現処理部320は、彩度・色相の補正を行う。
【0044】
図3を用いて、撮像素子21の構成について説明する。
図3は、撮像素子21の画素配列を示した図である。また、
図3の右側には、一部の画素を拡大して示している。
図3は、ベイヤ配列の例であるが、カラーフィルタの配列はベイヤ配列に限るものではなく、種々の配列が適用され得る。
【0045】
前述したように、ベイヤ配列の撮像素子21は、水平方向にR画素とG(Gr)画素が交互に配置されたラインと、G(Gb)画素とB画素が交互に配置されたラインを有している。言い換えれば、ベイヤ配列の撮像素子21は、右側の拡大図で示すGr画素と、R画素、Gb画素、B画素の4画素の組が水平及び垂直方向に繰り返して配置されている。
【0046】
本実施形態においては、一部の撮像画素21aの位置に位相差検出画素21bを配置する。位相差検出画素は、例えば左右の何れかの領域を遮光膜によって遮光した画素である。
図3の例では、左半面を遮光した位相差検出画素(以下、右開口位相差検出画素と言う)の行と、右半面を遮光した位相差検出画素(以下、左開口位相差検出画素と言う)の行とを垂直方向に沿って近接するように配置している。
【0047】
高画素数の撮像素子の場合には個々の画素の面積が小さくなるので、近接して配置される画素にはほぼ同じ像が結像すると考えることができる。したがって、
図3に示すようにして位相差検出画素を配置することにより、
図3のA行の位相差検出画素とB行の位相差検出画素の対で位相差を検出することができる。また、C行の位相差検出画素とD行の位相差検出画素の対でも位相差を検出することができる。
【0048】
ここで、
図3の例では、位相差検出画素中の遮光する領域を、左右何れかの領域としている。この場合、水平位相差を検出することが可能である。これに対し、遮光する領域を上下何れかの領域としたり、斜め方向の領域としたりすることで、垂直位相差や斜め方向の位相差を検出することも可能である。また、ある程度の面積を有していれば遮光面積も画素領域の1/2でなくとも良い。さらに、
図3では位相差検出画素をG画素に配置しているが、G画素以外の、R画素、B画素の何れかに配置するようにしても良い。
【0049】
また、
図3の例は、位相差検出画素の一部領域を遮光することによって瞳分割をする例を示しているが、位相差検出画素は、撮影レンズ11の異なる瞳領域を通過した対をなす被写体光束のうちの一方を選択的に受光できれば良い。このため、一部領域を遮光する構成とせず、例えば瞳分割用のマイクロレンズによって瞳分割をするようにしても良い。
【0050】
図3に示したような撮像素子を用いた位相差法による焦点検出の原理について
図4を参照して説明する。ここで、
図4(a)は、撮像画素21aにおける像の結像状態を示す。また、
図4(b)は、位相差検出画素21bにおける像の結像状態を示す。
【0051】
被写体が点光源であるとすると、撮影レンズ11が合焦状態であるとき、被写体から出射され、撮影レンズ11の光軸中心に対して対称な異なる瞳領域を通過した対をなす被写体光束は撮像素子21上の同一の位置に結像する。
【0052】
一方、撮影レンズ11が非合焦状態であるとき、被写体から出射され、撮影レンズ11の異なる瞳領域を通過した対をなす被写体光束は、撮像素子21上の異なる位置に結像する。言い換えれば、これらの対をなす被写体光束によって形成される像の間には位相差が生じる。この位相差を、右開口位相差検出画素と左開口位相差検出画素とでそれぞれ検出される像の相関関係から検出することにより、撮影レンズ11のデフォーカス量及びデフォーカス方向を検出する。
【0053】
ここで、位相差検出画素21bは、一部の領域が遮光されているので、光量の低下が発生する。この光量の低下は、位相差検出画素21bに形成された遮光幕の面積の他、遮光幕の位置、位相差検出画素21bに入射する光の角度、像高によっても異なるものである。このような光量の低下を後述の画素補正処理によって補正する。
【0054】
以下、本実施形態の撮像装置の具体的な動作を説明する。
図5は、撮像装置による動画記録(動画撮影)動作の処理を示すフローチャートである。動画記録動作は、例えば動画撮影モード中にレリーズ釦が押された場合に開始される。また、
図5に示すフローチャートの処理は、ROM43に記憶されているプログラムに従って、CPU29が実行する。なお、
図5は、動画記録動作を示しているが、本実施形態に係る画像処理方法は、静止画記録動作に対しても適用可能である。
【0055】
図5のフローチャートの動作が開始されると、CPU29は、撮像データの取り込みを開始する(ステップS101)。ここでは、CPU29は、撮像制御回路23に現在の動作モードに応じた設定データを入力する。この設定データに従って撮像制御回路23は、撮像素子21からの画素データの読み出しを制御する。撮像制御回路23に読み出し方式が設定されると、撮像制御回路23に設定された読み出し方式に従って、撮像素子21から画素混合又は画素間引きされた状態の画像信号が読み出される。撮像素子21から読み出された画像信号は、ADC27においてデジタル化された後、撮像データとしてDRAM41に一時記憶される。
【0056】
次に、CPU29は、焦点検出処理を行う(ステップS102)。ここでは、CPU29は、焦点検出回路33に焦点検出処理を実行させる。焦点検出処理の実行指示を受けて、焦点検出回路33は、DRAM41に一時記憶された撮像データの中から、位相差検出画素に対応した画素データを読み出し、この画素データを用いて公知の位相差法によって撮影レンズ11のデフォーカス方向及びデフォーカス量を算出する。
【0057】
次に、CPU29は、レンズ駆動を行う(ステップS103)。ここでは、CPU29は、ステップS102において焦点検出回路33により検出された撮影レンズ11のデフォーカス方向及びデフォーカス量に基づいて駆動部17を制御し、撮影レンズ11を合焦させる。
【0058】
次に、CPU29は、画素補正処理を行う(ステップS104)。ここでは、CPU29は、画像処理部31に画素補正処理を実行させる。画素補正処理については後で詳しく説明する。
【0059】
次に、CPU29は、画像処理を行う(ステップS105)。ここでは、CPU29は、ステップS104の画素補正処理の結果として得られた撮像データに対する画像処理(同時化処理以降の処理)を実行させる。画像処理に用いる処理パラメータは記録用のものを用いる。記録用の処理パラメータは、例えばROM43に予め記憶されているものである。
【0060】
次に、CPU29は、画像処理の結果としてDRAM41に一時記憶された画像データを記録媒体45に記録する(ステップS106)。
【0061】
次に、CPU29は、動画記録を停止させるか否かを判定する(ステップS107)。ここでは、CPU29は、操作部19のレリーズ釦の操作状態を判定する。即ち、レリーズ釦が再び押された場合に、CPU29は、動画記録を停止させると判定する。
【0062】
ステップS107において、動画記録を停止させないと判定した場合に、CPU29は、処理をステップS101に戻し、動画記録を続行する。一方、ステップS107において、動画記録を停止させると判定した場合に、CPU29は、
図5の処理を終了させる。
【0063】
図6は、画素補正処理の詳細を示したフローチャートである。画素補正処理は、画像処理部31のレベル変化検出部312、周波数変化検出部313、絵柄変化検出部314、画素補正部315が主体となって行われる処理である。ここで、
図2で示す画像処理部31の場合、画素補正処理に先立って、WB補正処理部311によるWB補正処理が行われるが、
図6では図示を省略している。なお、WB補正処理は、画素補正処理の後に行うようにしても良い。
【0064】
図6のフローチャートの動作が開始されると、レベル変化検出部312は、撮像データに対してレベル変化検出処理を実行する(ステップS201)。
【0065】
位相差検出画素は、一部の領域が遮光されているので、前述したような光量の低下が発生する。レベル変化検出処理は、位相差検出画素の画素出力とその近傍の同色の撮像画素の画素出力の変化(画素データの値の比又は差)を検出することにより、位相差検出画素における光量の低下量(レベル変化)を検出する処理である。ここで、本実施形態においては、位相差検出画素の近傍の同色の撮像画素のうち、位相差の検出方向と異なる方向の撮像画素との画素データの値の比又は差を検出する。
【0066】
例えば、
図7(a)に示すようにして、撮像素子21の水平方向に沿って位相差検出画素が配置される場合のレベル変化検出処理について説明する。
【0067】
位相差検出画素21bは、
図7(a)のハッチングを施した領域(以下、アイランド領域と言う)に配置される。各アイランド領域には、右開口位相差検出画素と左開口位相差検出画素との対がn個配置される。以下の説明においては、右開口位相差検出画素と左開口位相差検出画素とは、
図3と同様に、Gr画素に配置されているものとする。
【0068】
また、
図7(a)に示すように、撮像素子21の水平方向をx軸と定義する。そして、各アイランド領域における位相差検出画素の水平方向の開始x座標をstart_xと定義する。なお、start_xは、右開口位相差検出画素のものと左開口位相差検出画素ものとがそれぞれ定義される。
【0069】
図7(b)は、
図7(a)のアイランド領域内の画素の拡大図である。例えば、
図7(b)に示す画素のうち、右開口位相差検出画素Gr2及び左開口位相差検出画素Gr3に対してレベル変化検出処理を実行するとする。このとき、右開口位相差検出画素Gr2及び左開口位相差検出画素Gr3による位相差検出方向である水平方向と異なる方向、即ち右開口位相差検出画素Gr2及び左開口位相差検出画素Gr3に対して垂直方向の近傍の同色の撮像画素との画素データの値の比又は差を検出する。したがって、右開口位相差検出画素Gr2については、
図7(b)の矢印3で示す、右開口位相差検出画素Gr2と同列の近傍の撮像画素Gr1との画素出力の比を検出する。また、左開口位相差検出画素Gr3については、
図7(b)の矢印4で示す、左開口位相差検出画素Gr3と同列の近傍の撮像画素Gr1との画素データの値の比又は差を検出する。
【0070】
このようなレベル変化検出処理により、各位相差検出画素に形成された遮光幕の面積、遮光幕の位置、位相差検出画素に入射する光の角度、像高の影響を考慮した撮像画素に対する位相差検出画素の光量の低下量を検出することが可能である。ただし、レベル変化検出処理で検出される光量の低下量は、像(絵柄)自体の変化による光量の低下量も含んでいる可能性がある。これは、位相差検出画素の近傍の撮像画素であっても、必ずしも同じ像が結像しているとは限らないためである。したがって、レベル変化検出処理としては、位相差検出画素に対してなるべく近くの同色の撮像画素との間のレベル変化を検出することが望ましい。
【0071】
また、前述の例では、位相差検出画素と同列の撮像画素との間のレベル変化を検出している。これは、撮影レンズ11の特性により生じる位相差検出画素への光の入射角度の違いに伴う、像高に対するレベル変化の傾向を見るためである。
【0072】
レベル変化検出処理の後、周波数変化検出部313は、周波数変化検出処理を実行する(ステップS202)。周波数変化検出処理は、位相差検出画素の近傍の空間周波数の変化の傾向を検出する処理である。ここで、本実施形態においては、位相差の検出方向と異なる方向の空間周波数の変化の傾向を検出する。
【0073】
周波数変化検出処理の具体的な処理としては、位相差検出画素の周囲の画素のうち、位相検出方向に沿った空間周波数が同じになる複数の画素の画素データの値の比又は差を検出する。
図7(b)の例の場合、位相差検出画素に対して垂直方向同列の画素は、位相差の検出方向である水平方向の空間周波数が同じになる。したがって、右開口位相差検出画素Gr2については、
図7(b)の矢印1で示す、位相差検出画素Gr2を挟むようにして配置される撮像画素B2と撮像画素B3との画素データの値の比又は差を検出する。また、左開口位相差検出画素Gr3については図示していないが、位相差検出画素Gr3を挟むようにして配置される撮像画素B3と撮像画素B4との画素データの値の比又は差を検出する。
【0074】
このような周波数変化検出処理により、位相差検出画素の周辺の垂直方向の空間周波数の変化を検出することが可能である。
【0075】
ここで、ベイヤ配列の場合、位相差検出画素を挟むように垂直方向に隣接して配置される2つの画素は、位相差検出画素とは異なる色の同色の撮像画素となる。しかしながら、これらの2つの画素は、必ずしも隣接している必要はなく、離れていても良い。また、位相差検出画素を挟むようにして対向するように配置されていれば、位相差検出画素からの距離が異なっていても良い。勿論、位相差検出画素からの距離が等しくても良い。
【0076】
また、垂直位相差を検出する位相差検出画素の場合には、垂直方向ではなく、水平方向に隣接する2つの画素の画素出力の比を検出する。
【0077】
周波数変化検出処理の後、絵柄変化検出部314は、絵柄変化検出処理を実行する(ステップS203)。
【0078】
絵柄変化検出処理の具体的な処理としては、レベル変化検出処理に用いられた位相差検出画素と撮像画素のそれぞれの近傍の同色画素間の画素データの値の比又は差を検出する。
図7(b)の例の場合、右開口位相差検出画素Gr2については、
図7(b)の矢印2で示す、右開口位相差検出画素Gr2の近傍の撮像画素Gb3と撮像画素Gr1の近傍の撮像画素Gb1との画素データの値の比又は差を検出する。また、左開口位相差検出画素Gr3については、左開口位相差検出画素Gr3の近傍の撮像画素Gb4と撮像画素Gr1の近傍の撮像画素Gb1との画素データの値の比又は差を検出する。
【0079】
このような絵柄変化検出処理では、レベル変化検出処理に用いられた位相差検出画素と撮像画素の近傍の撮像画素の画素出力の変化を検出している。これらのレベル変化検出処理に用いられた位相差検出画素と撮像画素の近傍の撮像画素であれば、ほぼ同じ像が結像されていると考えることができる。この場合、近傍の撮像画素間の画素出力の変化は、ほぼ像(絵柄)の変化によるものであると考えることが可能である。実際には、レベル変化検出処理に用いられた位相差検出画素と撮像画素の近傍の撮像画素であるので、空間周波数が高い場合には、誤差が生じる可能性がある。そこで、前述の周波数変化検出処理の検出結果から、絵柄変化検出処理の信頼性を判断する。
【0080】
ここで、
図7(b)の例では、絵柄変化検出処理において画素出力の比を検出する2つの撮像画素を位相差検出画素と同色の画素としている。しかしながら、これらの2つの撮像画素は、必ずしも位相差検出画素と同色である必要はない。ただし、これらの2つの撮像画素の色は同色であることが望ましい。また、画素出力の比を検出する2つの撮像画素とそれぞれの近傍の位相差検出画素との距離は等しいことが望ましいが、多少であれば距離が異なっていても良い。
【0081】
また、垂直位相差を検出する位相差検出画素の場合には、絵柄変化検出処理として、垂直方向ではなく、水平方向に隣接する複数の画素の画素出力の比を検出する。
【0082】
絵柄変化検出処理の後、画素補正部315は、レベル変化検出処理の検出の結果を補正するための重み係数Wをアイランド領域毎に算出する(ステップS204)。
【0083】
以下、重み係数Wの算出手法の一例ついて説明する。なお、この例では、右開口位相差検出画素についての重み係数Wを算出する例について説明する。一例の重み係数Wは、周波数変化検出処理の結果として得られる位相差検出画素の垂直方向同列の2つの同色の撮像画素の画素データの値の比が1に近いほど、1に近づく係数である。このような重み係数Wは、例えば以下の(式1)にようにガウス関数を用いて算出することが可能である。ここで、(式1)で示す重み係数Wは、同一のアイランド領域内の右開口位相差検出画素に対しては同一の値を適用することが可能である。
【数1】
ここで、(式1)のσは、標準偏差であって例えば設計時に任意に設定される。例えば、σ=0.1とした場合、0.1を標準偏差としたガウス関数となる。(式1)のDif_Bは、周波数変化検出処理の結果として得られる位相差検出画素に対して垂直方向同列の2つの同色の撮像画素の画素データの値の比である。例えば、撮像画素B2の画素データの値をB2、撮像画素B3の画素データの値をB3とすると、周波数変化検出処理の結果Dif_Bは、以下の(式2)で与えられる。
Dif_B=B2/B3 (式2)
なお、前述の例では、重み係数Wを、ガウス関数を用いて算出しているが、垂直方向同列の2つの同色の撮像画素の画素データの値の比が1に近いほど1に近づく係数を算出できるような手法であれば必ずしもガウス関数を用いて算出する必要はない。
【0084】
重み係数Wを算出した後、画素補正部315は、絵柄変化を考慮した撮像画素に対する位相差検出画素の光量低下量(レベル変化量)を算出する(ステップS205)。
【0085】
以下、レベル変化量の算出手法の一例を説明する。この例では、位相差検出画素と撮像画素とのレベル変化量の関係を、1次式で近似することとする。例えば、水平座標xの位置にある位相差検出画素の撮像画素に対するレベル変化量をyとすると、レベル変化量を表す1次式は、y=ax+bの形で表すことが可能である。また、このような1次式の傾きa及び切片bは、例えば最小二乗法により、以下の(式3)で示すようにして与えられる。
【数2】
ここで、(式3)のDif_pRi(i=start_x, start_x+1, …, n-1)は、レベル変化検出処理の結果と絵柄変化検出処理の結果から得られる、水平座標xに配置された右開口位相差検出画素とその近傍の撮像画素との画素データの値の比である。Dif_pRiは、以下の(式4)で与えられる。
【0086】
Dif_pRi=1−{(Gr1/Gr2)−Dif_G} (式4)
(式4)のDif_Gは、絵柄変化検出処理の結果として得られるレベル変化検出処理に用いられた画素の近傍の2つの撮像画素間の画素データの値の比である。例えば、右開口位相差検出画素Gr2の例を示すと、Dif_Gは、以下の(式5)で与えられる。
Dif_G=1−Gb1/Gb3 (式5)
(式4)において、撮像画素Gr1の画素データの値をGr1、位相差検出画素Gr2の画素データの値をGr2としている。(式4)は、レベル変化検出処理によって得られたレベル変化量から絵柄変化検出処理によって得られたレベル変化量を差し引いたものである。したがって、(式4)で示すレベル変化量は、位相差検出画素に入射する光の角度、像高の影響を考慮した撮像画素に対する位相差検出画素の光量の低下量となる。
【0087】
なお、前述の例では、レベル変化量と水平座標xとの関係を、1次式で近似しているが、高次式で近似しても良い。また、近似の手法も最小二乗法に限らず、ラグランジュ補間、スプライン補間等を用いても良い。
【0088】
水平座標x毎のyが算出された後、画素補正部315は、各位相差検出画素の画素出力を補正する(ステップS206)。例えば、レベル変化検出処理、周波数変化検出処理、及び絵柄変化検出処理で、画素出力の変化として画素データの値の比を検出した場合、(式3)で示すyも画素データの値の比で表されるものとなる。したがって、画素出力の補正は、位相差検出画素の水平座標xに応じたyをその位相差検出画素の画素データに乗じるゲイン調整をすれば良い。一方、レベル変化検出処理、周波数変化検出処理、及び絵柄変化検出処理で、画素出力の変化として画素データの値の差を検出した場合、(式3)で示すyも画素データの値の差で表されるものとなる。したがって、画素出力の補正は、位相差検出画素の水平座標xに応じたyをその位相差検出画素の画素データにオフセットさせるゲイン調整をすれば良い。
【0089】
以上説明したように、本実施形態においては、位相差検出画素とその近傍の撮像画素との画素出力の変化を実際に検出し、この検出結果に応じて各位相差検出画素のゲイン調整量を算出している。これにより、各位相差検出画素に形成された遮光幕の面積、遮光幕の位置、位相差検出画素に入射する光の角度、像高の影響を考慮したゲイン調整を行うことが可能である。
【0090】
また、本実施形態においては、単純に位相差検出画素とその近傍の撮像画素との画素出力の変化を検出するだけでなく、それぞれの画素の近傍の撮像画素間の画素出力の変化を検出し、その結果に応じてゲイン調整量を補正している。これにより、位相差検出画素と撮像画素とで異なる像が結像した場合の誤差をも補正することが可能である。
【0091】
さらに、本実施形態においては、位相差検出画素の周辺の空間周波数の変化を考慮して絵柄変化検出処理の結果を補正している。これにより、さらにゲイン調整の精度を高めることが可能である。ここで、周波数変化検出処理は、絵柄変化検出処理の信頼性を高めるためには必要ではあるが、周波数変化検出処理を省略しても良い。
【0092】
[変形例1]
以下、前述した実施形態の変形例について説明する。前述した実施形態は、位相差の検出方向が水平方向の場合の適用例である。これに対し、本実施形態は、位相差の検出方向が水平方向以外であっても適用可能である。ここでは、位相差の検出方向が垂直方向の場合、即ち位相差検出画素が上開口位相差検出画素と下開口位相差検出画素との対によって構成されている場合のレベル変化検出処理、周波数変化検出処理、絵柄検出処理について説明する。
【0093】
位相差検出画素21bは、
図8(a)のハッチングを施したアイランド領域に配置される。各アイランド領域には、上開口位相差検出画素と下開口位相差検出画素との対がn個配置される。以下の説明においては、上開口位相差検出画素と下開口位相差検出画素とは、
図3と同様に、Gr画素に配置されているものとする。
【0094】
また、
図8(a)に示すように、撮像素子21の垂直方向をy軸と定義する。そして、各アイランド領域における位相差検出画素の垂直方向の開始y座標をstart_yと定義する。なお、start_yは、上開口位相差検出画素のものと下開口位相差検出画素ものとがそれぞれ定義される。
【0095】
図8(b)は、
図8(a)のアイランド領域内の画素の拡大図である。例えば、
図8(b)に示す画素のうち、上開口位相差検出画素Gr2及びGr3に対してレベル変化検出処理を実行するとする。このとき、上開口位相差検出画素Gr2及びGr3による位相差検出方向である垂直方向と異なる方向、即ち上開口位相差検出画素Gr2及びGr3に対して水平方向の近傍の同色の撮像画素との画素データの値の比又は差を検出する。したがって、上開口位相差検出画素Gr2については、
図8(b)の矢印3で示す、上開口位相差検出画素Gr2と同行の近傍の撮像画素Gr1との画素出力の比を検出する。また、上開口位相差検出画素Gr3については、
図8(b)の矢印4で示す、上開口位相差検出画素Gr3と同行の近傍の撮像画素Gr1との画素データの値の比又は差を検出する。
【0096】
また、周波数変化検出処理を行うのに当たり、位相差検出画素に対して水平方向同行の画素は、位相差の検出方向である垂直方向の空間周波数が同じになる。したがって、上開口位相差検出画素Gr2については、
図8(b)の矢印1で示す、位相差検出画素Gr2を挟むようにして配置される撮像画素R2と撮像画素R3との画素データの値の比又は差を検出する。また、左開口位相差検出画素Gr3については図示していないが、位相差検出画素Gr3を挟むようにして配置される撮像画素R3と撮像画素R4との画素データの値の比又は差を検出する。
【0097】
さらに、絵柄変化検出処理を行うのに当たり、レベル変化検出処理に用いられた位相差検出画素と撮像画素のそれぞれの近傍の同色画素間の画素データの値の比又は差を検出する。
図8(b)の例の場合、右開口位相差検出画素Gr2については、
図8(b)の矢印2で示す、右開口位相差検出画素Gr2の近傍の撮像画素Gb3と撮像画素Gr1の近傍の撮像画素Gb1との画素データの値の比又は差を検出する。また、左開口位相差検出画素Gr3については、左開口位相差検出画素Gr3の近傍の撮像画素Gb4と撮像画素Gr1の近傍の撮像画素Gb1との画素データの値の比又は差を検出する。
【0098】
以上のようにして検出された結果を用いて重み係数Wを算出する場合、例えば以下の(式6)ように算出する。なお、この例では、上開口位相差検出画素についての重み係数Wを算出する例について説明する。この例の重み係数Wは、周波数変化検出処理の結果として得られる位相差検出画素の水平方向同行の2つの同色の撮像画素の画素データの値の比が1に近いほど、1に近づく係数である。
【数3】
ここで、(式6)のσは、標準偏差であって例えば設計時に任意に設定される。例えば、σ=0.1とした場合、0.1を標準偏差としたガウス関数となる。(式6)のDif_Rは、周波数変化検出処理の結果として得られる位相差検出画素に対して水平方向同行の2つの同色の撮像画素の画素データの値の比である。例えば、撮像画素R2の画素データの値をR2、撮像画素R3の画素データの値をR3とすると、周波数変化検出処理の結果Dif_Rは、以下の(式7)で与えられる。
Dif_R=R2/R3 (式7)
また、最終的なレベル変化量を前述の実施形態と同様にx=ay+bの形で表すとすると、このような1次式の傾きa及び切片bは、例えば最小二乗法により、以下の(式8)で示すようにして与えられる。
【数4】
ここで、(式8)のDif_pTi(i=start_x, start_x+1, …, n-1)は、レベル変化検出処理の結果と絵柄変化検出処理の結果から得られる、垂直座標yに配置された上開口位相差検出画素とその近傍の撮像画素との画素データの値の比である。Dif_pTiは、以下の(式9)で与えられる。
【0099】
Dif_pTi=1−{(Gr1/Gr2)−Dif_G} (式9)
(式9)のDif_Gは、絵柄変化検出処理の結果として得られるレベル変化検出処理に用いられた画素の近傍の2つの撮像画素間の画素データの値の比である。例えば、上開口位相差検出画素Gr2の例を示すと、Dif_Gは、以下の(式10)で与えられる。
Dif_G=1−Gb1/Gb3 (式10)
(式4)と同様、(式10)で示すレベル変化量は、位相差検出画素に入射する光の角度、像高の影響を考慮した撮像画素に対する位相差検出画素の光量の低下量となる。
【0100】
なお、前述の例では、レベル変化量と垂直座標yとの関係を、1次式で近似しているが、高次式で近似しても良い。また、近似の手法も最小二乗法に限らず、ラグランジュ補間、スプライン補間等を用いても良い。
【0101】
[変形例2]
前述した例では、重み係数Wをガウス関数としているが、この他に例えば閾値を用いた近似により求めることができる。また、レベル変化量を表す1次式を最小二乗法ではなく、折れ点近似によって求めることもできる。変形例2は、このような他の手法によって重み係数Wとレベル変化量を表す1次式の傾きa及び切片bとを求める例である。
【0102】
この変形例においては、
図9で示すように1つのアイランド領域内にm点(図では折れ点1,2,3の3点)の折れ点を決めた上で前述と同様のレベル変化検出処理、周波数変化検出処理、及び絵柄変化検出処理を行う。この場合、重み係数Wを以下の(式11)のようにして、Dif_GとDif_Bの平均値を閾値で場合分けすることで求めることができる。なお、(式11)は、位相差の検出方向が垂直方向の例である。
【数5】
(式11)のDif_Gは、絵柄変化検出処理の結果として得られるレベル変化検出処理に用いられた画素の近傍の2つの撮像画素間の画素データの値の比の絶対値である。例えば、前述の右開口位相差検出画素Gr2が折れ点の1つであったとすると、Dif_Gは、以下の(式12)で与えられる。
Dif_G=abs(1−Gb1/Gb3) (式12)
また、(式11)のDif_Bは、周波数変化検出処理の結果として得られる位相差検出画素に対して垂直方向同列の2つの同色の撮像画素の画素データの値の比の絶対値である。例えば、撮像画素B2の画素データの値をB2、撮像画素B3の画素データの値をB3とすると、Dif_Bは、以下の(式13)で与えられる。
Dif_B=abs(1-B2/B3) (式13)
また、レベル変化量を表す1次式y=ax+bの傾きa及び切片bは、以下の(式14)で示すようにして与えられる。
【数6】
ここで、(式14)に示すa_m及びb_m(m=1,2)は、それぞれ、折れ点mから折れ点m+1までのレベル変化量を示す1次式の傾き及び切片であることを示している。また、P_m(m=1,2)は、以下の(式15)で与えられる。
【数7】
ここで、(式15)のDif_pRi(i=start_x, start_x+1, …, n-1)は、レベル変化検出処理の結果と絵柄変化検出処理の結果から得られる、水平座標xに配置された位相差検出画素とその近傍の撮像画素との画素データの値の比である。Dif_pRiは、以下の(式16)で与えられる。
【0103】
Dif_pRi=1−{(Gr1/Gr2)−Dif_G} (式16)
また、前述の例では、各アイランド領域における位相差検出画素の水平方向の開始x座標をstart_xと定義しているが、変形例においては各折れ点のx座標をstart_xと定義し、折れ点間にn個の画素が配列されるものとする。
【0104】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
【0105】
また、上述した実施形態による各処理は、CPU29に実行させることができるプログラムとして記憶させておくこともできる。この他、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、CPU29は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
【0106】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。