(57)【要約】 【課題】特定のラインが大きく異なる暗電流値を持つ場合でも、適切な暗電流補正を可能にする。【解決手段】二次元平面上に画素が複数配置された撮像素子を有する撮像装置において、二次元平面は、１つまたは複数のラインを有する第一の領域と、複数のラインを有する第一の領域以外の第二の領域を有し、各ラインは遮光されたオプティカルブラック領域とオプティカルブラック領域以外の有効領域を有する。撮像装置は、各ラインについて、オプティカルブラック領域の画素値から代表値を導出し、第一の領域について導出された代表値に基づいて、第一の決定方法に従って第一の領域内の各ラインのオフセット補正のための補正値を決定し、第二の領域について導出された代表値に基づいて、第一の決定方法とは独立した第二の決定方法に従って第二の領域内の各ラインのオフセット補正のための補正値を決定する。【選択図】  図４
2014168206.tif 000002
【特許請求の範囲】
【請求項１】
二次元平面上に画素が複数配置された撮像素子を有する撮像装置であって、前記二次元平面は、１つまたは複数のラインを有する第一の領域と、複数のラインを有する前記第一の領域以外の第二の領域を有し、各ラインは遮光されたオプティカルブラック領域と前記オプティカルブラック領域以外の有効領域を有し、
各ラインについて、オプティカルブラック領域の画素値から代表値を導出する導出手段と、
前記第一の領域について導出された代表値に基づいて、第一の決定方法に従って前記第一の領域内の各ラインのオフセット補正のための補正値を決定する第一決定手段と、
前記第二の領域について導出された代表値に基づいて、前記第一の決定方法とは独立した第二の決定方法に従って前記第二の領域内の各ラインのオフセット補正のための補正値を決定する第二決定手段と、を備えることを特徴とする撮像装置。
【請求項２】
前記第一の決定方法は、各ラインについて導出された代表値を前記補正値とし、
前記第二の決定方法は、各ラインについて、隣接するラインの代表値を含む複数の代表値に基づいてラインの補正値を決定する関数を用いて、前記補正値を決定することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記関数は、前記第二の領域における代表値の平均値、隣接するラインの代表値から得られる移動平均、隣接するラインの代表値のメディアン、前記第二の領域の代表値から得られるフィッティングカーブのいずれかを用いることを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記第一の決定方法は、前記第一の領域における各ラインについて、隣接するラインの代表値を含む複数の代表値から当該ラインの補正値を決定する第一の関数を用いて、各ラインの前記補正値を決定し、
前記第二の決定方法は、前記第二の領域における各ラインについて、隣接するラインの代表値を含む複数の代表値から当該ラインの補正値を決定する第二の関数を用いて、各ラインの前記補正値を決定することを特徴とする請求項１に記載の撮像装置。
【請求項５】
前記第一の関数は、前記第一の領域における代表値の平均値、隣接するラインの代表値から得られる移動平均、隣接するラインの代表値のメディアン、前記第一の領域の代表値に基づいて得られるフィッティングカーブのいずれかを用い、
前記第二の関数は、前記第二の領域における代表値の平均値、隣接するラインの代表値から得られる移動平均、隣接するラインの代表値のメディアン、前記第二の領域の代表値に基づいて得られるフィッティングカーブのいずれかを用いることを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記第一および第二の決定手段は、前記第一の領域において得られた代表値と前記第二の領域において得られた代表値との差が第一の閾値以下の場合には、前記第一の領域と前記第二の領域を区別することなく共通の決定方法を用いることを特徴とする請求項１乃至５のいずれか１項に記載の撮像装置。
【請求項７】
前記共通の決定方法は、隣接するラインの代表値を含む複数の代表値から当該ラインの補正値を決定する、平滑化を伴う共通の関数により前記補正値を決定することを特徴とする請求項６に記載の撮像装置。
【請求項８】
前記第二の領域において得られた複数の代表値の差が第二の閾値を超える場合に、前記第一の決定方法と前記第二の決定方法ともに、各ラインについて導出された代表値を前記補正値として決定することを特徴とする請求項６または７に記載の撮像装置。
【請求項９】
前記導出手段は、オプティカルブラック領域に欠陥画素が存在する場合は、その欠陥画素と隣接する画素を用いた補間により該欠陥画素の画素値を決定して代表値の計算を行うことを特徴とする請求項１乃至８のいずれか１項に記載に記載の撮像装置。
【請求項１０】
前記導出手段は、オプティカルブラック領域に欠陥画素が存在する場合は、その欠陥画素を除外して前記代表値の導出を行うことを特徴とする請求項１乃至８のいずれか１項に記載の撮像装置。
【請求項１１】
前記第一の決定手段と前記第二の決定手段により得られた各ラインの補正値を、各ラインの画素値から減算する補正手段を更に備えることを特徴とする請求項１乃至１０のいずれか１項に記載の撮像装置。
【請求項１２】
前記第一の領域は、垂直走査回路が近傍に存在するラインにより構成されることを特徴とする請求項１乃至１１のいずれか１項に記載の撮像装置。
【請求項１３】
二次元平面上に画素が複数配置された撮像素子を有する撮像装置の制御方法であって、前記二次元平面は、１つまたは複数のラインを有する第一の領域と、複数のラインを有する前記第一の領域以外の第二の領域を有し、各ラインは遮光されたオプティカルブラック領域と前記オプティカルブラック領域以外の有効領域を有し、
各ラインについて、オプティカルブラック領域の画素値から代表値を導出する導出工程と、
前記第一の領域について導出された代表値に基づいて、第一の決定方法に従って前記第一の領域内の各ラインのオフセット補正のための補正値を決定する第一決定工程と、
前記第二の領域について導出された代表値に基づいて、前記第一の決定方法とは独立した第二の決定方法に従って前記第二の領域内の各ラインのオフセット補正のための補正値を決定する第二決定工程と、を有することを特徴とする撮像装置の制御方法。
【請求項１４】
コンピュータに請求項１３に記載の制御方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関するものである。
【背景技術】
【０００２】
ＣＣＤ、ＣＭＯＳセンサ等の固体撮像素子においては、光を照射していない状態でも出力される暗電流信号が存在する。この暗電流信号による撮影画像への影響は、光を照射していない状態で撮像した画像を撮影画像から差し引くことで補正することができる。このような暗電流には時間的に変動する成分が存在するため、光照射時の画像信号と暗電流信号を同時に取得するとより望ましい補正が可能となる。このため固体撮像素子の一部を遮光することにより光が照射されない領域（オプティカルブラック領域（以下ＯＢ領域））を設け、暗電流信号と画像信号を同時に取得し、リアルタイムに暗電流補正を補正する方法が用いられている。
【０００３】
しかしながら、一般的にＯＢ領域では画素値が小さい暗電流が読み取られるので、ノイズによる影響が大きい。また、ＣＣＤやＣＭＯＳセンサにおいては、積層構成によってシフトレジスタなどの走査回路を固体撮像素子上にシステムオンチップで形成することができ、画素の直下もしくは直上に走査回路を形成することが可能である。しかしそのような場合には、走査回路の上もしくは下の特定ラインの画素が走査回路の熱の影響を受けて暗電流が大きく変動してしまう。
【０００４】
暗電流信号からノイズの影響を除去または低減するために、特許文献１では平滑化処理やメディアン処理などを用いる方法が記載されている。また特許文献２では、ラインごとにＯＢ領域の平均値を求めることで、暗電流のノイズを低減する方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−４１９３５号公報
【特許文献２】特開２００４−１５７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法では、熱の影響で他のＯＢ画素列と大きく異なる特定ライン（説明のため特定ラインは縦ラインとする）を含む暗電流値が、平均化やメディアン処理により横方向に平滑化されてしまう。そのため、特定ラインの暗電流値が潰れてしまい、特定ラインの暗電流を正確に推定することができず、特定ラインの画素値について正確な暗電流補正ができなくなる可能性がある。また、特許文献２に記載の方法では横方向の平滑化を行わないため、横方向のノイズによるばらつきがそのまま暗電流値に乗ってしまう可能性がある。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、特定のラインが大きく異なる暗電流値を持つ場合でも、適切な暗電流補正を可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明の一態様による撮像装置は、以下の構成を備える。すなわち、
二次元平面上に画素が複数配置された撮像素子を有する撮像装置であって、前記二次元平面は、１つまたは複数のラインを有する第一の領域と、複数のラインを有する前記第一の領域以外の第二の領域を有し、各ラインは遮光されたオプティカルブラック領域と前記オプティカルブラック領域以外の有効領域を有し、
各ラインについて、オプティカルブラック領域の画素値から代表値を導出する導出手段と、
前記第一の領域について導出された代表値に基づいて、第一の決定方法に従って前記第一の領域内の各ラインのオフセット補正のための補正値を決定する第一決定手段と、
前記第二の領域について導出された代表値に基づいて、前記第一の決定方法とは独立した第二の決定方法に従って前記第二の領域内の各ラインのオフセット補正のための補正値を決定する第二決定手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、特定のラインが大きく異なる暗電流値を持つ場合でも、適切な暗電流補正が可能になる。
【図面の簡単な説明】
【００１０】
【図１】第一実施形態における撮像装置の機能構成の一例を示す図。
【図２】第一実施形態による固体撮像素子の一部を示した図。
【図３】第一実施形態における関数の導出方法の例を示した図。
【図４】第一実施形態における撮像装置の手順の一例を示したフローチャート。
【図５】第二実施形態における撮像装置の手順の一例を示したフローチャート。
【図６】第三実施形態における撮像装置の機能構成の一例を示す図。
【図７】第三実施形態における撮像装置の手順の一例を示したフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付図面を参照して詳細に説明する。
【００１２】
［第一実施形態］
図１を用いて第一実施形態による撮像装置の機能構成を説明する。第一実施形態における撮像装置は、画素毎に光電変換素子を持ち、複数の画素から構成される固体撮像素子１０１を有する。固体撮像素子１０１は、二次元平面上に画素が複数配置された撮像素子を有している。固体撮像素子１０１のこの二次元平面は、１つまたは複数のラインを有する第一の領域１０２と、第一の領域以外の、複数のラインを有する第二の領域１０３を有している。また、第一の領域内及び第二の領域内の各ラインは、遮光されたオプティカルブラック領域（ＯＢ領域）の画素とオプティカルブラック領域以外の有効領域の画素を有する。本実施形態では、図１に示されるように、固体撮像素子１０１の二次元平面は、垂直方向に延びる第一の領域１０２、第二の領域１０３を有し、これらの領域にまたがって（図１では３画素幅で水平方向に）ＯＢ領域が設けられている。第一の領域１０２は、遮光された（ＯＢ領域に属する）ＯＢ画素１０６と遮光されていない（ＯＢ領域外の）有効画素１０４を含む。同様に、第二の領域１０３は、遮光された（ＯＢ領域に属する）ＯＢ画素１０７と遮光されていない（ＯＢ領域以外の）有効画素１０５を含む。
【００１３】
垂直走査回路１０８は固体撮像素子１０１における垂直走査を制御する回路であり、第一の領域の垂直方向のラインに沿って配置されている。撮像装置が備える欠陥補正部１０９、代表値導出部１１０、補正値算出部１１１、画像減算部１１２については、後述する。画像保存部１１３は、通常、固体撮像素子１０１の外の記憶媒体に設けられる。なお欠陥補正部１０９、代表値導出部１１０、補正値算出部１１１、画像減算部１１２は、コンピュータ等、外部の画像処理装置を用いて実現されてもよい。
【００１４】
第一の領域１０２は、画素の直下もしくは直上に形成される垂直走査回路１０８の熱の影響により、暗電流値が垂直走査回路と十分に離れた第二の領域１０３の画素の暗電流値と大きく異なる可能性がある。なお、垂直走査回路１０８の熱の影響はごく狭い領域に限られ、垂直走査回路から離れるに従い、その影響は急激に減少する。本実施形態では、垂直走査回路１０８の直近の一列のみに熱の影響が現れるとする。よって、本実施形態では垂直走査回路１０８の直近の一つの画素列が第一の領域とする。なお、垂直走査回路の熱の影響が直近の画素に限られない場合は、垂直走査回路１０８の直近の画素とその近傍の複数の画素列を第一の領域１０２とすればよい。たとえば垂直走査回路１０８の直近の画素列と最近接の画素列を第一の領域とするなどすればよい。
【００１５】
欠陥補正部１０９は、固体撮像素子１０１により得られた画像に生じた欠陥を補正する。ＯＢ領域に生じた欠陥は、後に示す方法により、補間により補正される。代表値導出部１１０は、撮像素子の同一の縦ラインに属するＯＢ領域の画素値の代表値を、縦ラインごとに導出する。このような代表値としては、たとえばＯＢ領域内の縦ラインごとの平均値や、メディアンを用いることが挙げられる。なお、ＯＢ画素が縦ラインごとに１つずつの場合には、ラインごとのＯＢ画素の画素値を代表値とすればよい。
【００１６】
補正値算出部１１１は、代表値導出部１１０で求めたＯＢ領域の代表値について、それらＯＢ領域の位置と代表値の傾向を表す関数を用いて補正値を決定する。このような、補正値の決定に用いられる関数には、
・縦ラインあるいは横ラインの位置に対して一定の、各代表値を代表する値を出力とする直線、
・代表値の移動平均、
・代表値周辺のメディアン、
・代表値のフィッティングカーブ（最小二乗法、ベジェ曲線など）を用いる、などの方法が存在する。本実施形態では上記の方法について説明を行うが、その他の曲線や関数を導出して補正値を決定するようにしてもよい。補正値の決定方法については、後にさらに詳細に説明する。
【００１７】
画像減算部１１２は、固体撮像素子１０１から出力された画像から、代表値導出部１１０と補正値算出部１１１による処理結果を減算することによりオフセット補正を実行する。画像減算部１１２において減算は列ごとに行われるが、補正値算出部１１１では暗電流値の傾向が異なる領域ごとに減算に用いる補正値の決定方法を独立させている。すなわち、補正値算出部１１１は、第一の領域１０２に関しては第一の決定方法を用いて代表値から補正値を決定する第一決定処理を実行する。そして、補正値算出部１１１は、第二の領域１０３に関しては第一の決定方法とは独立した第二の決定方法を用いて代表値から補正値を決定する第二決定処理を実行する。本実施形態では、補正値算出部１１１は、列ごとの代表値（代表値導出部１１０により得られる）を当該第一の領域１０２内の画素の画素値から減算するように補正値を決定する。すなわち、各ラインの代表値が各ラインの補正値として用いられる。一方、第二の領域１０３では、補正値算出部１１１は、隣接するラインの代表値を含む複数の代表値に基づいてラインの補正値を決定する関数を用いて補正値を決定する。画像減算部１１２は、第一の領域１０２と第二の領域１０３のそれぞれの領域内の各ラインの画素の画素値から、それぞれの領域のラインに対して補正値算出部１１１が決定した補正値を減算してオフセット補正を行う。画像の減算方法は、後に詳細な説明を行う。画像保存部１１３は、補正後の画像を保存する。なお、画像保存部１１３には、フラッシュメモリやハードディスク等一般的な記録媒体を用いることができる。
【００１８】
次に、図２を用いて、第一実施形態における欠陥補正、補正値の決定、画像減算の様態をより詳細に説明する。上述のように第一の領域１０２は有効画素１０４とＯＢ画素１０６で構成され、第二の領域は有効画素１０５とＯＢ画素１０７で構成されている。また、列の位置を、左から右へ、列の位置１、２、・・・５と定義する。各画素の上に書かれたアルファベットと数字の組み合わせ、ａ１１、ａ２１、ｂ１２、等は各画素の画素値を表す。また、代表値導出部１１０がＯＢ領域の列ごとに求める代表値をａ１、ｂ２、等と定義する。また、画素値ｂ２２を持つ欠陥画素２０１は、周辺のＯＢ領域と大きく異なる画素値を有する。なお、図２では、ＯＢ画素と有効画素が計５行、５列に配置されているが、行数・列数は論理に矛盾の生じない範囲で任意の値とすることができることは言うまでもない。
【００１９】
まず、欠陥補正部１０９にて実行される、欠陥の補正方法について述べる。図２において、欠陥画素２０１は、第二の領域１０３に存在している。そこで、欠陥画素２０１の補正後の画素値は、欠陥画素２０１の最近接の画素のうち、第一の領域１０２のＯＢ領域の画素値（ａ２１）を除いて、
ｂ２２  ＝  （ｂ１２＋ｂ３２＋ｂ２３）／３  …（１）
として補正を行う。暗電流値が大きく異なる第一の領域１０２のＯＢ領域の画素値を除くことから、第二の領域１０３の他のＯＢ領域の画素値に近い画素値が、補正結果として得られる。
【００２０】
また、第二の領域１０３内で、列ごとにＯＢ画素の代表値が大きく異なる場合は、
ｂ２２  ＝  （ｂ１２＋ｂ３２）／２          …（２）
として、他の列に属するＯＢ画素の画素値を使用しないようにする。
【００２１】
なお、欠陥補正部１０９でＯＢ領域の欠陥補正を行わない場合は、代表値導出部１１０にて代表値を算出する際に欠陥画素の画素値（ｂ２２）を除外して、
ｂ２  ＝  （ｂ１２＋ｂ３２）／２            …（３）
とすることもできる。なお、上記は代表値が平均値である場合を示したが、メディアン等他の計算値を代表値として用いる場合でも同様に、欠陥画素の画素値を除いて代表値を求めることができる。
【００２２】
以上の方法により、第二の領域１０３内のＯＢ領域において、暗電流値が類似したＯＢ画素１０７の画素値を用いて欠陥補正を行うことができるため、より精度の高い欠陥補正が可能となる。
【００２３】
次に補正値算出部１１１にて行われる関数の導出について、詳細に述べる。なお、「関数の出力」という言葉が用いられるが、関数の出力とは、関数に対して列の位置を代入したときの出力の結果である。関数として代表値からフィッティングにより求めた曲線が用いられる場合は、求めた曲線に列の位置を代入した時の出力結果となる。以下の詳細説明で適宜具体例を示す。
【００２４】
まず傾向を表す関数の一つの様態として、すべての縦ラインあるいは横ラインの位置に対して一定の、各代表値を代表する値を出力とする直線を求める手法を述べる。たとえば一定の値として平均値を用いる場合は、以下のように処理を行う。まず、代表値導出部１１０で求めた代表値ｂ２、ｂ３、ｂ４、ｂ５について、平均値（ｂ２＋ｂ３＋ｂ４＋ｂ５）／４を求める。なお、平均値を求める時は、暗電流値が異なるＯＢ領域の代表値ａ１を除くのが望ましい。次に、横軸（ｘ軸）をＯＢ領域の列の位置、縦軸（ｙ軸）を各列の平均値として、
ｙ＝（ｂ２＋ｂ３＋ｂ４＋ｂ５）／４      …（４）
として傾向を表す関数を求める。この場合、関数の出力は、列の位置によらず（４）式の右辺で示される値となる。この補正値の決定方法の様子を図３（ａ）に記した。この場合、関数は直線となる。なお、このような直線の関数の導出において上記の様態では代表値の平均値を求めたがこれに限られるものではない。たとえば、代表値のメディアンの値を、代表値の傾向を表す関数（４）の右辺としてもよい。また、代表値を求めずに、最初からｂ１２からｂ３５までの計１２個のＯＢ画素の画素値の平均値を求め、この平均値を傾向を表す関数（４）の右辺としてもよい。また、最初からｂ１２からｂ３５までの計１２個のＯＢ画素の画素値のメディアンを求め、このメディアンを傾向を表す関数（４）の右辺としてもよい。
【００２５】
次に、傾向を表す関数の他の様態として、代表値の移動平均を計算する方法について述べる。この方法は、代表値が描く曲線の平滑化の一態様である。移動平均を求める際には、たとえば注目する列の代表値と、注目する列の近傍の列（隣接する列）を含む複数の代表値の平均を計算するなどの手法が用いられる。必要な平滑化の度合いに応じて、最近傍の列以外の列の代表値を計算に使用したり、あるいは最近傍の代表値のうち、注目する列の左側あるいは右側の代表値のみ使用したりしてもよい。また、領域の境界は、以下に示すような手法により適切に処理されるものとする。
【００２６】
具体例を再び図２と図３を用いて説明する。この例では、代表値の傾向を表す関数を求めるために、注目している列の代表値と、その列の最近傍の代表値の平均を求める。たとえば、傾向を表す関数の列の位置３における値は、自身のｂ３の他に、列の位置２と４の代表値ｂ２とｂ４を用いて、（ｂ２＋ｂ３＋ｂ４）／３と表される。なお、領域の境界、たとえば傾向を表す関数の列の位置５における値を求めるときは、列の位置５の代表値ｂ５の他に、左隣りの列の代表値ｂ４を用いて、（ｂ４＋ｂ５）／２とする。
【００２７】
このようにして、列の位置２から列の位置５までの傾向を表す関数の各列における値を計算すると、
列の位置２（境界）：（ｂ２＋ｂ３）／２                …（５）
列の位置３（境界でない）：（ｂ２＋ｂ３＋ｂ４）／３    …（６）
列の位置４（境界でない）：（ｂ３＋ｂ４＋ｂ５）／３    …（７）
列の位置５（境界）：（ｂ４＋ｂ５）／２                …（８）
となる。なお、上記の計算のように、代表値の傾向を示す関数の出力の算出には、暗電流値が異なる代表値ａ１を除いて計算するのが望ましい。
【００２８】
以上のような関数の出力では、たとえば列の位置２における出力は、式（５）となり、列の位置３における出力は式（６）となる。また、上述した関数を用いて導出される出力の様子を図３（ｂ）に示した。
【００２９】
次に更に別の関数の様態として、代表値周辺のメディアンを計算する方法について述べる。この方法は、代表値が描く曲線の平滑化の一態様である。メディアンを求める際には、たとえば注目する列の代表値と、注目する列の最近傍の列の代表値のメディアンを計算するなどの手法を取る。移動平均を計算する方法の場合と同様に、必要な平滑化の度合いに応じて、最近傍の列以外の列の代表値を計算に使用したり、あるいは最近傍の代表値のうち、注目する列の左側あるいは右側の代表値のみ使用したりしてよい。また、領域の境界は、適切に処理されるものとする。
【００３０】
具体例を図２と図３を用いて説明する。値の大小は、図３（ｃ）にあるように、ｂ２＞ｂ４＞ｂ３＞ｂ５とする。この例では、傾向を表す曲線を求めるために、注目している列の代表値と、その列の再近傍の代表値のメディアンを求める。たとえば、傾向を表す曲線の列の位置３における値は、自身のｂ３と、列の位置２と４の代表値ｂ２とｂ４を比較し、メディアンであるｂ４を列の位置３における値とする。領域の境界、たとえば傾向を表す曲線の列の位置５における値を求めるときは、列の位置５の代表値ｂ５と、左隣りの列の代表値ｂ４の値を用いる。この例では、比較対象が２つの画素値に限られるため、メディアンの代替として平均値（ｂ４＋ｂ５）／２を求め、これを傾向を表す関数の列の位置５における値とする。
【００３１】
このようにして、列の位置２から列の位置５までの傾向を表す曲線の各列における値を計算すると、
列の位置２（境界）：（ｂ２＋ｂ３）／２                        …（９）
列の位置３（境界でない）：ｍｅｄ（ｂ２，ｂ３，ｂ４）＝ｂ４    …（１０）
列の位置４（境界でない）：ｍｅｄ（ｂ３，ｂ４，ｂ５）＝ｂ３    …（１１）
列の位置５（境界）：（ｂ４＋ｂ５）／２                        …（１２）
となる。なお、ｍｅｄ（）はメディアンを抽出する関数である。また、移動平均、暗電流値の算出では、第一の領域１０２における代表値ａ１を除外して計算するのが望ましい。
【００３２】
たとえば列の位置２における関数の出力は式（９）に示されるようにｂ２とｂ３の平均となり、列の位置３における出力は式（１０）に示されるように「ｂ４」となる。図３（ｃ）にこの曲線導出方法の様子を図示した。
【００３３】
次に関数のさらに別の様態として、代表値のフィッティングカーブを計算する方法について述べる。フィッティングカーブを求める際は、最小二乗法を用いる。なお、フィッティングカーブを求める際には、第一の領域１０２に属する列の代表値は用いないようにすることが望ましい。
【００３４】
以下、図２と図３（ｄ）を用いて具体例を説明する。フィッティングカーブを求めるには最小二乗法を用いる。最小二乗法は、横軸（ｘ軸）を列の位置、縦軸（ｙ軸）を各列の代表値として、図２における第二の領域１０３におけるＯＢ領域画素の代表値ｂ２、ｂ３、ｂ４、ｂ５をプロットする。その後、最小二乗法によりそれぞれの代表値の傾向を表す曲線を求める。最小二乗法の次数は、代表値の傾向を表すのに十分な次数を用いる。図３（ｄ）では、２次式、
ｙ＝ｃ０＋ｃ１ｘ＋ｃ２ｘ２  …（１３）
を用いた例を示している。ここで、ｃ０、ｃ１、ｃ２は、最小二乗法で求めた０次、１次、２次の係数である。
【００３５】
上記のように最小二乗法により求めたフィッティングカーブでは、関数の出力は、式（１３）に列の位置を代入した結果になる。たとえば列の位置２における出力は、式（１３）を用いて、ｃ０＋ｃ１×２＋ｃ２×２２となる。以上が曲線導出方法の説明である。
【００３６】
次に、画像減算部１１２で行われる減算の方法を詳細に説明する。この説明のために、図２において画素値ａｉｊ、ｂｉｊを持つ画素の補正後の画素値を、それぞれａ’ｉｊ、ｂ’ｉｊとする。たとえば、ａ３１の補正後の画素値は、ａ’３１となる。
【００３７】
すべての縦ラインあるいは横ラインの位置に対して一定の、各代表値を代表する値を出力とする直線を求めて関数とする手法で、一定の値を平均値とする場合、画像減算部１１２による減算処理の後の画素値は、以下のようになる。
ａ’ｉ１  ＝  ａｉ１  −  ａ１                            …（１４）
ｂ’ｉｊ  ＝  ｂｉｊ  −  （ｂ２＋ｂ３＋ｂ４＋ｂ５）／４  …（１５）
但し、ｉ＝１、２、３、４、５、ｊ＝２、３、４、５である。
【００３８】
また、代表値の移動平均を計算する関数を用いた手法では、減算後の画素値は、以下のようになる。
ａ’ｉ１  ＝  ａｉ１  −  ａ１                      …（１６）
ｂ’ｉ２  ＝  ｂｉ２  −  （ｂ２＋ｂ３）／２        …（１７）
ｂ’ｉ３  ＝  ｂｉ３  −  （ｂ２＋ｂ３＋ｂ４）／３  …（１８）
ｂ’ｉ４  ＝  ｂｉ４  −  （ｂ３＋ｂ４＋ｂ５）／３  …（１９）
ｂ’ｉ５  ＝  ｂｉ５  −  （ｂ４＋ｂ５）／２        …（２０）
但し、ｉ＝１、２、３、４、５である。
【００３９】
また、代表値周辺のメディアンを計算する手法では、減算後の画素値は、以下のようになる。
ａ’ｉ１  ＝  ａｉ１  −  ａ１                …（２１）
ｂ’ｉ２  ＝  ｂｉ２  −  （ｂ２＋ｂ３）／２  …（２２）
ｂ’ｉ３  ＝  ｂｉ３  −  ｂ４                …（２３）
ｂ’ｉ４  ＝  ｂｉ４  −  ｂ３                …（２４）
ｂ’ｉ５  ＝  ｂｉ５  −  （ｂ４＋ｂ５）／２  …（２５）
但し、ｉ＝１、２、３、４、５である。
【００４０】
さらに、代表値のフィッティングカーブを計算する手法では、減算後の画素値は、減算後の画素値は以下のようになる。
ａ’ｉ１  ＝  ａｉ１  −  ａ１                            …（２６）
ｂ’ｉ２  ＝  ｂｉ２  −  （ｃ０＋ｃ１×２＋ｃ２×２２）  …（２７）
ｂ’ｉ３  ＝  ｂｉ３  −  （ｃ０＋ｃ１×３＋ｃ２×３２）  …（２８）
ｂ’ｉ４  ＝  ｂｉ４  −  （ｃ０＋ｃ１×４＋ｃ２×４２）  …（２９）
ｂ’ｉ５  ＝  ｂｉ５  −  （ｃ０＋ｃ１×５＋ｃ２×５２）  …（３０）
但し、ｉ＝１、２、３、４、５であり、ｃ０、ｃ１、ｃ２はそれぞれ係数である。
【００４１】
なお、本説明ではＯＢ領域も減算を行ったが、ＯＢ領域については減算を行わないことで、処理量を減少させることが可能である。以上が、画像減算部１１２による減算方法の詳細な説明である。
【００４２】
以上、各関数を用いた決定方法により各画素を補正する為の補正値を決定する方法を詳細に述べたが、最後に上記で説明した関数による補正値の導出方法の特徴について記述する。まず、すべての縦ラインあるいは横ラインの位置に対して一定の、各代表値を代表する値を出力とする直線を求める手法では、アルゴリズムが最も容易で、高速な動作が可能である。一方、固体撮像素子１０１の暗電流値にシェーディングが存在する場合は、代表値の移動平均を計算する、代表値周辺のメディアンを計算する、代表値のフィッティングカーブを求めるなどの方法を用いるとシェーディングを軽減することができる。移動平均、メディアンの際に平滑化が十分ではなく、その結果アーチファクトの生ずる状況では代表値のフィッティングカーブを求める手法が有効である。
【００４３】
次に図４を用いて、第一実施形態による撮像装置の処理（特に、暗電流信号に対する画像補正処理）の流れを説明する。まず、Ｓ４０１にて、欠陥補正部１０９はＯＢ領域における画像の欠陥補正を行う。欠陥補正の方法は、前述のとおりである。なお、どの画素が欠陥画素であるかは、出荷時の検査などにより予め既知であり、欠陥補正部１０９に登録されているものとする。
【００４４】
次に、Ｓ４０２、Ｓ４０３、Ｓ４０４、Ｓ４０５にて、代表値導出部１１０は、ラインごとに、ＯＢ領域の代表値Ａｋを求める。ここでラインはｎ本（ｎ：整数）存在するとする。図２の場合では、縦ラインが５本となるので、ｎ＝５とし、縦ライン５本についてＳ４０３の処理（ＯＢ領域の代表値の算出）が実行され、各ラインの代表値が算出される。代表値の算出は、たとえば、上述したような各ラインの画素値の平均値の算出、各ラインの画素値のメディアンの抽出が挙げられる。
【００４５】
次に、Ｓ４０６にて、補正値算出部１１１は、ラインの列の位置とＯＢ領域代表値Ａｋの関係を表す関数を導出する。導出される関数としては、上述のような、
・縦ラインあるいは横ラインの位置に対して一定の、各代表値を代表する値を出力とする直線を示す関数、
・代表値の移動平均を示す関数、
・代表値周辺のメディアンを示す関数、
・代表値のフィッティングカーブを示す関数、などである。なお関数を求める際には、前述のように第一の領域１０２のＯＢ領域内のＯＢ画素１０６から得られた代表値を除いて関数を求めることが好ましい。また、移動平均やメディアンを採用する構成では特に導出する処理は必要無いが、ユーザが移動平均やメディアンの抽出における代表値の個数を設定できるようにしてもよい。
【００４６】
次に、Ｓ４０７からＳ４１３において、補正値算出部１１１と画像減算部１１２が、ラインごとに減算する値（補正値）を決定し、各ラインの画素の画素値から減算する。ここで、注目しているラインｉが第一の領域１０２内なら、補正値算出部１１１は第一の決定方法により補正値を決定する。すなわち、補正値算出部１１１は、ラインｉの代表値Ａｉを画素値から減算する補正値として決定する（Ｓ４０８、Ｓ４０９）。したがって画像減算部１１２は、ラインｉに属する画素の画素値から、代表値Ａｉを減算することによりオフセット補正を実行する。一方、ラインｉが第一の領域１０２に属さない場合、すなわち第二の領域１０３に属する場合、補正値算出部１１１は第二の補正方法により補正値を決定する。すなわち、補正値算出部１１１は、Ｓ４０６にて導出した関数からラインの位置ｉにおける出力Ｂｉを求める（Ｓ４０８、Ｓ４１０）。そして、画像減算部１１２は、Ｓ４１０で求めた出力Ｂｉをラインｉに属する画素の画素値から減算する（Ｓ４１１）。これを撮像素子内の全ラインについて行う（Ｓ４１２、Ｓ４１３）。
【００４７】
以上の方法で、各画素の暗電流値が補正される。この方法によれば、暗電流値の異なる第一の領域１０２と、第二の領域１０３で別々に減算値を求めることから、垂直走査回路１０８の熱の影響を受ける第一の領域１０２の暗電流値の平滑化が行われることなく、より正確な暗電流補正が可能となる。このように、第一実施形態によれば、他のＯＢ画素列と大きく異なる特定ラインが撮像素子内に存在する場合でも、暗電流のノイズの影響を低減して、特定ラインおよびその他のラインのＯＢによる暗電流補正を適切に行うことが可能となる。
【００４８】
なお第一の領域１０２が複数ラインにわたって存在し、第一の領域１０２と第二の領域１０３の大きさが同程度の場合、第一実施形態の方法を用いると、特許文献２と同様にアーチファクトが生じる。そうした場合は、以下に説明する第二実施形態の方法を用いて、アーチファクトの発生を抑えることができる。
【００４９】
［第二実施形態］
第一実施形態では、第一の領域１０２では関数の導出を行わず、各ラインの代表値を各画素の画素値から減算した。しかし第一の領域１０２に複数のラインが属し、第一の領域１０２が第二の領域１０３と同等程度の大きさになるような場合は、ＯＢ領域の画素数不足による代表値のずれにより、第一の領域１０２にアーチファクトが発生することがある。第二実施形態では、第一の領域１０２のための補正値を決定する第一の決定方法においても関数の導出を行い、関数の出力値を第一の領域１０２における画素値から減算することで、第一の領域１０２に発生するアーチファクトを低減するものである。なお、第一実施形態と重複する説明は省略する。
【００５０】
第二実施形態の機能構成は、第一実施形態と同様である。ただし、第二実施形態では、第一の領域１０２は垂直走査回路１０８が配置されたラインの直上の画素に限定されず、垂直走査回路１０８の近傍の縦ライン数本に属する画素で構成されているものとする。また、第二実施形態の補正値算出部１１１は、第一の領域１０２と第二の領域１０３で独立に関数を導出し、補正値を決定することが可能であるとする。
【００５１】
次に、図５を用いて第二実施形態における処理の流れ（特に、暗電流信号に対する画像補正処理）を説明する。図５において、Ｓ４０１〜Ｓ４０５、Ｓ４０７、Ｓ４０８，Ｓ４１２、Ｓ４１３は第一実施形態（図４）と同様の処理である。
【００５２】
Ｓ５０１にて、補正値算出部１１１は、第一の領域１０２、第二の領域１０３のそれぞれにおいて、ラインの位置ｋと代表値Ａｋの関係を表す独立した関数を用いて補正値を求める。すなわち、第一実施形態においては、Ｓ４０６にて第二の領域１０３について関数を導出したが、第二実施形態では、第一の領域１０２と第二の領域１０３の両方について関数が導出される。
【００５３】
第一の領域１０２と第二の領域１０３のためのそれぞれの関数は、第一実施形態で述べた方法で導出される。なお、第一の領域１０２と第二の領域１０３に適用される第一の関数と第二の関数で、異なるタイプの関数を用いてもかまわないし同じタイプの関数を用いてもかまわない。たとえば、第一の領域１０２のための第一の関数にはフィッティングカーブを用い、第二の領域のための第二の関数には移動平均を用いるようにしてもよい。
【００５４】
Ｓ４０８，Ｓ５０２からＳ５０５，Ｓ４１２，Ｓ４１３にて、画像減算部１１２は、第一の領域１０２と、第二の領域１０３のそれぞれにおいて、関数の出力値を画素値から減算する。第一実施形態において、補正値算出部１１１は、第一の領域１０２ではＳ４０９にてラインごとの代表値を補正値に決定したが、第二実施形態ではＳ５０１で求めた第一の領域１０２のための第一の関数の出力値を補正値に決定する。また、第二の領域１０３では、補正値算出部１１１は、第一実施形態と同様に、第二の領域１０３のための第二の関数の出力値を補正値に決定する。なお、画像減算部１１２による減算処理は、それぞれの領域で第一実施形態にて述べたとおりである。
【００５５】
以上のように、第二実施形態によれば、第一の領域１０２においても画素値から関数の出力値が減算されるため、第一の領域１０２において特許文献２を用いたような場合のアーチファクトの発生を抑えることができる。第一の領域１０２において、曲線を導出するのに十分なラインが存在しない場合は、第二実施形態の代わりに第一実施形態の手法が用いられる。
【００５６】
［第三実施形態］
第一実施形態または第二実施形態における撮像装置において、ラインごとの暗電流値の差が大きい場合は、暗電流信号を補正するための減算値を第一実施形態や第二実施形態のようにして求めると、アーチファクトが発生する可能性がある。このようにラインごとの暗電流値の差が大きい場合には、第一の領域１０２であるか第二の領域１０３であるかに関わらずすべてのラインについてラインの代表値を減算する方がアーチファクトの少ない画像が得られることがある。第三実施形態は、上記の課題を解決する構成を説明する。
【００５７】
以下、図６を用いて第三実施形態の機能構成を説明する。なお、第一実施形態、第二実施形態と重複する部分の説明は省略される。図６では、第一実施形態、第二実施形態の構成（図１）に加えて、特性値取得部６０１と、閾値判定部６０２が設けられている。第三実施形態では、これらを用いて得られる特性値と閾値との比較結果に基づいて、状況に応じた暗電流に対する補正処理が実行される。なお、特性値として、本実施形態では第一の領域１０２と第二の領域１０３における代表値のばらつき（たとえば差異や標準偏差）、第二の領域１０３内における代表値のばらつき（たとえば差異や標準偏差）を用いる。また、特性値として、たとえば撮像装置が起動してからの経過時間、撮像装置や画素の温度、ＯＢ領域の画素値などをもとに計算した値を用いてもよい。
【００５８】
特性値取得部６０１は、特性値を計算するために必要な情報を取得し、その情報をもとに、特性値を計算する。特性値の計算に、撮影装置が起動してからの経過時間や、撮像装置の温度などを用いる場合は、それぞれ経過時間を監視するためのタイマや、温度を監視するための温度計が特性値取得部６０１に用いられる。一方、ＯＢ領域の画素値および／または代表値を特性値の計算に用いる場合、特性値取得部６０１は、直接的に固体撮像素子１０１や、代表値導出部１１０などに接続され、これらから取得した値をもとに特性値を計算する。本実施形態では特性値として第一の領域１０２と第二の領域１０３における代表値の差異、第二の領域１０３内における代表値の差異を用いた形態を説明する。代表値から計算された値以外の特性値、たとえば温度を用いる場合には、第一の領域と第二の領域における温度、第二の領域における温度を用いればよい。
【００５９】
閾値判定部６０２では、特性値取得部６０１にて取得した特性値をもとに、行う処理を決定する。閾値判定部６０２は、特性値と閾値との比較結果に基づいて、欠陥補正部１０９、代表値導出部１１０、補正値算出部１１１、画像減算部１１２、画像保存部１１３と接続され、第一の領域１０２、第二の領域１０３それぞれについて行う処理の命令を出す。
【００６０】
処理の内容としては、たとえば、
（１）第一の領域１０２ではラインごとにＯＢ領域の代表値を画素値から減算し、第二の領域１０３では関数からの出力値を画素値から減算する（第一実施形態）、
（２）第一の領域１０２では、第一の領域１０２について導出した関数の出力値を画素値から減算し、第二の領域１０３では、第二の領域１０３について導出した関数の出力値を画素値から減算する（第二実施形態）、
（３）第一の領域１０２と第二の領域１０３のすべての領域で、ラインごとの代表値をそれぞれのラインに属する有効画素領域の画素値から減算する、
（４）第一の領域１０２と第二の領域１０３のすべての領域で、同じ関数からの出力値を画素値から減算する、
（５）ＯＢ領域を用いた補正を実行しない、等があげられる。
【００６１】
なお、（５）のＯＢ領域を用いた補正を実行しない場合、補正を行う場合と比べて暗電流成分だけ画像の画素値の平均値が異なることになる。したがって、ＯＢ領域を用いた補正を実行しない場合は、画像全体にオフセット補正を別途行うか、ＯＢ領域にオフセット補正を行う。画像全体にオフセット補正を行う場合は、まずＯＢによる補正を施したオフセット画像と、ＯＢによる補正を施していないオフセット画像を用意する。次にＯＢを用いて補正した時はＯＢによる補正を施したオフセット画像を用い、ＯＢを用いた補正をしていない時はＯＢを用いた補正をしていないオフセット画像を用いてオフセット補正を行えばよい。
【００６２】
以下に第三実施形態における処理の流れを、図７を用いてより詳細に説明する。なお、以下の説明ではＯＢ領域の画素値（代表値）を特性値として用いる場合について説明を行う。図７における領域１は、第一実施形態、第二実施形態等で述べた第一の領域１０２を意味し、領域２は第一実施形態、第二実施形態等で述べた第二の領域１０３を意味する。
【００６３】
Ｓ７０１にて、欠陥補正部１０９は、欠陥補正を行う。本実施形態では、ＯＢ領域の画素値が特性値計算に用いられることから、少なくともＯＢ領域については欠陥補正を行うことが好ましい。
【００６４】
次にＳ７０２にて、代表値導出部１１０は、画像のＯＢ領域の画素値を取得し、Ｓ７０３にて代表値を算出する。こうしてＯＢ領域の３つのライン１，２，３について代表値Ａ１、Ａ２、Ａ３が取得される。ここで、Ａ１は第一の領域１０２におけるＯＢ領域から選択されたラインの代表値で、Ａ２、Ａ３は第二の領域１０３におけるＯＢ領域のあるラインから選択された代表値である。また、Ａ２、Ａ３は異なるラインの代表値とする。ここで、取得するＯＢ領域代表値は必ずしも３ラインの代表値のみである必要はない。代表値の取得方法や取得数を変更する場合は、以下の方法はそれにふさわしい方法に変更される。また、代表値Ａ１〜Ａ３として第一の領域１０２と第二の領域１０３のどのラインの代表値を用いるかは、任意である。
【００６５】
Ｓ７０４において、特性値取得部６０１は、特性値ｓ１、特性値ｓ２を計算する。特性値ｓ１、特性値ｓ２は、以下のように定義される。
ｓ１＝｜Ａ２−Ａ１|  …（３１）
ｓ２＝｜Ａ３−Ａ２|  …（３２）
上記の定義により、特性値ｓ１は、第一の領域１０２におけるＯＢ画素の画素値の代表値と、第二の領域におけるＯＢ画素の画素値の代表値の差を表現していることになる。また、特性値ｓ２は、第二の領域１０３内におけるＯＢ画素の画素値の代表値の差を表現していることになる。以下に説明するように、第三実施形態では、これら特性値が第一の閾値以下か否か、第二の閾値以下か否かにより、第一の決定方法、第二の決定方法の適用が制御される。
【００６６】
一般に、第一の領域１０２と第二の領域１０３の代表値の差は、第二の領域１０３内における代表値の差よりも大きい。そこで、閾値判定部６０２は、まずＳ７０５にて第一の領域１０２と第二の領域１０３の代表値の差である特性値ｓ１を調べる。そのために、あらかじめ閾値ε１を定める。第一の閾値ε１は、第一の領域１０２と第二の領域１０３の暗電流値の差が画像にアーチファクトとして現れ始めるときの特性値とする。なお、そのような第一の閾値ε１は実験的に求めることができる。
【００６７】
特性値ｓ１が第一の閾値ε１よりも小さい場合は、第一の領域１０２と第二の領域１０３の暗電流値の差がアーチファクトとして現れていない場合である。そこで、Ｓ７０６にて、画像減算部１１２は、第一の領域１０２と第二の領域１０３に共通の関数を用いて、その出力値を画素値から減算する。すなわち、第１の領域１０２において得られた代表値と第二の領域１０３において得られた代表値を区別することなく、第一の領域１０２と第二の領域１０３で共通の決定方法が用いられる。
【００６８】
一方、Ｓ７０５において特性値ｓ１が第一の閾値ε１以上であった場合、処理はＳ７０７へ進む。Ｓ７０７において、閾値判定部６０２は、第二の領域１０３内での特性値の差である特性値ｓ２を調べる。そのために、あらかじめ第二の閾値ε２を定める。第二の閾値ε２は、曲線の出力を減算する場合と、第一の領域、第二の領域両方でラインごとの代表値を減算する場合において、アーチファクトの低減効果が同程度になる特性値の閾値とする。なお、そのような第二の閾値ε２は実験的に求めることができる。
【００６９】
特性値ｓ２が第二の閾値ε２よりも小さい時は、第一の領域１０２では代表値を画素値から減算し、第二の領域１０３では関数の出力値を画素値から減算した方がアーチファクトの発生が少ない。したがって、処理はＳ７０７からＳ７０８へ進み、画像減算部１１２は、第一実施形態で述べたような暗電流信号の補正を行う。すなわち、第一の領域１０２では画素値から代表値が減算され、第二の領域１０３では画素値から関数の出力値が減算される。
【００７０】
他方、特性値ｓ２が第二の閾値ε２以上の場合は、第一の領域１０２と第二の領域１０３の両方でラインごとの代表値を画素値から減算するようにした方がアーチファクトの発生が少ない。そこで、処理はＳ７０７からＳ７０９へ進み、画像減算部１１２は、第一の領域１０２と第二の領域１０３の両方でラインごとの代表値を画素値から減算する。以上を、画像の取得終了まで続ける。
【００７１】
なお、第一の領域１０２に含まれるラインの数が複数ラインの場合に、Ｓ７０８において画像減算部１１２が第二実施形態で説明したように動作するようにしてもよい。すなわち、Ｓ７０８において、画像減算部１１２が、第一の領域１０２では、第一の領域１０２について導出した関数の出力値を画素値から減算し、第二の領域１０３では、第二の領域１０３について導出した関数の出力値を画素値から減算するようにしてもよい。
【００７２】
以上のように第三実施形態によれば、アーチファクトの量に応じて適切なＯＢ領域による補正が用いられることから、第一実施形態・第二実施形態よりアーチファクトの少ない画像を取得することができる。
【００７３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014168206.tif 000003
【図２】
2014168206.tif 000004
【図３】
2014168206.tif 000005
【図４】
2014168206.tif 000006
【図５】
2014168206.tif 000007
【図６】
2014168206.tif 000008
【図７】
2014168206.tif 000009