本発明の実施形態に係る撮像装置100の構成を、図1を用いて説明する。101は、レンズおよび絞りからなる光学系である。102は、メカニカルシャッタ(メカシャッタと図示する)である。103は、被写体像を画像信号に変換する撮像素子である。撮像素子103は、後述のように、それぞれ電荷蓄積動作を行う複数の画素を含む。104は、撮像素子103から出力される画像信号に対してアナログ信号処理を行うアナログ信号処理回路である。105は、アナログ信号処理回路104の内部において相関二重サンプリング(CDS)処理を行うCDS回路である。
106は、アナログ信号処理回路104の内部においてアナログ信号を増幅させる信号増幅器である。107は、アナログ信号処理回路104の内部において水平OBクランプを行うクランプ回路である。108は、アナログ信号処理回路104の内部においてアナログ信号をデジタル信号に変換するA/D変換器である。110は、撮像素子103およびアナログ信号処理回路104を動作させる信号を発生するタイミング信号発生回路である。
111は、光学系101、メカニカルシャッタ102および撮像素子103の駆動回路である。112は、撮影した画像データに必要なデジタル信号処理を行うデジタル信号処理回路である。113は、信号処理された画像データを記憶する画像メモリである。114は、撮像装置100から取り外し可能な画像記録媒体(記録媒体と図示する)である。115は、信号処理された画像データを画像記録媒体114に記録する記録回路である。
116は、信号処理された画像データを表示する画像表示装置である。117は、画像表示装置116に画像を表示する表示回路である。118は、撮像装置100の各部を全体的に制御するシステム制御部である。119は、システム制御部118で実行される制御方法を記載したプログラム、プログラムを実行する際に使用されるパラメータやテーブル等の制御データ、および、キズアドレス等の補正データを記憶しておく第1の記憶部である。第1の記憶部119は、例えば、ROMなどの不揮発性メモリである。
120は、第1の記憶部119に記憶されたプログラム、制御データおよび補正データを転送して記憶しておき、システム制御部118が撮像装置を制御する際に使用する第2の記憶部である。第2の記憶部120は、例えば、RAMなどの揮発性メモリである。また、121は、撮像素子103における画素配列及びその周辺回路の周囲の温度を検出する温度検出回路(温度検出手段)である。122は、撮像素子103における複数の画素のそれぞれが電荷蓄積動作を行う蓄積時間を設定する蓄積時間設定部である。123は、ISO感度(撮影感度)設定などの撮影条件設定や、静止画撮影と動画撮影の切り替えなどを行う、撮影モード設定部(感度設定手段)である。
次に、上述のように構成された撮像装置100を用いた撮影動作について説明する。撮影動作に先立ち、撮像装置100の電源投入時等のシステム制御部118の動作開始時において、第1の記憶部119から必要なプログラム、制御データおよび補正データを第2の記憶部120に転送して記憶しておくものとする。また、これらのプログラムやデータは、システム制御部118が撮像装置100の各部を制御する際に使用する。それとともに、これらのプログラムやデータは、必要に応じて、追加のプログラムやデータを第1の記憶部119から第2の記憶部120に転送したり、システム制御部118が直接第1の記憶部119内のデータを読み出して使用したりするものとする。
駆動回路111は、システム制御部118から受けた制御信号に応じて、光学系101における絞りとレンズとを駆動する。光学系101は、適切な明るさに設定された被写体像を撮像素子103の撮像面(画素配列)上に形成する。
また、駆動回路111は、静止画像撮影時において、システム制御部118からの制御信号に応じて、必要な露光時間で撮像素子103を露光/遮光するようにメカニカルシャッタ102を駆動する。このとき、撮像素子103が電子シャッタ機能を有する場合は、メカニカルシャッタ102と電子シャッタ機能とを併用して、必要な露光時間を確保してもよい。
また、駆動回路111は、動画像撮影時において、システム制御部118からの制御信号に応じて、撮影中常に撮像素子103が露光されるように、メカニカルシャッタ102を開放状態に維持する。撮像素子103は、タイミング信号発生回路110から供給された動作パルスに応じて駆動され、被写体像を光電変換により画像信号に変換してアナログ画像信号として出力する。
アナログ信号処理回路104は、タイミング信号発生回路110から供給された動作パルスに応じて、撮像素子103から出力されたアナログ画像信号に対してアナログ信号処理を行う。具体的には、CDS回路105が、アナログ画像信号からクロック同期性ノイズを除去するCDS処理を行って信号増幅器106へ出力する。
信号増幅器106は、受けた信号に対して、入射光量に応じて設定された増幅率(ゲイン)で増幅しクランプ回路107へ出力する。クランプ回路107は、受けた信号に対して、水平OB領域から出力された基準信号(基準電圧)に応じたクランプ動作を行ってA/D変換器108へ出力する。A/D変換器108は、受けた信号に対してA/D変換処理を行うことにより、デジタル画像信号を生成してデジタル信号処理回路112へ出力する。
デジタル信号処理回路112は、受けたデジタル画像信号に対して、システム制御部118から受けた制御信号に応じて、各種のデジタル信号処理を行うことにより、画像データを生成する。この各種のデジタル信号処理は、本実施形態に係るデジタル画像信号中の水平OB領域の信号の平均処理による垂直シェーディング補正データ作成及び、その補正データを用いた垂直シェーディング補正処理を含む。
また、各種のデジタル信号処理は、デジタル画像信号に対する、色変換、ホワイトバランス、ガンマ補正等の画像処理、解像度変換処理、画像圧縮処理等を含む。このとき、画像メモリ113は、信号処理中のデジタル画像信号を一時的に記憶したり、信号処理されたデジタル画像信号である画像データを記憶したりする。デジタル信号処理回路112で信号処理された画像データや画像メモリ113に記憶されている画像データは、記録回路115において画像記録媒体114に適したデータに変換されて画像記録媒体114に記録される。
画像記録媒体114に適したデータは、例えば、階層構造を持つファイルシステムデータである。あるいは、画像データは、デジタル信号処理回路112で解像度変換処理を実施された後、表示回路117において画像表示装置116に適した信号(例えばNTSC方式のアナログ信号等)に変換されて画像表示装置116に表示される。
ここで、デジタル信号処理回路112は、受けたデジタル画像信号に対して、システム制御部118から受けた制御信号に応じて、信号処理をせずにデジタル画像信号をそのまま画像データとして、画像メモリ113や記録回路115に出力してもよい。
また、デジタル信号処理回路112は、システム制御部118から要求があった場合に、信号処理の過程で生じたデジタル画像信号や画像データに関する各種の情報を出力してもよい。この各種の情報は、例えば、画像の空間周波数、指定領域の平均値、圧縮画像のデータ量等の情報、あるいは、それらから抽出された情報を含む。さらに、記録回路115は、システム制御部118から要求があった場合に、画像記録媒体114の種類や空き容量等の情報をシステム制御部118に出力する。
さらに、画像記録媒体114に画像データが記録されている場合の再生動作について説明する。記録回路115は、システム制御部118から受けた制御信号に応じて、画像記録媒体114から画像データを読み出す。デジタル信号処理回路112は、システム制御部118から受けた制御信号に応じて、画像データが圧縮画像データであった場合に、画像伸長処理を行い、伸長後の画像データを画像メモリ113に記憶する。画像メモリ113に記憶された画像データは、デジタル信号処理回路112で解像度変換処理を実施された後、表示回路117において画像表示装置116に適した信号に変換されて画像表示装置116に表示(再生)される。
次に、撮像素子103の構成について、図2を用いて説明する。撮像素子103は、画素配列PAを含む。画素配列PAは、有効領域204、第1の水平OB領域(第1の遮光領域)202、第2の水平OB領域(第2の遮光領域)203、及び垂直OB領域201を有する。有効領域204には、複数の有効画素が行に沿った方向及び列に沿った方向に配列されている。複数の有効画素のそれぞれは、遮光されていない光電変換部を含む。
光電変換部は、暗電流成分に応じた電荷を蓄積するとともに、光に応じた電荷を発生させて蓄積する。すなわち、有効画素における光電変換部は、光に応じた画像信号を生成する。光電変換部は、例えば、フォトダイオードである。第1の水平OB領域202は、有効領域204に左側(第1の側)で行に沿った方向に隣接して配置されている。
第1の水平OB領域202では、複数の第1の遮光画素が行に沿った方向及び列に沿った方向に配列されている。複数の第1の遮光画素のそれぞれは、(アルミニウム等の遮光膜により)遮光された光電変換部を含む。光電変換部は、光をほとんど受けないので、暗電流成分に応じた電荷を蓄積する。すなわち、第1の遮光画素における光電変換部は、基準信号を生成する。なお、第1の遮光画素は、基準信号を生成して出力するように構成されていれば、光電変換部を含まないものであるか、もしくは光電変換部を含んではいるが、その光電変換部で発生した電荷に応じた信号を出力しないよう構成されたものであっても構わない。
第1の水平OB領域202は、第1の演算領域205を含む。第1の演算領域205は、第1の水平OB領域202の全体もしくは一部で構成される。第1の演算領域205は、本実施形態にかかる垂直シェーディング補正で用いる後述の第1の基準データを作成するのに用いられる領域である。第2の水平OB領域203は、有効領域204に右側(有効領域204を挟んで第1の水平OB領域202と反対側)で行に沿った方向に隣接して配置されている。
第2の水平OB領域203では、複数の第2の遮光画素が行に沿った方向及び列に沿った方向に配列されている。複数の第2の遮光画素のそれぞれは、(アルミニウム等の遮光膜により)遮光された光電変換部を含む。光電変換部は、光をほとんど受けないので、暗電流成分に応じた電荷を蓄積する。すなわち、第2の遮光画素における光電変換部は、基準信号を生成する。なお、第2の遮光画素は、基準信号を生成して出力するように構成されていれば、光電変換部を含まないものであるか、もしくは光電変換部を含んではいるが、その光電変換部で発生した電荷に応じた信号を出力しないよう構成されたものであっても構わない。
第2の水平OB領域203は、第2の演算領域206を含む。第2の演算領域206は、第2の水平OB領域203の全体もしくは一部で構成される。第2の演算領域206は、本実施形態にかかる垂直シェーディング補正で用いる後述の第2の基準データを作成するのに用いられる領域である。なお、第1の演算領域205及び第2の演算領域206の具体的な使い分けの方法等については、後述の図3で説明する本実施形態の垂直シェーディング補正処理の説明及び、図5で説明する本実施形態のフローチャートの説明の中で言及する。
垂直OB領域201は、有効領域204に上側(第3の側)で列に沿った方向に隣接している。垂直OB領域201では、複数の第3の遮光画素が行に沿った方向及び列に沿った方向に配列されている。複数の第3の遮光画素のそれぞれは、(アルミニウム等の遮光膜により)遮光された光電変換部を含む。光電変換部は、光をほとんど受けないので、暗電流成分に応じた電荷を蓄積する。すなわち、第3の遮光画素における光電変換部は、基準信号を生成する。なお、第3の遮光画素は、基準信号を生成して出力するように構成されていれば、光電変換部を含まないものであるか、もしくは光電変換部を含んではいるが、その光電変換部で発生した電荷に応じた信号を出力しないよう構成されたものであっても構わない。垂直OB領域201は、水平シェーディング補正で用いる補正データを生成するのに用いられる領域である。
次に、本発明の実施形態に係る撮像装置における第1の垂直シェーディング補正処理を、図3を用いて説明する。図3を用いて説明する第1の垂直シェーディング補正処理は、2つの水平OB領域から生成される基準データの平均値を用いて補正を行う処理である。
図3a)は、図3を用いて説明する垂直シェーディング補正処理において、垂直シェーディング補正を行う元画像である。図3a)では、左右の水平OB領域を用いて行う補正の効果を説明すべく、画素配列における左右でレベルの異なる垂直シェーディング成分を有する画像としている。図3b)、図3c)は、それぞれ、図3a)における第1の演算領域205及び第2の演算領域206のそれぞれから出力された基準信号に対し、行ごとの平均値を算出して生成した基準データである。
図3d)は、図3b)の基準データ(第1の基準データ)と図3c)の基準データ(第2の基準データ)とに対し、行ごとに平均値を算出することにより生成された補正データである。図3e)は、図3a)の元画像に対し、各行の有効領域の出力信号に対して、図3d)の補正データを一律に減算することにより生成された補正後の画像である。以上、一連の手順によって、第1の垂直シェーディング補正処理は行われる。
ここで、水平OB領域が十分大きく、補正データ作成のための平均値に使用する画素数を多く取れるのであれば、平均出力値のばらつきはある程度抑えることが可能である。これにより、垂直シェーディング補正処理の精度が水平OB領域に発生するノイズ成分によって受ける影響を低減できる。しかし、水平OB領域をむやみに大きくすることは、チップサイズが拡大し、コストアップ等につながる。
それに対して、第1の垂直シェーディング補正処理では、第1の演算領域205と第2の演算領域206とを足した領域から1つの補正データを生成していることになる。このため、垂直シェーディング補正処理の精度が水平OB領域に発生するノイズ成分によって受ける影響の程度は、仮に水平OB領域の総列数を同じくして、水平OB領域を片方の辺にまとめた場合と同等と考えられる。その結果、水平OB領域が片方にのみある場合と比べて、チップサイズを大きくすることなく、垂直シェーディングの左右差をも低減させることが可能となっている。すなわち、第1の垂直シェーディング補正は、高感度時や高温下などのノイズが発生しやすい撮影条件時において有効な補正処理であるといえる。
なお、第1の垂直シェーディング補正処理では、補正値が行ごとに水平方向に一律である。このため、図3e)に示すように、有効領域における補正を行った行では、水平方向の一部にシェーディング成分が除去しきれない画素が存在し、補正残りが生じている。このため、有効領域における左右の垂直シェーディング成分のレベル差が大きい状況では、第1の垂直シェーディング補正処理により十分な補正効果が得られない可能性もある。
次に、本発明の実施形態に係る撮像装置における第2の垂直シェーディング補正処理を、図4を用いて説明する。図4を用いて説明する第2の垂直シェーディング補正処理は、2つの水平OB領域から生成される基準データを両者の間について線形的に補間することにより補正を行う処理である。
図4a)は、図4を用いて説明する垂直シェーディング補正処理において、垂直シェーディング補正を行う元画像である。図4a)では、左右の水平OB領域を用いて行う補正の効果を説明すべく、画素配列における左右でレベルが異なる垂直シェーディングを有する画像としている。図4b)、図4c)は、それぞれ、図4a)における第1の演算領域205及び第2の演算領域206から出力された基準信号に対し、それぞれ、行ごとの平均値を算出して生成した第1の基準データ及び第2の基準データである。
図4d)は、図4b)、図4c)の基準データに対し、行ごとに線形補間を行い、水平方向に傾斜をもたせた補正画像データである。例えば、図4d)に示す水平アドレスxの列における補正画像データの値(補正データ)は、行毎に
(補正データ)=({(第1の基準データ)×b
+(第2の基準データ)×a}/(a+b)・・・数式1
となる。数式1において、aは、第1の演算領域205の中心から水平アドレスxの画素までの距離であり、bは、第2の演算領域206の中心から水平アドレスxの画素までの距離である。
図4e)は、図4a)の元画像に対し、有効領域の各行の出力信号に対して、図4d)の補正画像データを各画素ごとに減算することで生成される補正後の画像である。以上、一連の手順によって、第2の垂直シェーディング補正は行われる。
ここで、第2の垂直シェーディング補正処理では、左右のOB領域から生成される基準データの間を水平アドレスに応じて線形的に補間することにより生成された補正値を用いて補正が行われる。このため、基準データに含まれるノイズ成分が少なく、かつ、垂直シェーディングの水平方向の変化が線形に推移されているような状況であれば、図4e)の画像のように、補正残りを含まず、かつ、過補正が目立たない画像を取得できる。
一方、第2の垂直シェーディング補正処理では、第1の演算領域205と第2の演算領域206とのそれぞれから基準データを生成する。これらの基準データは、第1の垂直シェーディング補正で使用された補正データと比べ、約半分の画素のデータから生成されることになる。その分、これらの基準データは、水平OB領域に発生するノイズ成分によって受ける影響が大きく、大きなノイズ成分の含まれた画像データとなっている可能性がある。すなわち、これら2つの基準データをもとに生成される補正画像データにも、大きなノイズ成分が残り、この補正を行うことで、過補正の目立つ画像を生成してしまう可能性がある。すなわち、第2の垂直シェーディング補正は、ノイズが発生しにくい撮影条件時において有効な補正処理であるといえる。
また、第2の垂直シェーディング補正処理では、補正値が画素の水平アドレスに応じて推移していく。このため、図4e)に示すように、有効領域における左右の垂直シェーディング成分のレベル差が大きい状況であっても、第2の垂直シェーディング補正処理により十分な補正効果を得ることができる。すなわち、第2の垂直シェーディング補正は、画素配列における左右で垂直シェーディング成分が大きく異なっている状態において有効な補正処理であるといえる。
次に、デジタル信号処理回路112(画像信号処理装置)の構成を、図5を用いて説明する。図5を用いて説明するデジタル信号処理回路は、本実施形態における垂直シェーディング補正処理を実現する信号処理回路を有している。デジタル信号処理回路112(図1参照)は、第1のデジタル信号処理部501、垂直シェーディング補正回路502、及び第2のデジタル信号処理部503を含む。第1のデジタル信号処理部501は、アナログ信号処理回路104より出力されたデジタル画像信号を受ける。
第1のデジタル信号処理部501は、受けたデジタル画像信号に対し、垂直OB領域201(図2参照)から出力された基準信号を用いることにより、水平シェーディング補正を行い垂直シェーディング補正回路502へ出力する。垂直シェーディング補正回路502は、受けたデジタル画像信号に対し、第1の演算領域205及び第2の演算領域206から出力された基準信号を用いることにより、垂直シェーディング補正を行い第2のデジタル信号処理部503へ出力する。
第2のデジタル信号処理部503は、受けたデジタル画像信号に対し、ガンマ処理やホワイトバランス処理などを行う第2のデジタル信号処理部503によって構成される。ここで、垂直シェーディング補正回路502は、第1のスイッチ504、第2のスイッチ505、第1の生成部506、第2の生成部507、第1の演算部513、第2の演算部514、第3の生成部508、メモリ部509、及び補正部512(補正手段)を含む。
第1のスイッチ504は、オン/オフすることにより、第1のデジタル信号処理部501と第1の生成部506とを接続/遮断するように構成されている。第2のスイッチ505は、オン/オフすることにより、第1のデジタル信号処理部501と第2の生成部507とを接続/遮断するように構成されている。
第1の生成部506は、第1の演算部513、第2の演算部514、及び第3の生成部508に接続されている。第2の生成部507は、第1の演算部513、第2の演算部514、及び第3の生成部508に接続されている。第3の生成部508は、第1の生成部506、第2の生成部507、第1の演算部513、第2の演算部514、メモリ部509、及び補正部512に接続されている。補正部512は、第1のデジタル信号処理部501、第3の生成部508、及び第2のデジタル信号処理部503に接続されている。補正部512は、減算器510及び加算器511を含む。
次に、図5を用いて本実施形態における垂直シェーディング補正処理について説明する。なお、図5を用いて説明する本実施形態に係る撮像装置においては、各行の画素の出力順として、第2の水平OB領域203、第1の水平OB領域202、有効領域204の画素の順に出力されるように読み出し駆動されるものとする。第1のデジタル信号処理部501は、アナログ信号処理回路104から出力された画像信号に対して、水平シェーディング補正などの、基本的な各種補正を行う。続けて、垂直シェーディング補正回路502は、第1のデジタル信号処理部501から出力された画像信号に対し、垂直シェーディング補正を行う。
具体的には、第2の水平OB領域203における第2の演算領域206の基準信号が第1のデジタル信号処理部501から出力される期間に、第1のスイッチ504がオフしており、第2のスイッチ505がオンしている。これにより、第2の生成部507(第2の生成手段)は、第2の演算領域206の基準信号を受ける。第2の生成部507は、第2の演算領域206から出力された第2の基準信号に応じて第2の基準データを生成する。第2の生成部507は、例えば、第2の演算領域206における行ごとの基準信号の代表値に応じて第2の基準データを生成して第3の生成部508(第3の生成手段)へ出力する。代表値は、例えば、平均値又は中央値である。
第1の水平OB領域202における第1の演算領域205の基準信号が第1のデジタル信号処理部501から出力されている期間に、第1のスイッチ504がオンしており、第2のスイッチ505がオフしている。これにより、第1の生成部506(第1の生成手段)は、第1の演算領域205の基準信号を受ける。第1の生成部506は、第1の演算領域205から出力された基準信号に応じて第1の基準データを生成する。第1の生成部506は、例えば、第1の演算領域205における行ごとの第1の基準信号の代表値に応じて第1の基準データを生成して第3の生成部508へ出力する。代表値は、例えば、平均値又は中央値である。
第3の生成部508は、受けた第1の基準データと第2の基準データとを用いることにより、補正データを生成する。具体的には、第3の生成部508は、第1の基準データ及び第2の基準データを平均することで得られる第1の値と、第1の基準データ及び第2の基準データの間を線形補間することで得られる第2の値とのいずれかを用いることにより、補正データを生成する。すなわち、第3の生成部508は、撮影条件に応じて、補正データを生成するために第1の値と第2の値とのいずれかを用いる。
例えば、第3の生成部508は、温度検出回路121により検出された温度が第1の閾値以上である場合、第1の値を用いて補正データを生成し、温度検出回路121により検出された温度が第1の閾値未満である場合、第2の値を用いて補正データを生成する。
あるいは、例えば、第3の生成部508は、撮影モード設定部123により設定された感度が第2の閾値以上である場合、第1の値を用いて補正データを生成する。第3の生成部508は、撮影モード設定部123により設定された感度が第2の閾値未満である場合、第2の値を用いて補正データを生成する。
あるいは、例えば、第3の生成部508は、蓄積時間設定部122により設定された、撮像素子103における複数の有効画素のそれぞれが電荷蓄積動作を行う蓄積時間が第3の閾値以上である場合、第1の値を用いて補正データを生成する。第3の生成部508は、蓄積時間設定部122により設定された、撮像素子103における複数の有効画素のそれぞれが電荷蓄積動作を行う蓄積時間が第3の閾値未満である場合、第2の値を用いて補正データを生成する。
また、第3の生成部508は、さらに、第1の演算領域205から出力された基準信号と第2の演算領域206から出力された基準信号との状態に応じて、補正データを生成するために第1の値と第2の値とのいずれかを用いる。
例えば、第1の演算部513は、第1のスイッチ504がオンした際に、第1の演算領域205から出力された基準信号を第1の生成部506経由で受ける。第1の演算部513は、第2のスイッチ505がオンした際に、第2の演算領域206から出力された基準信号を第2の生成部507経由で受ける。第1の演算部513は、第1の演算領域205から出力された基準信号と第2の演算領域206から出力された基準信号とのばらつきを演算する。第1の演算部513は、その演算結果を第3の生成部508へ出力する。第3の生成部508は、第1の演算部513により演算されたばらつきが第4の閾値以上である場合、第1の値を用いて補正データを生成する。第3の生成部508は、第1の演算部513により演算されたばらつきが第4の閾値未満である場合、第2の値を用いて補正データを生成する。
あるいは、例えば、第2の演算部514は、第1の基準データを第1の生成部506から受け、第2の基準データを第2の生成部507から受ける。第2の演算部514は、第1の基準データと第2の基準データとの相関係数を演算する。第2の演算部514は、その相関係数の情報を第3の生成部508へ出力する。第3の生成部508は、第2の演算部514により演算された相関係数が第5の閾値未満である場合、第1の値を用いて補正データを生成する。第3の生成部508は、第2の演算部514により演算された相関係数が第5の閾値以上である場合、第2の値を用いて補正データを生成する。
そして、第3の生成部508は、第1の値と第2の値のいずれかを用いて補正データを生成して補正部512へ出力する。なお、第3の生成部508は、生成した補正データの値と、メモリ部509に格納されている、事前に読み出された補正データに関する履歴情報を基に、補正データの値をさらに調整しても良い。
第3の生成部508は、温度検出回路121、蓄積時間設定部122、撮影モード設定部123などからの情報に基づき、撮影条件や撮影モード設定に応じた適切な値になるように、補正データの値をさらに調整しても良い。第3の生成部508は、補正データの値を生成する際に用いた各種情報を、補正データに関する履歴情報として、メモリ部509に格納する。
有効領域204の画像信号が第1のデジタル信号処理部501から出力されている期間に、補正部512は、補正データを用いることにより、複数の有効画素から出力された画像信号の基準レベル(ダークレベル)を補正する。具体的には、補正部512の減算器510が、有効領域204の画像信号を第1のデジタル信号処理部501から受け、補正データを第3の生成部508から受ける。減算器510は、有効領域204の画像信号から補正データを減算して加算器511へ出力する。加算器511は、補正データが減算された画像信号に所定のオフセット値を加算して、その加算された画像信号を垂直シェーディング補正された画像信号として第2のデジタル信号処理部503へ出力する。
次に、本実施形態の垂直シェーディング補正処理の手順について、図6のフローチャートを用いて説明する。図6のフローチャートは、第1の記憶部119に記憶されたプログラムに基づいて、システム制御部118(制御手段)の制御により実行される。システム制御部118は、入力部(図示せず)を介して撮影開始の指示をユーザから受けると、まず、動画撮影、静止画やトリミング領域などの駆動条件及び、感度、絞り値、露光時間などの撮影条件を初期設定する(S601)。システム制御部118は、メカニカルシャッタ102を制御することにより、撮像素子103を露光する露光処理を行う(S602)。
次に、システム制御部118は、撮影条件によって、デジタル信号処理回路112において実行される垂直ダークシェーディング補正の補正データ作成方法の切り替えを行う(S1)。すなわち、システム制御部118は、撮影条件に応じて、補正データを生成するために第1の値と第2の値とのいずれを用いるべきかを決定する。第1の値は、後述の第1の基準データ及び第2の基準データを平均することで得られる値である。第2の値は、第1の基準データ及び第2の基準データの間を線形補間することで得られる値である。
具体的には、撮影モード設定部123により設定されている撮影モードを判定する(S603)。設定されている撮影モードがライブビューモードや動画記録モードなどの、高速読み出しを行うモードであると判定した場合、補正データを作成するために第1の値を用いるべきであると決定し、処理をS610に進める。設定されている撮影モードが高速読み出しを行うモードでないと判定した場合、補正データを作成するために第2の値を用いるべきであると決定し、処理をS604に進める。
温度検出回路121により検出された撮影環境下の温度が高温であるかどうかを判定する(S604)。温度検出回路121により検出された温度が第1の閾値以上である(高温である)と判定した場合、第1の値を用いるべきであると決定し、処理をS610に進める。温度検出回路121により検出された温度が第1の閾値未満である(高温でない)場合、第2の値を用いるべきであると決定し、処理をS605に進める。
蓄積時間設定部122により設定された、撮像素子103における複数の有効画素のそれぞれが電荷蓄積動作を行う蓄積時間が第3の閾値よりも長いかどうか(長秒露光設定であるかどうか)を判定する(S605)。その蓄積時間が第3の閾値以上である場合、第1の値を用いるべきであると決定し、処理をS610に進める。
その蓄積時間が第3の閾値未満である場合、第2の値を用いるべきであると決定し、処理をS606に進める。撮影モード設定部123により設定されたISO感度が第2の閾値よりも高いかどうか(高感度設定であるかどうか)を判定する(S606)。
撮影モード設定部123により設定された感度が第2の閾値以上である場合、第1の値を用いるべきであると決定し、処理をS610に進める。撮影モード設定部123により設定された感度が第2の閾値未満である場合、第2の値を用いるべきであると決定し、処理をS607へ進める。
また、システム制御部118は、さらに、第1の演算領域205から出力された基準信号と第2の演算領域206から出力された基準信号との状態に応じて、補正データを生成するために第1の値と第2の値とのいずれを用いるべきかを決定する(S2)。具体的には、第1の演算領域205から出力された基準信号と第2の演算領域206から出力された基準信号との標準偏差σを演算した上で、その値が大きいかどうかを判定する(S607)。
演算された標準偏差(ばらつき)σが第4の閾値以上である場合、第1の値を用いるべきであると決定し、処理をS610に進める。演算された標準偏差(ばらつき)σが第4の閾値未満である場合、第2の値を用いるべきであると決定し、処理をS608に進める。
S608では、デジタル信号処理回路112が、第1の演算領域205から出力された基準信号に応じて第1の基準データを生成し、第2の演算領域206から出力された基準信号に応じて第2の基準データを生成する。そして、デジタル信号処理回路112は、第1の基準データと第2の基準データとの相関係数を演算する(S608)。
続けて、S608で算出した相関係数が第5の閾値よりも大きいかどうかを判定する(S609)。演算された相関係数が第5の閾値未満である場合、第1の値を用いるべきであると決定し、処理をS610に進める。演算された相関係数が第5の閾値以上である場合、第2の値を用いるべきであると決定し、処理をS611に進める。
S610では、デジタル信号処理回路112が、第1の基準データ及び第2の基準データを平均することで得られる第1の値を用いて、第1の垂直ダークシェーディング補正方式のための垂直画像データ(補正データ)を作成する(図3d)参照)。S611では、デジタル信号処理回路112が、第1の基準データ及び第2の基準データの間を線形補間することで得られる第2の値を用いて、水平方向に傾斜をもたせた補正画像データ(補正データ)を作成する(図4d)参照)。
S612では、デジタル信号処理回路112が、S610もしくはS611で生成した補正データを用いて、有効領域に対して、垂直ダークシェーディング補正を行う。S613では、デジタル信号処理回路112が、補正後の画像の画像データを画像メモリ113、記録回路115、もしくは表示回路117に出力し、本撮影を終了する。
以上により、撮影条件や、左右の水平OB領域からの基準信号の状態に適した、より精度の高い垂直ダークシェーディング補正を行う撮像装置を提供することが可能となる。
なお、本発明は上記の実施形態に限定されることはなく、様々な形態をとることが可能である。例えば、図6に示す手順において、露光時間のみで補正処理を決定したり、ISO感度と環境温度との2つの条件から補正処理を決定することも可能であるし、撮影画像の水平OB部の状態のみから補正処理を決定するような構成とすることも可能である。
また同様に、環境温度、撮像時の露光時間、及びISO感度設定以外の撮影環境や撮影条件を判断材料として演算領域を切り替えることも可能である。例えば、液晶モニタを長時間使用した直後の撮影など、高温時、長秒露光時以外でも暗電流が大きくなる条件での撮影において、補正データ生成方法を切り替えることなども可能である。
また、図6に示す手順において、例えば、あらかじめ第1の値及び第2の値の両方を生成しておき、その上で、撮影時の撮影条件や水平OB部の状態の判定結果をもとに、どちらの値を使用して垂直ダークシェーディング補正を行うかを選択してもよい。また、第1及び第2の垂直シェーディング補正処理においては、例えば行毎に2つの水平OB領域の演算領域からの出力信号の平均値又は補間値を算出してもよい。そして、そこから行毎の補正データを算出し、その行の読み出し時に同時に、その行の有効領域の出力信号に対し補正をかけるような構成とすることも可能である。