(57)【特許請求の範囲】
【請求項１】
１画面を複数の領域に区分して、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算する積算部と、
前記積算部の積算結果を記憶する積算結果メモリと、
前記積算部で得られた積算結果と前記積算結果メモリに記憶されている積算結果を用いて、静止画領域であるか否かを領域毎に判別する領域判別部と、
前記領域判別部によって静止画領域と判別された領域の積算結果を平均化し、該平均化された積算結果と前記積算部で得られた積算結果を用いて演算を行い、フリッカレベルを算出するフリッカレベル算出部とを有し、
前記積算部は、ライン方向に画素レベルを順次加算してライン方向の加算が終了したとき加算結果を前記領域毎に割り当てたメモリ領域に書き込み、次のラインで画素レベルをライン方向に加算する際には、前記メモリ領域から加算結果を読み出して、該読み出した加算結果に画素レベルを順次加算し、ライン方向の加算が終了したとき加算結果を前記メモリ領域に書き込む
フリッカ検出装置。
【請求項２】
前記フリッカレベル算出部は、照度変化に対する位相がそれぞれ異なる画面の積分結果を用いて平均化を行う
請求項１記載のフリッカ検出装置。
【請求項３】
１画面を複数の領域に区分して、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算する積算部と、
前記積算部の積算結果を記憶する積算結果メモリと、
前記積算部で得られた積算結果と前記積算結果メモリに記憶されている積算結果を用いて、静止画領域であるか否かを領域毎に判別する領域判別部と、
前記領域判別部によって静止画領域と判別された領域の積算結果を平均化し、該平均化された積算結果と前記積算部で得られた積算結果を用いて演算を行い、フリッカレベルを算出するフリッカレベル算出部と
前記算出されたフリッカレベルを用いて、該フリッカレベルを算出した画面の画素レベルを補正するフリッカ補正部を有し、
前記積算部は、ライン方向に画素レベルを順次加算してライン方向の加算が終了したとき加算結果を前記領域毎に割り当てたメモリ領域に書き込み、次のラインで画素レベルをライン方向に加算する際には、前記メモリ領域から加算結果を読み出して、該読み出した加算結果に画素レベルを順次加算し、ライン方向の加算が終了したとき加算結果を前記メモリ領域に書き込む
フリッカ除去装置。
【請求項４】
撮像画像の映像信号を生成する撮像部と、
前記映像信号に基づいた１画面を複数の領域に区分して、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算する積算部と、
前記積算部の積算結果を記憶する積算結果メモリと、
前記積算部で得られた積算結果と前記積算結果メモリに記憶されている積算結果を用いて、静止画領域であるか否かを領域毎に判別する領域判別部と、
前記領域判別部によって静止画領域と判別された領域の積算結果を平均化し、該平均化された積算結果と前記積算部で得られた積算結果を用いて演算を行い、フリッカレベルを算出するフリッカレベル算出部と、
前記算出されたフリッカレベルを用いて、該フリッカレベルを算出した画面の画素レベルを補正して、前記撮像部で生成された映像信号からフリッカ成分を除去するフリッカ補正部を有し、
前記積算部は、ライン方向に画素レベルを順次加算してライン方向の加算が終了したとき加算結果を前記領域毎に割り当てたメモリ領域に書き込み、次のラインで画素レベルをライン方向に加算する際には、前記メモリ領域から加算結果を読み出して、該読み出した加算結果に画素レベルを順次加算し、ライン方向の加算が終了したとき加算結果を前記メモリ領域に書き込む
撮像装置。
【請求項５】
１画面を複数の領域に区分する区分処理工程と、
画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、区分された領域内の画素レベルを領域毎に積算する積算処理工程と、
前記積算処理工程で得られた積算結果を記憶する積算結果記憶工程と、
前記積算処理工程で得られた積算結果と前記積算結果記憶工程で記憶された積算結果を用いて、静止画領域であるか否かを領域毎に判別する領域判別処理工程と、
前記領域判別処理工程によって静止画領域と判別された領域の積算結果を平均化する平均化処理工程と、
前記平均化された積算結果と前記積算処理工程で得られた積算結果を用いて演算を行い、フリッカレベルを算出する演算処理工程とを有し、
前記積算処理工程において、ライン方向に画素レベルを順次加算してライン方向の加算が終了したとき加算結果を前記領域毎に割り当てたメモリ領域に書き込み、次のラインで画素レベルをライン方向に加算する際には、前記メモリ領域から加算結果を読み出して、該読み出した加算結果に画素レベルを順次加算し、ライン方向の加算が終了したとき加算結果を前記メモリ領域に書き込む
フリッカ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、フリッカ検出装置とフリッカ除去装置と撮像装置およびフリッカ検出方法に関する。詳しくは、１画面を複数の領域に区分して、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算して、この積算結果と積算結果メモリに既に記憶した同一領域の積算結果を用いて、静止画領域であるか否かを領域毎に判別する。さらに、静止画領域と判別された領域の積算結果を平均化し、この平均化された積算結果と領域内の画素レベルを領域毎に積算して得た積算結果に基づいてフリッカレベルを画面単位で算出して、フリッカ除去を行うものである。
【背景技術】
【０００２】
蛍光灯などの周期的に点滅を繰り返す光源の下で撮像を行った場合、撮像画像には周期的な縞の明暗やフレーム間で画像全体に周期的な明暗の違いが現れる。これはフリッカと呼ばれ、点滅する光源の下で電荷の蓄積を行って映像信号を生成するイメージセンサを備えた撮像装置では、避けることのできない問題となっている。
【０００３】
イメージセンサでは、面単位もしくはライン単位で電荷の蓄積タイミングが異なるものとされており、面単位で電荷の蓄積タイミングを合わせる方式はグローバルシャッタ方式、ライン単位で電荷の蓄積タイミングを合わせる方式はローリングシャッタ方式と呼ばれている。
【０００４】
グローバルシャッタ方式の場合、光源の点滅周期よりも撮像レートが高速であると、１フレーム期間中に蓄積される電荷量がフレーム間で異なるものとなりフリッカが生じる場合がある。
【０００５】
図７は、グローバルシャッタ方式を用いたイメージセンサにおける電荷蓄積量を説明するためのものである。商用電源電圧の周波数に応じて、照度ＩＬが図７に示すように周期的に変化する場合、露光時間ＴＣが一定であると、周期的な照度変化に対する露光期間の位相の違いによって、斜線で示す領域の面積差が生ずる。この斜線で示す領域の面積は、電荷蓄積量に対応するものであり、面積差が電荷蓄積量の差となってフレーム間輝度差を生じさせてしまう。したがって、図８に示すように、照度ＩＬに対する位相が異なるフレームでは、フレーム間で輝度差を生じた映像となり、フレーム間で画像全体に周期的な明暗の違いが現れる。なお、図８では、３フレーム期間が照度変化の１周期に相当する場合を示している。
【０００６】
周期的に点滅する光源下で撮影された映像に含まれるフリッカ成分は、正弦波によって近似することができ、正弦波の性質を利用してフリッカを除去し補正画像を作る方法が行われている。また、フリッカを補正するために、入力画像よりフリッカ成分を検出し、検出されたフリッカ成分をもとにゲインを調整する方法も提案されている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００４−２２２２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、面フリッカの位相と振幅は、照度変化に対する位相が等しくなる画面の周期分の複数画面、すなわち周期的な照度変化に対する位相がそれぞれ異なる画面を用いて、画面全体の輝度の積分を各画面で行い、その積分結果を比較することで可能となる。
【０００９】
例えば、照度変化の周期すなわちフリッカ周期が３フレーム期間と等しい場合、照度変化に対する位相がそれぞれ異なる３フレームの画面に対して、画面全体の輝度の積分を行う。ここで、図９に示すように、１フレーム目の輝度の積算結果は「ＹＩ＝１００」、２フレーム目の輝度の積算結果は「ＹＩ＝８０」、３フレーム目の輝度の結果は「ＹＩ＝９０」であったとする。この場合、３フレームの平均は「９０」であることから、１フレーム目のフリッカ成分は「ＦＬ＝１０」、２フレーム目のフリッカ成分は「ＦＬ＝−１０」、３フレーム目のフリッカ成分は「ＦＬ＝０」となる。
【００１０】
しかし、撮像画面内に移動する被写体が含まれると、この被写体の移動によって輝度の積算結果が変動してしまい、積算結果はフリッカ成分を正しく示すものでなくなってしまう。
【００１１】
例えば、図１０に示すように、図９の撮像画像に移動する被写体ＯＢが含まれている場合、１フレーム目の積算結果は、移動する被写体ＯＢが画面の輝度と等しいとき「ＹＩ＝１００」、２フレーム目の積算結果は、移動する被写体ＯＢが画面内に半分含まれることによって「ＹＩ＝８５」、３フレーム目の積算結果は移動する被写体ＯＢが画面内に僅かに含まれることによって「ＹＩ＝９１」となったとする。このとき、３フレームの平均は「ＹＩavg＝９２」であることから、１フレーム目のフリッカ成分は「ＦＬ＝８」、２フレーム目のフリッカ成分は「ＦＬ＝−７」、３フレーム目のフリッカ成分は「ＦＬ＝−１」となり、図９に示す場合とフリッカ成分が異なるものとなってしまう。
【００１２】
そこで、この発明では、フリッカレベルを簡単な構成で容易に検出できるとともに、フリッカの除去を行うことができるフリッカ検出装置とフリッカ除去装置と撮像装置およびフリッカ検出方法を提供するものである。
【課題を解決するための手段】
【００１３】
この発明に係わるフリッカ検出装置とフリッカ除去装置と撮像装置およびフリッカ検出方法では、１画面を複数の領域に区分して、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算して、得られた積算結果を積算結果メモリに記憶する。ここで、画素レベルを積算する際には、領域のそれぞれにおいて、ライン方向に画素レベルを順次加算してライン方向の加算が終了したとき加算結果を領域毎に割り当てたメモリ領域に書き込むものとし、次のラインで画素レベルをライン方向に加算する際には、このメモリ領域に書き込まれている加算結果を読み出して、該読み出した加算値に画素レベルを順次加算し、ライン方向の加算が終了したとき加算値を領域毎に割り当てたメモリ領域に書き戻すことで、積算結果を得るものとする。また、領域内の画素レベルを領域毎に積算して得られた積算結果と、記憶されている積算結果を用いて、静止画領域であるか否かの判別を領域毎に行い、静止画領域と判別された領域の積算結果を平均化して、例えば照度変化に対する位相がそれぞれ異なる画面で静止画領域と判別された領域の積算結果を平均化し、この平均化された積算結果と領域内の画素レベルを領域毎に積算して得られた積算結果を用いて演算を行うことでフリッカレベルが算出される。
【発明の効果】
【００１４】
この発明によれば、画素レベルの加算と領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しを行い、領域内の画素レベルを領域毎に積算して得た積算結果と、静止画領域と判別された領域の積算結果の平均値を用いて演算を行い、フリッカレベルが算出される。このため、移動する被写体が含まれてもフリッカレベルを容易に検出できる。また、積算結果を得る際に、領域毎に割り当てたメモリ領域への加算結果の書き込みおよび読み出しが繰り返されて積算結果が算出されるので、大きな容量のメモリを用いることなく効率よく積算結果を得ることができるので、構成が簡単で安価とすることができる。
【発明を実施するための最良の形態】
【００１５】
以下、図を参照しながら、この発明の実施の形態について説明する。図１は撮像装置の構成を示している。
【００１６】
撮像装置１０の撮像部１１は、映像信号Ｓvを生成してＡ／Ｄ変換部１２に供給する。Ａ／Ｄ変換部１２は、撮像部１１から供給された映像信号Ｓvをディジタルの映像信号Ｄvに変換して、フリッカ検出部２０とフリッカ補正部３０に供給する。フリッカ検出部２０はフリッカレベルを検出して、検出結果を示すフリッカレベル信号Ｌfをフリッカ補正部３０に供給する。
【００１７】
図２は、フリッカ検出部の構成を示している。フリッカ検出部２０の積算部２１は、１画面を複数の領域に区分して、領域毎に画素レベルの積算すなわち領域の輝度レベルを算出する。また、積算部２１は、積算結果ＹＭを積算結果メモリ２２と領域判別部２３およびフリッカレベル算出部２４に供給する。
【００１８】
積算結果メモリ２２は、供給された積算結果ＹＭを記憶する。また、積算部２１から領域判別部２３に供給される積算結果ＹＭを得たフレームと、周期的な照度変化に対する位相が等しいフレームの映像信号Ｄvを用いて既に算出されている積算結果ＹＭ’を領域判別部２３に供給する。
【００１９】
ここで、照度変化に対する位相が等しくなるフレーム画像の周期は、例えば照度変化の周波数とフレーム周波数の比が「Ｋa：Ｋb」であるとき、「Ｋa」と「Ｋb」の最小公倍数を「Ｋlcm」とすると、「Ｋlcm」フレーム分の期間となる。したがって、照度変化の周波数すなわちフリッカ周波数よりもフレーム周波数が高いとき、「Ｋlcm」フレーム分の積算結果を記憶しておけば、積算結果ＹＭに対応する積算結果ＹＭ’を領域判別部２３に供給することができる。なお、フレーム周波数は撮像部１１の動作から明らかであり、フリッカ周波数は、撮像装置１０に設けられたユーザインタフェース（図示せず）で設定するものとする。また、フレーム画像の輝度変化の周期性を検出して、フリッカ周波数を算出することも可能である。
【００２０】
領域判別部２３は、積算部２１から供給された積算結果ＹＭと積算結果メモリ２２から供給された積算結果ＹＭ’との差分を同じ位置の領域毎に算出して、差分量が閾値を超えているときには動画領域、閾値を超えていないときは静止画領域と判別する。また、判別結果を示す判別信号ＲＤをフリッカレベル算出部２４に供給する。
【００２１】
フリッカレベル算出部２４は、判別信号ＲＤと積算結果ＹＭを用いてフレーム毎のフリッカレベルを示すフリッカレベル信号Ｌfを生成して、フリッカ補正部３０に供給する。このフリッカレベル信号Ｌfを生成では、判別信号ＲＤによって静止画領域であると示された領域の積算結果を平均化する。この平均化では、周期的な照度変化に対する位相がそれぞれ異なるフレーム画像の積算結果の平均値を算出する。さらに、算出した平均値と各フレームの積算結果の差に基づいてフリッカレベル信号Ｌfの生成を行う。
【００２２】
フリッカ補正部３０は、フリッカレベル信号Ｌfに基づき、フリッカ成分を除去するように映像信号Ｄvの補正を行い、フリッカ補正後の映像信号Ｄvcをカメラ信号処理部４０に供給する。
【００２３】
カメラ信号処理部４０は、フリッカ補正がなされた映像信号Ｄvcを用いて、ガンマ補正処理やニー補正処理等の種々の信号処理を行い、映像出力信号Ｖoutを生成する。
【００２４】
次に、フリッカ検出除去動作について説明する。上述したように、積算部２１は、１画面を複数の領域に区分して、領域毎に輝度の積算結果を求める。以下、説明を簡単とするため、１画面の画像サイズは縦方向が１００画素で横方向が１００画素、映像信号Ｄvの１画素は１０ビットであり、１画面の分割数は縦方向と横方向をそれぞれ５分割とする。
【００２５】
１画面を複数の領域に区分して、領域毎に静止画領域であるか否かの判別を行うものとすると、画素単位で静止画領域の画素であるか否かを判別する場合に比べて、使用するメモリの容量を少なくできる。
【００２６】
例えば、移動する被写体ＯＢが含まれるフレーム画像を用いて、画素単位で静止画領域の画素であるか否かを判別する場合、図３Ａに示すように、過去のフレーム画像ＧＦaを保持しておくものとして、このフレーム画像ＧＦaと入力フレーム画像ＧＦbで画素毎に画素レベルの差を検出する。この画素レベルの差が閾値を超える画素部分ＡＲm（斜線で示す部分）は動画領域、閾値を超えていない画素部分ＡＲsは静止画領域と判別する。このように、画素単位で静止画領域の画素であるか否かを判別する場合、フレーム画像ＧＦaを保持するためには、「１００画素×１００画素×１０ビット＝１０００００ビット」のメモリ容量が必要となる。
【００２７】
また、移動する被写体ＯＢが含まれるフレーム画像を用いて、複数画素からなる領域単位で静止画領域であるか否かを判別する場合には、図３Ｂに示すように、過去のフレーム画像ＧＦaを保持する際に、フレーム画像ＧＦaの縦方向と横方向をそれぞれ５分割して、領域毎の積算結果をメモリに記憶させる。また、記憶されている領域毎の積算結果と、入力フレーム画像ＧＦbにおいて位置が対応する領域の積算結果との差を検出する。この積算結果の差が閾値を超える領域部分ＢＲm（斜線で示す部分）は動画領域、閾値を超えていない領域部分ＢＲsは静止画領域と判別する。この場合、１つの領域は「１０ビット×４００画素＝２４ビット」で表すことができるので、フレーム画像ＧＦaの各領域の積算結果を記憶するためには、「５ブロック×５ブロック×２４ビット＝５２５ビット」のメモリ容量が必要となる。
【００２８】
したがって、領域毎に静止画領域であるか否かの判別を行うことにより、画素単位で静止画領域であるか否かの判別を行う場合に比べて、必要とされるメモリ容量を大幅に少なくできる。
【００２９】
ここで、領域毎に静止画領域であるか否かの判別を行うものとしたとき、静止画領域と判別された領域部分ＢＲsには、移動する被写体ＯＢの画像が含まれず、動画領域と判別された領域部分ＢＲmには、移動する被写体ＯＢと静止画像が含まれることとなる。
【００３０】
また、面フリッカは、１フレームの電荷蓄積時間（露光時間）と光源の点滅周期が異なることから起きるため、同一フレーム内の各画素では、フリッカによる画素レベルの変動が全て一定の割合で生じることとなる。したがって、フリッカ以外の要因によるレベル変化を除くことができれば、フレーム内の一部のサンプルのみでフリッカレベルを検出することができる。
【００３１】
したがって、移動する被写体ＯＢの画像が含まれていない静止画領域は、フリッカ以外のレベル変化がない状態と言えることから、領域単位で静止画領域か否かの判別を行う場合でも、画素単位で静止画領域であるか否かの判別を行う場合とほぼ同等の精度でフリッカレベルを検出することができる。
【００３２】
次に、積算部２１の動作について説明する。積算部２１は、１画面を複数の領域に区分して、領域毎に積算結果を算出する場合、以下のようにメモリ領域を繰り返し用いることにより、少ないメモリ容量で効率よく積算結果の算出を行う。
【００３３】
１つの領域の横方向サイズは例えば２０画素であることから、図４に示すように、１ライン目の最初の２０画素すなわち１画素目から２０画素目までの画素レベルを加算して得た加算結果は、メモリＭＲのメモリアドレス１に書き込む。１ライン目の次の２０画素すなわち２１画素目から４０画素目までの画素レベルを加算して得た加算結果は、メモリアドレス２に記憶させる。以下同様にして、１ライン目の最後までの２０画素の加算結果、すなわち８１画素目から１００画素目までの画素レベルを加算して得られた加算結果は、メモリアドレス５に記憶させる。
【００３４】
２ライン目では、メモリアドレス１に記憶されている加算結果を読み出して、この読み出した加算結果に１画素目から２０画素目までの画素レベルを加算して、得られた加算結果をメモリアドレス１に書き戻す。次に、メモリアドレス２に記憶されている加算結果を読み出して、この読み出した加算結果に２１画素目から４０画素目までの画素レベルを加算して、得られた加算結果をメモリアドレス２に書き戻す。以下同様にして、メモリから記憶されている加算結果を読み出して、この読み出した加算結果に２ライン目の画素レベルを加算したのちメモリに書き戻す処理を行う。
【００３５】
１つの領域の縦方向サイズは例えば２０ラインであることから、２０ライン目まで２ライン目と同様な処理を繰り返すことで、最初の列の領域における積算結果をメモリアドレス１〜メモリアドレス５に記憶させることができる。
【００３６】
同様に、２列目の領域についてもメモリアドレス６〜メモリアドレス１０を用いて、最初の列の領域と同様に処理することで、２列目の領域における積算結果をメモリアドレス６〜メモリアドレス１０に記憶させることができる。
【００３７】
３列目〜５列目の領域についてもメモリアドレス１１〜メモリアドレス２５を用いて、同様な処理を繰り返すことで、３列目〜５列目の領域における積算結果をメモリアドレス１１〜メモリアドレス２５に記憶させることができる。
【００３８】
このように、区分後の１つの領域に対して１つのメモリアドレスを用いるものとして、このメモリアドレスに積算結果を記憶させるものとすれば、各画素の画素レベルをメモリに記憶させる場合に比べて、メモリ容量を少なくできる。また、メモリに対する読み出しと書き込み処理が２０画素に対して１回とされることから、高い周波数を用いる必要がない。
【００３９】
このようにして生成した積算結果ＹＭは、積算結果メモリ２２と領域判別部２３およびフリッカレベル算出部２４に供給する。なお、積算部２１は積算結果メモリ２２を利用して、積算結果の算出を行うものとしてもよい。この場合、積算結果の算出が完了した時点で積算結果ＹＭが積算結果メモリ２２に記憶されている状態となる。
【００４０】
次に、領域判別部２３の判別動作について図５を用いて説明する。静止画領域であるか否かの判別動作では、図５Ａに示す照度ＩＬの変化に対して、図５Ｂにおける位相が等しい２つのフレーム画像、例えば積算結果メモリ２２に記憶されている１フレーム目のフレーム画像ＧＦ1の積算結果ＹＭ’と、積算部２１で算出された４フレーム目のフレーム画像ＧＦ4の積算結果ＹＭを用いる。
【００４１】
このように、照度変化に対する位相が等しい２つのフレーム画像では、フリッカ以外の要因によるレベル変化がないと、フリッカ成分が等しくなる。このため、２つのフレームで同じ位置の領域における積算結果を比較したとき、フリッカ以外の要因によるレベル変化がないときには差分が小さく、フリッカ以外の要因によるレベル変化が生じたときには差分が大きくなる。
【００４２】
したがって、図５Ｃに示すように、照度変化に対する位相が等しい２つのフレーム画像ＧＦ1，ＧＦ4間で、等しい位置の領域毎に積算結果の差分ＤＥ(0,0)〜ＤＥ(4,4)を求め、この差分ＤＥ(0,0)〜ＤＥ(4,4)をそれぞれ閾値と比較する。ここで、移動する被写体ＯＢが含まれていない領域は差分が小さく、移動する被写体ＯＢが含まれている領域は差分が大きくなる。このため、図５Ｄに示すように、差分が閾値を超える領域すなわち移動する被写体ＯＢが含まれている領域は、動画領域（斜線で示す領域）ＢＲmと判別する。また、差分が閾値を超えない領域すなわち移動する被写体ＯＢが含まれていない領域は、静止画領域（斜線のない領域）ＢＲsと判別する。このように静止画領域であるか否かの判別動作を行い、判別結果を示す判別信号ＲＤを生成してフリッカレベル算出部２４に供給する。
【００４３】
また、図５において、移動する被写体が小さいとき、２つのフレーム画像ＧＦ1，ＧＦ4間で積算結果の差分を求めて判別を行うと、移動する被写体が通過してしまった領域は静止画領域と判別される。しかし、この領域は、フレーム画像ＧＦ2やフレーム画像ＧＦ3において被写体が含まれた動画領域である。このため、静止画領域であるか否かの判別は、照度変化に対して位相が異なるフレーム画像毎に行う。例えばフレーム画像ＧＦ2とフレーム画像ＧＦ5（図示せず）を用いた判別やフレーム画像ＧＦ3とフレーム画像ＧＦ6（図示せず）を用いた判別を行うことで、静止画領域を正しく判別できる。あるいは、フレーム画像ＧＦ1とフレーム画像ＧＦ4を用いて被写体の動きベクトルを求め、この動きベクトルからフレーム画像ＧＦ1とフレーム画像ＧＦ4間で被写体が通過した領域を判別して、この領域を動き領域とすることもできる。また、フレーム画像ＧＦ1で動画領域と判別された領域がフレーム画像ＧＦ4で動画領域と判別された領域の位置に移動したものとして、フレーム画像ＧＦ1で動画領域と判別された領域とフレーム画像ＧＦ4で動画領域と判別された領域との間にある領域は動画領域と処理すれば、判別を簡単に行うことができる。
【００４４】
フリッカレベル算出部２４は、判別信号ＲＤと積算結果ＹＭを用いてフレーム毎にフリッカレベルを示すフリッカレベル信号Ｌfを生成する。フリッカレベル算出部２４は、フレーム間での輝度変動を平均化した平均値を算出する。
【００４５】
平均値の算出では、精度良く平均値を算出できるように、周期的な照度変化に対する位相がそれぞれ異なるフレーム画像を用いる。例えば、フレーム画像ＧＦ2〜ＧＦ4を用いる。このように、周期的な照度変化に対する位相がそれぞれ異なるフレーム画像を等しい数だけ用いるものとすれば、明るいフレーム画像のみを用いて平均値が算出されたり、暗いものとされたフレーム画像のみを用いて平均値が算出されてしまうことを防止できる。
【００４６】
また、各フレーム画像において、フリッカ以外の要因によるレベル変化のない領域すなわち静止画領域と判別された領域の積算結果を加算して、平均値を算出する。ここで、平均値の算出を容易に行うことができるように、各フレーム画像から等しい数の積算結果を用いるものとする。また、各フレーム画像のいずれにおいても静止画領域と判別された位置の領域で得られた積算結果を用いるものとすれば、各フレーム画像から等しい数の積算結果を用いたものとなる。
【００４７】
このように、各フレーム画像から等しい数の積算結果を用いて加算を行い、フレーム数で除算すれば、フリッカによるフレーム間での輝度変動を平均化した平均値を容易に算出できる。
【００４８】
次に、算出した平均値と各フレーム画像の積算結果を用いて、フレーム画像毎のフリッカレベルを算出する。ここで、各フレーム画像から等しい数の積算結果を用いて平均値を算出したとき、平均値の算出に用いた積算結果をフレーム内で加算して、この加算値と算出した平均値との差分をフレーム毎に算出する。この差分は、平均値の算出に用いた積算結果を得た領域における各画素のフリッカレベルの積算結果に相当する。したがって、平均値の算出に用いた積算結果を得た領域の画素数で、差分を除算すれば１画素あたりフリッカレベルを算出できる。
【００４９】
また、フリッカによる画素レベルの変動がフレーム画像内で全て一定の割合で生じることから、照度変化に対する位相がそれぞれ異なるフレーム画像を用いるものとして、各フレーム画像から、静止画領域と判別された１つの領域を選択して、この選択した領域の積算結果を用いて平均値を算出するものとしてもよい。この場合、算出した平均値と、平均値の算出に用いた積算結果との差分をフレーム毎に算出して、１つの領域の画素数で差分を除算すれば１画素あたりフリッカレベルを簡単に算出できる。
【００５０】
このようにして、１画素あたりのフリッカレベルをフレーム画像毎に算出して、この画素単位のフリッカレベルを示すフリッカレベル信号Lfを生成してフリッカ補正部３０に供給する。
【００５１】
フリッカ補正部３０は、フリッカ検出部２０で検出されたフリッカレベル信号Ｌfに基づき、フリッカを除去するように映像信号Ｄvの信号レベルを画素毎に補正して映像信号Ｄvcを生成する。ここで、フリッカレベルは、平均値に対する輝度の変化分を示している。したがって、輝度が平均値よりも高いときにはフリッカレベル分だけ映像信号Ｄvの信号レベルを低下させるように補正し、輝度が平均値よりも低いときにはフリッカレベル分だけ映像信号Ｄvの信号レベルを高くするように補正することで、フリッカが除去された映像信号Ｄvcを生成できる。
【００５２】
このように、フリッカが除去された映像信号Ｄvcを用いてカメラ信号処理部４０で種々の処理を行うものとすれば、光源が所定の周期で点滅を生じる場合であっても、フリッカのない映像出力信号Ｖoutを得ることができる。
【００５３】
ところで、フリッカレベル検出処理およびフリッカ除去処理はソフトウェア処理で行うこともできる。この場合、プロクラムを予めメモリに記憶させておき、あるいは記録媒体に予めプログラムを記録しておき、この記録されたプログラムをメモリに読み出すものとし、またはネットワークを介してプログラムの配信を行い、配信されたプログラムをメモリに記憶させるものとして、メモリに記憶されたプログラムをＣＰＵ(Central Processing Unit)が読み出して実行する。
【００５４】
図６は、フリッカ検出除去処理を示すフローチャートである。ステップＳＴ１でＣＰＵは、領域区分処理を行い、各フレーム画像を複数領域に区分する。
【００５５】
ステップＳＴ２でＣＰＵは、積算処理を行い、領域毎に領域内の画素レベルを加算して積算結果を得るものとする。
【００５６】
ステップＳＴ３でＣＰＵは、積算結果記憶処理を行い、ステップＳＴ２で得られた積算結果をメモリに記憶させる。
【００５７】
ステップＳＴ４でＣＰＵは、領域判別処理を行う。領域判別処理では、照度変化に対する位相が等しい２つのフレーム画像の積算結果、すなわちステップＳＴ２で得られた積算結果とメモリに記憶されている積算結果を用いて、領域毎に積算結果の差分を算出する。この差分が閾値を超えないときには静止画領域、差分が閾値を超えるときには動画領域と判別する。
【００５８】
ステップＳＴ５でＣＰＵは、平均値算出処理を行う。平均値の算出では、ステップＳＴ３の領域判別処理によって静止画領域であると判別された領域の積算結果の平均化を行い平均値を算出する。
【００５９】
ステップＳＴ６でＣＰＵは、レベル算出処理を行う。レベル算出処理では、ステップＳＴ４で算出した平均値と、ステップＳＴ３の領域判別処理によって静止画領域であると判別された領域の積算結果を用いて演算を行い、フレーム毎に例えば画素単位のフリッカレベルを算出する。
【００６０】
ステップＳＴ７でＣＰＵは、フリッカ補正処理を行う。フリッカ補正処理では、ステップＳＴ５で算出したフリッカレベルに基づき、このフリッカレベルを打ち消すように映像信号の信号レベルを補正する。
【００６１】
なお、上述の形態ではフレーム単位の画像を複数の領域に分割してフリッカの検出や除去を行う場合について説明したが、フィールド単位の画像にも生じた面フリッカも、上述と同様な処理を行うことで、除去することができる。
【００６２】
このように、１画面を複数の領域に区分して、領域内の画素レベルを領域毎に積算して、得られた積算結果を用いて、静止画領域であるか否かの判別を行い、静止画領域と判別された領域の積算結果を用いてフリッカレベルが算出されるので、画面内に移動する被写体が含まれていても、フリッカレベルを正しく検出できる。また検出されたフリッカレベルに応じて信号レベルが補正されるので、フリッカを精度良く除去できる。
【００６３】
さらに、画素レベルの積算を行う場合に、１つの領域に対して１つのメモリアドレスを用いて、加算値の書き込みや読み出しを繰り返すことで、大きな容量のメモリを用いることなく効率よく積算結果を得ることができるので、構成が簡単で安価とすることができる。
【図面の簡単な説明】
【００６４】
【図１】撮像装置の構成を示す図である。
【図２】フリッカ検出部の構成を示す図である。
【図３】画素単位と領域単位の判別動作を説明するための図である。
【図４】積算部の動作を説明するための図である。
【図５】領域判別部の動作を説明するための図である。
【図６】フリッカ検出除去動作を示すフローチャートある。
【図７】グローバルシャッタ方式を用いたイメージセンサにおける電荷蓄積量を説明するための図である。
【図８】面フリッカを説明するための図である。
【図９】輝度の積算結果とフリッカレベルを示す図である。
【図１０】移動する被写体が含まれる場合を示す図である。
【符号の説明】
【００６５】
１０・・・撮像装置、１１・・・撮像部、１２・・・Ａ／Ｄ変換部、２０・・・フリッカ検出部、２１・・・積算部、２２・・・積算結果メモリ、２３・・・領域判別部、２４・・・フリッカレベル算出部、３０・・・フリッカ補正部、４０・・・カメラ信号処理部
【図１】
0004631611.tif 000002
【図２】
0004631611.tif 000003
【図３】
0004631611.tif 000004
【図４】
0004631611.tif 000005
【図５】
0004631611.tif 000006
【図６】
0004631611.tif 000007
【図７】
0004631611.tif 000008
【図８】
0004631611.tif 000009
【図９】
0004631611.tif 000010
【図１０】
0004631611.tif 000011