(57)【特許請求の範囲】
【請求項１】
第１露出時間を有する１対の画素列における２列の画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素列の露出始点を変更して繰り返し実施し、第２露出時間を有する別の１対の画素列における２列の画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素列の露出始点を変更して繰り返し実施するステップと、
前記各画素列の各１列のイメージに関する情報の平均値をそれぞれ算出するステップと、
２対の前記画素列における前記各画素列の平均値を比較することにより、最大値と最小値とを算出するステップと、
前記第１露出時間を有する前記１対の画素列のうち、１つの前記画素列における最大値から最小値を引くことにより第１減算値を算出し、前記第１露出時間を有する別の前記画素列における最大値から最小値を引くことにより第２減算値を算出し、前記第１減算値と
前記第２減算値のうち、小さい方の値を第１最小減算値として出力するステップと、
前記第２露出時間を有する前記１対の画素列のうち、１つの前記画素列における最大値から最小値を引くことにより第３減算値を算出し、前記第２露出時間を有する別の前記画素列における最大値から最小値を引くことにより第４減算値を算出し、前記第３減算値と
前記第４減算値のうち、小さい方の値を第２最小減算値として出力するステップと、
前記第１最小減算値と前記第２最小減算値との大小を比較することにより、フリッカノイズに対応する露出時間を決定するステップと
を含むことを特徴とするイメージセンサのフリッカノイズ検出方法。
【請求項２】
前記フリッカノイズに対応する露出時間を決定するステップにおいて、
前記第１最小減算値と前記第２最小減算値のうち、大きい方の値を有する露出時間を、フリッカノイズに対応する露出時間と決定することを特徴とする請求項１に記載のイメージセンサのフリッカノイズ検出方法。
【請求項３】
前記フリッカノイズに対応する露出時間を決定するステップにおいて、
前記第１最小減算値と前記第２最小減算値のうち、小さい方の値を有する露出時間に対応する光源を、実際の光源と決定することを特徴とする請求項１又は請求項２に記載のイメージセンサのフリッカノイズ検出方法。
【請求項４】
前記第１最小減算値と前記第２最小減算値が、
僅かな外部環境の変化に起因する誤動作を防止するための信号変換最低値より大きいことを特徴とする請求項３に記載のイメージセンサのフリッカノイズ検出方法。
【請求項５】
前記各画素列における１つの露出始点でのイメージに関する情報を検出した後、前記各画素列の平均値をそれぞれ算出することを特徴とする請求項１に記載のイメージセンサのフリッカノイズ検出方法。
【請求項６】
前記画素列の各１列が行う１回のイメージに関する情報の検出処理が、
１フレームに相当することを特徴とする請求項１に記載のイメージセンサのフリッカノイズ検出方法。
【請求項７】
第１露出時間を有する第１及び第２画素列における２列の前記画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素列の露出始点を変更して繰り返し実施し、第２露出時間を有する第３及び第４画素列における２列の前記画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素の露出始点を変更して繰り返し実施するステップと、
前記第１ないし第４画素列の各１列のイメージに関する情報の平均値をそれぞれ算出するステップと、
前記第１ないし第４画素列における前記各画素列の平均値を比較することにより、最大値と最小値とを算出するステップと、
前記第１画素列における最大値から最小値を引くことにより第１減算値を算出し、前記第２画素列における最大値から最小値を引くことにより第２減算値を算出し、前記第１減算値と前記第２減算値とを比較して、小さい方の値を第１最小減算値として出力するステップと、
前記第３画素列における最大値から最小値を引くことにより第３減算値を算出し、前記第４画素列における最大値から最小値を引くことにより第４減算値を算出し、前記第３減算値と前記第４減算値とを比較して、小さい方の値を第２最小減算値として出力するステップと、
前記第１最小減算値と前記第２最小減算値との大小を比較して、フリッカノイズに対応する露出時間を決定するステップと
を含むことを特徴とするイメージセンサのフリッカノイズ検出方法。
【請求項８】
前記フリッカノイズに対応する露出時間を決定するステップにおいて、
前記第１最小減算値と前記第２最小減算値のうち、大きい値を有する露出時間を、フリッカノイズに対応する露出時間と決定することを特徴とする請求項７に記載のイメージセンサのフリッカノイズ検出方法。
【請求項９】
前記フリッカノイズに対応する露出時間を決定するステップにおいて、
前記第１最小減算値と前記第２最小減算値のうち、小さい値を有する露出時間に対応する光源を、実際の光源と決定することを特徴とする請求項７又は請求項８に記載のイメージセンサのフリッカノイズ検出方法。
【請求項１０】
前記第１最小減算値及び前記第２最小減算値が、
僅かな外部環境の変化に起因する誤動作を防止するための信号変換最低値より大きいことを特徴とする請求項９に記載のイメージセンサのフリッカノイズ検出方法。
【請求項１１】
前記各画素列について、１つの露出始点でイメージに関する情報を検出した後、前記各画素列の平均値をそれぞれ算出することを特徴とする請求項７に記載のイメージセンサのフリッカノイズ検出方法。
【請求項１２】
各１列の前記画素列が行う１回のイメージに関する情報の検出処理が、１フレームに対応することを特徴とする請求項７に記載のイメージセンサのフリッカノイズ検出方法。
【請求項１３】
２列の前記画素列について異なる露出始点での各前記画素列のイメージに関する情報の検出を、４フレームの間繰り返し実施することを特徴とする請求項１２に記載のイメージセンサのフリッカノイズ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はイメージセンサ、特にＣＭＯＳイメージセンサに関し、さらに詳細にはフリッカノイズを自動的に除去するための機能を備えたイメージセンサ及びイメージセンサのフリッカノイズ検出方法に関する。
【背景技術】
【０００２】
一般に、イメージセンサとは、光に反応する半導体の性質を利用して、イメージを電気信号に変換する装置のことを意味する。イメージセンサは、それぞれの被写体から出るそれぞれ異なる光の明るさ及び波長を検出して、電気的な値を読み出し、この電気的な値を信号処理が可能なレベルに高める機能を有している。
【０００３】
すなわち、イメージセンサとは光学映像を電気信号に変換する半導体素子であり、イメージセンサには、電荷結合素子(ＣＣＤ)及びＣＭＯＳイメージセンサがある。これらのうち、ＣＣＤは、個々のＭＯＳキャパシタが相互に非常に近接して位置し、電荷キャリアがキャパシタに格納されて伝送される素子である。また、ＣＭＯＳイメージセンサは、制御回路及び信号処理回路を周辺回路として利用するＣＭＯＳ技術を利用して、画素と同じ数だけのＭＯＳトランジスタが配列され、これらのＭＯＳトランジスタを使用して、順に出力を検出するスイッチング方式が採用された素子である。ＣＭＯＳイメージセンサには、電力消費量が少ないという大きな利点があるため、携帯電話など個人用の携帯システムにとって非常に有用である。したがって、イメージセンサはＰＣカメラ用、医学用、玩具用など様々な用途に応用することができる。
【０００４】
図１は、従来の技術に係る一般的なイメージセンサの構成を概略的に示すブロック図である。図１に示されているように、イメージセンサは、制御及び外部システムインタフェース部１０と、画素配列部１１と、アナログラインバッファ部１２と、カラムデコーダ１３と、アナログバス１４と、アナログ信号処理部(Analog Signal Processor、以下「ＡＳＰ」という)１５と、ディジタル信号処理部(Digital Signal Processor、以下「ＤＳＰ」という)１６とを備えている。
【０００５】
ＡＳＰ１５は、可変増幅部と、アナログ／ディジタル変換部(Analog to Digital Converter、以下「ＡＤＣ」という)などを備え、ＤＳＰ１６はエラー補正、色相補間、ガンマ補正、色空間変換などの機能を備えている。
【０００６】
以下、上述したイメージセンサを構成する各構成要素の動作を詳細に説明する。画素配列部１１では、光に反応する性質が最大限に発揮されるように、画素が横Ｎ、縦Ｍ(Ｎ、Ｍは整数)に配列されている。画素は、外部から入力されるイメージに関する情報を検出する構成要素であって、イメージセンサ全体でもっとも核心的な部分である。また、制御及び外部システムインタフェース部１０は、ＦＳＭ(Finite State Machine：有限状態機械)を使用してイメージセンサの全体的な動作を制御し、外部システムに対するインタフェースとして機能するものである。この制御及び外部システムインタフェース部１０は、配列レジスタ(図示しない)を備えており、ここでは内部動作に関連する事項をプログラムすることが可能であり、このプログラムされた事項によって、チップ全体の動作を制御する機能を果たすことができる。
【０００７】
アナログラインバッファ部１２は、選択された１列の画素の電圧を検出して格納する機能を備えている。アナログラインバッファ部１２に格納されたアナログデータのうち、カラムデコーダ１３に制御されて選択されたカラムのデータ値が、アナログバス１４を介して、ＡＳＰ１５の可変増幅部に伝送される。
【０００８】
可変増幅部、例えば、ＰＧＡ(Programmable Gain Amplifier)は、アナログラインバッファ部１２に格納された画素の電圧が低い場合、この電圧を増幅する機能を果たす。可変増幅部を経たアナログデータは、色相補正などの過程を経た後、ＡＤＣによりディジタル値に変換され、さらにＤＳＰ１６で上述した過程を経た後、４:２:２または４:４:４などのビデオ規格に合うように変換される。
【０００９】
一方、イメージセンサは、製造工程における僅かな処理上の差によって、オフセット電圧による固定パターン雑音が発生するようになる。この固定パターン雑音を補償するために、イメージセンサでは、二重サンプリング方式(Correlated Double Sampling method、以下「ＣＤＳ」という)方式が採用されている。二重サンプリング方式によって、画素配列部１１の各画素からリセット信号及びデータ信号が読み出され、その差が出力されるようになっている。
【００１０】
イメージセンサの応用分野は、スチルカメラ、ＰＣカメラ、医学用機器、玩具、携帯用端末器など多様である。光源に相違があると、フリッカノイズが現れるようになるため、イメージセンサには、光源に関係なくフリッカノイズを自動的に除去する機能が必要である。
【００１１】
ＣＭＯＳイメージセンサの場合、センサが光に露出される時間を調節することによってイメージを得ている。この露出時間が光源の周期の整数倍であれば特に問題が生じない。しかし、露出時間が光源の周期の整数倍ではない場合には、ライン（列）別にデータを受信するＣＭＯＳイメージセンサの場合、各ライン別に受光量が異なるため、最終イメージは、線が現れているように見える。この線がフリッカノイズである。
【００１２】
図２Ａ及び２Ｂは、フリッカ現象が発生する様々なケースを示すグラフである。図２Ａの(ａ)には、受光量(すなわち、光エネルギ)がイメージセンサの露出時間と同じ周期を有するケースにおける、露光時間に対する光エネルギの変化が示されている。この場合、ラインごとに受け取るエネルギ量が同じであるので、イメージが正常に出力される。
【００１３】
図２Ａ(ｂ)は、光エネルギの周期と露出時間とが異なったケースであり、露出時間が光源の周期より小さい場合を示している。すなわち、光エネルギの周期が露出時間の周期より大きい場合、すなわち時間的には、より長い時間周期で変化する場合を示している。
【００１４】
図２Ａ(ｃ)は、反対に光エネルギの周期が露出時間の周期より小さいケース、すなわち時間的には、より短い時間で変化する場合を示している。いずれの場合でも、イメージにはフリッカが生じるようになる。特にフリッカノイズが生じる際、イメージに生じる線が上または下に流れる場合及びイメージに生じる線が固定されている場合がある。このような固定されたフリッカノイズが発生するようになると、実際のイメージとノイズとを区別することが困難になる。
【００１５】
図２Ｂ(ａ)と図２Ｂ(ｂ)は、イメージに固定されたフリッカノイズが生じるケースを示している。このような場合、すなわち、露出の周期がフレーム周期と等しい場合、最初のフレームと２番目のフレームに生じるフリッカノイズの大きさは、露出時間と光源の周期とに関係なく同じ大きさとなる。このような場合、固定されたフリッカイメージが生じ、通常のアルゴリズムのように、フレームごとに異なる量のフリッカノイズの大きさを使用してフリッカノイズを検出しようとすると、フリッカノイズを検出することができない。
【００１６】
したがって、上述したようにフリッカが生じる全ての場合に対してフリッカを除去することができなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、上述した従来の技術の問題点を解決するためになされたものであって、その目的は、フリッカノイズが生じる全ての場合に対して、フリッカを自動的に除去することができるフリッカ自動除去機能を有するイメージセンサとイメージセンサのフリッカノイズ検出方法を提供することにある。
【課題を解決するための手段】
【００１８】
上記目的を達成するため、本発明に係るイメージセンサは、半導体の光に反応する性質を最大限に発揮させるために、画素がＮ列、Ｍカラム(Ｎ、Ｍは整数)に配列され、外部から入力されるイメージに関する情報を検出する画素配列部と、フリッカノイズ検出のために、前記画素配列部の列が拡張された構造でＸ列(Ｘは偶数)、Ｍカラムに画素が配列され、それぞれ１対の列が同じ露出時間を有するように構成されたフリッカノイズ検出用画素部と、該フリッカノイズ検出用画素部に対する露出始点（露出が行われる時点）を制御し、前記フリッカノイズ検出用画素部からの出力を利用して、フリッカノイズを検出するためのフリッカノイズ検出部とを備えることを特徴としている。
【００１９】
また、上記の目的を達成するために、本発明に係るイメージセンサのフリッカノイズ検出方法は、第１露出時間を有する１対の画素列における２列の画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素の露出始点を変更して繰り返し実施し、第２露出時間を有する別の１対の画素列における２列の画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、前記各画素列の露出始点を変更して繰り返し実施するステップと、前記各画素列の各１列のイメージに関する情報の平均値をそれぞれ算出するステップと、２対の前記画素列における前記各画素列の平均値を比較することにより、最大値と最小値とを算出するステップと、前記第１露出時間を有する前記１対の画素列のうち、１列の前記画素列における最大値から最小値を引くことにより第１減算値を算出し、前記第１露出時間を有する別の前記画素列における最大値から最小値を引くことにより第２減算値を算出し、前記第１減算値と前記第２減算値のうち、小さい方の値を第１最小減算値として出力するステップと、前記第２露出時間を有する前記１対の画素列のうち、１つの前記画素列における最大値から最小値を引くことにより第３減算値を算出し、前記第２露出時間を有する別の前記画素列における最大値から最小値を引くことにより第４減算値を算出し、前記第３減算値と前記第４減算値のうち、小さい方の値を第２最小減算値として出力するステップと、前記第１最小減算値と前記第２最小減算値との大小を比較することにより、フリッカノイズに対応する露出時間を決定するステップとを含むことを特徴としている。
【００２０】
また、上記の目的を達成するために、本発明に係るフリッカノイズの検出方法は、第１露出時間を有する第１及び第２画素列における２列の前記画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、各画素の露出始点を変更して繰り返し実施し、第２露出時間を有する第３及び第４画素列における２列の前記画素列について異なる露出始点での各画素列のイメージに関する情報の検出を、各画素の露出始点を変更して繰り返し実施するステップと、前記第１ないし第４画素列の各１列のイメージに関する情報の平均値をそれぞれ算出するステップと、前記第１ないし第４画素列における前記各画素列での各平均値を比較することにより、最大値と最小値とを算出するステップと、前記第１画素列における最大値から最小値を引くことにより第１減算値を算出し、前記第２画素列における最大値から最小値を引くことにより第２減算値を算出し、前記第１減算値と前記第２減算値とを比較して、小さい方の値を第１最小減算値を出力するステップと、前記第３画素列における最大値から最小値を引くことにより第３減算値を算出し、前記第４画素列における最大値から最小値を引くことにより第４減算値を算出し、前記第３減算値と前記第４減算値とを比較して、小さい方の値を第２最小減算値として出力するステップと、前記第１最小減算値と前記第２最小減算値との大小を比較して、フリッカノイズに対応する露出時間を決定するステップとを含むことを特徴としている。
【００２１】
本発明に係るイメージセンサ及びフリッカノイズの検出方法は、フリッカノイズが発生する全ての場合に対して、フリッカを自動的に除去できる機能を有している。そのため、本発明に係る第１の特徴は、ラインごとに露出時間のオン/オフを調節できるという点にある。フリッカ検出のための専用ラインを従来の画素部に加えた後、画素配列部の機能に関係なく独立した動作を行うことができるようにし、検出のための専用ラインの露出時間を人為的にオン/オフさせ、特定のフリッカノイズだけを検出することができた従来の方式を補完して、ほとんどの場合に、該当するフリッカノイズを検出することができるようにした。
【発明の効果】
【００２２】
本発明によれば、イメージに現れたフリッカの種類に関係なく自動的に光源の周期を判別して適正な露出時間を採用することによって、フリッカを除去しイメージを向上させることができるという効果が得られる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明のもっとも好ましい実施の形態を添付する図面を参照して説明する。
【００２４】
フリッカ現象は、光源の周期とイメージセンサの露出時間との関係で発生する。光源とは、日常生活で使用される発光体を意味する。太陽も光源であり、蛍光灯もまた光源である。太陽光の場合、その明るさの変動周期が非常に長く、ほぼ一定の明るさである。そのために、太陽光の下ではフリッカ現象は発生しない。しかし、蛍光灯の場合、周波数が５０Hzまたは６０Ｈｚであり、通常、イメージセンサの露出時間が数十ｍｓであるので、蛍光灯の光は、フリッカ現象を発生させる原因になる。
【００２５】
ＣＭＯＳイメージセンサでは、フリッカの発生を防止するために様々な方法が採用されている。その理由は、画素からデータを抽出する方法として、１ラインずつ読み出していく方法が採用されているからである。露出時間が光源の周期と異なると、各ラインとも同じ露出時間が採用されるので、それぞれのラインごとに光源によって生成されるエネルギ量が異なるようになる。そのため、出力されるエネルギが同じ量ではなくなるので、フリッカノイズが生じるようになる。
【００２６】
本発明の実施の形態に係るイメージセンサの場合には、基本的なフリッカ現象に加えて、特定のフリッカ現象も自動的に検出することができる。前述のように、フリッカ現象とは、イメージに線が生じる現象である。一般的には、イメージに生じた線は下方向又は上方向に流れるので、イメージ内の像とは確実に区別される。しかし、フレームの周期が光源の周期の整数倍になる場合には、イメージ内に生じた線が下方向又は上方向に流れることなく、チェック模様のように見えるイメージになるので、従来はフリッカの検出が困難であった。それに対して、本発明の実施の形態に係るイメージセンサでは、このような現象も検出することができる。
【００２７】
図３は、本発明の実施の形態に係るイメージセンサを示すブロック図である。図３に示したように、実施の形態に係るイメージセンサは、半導体が光に反応する性質を最大限に発揮させるために、Ｎ列、Ｍカラム(Ｎ、Ｍは整数)に画素が配列された、外部から入力されるイメージに対する情報を検出する画素配列部３０と、フリッカノイズを検出するために、画素配列部３０の列が拡張された構造であって、Ｘ列(Ｘは偶数)、Ｍカラムに画素が配列され、配列されたそれぞれ１対の列が同じ露出時間を有するフリッカノイズ検出用画素部３１と、フリッカノイズ検出用画素部３１に対する露出始点を制御し、フリッカノイズ検出用画素部３１の出力を用いてフリッカノイズを検出するためのフリッカノイズ検出部３２と、制御及び外部システムインタフェース部３３と、アナログラインバッファ部３４と、カラムデコーダ３６と、アナログバス３５と、アナログ信号処理部(以下「ＡＳＰ」という)３７と、ディジタル信号処理部(以下「ＤＳＰ」という)３８とを備えている。
【００２８】
ＡＳＰ３７は、可変増幅部と、アナログ／ディジタル変換部(以下ＡＤＣという)などを備え、ＤＳＰ３８は、エラー補正、色相補間、ガンマ補正、色空間変換などの機能を備えている。
【００２９】
以下、上述したイメージセンサを構成する各構成要素の動作を詳細に説明する。画素配列部３０は、半導体が光に反応する性質を最大限に発揮させるために、画素が横Ｎ列、縦Ｍカラム(Ｎ、Ｍは整数)に配列された、外部から入力されるイメージに関する情報を検出する要素であって、イメージセンサ全体の核心部となる。フリッカノイズ検出用画素部３１は、各１対の列が相互に異なる露出始点を有するように、１つのフレーム間の１つのイメージに関する情報を検出し、次のフレームでは、前記各１対の列の露出始点を変化させた後で、イメージに関する情報を検出する。このように、フリッカノイズ検出用画素部３１は、複数のフレーム間の露出始点を変更しながら動作するようになっている。
【００３０】
制御及び外部システムインタフェース部３３は、ＦＳＭ(Finite State Machine)を使用して、イメージセンサ全体の動作を制御し、外部システムに対するインタフェースとして機能する。また、配置レジスタ(図示せず)を備えており、様々な内部動作に関連した事項をプログラムすることが可能であり、このプログラムされた情報によってチップ全体の動作を制御する機能を有している。
【００３１】
アナログラインバッファ部３４は、選択されたある列の画素の電圧を検出して格納する機能を備え、アナログラインバッファ部３４に格納されたアナログデータのうち、カラムデコーダ３６の制御により選択されたカラムのデータ値を、アナログバス３５を介してＡＳＰ３７の可変増幅部に伝送する。
【００３２】
可変増幅部、例えばＰＧＡは、アナログラインバッファ部３４に格納された画素の電圧が低い場合、この電圧を増幅する機能を備えている。この可変増幅部を経たアナログデータは、色相補正などの処理を経た後、ＡＤＣによりディジタル値に変換される。また、ディジタル値は、ＤＳＰ３８で上述した処理が施された後、４:２:２または４:４:４などのビデオ規格に合うように変換される。
【００３３】
一方、イメージセンサには、製造工程における僅かな処理上の差によって、オフセット電圧による固定パターン雑音が発生するようになる。このような固定パターン雑音を補償するために、イメージセンサでは、画素配列部３０の各画素にリセット信号が読み込まれてデータ信号が読み出された後、ＣＤＳ方式によりそれらの差が出力される。
【００３４】
図３に示したイメージセンサの構成から分かるように、実施の形態に係るイメージセンサは、実際のイメージが格納される画素配列部３０の他に、同じ画素で構成され、フリッカ検出のためだけに用いられるフリッカノイズ検出用画素部３１を備えている。フリッカノイズ検出用画素部３１は、例えば、４ラインの画素で構成されている。
【００３５】
また、このフリッカノイズ検出用画素部３１からの信号を受信して、フリッカであるか否かを確認するフリッカノイズ検出部３２を備え、この確認により、各列に異なった露出時間が与えられる。
【００３６】
図４は、フレームの周期が光源の周期の整数倍である時に、露出周期が異なる場合のフリッカの検出例を示すグラフである。図４(ａ)は、フレームの周期が光源の周期の整数倍である場合には、フリッカを検出することができないことを示している。フリッカが生成した２つのフレームを比較して、フレームの周期が光源の周期の整数倍ではない場合には、光源の周期が露出時間と異なると、最初のフレームのエネルギ量が２番目のフレームのエネルギ量と異なることになる。
【００３７】
このように、フリッカであるか否かは、２つのフレームのエネルギ量を比較することによって、区別することができる。しかし、フレームの周期が光源の周期の整数倍である場合には、最初のフレームと２番目のフレームにおいて、同じ位置にあるラインのデータに、光源の周期と異なった露出時間が適用されたとしても、フリッカの発生を検出することが困難である。その理由は、実際に各ラインのセンサが露出される間に入力されるエネルギ量が同じになるために、フリッカであるか否かを区別することができないからである。
【００３８】
このようなフリッカを検出するためには、相互に異なる露出始点を採用しなければならない。図４の(ｂ)は、異なった露出始点を採用した例を示している。露出始点がラインごとに相違するように設定すると、フレームの周期が光源の周期の整数倍であってもフリッカを検出することができる。
【００３９】
以下、本実施の形態で提示するフリッカノイズ検出アルゴリズムを説明する。本実施の形態では、露出始点を調節することによって、従来の方法とは異なり、フレームの周期が光源の周期の整数倍に相当する場合でも、フリッカノイズを検出することができるようになっている。
【００４０】
まず、同じ光源Ａを使用する１対の画素列、すなわち、光源Ａに対応する露出時間「ｔ１」（第１露出時間）を有するＡ１、Ａ２で構成された１対の画素列があり、同じ光源Ｂを使用する別の１対の画素列、すなわち、光源Ｂに対応する露出時間「ｔ２」（第２露出時間）を有するＢ１、Ｂ２で構成された１対の画素列があると仮定する。
【００４１】
まず、Ａ１とＡ２の露出始点を相違させて、それぞれ対応する列のイメージに関する情報を検出する。例えば、Ａ１の露出始点が光源の周期の１/４に相当する時点であれば、Ａ２は３/４に相当する時点とする。この動作を繰り返し実施する。繰り返して実施するステップにおいて、各画素の露出始点を変更していく。
【００４２】
この時、Ｂ１とＢ２の露出始点を相違させて、それぞれ該当する列のイメージに関する情報を検出する。例えば、Ｂ１の露出始点が光源の周期の１/４に相当する時点であれば、Ｂ２は３/４に相当する時点とする。この動作を繰り返し実施する。繰り返して実施するステップにおいて、各画素の露出始点を変更していく。
【００４３】
次いで、各画素列の各１列のイメージに関する情報の平均値をそれぞれ算出し、各画素列の複数列に対する各平均値を比較して、最大値と最小値とを算出した後、露出時間「ｔ１」を有する画素列Ａ１における最大値から最小値を引くことにより第１減算値を算出し、露出時間「ｔ１」を有する各画素列Ａ２における最大値から最小値を引くことにより第２減算値を算出する。これらの第１減算値と第２減算値とを比較して、そのうちの小さい方の値を第１最小減算値として出力する。
【００４４】
また、露出時間「ｔ２」を有する画素列Ｂ１における最大値から最小値を引くことにより第３減算値を算出し、露出時間「ｔ２」を有する画素列Ｂ２における最大値から最小値を引くことにより第４減算値を算出する。これらの第３減算値と第４減算値とを比較して、小さい方の値を第２最小減算値として出力する。
【００４５】
次いで、第１最小減算値と第２最小減算値との大小を比較して、フリッカノイズに対応する露出時間を決定する。
【００４６】
フリッカノイズに対応する露出時間を決定する際には、第１最小減算値と第２最小減算値のうち大きい方の値を有する露出時間を、フリッカノイズに対応すると判定する。第１最小減算値と第２最小減算値のうち小さい値を有する方の露出時間に対応する光源が実際の光源に該当することになる。
【００４７】
第１最小減算値と第２最小減算値は、僅かな外部環境の変化に起因する誤動作を防止するための信号変換最低値より大きい。各画素列について、１つの露出時間のイメージに関する情報を検出し、次に各画素列の平均値をそれぞれ算出する。
【００４８】
なお、上述した各画素列に関する１回の処理は、イメージセンサの画素配列部の１フレームに相当する。
【００４９】
図５は、本発明の実施の形態に係るフリッカを検出するためのアルゴリズムを示すフローチャートである。図５には、ＡとＢの２つの光源をそれぞれ２対の画素列、すなわち４列の画素列を使用して、実際の光源を検出する過程が示されている。以下、図５を参照して、フリッカノイズを検出する過程を説明する。
【００５０】
まず、光源Ａに対応する露出時間を有する、同じ光源Ａを使用する１対の画素列、及び光源Ｂに対応する露出時間を有する、同じ光源Ｂを使用する１対の画素列があり、フリッカノイズを検出するための合計４列の画素列が、画素配列部３０の列が拡張された形態で配列されていると仮定する。
【００５１】
フリッカノイズを検出するための４列の画素列は、画素配列部３０全体のデータを読み出すフレームに対して、それぞれ１つのデータを出力する。この動作を４つのフレームの間で繰り返すことによって、１６のデータを出力する。
【００５２】
ステップＳ５０１では、フレームカウンタＦｒａｍｅが「０」にセットされ、最初のフレームに対する画素データの出力が開始される。ステップＳ５０２では、現在データが出力されるフレームが４番目であるか否かを判断する。４番目のフレームではない場合には、次のフレームに対する露出が開始され、４番目のフレームである場合には、再びステップＳ５０１へ戻り、フレームカウンタＦｒａｍｅが「０」にセットされる。
【００５３】
ステップＳ５０２における判断の結果、現在データが出力されるフレームが４番目のではない場合には、次のフレームに対する露出が開始される。ステップＳ５０３では、「*Ａｓｔａｒｔ１<=*Ａ/４」、すなわち、光源Ａを使用する画素列「Ａ１」に対しては、光源Ａの周期の１/４に相当する時点を露出始点とし、「Ａｓｔａｒｔ２<=*Ａ」、すなわち、光源Ａを使用する画素列「Ａ２」に対しては、光源Ａの周期の４/４に相当する時点を露出始点とし、「*Ｂｓｔａｒｔ１<=*Ｂ/４」、すなわち、光源Ｂを使用する画素列「Ｂ１」に対しては、光源Ｂの周期の１/４に相当する時点を露出始点とし、「Ｂｓｔａｒｔ２<=*Ｂ」、すなわち、光源Ｂを使用する画素列「Ｂ２」に対しては、光源Ｂの周期の４/４に相当する時点を露出始点として、該当する画素列のイメージに関する情報を取得する。
【００５４】
ステップＳ５０４では、ステップＳ５０３に対応するフレームの処理の間に得られた各４列の画素列のイメージに関する情報の平均値を計算する。
【００５５】
すなわち、Ａ１から得られる情報の最初におけるフレームの平均値である「＄ＡＦ１１<=ＡＦｒａｍｅａｖｇ１」と、Ａ２から得られる情報の最初フレームにおける平均値である「＄ＡＦ１２<=ＡＦｒａｍｅａｖｇ２」と、Ｂ１から得られる情報の最初のフレームにおける平均値である「＄ＢＦ１１<=ＢＦｒａｍｅａｖｇ１」と、Ｂ２から得られる情報の最初のフレームにおける平均値である「＄ＢＦ１２<=ＢＦｒａｍｅａｖｇ２」とをそれぞれ算出する。
【００５６】
ステップＳ５０５では、「*Ａｓｔａｒｔ１<=*Ａ/３」、すなわち、光源Ａを使用する画素列「Ａ１」に対しては、光源Ａの周期の３/４に相当する時点を露出始点とし、「Ａｓｔａｒｔ２<=*Ａ/２」、すなわち、光源Ａを使用する画素列「Ａ２」に対しては、光源Ａの周期の２/４に相当する時点を露出始点とし、「*Ｂｓｔａｒｔ１<=*Ｂ/３」、すなわち、光源Ｂを使用する画素列「Ｂ１」に対しては、光源Ｂの周期の３/４に相当する時点を露出始点とし、「Ｂｓｔａｒｔ２<=*Ｂ/２」、すなわち、光源Ｂを使用する画素列「Ｂ２」に対しては、光源Ｂの周期の２/４に相当する時点を露出始点として、該当する画素列のイメージに関する情報を取得する。
【００５７】
ステップＳ５０６では、ステップＳ５０５に対応するフレームの処理の間に得られた各４列の画素列のイメージに間する情報の平均値を計算する。
【００５８】
すなわち、Ａ１から得られる情報の２番目のフレームにおけるの平均値である「＄ＡＦ２１<=ＡＦｒａｍｅａｖｇ１」と、Ａ２から得られる情報の最初のフレームにおける平均値である「＄ＡＦ２２<=ＡＦｒａｍｅａｖｇ２」と、Ｂ１から得られる情報の最初のフレームにおける平均値である「＄ＢＦ２１<=ＢＦｒａｍｅａｖｇ１」と、Ｂ２から得られる情報の最初のフレームにおける平均値である「＄ＢＦ２２<=ＢＦｒａｍｅａｖｇ２」とをそれぞれ算出する。
【００５９】
ステップＳ５０７では、「*Ａｓｔａｒｔ１<=*Ａ/２」、すなわち、光源Ａを使用する画素列「Ａ１」に対しては、光源Ａの周期の２/４に相当する時点を露出始点とし、「Ａｓｔａｒｔ２<=*Ａ/３」、すなわち、光源Ａを使用する画素列「Ａ２」に対しては、光源Ａの周期の３/４に相当する時点を露出始点とし、「*Ｂｓｔａｒｔ１<=*Ｂ/２」、すなわち、光源Ｂを使用する画素列「Ｂ１」に対しては、光源Ｂの周期の２/４に相当する時点を露出始点とし、「Ｂｓｔａｒｔ２<=*Ｂ/３」、すなわち、光源Ｂを使用する画素列「Ｂ２」に対しては、光源Ｂの周期の３/４に相当する時点を露出始点として、対応する列のイメージに関する情報を取得する。
【００６０】
ステップＳ５０８では、ステップＳ５０７に対応するフレームを処理する間に得られる各４列の画素列のイメージに関する情報の平均値を計算する。
【００６１】
すなわち、Ａ１から得られる情報の３番目のフレームにおける平均値である「＄ＡＦ３１<=ＡＦｒａｍｅａｖｇ１」と、Ａ２から得られる情報の最初のフレームにおける平均値である「＄ＡＦ３２<=ＡＦｒａｍｅａｖｇ２」と、Ｂ１から得られる情報の最初のフレームにおける平均値である「＄ＢＦ３１<=ＢＦｒａｍｅａｖｇ１」と、Ｂ２から得られる情報の最初のフレームにおける平均値である「＄ＢＦ３２<=ＢＦｒａｍｅａｖｇ２」とをそれぞれ算出する。
【００６２】
ステップＳ５０９では、「*Ａｓｔａｒｔ１<=*Ａ」、すなわち、光源Ａを使用する画素列「Ａ１」に対しては、光源Ａの周期の４/４に相当する時点を露出始点とし、「Ａｓｔａｒｔ２<=*Ａ/４」、すなわち、光源Ａを使用する画素列「Ａ２」に対しては、光源Ａの周期の１/４に相当する時点を露出始点とし、「*Ｂｓｔａｒｔ１<=*Ｂ」、すなわち、光源Ｂを使用する画素列「Ｂ１」に対しては、光源Ｂの周期の１/４に相当する時点を露出始点とし、「Ｂｓｔａｒｔ２<=*Ｂ/４」、すなわち、光源Ｂを使用する画素列「Ｂ２」に対しては、光源Ｂの周期の４/４に相当する時点を露出始点として、対応する列のイメージに関する情報を取得する。
【００６３】
ステップＳ５１０では、ステップＳ５０９に対応するフレームを処理する間に得られる各４列の画素列のイメージに対する情報の平均値を計算する。
【００６４】
すなわち、Ａ１から得られる情報の４番目のフレームにおける平均値である「＄ＡＦ４１<=ＡＦｒａｍｅａｖｇ１」と、Ａ２から得られる情報の最初のフレームにおける平均値である「＄ＡＦ４２<=ＡＦｒａｍｅａｖｇ２」と、Ｂ１から得られる情報の最初のフレームにおける平均値である「＄ＢＦ４１<=ＢＦｒａｍｅａｖｇ１」と、Ｂ２から得られる情報の最初のフレームにおける平均値である「＄ＢＦ４２<=ＢＦｒａｍｅａｖｇ２」とをそれぞれ算出する。
【００６５】
ステップＳ５１１では、現在データが出力されるフレームが４番目であるか否かを判断し、４番目のフレームである場合には、ステップＳ５０１へ戻り、フレームカウンタＦｒａｍｅを「０」にセットする。
【００６６】
ステップＳ５１２では、各画素列に対して出力された４つの平均値を使用することにより、最小値及び最大値を算出する。
【００６７】
この時、Ａ１に対する平均値の最大値は、「ＭａｘＡ１<=Ｍａｘ(＄ＡＦ１１、＄ＡＦ２１、＄ＡＦ３１、＄ＡＦ４１)」であり、Ａ１に対する平均値の最小値は、「ＭｉｎＡ１<=Ｍｉｎ(＄ＡＦ１１、＄ＡＦ２１、＄ＡＦ３１、＄ＡＦ４１)」である。
【００６８】
Ａ２に対する平均値の最大値は、「ＭａｘＡ２<=Ｍａｘ(＄ＡＦ１２、＄ＡＦ２２、＄ＡＦ３２、＄ＡＦ４２)」であり、Ａ２に対する平均値の最小値は、「ＭｉｎＡ２<=Ｍｉｎ(＄ＡＦ１２、＄ＡＦ２２、＄ＡＦ３２、＄ＡＦ４２)」である。
【００６９】
Ｂ１に対する平均値の最大値は、「ＭａｘＢ１<=Ｍａｘ(＄ＢＦ１１、＄ＢＦ２１、＄ＢＦ３１、＄ＢＦ４１)」であり、Ｂ１に対する平均値の最小値は、「ＭｉｎＢ１<=Ｍｉｎ(＄ＢＦ１１、＄ＢＦ２１、＄ＢＦ３１、＄ＢＦ４１)」である。
【００７０】
Ｂ２に対する平均値の最大値は、「ＭａｘＢ２<=Ｍａｘ(＄ＢＦ１２、＄ＢＦ２２、＄ＢＦ３２、＄ＢＦ４２)」であり、Ｂ２に対する平均値の最小値は、「ＭｉｎＢ２<=Ｍｉｎ(＄ＢＦ１２、＄ＢＦ２２、＄ＢＦ３２、＄ＢＦ４２)」である。
【００７１】
次いで、ステップＳ５１３では、画素列Ａ１での最大値から最小値を引くことにより第１減算値「ＭａｘＡ１-ＭｉｎＡ１」を算出し、画素列Ａ２での最大値から最小値を引くことにより第２減算値「ＭａｘＡ２-ＭｉｎＡ２」を算出する。次に、第１及び第２減算値を、「ＦｌｋＡ<=Ｍｉｎ((ＭａｘＡ１-ＭｉｎＡ１)、(ＭａｘＡ２-ＭｉｎＡ２))」式により比較して、そのうち小さい方の値を第１最小減算値「ＦｌｋＡ」として出力する。
【００７２】
また、画素列Ｂ１における最大値から最小値を引くことにより第３減算値「ＭａｘＢ１-ＭｉｎＢ１」を算出し、画素列Ｂ２における最大値から最小値を引くことにより第４減算値「ＭａｘＢ２-ＭｉｎＢ２」を算出する。その後、第３及び第４減算値を「ＦｌｋＢ<=Ｍｉｎ((ＭａｘＢ１-ＭｉｎＢ１)、(ＭａｘＢ２-ＭｉｎＢ２))」式により比較して、そのうち小さい方の値を第２最小減算値「ＦｌｋＢ」として出力する。
【００７３】
次いで、第１最小減算値「ＦｌｋＡ」と第２最小減算値「ＦｌｋＢ」との大小を比較して、フリッカノイズに対応する露出時間を決定する(ステップＳ５１４)。
【００７４】
この場合、フリッカノイズは、第１最小減算値「ＦｌｋＡ」及び第２最小減算値「ＦｌｋＢ」のうち、大きい値を有する露出時間に対応する光源であり、実際の光源は、小さい値を有する露出時間に対応する光源である。
【００７５】
第１最小減算値「ＦｌｋＡ」と第２最小減算値「ＦｌｋＢ」は、僅かな外部環境の変化に起因する誤動作を防止するために、信号変換最低値「Ｔｈ」より大きくなければならない。
【００７６】
上述した図５に示した動作を説明すると、まず４つのフリッカ検出専用ラインのうち、各１対に相互に異なる露出時間を採用する。そして、同じ露出時間を有する画素列は相互に異なる露出始点を採用して、次のフレームでは以前のフレームとは異なった露出始点を採用する。この時、露出時間は変わらない。
【００７７】
このように、露出時間と露出始点とを変える場合、光源の周期と露出時間とが相違すると、それぞれのフレームから出力される各ラインの出力値が、他のラインからの出力値と異なるので、正確にフリッカを検出することができる。
【００７８】
すなわち、さらに正確なフリッカの検出を行うためには、４列のラインで２列のラインずつ、露出時間が異なるようにする。それによって、４列のラインのそれぞれから４つの結果が得られ、４列のラインから合計１６の結果が得られるようになる。
【００７９】
まず、４つのフレームにおける最初のラインの結果を比較することによって、最大値及び最小値が得られる。同様に、４つのフレームにおける２番目のライン、３番目のライン及び４番目のラインから、それぞれ最大値及び最小値が得られる。この後、光源Ａによって供給された２つのラインの結果のうち、小さい方の値が「ＦｌｋＡ」となり、光源Ｂによって供給された２ラインのうち、小さい方の値が「ＦｌｋＢ」となる。「ＦｌｋＡ」と「ＦｌｋＢ」とを比較して、小さい方の値が、現在の光源を示すものである。
【００８０】
このような手順でフリッカであるか否かが判断されると、露出時間が、現在検出された光源に合うように自動的に変更され、フリッカ現象が取り除かれる。
【００８１】
上述した本発明に係る実施の形態では、光源の差によって生じるフリッカノイズを自動的に除去する画素ラインを、それぞれ異なる光源を有する画素ライン対に区分し、それらの各対に相互に異なる露出始点を適用するようにした。それによって、フレームの周期が光源の周期の整数倍に相当する場合にも、フリッカノイズの検出が可能であることが実施の形態を通して理解されたであろう。
【００８２】
なお、本発明は、上記の実施の形態に限定されるものではなく、本発明に係る技術的思想から逸脱しない範囲内で様々な変更が可能であり、それらも本発明の技術的範囲に属する。
【図面の簡単な説明】
【００８３】
【図１】従来の技術に係る一般的なイメージセンサの概略の構成を示すブロック図である。
【図２Ａ】フリッカ現象が現れる様々なケースの例を示すグラフである。
【図２Ｂ】フリッカ現象が現れる多様なケースの例を示すグラフである。
【図３】本発明の実施の形態に係るイメージセンサを示すブロック図である。
【図４】フレームの周期が光源の周期の整数倍である時に、露出始点が異なる場合のフリッカの検出例を示すグラフである。
【図５】本発明の実施の形態に係るフリッカを検出するためのアルゴリズムを示すフローチャートである。
【符号の説明】
【００８４】
３０      画素配列部
３１      ノイズ検出用画素部
３２      フリッカノイズ検出部
３３      制御及び外部システムインタフェース部
３４      アナログラインバッファ部
３５      アナログバス
３６      カラムデコーダ
３７      アナログ信号処理部
３８      ディジタル信号処理部
【図１】
0004632766.tif 000002
【図２Ａ】
0004632766.tif 000003
【図２Ｂ】
0004632766.tif 000004
【図３】
0004632766.tif 000005
【図４】
0004632766.tif 000006
【図５】
0004632766.tif 000007