以下、本発明の実施の形態による撮像装置の一例について図面を参照して説明する。
図1は、本発明の実施の形態による撮像装置の一例の構成を示すブロック図である。
図1に示した撮像装置は固体撮像素子303を有している。レンズ301は被写体の光学像を固体撮像素子303に結像させる。絞り302はレンズ301を通過した光の光量を変化させる。固体撮像素子303は光学像を光電変換によって電気信号(画像信号)に変換して出力する。
固体撮像素子303から出力された画像信号(撮像信号ともいう)は撮像信号処理回路304に供給される。撮像信号処理回路304は画像信号を増幅するゲイン可変アンプ部とそのゲイン値を補正するためのゲイン補正回路部を有している。撮像信号処理回路304から出力された画像信号は、アナログーデジタル(A/D)変換部305によってA/D変換されて、画像データとして信号処理部306に供給される。
信号処理部306はA/D変換部305から出力された画像データに対して各種の補正を行うとともに、必要に応じてデータ圧縮を行う。なお、固体撮像素子303、撮像信号処理回路304、A/D変換部305、および信号処理部306に対してタイミング発生部313から各種のタイミングパルスが供給される。
全体制御・演算部312は各種の演算を行うとともに、撮像装置の制御を行う。メモリ部307(メモリ手段)には画像データが一時的に記憶される。外部インターフェース(I/F)部310は、例えば、外部コンピュータなどの外部機器311と通信を行う。なお、外部I/F310は、無線ユニット318を介して画像データを送信する等の外部機器311との通信を無線で行うこともできる。
記録媒体制御インターフェース(I/F)部308には、記録媒体309を着脱可能である。記録媒体309が記録媒体制御I/F308に装着されている場合、記録媒体制御I/F308によって記録媒体309に対して画像データの記録及び読み出しが行われる。なお、記録媒体309は、例えば、半導体メモリで構成されている。
ストロボ部314は、AF(オートフォーカス)補助光の投光およびフラッシュ調光を行う。電源回路315は、電池などから供給された電圧を所望の電圧に変換するDC/DC回路を有し、撮像装置で必要な電圧を必要な期間だけ、記録媒体309を含む各部に供給する。なお、レンズ301の鏡筒は、全体制御・演算部312の制御下でモータ316によって駆動され、絞り302はモータ317によって駆動される。
図1に示す撮像装置では、上述したように、ストロボ等の機器、電圧変換を行うためのDC/DC回路、レンズの鏡筒および絞り等を駆動するためのモータ、そして、PC等の外部機器と通信を行うための通信ユニット等が備えられている。つまり、撮像装置は、その内部又は近傍に撮像素子の電源電圧を変動させるノイズ源となり得る要素を多数有している。そして、これらのノイズ源が撮像素子の信号読み出し中に動作すると、その電源変動および電磁波などによって撮像素子に供給される電源電圧が不安定になる。
これらのノイズ源は、各々の機器および部品毎に特定の周波数の電磁波を発生するため、撮像素子の電源電圧が周期的に変動して、ノイズは周期的な横縞状として画像に現われる。
さらに、ノイズ源毎に異なる周期で撮像素子の電源電圧が変動するので、撮像素子の信号読み出しの際に、いずれの機器が動作しているかに応じて画像に現れる横縞状ノイズの周期が異なる。
なお、図1に示す機器および部品以外にも、動作によって撮像装置の電源および撮像素子周辺の磁場を変動させうる機器および部品はノイズ源となると考えられる。
図2は、図1に示す固体撮像素子303の等価回路を示す図である。
図2を参照して、固体撮像素子303を構成する各回路素子は、半導体集積回路製造技術によって、例えば、単結晶シリコンのような1つの半導体基板上に形成される。ここでは、画素アレイの行数及び列数は、n行×m列(nおよびmの各々は2以上の整数である)であるとする。なお、図示の例では、n=m=3の3行×3列の画素アレイが示されているが、画素アレイの行数および列数は、図示の例に限定されない。
固体撮像素子は、2次元マトリックス状に配列された複数の単位画素400を有しており、これら単位画素400によって画素部が構成される。単位画素400はフォトダイオードPDを有しており、フォトダイオードPDは、光を受けて電気信号である光信号を発生する。図示の例では、フォトダイオードPDはそのアノードが接地されている。
フォトダイオードPDのカソードは、フォトダイオードPDに蓄積された光信号電荷を転送するための転送MOS M1を介して、増幅MOS M3のゲートに接続されている。増幅MOS M3のゲートには、当該増幅MOS M3をリセットするためのリセットMOS M2のソースが接続され、リセットMOS M2のドレインはリセット電源に接続されている。また、増幅MOS M3のドレインは直接電源に接続されている。
n行目の単位画素400の転送MOS M1のゲートは、横方向に延長して配置される行転送線PTX_nに接続される。また、n行目の単位画素400のリセットMOS M2のゲートは、横方向に延長して配置される行リセット線PRES_nに接続される。そして、n行目の単位画素400の選択MOS M4のゲートは、横方向に延長して配置される行選択線PSEL_nに接続される。
行転送線PTX_n、行リセット線PRES_n、および行選択線PSEL_nは、垂直走査回路(VSR)ブロック411に接続されている。
行転送線PTX_nには、垂直走査回路ブロック411で生成され画素信号の転送を制御するための信号電圧が、後述するタイミングで供給される。行リセット線PRES_nには、垂直走査回路ブロック411で生成され単位画素400のリセットを制御するための信号電圧が、後述するタイミングで供給される。そして、行選択線PSEL_nには、垂直走査回路ブロック411で生成され信号転送を行う画素行を選択するための信号電圧が、後述するタイミングで供給される。
m列目の単位画素400の増幅MOS M3のソースは、縦方向に延長して配置される垂直信号線V_mに選択MOS M4を介して接続される。垂直信号線V_mは、負荷手段である定電流源Iに接続されるととともに、クランプ容量C0に接続される。また、クランプ容量C0は、演算増幅器401の反転端子に接続される。
演算増幅器401の非反転端子はクランプ電圧VC0R(VREF)に接続される。演算増幅器401の出力端子は、ノイズ信号転送スイッチM11を介してノイズ信号(撮像信号の基準信号)を一時保持するための容量CTN_m(第2の保持手段)に接続される。また、演算増幅器401の出力端子は、光信号転送スイッチM12を介して光信号(撮像信号)を一時保持するための容量CTS_m(第1の保持手段)に接続される。
ノイズ信号保持容量CTN_mおよび光信号保持容量CTS_mの逆側の端子は接地されている。ノイズ信号転送スイッチM11とノイズ信号保持容量CTN_mとの接続点および光信号転送スイッチM12と光信号保持容量CTS_mとの接続点は、それぞれ水平転送スイッチM21および水平転送スイッチM22を介して、光信号とノイズ信号との差分を得るための差動回路ブロック431(差分信号出力手段)に接続される。図2に示す残りの垂直信号線V_m−1、V_m+1についても同様にして読み出し回路が設けられる。
各列のノイズ信号転送スイッチM11のゲートは、第1の転送信号入力端子PTNに共通に接続される。また、各列の光信号転送スイッチM12のゲートは、第2の転送信号入力端子PTSに共通に接続される。第1の転送信号入力端子PTNおよび第2の転送信号入力端子PTSには、後述するタイミングでそれぞれ信号電圧が供給される。
m列目の水平転送スイッチM21および水平転送スイッチM22のゲートは、列選択線PH_mは水平走査回路(HSR)ブロック421に接続される。なお、列選択線PH_m−1およびPH_m+1についても同様に構成されている。
図3は、図2に示す固体撮像素子303における信号読み出し動作を説明するための駆動パターンの第1の例を示す図である。
撮像素子303における信号読み出しを行う際には、その0行目から開始し、1行目、2行目、および3行目と順に行われる。そして、該当行の信号の読み出し動作が終了した後に、次の行の読み出し動作に移る。
ここで、図2および図3を参照して、固体撮像素子303のn行目に注目して、その読み出し動作を説明する。
いま、時刻T0で、行選択パルスPSELがローレベル(Lレベル)となると、直前に読出しを行った行、つまり、(n−1)行目の画素選択MOS M4がオフとなって、(n−1)行目の単位画素400の選択が解除される。同時に、クランプパルスPC0Rがハイレベル(Hレベル)となって、クランプ容量C0のリセットが開始される。また、転送信号入力パルスPTSおよびPTNがHレベルとなり、ノイズ信号保持容量CTNおよび光信号保持容量CTSのリセットが開始される。
時刻T1で、行送りパルスPV(図示せず)が垂直走査回路(VSR)411に入力されると、読出しを行う選択行の行送りが行われる。ここでは、選択行が(n−1)行目からn行目に送られる。
時刻T2で、行リセットパルスPRESがLレベルとなって、FDのリセットが解除され、フローティングディフュージョンFDの基準電位が決定される。
時刻T3で、行送りパルスPVがHレベルとなる。また、行選択パルスPSELがHレベルとなり、画素選択MOS M4がオンとなって、n行目の単位画素400が選択される。
時刻T4で、転送信号入力パルスPTSおよびPTNがLレベルとなって、光信号保持容量CTSおよびノイズ信号保持容量CTNのリセットが終了し、CTSおよびCTNの基準電位が決定される。
時刻T5で、クランプパルスPC0RがLレベルとなり、容量C0に基準電位VC0Rが保持される。
時刻T6で、転送信号入力パルスPTNがHレベルとなり、フローティングディフュージョンFDの電位(電圧)がノイズ信号保持容量CTNに出力される。
時刻T7で、転送信号入力パルスPTNがLレベルとなり(保持タイミング)、この時点におけるフローティングディフュージョンFDの電位(電圧)がノイズ信号(撮像信号の基準信号)としてノイズ信号保持容量CTNに保持される。
時刻T8で、転送信号入力パルスPTSがHレベルとなり、フローティングディフュージョンFDの電位(電圧)が光信号保持容量CTSに出力される。
時刻T9で、転送信号入力パルスPTSがHレベルの間に、行転送線PTXがHレベルとなり、転送MOS M1がオンとなって、フォトダイオードPDに蓄積されていた電荷がフローティングディフュージョンFDに転送される。
時刻T10で、行転送線PTXがLレベルとなり、転送MOS M1がオフされて、電荷のフローティングディフュージョンFDへの転送が終了する。
時刻T11で、転送信号入力パルスPTSがLレベルとなり、この時点におけるフローティングディフュージョンFDの電位が光信号(撮像信号)として光信号保持容量CTSに保持される。
時刻T12で、行リセットパルスPRESがHレベルとなって、フローティングディフュージョンFDのリセットが開始される。
時刻T13で、列送りパルスPH(図示せず)が水平走査回路(HSR)421に入力されると、読出し領域の先頭列から末尾の列まで列転送パルスが順に列選択線PHに入力される。従って、光信号保持容量CTSおよびノイズ信号保持容量CTNに保持された信号は、1列分ずつ順番に差動回路ブロック431に送られる。そして、差動回路ブロック431によって光信号とノイズ信号との差分増幅信号が画像信号として固体撮像素子303の出力端子から出力される。
以上が、n行目の画素行の信号読み出し動作であり、これを1水平期間と定義する。
n行目の画素信号の読み出しが終了した後は、(n+1)行目の読み出し動作に移る。なお、n行目以外の画素行の読み出しについても、n行目と同様の読み出し動作を繰り返して、各行の信号読み出しが終了すると、次の行の読み出しに移行する。
上述の動作は、固体撮像素子303に含まれる全ての画素行の信号読み出しが終了するまで繰り返されて、1フレーム分の画像信号が読み出される。
(第1の実施形態)
ここで、上述した撮像装置についてその第1の実施形態について説明する。第1の実施形態における撮像装置は、前述した駆動パターンを、少なくとも2種類記憶している。そして、撮像装置の駆動時の条件に応じて駆動パターンを選択して、画像信号の読出しを行う。
なお、以下の説明では、撮像装置の内部又はその接続機器の中に4種のノイズ源が含まれていた場合を例として説明するが、ノイズ源は4種に限られない。また、ここでは、1フレームの読出し毎にノイズ源の種類および各ノイズ源の動作状態を判定する。そして、画像信号読出しの際に動作しているノイズ源のうち画像信号に対して影響の大きいノイズ源を優先して、当該ノイズ源に応じて駆動パターンを選択する。
図4は、図2に示す固体撮像素子303における信号読み出し動作を説明するための駆動パターンの第2の例を示す図である。また、図5は、図2に示す固体撮像素子303における信号読み出し動作を説明するための駆動パターンの第3の例を示す図である。そして、図6は、図2に示す固体撮像素子303における信号読み出し動作を説明するための駆動パターンの第4の例を示す図である。
いま、図3に示す駆動パターンをパターンAとし、図4に示す駆動パターンをパターンBとする。また、図5に示す駆動パターンをパターンCとし、図6に示す駆動パターンをパターンDとする。そして、これらパターンA〜Dがメモリ(例えば、図1に示すメモリ部307)に予め記憶される。
パターンA〜Dにおいては、転送信号入力パルスPTSがLレベル(ローレベル)となるタイミング(時刻T11、T11b、T11c、T11d)が異なっている。これによって、転送信号入力パルスPTNがLレベルとなるタイミング(T7)と転送信号入力パルスPTSがLレベルとなるタイミングとの間隔(時間間隔)をそれぞれ異ならせるようにしている。
なお、他の例として、図示していないが、転送信号入力パルスPTNがLレベルとなるタイミングを、駆動パターン毎に異ならせて、転送信号入力パルスPTNがLレベルとなるタイミングと転送信号入力パルスPTSがLレベルとなるタイミングとの間隔を異ならせるようにしてもよい。つまり、転送信号入力パルスPTSおよびPTNがLレベルになるタイミングとの差が重要であり、転送信号入力パルスPTSおよびPTN以外のパルスのタイミングが駆動パターン毎によって異なっていても問題はない。
または、図示しないが、Hレベル期間(1H期間)の長さを駆動パターン毎に異ならせてもよい。さらに、上述した3種のパターン変更の仕方を組み合わせることによって複数の駆動パターンを用意するようにしてもよい。
各駆動パターンにおいて、転送信号入力パルスPTNがLレベルとなるタイミングと転送信号入力パルスPTSがLレベルとなるタイミングとの間隔、又は各駆動パターンの1H期間の長さは、次のようにして決定される。
いま、撮像装置に組み込まれている部品のうち、ストロボ部の電源回路などの電圧変換を行うためのDC/DCコンバータ、撮像装置の電源回路などの電圧変換を行うためのDC/DCコンバータが画像信号に対するノイズ源になるものとする。さらに、撮像装置に接続されている機器のうちレンズの鏡筒および絞りを駆動するためのモータ、PC等の外部機器と通信を行うための通信ユニットが画像信号のノイズ源になるものとする。
この際、各ノイズ源の駆動周波数又は各ノイズ源が電気的に駆動された際の電源の変動周波数に基づいて、光信号(S信号)およびノイズ信号(N信号)をメモリに保持して、各信号レベルを確定するタイミングを決定する。
図7は、光信号(S信号)およびノイズ信号(N信号)の信号レベルを確定するタイミングの決定の一例を説明するための図である。
図7に示すように、転送信号入力パルスPTNがLレベルとなるタイミングと転送信号入力パルスPTSがLレベルになるタイミングとの間で、固体撮像素子303の電源に係るオフセットの差分がゼロとなるように、転送信号入力パルスPTNがLレベルになるタイミングと転送信号入力パルスPTSがLレベルになるタイミングとのどちらか又は双方のタイミングが決定される。
図8は、光信号(S信号)およびノイズ信号(N信号)の信号レベルを確定するタイミングの決定の他の例を説明するための図である。
図8に示すように、所定の行を読み出すための1H期間と、所定の行の前後の行を読み出すための1H期間の長さに注目して、転送信号入力パルスPTNがLレベルになるタイミングと転送信号入力パルスPTSがLレベルになるタイミングとの間で、撮像素子の電源に係るオフセットの差分が、各1H期間同士で等しくなるようにする。
例えば、各パターンA〜D(駆動パターン)の1H期間の長さを調整して、各1H期間の転送信号入力パルスPTNがLレベルになるタイミング同士および転送信号入力パルスPTSがLレベルになるタイミング同士の間隔を調整する。これによって、オフセットの差分を一定とすることができる。
また、各ノイズ源が画像信号に及ぼすノイズの影響の大きさを順位付けて、これら順位を駆動パターンと関連付けて、撮像装置のメモリに記憶しておく。例えば、各ノイズ源と固体撮像素子303に供給される電源の電源回路又は固体撮像素子303自身と距離が近い程、固体撮像素子303の電源へ与える影響は大きく、画像信号上のノイズも大きくなる。
さらに、撮像装置に供給される電源のオフセットにおいて、ノイズ源による変動パターンに規則性がない場合には、ノイズはランダムな細かい横筋となることが多く視覚的に目立ちにくい。一方、電源のオフセットが周期的に変動していた場合には、ノイズは周期的な横縞パターンとなり、視覚的に目立ちやすい。そして、ノイズの大きさおよび目立ちやすさといった要素を考慮して、各ノイズ源が画像信号に及ぼす影響の大きさを順位付けて、メモリに記憶する。
図9は、図2に示す固体撮像素子303を駆動する駆動パターンA〜Dとノイズ源である各種機器a〜dとの関係の一例を説明するための図である。
上述のようにして、ノイズ源と固体撮像素子の駆動パターンA〜Dとの関係をメモリに記憶すると、例えば、図9に示すように、機器a、機器b、機器c、および機器dがノイズ源であった場合に、機器aが電気的に駆動されているときにノイズが最も少なくなる(最小となる)駆動パターンAが対応付けられ、機器bが電気的に駆動されているときにノイズが最も少なくなる駆動パターンBが対応付けられる。そして、機器cが電気的に駆動されているときにノイズが最も少なくなる駆動パターンCが対応付けられ、機器dが電気的に駆動されているときにノイズが最も少なくなる駆動パターンDが対応付けられる。
さらに、図9に示すように、駆動パターンA〜Dの1つを基準パターンとして、この基準パターンによって固体撮像素子303を駆動した際の各機器a〜dの動作時(電気的駆動時)におけるノイズ周期A1〜D1を求めて、これらノイズ周期A1〜D1を駆動パターンA〜Dと関連付けてメモリに記憶する。
例えば、撮像装置の電源回路等の電圧変換を行うDC/DC回路は撮像装置内に配置されて信号読出しと同時に動く機会が多い。そして、このDC/DC回路は固体撮像素子303に供給される電源に対して影響を及ぼす頻度が高い。従って、DC/DC回路によるノイズに合わせるため、ノイズの出にくいS転送およびN転送のタイミングを設定したパターンDが基準パターンとされる。
さらに、ノイズ源となる機器a、機器b、および機器cの各々を単独で電気的に駆動して動作させつつ、基準パターンであるパターンDによる読出し動作によって、固体撮像素子303が遮光された状態で複数行の画像データを読み出すか又は1行分の画像信号を複数回分読み出して黒データを取得する。この際、黒データには、機器dの影響によるノイズは現れずに、黒データ取得時に動作させたノイズ源の影響によるノイズが現われる。
そして、各機器a〜cの動作時(電気的駆動時)における黒データを用いて、各機器a〜cによる横縞ノイズの周期A1、B1、およびC1を算出して、各駆動パターンと関連付けてメモリに記憶する。なお、ここでは、機器dの駆動時のノイズ周期D1は、D=0となる。
図10は、図9に関連して説明した横縞ノイズの周期を求める手法の一例を説明するための図である。
図10に示すように、黒データを1行分ずつ加算平均して各行におけるオフセット量を求める。そして、各行のオフセット量から変極点を抽出して、そのピーク同士の間隔から横縞ノイズの周期を求め、メモリに記憶する。
上述のようにして決定された複数の駆動パターンは、画像信号の読出しの際におけるノイズ源の電気的な駆動状態に応じて選択され、ノイズ源の影響によるオフセットが画像信号に影響を与えることがないようにする。
なお、レンズ交換式の撮像装置の場合には、接続するレンズによって内蔵されているモータの駆動周波数が異なる場合がある。このような場合には、接続される可能性のある各レンズについて、固体撮像素子の最適な駆動パターンを予め準備する。そして、撮像装置に接続されたレンズに応じて、固体撮像素子の最適な駆動パターンを選択するようにする。
図11Aおよび図11Bは、図1に示す撮像装置における駆動パターンの選択の一例を説明するためのフローチャートである。
図1、図11A、および図11Bを参照して、電源がオン(ON)されると、全体制御・演算部312は、撮影開始スイッチ(図示せず)が撮影準備開始を指示する半押し状態(SW1=ON)であるか否かを判定する(ステップS1)。SW1=オフ(OFF)であると(ステップS1において、NO)、全体制御・演算部312は待機する。SW1=ONであると(ステップS1において、YES)、全体制御・演算部312は撮像装置に接続されている機器に関する情報(データ)を取得する(ステップS2)。
例えば、撮像装置に接続されている交換レンズの種類、外部ストロボの有無とその種類、および無線ユニットの有無とその種類などの情報を、全体制御・演算部312は取得する。ここでは、全体制御・演算部312は4種類のノイズ源である機器a〜dが撮像装置の内部又は接続機器に含まれていることを検出したとする。さらに、機器dは、撮像装置内のDC/DC回路であるとする。
全体制御・演算部312は固体撮像素子303の駆動パターン(制御パターン)をパターンDに設定して、固体撮像素子303が遮光された状態で複数行の画像データを読み出すか又は1行分の画像データを複数回分読み出して、駆動パターンの判定に用いる黒データを取得する(ステップS3)。
続いて、全体制御・演算部312は黒データを用いて、黒データ中の横縞状のノイズ量を算出する(ステップS4)。例えば、図10で説明したように、全体制御・演算部312は黒データを1行分ずつ加算平均して各行のオフセット量を求める。そして、全体制御・演算部312は加算平均値同士のばらつきσを算出して、ノイズ量の判定値とする。
次に、全体制御・演算部312はノイズ量(判定値)に応じて、黒データ中の横縞状のノイズ量が所定量以上(所定値以上)であるか否かについて判定する(ステップS5)。横縞状のノイズ量が所定量以上であると判定すると(ステップS5において、YES)、全体制御・演算部312は、前述の加算平均値に基づいて横縞ノイズの周期を求めて、ノイズ源の周波数を推定する(ステップS6)。例えば、全体制御・演算部312は各行のオフセット量から変極点を抽出して、そのピーク同士の間隔から横縞ノイズの周期を推定する。
なお、撮像装置に接続された機器のみがノイズ源となるようであれば、ステップS3〜6の処理を行わなくても問題ないが、例えば、撮像装置の周辺環境に無線機等の通信機器又は電波塔などの強い電磁波を発生する機器があった場合には、それら機器から発生する電磁波も撮像素子の電源を変動させるノイズ源となりうる。
撮像装置に接続されていない機器の有無およびそのノイズ周波数などの情報を撮像装置のメモリに予め記憶することは困難であるため、当該機器によるノイズ量の判定結果およびノイズの周期を得て、後の駆動パターン選択の際に用いる。
続いて、全体制御・演算部312は、撮影開始スイッチが撮影開始を指示する全押し状態(SW2=ON)であるか否かを判定する(ステップS7)。なお、横縞状のノイズ量が所定量未満(所定値未満)であると判定すると(ステップS5において、NO)、全体制御・演算部312はステップS7の処理に移行する。
SW2=OFFであると(ステップS7において、NO)、全体制御・演算部312はSW1が解除されたか否かを判定する(ステップS8)。つまり、全体制御・演算部312は、撮影開始スイッチが撮影準備開始を指示する半押し状態(SW1=ON)であるか否かを判定する。
SW1=ONのままであれば(ステップS8において、NO)、全体制御・演算部312はステップS7の処理に戻って、SW2=ONであるか否かについて判定する。一方、SW1=OFFであると(ステップS8において、YES)、つまり、SW1のオン状態が解除されていると、全体制御・演算部312はステップS1の処理に戻って、SW1がONされたか否かについて判定する。
SW2=ONであると(ステップS7において、YES)、全体制御・演算部312は測距および測光等の撮像装置の撮影準備動作が完了しているか否かについて判定する(ステップS9)。撮影準備動作が完了していなければ(ステップS9において、NO)、全体制御・演算部312は待機する。
撮影準備動作が完了していると(ステップS9において、YES)、全体制御・演算部312は1フレームの読出し行数をカウントするカウンタ(図示せず)に、最初の読出し行を示すN=0をセットする(ステップS10)。そして、全体制御・演算部312は、タイミング発生部313を制御して、固体撮像素子304の各画素の露光を行毎(行単位)に順次開始する(ステップSS11)。
次に、全体制御・演算部312は、撮像装置の電源に最も強い影響を及ぼす機器aが電気的に駆動されているか否か(つまり、電気的な駆動状況)を判定する(ステップS12)。機器aが電器的に駆動されていると判定すると(ステップS12において、YES)、全体制御・演算部312は読出しを行う信号が機器aによる周期A1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作に係る駆動パターンをパターンAに設定する(ステップS13)。
一方、機器aが電気的に駆動されていないと判定すると(ステップS12において、NO)、全体制御・演算部312は、撮像装置の電源に2番目に強い影響を及ぼす機器bが電器的に駆動されているか否かを判定する(ステップS14)。機器bが電気的に駆動されていると判定すると(ステップS14において、YES)、全体制御・演算部312は読出しを行う信号が機器bによる周期B1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンBに設定する(ステップS15)。
機器bが電気的に駆動されていないと判定すると(ステップS14において、NO)、全体制御・演算部312は撮像装置の電源に3番目に強い影響を及ぼす機器cが電気的に駆動されているか否かを判定する(ステップS16)。機器cが電気的に駆動されていると判定すると(ステップS16において、YES)、全体制御・演算部312は読出しを行う信号が機器cによる周期C1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンCに設定する(ステップS17)。
機器cが電気的に駆動されていないと判定すると(ステップS16において、NO)、全体制御・演算部312は、前述のステップS5による判定結果を参照する(ステップS18)。そして、横縞状のノイズが所定量以上である場合には(ステップS18において、YES)、全体制御・演算部312は撮像装置の外部などに接続機器の他に何らかのノイズ源があると判断して、前述のステップS6で求めた横縞状のノイズの周期を参照する。
全体制御・演算部312はノイズの周期が機器aによるノイズ周期と略等しいか否かを判定する(ステップS19)。ノイズの周期が機器aによるノイズ周期と略等しいと判定すると(ステップS19において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期A1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンAに設定する(ステップS20)。
ノイズの周期が機器aによるノイズ周期と異なっていると判定すると(ステップS19において、NO)、全体制御・演算部312はノイズの周期が機器bによるノイズ周期と略等しいか否かを判定する(ステップS21)。ノイズの周期が機器bによるノイズ周期と略等しいと判定すると(ステップS21において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期B1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンBに設定する(ステップS22)。
ノイズの周期が機器bによるノイズ周期と異なっていると判定すると(ステップS21において、NO)、全体制御・演算部312はノイズの周期が機器cによるノイズ周期と略等しいか否かを判定する(ステップS23)。ノイズの周期が機器cによるノイズ周期と略等しいと判定すると(ステップS23において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期C1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンCに設定する(ステップS24)。
ノイズの周期が機器cによるノイズ周期と異なっていると判定すると(ステップS23において、NO)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期A1、B1、C1、およびD1のいずれとも異なる周期のノイズの影響を受けていると判断する。そして、全体制御・演算部312は、横縞ノイズを視覚的に目立たないようにするため、n行目の信号読出し動作の駆動パターンを、パターンA、パターンB、パターンC、およびパターンDからランダムに選択して設定する(ステップS25)。
続いて、全体制御・演算部312はn行目の露光が終了したか否かを判定する(ステップS26)。そして、n行目の露光が終了していなければ(ステップS26において、NO)、全体制御・演算部312は露光が終了するまで待つ。一方、n行目の露光が終了していれば(ステップS26において、YES)、全体制御・演算部312は、タイミング発生部313を制御して、前述のステップS25で設定した駆動パターンによってn行目の信号を固体撮像素子303から読み出す(ステップS27)。
続いて、全体制御・演算部312は、読出し領域に含まれる所定行数の読出しが完了したかどうかを判定する(n<所定行数:ステップS28)。n<所定行数であると(ステップS28において、YES)、全体制御・演算部312は1フレームの読出し行数をカウントするカウンタを1進めて(ステップS29)、ステップS25の処理に戻って、次の行の読み出し動作を行う。
ステップS18において、横縞状のノイズが所定量未満である場合には(ステップS18において、NO)、全体制御・演算部312は接続機器の他にはノイズ源はないと判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンDに設定する。
前述のステップS13に続いて、全体制御・演算部312はn行目の露光が終了したか否かを判定する(ステップS31)。なお、ステップS15、S17、S20、S22、S24、およびS30に続いて、全体制御・演算部312はステップS31の処理を行う。
n行目の露光が終了していないと(ステップS31において、NO)、全体制御・演算部312は露光が終了するまで待機する。一方、n行目の露光が終了していれば(ステップS31において、YES)、全体制御・演算部312は、タイミング発生部313を制御して、設定した駆動パターンによってn行目の信号を固体撮像素子303から読み出す(ステップS32)。
続いて、全体制御・演算部312は、読出し領域に含まれる所定行数の読出しが完了したかどうかを判定する(n<所定行数:ステップS33)。n<所定行数であると(ステップS33において、YES)、全体制御・演算部312は1フレームの読出し行数をカウントするカウンタを1進めて(ステップS34)、ステップS31の処理に戻って、次の行の読み出し動作を行う。
n=所定行数であると(ステップS33において、NO)、全体制御・演算部312は1フレームの読出しを完了したとして(ステップS35)、ステップS7の処理に戻って、SW2=ONであるか否かを判定する。なお、ステップS28において、n=所定行数であると(ステップS28において、NO)、全体制御・演算部312はステップS35の処理に移行する。
なお、上述の固体撮像素子303の駆動によって得られた画像データは、選択された駆動パターン毎に基準信号が異なるシェーディング形状を有すると考えられる。特に、単位画素列毎に生じる信号のオフセット差が、選択した駆動パターンによって異なるため、水平方向のシェーディング形状が異なることが実験結果から分かった。そして、このようなシェーディングは、撮影した画像において、画面内の左右のムラとして現れるか又は縦スジ状のノイズとなって現れる。
図12は、駆動パターン毎のシェーディング補正データの例を示す図である。
図12において、シェーディングの補正を行うため、固体撮像素子303を遮光した状態で、予め各駆動パターン(パターンA〜D)によって黒画像を取得する。そして、各駆動パターンによる黒画像から、画素列毎に画素信号の加算平均値を求めて、この加算平均値を補正データとする。
固体撮像素子303から読み出した画像信号を補正する際には、これら補正データのうち撮影の際に用いた駆動パターンと同一の駆動パターンによって得られた補正データを用いて補正を行うようにすればよい。
図13は、読み出し行毎の補正を示す図である。
図13に示すように、行毎(1行毎)にランダムに駆動パターンを選択して読出しを行った場合には、各行の読出しの際の駆動パターン(パターンA〜Dのいずれか)に応じて、上記の補正データを選択するようにすればよい。
図14は、固体撮像素子303の撮像領域および遮光領域の配置の一例を示す図である。
行毎にランダムに駆動パターンを選択して読出しを行った場合には、図14に示すように、固体撮像素子303の撮像領域に垂直方向に隣接する領域を含む領域において複数行の遮光画素(つまり、遮光画素領域)を配置する。そして、遮光画素領域について、上述の撮影と同一の駆動パターンで読み出しを行って補正データを取得し、当該補正データを補正に用いるようにしてもよい。
図15は、遮光画素領域について読み出しを行う際の駆動パターンの選択の一例を示す図である。
行毎にランダムに駆動パターンを選択して読み出しを行った場合には、図15に示すように、遮光画素領域を行毎に異なる駆動パターンで読み出すか又は遮光画素領域について駆動パターンを変更しつつ複数回の読み出しを繰り返して行い、補正データを取得する。そして、画像信号の補正を行う際には、各行を読み出した際の駆動パターンに応じて、補正データを選択するようにすればよい。
なお、補正データは、工場調整値として出荷前に予め取得して、メモリに記憶するようにすればよい。また、撮影の前後又は撮影の際に補正データを取得するようにしてもよい。
(第2の実施形態)
図16Aおよび図16Bは、本発明の第2の実施形態による撮像装置における駆動パターンの選択の一例を説明するためのフローチャートである。
第2の実施形態による撮像装置の構成は図1に示す撮像装置と同様であり、また、固体撮像素子の構成は図2に示す固体撮像素子と同様である。
図1、図2、図16Aおよび図16Bを参照して、ここで、図11Aおよび図11Bに示すステップと同一のステップについては同一の参照符号を付し、説明を省略する。
第2の実施形態による撮像装置では、1フレーム中の各画素行の読み出し毎に、撮像装置に接続されたノイズ源の種類および各ノイズ源の電気的な駆動状態を判定する。そして、画像信号の読み出しの際に電気的に駆動されているノイズ源のうち画像信号に対して影響の大きいノイズ源を優先し、当該ノイズ源に応じた駆動パターンを選択する。
図11Aで説明したように、ステップS10において、全体制御・演算部312は1フレームの読み出し行数をカウントするカウンタに最初の読出し行を示すn=0をセットする。そして、全体制御・演算部312は、ステップS11において、固体撮像素子303の各画素行の露光を行毎に順次開始する。
続いて、全体制御・演算部312は、n行目の露光が終了したか否かについて判定する(ステップS112)。n行目の露光が終了していないと(ステップS112において、NO)、全体制御・演算部312は露光が終了するまで待機する。
n行目の露光が終了したと判定すると(ステップS112において、YES)、全体制御・演算部312は、撮像装置の電源に最も強い影響を及ぼす機器aが電気的に駆動されているか否かを判定する(ステップS113)。機器aが電気的に駆動されていると判定すると(ステップS113において、YES)、全体制御・演算部312は読出しを行う信号が機器aによる周期A1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作に係る駆動パターンをパターンAに設定する(ステップS114)。
一方、機器aが電気的に駆動されていないと判定すると(ステップS113において、NO)、全体制御・演算部312は、撮像装置の電源に2番目に強い影響を及ぼす機器bが電気的に駆動されているか否かを判定する(ステップS115)。機器bが電気的に駆動されていると判定すると(ステップS115において、YES)、全体制御・演算部312は読出しを行う信号が機器bによる周期B1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンBに設定する(ステップS116)。
機器bが電気的に駆動されていないと判定すると(ステップS115において、NO)、全体制御・演算部312は撮像装置の電源に3番目に強い影響を及ぼす機器cが電気的に駆動されているか否かを判定する(ステップS117)。機器cが電気的に駆動されていると判定すると(ステップS117において、YES)、全体制御・演算部312は読出しを行う信号が機器cによる周期C1のノイズの影響を受けると判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンCに設定する(ステップS118)。
機器cが電気的に駆動されていないと判定すると(ステップS117において、NO)、全体制御・演算部312は、前述のステップS5による判定結果を参照する(ステップS119)。そして、横縞状のノイズが所定量以上である場合には(ステップS119において、YES)、全体制御・演算部312は撮像装置の外部などに接続機器の他に何らかのノイズ源があると判断して、前述のステップS6で求めた横縞状のノイズの周期を参照する。
全体制御・演算部312はノイズの周期が機器aによるノイズ周期と略等しいか否かを判定する(ステップS120)。ノイズの周期が機器aによるノイズ周期と略等しいと判定すると(ステップS120において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期A1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンAに設定する(ステップS21)。
ノイズの周期が機器aによるノイズ周期と異なっていると判定すると(ステップS120において、NO)、全体制御・演算部312はノイズの周期が機器bによるノイズ周期と略等しいか否かを判定する(ステップS122)。ノイズの周期が機器bによるノイズ周期と略等しいと判定すると(ステップS122において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期B1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンBに設定する(ステップS123)。
ノイズの周期が機器bによるノイズ周期と異なっていると判定すると(ステップS122において、NO)、全体制御・演算部312はノイズの周期が機器cによるノイズ周期と略等しいか否かを判定する(ステップS124)。ノイズの周期が機器cによるノイズ周期と略等しいと判定すると(ステップS124において、YES)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期C1のノイズの影響を受けると判断する。そして、全体制御・演算部312は固体撮像素子303の信号読出し動作の駆動パターンをパターンCに設定する(ステップS125)。
ノイズの周期が機器cによるノイズ周期と異なっていると判定すると(ステップS124において、NO)、全体制御・演算部312は読出しを行う信号が何らかのノイズ源によって周期A1、B1、C1、およびD1のいずれとも異なる周期のノイズの影響を受けていると判断する。そして、全体制御・演算部312は、横縞ノイズを視覚的に目立たないようにするため、n行目の信号読出し動作の駆動パターンを、パターンA、パターンB、パターンC、およびパターンDからランダムに選択して設定する(ステップS2126)。
ステップS119において、横縞状のノイズが所定量未満である場合には(ステップS119において、NO)、全体制御・演算部312は接続機器の他にはノイズ源はないと判断して、固体撮像素子303の信号読出し動作の駆動パターンをパターンDに設定する(ステップS127)。
前述のステップS114に続いて、全体制御・演算部312は、タイミング発生部313を制御して、設定した駆動パターンによってn行目の信号を固体撮像素子303から読み出す(ステップS128)。なお、ステップS116、S118、S121、S123、S125、S126、およびS127に続いて、全体制御・演算部312はステップS128の処理を行う。
続いて、全体制御・演算部312は、読出し領域に含まれる所定行数の読出しが完了したかどうかを判定する(n<所定行数:ステップS129)。n<所定行数であると(ステップS129において、YES)、全体制御・演算部312は1フレームの読出し行数をカウントするカウンタを1進めて(ステップS130)、ステップS112の処理に戻って、次の行の露光が終了したか否かを判定する。
n=所定行数であると(ステップS129において、NO)、全体制御・演算部312は1フレームの読出しを完了したとして(ステップS131)、ステップS7の処理に戻って、SW2=ONであるか否かを判定する。
なお、第2の実施形態における撮像装置においても、図12〜15で説明したようにして、補正データを生成して固体撮像素子303から読み出した画像信号を補正データで補正する。
このように、本発明の実施の形態によれば、ノイズ源に起因して画像信号に横縞などのノイズ成分が重畳されることを低減して、画質を良好に保つことができる。
上述の説明から明らかなように、図1および図2において、垂直走査回路411および水平走査回路421が読み出し手段として機能する。また、全体制御・演算部312が制御手段として機能する。そして、全体制御・演算部312は第1の判定手段および第2の判定手段としても機能する。なお、全体制御・演算部312はノイズ源からのノイズ周波数に応じて、選択された駆動パターンにおいて一行毎の読み出し時間間隔を調整し各行におけるノイズ信号を同相としている。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、撮像に実行させるようにすればよい。また、上述の実施の形態の機能を有する制御プログラムを、撮像装置が備えるコンピュータに実行させるようにしてもよい。
なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。