以下、実施の形態に係る固体撮像装置について説明する。なお、同一要素には同一符号を用いることとし、重複する説明は省略する。
図1は、実施の形態に係る固体撮像装置の回路図である。
この固体撮像装置は、撮像素子と制御回路とを備えている。この撮像素子は、N個の画素列(N1,N2,N3)が隣接して並んでなる撮像ブロックB1,B2,B3が、K個(本例ではK=3)並んでなる撮像領域を有している。各撮像ブロックの左からの順番をk番目とし、撮像ブロック内の左からの順番をn番目とする。なお、図2に各画素列を構成する各画素P(x,y)の詳細構成を示す。
図2に示すように、画素P(x,y)は、ホトダイオードPD(x,y)と、ホトダイオードPD(x,y)のカソードとリセット電位Vr1との間に接続されたリセットスイッチQreset(x,y)と、ホトダイオードPD(x,y)のカソードが入力端子に接続されたアンプAMP(x,y)と、アンプAMP(x,y)とビデオラインLnとの間に接続されたアドレス指定スイッチQaddress(x,y)とを備えている。
画素P(x,y)は、ホトダイオードPD(x,y)のカソードと、リセットスイッチQreset(x,y)との間に直列に介在する転送スイッチQtrans(x,y)を備えている。転送スイッチQtrans(x,y)の上流端は、ホールドスイッチQhold(x,y)を介して、AMP(x,y)を構成する増幅用トランジスタQamp(x,y)のゲートに入力されている。増幅用トランジスタQamp(x,y)とビデオラインLnとの間には、アドレス指定スイッチ(トランジスタ)Qaddress(x,y)が介在している。
アドレス指定スイッチQaddress(x,y)に、ハイレベルのシフト信号(垂直)Vshift(y)(又はVaddress(y))を入力すると、アンプAMP(x,y)で増幅した画素信号を、ビデオラインLnに転送する状態ができる。ホトダイオードPD(x,y)に入射した光量に応じて蓄積された電荷に応じた電圧は、アンプAMP(x,y)で増幅され、ビデオラインLnに電圧Vとして出力される。その後、ハイレベルのリセット信号(垂直)Vreset(y)をリセットスイッチ(トランジスタ)Qresetに入力し、これをオンすると、ホトダイオードPD(x、y)に蓄積された電荷がリセットされる。
詳細に説明すれば、転送スイッチQtrans(x,y)のゲートには、転送信号Vtrans(x,y)が入力され、リセットスイッチQreset(x,y)のゲートには、リセット信号Vreset(x,y)が入力される。また、ホールドスイッチQhold(x,y)のゲートにはホールド信号Vhold(y)が入力され、アドレス指定スイッチQaddress(x,y)のゲートにはアドレス信号Vaddress(y)が入力される。なお、アドレス信号Vaddress(y)は第1シフト信号(垂直)Vshift(y)と表記することもできる。
Vreset(y)、Vtrans(y)、Vhold(y)、Vaddress(y)の全ての信号がローレベルの時に、Vreset(y)をハイレベルとしてVhold(y)をハイレベルとすることにより、増幅用トランジスタQamp(x,y)のゲートの電荷がリセットされる。Vhold(y)をローレベルとし、Vreset(y)をローレベルとした後、Vtrans(y)をハイレベルとしてVhold(y)をハイレベルとすることで、ホトダイオードPD(x、y)に蓄積された電荷が増幅用トランジスタQamp(x,y)のゲートに転送させる。
その後、Vhold(y)をローレベルにしてVtrans(y)をローレベルにした後、Vtrans(y)とVreset(y)をハイレベルにして、ホトダイオードPD(x、y)に蓄積された電荷をリセットした後、Vtrans(y)とVreset(y)をローレベルにして次の蓄積を開始する。
撮像領域では、以上の動作が行われる。
図1を参照すると、撮像領域における画素P(x,y)は、行方向(x)に沿って9個、列方向(y)に沿って9個あり、アドレス(x,y)で規定される二次元状に配置されている。本例では、撮像領域中央に部分読み出し領域Rを設定し、部分読み出し領域Rの内部の画素P(x,y)の信号を読み出すこととするが、領域Rを指定しない場合には、全領域の信号を読み出すことができる。
部分読み出し領域Rは、画像データ演算部10によって指定される。画像データ演算部10は、入力されるディジタルビデオ信号に応じて部分読み出し領域Rを指定する。すなわち、例えば、ディジタルビデオ信号における1フレームの画像において、輝度が所定値以上の画素P(x,y)のアドレスを記憶する。ミサイル等の物体が撮影対象の場合、撮像素子がシリコンからなるとして、その赤外線像は物体像の重心を最大輝度の起点として連続的に周辺に広がり、周辺部では輝度が所定値よりも未満となる。
すなわち、最大輝度の点を含み、輝度が所定値±Δ以内の点を含む矩形領域を、部分読み出し領域Rとして選択する。対象物が移動中の場合、前回のフレーム内における物体像の重心位置(x1,y1)と、今回のフレーム内における物体像の重心位置(x2,y2)とのフレーム内での位置の差分のベクトル(x2−x1、y2−y1)を演算し、今回のフレーム内の物体像の重心位置(x1、y2)に、このベクトルを加算した位置を、次回の物体像の重心位置(x3,y3)として推定し、これを重心位置とする矩形領域を新たな部分読み出し領域Rとして設定する。
画像データ演算部10には、ディジタルビデオ信号が入力されているが、このディジタルビデオ信号は、各撮像ブロックB1(B2,B3)からの画素列毎(3列)の信号を処理回路PU1,PU2,PU3に入力することで得ることができる。個々の処理回路PU1,PU2,PU3は、アンプAMP1、AMP2,AMP3、AD変換回路ADC1,ADC2,ADC3、出力回路OC1,OC2,OC3を接続してなる。各画素列から出力されたアナログ画素信号は、処理回路PU1,PU2,PU3によって、ディジタルビデオ信号に変換される。
部分読み出し領域Rを規定する部分画像選択位置情報(x=x4〜x6,y=y4〜y6)は、タイミング発生回路11に入力される。また、この固体撮像装置は、部分読み出し領域Rに対応する画素行を選択する行選択回路12と、部分読み出し領域Rに対応する画素列を選択する列選択回路13とを備えている。タイミング発生回路11は、入力された部分画像選択位置情報に基づいて行選択回路制御信号と、列選択回路制御信号を生成する。
要するに、行選択回路制御信号は、y=y4〜y6の画素行の信号が読み出されるように行選択回路12に画素の選択をさせ、列選択回路制御信号は、x=x4〜x6の画素列の信号が読み出されるように列選択回路13に画素の選択をさせる。換言すれば、タイミング発生回路11は、画像データ演算部10の出力に基づいて、行選択回路12及び列選択回路13に選択をさせる制御信号を発生しているということになる。
なお、図1には図示しないが、本固体撮像装置は、行方向に隣接する各画素からの信号の差分に基づいて、処理回路PU1,PU2,PU3のオフセット調整及び利得調整を行う制御回路を備えている。以下、詳説する。
図3は、x列及びx+1列におけるホールド回路H(x)、H(x+1)と、処理回路PU(x)、PU(x+1)と、制御回路FBC(x)、FBC(x+1)と、撮像領域におけるy行目のx列、x+1列における画素p(x,y)、p(x+1、y)とを示すブロック図である。なお、x列、x+1列は、例えば、図1におけるN1列とN2列を示すものとし、これらに対応する処理回路PU(x)、PU(x+1)は、それぞれPU1、PU2を示すものとする。
撮像領域の画素p(x,y)、p(x+1,y)から出力される画素出力Vxを、それぞれV(x,y)、V(x,x+1)とする。
処理回路PU(x)のオフセット及び利得調整前の期間において、撮像領域の画素p(x,y)、p(x+1、y)からの信号VX、VX+1は、それぞれ制御回路FBCに入力される。
処理回路PU(x)は、入力信号VXに対して、Vx’=ax×(VX+bx)の処理を行う。処理回路PU(x+1)は、入力信号VX+1に対して、Vx+1’=ax+1×(VX+1+bx+1)の処理を行う。なお、Vx’=ax×Vx+axbx、Vx+1’=ax+1×Vx+1+ax+1bx+1あり、ax,bx、ax+1,bx+1は係数である。
画素列xを主画素列とし、画素列x+1を副画素列とし、制御回路FBCは、これらの隣接画素列の信号に基づいて、主画素列に対応する処理回路の係数の設定を行う。なお、現在の副画素列x+1は、次回の演算の主画素列であり、この場合には副画素列は画素列x+2となり、以下、この演算が繰り返される。
図4は、各処理回路PU(x)からの最終出力V’(x,y)のタイミングについて説明するための図である。
時刻T1においては、処理回路PU1、PU2、PU3からは、画素P(1,1)、P(2,1)、P(3,1)の出力V(1,1)、V(2,1)、V(3,1)に処理を施した最終出力V’(1,1)、V’(2,1)、V’(3,1)が得られる。
時刻T2においては、処理回路PU1、PU2、PU3からは、画素P(1,2)、P(2,2)、P(3,2)の出力V(1,2)、V(2,2)、V(3,2)に処理を施した最終出力V’(1,2)、V’(2,2)、V’(3,2)が得られ、以下、y行の数をカウントアップして処理を続ける。
画素行yの最大値ymaxまで出力が読み出されると、次の撮像ブロックの画素の読み出しにかかる。すなわち、時刻Tymax+1では、処理回路PU1、PU2、PU3からは、画素P(4,1)、P(5,1)、P(6,1)の出力V(4,1)、出力V(5,1)、出力V(6,1)に処理を施した最終出力V’(4,1)、出力V’(5,1)、出力V’(6,1)が得られる。
次の時刻Tymax+2では、処理回路PU1、PU2、PU3からは、画素P(4,2)、P(5,2)、P(6,2)の出力V(4,2)力V(5,2)、V(6,2)に処理を施した最終出力V’(4,2)、V’(5,2)、V’(6,2)が得られる。以下、y行の数をカウントアップして処理を続け、画素行yの最大値ymaxまで出力が読み出されると、次の撮像ブロックの画素の読み出しにかかる。
各時刻では、3つの画素出力V(x,y)、V(x+1,y)、V(x+2,y)、最終出力V’(x,y)、V’(x+1,y)、V’(x+2,y)が得られるが、主画素列xの係数の設定にあたっては、これに隣接する副画素列x+1の出力を使用する。
制御回路FBCは、主画素列xに対応する処理回路PU(x)からの入力信号V’X(y行目の場合V’(x,y))、副画素列x+1に対応する処理回路PU(x+1)からの入力信号V’X+1(y行目の場合V’(x+1,y))に基づいて、以下のように、係数ax,bxの設定を行う。なお、上述の通り、最終出力は以下の関係を満たしている。
Vx’=ax×Vx+axbx
Vx+1’=ax+1×Vx+1+ax+1bx+1
図5は、係数bxの演算を行うフローチャートである。
係数bxの演算にあたっては、下限閾値ThLOWよりも小さい最終出力を与える画素からの出力(暗レベル出力とする)を画素列毎に選択し、この暗レベル出力と、この画素に行方向隣接する画素からの出力との差分(暗レベル出力差分とする)を演算し、一画素列分の暗レベル出力差分の代表値(平均値、最大頻度を与える値、中央値)を演算し、この暗レベル出力差分の代表値に補正係数αを乗じたものを、現在の暗レベルに対応する係数bxから減じて、新たな係数bxを求める。係数bxは、処理回路PU(x)のオフセットaxbxとして用いられる。なお、xが、撮像ブロック当たりの画素列数Nを超えた場合には、x/Nの余りの数を、処理回路PU(x)のxに代入して、この処理回路PU(x)の係数の調整を行う。
上記代表値として平均値を用いた場合について説明する。
まず、画素列xに1を代入し(S1)、カウント値countに0を代入し(S2)、評価値E1(x)に0を代入し(S3)、画素行yに1を代入する(S4)。次に、主画素列xからの最終出力V’(x,y)が、下限閾値ThLOWよりも小さいかどうかを判定し(S5)、NOである場合には、最大画素行に到達していない場合(S8)、画素行yをカウントアップして(y=y+1)(S11)、ステップ(S5)に戻る。ステップ(S5)において、YESである場合には、この画素P(x,y)からは暗レベルの出力が出ているものと考えられるので、この画素P(x、y)の最終出力V’(x,y)と、行方向に隣接する画素P(x+1,y)からの最終出力V’(x+1,y)との差分を演算し、評価値E1(x)(初期値=0)に加算し(S6)、カウント値countをカウントアップする(S7)。
この処理を一画素列分、すなわち、画素行yが最大値ymaxになるまで繰り返し(S8)、暗レベル差分の一画素列分の積算値(=評価値E1(x))を求める。次に、評価値E1(x)に補正係数αを掛け、これを暗レベルを出力した画素数であるカウント値countで除算して、暗レベル出力差分の平均値を求め、これを現在の暗レベルに対応する係数bxから減算する(S9)。
以上の処理を画素列xが、最大画素列xmax−1になるまで(S10)、画素列xをカウントアップし(S13)、最大画素列になった場合には処理を終了する。なお、xが最大画素列xmaxとなった場合の係数には、最大画素列xmax−1の係数を用いたり、減算用の画素列を更に別途設けて得られる係数を用いることができる。
図6は、係数axの演算を行うフローチャートである。
係数axの演算にあたっては、上限閾値ThHIGHよりも大きい最終出力を与える画素からの出力(明レベル出力とする)を画素列毎に選択し、この明レベル出力と、この画素に行方向隣接する画素からの出力との差分(明レベル出力差分とする)の、この主画素列の画素の出力に対する比率を演算し、一画素列分の明レベル出力差分比率の代表値(平均値、最大頻度を与える値、中央値)を演算し、この明レベル出力差分比率の代表値に補正係数γを乗じたものを、現在の利得に対応する係数axから減じて、新たな係数axを求める。係数axは、処理回路PU(x)の利得axとして用いられる。なお、xが、撮像ブロック当たりの画素列数Nを超えた場合には、x/Nの余りの数を、処理回路PU(x)のxに代入して、この処理回路PU(x)の係数の調整を行う。
上記代表値として平均値を用いた場合について説明する。
まず、画素列xに1を代入し(S21)、カウント値countに0を代入し(S22)、評価値E2(x)に0を代入し(S23)、画素行yに1を代入する(S24)。次に、主画素列xからの最終出力V’(x,y)が、上限閾値ThHIGHよりも大きいかどうかを判定し(S25)、NOである場合には、最大画素行に到達していない場合(S29)、画素行yをカウントアップして(y=y+1)(S32)、ステップ(S25)に戻る。
ステップ(S25)において、YESである場合には、この画素P(x,y)からは明レベルの出力が出ているものと考えられるので、この画素P(x、y)の最終出力V’(x,y)と、行方向に隣接する画素P(x+1,y)からの最終出力V’(x+1,y)との差分の、最終出力V’(x,y)に対する比率(明レベル差分比率)を演算し(S26、S27)、評価値E2(x)(初期値=0)に加算することで明レベル差分比率を積算し(S27)、カウント値countをカウントアップする(S28)。
なお、本例では、明レベル差分比率を求めるための主画素列からの最終出力は、最終出力V’(x,y)から、オフセットに対応する係数bxを減じた値Valueを用いて求めている(S26)。
この処理を一画素列分、すなわち、画素行yが最大値ymaxになるまで繰り返し(S29)、明レベル差分比率の一画素列分の積算値(=評価値E2(x))を求める。次に、評価値E2(x)に補正係数γを掛け、これを明レベルを出力した画素数であるカウント値countで除算して、明レベル出力差分比率の平均値を求め、これを現在の利得に対応する係数axから減算する(S30)。
以上の処理を画素列xが、最大画素列xmax−1になるまで(S31)、画素列xをカウントアップし(S33)、最大画素列xmaxになった場合には処理を終了する。なお、xが最大画素列xmaxとなった場合の係数には、最大画素列xmax−1の係数を用いたり、減算用の画素列を更に別途設けて得られる係数を用いることができる。
以上、説明したように、上述の固体撮像装置は、複数の撮像ブロックからなる撮像領域を備え、各撮像ブロックが複数の画素列x,x+1・・・からなり、各撮像ブロックのn番目の画素列からの信号を撮像ブロック毎に順次処理しディジタルビデオ信号を生成する処理回路PU(x)(x=Nまで)を、各撮像ブロックにおける画素列の数だけ備え、撮像ブロック毎の各画素列x,x+1・・・からの信号をそれぞれの処理回路で並列処理PU1、PU2、PU3(図1参照)する固体撮像装置において、主画素列xからの信号V’(x,y)と、主画素列に隣接する副画素列x+1からの信号V’(x,y)との差分を画素行毎に演算し(S6)、(S27)、これらの画素列の差分の集合の代表値(オフセット用の代表値が平均値の場合には(E1(x)/count)を決定し、この代表値に基づいて主画素列の属する処理回路のオフセットを設定する制御回路FBCを備えることを特徴とする。
複数の処理回路は、撮像ブロック内の隣接する複数の画素列からの信号V(x、y)、V(x+1,y)を並列処理するため、高速に処理を行うことができる。撮像領域全体の画素からの信号を処理するには、処理対象となる撮像ブロックを切り替えればよい。このように複数の処理回路を用いた場合の画像のムラを無くすため、上記処理回路ではオフセットや利得を補正している。
制御回路FBCは、主画素列xからの信号V’(x、y)と、主画素列xに隣接する副画素列x+1からの信号V’(x+1、y)との差分を画素行毎に演算し(S6)、これらの画素列の差分の集合の代表値を決定し、この代表値に基づいて主画素列の属する処理回路のオフセットを設定している。すなわち、隣接画素列からの信号V’(x、y)、V’(x+1、y)は別々の処理回路PU1、PU2に入力されるが、これらの間の信号の差分の集合の代表値(平均値)は、処理回路からの最終出力のオフセット(暗レベル)に相関する。したがって、この代表値に基づいてオフセットaxbxを補正すれば、隣接画素列間のオフセットレベル差を緩和することができる。
また、隣接画素列からの信号は別々の処理回路に入力されるが、これらの間の信号の差分の元の信号に対する比率の集合の利得補正用代表値(平均値の場合はE2(x)/count)(S30)は、処理回路からの最終出力の利得に相関する。したがって、この代表値に基づいて利得axを補正すれば、隣接画素列間の利得差を緩和することができる。このように、本発明の固体撮像装置によれば、最終出力の補正を簡易に行っている。
オフセット補正用の代表値として平均値を用いる場合(図5参照)、制御回路FBCは、主画素列xの一画素P(x,y)からの信号V’(x,y)が下限閾値VhLOWを下回っている場合に、この画素からの信号V’(x,y)と、この画素に隣接する副画素列の一画素からの信号V’(x+1,y)との差分を演算し、一画素列分の演算で得られた複数の差分の集合の平均値を代表値とし(E1(x)/count:S9)、この代表値に基づいて主画素列xの属する処理回路PU(x)のオフセットaxbxを設定している。
利得補正用の代表値として平均値を用いた場合(図6参照)、制御回路FBCは、主画素列xの一画素P(x,y)からの信号V’(x,y)が上限閾値ThHIGHを越えている場合に、この画素からの信号V’(x,y)と、この画素に隣接する副画素列x+1の一画素からの信号V’(x+1,y)との差分の、主画素列xの一画素からの信号に対する比率(オフセット分のbxを考慮しない場合にはE2(x))を演算し(S27)、一画素列分の演算で得られた複数の比率の集合の平均値を代表値とし(S30参照)、この代表値に基づいて主画素列xの属する処理回路PU(x)の利得を設定している。
制御回路FBCが比率[(V’(x,y)−V’(x+1,y))/V’(x,y)]を演算する場合、主画素列xの一画素からの信号(V’(x,y)として、オフセットに対応する成分bxが除去された主画素列の一画素からの信号Value(=V’(x,y)−bx)を用いている。
なお、上記では、上限閾値及び下限閾値を設定したが、これらを設定しない場合には、一画素列の全画素数が平均値も求めるための対象となる。また、評価値の演算には絶対値を用いることができる。
また、上述の代表値としては、ヒストグラムの最大頻度を与えるものを用いることができる。
オフセット補正用の代表値として最大頻度を与える値を用いる場合、制御回路FBCは、まず、主画素列xの一画素からの信号V’(x,y)が下限閾値ThLOWを下回っている場合に、この画素からの信号V’(x,y)と、この画素に隣接する副画素列x+1の一画素からの信号V’(x+1,y)との差分(Δ(x,y)=V’(x,y)−V’(x+1,y))を演算する。この差分は隣接画素間の暗レベルの差分に対応する。
次に、一画素列分の演算で得られた複数の差分Δ(x,y)[y=1〜ymax]の集合の暗レベル差分ヒストグラムの最大頻度を与える差分Δ(x,y)[y=yfrequency]の値(ヒストグラムの分解能に依存するが略Δ(x,yfrequency)を代表値とし、この代表値に基づいて主画素列xの属する処理回路PU(x)のオフセットを設定することができる。すなわち、ステップ(S9)の演算の代わりに、初期係数bxから、最大頻度の暗レベル差分(≒Δ(x,yfrequency)を減じて、新たな係数bxとする。
また、利得補正用の代表値として最大頻度を与える値を用いる場合、制御回路FBCは、まず、主画素列xの一画素からの信号V’(x,y)が下限閾値ThLOWを下回っている場合に、この画素からの信号V’(x,y)と、この画素に隣接する副画素列x+1の一画素からの信号V’(x+1,y)との差分(Δ(x,y)=V’(x,y)−V’(x+1,y))を演算する。次に、一画素列分の演算で得られた複数の差分Δ(x,y)[y=1〜ymax]の集合の暗レベル差分ヒストグラムの最大頻度を与える差分Δ(x,y)[y=yfrequency]の値(≒Δ(x,yfrequency)=Δ’(x,yfrequency))を演算する。
すなわち、ヒストグラムを用いる場合の新しいbx=旧bx−α×オフセット補正用代表値であり、このオフセット補正用代表値=Δ’(x,yfrequency)であるとする。
次に、制御回路FBCは、主画素列xの一画素からの信号V’(x,y)が上限閾値ThHIGHを越えている場合に、この画素からの信号V’(x,y)と、この画素に隣接する副画素列x+1の一画素からの信号V’(x+1,y)との差分(δ(x,y)=V’(x,y)−V’(x+1,y))を演算し、一画素列分の演算で得られた複数の差分δ(x,y)[y=1〜ymax]の集合の明レベル差分ヒストグラムの最大頻度を与える差分δ(x,y)[y=yfrequency]の値(≒δ(x,yfrequency)=δ’(x,yfrequency))を演算し、明レベル差分ヒストグラムの最大頻度を与える差分の値(δ’(x,yfrequency))と、暗レベル差分ヒストグラムの最大頻度を与える差分の値(Δ’(x,yfrequency))との差の、これらの差分を与える主画素列xの画素からの信号V’(x,y)[明レベル時]、V’(x,y)[暗レベル時]の差に対する比率を代表値とする。
すなわち、ヒストグラムを用いる場合の新しいax=旧ax−γ×利得補正用代表値であり、この利得補正用代表値={δ’(x,yfrequency)−Δ’(x,yfrequency)}/{V’(x,y)[明レベル時]−V’(x,y)[暗レベル時]}であるとする。
このヒストグラムを用いた補正の場合、画像中に縦縞が含まれている場合においても、画像ムラを十分に低減することができる。
次に、係数ax,bxが演算された場合の処理回路PU(x)の調整方法について説明する。
図7は、処理回路PU(x)の詳細構成を示す。
処理回路PU(x)は、アンプAmp(x)、AD変換回路ADC(x)、出力回路OC(x)を直列に接続しており、入力信号VXに対して、Vx’=ax×(Vx+bx)の処理を行う。利得ax、オフセットaxbxは、アンプAmp(x)、AD変換回路ADC(x)、出力回路OC(x)のいずれかの回路の出力を調整すればよい。
図8は、アンプAmp(x)を調整する場合の例を示す回路図である。
アンプAmp(x)の利得は、オペアンプOPの入力側の抵抗R1の抵抗値と、入出力間の帰還抵抗R2との比率(R2/R1)によって決定される。したがって、利得調整信号CGAIN(x)は、抵抗R2の抵抗値を調整することで、利得をaxとすることができる。
また、オフセットは、非反転増幅端子の参照電位Vrefを決定する分圧抵抗R3,R4のうちの一方の可変抵抗R3を調整することで制御できる。すなわち、分圧抵抗R3,R4は電源電位Vddと基準電位Vssとの間に接続されており、オフセット電位となる参照電位Vrefは、抵抗R3とR4との抵抗比によって決定される。
オフセット調整信号COFFSET(x)は、暗レベル信号分のオフセットaxbxが入力から減じられるよう、axbxの大きさがVref(=(Vdd−Vss)×(R4/(R3+R4)))を満たすように、可変抵抗R3の抵抗値を決定する。
図9は、AD変換回路ADC(x)を調整する場合の例を示す回路図である。
本例では、パイプライン型のAD変換回路が示されている。簡単のため、AD変換回路は4ビット出力のものとする。4つのAD変換ステージSTAGE1(x)、STAGE2(x)、STAGE3(x)、STAGE4(x)を順番に接続し、各AD変換ステージの出力をシフトレジスタSR(x)に入力する。各AD変換ステージは、AD変換用の比較器Comp、比較器Compの出力が入力されるDA変換回路Dac、DA変換回路Dacの出力と入力信号を減算する減算回路Sub、減算回路Subの出力を定数倍(×2)する乗算回路Mulを備えている。
例えば、1.31Vのアナログの入力電圧がAD変換回路ADC(x)に入力された場合、初段のAD変換ステージSTAGE1(x)では、比較器Compの参照電圧Vrefを0.8Vとすると、1.31Vは0.8V以上なので、比較器Compからはハイレベル「1」が出力され、DA変換回路Dacからは0.8Vが出力され、減算回路SubはDA変換回路Dacの出力0.8Vを入力電圧1.31Vから減じる。すなわち、0.51Vが減算回路Subから出力され、乗算回路Mulは、これを2倍して、1.02Vを出力する。
2段目のAD変換ステージSTAGE2(x)では、比較器Compの参照電圧Vrefを0.8Vとすると、1.02Vは0.8V以上なので、比較器Compからはハイレベル「1」が出力され、DA変換回路Dacからは0.8Vが出力され、減算回路SubはDA変換回路Dacの出力0.8Vを入力電圧1.02Vから減じる。すなわち、0.22Vが減算回路Subから出力され、乗算回路Mulは、これを2倍して、0.44Vを出力する。
3段目のAD変換ステージSTAGE3(x)では、比較器Compの参照電圧Vrefを0.8Vとすると、0.44Vは0.8Vよりも小さいので、比較器Compからはローレベル「0」が出力され、DA変換回路Dacからは0Vが出力され、減算回路SubはDA変換回路Dacの出力0Vを入力電圧0.44Vから減じる。すなわち、0.44Vが減算回路Subから出力され、乗算回路Mulは、これを2倍して、0.88Vを出力する。
4段目のAD変換ステージSTAGE4(x)では、比較器Compの参照電圧Vrefを0.8Vとすると、0.88Vは0.8V以上なので、比較器Compからはハイレベル「1」が出力され、DA変換回路Dacからは0.8Vが出力され、減算回路SubはDA変換回路Dacの出力0.8Vを入力電圧0.88Vから減じる。すなわち、0.08Vが減算回路Subから出力され、乗算回路Mulは、これを2倍して、0.16Vを出力する。
すなわち、これらのAD変換ステージのパイプラインを通って、「1」、「1」、「0」、「1」がシフトレジスタSR(x)に順次入力される。なお、「1101」は、十進数では13であり、最下位のビットから順番に、0.1V×20=0.1V、0.1V×21=0.2V、0.1V×22=0.4V、0.1V×23=0.8Vを示しているので、「1101」は1.3Vのアナログ信号を表している。
このAD変換回路の利得は、比較器Compの参照電圧Vrefに反比例する。したがって、Vrefを決定する直列抵抗R5,R6のうちの一方の可変抵抗R5を利得調整信号CGAIN(x)によって制御すれば、利得調整を行うことができる。すなわち、利得調整信号CGAIN(x)は、利得ax∝(1/Vref)=1/((Vdd−Vss)×(R6/(R5+R6)))を満たすように、可変抵抗R5の抵抗値を決定する。
シフトレジスタSR(x)の出力からは、ディジタル加算回路Addを用いてオフセットaxbxの大きさ分を減じる。オフセットaxbxが負の場合は加算すればよい。すなわち、ディジタル加算回路Addに入力されるオフセット調整信号COFFSET(x)は、オフセットaxbxを示すこととなる。
図10は、ディジタル出力回路OC(x)を調整する場合の例を示す回路図である。
出力回路OC(x)は、入力に定数bxを加算するディジタル加算回路Addと、加算回路Addの出力をax倍するディジタル乗算回路Mulとを備えており、Vx’=ax×(Vx+bx)を出力する。すなわち、利得調整信号CGAIN(x)はディジタル乗算回路Mulの倍数としてaxを指定するものであり、オフセット調整信号COFFSET(x)は、ディジタル加算回路Addの加算値としてbxを指定するものである。なお、bxは、オフセットaxbxを利得axで除したものである。
次に、画素出力の部分読出しタイミングについて説明する。本装置では、各処理回路のオフセットと利得を順次決定してから、部分読出しを行う。
図11は、図1に示した固体撮像装置のタイミングチャートである。
本例では、図1に示した部分読み出し領域Rの信号を読み出す例が示されている。
時刻t0〜t2までは、第1〜第3シフト信号(垂直)Vshift(1〜3)、第1〜第3リセット信号(垂直)Vreset(1−3)、第4シフト信号(垂直)Vshift(4)、第4リセット信号(垂直)Vreset(4)、第5シフト信号(垂直)Vshift(5)、第5リセット信号(垂直)Vreset(5)、第6シフト信号(垂直)Vshift(6)、第6リセット信号(垂直)Vreset(6)、第7〜第9シフト信号(垂直)Vshift(7〜9)、第7〜第9リセット信号(垂直)Vreset(7−9)、第1シフト信号(水平)Hshift(1)、第2シフト信号(水平)Hshift(2)、第3シフト信号(水平)Hshift(3)は、全てローレベルである。なお、信号の各数字は、座標x又はyのアドレスを示す。また、説明においては図2を適宜参照する。
時刻t2〜t3では、行選択回路12から、ハイレベルの第4シフト信号(垂直)Vshift(4)が入力されるため、図1の下から4行目の画素行のシフトスイッチQaddress(x,4)がONとなり、光の入射に応じてホトダイオードPD(x,4)に蓄積された電荷が、アンプAMP(x、4)で増幅され、ビデオラインLnに電圧として出力され、ホールド回路H(1)〜H(9)に保持される。なお、各ホールド回路には、電流源が並列に接続されている。続いて、時刻t3〜t4では、ハイレベルの第4リセット信号Vreset(4)が入力されるため、リセットスイッチQreset(x,4)がONとなり、ホトダイオードPD(x、4)に蓄積された電荷はリセットされる。
時刻t4〜t5では、列選択回路13から、ハイレベルの第2シフト信号(水平)Hshift(2)が、画素列の4列目のスイッチQ(4)、画素列の5列目のスイッチQ(5)、画素列の6列目のスイッチQ(6)に同時に入力されるため、ホールド回路H(4)、H(5)、H(6)に蓄積された画素P(4,4)、P(5,4)、P(6,4)の電荷が、それぞれ処理回路PU1、PU2、PU3に入力される。
時刻t6〜t7では、行選択回路12から、ハイレベルの第5シフト信号(垂直)Vshift(5)が入力されるため、図1の下から5行目の画素行のシフトスイッチQaddress(x,5)がONとなり、光の入射に応じてホトダイオードPD(x,5)に蓄積された電荷が、アンプAMP(x、5)で増幅され、ビデオラインLnに電圧として出力され、ホールド回路H(1)〜H(9)に保持される。
続いて、時刻t7〜t8では、ハイレベルの第5リセット信号Vreset(5)が入力されるため、リセットスイッチQreset(x,5)がONとなり、ホトダイオードPD(x、5)に蓄積された電荷がリセットされる。時刻t8〜t9では、列選択回路13から、ハイレベルの第2シフト信号(水平)Hshift(2)が、画素列の4列目のスイッチQ(4)、画素列の5列目のスイッチQ(5)、画素列の6列目のスイッチQ(6)に同時に入力されるため、ホールド回路H(4)、H(5)、H(6)に蓄積された画素P(4,5)、P(5,5)、P(6,5)の電荷が、それぞれ処理回路PU1、PU2、PU3に入力される。
時刻t10〜t11では、行選択回路12から、ハイレベルの第6シフト信号(垂直)Vshift(6)が入力されるため、図1の下から6行目の画素行のシフトスイッチQaddress(x,6)がONとなり、光の入射に応じてホトダイオードPD(x,6)に蓄積された電荷が、アンプAMP(x、6)で増幅され、ビデオラインLnに電圧として出力され、ホールド回路H(1)〜H(9)に保持される。
続いて、時刻t11〜t12では、ハイレベルの第6リセット信号Vreset(6)が入力されるため、リセットスイッチQreset(x,6)がONとなり、ホトダイオードPD(x、6)に蓄積された電荷がリセットされる。時刻t12〜t13では、列選択回路13から、ハイレベルの第2シフト信号(水平)Hshift(2)が、画素列の4列目のスイッチQ(4)、画素列の5列目のスイッチQ(5)、画素列の6列目のスイッチQ(6)に同時に入力されるため、ホールド回路H(4)、H(5)、H(6)に蓄積された画素P(4,6)、P(5,6)、P(6,6)の電荷が、それぞれ処理回路PU1、PU2、PU3に入力される。
上述のように、本固体撮像装置は、N個の画素列に、列選択回路13の選択によってONするスイッチQ(4)、Q(5)、Q(6)を介して、それぞれ接続されたN個の処理回路PU1,PU2,PU3を備えている。n番目の処理回路PU1(PU2,PU3)は、個々の撮像ブロックB1,B2,B3におけるn番目の画素列N1(N2,N3)に、スイッチQ(1)〜Q(9)を介して全て接続可能とされている。また、N個の処理回路PU1,PU2,PU3は、行選択回路12及び列選択回路13によって選択された画素列毎の信号からディジタルビデオ信号を生成している。
上述の固体撮像装置によれば、n番目の処理回路(例えば、PU1とする)には、個々の撮像ブロックB1,B2,B3におけるn番目の画素列(N1)がスイッチQ(1),Q(4),Q(7)を介して全て接続可能とされているので、部分読み出し領域Rが小さい場合においても、隣接する画素列N2からの信号は、異なる処理回路PU2で別々に処理される。しかも、画像データ演算部10によって、読み出す領域を部分読み出し領域Rに制限しているので、更に高速な撮像を行うことが可能となる。
また、上述の固体撮像装置は、個々の画素列N1,N2,N3にそれぞれ接続された複数のホールド回路H(1)〜H(9)を備えており、上記スイッチQ(1)〜Q(9)は、列選択回路13にタイミング発生回路11から入力される制御信号に同期して、画素列毎の個々のホールド回路H(1)〜H(9)に蓄積された電荷を、個々の画素列N1,N2,N3に対応する処理回路PU1,PU2,PU3に接続しており、各画素行毎の信号は一旦はホールド回路(1)〜H(9)に蓄積されるが、スイッチを制御信号Q(1)〜Q(9)によって接続することで、画素行毎に蓄積された電荷を、画素列N1,N2,N3毎に処理回路PU1,PU2,PU3へと転送することができる。なお、撮像領域の画素出力を制御回路FBC内に記憶しておき、次の読み出しタイミングで撮像領域の同一の画素出力を補正することもできる。
なお、画素列の数は、上述のものに限られない。
図12は、1つの撮像ブロックを8つの画素列からなることとし、64の撮像ブロックBk(k=1〜64)を備え(K=64)、垂直方向の画素列が512画素を有し、水平方向の画素列が512画素を有する固体撮像装置を示す。なお、各撮像ブロックB1,B2,・・・,B64における、n番目の画素列毎に、n番目の処理回路PUnが接続されている(n=1〜8)。列選択回路13によって制御されるスイッチ群Q(1)〜Q(N×K)と、撮像領域との間には、ホールド回路群H(1)〜H(N×K)が介在している。スイッチ群Q(1)〜Q(N×K)、ホールド回路群H(1)〜H(N×K)は、上述のスイッチ群Q(1)〜Q(9)及びホールド回路群H(1)〜H(9)に対応するものである。
この固体撮像装置で部分読み出しの動作を以下に説明する。ここでは、画像データ演算部の出力に基づいて前回得た画像から、512×512の画素全体の内、周辺10行と10列だけを除いた中央の492×492の画素の部分読み出しを行うことを選択してタイミング発生回路がそれに必要な制御信号を行選択回路12と列選択回路13に供給することとする。
図13は、撮像領域内の画素P(x,y)の詳細な回路図である。
なお、以下の説明において、スイッチとは電界効果トランジスタを示すこととする。
画素P(1,1)は、ホトダイオードPD(1)のカソードと、リセット電位Vr1との間に直列に介在する転送スイッチQtrans(1)、リセットスイッチQreset(1)を備えている。転送スイッチQtrans(1)の上流端は、ホールドスイッチQhold(1)を介して、増幅トランジスタQamp(1)のゲートに入力されている。増幅トランジスタQamp(1)とビデオラインL1との間には、アドレス指定スイッチQaddress(1)が介在している。
転送スイッチQtrans(1)のゲートには、転送信号Vtrans(1)が入力され、リセットスイッチQreset(1)のゲートには、リセット信号Vreset(1)が入力される。また、ホールドスイッチQhold(1)のゲートにはホールド信号Vhold(1)が入力される。アドレス指定スイッチQaddress(1)のゲートにはアドレス信号Vaddress(1)が入力される。なお、アドレス信号Vaddress(1)は第1シフト信号(垂直)Vshift(1)と表記することもできる。
画素P(1,2)の構成は、各要素の数字が「2」となるのみで、構成は画素P(1,1)と同一である。
図14は、各信号を生成するための行選択回路12の回路図である。図15は、各信号のタイミングチャートである。この図は、垂直方向の上下10行ずつを除いた中央492行の部分読み出しを達成するためのものである。
各行毎にシフトレジスタS1,S2・・・が設けられており、各シフトレジスタは、セット入力端子ST、リセット入力端子rst、クロック入力端子CLKと、出力端子Qを備えている。リセット入力端子は接地電位に接続されている。シフトレジスタS1のセット入力端子STにはスタート信号Vstが入力され、シフトレジスタS1の出力端子Qからの出力shiftout1が、シフトレジスタS2のセット入力端子STに入力されるというように、各シフトレジスタのセット入力端子には一つ前のシフトレジスタの出力端子Qからの出力が順次入力される。
タイミング発生回路11から発生したVreset、Vtrans、Vhold、Vaddressは、第1画素P(1,1)読み出し時の所定のタイミングで、それぞれVreset(1)、Vtrans(1)、Vhold(1)、Vaddress(1)として、スイッチQA1,QB1,QC1,QD1をONし、上述の各スイッチに入力される。この所定のタイミングは、タイミング発生回路11で生成されたs-mode信号とスタート信号Vstによって決定され、第1行目の画素の読み出しが終了したら、第2行目の画素の読み出しへと順次移行する。なお、図15中、(Vshift)で示される数字は、読み出し中の画素行を示し、(Hshift)で示される数字は、読み出し中の画素列を示す。
s-mode信号は、スタート信号VstがシフトレジスタS1に入力されたときの出力と共にNOR回路(NOR1)に入力される。なお、2行目の読み出しの場合には、これらの信号はNOR回路(NOR2)に入力される。この図は、512×512の全画素で各ホトダイオードPD(x、y)に蓄積した電荷を同時にホールドするグローバルシャッターモードで動作する例であり、s-mode信号をハイレベルとしておくことで、Vreset、Vtrans、Vholdの信号を全画素一斉に供給することができる。これにより、ホトダイオードPD(x、y)に蓄積された電荷を増幅トランジスタQamp(x,y)のゲートに全画素に渡って同一のタイミングで転送、蓄積しておくことが可能となる。
実際の動作としては次のようになる。s-mode信号をハイレベルとして、全行に渡ってVreset、Vtrans、Vholdの信号が入力されるようにしておく。Vreset、Vtrans、Vhold、Vaddressの全ての信号がローレベルの時に、VresetをハイレベルとしてVholdをハイレベルとすることにより、増幅トランジスタのゲートの電荷がリセットされる。Vholdをローレベルとし、Vresetをローレベルとした後、VtransをハイレベルとしてVholdをハイレベルとすることで、ホトダイオードPD(x、y)に蓄積された電荷が増幅トランジスタのゲートに転送される。
その後、VholdをローレベルにしてVtransをローレベルにした後、VtransとVresetをハイレベルにして、ホトダイオードPD(x、y)に蓄積された電荷をリセットした後、VtransとVresetをローレベルにして次の蓄積を開始する。
ここでs-mode信号をローレベルに戻すことにより、全画素に渡って、ホトダイオードPD(x、y)に蓄積されていた電荷は、各画素の増幅トランジスタのゲートに転送、保持された状態で、ホトダイオードでは次の蓄積が開始されており、全画素での蓄積の開始、終了が同時に行われるグローバルシャッターモードの動作が実現される。以後は、増幅トランジスタのゲートに保持されている電荷を読みたい画素のみを選択して読み出すことになる。
シフトレジスタS1,S2・・・のクロック入力端子CLKにはタイミング発生回路11で生成される垂直クロック信号Vclkが入力されている。スタート信号VstがシフトレジスタS1のセット入力端子に入力され,シフトレジスタS1の出力端子Qからの出力shiftout1がシフトレジスタS2のセット入力端子に入力されるように、各シフトレジスタのセット入力端子に一つ前のシフトレジスタの出力端子Qからの出力が順次入力されると、各行の画素に蓄積された電荷の読み出しが開始されるが、Vaddressはローレベルとしておき、垂直クロック信号Vclkは周期を長くしておくことで、最初の10行は信号の読み飛ばしを行う。
その後、11行目の画素からVaddressをハイレベルとして蓄積電荷を増幅することにより得られた電圧をホールド回路に一度転送した上で、Vreset、Vholdもハイレベルとして、増幅トランジスタのゲートの電荷をリセットした後、Vholdをローレベルとして、Vresetをローレベルに戻して、リセット後の電圧もホールド回路に送り、蓄積した電荷を増幅することにより得られた電圧と、増幅トランジスタのゲートの電荷をリセットした時の増幅トランジスタから出力される電圧の2種類の電圧をホールド回路に入力する。
ホールド回路ではノイズ分を差し引いて減らすためのCDS回路でこの2種類の電圧の差を演算し、保持する。垂直クロック信号Vclkの周期を短くして512画素分の電荷をホールド回路に蓄積し、続いて、タイミング発生回路11で生成された画素列読み出しスタート信号Hstを列選択回路13に入力することで、タイミング発生回路11で生成された水平クロック信号Hclkに同期して、512画素分のホールド回路に蓄積された電荷の内、選択された部分読み出し領域Rに当たる画素分が8個の処理回路から読み出されて画像データ演算部へ入力される。
この動作は図16,17,18を使って後述する。なお、503行目の画素行から以後の10行は、垂直クロック信号の周期を短くして、同様に信号の読み飛ばしを行う。
すなわち、垂直クロック信号の周期を短くすることで、不要な画素行の読み出し時間を短縮しており、この不要な画素行の読み出し期間では、アドレス信号Vaddressを入力せず、すなわち、ビデオ信号は出力されない。
図16は、ホールド回路群H(1)〜H(N×K)に蓄積された電荷を読み出すためのスイッチ群Q(1)〜Q(N×K)の回路図である。ビデオラインL1,L2,L3・・・LN×K毎にスイッチQ(1),Q(2),Q(3)・・・Q(N×K)が接続されている。1つの撮像ブロックのスイッチ群には、Hshift信号が入力され、Hshift信号がハイレベルの時に、ホールド回路に蓄積された電荷が読み出される。
図17は、各信号を生成するための列選択回路13の回路図である。図18は、各信号のタイミングチャートである。この図は、水平方向の左右にそれぞれ10列ずつを除いた中央492列のみの部分読み出しを達成するためのものである。この図では、図15のs-mode信号がローレベルになってから水平スタート信号Hstがハイレベルとなり、以後水平の読み出しが行われるタイミングのみを示す。
シフトレジスタS10、S20、S30・・・が、撮像ブロックに対応して設けられている。各シフトレジスタは、セット入力端子ST、リセット入力端子rst、クロック入力端子CLKと、Q出力端子を備えている。クロック入力端子CLKには、水平クロック信号Hclkが入力される。
タイミング発生回路では、64撮像ブロック中の所望の読み出し開始番号の画素に対応して、水平読み出し用のスタート信号Hstを発生し、6ビットのデコーダ(0ch〜63ch)Dに入力する。デコーダDは、2値入力端子dih0、dih1、dih2、dih3、dih4、dih5を備えている。デコーダ出力端子1,2,3・・・と各セット入力端子STとの間には、NAND回路とNOT回路が介在している。
デコーダDは、タイミング発生回路11で生成したHstや2値入力に応じて、所望の撮像ブロックへ入力されるHshift信号がハイレベルとなる信号を生成する。スタート信号Hstと、撮像ブロック特定信号dih0、dih1、dih2、dih3、dih4、dih5の入力によって、指定された撮像ブロックの画素列の信号が読み出される。デコーダ出力端子0に対応して発生するHshift(1)信号は、ハイレベルの時にスイッチQ(1)〜Q(8)をONし、デコーダ出力端子1に対応して発生するHshift(2)信号は、ハイレベルの時にスイッチQ(9)〜Q(16)をONする。
各シフトレジスタS10、S20、S30のリセット端子rstには、タイミング発生回路11で生成されたオールリセット信号Hshift-resetを入力することができ、Hshift-resetがハイレベルの場合には、ホールド回路に蓄積された電荷の読み出しを終了し、部分読み出しを高速に行っている。このように図15と図18の両手法を適用することにより、512×512画素信号を周辺10行と10列ずつを除いた中央492×492画素の部分信号読み出しを達成できる。
なお、上述の例では、部分読み出し領域Rは、前回の画像に基づいて画像データ演算部が決定し、必要な制御信号をタイミング発生回路が発生したが、これは特願2003−189181に示される撮像装置(プロファイルイメージャと呼ばれている)のプロファイル検出機能から得られる情報に基づいて決定してもよく、ホールド回路やフレームメモリ等に蓄積された画像に基づいて決定してもよい。
また、部分読み出し領域Rを決定するために基づくものは蓄積された画像に限る必要はなく、全画素の内の一部分のみを読み出すように選択する信号を、画像データ演算部の代わりに外から与えても良い。こうすることで、読み出す部分と画素数を外部より入力する信号により変えて、画素数は少なくて良いのでとにかく高速で撮像したい場合や、画角の一部分のみに絞って読み出したい場合など様々な場合に対応可能な固体撮像装置が実現できる。
ADC1,ADC2,ADC3…変換器、10…画像データ演算部、11…タイミング発生回路、12…行選択回路…、13…列選択回路、AMP…アンプ、B1,B2,B3……撮像ブロック、H…ホールド回路、PD…ホトダイオード、PU1,PU2,PU3…処理回路。