以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る撮像装置150の構成を示すブロック図である。図1において、固体撮像素子100は、撮影レンズ101により結像された被写体像を信号値に変換する。レンズ駆動部102は、全体制御演算部103からの指示により、撮影レンズ101が有するフォーカスレンズの駆動、及び絞りの駆動を行う。
全体制御演算部103は、固体撮像素子100の制御、固体撮像素子100から出力された信号の補正・現像を含む、撮像装置150の全体の制御を行う。メモリ部104は、画像データを一時的に保存し、表示部105は、各種情報や撮影画像の表示を行う。
記録部106は、画像データなどが記録される半導体メモリ等の着脱可能な記録媒体である。操作部107は、ユーザーが撮像装置150に各種の指示を入力するためのインターフェースである。操作部107から出力される信号に基づいて、全体制御演算部103は撮像装置150の各ブロックを制御する。
図2は、固体撮像素子100の構成を示す図である。本実施形態の固体撮像素子100は、露光期間において単位画素200に入射した光に応じた信号値を出力する。その際に、露光期間を分割したサブフレームに入射した光に応じた信号値を内部で加算し、露光期間全体に対応する1フレームの信号値を生成する。この駆動方法の詳細については後述する。
固体撮像素子100は、単位画素200が行列状に多数配置された画素部201、列信号線202、加算回路203、メモリ204、信号処理回路205、タイミング制御回路206を備えて構成される。タイミング制御回路206は、画素部201に駆動信号を出力して画素部201の制御を行うとともに、加算回路203、メモリ204、信号処理回路205の制御も行う。
列信号線202は、単位画素200の出力を加算回路203に伝送する信号線である。そして、タイミング制御回路206の制御により、画素部201に配置された複数の単位画素200は、入射した光に応じた信号値を後述するサブフレームの間隔で繰り返し列信号線202に出力する。
加算回路203は、単位画素200から出力された信号値を、単位画素200毎に順次加算し、メモリ204に出力する。この加算処理は信号値を混合する処理に相当し、加算回路203は混合手段として機能する。
メモリ204は、加算回路203から出力された信号値を保持すると共に、保持した信号値を加算回路203及び信号処理回路205に出力することができる。
具体的には、画像の生成に用いられる1フレームの最初のサブフレームに応じた単位画素200の出力が加算回路203に入力された際には、加算回路203はメモリ204にこの信号値を出力する。メモリ204は、この信号値を保持する。
以降のサブフレームに応じた単位画素200の出力が加算回路203に入力された際には、メモリ204に保持した信号値が加算回路203に出力され、単位画素200の出力とメモリ204に保持された信号値が加算され、再度メモリ204に保持される。
このような駆動を繰り返すことにより、単位画素200毎に信号値を順次累積加算した信号が加算回路203により生成され、メモリ204に保持される。1フレームの信号値が生成された後に、メモリ204はこの1フレームの信号値を信号処理回路205に出力する。
信号処理回路205は、入力された1フレームの信号値に対し、黒レベル補正等の各種補正を行い、補正された画像信号を全体制御演算部103へと出力する。
次に、図3は、単位画素200の構成を示す図である。また、図4は、固体撮像素子100のサブフレーム駆動を示すタイミングチャートである。図3と図4を参照して、本実施形態における固体撮像素子100の駆動タイミングについて説明する。
単位画素200は、光子を検出する状態と、光子を検出しない状態のいずれかで選択的に駆動することが可能である。そして、光子を検出する「検出サブフレーム」と光子を検出しない「非検出サブフレーム」のどちらかがサブフレーム毎に選択される。複数のサブフレーム駆動を繰り返すことにより1フレーム(所定の露光期間)における単位画素200の信号値を生成する。
図4(a)は、単位画素200により光子を検出する「検出サブフレーム」における駆動を示し、図4(b)は、単位画素200により光子を検出しない「非検出サブフレーム」における駆動を示している。なお、1フレームの駆動については図5を用いて後述する。
図3に示すように、単位画素200は、アバランシェフォトダイオード(以下、APDとする)300、クエンチトランジスタ301、波形整形回路302、カウンタ303を備える。さらに、ラッチ304、制御回路305、AND回路306、選択スイッチ307を備えて構成される。
また、図4において、「SubVD」、「RST」、「Latch」は、タイミング制御回路206から画素部201内の単位画素200に共通に入力される駆動信号を表している。「APD」は、APD300とクエンチトランジスタ301の間のノードの電位を表している。「波形整形回路出力」は、波形整形回路302の出力を表している。「計数値」は、カウンタ303の計数値を表している。「ラッチEN」は制御回路305の出力するラッチEN信号を表している。さらに、「ラッチ出力」はラッチ304の出力を表している。
APD300は、APD用電源VAPDと接続されるとともに、クエンチトランジスタ301を介して電源電圧VDDと接続されており、逆バイアスを印加することが可能なように構成されている。APD300は、逆バイアスの電位差が降伏電圧以上かかった状態では、光子が入射し光電変換による電荷が発生するとアバランシェ増倍による多数の電荷を発生させる。
発生した電荷は、クエンチトランジスタ301を介してある時間をもって排出される。この発生した電荷がクエンチトランジスタ301を介して排出されることにより生じる電流をアバランシェ電流と呼ぶ。この動作により、APD300とクエンチトランジスタ301の間のノードにおいて、APDに光子が入射するのに応じて電位が降下する変動が起きる。このようにして、APD300とクエンチトランジスタ301は受光部として機能する。
波形整形回路302は、例えばインバータ回路により構成され、APD300への光子の入射に応じた電荷の生成及び排出による電位の変化に対し、増幅およびエッジ検出を行うことにより、パルス信号を生成する。
カウンタ303は、計数部として機能し、波形整形回路302の出力するパルス信号を計数し、計数値(計数結果)を出力する。カウンタ303の計数値は、タイミング制御回路206から出力される駆動信号RSTにより0にリセットされる。ラッチ304は、AND回路306から出力されるパルスのタイミングに合わせてカウンタ303から出力された計数値の保持を行う。
制御回路305は、タイミング制御回路206から出力される駆動信号SubVD、全体制御演算部103から出力されるモード選択信号modeに応じて、ラッチEN信号と、電圧Vqncを出力する。
駆動信号SubVDは、サブフレームの開始タイミングを示す信号であり、モード選択信号modeは単位画素200の駆動モードを設定する信号である。
制御回路305は、モード選択信号modeに応じて、そのサブフレームが、「検出サブフレーム」であるか、或いは「非検出サブフレーム」であるのかを判断する。そして、判断結果に応じたラッチEN信号とゲート電圧Vqncを出力する。この制御により、制御回路305は選択手段として機能する。
ラッチEN信号は、カウンタ303の計数値をラッチ304が保持するか、しないかを制御する信号であり、サブフレーム毎にHighレベル(以下“H”とする)かLowレベル(以下“L”とする)が出力される。具体的には、「検出サブフレーム」において“H”を、「非検出サブフレーム」において“L”を出力する。
また、電圧Vqncは、クエンチトランジスタ301のゲートに供給する電圧である。制御回路305は、クエンチトランジスタ301のゲート電圧Vqncを制御することにより、APD300について、光子に応じてアバランシェ電流が発生する状態と発生しない状態のどちらかを選択する。
具体的には、ゲート電圧Vqncを、クエンチトランジスタ301の閾値電圧を越える電圧にすることにより、クエンチトランジスタ301は導通状態となる。この状態において、APD300で発生したアバランシェ増倍による電荷は、ある時間をもって電源電圧VDDに排出される。そして、電荷排出後は再びAPD300に降伏電圧以上の逆バイアスがかかり、再度、光子に応じてアバランシェ電流が発生する状態になる。
一方、ゲート電圧Vqncを電源電圧VDDと同じ電圧に制御することにより、クエンチトランジスタ301は非導通状態となる。この状態においては、APD300で一度発生したアバランシェ増倍による電荷は排出されず、APD300とクエンチトランジスタ301の間のノードは低い電位に維持される。この状態では、APD300にかかる逆バイアスは降伏電圧以上とならないので、光子が入射してもアバランシェ増倍が起きず、アバランシェ電流は発生しない。
このように、制御回路305は、ゲート電圧Vqncを制御することにより、APD300について、光子の入射に応じてアバランシェ電流が発生する状態と、発生しない状態のどちらかを選択することができる。そして、「検出サブフレーム」では、アバランシェ電流が発生する状態に制御され、「非検出サブフレーム」ではアバランシェ電流が発生しない状態に制御される。
AND回路306には、制御回路305の出力するラッチEN信号と、タイミング制御回路206の出力する駆動信号Latchが入力される。ラッチEN信号が“H”であるサブフレームにおいて、駆動信号Latchが“H”レベルになるタイミングでAND回路306は“H”を出力し、このタイミングにおいてラッチ304はカウンタ303の計数値を保持する。
選択スイッチ307には、タイミング制御回路206の出力する駆動信号SELが入力される。駆動信号SELが“H”のタイミングにおいてラッチ304が保持している計数値が、単位画素200に入射した光に応じた信号値として列信号線202に出力される。
駆動信号SELは、画素部201内の単位画素200にそれぞれ個別の駆動信号として入力されており、順に駆動信号SELが“H”になることにより、画素部201内の単位画素200の信号値が順に列信号線202に出力される。
初めに、図4(a)を用いて、「検出サブフレーム」における固体撮像素子100の駆動について説明する。
タイミングt400では、駆動信号SubVDが“H”となり、サブフレームが開始される。同時に、駆動信号RSTが“H”となりカウンタ303の計数値が0にリセットされ、ラッチEN信号が“H”になる。駆動信号RSTは、カウンタ303の計数値のリセットに必要な時間が経過した後に“L”となり、リセットが解除される。また、このタイミングにおいて、ラッチ304の出力はこのサブフレーム以前に保持された計数値に設定されている。
タイミングt401では、APD300に光子が入射し、アバランシェ電流が発生する。具体的には、アバランシェ増倍による電荷により、APD300とクエンチトランジスタ301の間のノードの電位が降下し、その後クエンチトランジスタ301から電荷が徐々に排出され、ノードの電位は電源電圧VDDになる。波形整形回路302は、ノードの電位の降下によるエッジを検出し、信号レベル“H”を出力する。
そして、ノードの電位が上昇するのに応じて信号レベル“L”に遷移することにより、入射した光子に応じたパルスを出力する。カウンタ303では、このパルスを計数し、計数値は上昇し1となる。タイミングt401~t402では、入射した光子に応じて生成されたパルスをカウンタ303が計数する状態が維持される。
サブフレーム期間が終了する直前のタイミングであるタイミングt403まで、上記の動作が、APD300に光子が入射するたびに繰り返される。
タイミングt403では、駆動信号Latchが“H”となり、カウンタ303の計数値をラッチ304が取り込み、駆動信号Latchが“L”になることにより計数値をラッチ304が保持する。図4(a)の例では、光子は10個検出されており、ラッチ304の出力は10となる。駆動信号Latchが“H”になるタイミングは、次の駆動信号SubVDが入力されるサブフレーム終了タイミングから、ラッチ304が計数値を保持するのに必要な時間を考慮し、予め定めた時間だけ前のタイミングであることが望ましい。
ラッチ304が保持する計数値は、駆動信号RSTが“L”となりリセットが解除されたタイミングから、駆動信号Latchが“L”となり保持が完了するタイミングまでの間の期間にAPD300に入射した光子に応じた計数値となる。つまり、光子をカウントした期間は、サブフレームの期間に完全には一致していない。しかしながら、この期間とサブフレームの期間との差はサブフレームの期間に対して非常に小さいため、このサブフレームにおいて入射した光子に応じた計数値とみなすことができる。
続いて、図4(b)を用いて、「非検出サブフレーム」における固体撮像素子100の駆動について説明する。
タイミングt404では、駆動信号SubVDが“H”となり、サブフレームが開始される。「検出サブフレーム」と異なり、ラッチEN信号は“L”になる。更に、図示しないゲート電圧Vqncは電源電圧VDDとなり、クエンチトランジスタ301は非導通状態となる。
タイミングt405では、APD300に光子が入射し、アバランシェ増倍による電荷が発生することで、APD300とクエンチトランジスタ301の間のノードの電位が降下する。しかし、クエンチトランジスタ301は非導通状態なのでこの電荷は排出されず、アバランシェ電流は発生しない。
前述したように、ノードの電位は降下した状態から変化しないので、APD300にかかる逆バイアスは降伏電圧以上とならず、光子が入射してもアバランシェ増倍が起きない状態になる。波形整形回路302は、ノードの電位の降下に応じて信号レベル“H”となり、カウンタ303の計数値は1となる。
タイミングt406では、駆動信号Latchが“H”となるが、ラッチEN信号は“L”であるので、AND回路306の出力は“L”のままとなり、ラッチ304はこのサブフレーム以前に保持された計数値を引き続き保持する。
このように、「非検出サブフレーム」においては、光子の入射の有無によらず、アバランシェ電流は発生しない。これにより、「非検出サブフレーム」の駆動を行う単位画素200では、光子の入射しない「検出サブフレーム」と同じく、光子の入射する条件において、単位画素200で発生する消費電力を大幅に低減することが可能となる。
続いて、図5を参照して、本実施形態における固体撮像素子100の駆動タイミングについてさらに説明する。図5は、固体撮像素子の1フレームの画像を取得する駆動を示すタイミングチャートである。
図5において、「VD」は、1フレームの開始タイミングを示す信号であり、全体制御演算部103から固体撮像素子100に入力される。「Mode:A」、「Mode:B」、「Mode:C」は、モード選択信号modeがA、B、Cとなる単位画素200の動作例を表す。
具体的には、画素部201をマトリクス状に複数の分割領域に分割し、入射光量(撮影条件)に応じて、各々の分割領域に、モードA、モードB、モードCのいずれかのモードが割り当てられる。
すなわち、入射光量が少ない分割領域にはモードA、中間の入射光量の分割領域にはモードB、入射光量が多い分割領域にはモードCが割り当てられる。分割領域とモードの設定に関しては、図6を用いて後述する。
また、図5において、「動作」は、各サブフレームにおいて、単位画素200が「検出サブフレーム」と「非検出サブフレーム」のどちらで駆動されているかを表す。
「計数値」は、実線がカウンタ303の計数値を、破線がラッチ304の出力する信号値を表す。「SEL」は、タイミング制御回路206の出力する駆動信号SELにより、画素部201内の単位画素200の信号値が順に出力される駆動を模式的に表している。
「加算処理」は、加算回路203により、単位画素200の出力と、メモリ204に保持されたその同じ単位画素200の累積加算された信号値との加算を行うタイミングを表している。さらに、「センサ出力」は、メモリ204に保持された1フレームの信号が信号処理回路205を介して固体撮像素子100から全体制御演算部103に出力されるタイミングを表している。
続いて、図5に示す駆動タイミングに沿った固体撮像素子100の動作について具体的に説明する。
タイミングt500では駆動信号VDが“H”となり1フレームの駆動が開始される。同時に駆動信号SubVDも“H”となり、予め設定される1フレームの露光期間を等間隔に分割したサブフレーム(分割露光期間)のうち、最初のサブフレームが開始される。1フレームの開始にあたり、単位画素200には、分割領域毎にそれぞれ全体制御演算部103からモード選択信号modeが入力される。
1フレームの最初のサブフレームでは、モード選択信号modeによらず全ての単位画素200は「検出サブフレーム」で駆動される。それにより、カウンタ303の計数値は光子の入射に応じて上昇していく。
タイミングt501では、駆動信号SubVDが再び“H”となり、最初のサブフレームが終了し、2回目のサブフレームが開始される。このタイミングにおいてラッチ304では、最初のサブフレームに単位画素200に入射した光子に応じた信号値が保持されている。
そして、駆動信号SELが順次“H”になることにより、画素部201内の単位画素200の最初のサブフレームにおいて入射した光子に応じた信号値が順次列信号線202を介して加算回路203へと出力される。
最初のサブフレームの信号値が加算回路203に入力されるタイミングにおいては、加算回路203では、単位画素200の信号値を加算することなくメモリ204へ出力し、メモリ204はこの信号値を保持する。
2回目のサブフレームにおいては、モード選択信号modeによりモードAが割り当てられた単位画素200は、再び「検出サブフレーム」として駆動される。一方、モード選択信号modeによりモードB及びモードCが割り当てられた単位画素200は、「非検出サブフレーム」として駆動される。
タイミングt502では、駆動信号SubVDが再び“H”となり、2回目のサブフレームが終了し、3回目のサブフレームが開始される。
モードAが割り当てられ、2回目のサブフレームで「検出サブフレーム」として駆動された単位画素200では、ラッチ304に2回目のサブフレームで入射した光子に応じた信号値が保持される。
一方、モードB及びモードCが割り当てられ、2回目のサブフレームが「非検出サブフレーム」として駆動された単位画素200では、ラッチ304に最初のサブフレームで入射した光子に応じた信号値が保持され続ける。
そして、加算回路203では、単位画素200の出力と、メモリ204に保持されていた単位画素200の信号値が加算され、再度メモリ204に保持される処理が行われる。つまり、メモリ204に保持される、モードAが割り当てられた単位画素200に対応する信号値は、最初と2回目のサブフレームに入射した光子に応じた信号値である。
一方、メモリ204に保持される、モードB及びモードCが割り当てられた単位画素200に対応する信号値は、最初のサブフレームに入射した光子に応じた信号値の2倍の信号値になる。
3回目のサブフレームにおいては、モード選択信号modeによりモードA及びモードBが割り当てられた単位画素200は、「検出サブフレーム」として駆動される。一方、モード選択信号modeによりモードCが割り当てられた単位画素200は、「非検出サブフレーム」として駆動される。
タイミングt503では3回目のサブフレームが終了し、4回目のサブフレームが開始される。4回目のサブフレームにおいては、モード選択信号modeによりモードA及びモードCが割り当てられた単位画素200は、「検出サブフレーム」として駆動される。一方、モード選択信号modeによりモードBが割り当てられた単位画素200は、「非検出サブフレーム」として駆動される。
このように、モード選択信号modeによりモードAが割り当てられた単位画素200は、常に「検出サブフレーム」で駆動される。また、モード選択信号modeによりモードBが割り当てられた単位画素200は、「検出サブフレーム」と「非検出サブフレーム」を交互に繰り返すように駆動される。
さらに、モード選択信号modeによりモードCが割り当てられた単位画素200は、「検出サブフレーム」で1回駆動された後、「非検出サブフレーム」で2回繰り返すように駆動される。つまり、単位画素200に入射する光量が多いほど、アバランシェ電流の発生しない「非検出サブフレーム」の期間(累積時間)が長くなるように制御される。
タイミングt504では、予め設定された回数のサブフレームの繰り返しが終わり、露光期間が終了する。露光期間終了後は、モード選択信号modeにかかわらず、単位画素200は「非検出サブフレーム」で駆動される。最後のサブフレームで入射した光子に応じた信号値の累積加算が終わり保持された信号値は、メモリ204から順次信号処理回路205を介して固体撮像素子100の外部へと出力される。これにより、固体撮像素子100の1フレームの画像の出力が完了する。
続いて、図6を参照して、画素部201内の分割領域毎のモードの設定について説明する。図6は、画素部内の分割領域における駆動モードを表す図である。
図6における外枠の撮像領域600が画素部201の領域と対応しており、背景の画像は撮影するシーンの例を示している。分割領域601は、撮像領域600を分割した1つの領域を示している。分割領域601の中には、複数の単位画素200が行列状に配置されている。
分割領域601内の記号A、B、Cは、その分割領域601に配置される単位画素200を制御するモード選択信号modeによるモードの設定例を表している。分割領域601毎のモード選択信号modeは、全体制御演算部103によって、撮像を行うフレームの直前に固体撮像素子100から出力された前フレームの信号値から演算される。
具体的には、前フレームの画像の信号値に対して分割領域601毎に平均値を算出し、その領域において入射する光量を推測する。そしてその平均値を予め定められた閾値と比較することにより、その比較結果に応じて、分割領域601毎のモード選択信号modeが決定される。全体制御演算部103は、撮像を行うフレーム開始前に上記演算を行い、固体撮像素子100にモード選択信号modeを出力する。
なお、本実施形態においては、前フレームの信号により、分割領域601毎のモード選択信号modeを決定した。しかし、本発明はこれに限られるものでなく、例えば、図示しない測光センサを別途設け、この測光センサにおいて画素領域601毎に入射する光量を計測することにより、モード選択信号modeにより各画素領域601に割り当てるモードを決定してもよい。
次に、図7を参照して、本実施形態における固体撮像素子の半導体チップ構造について説明する。
図7(a)は、固体撮像素子100が、2つの半導体基板が互いに積層されることによって構成されていることを示す図である。また、図7(b)は、単位画素200の各構成要素が、2つの半導体基板のどちらに配置されているかを説明する図である。
固体撮像素子100は、単位画素200が多くの構成要素を含んでおり、特にカウンタ303は、多bitのカウンタで構成されるため、回路規模が大きくなる。従って、撮像素子100は、複数の半導体基板を画素単位で接続した積層構造で実現されることが好ましい。
図7(a)に示すように、固体撮像素子100は、撮影レンズ101を通過した光を受ける上部半導体基板700と、主にデジタル系の回路を含む下部基板701とから構成されている。
上部半導体基板700側の上部画素702は、図7(b)に示すように、単位画素200のAPD300と、クエンチトランジスタ301を含んでいる。一方、下部半導体基板701側の下部画素703は、単位画素200の波形整形回路302と、カウンタ303と、ラッチ304と、制御回路305と、AND回路306と、選択スイッチ307とを含んでいる。また、加算回路203と、メモリ204と、信号処理回路205と、タイミング制御回路206は、下部半導体基板701に配置されている。
このように構成することで、固体撮像素子100は、APD300に光子を入射させるための十分な開口面積を上部半導体基板700側の上部画素702に確保することができる。さらに、下部半導体基板701側では、カウンタ303を配置する回路面積を確保することができる。
ただし、固体撮像素子100の半導体チップ構造は、目的、用途に応じて自由に変えることができる。例えば、3つ以上の半導体基板の積層構造としてもよく、あるいは単一チップで構成してもよい。更に、複数の各半導体基板は異なるプロセスルールに従って製造されてもよい。
本実施形態では、単位画素200に入射する光量に応じて、周期的に単位画素200をアバランシェ電流の発生しない「非検出サブフレーム」として駆動することにより、高照度光の照射に伴う消費電力の増大を抑制することができる。
また、消費電力が小さい、入射する光量の少ない単位画素200では露光期間において常に光子を検出するため、単位画素200の信号値により生成される画像は、画質を損うことがない。
一方、入射する光量の多い単位画素200では、サブフレームの内の一部を「非検出サブフレーム」で駆動することにより、検出する光子数が少なくなる。これにより、光ショットノイズの影響が増し、単位画素200の信号値により生成される画像は画質が悪化する。
しかしながら、単位時間当たりに計数する光子の数が多いため、入射する光量の少ない分割領域601に比べ、検出する光子の数が少なくなりすぎることはなく、画像のノイズとして視認されにくい。つまり、画質の劣化を抑制しつつ高輝度光の照射に伴う消費電力の増大を抑制することができる。
また、前述したように、「非検出サブフレーム」において、単位画素200が以前の「検出サブフレーム」における信号値を出力し、加算回路203において累積加算を行う。これにより、「非検出サブフレーム」による光子を検出しない期間においても、時間的に近く相関性の高い直前の「検出サブフレーム」における信号値を出力し、単位画素200間の光子を検出する時間の長さの差を補間することができる。
更に、入射する光量が多い単位画素200において露光期間内に周期的に検出サブフレームの駆動を行うことにより、単位時間当たりに単位画素200に入射する光量が変化しても相関性を高めることができる。結果として、「非検出サブフレーム」の駆動を行うことによる画質の劣化を抑制することができる。
<第2の実施形態>
以下、本発明の第2の実施形態の撮像装置について説明する。第2の実施形態では、同一フレーム内の検出サブフレームにおいて入射した光子に応じた信号値に基づいて、単位画素210毎に「非検出サブフレーム」で駆動する回数を異ならせる。
加えて、第2の実施形態では、画像を保存する静止画モードと、画像を保存せず撮像装置の表示部105にリアルタイムで画像を表示するライブビューモードにおいて、入射する光量に応じた「非検出サブフレーム」の回数を異ならせる。
以下、本実施形態が第1の実施形態と異なる点について説明する。第2の実施形態における固体撮像素子は、単位画素210を除き、第1の実施形態の固体撮像素子100と同じ構成である。
図8を参照して、本発明の第2の実施形態における単位画素210の構成について説明する。図8は、第2の実施形態における単位画素210の構成を示す図である。単位画素210の構成要素のうち、構成要素800~807は、図3に示す第1の実施形態の単位画素の構成要素300~307に対応し、それぞれの機能は第1の実施形態と同様である。
単位画素210は、閾値判定回路808を有する点が第1の実施形態の単位画素200と異なる。閾値判定回路808は、「検出サブフレーム」においてラッチ804が保持する信号値と、予め定められた閾値を比較し、信号値の大きさに応じて、「検出サブフレーム」後に行われる「非検出サブフレーム」の回数を制御回路805に出力する。制御回路805は内部に図示しないカウンタを有し、「非検出サブフレーム」の回数に応じて「非検出サブフレーム」を繰り返すように制御を行う。
このように、単位画素210内に閾値判定回路808を設け、「検出サブフレーム」における信号値に応じて「非検出サブフレーム」を行う回数を制御する。これにより、単位画素210毎に入射する光量に合わせて、単位画素210で発生する消費電力の低減を行うことができる。
そのため、分割領域601毎に制御する第1の実施形態に比べて、分割領域601内の光量が不均一な被写体において、より画質の劣化を抑制することが可能となる。また、「非検出サブフレーム」の回数の判定に用いられる信号値が同一フレーム内の光量に応じた信号であるため、時間的な相関性が高い。そのため、単位時間当たりに入射する光量が変化する被写体に対しても、画質と消費電力のバランスをより望ましく設定することが可能である。
続いて、図9を参照して、第2の実施形態におけるサブフレーム駆動について説明する。図9(a)は、光子を検出する「検出サブフレーム」における駆動を示し、図9(b)は、光子を検出しない「非検出サブフレーム」における駆動を示している。
図9において、「Cs1」、「Cs2」、「Cs3」は、閾値判定回路808の判定に用いられる閾値を表しており、詳細は図10を用いて説明する。また、「閾値判定回路出力」は、閾値判定回路808の出力を表している。その他は、図4に示した第1の実施形態と同様である。
初めに、「検出サブフレーム」について説明する。タイミングt900では、駆動信号SubVDが“H”となり、サブフレームが開始される。ラッチ804は、以前の「検出サブフレーム」における信号値を保持しており、閾値判定回路808の出力もその信号値に応じた値となる。
その後、APD800に1個目の光子が入射し、アバランシェ電流が発生する。具体的には、アバランシェ増倍による電荷により、APD800とクエンチトランジスタ801の間のノードの電位が降下し、その後クエンチトランジスタ801から電荷が徐々に排出され、ノードの電位は電源電圧VDDになる。
波形整形回路802は、ノードの電位の降下によるエッジを検出し、信号レベル“H”を出力する。そして、ノードの電位が上昇するのに応じて信号レベル“L”に遷移することにより、入射した光子に応じたパルスを出力する。カウンタ803では、このパルスを計数し、計数値は上昇し1となる。
サブフレーム期間が終了する直前のタイミングであるタイミングt901まで、上記の動作が、APD800に光子が入射するたびに繰り返される。
タイミングt901では駆動信号Latchが“H”となり、ラッチ804は、この「検出サブフレーム」に入射した光子に応じた信号値を保持する。これにより、閾値判定回路808は、この信号値と閾値の比較を行う。図9(a)に示す例では、信号値はCs2より大きく、Cs3より小さいため、閾値判定回路808の出力は2となる。
この閾値判定結果をもって、次のサブフレームが「検出サブフレーム」で駆動されるか、「非検出サブフレーム」で駆動されるかが決まるため、駆動信号Latchが“H”となるタイミングは、サブフレームの終了タイミングより前の、制御に必要な時間を考慮したタイミングで行われる。
なお、本実施形態においても、ラッチ804が信号値を保持した後の光子が検出されない時間は、サブフレームの期間に対して非常に小さいため、ラッチ804が保持した信号値はそのサブフレームにおいて入射した光子に応じた信号値とみなすことができる。
なお、「非検出サブフレーム」においては、ラッチ804は、以前の「検出サブフレーム」における信号値を保持し続けるので、閾値判定回路808の出力もこの信号値に応じた値のまま変化しない。
続いて、図10を参照して、本実施形態における固体撮像素子の駆動タイミングについて説明する。図10は、固体撮像素子の1フレームの画像を取得する駆動を示すタイミングチャートである。
図10(a)は、静止画モードにおける、「検出サブフレーム」の信号値と、閾値判定回路808の出力する、直後に行われる「非検出サブフレーム」の回数の関係を示す図である。図10(b)は、ライブビューモードにおける同関係を示す図である。そして、図10(c)は、非検出回数が異なる単位画素210における1フレームの駆動を示すタイミングチャートである。
図10(a)に示すように、「検出サブフレーム」における信号値が大きくなるにつれて、直後に行われる「非検出サブフレーム」の回数が増加するように、閾値Cs1、Cs2、Cs3が設定される。このとき、閾値Cs1は、「非検出サブフレーム」の回数が1になる閾値であり、Cs2、Cs3も同様に、「非検出サブフレーム」の回数がそれぞれ2、3になる閾値を示している。
一方、図10(b)に示すように、ライブビューモードでは、静止画モードに比べ、「検出サブフレーム」における信号値が同じ大きさでも、より直後に行われる「非検出サブフレーム」の回数が増加するように、閾値Cm1、Cm2、Cm3、Cm4、Cm5が設定される。
ライブビューモードでは、静止画モードと異なり、画像は保存しないが、被写体の変化をよりリアルタイムに反映できるよう、高フレームレートが求められる。加えて、ライブビューモードでは連続して撮影される時間が長い。そのため、ライブビューモードでは、静止画モードに比べて画質より消費電力の低減が優先されることが望ましい。このことから、ライブビューモードでは、より「非検出サブフレーム」の回数が増加するように閾値を設定する。
図10(c)に示すように入射する光量が少なく、非検出回数が0の単位画素210では、露光期間において常に「検出サブフレーム」で駆動される。一方、非検出回数が1の単位画素210では、「検出サブフレーム」1回の後に「非検出サブフレーム」が1回行われるように駆動される。同様に、非検出回数が2の単位画素210では、「検出サブフレーム」1回の後に「非検出サブフレーム」が2回行われるように駆動される。また、非検出回数が3の単位画素210では、「検出サブフレーム」1回の後に「非検出サブフレーム」が3回行われるように駆動される。
このように、単位画素210に入射する光量が多いほど、蓄積期間に占める「非検出サブフレーム」の回数が増えるように制御される。
なお、図10(c)では、単位画素210に単位時間当たりに入射する光量が露光期間内で概ね変化しない例を示している。閾値判定回路808における非検出回数の判定は、「検出サブフレーム」毎に行われるので、単位時間当たりに単位画素210に入射する光量が露光期間内で変化した場合は、「非検出サブフレーム」が連続する回数も変化する。
本実施形態の撮像装置においても、第1の実施形態と同様に、画質の劣化を抑制しつつ、高輝度光の照射に伴う消費電力の増大を抑制することが可能である。加えて、単位画素210毎に同一フレーム内の信号値を用いて非検出サブフレームの回数を制御する。そのため、分割領域601内に入射する光量が不均一な被写体や、露光期間において単位時間当たりに入射する光量が変化する被写体において、第1の実施形態に比べて、より望ましい画質と消費電力のバランスをとることが可能となる。
さらに、静止画モードとライブビューモードにおいて、「非検出サブフレーム」の回数を判定する閾値を異ならせることにより、撮像装置の駆動するモードに応じて、より望ましい画質と消費電力のバランスをとることが可能となる。
<第3の実施形態>
以下、本発明の第3の実施形態の撮像装置について説明する。第3の実施形態では、単位画素220から加算回路203へ信号値を読み出す駆動を、複数のサブフレームに1回行うことにより、加算回路203やメモリ204での消費電力を低減する。
以下、本実施形態が第1及び第2の実施形態と異なる点について説明する。第3の実施形態における固体撮像素子は、単位画素220を除き、第1の実施形態の固体撮像素子100と同じ構成である。
図11を参照して、本発明の第3の実施形態における単位画素220の構成について説明する。図11は、第3の実施形態における単位画素220の構成を示す回路図である。単位画素220の構成要素のうち、構成要素1100~1108は、図8に示す第2の実施形態の単位画素の構成要素800~808に対応し(AND回路806は除く)、それぞれの機能は第2の実施形態と同様である。
単位画素220は、閾値判定回路1108にタイミング制御回路206から出力される駆動信号Judgeが入力されていること、制御回路1104に駆動信号RSTが入力されていること、が第2の実施形態の単位画素210と異なる。
また、制御回路1104が「非検出サブフレーム」の駆動を行った回数である非検出総数をラッチ1105に出力すること、ラッチ1105は駆動信号Latchにより直接制御されること、が第2の実施形態の単位画素210と異なる。
さらに、ラッチ1105はカウンタ1104の計数値と共に非検出総数を保持し、選択スイッチ1107を介して加算回路203に信号値及び非検出回数を出力すること、が第2の実施形態の単位画素210と異なる。
制御回路1105は、図示しないカウンタを有し、「非検出サブフレーム」の駆動を行った回数を計数し、非検出総数として出力する。非検出総数は駆動信号RSTに応じて、非検出総数がラッチ1105に保持された後に0にリセットされる。
閾値判定回路1108は、駆動信号Judgeに応じてカウンタ1104の計数値の判定を行い、判定結果を保持する。計数値の判定は、1フレームにおける最初のサブフレーム及び、加算回路203に出力する信号値がラッチ1105に保持された直後のサブフレームにおいて行われる。
制御回路1105は、この判定結果に基づき、「非検出サブフレーム」の駆動が行われる回数を異ならせる。ラッチ1105は、駆動信号Latchに応じてカウンタ1104の計数値と共に非検出総数を保持し、出力する。
選択スイッチ1107が駆動信号SELで制御されることにより、ラッチ1105の保持した信号値が加算回路203に出力されるのと同じタイミングで、非検出総数も加算回路203に出力される。加算回路203に出力された非検出総数は、信号値と同様に累積加算され、メモリ204に保持される。
そして、信号値と非検出総数の累積結果は各々信号処理回路205に出力される。信号処理回路205では非検出総数の累積結果に基づき、「非検出サブフレーム」の駆動を行うことにより生じる単位画素220間の光子を検出する時間の長さの差を補正する。
続いて、図12を参照して、本実施形態における固体撮像素子の駆動タイミングについて説明する。図12は、固体撮像素子の1フレームの画像を取得する駆動を示すタイミングチャートである。図12では、サブフレーム6回に1回、単位画素220から加算回路203へ信号値を読み出す駆動を行う例を示している。
図12において、「Judge」は、画素部201内の単位画素220に共通に入力される駆動信号である。「ラッチ出力非検出総数」は、ラッチ1105が保持する非検出総数を表している。
「非検出回数:0」は、単位画素220に入射する光量が少なく、閾値判定を行うタイミングにおいて、カウンタ1103の計数値が閾値Cs1より小さい単位画素220の駆動例を表している。
「非検出回数:1」はカウンタ1103の計数値が閾値Cs1以上かつ閾値Cs2より小さい単位画素220の駆動例を表している。
同様に、「非検出回数:2」はカウンタ1103の計数値が閾値Cs2以上かつ閾値Cs3より小さい単位画素220の駆動例を表している。
上記の駆動例は、入射する光量の異なる単位画素220の駆動の一例であり、閾値判定を行うタイミングにおいて、カウンタ1103の計数値に応じて、第2の実施形態における固体撮像素子と同様に、「非検出サブフレーム」の回数が設定される。そして、次に閾値判定を行うまで「検出サブフレーム」と「非検出サブフレーム」が設定に応じて繰り返される。
より具体的に一例を挙げると、カウンタ1103の計数値が閾値Cs3以上の単位画素220では、「検出サブフレーム」の後に「非検出サブフレーム」を3回繰り返す駆動が、次に閾値判定を行うまで繰り返される。
続いて、固体撮像素子の駆動についてさらに説明する。タイミングt1200では、信号VDが“H”となり1フレームの駆動が開始される。同時に駆動信号SubVDも“H”となり、予め設定される露光期間を等間隔に分割したサブフレームの内、最初のサブフレームが開始される。最初のサブフレームでは、全ての単位画素220が「検出サブフレーム」で駆動される。また、最初のサブフレームの開始時に駆動信号RSTが“H”となり、カウンタ1103の計数値が0にリセットされる。
タイミングt1201では、駆動信号Judgeが“H”となり、閾値判定回路1108においてカウンタ1103の計数値の閾値判定が行われる。この閾値判定の判定結果に応じて、以降のサブフレームにおいて「非検出サブフレーム」の駆動の行われる回数が制御される。駆動信号Judgeが“H”になり閾値判定が行われるタイミングは、最初のサブフレームの終了タイミングより前の、閾値判定及び以降のサブフレームの制御の変更に必要な時間を考慮したタイミングで行われる。
タイミングt1202では、駆動信号SubVDが再び“H”となり、最初のサブフレームが終了し、2回目のサブフレームが開始される。単位画素220毎、に最初のサブフレームにおける判定結果に応じて、「検出サブフレーム」と「非検出サブフレーム」のどちらかの駆動が行われる。
2回目のサブフレームの開始時には駆動信号RSTは“H”にならず、「検出サブフレーム」で駆動される単位画素220のカウンタ1103では、最初のサブフレームでの計数値に累積加算するように、入射した光子に応じて生成されるパルス信号を計数する。一方、「非検出サブフレーム」で駆動される単位画素220のカウンタ1103ではパルス信号は生成されないので、最初のサブフレームにおいて計数した計数値を保持する。
タイミングt1203では、駆動信号Latchが“H”となり、カウンタ1103の計数値と非検出総数をラッチ1105が保持する。非検出総数は、現在のサブフレームまでの「非検出サブフレーム」の駆動を行った回数を計数したものなので、常に「検出サブフレーム」駆動を行っている非検出回数:0の単位画素220では、0が保持される。
一方、非検出回数:1の単位画素220では3が、非検出回数:2の単位画素220では4が保持される。保持が完了した後に、ラッチ1105が保持した計数値及び非検出総数は、駆動信号SELが順に“H”になることにより加算回路203に信号値として出力される。
この加算回路203への出力は1フレーム内の最初なので、加算回路203では単位画素220の信号値及び非検出総数を加算することなくメモリ204へ出力し、メモリ204はこの信号値及び非検出総数を保持する。
タイミングt1204では、駆動信号SubVDが再び“H”となり、6回目のサブフレームが終了し、7回目のサブフレームが開始される。加算回路203に出力する単位画素220の信号値及び非検出総数がラッチ1105に保持された次のフレームでは、加算回路203への出力が並行して行われること以外は、最初のサブフレームと同様の駆動が行われる。
タイミングt1205では予め設定された回数のサブフレームの繰り返しが終わり、露光期間が終了する。露光期間終了後は、全ての単位画素220は「非検出サブフレーム」で駆動される。最後のサブフレームにおいてラッチ1105が保持した信号値及び非検出総数の累積加算が終わると、保持された信号値及び非検出総数はメモリ204から順次信号処理回路205へと出力される。
信号処理回路205では、非検出総数の累積加算結果に応じて、累積加算された信号値に対し補正が行われる。補正は、「非検出サブフレーム」で駆動したサブフレームにおいて、「検出サブフレーム」で駆動したサブフレームにおける信号値の平均と同じ信号値が出力されたと見なすように行われる。
例えば、図12における非検出回数:1の単位画素220の累積加算された信号値に対しては、露光期間を分割したサブフレーム数が12、「検出サブフレーム」の回数が6なので、12/6=2を乗算する。
同様に、非検出回数:2の単位画素220の累積加算された信号値に対しては、12/4=3を乗算する。信号処理回路205において補正された信号値は、固体撮像素子100の外部へと順次出力され、これにより固体撮像素子100の1フレームの画像の出力が完了する。
なお、図12では、単位画素220に単位時間当たりに入射する光量が露光期間内で概ね変化しない例を示している。閾値判定回路1108における非検出回数の判定は、単位画素220の信号値及び非検出総数が加算回路203に出力される度に行われる。
そのため、単位画素220に単位時間当たりに入射する光量が露光期間内で変化した場合は、「非検出サブフレーム」が連続する回数も変化する。このような駆動にすることにより、第2の実施形態と同様に露光期間において単位時間当たりに入射する光量が変化する被写体において、より望ましい画質と消費電力のバランスをとることが可能となる。
本実施形態の撮像装置においても、第1及び第2の実施形態と同様に、画質の劣化を抑制しつつ高輝度光の照射に伴う消費電力の増大を抑制することが可能である。加えて、単位画素220から加算回路203へ信号値を読み出す駆動を、複数のサブフレームに1回行うことにより、加算回路203やメモリ204で発生する消費電力を低減することが可能である。
なお、本実施形態において、6回のサブフレームに1回、加算回路203への信号値の読み出しを行う駆動としたが、本発明はこれに限られるものではない。閾値と非検出回数の制御によって想定される複数サブフレーム経過後のカウンタ1103の計数値の最大値を考慮し、カウンタ1103のビット数により定まる最大値を越えない範囲で信号値を読み出すよう、予め設定されることが望ましい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。