(58)【調査した分野】(Int.Cl.,DB名)
前記第1のカウンタのカウント値が前記所定期間中に前記所定値に達した場合には、前記第1のカウンタは、前記第1のカウンタのカウント値が前記所定値に達した以降におけるクロックパルスの数をカウントし、前記所定期間が終了するまでにカウントした前記クロックパルスの数に応じた前記第2の信号を出力することを特徴とする請求項1から5のいずれか1項に記載の固体撮像素子。
前記所定期間は、前記第1のカウンタによって前記パルスの数のカウントが行われる期間よりも短いことを特徴とする請求項1から8のいずれか1項に記載の固体撮像素子。
光子の受光頻度に応じた頻度でパルスを発するセンサ部がそれぞれ備えられた複数の画素と、前記センサ部から発せられるパルスの数をカウントする第1のカウンタと、前記第1のカウンタのカウント値が所定期間中に所定値に達しない場合に、前記第1のカウンタのカウント値に応じた第1の信号を選択し、前記第1のカウンタのカウント値が前記所定期間中に前記所定値に達した場合に、前記第1のカウンタのカウント値が前記所定値に達した時間に応じた第2の信号を選択する選択部と、を備える固体撮像素子と、
前記固体撮像素子から出力される前記第2の信号に基づいて、前記所定期間中における前記パルスの数を推計する画像処理部と、
を有することを特徴とする撮像装置。
【発明を実施するための形態】
【0008】
本発明の実施の形態について図面を用いて以下に説明する。なお、本発明は以下の実施形態に限定されるものではなく、適宜変更可能である。また、以下に示す実施形態を適宜組み合わせるようにしてもよい。以下の説明においては、デジタル信号のHighレベルを、「High」と表記する場合もある。また、同様に、デジタル信号のLowレベルを、「Low」と表記する場合もある。また、デジタル信号のHighレベルを、デジタル値の1として扱い、16進数で「0x1」と表記する場合もある。また、同様に、デジタル信号のLowレベルを、デジタル値の0として扱い、16進数で「0x0」と表記する場合もある。
【0009】
[第1実施形態]
第1実施形態による固体撮像素子、撮像装置及び撮像方法について
図1乃至
図6を用いて説明する。
図1は、本実施形態による固体撮像素子を示す図である。
【0010】
図1に示すように、本実施形態による固体撮像素子100は、垂直走査部101と、タイミングジェネレータ(TG:Timing Generator)102と、列メモリ103と、水平走査部104と、時間カウンタ106とを備えている。また、固体撮像素子は、行列状、即ち、マトリクス状に配された複数の画素110を備えている。なお、ここでは、説明の簡略化のため、4つの画素110a、110b、110c、110dが図示されているが、実際には多数の画素110が固体撮像素子100に備えられている。また、画素一般について説明する際には、符号110を用い、個々の画素について説明する際には、符号110a〜110dを用いることとする。[3:0]はビット幅が4の信号であることを示している。
【0011】
タイミングジェネレータ102は、制御部504(
図5参照)から供給される制御信号等に基づいて、固体撮像素子100の各部を制御するための信号を生成する。タイミングジェネレータ102には、制御部504から同期信号VD等が供給される。タイミングジェネレータ102は、垂直走査部101、列メモリ103、水平走査部104、及び、時間カウンタ106の各々に対して各種の信号等を供給する。また、タイミングジェネレータ102は、各々の画素110に対して、制御信号WRTを供給する。タイミングジェネレータ102は、固体撮像素子100の各部を制御する制御部(制御手段)として機能し得る。
【0012】
各々の画素110には、フォトダイオード111と、クエンチ素子112と、インバータ113と、光子カウンタ114と、選択スイッチ115と、画素メモリ116とがそれぞれ備えられている。また、各々の画素110には、OR回路117と、遅延回路118と、読み出しスイッチ119とが更にそれぞれ備えられている。
【0013】
フォトダイオード111は、アバランシェフォトダイオードである。フォトダイオード111のアノードは接地電位に接続されており、フォトダイオード111のカソードはクエンチ素子(クエンチ抵抗)112の一端に接続されている。クエンチ素子112の他端にはバイアス電圧Vbiasが印加される。フォトダイオード111には、クエンチ素子112を介してフォトダイオード111の降伏電圧より大きいバイアス電圧Vbiasが印加される。このため、フォトダイオード111はガイガーモードで動作する。即ち、フォトダイオード111に光子(フォトン)が入射するとアバランシェ増倍現象を引き起こす。これにより、アバランシェ電流が生じ、クエンチ素子112において電圧降下が生ずる。クエンチ素子112は、フォトダイオード111のアバランシェ増倍現象を停止されるための抵抗素子である。ここでは、MOSトランジスタの抵抗成分を利用してクエンチ素子112が構成されている。アバランシェ増倍現象によってアバランシェ電流が生じると、クエンチ素子112において電圧降下が生じ、フォトダイオード111に印加されるバイアス電圧が降下する。バイアス電圧が降伏電圧まで降下するとアバランシェ増倍現象が停止する。その結果、アバランシェ電流が流れなくなり、フォトダイオード111には、再びバイアス電圧Vbiasが印加される。フォトダイオード111のカソードと、クエンチ素子112の一端と、インバータ113の入力端子とは、ノードPLSaにおいて互いに接続されている。インバータ113の出力端子と光子カウンタ114の入力端子とは、ノードPLSdにおいて互いに接続されている。フォトダイオード111に光子が入射すると、上記のような現象が生ずるため、ノードPLSaにおいて電圧変化が生じる。インバータ113は、ノードPLSaにおける電圧変化に応じてパルス信号PLSを生成し、生成したパルス信号PLSをノードPLSdに出力する。こうして、波形整形されたパルス信号PLSがインバータ113から出力される。このように、センサ部403(
図4参照)においては、フォトダイオード111に光子が入射すると、光子の受光頻度に応じた頻度でインバータ113からパルス信号PLSが出力される。バイアス電圧Vbiasは、例えば+20V程度とすることができるが、これに限定されるものではない。例えば、フォトダイオード111のアノードを負の電位に接続してもよい。
【0014】
光子カウンタ114は、インバータ113から出力されるパルス信号PLSのパルス数をカウントする。光子カウンタ114のビット(bit)幅は、例えば16である。ビット幅が16の光子カウンタ114がカウント可能な上限値、即ち、カウント上限値は、0xFFFF(10進数で65535)である。但し、ここでは、説明を簡略化すべく、ビット幅が4の光子カウンタ114を用いて説明することとする。ビット幅が4の光子カウンタ114のカウント上限値は、0xF(10進数で15)である。以下の説明においては、光子カウンタ114によるカウント値を、光子カウント値と称することとする。光子カウンタ114には、タイミングジェネレータ102から出力されるリセット信号(リセットパルス)RESが入力される。光子カウンタ114のカウント値は、リセット信号RESによって0x0にリセットされる。リセットが解除されると、光子カウンタ114は、パルス信号PLSのカウントを開始する。光子カウンタ114は、光子カウント値に応じて、信号FLAGを出力する。より具体的には、光子カウンタ114は、光子カウント値が所定値Cmaxに達しない場合には、信号FLAGの値を0x0とする。また、光子カウンタ114は、光子カウント値が所定値Cmaxに達した場合には、信号FLAGの値を0x1とする。信号FLAGのビット幅は、例えば1である。光子カウンタ114のビット幅が16である場合、所定値Cmaxを例えば0xFFFF(10進数で65535)とする。但し、ここでは、上述したように、光子カウンタ114のビット幅が4である場合を例に説明するため、所定値Cmaxを例えば0xF(10進数で15)とする。
【0015】
時間カウンタ106には、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKが入力される。時間カウンタ106はクロック信号CLKのパルス数、即ち、クロックパルスの数をカウントする。時間カウンタ106のビット幅は、光子カウンタ114のビット幅と同様に16であり、時間カウンタ106のカウント上限値は0xFFFF(10進数で65535)である。但し、ここでは、説明を簡略化すべく、ビット幅が4の時間カウンタ106を用いて説明することとする。以下の説明においては、時間カウンタ106によるカウント値を、時間カウント値又はTIMEと称することとする。時間カウンタ106には、タイミングジェネレータ102から出力されるリセット信号RESが入力される。時間カウンタ106のカウント値は、リセット信号RESによって0x0にリセットされる。
【0016】
選択スイッチ115は、光子カウンタ114から出力される信号FLAGによって制御される。具体的には、信号FLAGが0x0である場合には、選択スイッチ115は、光子カウンタ114から出力される光子カウント値が画素メモリ116に入力されるような状態に設定される。一方、信号FLAGが0x1である場合には、選択スイッチ115は、時間カウンタ106から出力される時間カウント値が画素メモリ116に入力されるような状態に設定される。換言すれば、光子カウント値が所定値Cmaxに達していない場合には、光子カウント値が画素メモリ116に入力され、光子カウント値が所定値Cmaxに達した場合には、時間カウント値が画素メモリ116に入力されるようになっている。画素メモリ116には、選択スイッチ115を介して入力される光子カウント値又は時間カウント値の他に、信号FLAGの値も入力される。即ち、画素メモリ116には、光子カウント値と時間カウント値とのうちのいずれかと信号FLAGの値(情報)とを含む画素信号値が入力される。画素メモリ116は、OR回路117の出力信号のレベルが0x0から0x1に変化したタイミングで、選択スイッチ115を介して入力されている画素信号値を保持する。光子カウント値や時間カウント値のビット幅が例えば16であり、信号FLAGのビット幅が1である場合、これらをあわせた画素信号値のビット幅は17である。従って、画素メモリ116のビット幅は17となっている。但し、ここでは、説明の簡略化を図るべく、ビット幅が4の光子カウンタ114や時間カウンタ106を用いて説明が行われるため、ビット幅が5の画素信号値が画素メモリ116に保持されるような説明となる。
【0017】
OR回路(ORゲート)117には、遅延回路(delay)118から出力される信号と、タイミングジェネレータ102から出力される制御信号WRTとが入力されるようになっている。OR回路117は、遅延回路118から出力される信号とタイミングジェネレータ102から出力される制御信号WRTとの論理和をとり、演算結果を出力する。OR回路117は、入力される信号のうちのいずれか一方がHighレベルの際には、Highレベルの信号を出力する。遅延回路118には、光子カウンタ114から出力される信号FLAGが入力されるようになっている。遅延回路118は、信号FLAGを所定時間だけ遅延させ、遅延させた信号FLAGをOR回路117に出力する。
【0018】
このように、本実施形態では、光子カウント値が所定値Cmaxに達した場合には、時間カウント値が画素メモリ116に入力される。そして、光子カウント値が所定値Cmaxに達してから所定の遅延時間が経過すると、OR回路117から出力される信号のレベルが0x0から0x1に変化し、画素メモリ116が、時間カウント値と、信号FLAGの値0x1とを保持する。一方、光子カウント値が所定値Cmaxに達しない場合には、光子カウント値が画素メモリ116に入力される。そして、制御信号WRTが0x0から0x1に変化すると、画素メモリ116は、光子カウント値と、信号FLAGの値0x0とを保持する。なお、画素メモリ116のカウント値は、タイミングジェネレータ102から出力されるリセット信号RESによって0x0にリセットされる。
【0019】
垂直走査部101には、水平方向に延在する複数の制御線が接続されている。垂直走査部101は、これらの制御線に読み出し信号READを順次供給する。読み出し信号一般について説明する際には、符号READを用い、個々の読み出し信号について説明する際には、符号READn、READn+1を用いることとする。読み出し信号READnは、第n番目の行に位置する制御線に印加される読み出し信号である。読み出し信号READn+1は、第n+1番目の行に位置する制御線に印加される読み出し信号である。同じ行に位置する複数の画素110には、同じ制御線を介して読み出し信号READが供給される。
【0020】
列メモリ103には、垂直方向に延在する複数の信号線(垂直信号線、出力信号線)105が接続されている。なお、信号線一般について説明する際には、符号105を用い、個々の信号線について説明する際には、符号105a,105bを用いることとする。画素メモリ116から出力される信号が、読み出しスイッチ119、出力部120及び信号線105を介して、列メモリ103に出力される。読み出しスイッチ119は、垂直走査部101から供給される読み出し信号READが0x0の際にはOFF状態となり、読み出し信号READが0x1の際にはON状態となる。垂直走査部101から供給される読み出し信号READによって選択される行に位置する複数の画素110からそれぞれ出力される信号値、即ち、画素信号値が、信号線105をそれぞれ介して列メモリ103に書き込まれる。列メモリ103は、各々の画素110から読み出された画素信号値をそれぞれ保持する。水平走査部104は、列メモリ103に保持された各々の画素信号値を、出力線Outputを介して画像処理部502(
図5参照)に順次出力する。
【0021】
図2は、本実施形態による固体撮像素子の動作の例を示すタイミングチャートである。ここでは、複数の画素110のうちの画素110aの動作に着目して説明する。
図2は、1つの画像の撮像期間に対応する計数期間中、即ち、所定期間中に、画素110aに備えられた光子カウンタ114のカウント値が所定値Cmaxに達しない場合を例として示している。[0]はビット幅が1の信号であることを示しており、[3:0]はビット幅が4の信号であることを示しており、[4:0]はビット幅が5の信号であることを示している。
【0022】
タイミングt201からタイミングt205までの期間は、同期信号の周期に対応する期間である1V期間である。タイミングt201において、同期信号(同期パルス)VDがHighレベルになると、タイミングジェネレータ102は、リセット信号(リセットパルス)RESをHighレベルにする。これにより、時間カウンタ106と、各々の画素110の光子カウンタ114と、各々の画素110の画素メモリ116とがリセットされる。なお、同期信号VDは、タイミングt202においてLowレベルに戻る。
【0023】
タイミングt203からタイミングt204までの期間は、パルス信号PLSのカウントが行われる期間である計数期間である。計数期間においては、
図1を用いて上述したように、フォトダイオード111に光子が入射すると、フォトダイオード111によって信号が生成され、波形整形されたパルス信号PLSがインバータ113から出力される。光子カウンタ114は、インバータ113から出力されるパルス信号PLSの数をカウントする。タイミングt203において、タイミングジェネレータ102は、リセット信号RESをLowレベルにする。リセット信号RESがLowレベルになると、光子カウンタ114のリセットが解除され、光子カウンタ114は、インバータ113から出力されるパルス信号PLSのカウントを開始する。また、リセット信号RESがLowレベルになると、時間カウンタ106のリセットも解除され、時間カウンタ106は、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKのパルス数のカウントを開始する。なお、
図2(a)には、光子カウント値や時間カウント値(TIME)が16進数で示されている。
【0024】
図2(b)は、光子カウント値と時間カウント値の例を示すグラフである。
図2(b)には、光子カウント値が増加する様子と、時間カウント値(TIME)が時間の経過に応じて増加する様子とが示されている。
図2(b)に示す光子カウント値及び時間カウント値は、
図2(a)に示す光子カウント値及び時間カウント値にそれぞれ対応している。
図2(b)の横軸は時刻であり、
図2(b)の縦軸はカウント値である。
図2に示す例においては、計数期間が終了するタイミングt204において、画素110aの光子カウント値は0xCであり、時間カウント値(TIME)は0xFである。
【0025】
タイミングt204において、制御信号WRTが0x0から0x1に変化すると、光子カウント値と信号FLAGの値とを含む画素信号値が、画素110aに備えられた画素メモリ116に保持される。タイミングt204における光子カウント値は0xCであり、タイミングt204における信号FLAGの値は0x0である。従って、画素110aに備えられた画素メモリ116には、例えば0x0Cが画素信号値として保持される。
【0026】
タイミングt204からタイミングt205までの期間においては、画素信号値の読み出しが行われる。まず、垂直走査部101が、読み出し信号READ0をHighレベルにする。これにより、第0番目の行に位置する複数の画素110の各々の画素信号値が、信号線105を介して列メモリ103に書き込まれる。この後、水平走査部104が、列メモリ103に保持された各々の画素信号値を、出力線Outputを介して画像処理部502(
図5参照)に順次出力する。こうして、第0番目の行に位置する複数の画素110の各々の画素信号値の出力が行われる。この後、同様にして、第1番目の行に位置する複数の画素110の各々の画素信号値の出力が行われる。この後も同様にして画素信号値の出力が行われ、タイミングt205までに全ての画素信号値の出力の処理が完了する。こうして、1フレーム分の画像データが画像処理部502に出力される。
【0027】
図3は、本実施形態による固体撮像素子の動作の他の例を示すタイミングチャートである。
図3は、画素110aに備えられた光子カウンタ114のカウント値が計数期間中に所定値Cmaxに達する場合を例として示している。
【0028】
タイミングt301からタイミングt305までの期間は、1V期間に対応している。タイミングt301からタイミングt303までの期間の動作は、
図2を用いて上述したタイミングt201からタイミングt203までの期間の動作と同様であるため、説明を省略する。
【0029】
タイミングt303からタイミングt304までの期間は、計数期間である。タイミングt303において、タイミングジェネレータ102は、リセット信号RESをLowレベルにする。リセット信号RESがLowレベルになると、光子カウンタ114のリセットが解除され、光子カウンタ114は、インバータ113から出力されるパルス信号PLSのカウントを開始する。また、リセット信号RESがLowレベルになると、時間カウンタ106のリセットも解除され、時間カウンタ106は、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKのパルス数のカウントを開始する。
【0030】
図3(b)は、光子カウント値と時間カウント値の他の例を示すグラフである。
図3(b)には、光子カウント値が増加する様子と、時間カウント値が時間の経過に応じて増加する様子とが示されている。
図3(b)に示す光子カウント値及び時間カウント値は、
図3(a)に示す光子カウント値及び時間カウント値にそれぞれ対応している。
図3に示す例においては、計数期間中のタイミングt306において、画素110aの光子カウント値が所定値Cmax、即ち、0xFに達する。このため、タイミングt306において、信号FLAGの値が0x0から0x1に変化する。信号FLAGの値が0x0から0x1に切り替わると、選択スイッチ115が切り替わる。これにより、選択スイッチ115は、時間カウンタ106から出力される時間カウント値が画素メモリ116に入力されるような状態に設定される。タイミングt306から所定の遅延時間が経過した後に、OR回路117の出力信号が0x0から0x1に変化する。これにより、時間カウント値と信号FLAGの値とが、画素110aの画素信号値として画素メモリ116に保持される。OR回路117の出力信号が0x0から0x1に変化したタイミングにおける時間カウント値は、0xAであり、当該タイミングにおける信号FLAGの値は0x1である。従って、画素110aの画素信号値として0x1Aが画素メモリ116に保持される。
【0031】
タイミングt304からタイミングt305までの期間の動作は、
図2を用いて上述したタイミングt204からタイミングt205までの期間の動作と同様であるため、説明を省略する。なお、タイミングt304において、制御信号WRTが0x0から0x1に変化するが、画素110aにおいてはOR回路117の出力信号が既に0x1となっているため、画素110aにおいては制御信号WRTの変化は無視される。
【0032】
図4は、本実施形態による固体撮像素子を示す図である。
図4(a)は、本実施形態による固体撮像素子を示す斜視図である。
図4(a)に示すように、固体撮像素子100は、2つの基板(半導体チップ)401,402を積層することによって構成されている。
図4(b)は、本実施形態による固体撮像素子100に備えられている画素を示している。
図4(b)においては、固体撮像素子100に備えられた複数の画素110のうちの1つの画素110が抜き出して示されている。
【0033】
図4(a)に示すように、固体撮像素子100は、不図示の光学系(撮像光学系)によって形成される光学像を受光する基板(上部基板)401と、主としてデジタル系の回路を備える基板(下部基板)402とから構成されている。
図4(b)に示すように、画素110は、センサ部(受光部、画素部)403と計数部404とによって構成されている。画素110のうちのセンサ部403が基板401に形成されている。画素110のうちの計数部404が基板402に形成されている。複数のセンサ部403が、基板401に行列状に配列されている。複数の計数部404が、基板402に行列状に配列されている。複数のセンサ部403の各々と、これらのセンサ部403に対応する複数の計数部404の各々とが、互いに電気的に接続されている。こうして、複数の画素110がマトリクス状に配されている。センサ部403には、フォトダイオード111と、クエンチ素子(クエンチ抵抗)112と、インバータ113とが備えられている。センサ部403にインバータ113が備えられているため、波形整形されたパルス信号PLSがセンサ部403から計数部404に伝送される。従って、センサ部403から計数部404への伝送は比較的ロバストである。計数部404には、光子カウンタ114と、選択スイッチ115と、画素メモリ116と、OR回路117と、遅延回路118と、読み出しスイッチ119とが備えられている。垂直走査部101と、タイミングジェネレータ102と、列メモリ103と、水平走査部104と、時間カウンタ106とは、基板401の周辺回路部405又は基板402の周辺回路部406とのうちのいずれかに備えられている。ここでは、垂直走査部101と、タイミングジェネレータ102と、列メモリ103と、水平走査部104と、時間カウンタ106とが、基板402の周辺回路部406に配置されている場合を例に説明する。
【0034】
このように、本実施形態では、センサ部403が基板401に形成されており、計数部404が基板402に形成されている。回路規模が大きい計数部404が、センサ部403が備えられている基板401とは別個の基板402に備えられているため、センサ部403の面積を十分に確保することができる。このため、センサ部403の開口面積を十分に確保することができる。
【0035】
なお、固体撮像素子100の構造は、上記に限定されるものではない。目的や用途に応じて固体撮像素子100の構造を適宜変更し得る。例えば、3つ以上の基板を積層することにより固体撮像素子100を構成してもよいし、1つの基板によって固体撮像素子100を構成してもよい。複数の基板(半導体チップ)の各々は、異なるプロセスルールに従って製造するようにしてもよい。また、信号処理を行うための別の回路や、フレームメモリ等を、基板402に設けるようにしてもよい。例えば、ノイズ低減処理を施す信号処理回路や、撮像された被写体の検出等を行う検出回路等を、基板402に設けるようにしてもよい。
【0036】
図5は、本実施形態による撮像装置を示すブロック図である。光学系(撮像光学系)501には、フォーカスレンズ、ズームレンズ、及び、絞り等が備えられている。光学系501は、被写体の光学像を形成し、形成した光学像を固体撮像素子100の撮像面に入射する。固体撮像素子100は、光学系501によって形成される光学像を上記のようにして撮像する。固体撮像素子100は、画素信号値を複数の画素110の各々から順次読み出し、読み出した画素信号値を画像処理部502に順次出力する。画素信号値は、上述したように、光子カウント値と時間カウント値とのうちのいずれかと信号FLAGの値とを含む。
【0037】
画像処理部502は、固体撮像素子100から出力される画素信号値に対して順次処理を行い、計数期間中に各々の画素110に入射した光子の数、即ち、入射光子数を推計する。推計された入射光子数が、当該画素110の輝度値とされる。こうして、画像、即ち、画像データが生成される。かかる画像は、静止画像であってもよいし、動画像を構成するフレームであってもよい。画像処理部502は、画像を生成する過程において、信号の並べ替え、欠陥画素の補正、ノイズリダクション、色変換、ホワイトバランス補正、ガンマ補正、解像度変換、データ圧縮等を更に行うこともできる。画像処理部502は、計数期間中に画素110に入射した光子の数を、画素信号値に基づいて、以下のようにして推計する。
【0038】
上述したように、画素信号値は、光子カウント値と時間カウント値とのうちのいずれかと信号FLAGの値とを含む。従って、画素信号値は、光子カウント値を含んでいる場合もあるし、時間カウント値を含んでいる場合もある。
【0039】
図6は、画素信号値の構成の例を示す図である。
図6(a)は、計数期間中に光子カウント値が所定値Cmaxに達しない場合の例を示しており、具体的には、
図2に対応する画素信号値の例を示している。
図6(b)は、計数期間中に光子カウント値が所定値Cmaxに達する場合の例を示しており、具体的には、
図3に対応する画素信号値の例を示している。5ビットの画素信号値のうちの上位1ビットが信号FLAGに割り当てられている。このため、画素信号値のうちの最上位ビットの値に基づいて、下位4ビットの値が光子カウント値であるのか時間カウント値であるのかを判別し得る。
【0040】
画像処理部502は、画素信号値の最上位ビットの値に応じて、画素信号値を、計数期間中の入射光子数に変換する。例えば、
図6(a)に示すように、画素信号値が例えば0x0Cである場合には、最上位ビットの値は0x0である。最上位ビットの数が0x0であるということは、画素信号値の下位4ビットが、タイミングt204における光子カウント値を示していることを意味する。この場合には、画像処理部502は、計数期間中に画素110aに入射した光子の数は、0xC、即ち、10進数の12個であると判定する。一方、
図6(b)に示すように、画素信号値が例えば0x1Aである場合には、最上位ビットの値は0x1である。最上位ビットの値が0x1であるということは、画素信号値の下位4ビットが、タイミングt306における時間カウント値を示しているということを意味する。この場合には、画像処理部502は、0xAという時間カウント値から、計数期間中に画素110に入射した光子の数を以下のようにして推計する。
【0041】
画素信号値の下位4ビットに示されている時間カウント値は、上述したように、0xA、即ち、10進数の10である。時間カウント値は、光子カウント値が、所定値Cmax、即ち、0xFに達したタイミングを示している。即ち、時間カウント値は、15個の光子が検出されたタイミングを示している。一方、
図3を用いて上述したように、タイミングt303からタイミングt304までの計数期間において、時間カウント値は、0x1から0xFまで変化している。従って、以下のような式(1)を用いて、計数期間中に画素110に入射した光子の数を推計し得る。
推計入射光子数=Cmax×(計数期間に相当する時間カウント値/光子カウント値がCmaxに達した際の時間カウント値) ・・・(1)
【0042】
所定値Cmaxは、例えば0xF、即ち、10進数で15である。計数期間に相当する時間カウント値は、例えば0xF、即ち、10進数で15である。光子カウント値がCmaxに達した際の時間カウント値は、
図6(b)に示す画素信号値の場合には、0xA、10進数で10である。従って、
図6(b)に示す画素信号値の場合には、推計入射光子数=15×(15/10)=22.5となる。即ち、22.5個の光子が計数期間に画素110に入射していたと推計される。画像処理部502は、このようにして算出された光子数を当該画素110の輝度値とし、こうして得られた輝度値に基づいて画像を生成する。なお、このような処理を、画像処理部502によって行うのではなく、固体撮像素子100内において行うようにしてもよい。この場合には、固体撮像素子100から出力される画素信号値には、光子カウント値のみが含まれることとなる。
【0043】
メモリ503は、画像処理部502が演算処理等を行う際に用いられる。メモリ503としては、例えばDRAM(Dynamic Random Access Memory)やフラッシュメモリ等を用い得る。メモリ503は、連続撮影の際には、バッファメモリとしても用い得る。制御部(全体制御・演算部)504は、本実施形態による撮像装置500の全体の制御を司る。制御部504には、CPU(Central Processing Unit)等が備えられている。また、制御部504は、画像処理部502によって処理された画像信号を、記録部507や表示部506に出力する。操作部505は、ボタン、スイッチ、電子ダイヤル等の操作部材によって構成される。ユーザ等が操作部505を操作すると、操作内容に応じた信号が操作部505から制御部504に供給される。表示部506は、制御部504から供給される画像を表示する。記録部(記録制御部)507には、不図示の記録媒体が装着される。かかる記録媒体としては、例えば、メモリカード等が用いられる。なお、記録媒体として、ハードディスク等が用いられてもよい。光学系駆動部508は、光学系501に備えられたフォーカスレンズ、ズームレンズ、絞り等の制御を行う。なお、外部装置と通信するための有線又は無線による通信インターフェースを、撮像装置500が更に備えるようにしてもよい。この場合、撮像装置500は、当該通信インターフェースを介して、生成した画像等を外部装置等に送信したり、外部装置から制御信号等を受信したりすることが可能となる。また、被写体に光を投射する光源装置を、撮像装置500が更に備えるようにしてもよい。この場合、当該光源装置は、例えば、同期信号VD等に同期してパルス状に光を発することができる。また、当該光源装置は、常時発光を行うことも可能である。当該光源装置によって被写体に光を照射し得るため、被写体をより確実に認識することが可能となる。
【0044】
このように、本実施形態によれば、光子カウンタ値が計数期間中に所定値Cmaxに達しない場合には、光子カウント値に応じた第1の信号が画素110から出力される。一方、光子カウント値が計数期間中に所定値Cmaxに達した場合には、光子カウント値が所定値Cmaxに達した時間に応じた第2の信号が画素110から出力される。第2の信号が画素110から出力された場合には、計数期間中に画素110に入射した光子数を第2の信号に基づいて推計する。このため、本実施形態によれば、光子カウンタ114のカウント限界値を超える数の光子が画素110に入射した場合であっても、当該画素110に入射した光子数を確実に推計することができる。しかも、画素110に入射する光子の数が少ない場合であっても、正確な画素信号値が得られる。従って、本実施形態によれば、ダイナミックレンジの広い固体撮像素子を提供することができる。
なお、本実施形態では、所定値Cmaxと光子カウンタ114の最大値とが一致する場合を例に説明したが、これに限定されるものではない。例えば、光子カウンタ114の最大値より小さい値を所定値Cmaxとしてもよい。また、所定値Cmaxを光子カウンタ114の最大値までの間で複数設定するようにしてもよい。所定値Cmaxを複数設定することで、計数期間内の光子カウンタの変化量をより正確に把握することが可能となる。そして、上述した式(1)とは異なる式を用いて、推計入射光子数を算出するようにしてもよい。例えば、2次以上の関数や対数関数等を用いて、推計入射光子数を算出するようにしてもよい。複数設定した所定値Cmaxに対応する光子カウンタ値を用いることで、推計入射光子数を高精度に算出することが可能となる。
また、本実施形態では、光子カウンタ114からの出力と時間カウンタ106からの出力とのうちのいずれを画素メモリ116に入力するかを選択するための選択スイッチ115を画素110内に設ける場合を例に説明したが、これに限定されるものではない。時間カウンタ106からの出力を保持するためのメモリ(図示せず)を画素メモリ116と別個に画素110外に設け、列メモリ103に信号を転送する際に、当該メモリからの出力が選択されるようにしてもよい。
【0045】
[第2実施形態]
第2実施形態による固体撮像素子、撮像装置及び撮像方法について
図7及び
図8を用いて説明する。
図1乃至
図6に示す第1実施形態による固体撮像素子等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
本実施形態による固体撮像素子は、信号FLAGの値を画素メモリ716に保持することを要しないものである。
【0046】
図7は、本実施形態による固体撮像素子を示す図である。
図7に示すように、本実施形態による固体撮像素子700は、垂直走査部101と、タイミングジェネレータ102と、列メモリ103と、水平走査部104と、時間カウンタ106とを備えている。また、固体撮像素子700は、行列状に配された複数の画素710を備えている。なお、ここでは、説明の簡略化のため、4つの画素710a、710b、710c、710dが図示されているが、実際には多数の画素710が固体撮像素子700に備えられている。また、画素一般について説明する際には、符号710を用い、具体的な個々の画素について説明する際には、符号710a〜710dを用いることとする。
【0047】
画素710は、フォトダイオード111と、クエンチ素子112と、インバータ113と、光子カウンタ714と、選択スイッチ715と、画素メモリ716と、読み出しスイッチ717とを備えている。フォトダイオード111と、クエンチ素子112と、インバータ113とは、基板401に配されたセンサ部403に備えられている。光子カウンタ714と、選択スイッチ715と、画素メモリ716と、読み出しスイッチ717とは、基板402に配された計数部404に備えられている。
【0048】
光子カウンタ714は、
図1を用いて上述した光子カウンタ114と同様に、インバータ113から出力されるパルス信号PLSのパルス数をカウントする。光子カウンタ714のビット幅は、例えば16である。但し、ここでは、説明を簡略化するため、ビット幅が4の光子カウンタ714を例に説明する。光子カウンタ714には、タイミングジェネレータ102から出力されるリセット信号RESが入力される。光子カウンタ714のカウント値は、リセット信号RESによって0x0にリセットされる。リセットが解除されると、光子カウンタ714は、カウントを開始する。光子カウンタ714は、光子カウント値に応じて、信号FLAGを出力する。より具体的には、光子カウンタ714は、光子カウント値が所定値Cmaxに達していない場合には、信号FLAGの値を0x0とする。また、光子カウンタ714は、光子カウント値が所定値Cmaxに達した場合には、信号FLAGの値を0x1とする。信号FLAGのビット幅は、例えば1である。光子カウンタ714のビット幅が16である場合、所定値Cmaxは0xFFFF(10進数で65535)とすることができる。但し、ここでは、上述したように、ビット幅が4の光子カウンタ714を例に説明するため、所定値Cmaxを0xF(10進数で15)とする。光子カウンタ714は、パルスをカウントする状態とパルスをカウントしない状態とを切り替えるためのイネーブル制御端子ENを備えている。かかるイネーブル制御端子ENには、タイミングジェネレータ102から出力されるイネーブル信号ENABLEが入力される。イネーブル信号ENABLEがHighレベルの際には、光子カウンタ714はパルスをカウントする状態であるイネーブル状態となる。一方、イネーブル信号ENABLEがLowレベルの際には、光子カウンタ714はパルスをカウントしない状態であるディセーブル状態となる。イネーブル信号ENABLE信号によって、光子カウンタ714のカウント開始のタイミングとカウント終了のタイミングとが制御される。
【0049】
選択スイッチ715は、信号FLAGの値に応じて、接続を切り替える。具体的には、信号FLAGの値が0x0である場合には、選択スイッチ715は、光子カウンタ714と読み出しスイッチ717とを接続する。一方、信号FLAGの値が0x1である場合には、選択スイッチ715は、画素メモリ716と読み出しスイッチ717とを接続する。
【0050】
画素メモリ716は、信号FLAGの値が0x0から0x1に変化したタイミングで、時間カウンタ106から出力される時間カウント値を保持する。画素メモリ716は、光子カウント値がCmaxに達した場合には、光子カウント値がCmaxに達したタイミングにおける時間カウンタ106のカウント値を保持する。画素メモリ716のカウント値は、タイミングジェネレータ102から出力されるリセット信号RESによって0x0にリセットされる。画素メモリ716は、光子カウント値がCmax未満である場合には、リセットされた際の値が当該画素メモリ716に保持されている。
【0051】
読み出しスイッチ717は、垂直走査部101から供給される読み出し信号READが0x0から0x1に変化すると、OFF状態からON状態に変化する。信号FLAGの値が0x0の場合には、光子カウンタ714から出力される光子カウント値と信号FLAGの値とを含む画素信号値が、スイッチ715、717と信号線105とを介して列メモリ103に出力される。一方、信号FLAGの値が0x1の場合には、画素メモリ716から出力される時間カウント値とFLAGの値とを含む画素信号値が、スイッチ715、717と信号線105とを介して列メモリ103に出力される。
【0052】
図8は、本実施形態による固体撮像素子の動作の例を示すタイミングチャートである。ここでは、複数の画素710のうちの画素710aの動作に着目して説明する。
図8は、画素710aに備えられた光子カウンタ714のカウント値が計数期間中に所定値Cmaxに達する場合を例として示している。
【0053】
タイミングt801からタイミングt805までの期間は、1V期間に対応している。タイミングt801からタイミングt803までの期間においては、イネーブル信号ENABLEがLowレベルになっている。このため、タイミングt801からt803までの期間においては、光子カウンタ714はパルス信号PLSのカウントを行わない。
【0054】
タイミングt803からタイミングt804までの期間は、計数期間である。タイミングt803において、タイミングジェネレータ102は、リセット信号RESをHighレベルからLowレベルに変化させるとともに、イネーブル信号ENABLEをLowレベルからHighレベルに変化させる。光子カウンタ714は、イネーブル状態となり、インバータ113から出力されるパルス信号PLSのカウントを開始する。また、リセット信号RESがLowレベルになると、時間カウンタ106のリセットも解除され、時間カウンタ106は、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKのパルス数のカウントを開始する。
【0055】
図8(b)は、光子カウント値と時間カウント値との例を示すグラフである。
図8(b)には、光子カウント値が増加する様子と、時間カウント値が時刻の経過に応じて増加する様子とが示されている。
図8(b)に示すグラフは、
図8(a)に示す光子カウント値及び時間カウント値に対応している。
図8に示す例においては、計数期間中のタイミングt806において、画素710aの光子カウント値が所定値Cmax、即ち、0xFに達する。このため、タイミングt806において、信号FLAGの値が0x0から0x1に変化する。信号FLAGの値が0x0から0x1に切り替わると、選択スイッチ715が切り替わる。これにより、選択スイッチ715は、画素メモリ716から出力される時間カウント値が読み出しスイッチ717に送信されるような状態に設定される。また、信号FLAGの値が0x0から0x1に変化すると、画素メモリ716は、当該タイミングにおいて時間カウンタ106から出力されている時間カウント値を保持する。信号FLAGの値が0x0から0x1に変化したタイミングにおける時間カウント値は、例えば0xAである。従って、時間カウント値である例えば0xAが画素メモリ716に保持される。
【0056】
タイミングt804において、タイミングジェネレータ102は、イネーブル信号ENABLEをHighレベルからLowレベルに変化させる。これにより、光子カウンタ714は、インバータ113から出力されるパルス信号PLSのカウントを終了する。光子カウンタ714は、タイミングt804における光子カウント値を保持し続ける。ここでは、タイミングt804よりも前の段階で、光子カウント値が所定値Cmaxである0xFに達しているため、所定値Cmaxである0xFが画素メモリ716に保持され続ける。
【0057】
タイミングt804からタイミングt805までの期間の動作は、
図2を用いて上述したタイミングt204からタイミングt205までの期間の動作と同様である。即ち、光子カウント値と時間カウント値とのうちのいずれかと信号FLAGの値とを含む画素信号値が順次出力される。
【0058】
本実施形態のように構成した場合にも、第1実施形態と同様の画素信号値が得られる。本実施形態によれば、画素メモリ716に信号FLAGの値を保持することを要しないため、画素メモリ716のビット幅を第1実施形態における画素メモリ116のビット幅よりも小さくことができる。このため、本実施形態によれば、回路規模の縮小を図ることができ、ひいては高画素化等に寄与することができる。
【0059】
[第3実施形態]
第3実施形態による固体撮像素子、撮像装置及び撮像方法について
図9乃至
図11を用いて説明する。
図1乃至
図8に示す第1又は第2実施形態による固体撮像素子等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
本実施形態による固体撮像素子は、パルス信号PLSのカウント値が所定値Cmaxに達した以降においてクロック信号CLKをカウントするマルチカウンタ914が備えられているものである。
【0060】
図9は、本実施形態による固体撮像素子を示す図である。
図9に示すように、本実施形態による固体撮像素子900は、垂直走査部101と、タイミングジェネレータ102と、列メモリ103と、水平走査部104とを備えている。本実施形態では、時間カウンタ106(
図1参照)は備えられていない。また、固体撮像素子900は、行列状に配された複数の画素910を備えている。なお、ここでは、説明の簡略化のため、4つの画素910a、910b、910c、910dが図示されているが、実際には多数の画素910が固体撮像素子900に備えられている。また、画素一般について説明する際には、符号910を用い、具体的な個々の画素について説明する際には、符号910a〜910dを用いることとする。
【0061】
画素910は、フォトダイオード111と、クエンチ素子112と、インバータ113と、マルチカウンタ914と、選択スイッチ915と、フリップフロップ916と、読み出しスイッチ917とを備えている。フォトダイオード111と、クエンチ素子112と、インバータ113とは、基板401に配されたセンサ部403に備えられている。マルチカウンタ914と、選択スイッチ915と、フリップフロップ916と、読み出しスイッチ917とは、基板402に配された計数部404に備えられている。
【0062】
マルチカウンタ914は、
図1を用いて上述した光子カウンタ114と同様に、インバータ113から出力されるパルス信号PLSのパルス数をカウントする。マルチカウンタ914のビット幅は、例えば16である。但し、ここでは、説明を簡略化するため、ビット幅が4のマルチカウンタ914を例に説明する。以下の説明においては、マルチカウンタ914によるカウント値を、マルチカウント値と称することとする。マルチカウンタ914は、インバータ113から出力されるパルス信号PLSのパルス数をカウントし得るのみならず、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKのパルス数をもカウントし得る。マルチカウンタ914に入力される信号は、選択スイッチ915によって切り替えられる。マルチカウンタ914には、タイミングジェネレータ102から出力されるリセット信号RESが入力される。マルチカウンタ914のカウント値は、リセット信号RESによって0x0にリセットされる。マルチカウンタ914は、パルスをカウントする状態とパルスをカウントしない状態とを切り替えるためのイネーブル制御端子ENを備えている。かかるイネーブル制御端子ENには、タイミングジェネレータ102から出力されるイネーブル信号ENABLEが入力される。イネーブル信号ENABLEがHighレベルの際には、マルチカウンタ914はパルスをカウントする状態であるイネーブル状態となる。一方、イネーブル信号ENABLEがLowレベルの際には、マルチカウンタ914はパルスをカウントしない状態であるディセーブル状態となる。イネーブル信号ENABLE信号によって、マルチカウンタ914のカウント開始のタイミングとカウント終了のタイミングとが制御される。マルチカウンタ914のビット幅が16である場合、所定値Cmaxは例えば0xFFFF(10進数で65535)とする。但し、ここでは、上述したように、ビット幅が4のマルチカウンタ914を例に説明するため、所定値Cmaxを例えば0xF(10進数で15)とする。マルチカウンタ914は、マルチカウント値に応じて、信号FLAG1を出力する。より具体的には、マルチカウンタ914は、マルチカウント値が所定値Cmaxに達していない場合には、信号FLAG1の値を0x0とする。また、マルチカウンタ914は、マルチカウント値が所定値Cmaxに達した場合には、信号FLAG1の値を0x1とする。信号FLAG1のビット幅は、例えば1である。
【0063】
選択スイッチ915は、信号FLAG2の値に応じて、接続を切り替える。具体的には、信号FLAG2の値が0x0である場合には、選択スイッチ915は、インバータ113から出力されるパルス信号PLSがマルチカウンタ914に入力されるように設定される。一方、信号FLAG2の値が0x1である場合には、選択スイッチ915は、タイミングジェネレータ102から出力されるクロック信号CLKがマルチカウンタ914に入力されるように設定される。
【0064】
フリップフロップ916は、入力端子CKの値がLowレベルからHighレベルに変化したタイミングで、入力端子Dの値を出力端子Qに出力する。フリップフロップ916には、リセット端子Rが備えられており、リセット端子Rには、タイミングジェネレータ102から出力されるリセット信号RESが入力される。フリップフロップ916に備えられたリセット端子RがHighレベルになると、フリップフロップ916の出力端子Qから出力される信号FLAG2は0x0にリセットされる。フリップフロップ916の入力端子CKには、マルチカウンタ914から出力されるFLAG1が入力される。フリップフロップ916の入力端子Dは、0x1に固定されている。マルチカウント値がCmax未満である際には、フリップフロップ916から出力される信号FLAG2の値は0x0である。マルチカウント値がCmaxに達し、マルチカウンタ914から出力される信号FLAG1の値が0x0から0x1に変化すると、フリップフロップ916から出力される信号FLAG2の値は0x1となる。
【0065】
読み出しスイッチ917は、垂直走査部101から供給される読み出し信号READが0x0から0x1に変化すると、OFF状態からON状態に変化する。読み出しスイッチ917がON状態になると、マルチカウンタ914に保持されている信号値と信号FLAG2の値とを含む画素信号値が、読み出しスイッチ917を介して列メモリ103に出力される。
【0066】
図10は、本実施形態による固体撮像素子の動作を示すタイミングチャートである。ここでは、複数の画素910のうちの画素910aの動作に着目して説明する。
図10は、画素910aに備えられたマルチカウンタ914のカウント値が計数期間中に所定値Cmaxに達する場合を例として示している。
【0067】
タイミングt1001からタイミングt1005までの期間は、1V期間に対応している。タイミングt1001からタイミングt1003までの期間においては、イネーブル信号ENABLEがLowレベルになっている。このため、タイミングt1001からt1003までの期間においては、マルチカウンタ914は、パルス信号PLSのカウントを行わない。
【0068】
タイミングt1003からタイミングt1004までの期間は、計数期間である。タイミングt1003において、タイミングジェネレータ102は、リセット信号RESをHighレベルからLowレベルに変化させるとともに、イネーブル信号ENABLEをLowレベルからHighレベルに変化させる。マルチカウンタ914は、イネーブル状態となり、インバータ113から出力されるパルス信号PLSのカウントを開始する。
【0069】
図10(b)は、光子カウント値と時間カウント値との例を示すグラフである。
図10(b)には、マルチカウント値が増加する様子と、マルチカウント値が所定値Cmaxに達した後に、時刻の経過に応じてマルチカウント値が増加する様子が示されている。
図10(b)に示すグラフは、
図10(a)に示す光子カウント値及び時間カウント値に対応している。
図10に示す例においては、計数期間中のタイミングt1006において、画素910aの光子カウント値が所定値Cmax、即ち、0xFに達する。このため、タイミングt1006において、信号FLAG1の値が0x0から0x1に変化する。信号FLAG1の値が0x0から0x1に変化すると、フリップフロップ916から出力される信号FLAG2の値が0x0から0x1に変化する。これにより、選択スイッチ915は、クロック信号CLKがマルチカウンタ914に入力されるような状態に設定される。
【0070】
タイミングt1006において、マルチカウント値がCmaxに達すると、タイミングt1006の直後のタイミングt1007において、マルチカウンタ914は、マルチカウント値を0x0にリセットする。この際、マルチカウンタ914から出力される信号FLAG1の値は0x1から0x0に変化するが、信号FLAG2の値は0x1のまま維持される。マルチカウンタ914は、タイミングジェネレータ102から出力されるクロック信号CLKのパルス数のカウントを開始する。
【0071】
タイミングt1004において、タイミングジェネレータ102は、イネーブル信号ENABLEをHighレベルからLowレベルに変化させる。これにより、マルチカウンタ914は、クロック信号CLKのカウントを終了する。マルチカウンタ914は、タイミングt1004におけるマルチカウント値を保持し続ける。ここでは、マルチカウント値が例えば0x5である場合を例に示している。このことは、マルチカウント値がCmaxに達したタイミングt1006から計数期間の終了のタイミングt1004までの期間が、0x5個のクロック信号CLKに対応する期間であることを意味している。
【0072】
タイミングt1004からタイミングt1005までの期間の動作は、
図2を用いて上述したタイミングt204からタイミングt205までの期間の動作と同様である。ここでは、マルチカウント値と信号FLAG2の値とを含む画素信号値が順次出力される。
【0073】
図11は、画素信号値の例を示す図である。
図11(a)は、蓄積期間中にマルチカウント値が所定値Cmaxに達しない場合の例を示している。
図11(b)は、蓄積期間中にマルチカウント値が所定値Cmaxに達する場合の例を示しており、具体的には、
図10に対応する画素信号値を示している。画素信号値を構成する5ビットのうちの上位1ビットが信号FLAG2に割り当てられている。このため、画素信号値のうちの最上位ビットの値に基づいて、下位4ビットの値が何を示しているのかを判別し得る。
【0074】
例えば、
図11(a)に示すように、画素信号値が0x0Cである場合には、最上位ビットの値は0x0である。最上位ビットの値が0x0であるため、画素信号値の下位4ビットは、タイミングt1004(
図10参照)における光子のカウント値を示している。この場合には、画像処理部502は、計数期間中に画素910aに入射した光子の数は、0xC、即ち、10進数の12個であると判定する。一方、
図11(b)に示すように、画素信号値が0x15である場合には、最上位ビットの値は0x1である。最上位ビットの値が0x1であるため、画素信号値の下位4ビットは、タイミングt1006からタイミングt1004までの期間が、0x5個のクロック信号CLKに対応する期間であることを示している。画像処理部502は、例えば0x5に対応する時間から、計数期間中に画素110に入射した光子の数を以下のようにして推計する。
【0075】
画素信号値の下位4ビットの値である0x5、即ち、10進数の5に対応する期間は、マルチカウント値が所定値Cmaxに達してからタイミングt1004までの期間に対応している。従って、以下のような式(2)を用いて、計数期間中に画素910に入射した光子の数を推計し得る。
推計入射光子数=Cmax×{計数期間に相当する時間カウント値/(計数期間に相当する時間カウント値−マルチカウント値)} ・・・(2)
【0076】
所定値Cmaxは、例えば0xF、即ち、10進数で15である。計数期間に相当する時間カウント値は、例えば0xF、即ち、10進数で15である。マルチカウント値は、
図10(b)に示す画素信号値の場合には、0x5(10進数で5)である。従って、
図10(b)に示す画素信号値の場合には、推計入射光子数=15×(15/(15−5))=22.5となる。即ち、22.5個の光子が計数期間に画素110に入射していたと推計し得る。画像処理部502は、このようにして算出された光子数を当該画素910の輝度値とし、こうして得られた輝度値に基づいて画像を生成する。
【0077】
このように、本実施形態によれば、パルス信号PLSのカウント値が所定値Cmaxに達した以降においてはクロック信号CLKをカウントするマルチカウンタ914が備えられている。本実施形態によれば、光子カウンタ114,714と画素メモリ116,716とを別個に備えることを要しないため、回路規模の縮小を図ることができ、ひいては高画素化に寄与することができる。
【0078】
[第4実施形態]
第4実施形態による固体撮像素子、撮像装置及び撮像方法について
図12乃至
図14を用いて説明する。
図1乃至
図11に示す第1乃至第3実施形態による固体撮像素子等と同一の構成要素には、同一の符号を付して説明を省略又は簡潔にする。
本実施形態による固体撮像素子は、所定値Cmaxの値が第1乃至第3実施形態の場合よりも小さく設定され、画素メモリ1216等のビット幅が、第1乃至第3実施形態の場合よりも小さく設定されているものである。
【0079】
図12は、本実施形態による固体撮像素子を示す図である。
図12に示すように、本実施形態による固体撮像素子1200は、垂直走査部101と、タイミングジェネレータ102と、列メモリ103と、水平走査部104と、時間カウンタ1206と、複数の画素1210とを備えている。なお、ここでは、説明の簡略化のため、4つの画素1210a、1210b、1210c、1210dが図示されているが、実際には多数の画素1210が固体撮像素子1200に備えられている。また、画素一般について説明する際には、符号1210を用い、具体的な個々の画素について説明する際には、符号1210a〜1210dを用いることとする。
【0080】
画素1210は、フォトダイオード111と、クエンチ素子112と、インバータ113と、光子カウンタ1214と、選択スイッチ1215と、画素メモリ1216と、フリップフロップ1218と、読み出しスイッチ1217とを備えている。フォトダイオード111と、クエンチ素子112と、インバータ113とは、基板401に配されたセンサ部403に備えられている。光子カウンタ1214と、選択スイッチ1215と、フリップフロップ1218と、読み出しスイッチ1217とは、基板402に配された計数部404に備えられている。
【0081】
光子カウンタ1214は、
図7を用いて上述した光子カウンタ714と同様に、インバータ113から出力されるパルス信号PLSのパルス数をカウントする。光子カウンタ1214のビット幅は、例えば16である。但し、ここでは、説明を簡略化するため、ビット幅が4の光子カウンタ1214を例に説明する。光子カウンタ1214には、タイミングジェネレータ102から出力されるリセット信号RES1が入力される。光子カウンタ1214のカウント値は、リセット信号RES1によってリセットされる。リセットが解除されると、光子カウンタ1214は、カウントを開始する。光子カウンタ1214は、光子カウント値に応じて、信号FLAG1を出力する。より具体的には、光子カウンタ1214は、光子カウント値が所定値Cmax未満である際には、信号FLAG1の値を0x0とする。また、光子カウンタ1214は、光子カウント値が所定値Cmaxに達した際には、信号FLAG1の値を0x1とする。信号FLAG1は、例えば1ビットの信号である。第1実施形態では、光子カウンタ114のビット幅が16である場合の所定値Cmaxを0xFFFF(10進数で65535)とした。これに対し、本実施形態では、光子カウンタ1214のビット幅が16である場合の所定値Cmaxを0x7FFF(10進数で32767)とする。但し、ここでは、上述したように、ビット幅が4の光子カウンタ1214を例に説明する。第2実施形態では、光子カウンタ114のビット幅が4の場合の所定値Cmaxを0xFとしたが、本実施形態では、光子カウンタ1214のビット幅が4の場合の所定値Cmaxを0x7とする。光子カウンタ1214は、
図7を用いて上述した光子カウンタ714と同様に、パルスをカウントする状態とパルスをカウントしない状態とを切り替えるためのイネーブル制御端子ENを備えている。かかるイネーブル制御端子ENには、タイミングジェネレータ102から出力されるイネーブル信号ENABLEが入力される。イネーブル信号ENABLEがHighレベルの際には、光子カウンタ1214はパルスをカウントする状態であるイネーブル状態となる。一方、イネーブル信号ENABLEがLowレベルの際には、光子カウンタ1214はパルスをカウントしない状態であるディセーブル状態となる。イネーブル信号ENABLE信号によって、光子カウンタ1214のカウント開始のタイミングとカウント終了のタイミングとが制御される。また、光子カウンタ1214は、光子カウント値に応じて、信号FLAG1を出力する。より具体的には、光子カウンタ1214は、光子カウント値が所定値Cmax未満である場合には、信号FLAG1の値を0x0とする。また、光子カウンタ1214は、光子カウント値が所定値Cmaxに達した際には、信号FLAG1の値を0x1とする。FLAG1の値を0x0から0x1に変化させた以降においても、光子カウンタ1214は、インバータ113から出力されるパルス信号PLSのカウントを継続する。
【0082】
時間カウンタ1206には、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKが入力される。時間カウンタ1206は、クロック信号CLKのパルス数をカウントする。第1実施形態では、時間カウンタ106のビット幅を16ビットとしたが、本実施形態では、時間カウンタ1206のビット幅は15である。ビット幅が15の時間カウンタ1206のカウント上限値は、0x7FFF(10進数で32767)である。但し、上述したように、ここでは、説明を簡略化すべく、ビット幅が4の光子カウンタ114を例に説明する。このため、ここでは、ビット幅が3の時間カウンタ1206を例に説明する。ビット幅が3の時間カウンタ1206のカウント上限値は0x7(10進数で7)である。以下の説明においては、時間カウンタ1206によるカウント値を、時間カウント値又はTIMEと称することとする。時間カウンタ1206には、タイミングジェネレータ102から出力されるリセット信号RES2が入力される。時間カウンタ1206のカウント値は、リセット信号RES2によってリセットされる。
【0083】
フリップフロップ1218は、入力端子CKの値がLowレベルからHighレベルに変化したタイミングで、入力端子Dの値を論理反転させることにより得られる値を出力端子Qに出力する。フリップフロップ1218はリセット端子Rを備えており、当該リセット端子Rには、タイミングジェネレータ102から出力されるリセット信号RES1が入力される。フリップフロップ1218に備えられたリセット端子RがHighレベルになると、フリップフロップ1218の出力端子Qから出力される信号FLAGは0x0にリセットされる。フリップフロップ1218の入力端子CKには、光子カウンタ1214から出力される信号FLAG1が入力される。フリップフロップ1218の入力端子Dには、タイミングジェネレータ102から出力されるリセット信号RES2が入力される。光子カウント値がCmax未満である際には、フリップフロップ1218から出力される信号FLAG2の値は0x0である。光子カウント値がCmax、即ち、0x7に達し、光子カウンタ1214から出力される信号FLAG1の値が0x0から0x1に変化すると、フリップフロップ1218から出力される信号FLAG2はリセット信号RES2の論理反転値となる。即ち、光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、リセット信号RES2がLowレベルである場合には、フリップフロップ1218から出力される信号FLAG2は0x1となる。一方、即ち、光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、リセット信号RES2がHighレベルである場合には、フリップフロップ1218から出力される信号FLAG2はLowレベルとなる。換言すれば、光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、時間カウンタ1206のリセットが解除されている場合には、フリップフロップ1218から出力される信号FLAG2は0x0から0x1に変化する。一方、光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、時間カウンタ1206がリセット状態である場合には、フリップフロップ1218から出力される信号FLAG2は0x0のまま変化しない。
【0084】
選択スイッチ1215は、信号FLAG2の値に応じて、接続を切り替える。具体的には、信号FLAG2の値が0x0である場合には、選択スイッチ1215は、光子カウンタ1214と読み出しスイッチ1217とを接続する。一方、信号FLAG2の値が0x1である場合には、選択スイッチ1215は、画素メモリ1216と読み出しスイッチ1217とを接続する。
【0085】
画素メモリ1216は、信号FLAG2の値が0x0から0x1に変化したタイミングで、時間カウンタ1206から出力される時間カウント値を保持する。第1実施形態では、画素メモリ116のビット幅を16ビットとしたが、本実施形態では、画素メモリ1216のビット幅は15ビットである。ビット幅が15の画素メモリ1216は、15ビット分のデータ、即ち、0x7FFF(10進数で32767)以下のデータを保持し得る。但し、上述したように、ここでは、説明を簡略化すべく、ビット幅が4の光子カウンタ1214を例に説明する。このため、ここでは、画素メモリ1216のビット幅が3である場合を例に説明する。ビット幅が3の画素メモリ1216は、3ビット分のデータ、即ち、0x7(10進数で7)以下のデータを保持し得る。光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、時間カウンタ1206のリセットが解除されている場合には、画素メモリ1216は、時間カウンタ1206のカウント値を保持する。一方、光子カウント値がCmax、即ち、0x7に達したタイミングにおいて、時間カウンタ1206がリセット状態である場合には、画素メモリ1216は、画素メモリ1216がリセットされた際の値を保持し続けている。また、画素メモリ1216は、光子カウント値がCmax、即ち、0x7に達していない場合には、当該画素メモリ1216がリセットされた際の値を保持し続けている。また、画素メモリ1216は、タイミングジェネレータ102から出力されるリセット信号RES1によって0x0にリセットされる。
【0086】
読み出しスイッチ1217は、垂直走査部101から供給される読み出し信号READが0x0から0x1に変化すると、OFF状態からON状態に変化する。読み出しスイッチ1217がON状態になると、以下のようになる。即ち、光子カウンタ1214と読み出しスイッチ1217とが接続されている場合には、光子カウンタ1214に保持されている光子カウンタ値と信号FLAG2の値とを含む画素信号値が、読み出しスイッチ1217を介して列メモリ103に出力される。一方、画素メモリ1216と読み出しスイッチ1217とが接続されている場合には、画素メモリ1216に保持されている信号値と信号FLAG2の値とを含む画素信号値が、読み出しスイッチ1217を介して列メモリ103に出力される。上述したように、画素メモリ1216のビット幅は、光子カウンタ1214のビット幅よりも1ビットだけ小さい。従って、画素メモリ1216に保持されている信号値と信号FLAG2の値とを含む画素信号値が画素1210から出力される際には、データ幅の拡張が行われる。拡張された1ビットの値は、0x0に固定されていてもよいし、0x1に固定されていてもよい。
【0087】
図13は、本実施形態による固体撮像素子の動作の例を示すタイミングチャートである。ここでは、複数の画素1210のうちの画素1210aの動作に着目して説明する。
図13は、画素1210aに備えられた光子カウンタ1214の光子カウント値が計数期間中に所定値Cmax、即ち、0x7に達する場合を例として示している。
【0088】
タイミングt1301からタイミングt1305までの期間は、1V期間に対応している。タイミングt1301からタイミングt1303までの期間においては、イネーブル信号ENABLEがLowレベルになっている。このため、タイミングt1301からt1303までの期間においては、光子カウンタ1214は、パルス信号PLSのカウントを行わない。
【0089】
タイミングt1303からタイミングt1304までの期間は、計数期間である。ここでは、計数期間が、0x1から0xFまでの15カウントに相当する期間である場合を例に説明する。但し、ここでは、ビット幅が3の時間カウンタ1206が用いられているため、時間カウンタ1206は7までカウントし得る。
【0090】
タイミングt1303において、タイミングジェネレータ102は、リセット信号RES1及びリセット信号RES2を、HighレベルからLowレベルに変化させる。また、タイミングt1303において、タイミングジェネレータ102は、イネーブル信号ENABLEをLowレベルからHighレベルに変化させる。そうすると、光子カウンタ1214は、インバータ113から出力されるパルス信号PLSのカウントを開始する。また、時間カウンタ1206は、タイミングジェネレータ102から所定の周期で出力されるクロック信号CLKのパルス数のカウントを開始する。
【0091】
図13(b)は、光子カウント値と時間カウント値とを示すグラフである。
図13(b)には、光子カウント値が増加する様子と、時刻の経過に応じて時間カウント値が増加する様子とが示されている。
図13(b)に示すグラフは、
図13(a)に示す光子カウント値及び時間カウント値に対応している。
図13に示す例においては、計数期間中のタイミングt1306において、画素1210aの光子カウント値が所定値Cmax、即ち、0x7に達する。光子カウント値が所定値Cmaxに達すると、光子カウンタ1214から出力される信号FLAG1の値は0x0から0x1に変化する。タイミングt1306においては、リセット信号RES2がLowレベルであるため、フリップフロップ1218から出力される信号FLAG2は0x0から0x1に変化する。信号FLAG2が0x1になると、選択スイッチ1215は、画素メモリ1216と読み出しスイッチ1217とを接続する状態となる。画素メモリ1216には、信号FLAG2の値が0x0から0x1に変化した際における時間カウンタ1206の時間カウント値が保持されている。ここでは、例えば0x5が画素メモリ1216に保持されている。このように、タイミングt1303からタイミングt1307までの期間、即ち、時間カウンタ1206のリセットが解除されている期間において、光子カウント値が所定値Cmaxに達した場合には、以下のようになる。即ち、光子カウント値が所定値Cmaxに達したタイミングに対応する時間カウント値が、画素メモリ1216に保持される。なお、タイミングt1303からタイミングt1307までの期間は、タイミングt1303からタイミングt1304までの期間の半分の期間である。
【0092】
タイミングt1307において、リセット信号RES2がLowレベルからHighレベルに変化すると、時間カウンタ1206の時間カウント値は0x0にリセットされる。即ち、タイミングジェネレータ102は、時間カウンタ1206のカウント上限値に時間カウント値が達したタイミングにおいて、リセット信号RES2をLowレベルからHighレベルに変化させることにより、時間カウンタ1206をリセット状態にする。
【0093】
タイミングt1304において、タイミングジェネレータ102は、イネーブル信号スENABLEをHighレベルからLowレベルに変化させる。これにより、光子カウンタ1214は、パルス信号PLSのカウントを停止し、タイミングt1304における光子カウント値を保持し続ける。
【0094】
タイミングt1304からタイミングt1305までの期間の動作は、
図2を用いて上述したタイミングt204からタイミングt205までの期間の動作と同様である。ここでは、光子カウント値と時間カウント値とのうちのいずれかと信号FLAG2の値とを含む画素信号値が順次読み出される。
【0095】
図14は、画素信号値の例を示す図である。
図14(a)は、蓄積期間中に光子カウント値が所定値Cmaxに達しない場合の例を示している。
図14(b)は、蓄積期間中に光子カウント値が所定値Cmaxに達する場合の例を示しており、具体的には、
図13に対応する画素信号値を示している。画素信号値を構成する5ビットのうちの上位1ビットが信号FLAG2に割り当てられている。このため、画素信号値のうちの最上位ビットの値に基づいて、下位4ビットの値が何を示しているのかを判別し得る。
【0096】
例えば、
図14(a)に示すように、画素信号値が0x0Cである場合には、最上位ビットの値は0x0である。最上位ビットの値が0x0であるということは、時間カウンタ1206のリセットが解除されている状態であるタイミングt1303からタイミングt1307までの期間中に、光子カウント値が所定値Cmax、即ち0x7に達しなかったことを意味する。従って、この場合には、画像処理部502は、計数期間中に画素1210aに入射した光子の数は、0xC、即ち、10進数の12個であると判定する。一方、
図14(b)に示すように、画素信号値が0x15である場合には、最上位ビットの値は0x1である。最上位ビットの値が0x1であるということは、時間カウンタ1206のリセットが解除されている状態であるタイミングt1303からタイミングt1307までの期間中に、光子カウント値が所定値Cmaxに達したことを意味する。この場合、画素信号値の下位3ビットは、光子カウント値が所定値Cmaxに達するまでの期間、即ち、タイミングt1303からタイミングt1306までの期間が、0x5個のクロック信号CLKに対応する時間であることを示している。画像処理部502は、0x5に対応する時間から、計数期間中に画素1210aに入射した光子の数を以下のような式(2)を用いて推計する。
【0097】
画素信号値の下位3ビットの値である0x5、即ち、10進数の5に対応する期間は、光子カウント値が所定値Cmaxに達したタイミング、即ち、光子カウント値が0x7となったタイミングである。
推計入射光子数=Cmax×(計数期間に相当する時間カウント値/時間カウント値)・・・(2)
【0098】
所定値Cmaxは、例えば0x7、即ち、10進数で7である。計数期間に相当する時間カウント値は、例えば0xF、即ち、10進数で15である。時間カウント値は、
図13(b)に示す画素信号値の場合には、0x5、10進数で5である。従って、
図13(b)に示す画素信号値の場合には、推計入射光子数=7×(15/5)=21となる。即ち、21個の光子が計数期間に画素1210aに入射していたと推計し得る。画像処理部502は、このようにして算出された光子数を当該画素1210aの輝度値とし、こうして得られた輝度値に基づいて画像を生成する。
【0099】
このように、本実施形態によれば、所定値Cmaxの値が第1乃至第3実施形態の場合よりも小さく設定される。そして、光子カウント値が所定値Cmaxに達した際の時間カウント値に基づいて、画像データが生成される。このため、本実施形態によれば、画素メモリ1216等のビット幅を小さくすることができる。画素メモリ1216等のビット幅を小さくし得るため、回路規模の縮小を図ることができ、ひいては高画素化等に寄与することができる。なお、高輝度信号は、画像を生成する上で必ずしも高分解能を必要としない。このため、本実施形態のようにした場合であっても特段の問題は生じない。
なお、本実施形態では、所定値Cmaxに達した際の時間カウント値に基づいて画像データを生成する場合を例に説明したが、これに限られるものではない。例えば、時間カウント値に対して第1の閾値を設け、時間カウント値が当該第1の閾値に達した際の光子カウント値を画素メモリ1216に保持するようにしてもよい。この場合、例えば、以下のような式(3)を用いて推計入射光子数を算出し得る。
推計入射光子数=(時間カウント値が第1の閾値に達した際の光子カウント値)×(計数期間に相当する時間カウント値/第1の閾値)
なお、この際においても、複数の値を閾値として設定するようにしてもよい。
【0100】
[変形実施形態]
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、その要旨の範囲内で種々の変形及び変更が可能である。
例えば、上記実施形態において、クロック信号CLKの周期を計数期間に応じて調整するようにしてもよい。例えば、計数期間が
図2に示す計数期間の2倍となる場合には、クロック信号CLKの周期を2倍にするようにしてもよい。また、計数期間が
図2に示す計数期間の半分となる場合には、クロック信号CLKの周期を半分にするようにしてもよい。
【0101】
また、上記実施形態では、固体撮像素子100,700,900,1200と別個に画像処理部502が設けられる場合を例に説明したが、固体撮像素子100、700,900,1200の内部に画像処理部502が設けられていてもよい。この場合、例えば、基板402に画像処理部502を設ければよい。また、基板401,402(
図4参照)とは別個の基板(図示せず)に画像処理部502を配し、画像処理部502が配された基板を基板401,402と積層させるようにしてもよい。
また、第1、第2及び第4実施形態では、タイミングジェネレータ102と別個に時間カウンタ106,1206を設ける場合を例に説明したが、これに限定されるものではない。例えば、タイミングジェネレータ102と時間カウンタ106,1206とが一体化されていてもよい。
また、上記実施形態では、複数の画素の各々に出力部120が備えられている場合を例に説明したが、これに限定されるものではない。例えば、互いに隣接する複数の画素によって、出力部120が共用されるようにしてもよい。
また、上記実施形態では、複数の画素の各々に光子カウンタ114や画素メモリ116等が備えられている場合を例に説明したが、これに限定されるものではない。例えば、互いに隣接する複数の画素によって、これらが共用されるようにしてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。