(57)【特許請求の範囲】
【請求項１】
ＸＹアドレス方式の撮像素子により得られた画像信号のフリッカ成分を補正するフリッカ補正装置であって、
前記画像信号を水平方向及び垂直方向に分割することにより、複数のフリッカ検出枠を設定する分割手段と、
前記画像信号に含まれるフリッカ成分を前記複数のフリッカ検出枠の各々で検出するフリッカ検出手段と、
前記複数のフリッカ検出枠の各々について、前記フリッカ検出手段が検出したフリッカ成分に応じた補正値を生成する補正値生成手段と、
前記補正値が、前記水平方向もしくは垂直方向の少なくとも一方において連続的に、もしくは前記フリッカ検出枠の大きさよりも小さい単位で段階的に変化するように平滑化する平滑化手段と、
前記複数のフリッカ検出枠の各々に含まれる画像信号に、対応するフリッカ検出枠について前記補正値生成手段が生成し、前記平滑化手段が平滑化した補正値を適用してフリッカ成分の補正を行う補正手段と、
前記フリッカ検出手段が検出したフリッカ成分の信頼性を、予め定めたフリッカモデルとの比較に基づいて判定する評価手段と、
前記評価手段によって信頼性が低いと判定されたフリッカ成分に代わるフリッカ成分として、前記評価手段によって信頼性が高いと判定された他のフリッカ成分を補間して生成する補間手段とを有し、
前記補正値生成手段が、前記評価手段によって信頼性が低いと判定されたフリッカ成分に代えて、前記補間手段が生成したフリッカ成分に応じて前記補正値を生成することを特徴とするフリッカ補正装置。
【請求項２】
前記フリッカ検出枠ごとに、フリッカ成分の補正を行うか否かを設定する設定手段をさらに有し、
前記平滑化手段が、前記設定手段によりフリッカ成分の補正を行わないと設定されたフリッカ検出枠について前記補正値生成手段が生成した補正値を、前記設定手段によりフリッカ成分の補正を行うと設定されたフリッカ検出枠について前記補正値生成手段が生成した補正値に適用する平滑化フィルタより広帯域の平滑化フィルタを適用して前記平滑化を行うことを特徴とする請求項１記載のフリッカ補正装置。
【請求項３】
前記補正値生成手段が、前記設定手段によりフリッカ成分の補正を行わないと設定されたフリッカ検出枠について、前記補正手段が適用されても前記画像信号を変化させない補正値を生成することを特徴とする請求項２記載のフリッカ補正装置。
【請求項４】
前記設定手段が、前記検出手段が検出したフリッカ検出枠ごとのフリッカ成分と最も相関の強いフリッカモデルのフリッカ振幅に基づいて、前記設定を行うことを特徴とする請求項２又は請求項３記載のフリッカ補正装置。
【請求項５】
ＸＹアドレス方式の撮像素子により得られた画像信号のフリッカ成分を補正するフリッカ補正方法であって、
分割手段が前記画像信号を水平方向及び垂直方向に分割することにより、複数のフリッカ検出枠を設定する工程と、
フリッカ検出手段が前記画像信号に含まれるフリッカ成分を前記複数のフリッカ検出枠の各々で検出する工程と、
補正値生成手段が前記複数のフリッカ検出枠の各々について、前記フリッカ検出手段が検出したフリッカ成分に応じた補正値を生成する工程と、
前記補正値が、前記水平方向もしくは垂直方向の少なくとも一方において連続的に、もしくは前記フリッカ検出枠の大きさよりも小さい単位で段階的に変化するように、平滑化手段が前記補正値を平滑化する工程と、
補正手段が前記複数のフリッカ検出枠の各々に、対応するフリッカ検出枠について前記補正値生成手段が生成し、前記平滑化手段が平滑化した補正値を適用してフリッカ成分の補正を行う工程と、
評価手段が前記フリッカ検出手段が検出したフリッカ成分の信頼性を、予め定めたフリッカモデルとの比較に基づいて判定する工程と、
補間手段が前記評価手段によって信頼性が低いと判定されたフリッカ成分に代わるフリッカ成分として、前記評価手段によって信頼性が高いと判定された他のフリッカ成分を補間して生成する工程とを有し、
前記補正値生成手段が、前記評価手段によって信頼性が低いと判定されたフリッカ成分に代えて、前記補間手段が生成したフリッカ成分に応じて前記補正値を生成することを特徴とするフリッカ補正方法。
【請求項６】
コンピュータを、請求項１乃至請求項４のいずれか１項に記載のフリッカ補正装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフリッカ補正装置及びフリッカ補正方法に関し、特には、撮像素子を用いて撮像された画像中のフリッカ成分を補正するフリッカ補正装置及びフリッカ補正方法に関する。
【背景技術】
【０００２】
ＣＭＯＳイメージセンサに代表されるＸＹアドレス方式の固体撮像素子を用いた撮像装置において、蛍光灯照明下の被写体を動画撮影する場合、撮像画像に例えば図１４に示すように垂直方向の周期的な明暗が現れることがある。この現象は蛍光灯フリッカと呼ばれ、商用電源周波数と撮像装置の垂直同期周波数との違いによるものである。
【０００３】
そこで、従来、垂直方向の周期的な信号レベルの変動成分（以下フリッカ成分と呼ぶ）を検出し、その逆ゲインを乗算することでフリッカ成分の検出と補正を行う技術がある（特許文献１参照）。
【０００４】
【特許文献１】特開平１１−１２２５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の方法は、現在及び過去のフレーム（またはフィールド）の画像信号を水平方向に積分して生成した垂直方向の強度分布を用いてフリッカ成分を検出する方法である。そのため、フリッカ成分が画面の左右で異なっている場合に、正確にフリッカ成分を検出することができないという問題がある。この問題は、例えば図１５に示す、被写体の左側は蛍光灯により照らされ、右側は太陽光に照らされているような場合に発生しうる。
【０００６】
また、検出されるフリッカ成分が被写体の動きに依存するという問題もある。
図１６は、被写体について得られた直近３フレーム分の画像信号と、この画像信号のうち過去の２フレームから求めた垂直方向の強度分布、現フレームの垂直強度分布、及び、これら２つの強度分布を除算して求めたフリッカ成分を示している。
そして、（ａ）は被写体が静止している場合を、（ｂ）は、被写体が３フレーム目（現フレーム）で動いた場合をそれぞれ示している。
【０００７】
特許文献１記載の技術では、図１６の（ａ）に示すように被写体が静止している場合は、正確にフリッカ成分を検出することができる。しかし、図１６の（ｂ）のように被写体が動いて現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合には、正確にフリッカ成分を検出できない。
【０００８】
本発明はこのような従来技術の問題点に鑑みなされたものである。本発明は、フリッカ成分が画像信号内で分布を持っている場合や現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合でも、精度良くフリッカ成分を補正可能なフリッカ補正装置及びフリッカ補正方法を提供することを目的する。
【課題を解決するための手段】
【０００９】
上述の目的は、ＸＹアドレス方式の撮像素子により得られた画像信号のフリッカ成分を補正するフリッカ補正装置であって、前記画像信号を水平方向及び垂直方向に分割することにより、複数のフリッカ検出枠を設定する分割手段と、画像信号に含まれるフリッカ成分を複数のフリッカ検出枠の各々で検出するフリッカ検出手段と、複数のフリッカ検出枠の各々について、フリッカ検出手段が検出したフリッカ成分に応じた補正値を生成する補正値生成手段と、補正値が、水平方向もしくは垂直方向の少なくとも一方において連続的に、もしくはフリッカ検出枠の大きさよりも小さい単位で段階的に変化するように平滑化する平滑化手段と、複数のフリッカ検出枠の各々に含まれる画像信号に、対応するフリッカ検出枠について補正値生成手段が生成し、平滑化手段が平滑化した補正値を適用してフリッカ成分の補正を行う補正手段と、フリッカ検出手段が検出したフリッカ成分の信頼性を、予め定めたフリッカモデルとの比較に基づいて判定する評価手段と、評価手段によって信頼性が低いと判定されたフリッカ成分に代わるフリッカ成分として、評価手段によって信頼性が高いと判定された他のフリッカ成分を補間して生成する補間手段とを有し、補正値生成手段が、評価手段によって信頼性が低いと判定されたフリッカ成分に代えて、補間手段が生成したフリッカ成分に応じて補正値を生成することを特徴とするフリッカ補正装置によって達成される。
【００１０】
また、上述の目的は、ＸＹアドレス方式の撮像素子により得られた画像信号のフリッカ成分を補正するフリッカ補正方法であって、分割手段が画像信号を水平方向及び垂直方向に分割することにより、複数のフリッカ検出枠を設定する工程と、フリッカ検出手段が画像信号に含まれるフリッカ成分を複数のフリッカ検出枠の各々で検出する工程と、補正値生成手段が複数のフリッカ検出枠の各々について、フリッカ検出手段が検出したフリッカ成分に応じた補正値を生成する工程と、補正値が、水平方向もしくは垂直方向の少なくとも一方において連続的に、もしくはフリッカ検出枠の大きさよりも小さい単位で段階的に変化するように、平滑化手段が補正値を平滑化する工程と、補正手段が複数のフリッカ検出枠の各々に、対応するフリッカ検出枠について補正値生成手段が生成し、平滑化手段が平滑化した補正値を適用してフリッカ成分の補正を行う工程と、評価手段がフリッカ検出手段が検出したフリッカ成分の信頼性を、予め定めたフリッカモデルとの比較に基づいて判定する工程と、補間手段が評価手段によって信頼性が低いと判定されたフリッカ成分に代わるフリッカ成分として、評価手段によって信頼性が高いと判定された他のフリッカ成分を補間して生成する工程とを有し、補正値生成手段が、評価手段によって信頼性が低いと判定されたフリッカ成分に代えて、補間手段が生成したフリッカ成分に応じて補正値を生成することを特徴とするフリッカ補正方法によっても達成される。
【発明の効果】
【００１１】
以上説明したように、本発明によれば、フリッカ成分が画像信号内で分布を持っている場合や現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合でも、精度良くフリッカ成分を補正できる。
【発明を実施するための最良の形態】
【００１２】
（第１の実施形態）
以下、本発明の好適な実施形態について、添付図面を参照しながら詳細に説明する。
図１は、本発明の第１の実施形態に係るフリッカ補正装置１０の構成例を示すブロック図である。
【００１３】
図１において、フリッカ検出部１は、ＣＭＯＳイメージセンサのような、ＸＹアドレス方式の撮像素子によって撮像された画像信号からフリッカ成分を検出する。本実施形態において、画像信号は水平走査により読み出されるものとする。
【００１４】
フリッカ補正値生成部２はフリッカ検出部１で検出されたフリッカ成分の補正値を求める。そして、乗算器３は、フリッカ補正値生成部２で得られたフリッカ補正値と画像信号を乗算し、補正後の画像信号として出力する。また、記憶部９は、例えば半導体メモリやハードディスクのような記憶装置であり、現フレームまたは現フィールドの画像信号を記憶する。制御部１１は、フリッカ補正装置１０全体の動作を制御する。
【００１５】
図２は、図１におけるフリッカ検出部１の構成例を示すブロック図である。
図２において、ブロック分割部１００は、フリッカ成分の検出を行う領域（フリッカ検出枠）を、１画面分の画像信号に対して水平方向および垂直方向に設定する。加算平均部１０１は、ブロック分割部１００が設定した検出領域の各々について、画素の輝度レベルの平均値を算出する。また、引算器１０２、乗算器１０３、加算器１０４およびメモリ１０５は、以下に示す演算を行うことで、いわゆる巡回型ローパスフィルタ１１０を形成している。
【００１６】
【数１】
0004881812.tif 000002
【００１７】
ここで、aveは加算平均部１０１の出力を示し、moutはメモリ１０５からの出力を示す。memは加算器１０４からの出力を示し、メモリ１０５に新しく記憶される値を示す。また、kは巡回型ローパスフィルタ１１０のフィルタ係数である。
【００１８】
除算器１０６は、加算平均部１０１の出力と、メモリ１０５からの出力を除算することによって、フリッカ検出枠ごとのフリッカ成分を算出して出力する。
【００１９】
（動作）
次に、本実施形態のフリッカ補正装置の動作の一例について、図３のフローチャートを参照しながら説明する。
まず、Ｓ５００においては、フリッカ補正装置１０に画像信号が入力される。次に、Ｓ５０１において、入力された画像信号が記憶部９に記憶される。次にＳ５０２においては、フリッカ検出部１のブロック分割部１００により、入力された１画面分の画像信号に水平方向にＭブロック、垂直方向にＮブロックのフリッカ検出枠を設定する。
【００２０】
Ｓ５０３においては、Ｓ５０２において設定されたフリッカ検出枠ごとに、フリッカ検出部１の加算平均部１０１により輝度レベルの平均値を算出する。次に、Ｓ５０４において、フリッカ検出部１の巡回型ローパスフィルタ１１０により、例えば［数１］のような演算に基づいて、フリッカ検出枠ごとにローパスフィルタ処理を行う。
【００２１】
Ｓ５０５においては、Ｓ５０３においてフリッカ検出枠ごとに加算平均された画像信号と、Ｓ５０４においてフリッカ検出枠ごとにローパスフィルタ処理された画像信号をフリッカ検出部１の除算器１０６で除算する。これにより、フリッカ検出枠ごとにフリッカ成分を抽出する。抽出されたフリッカ成分は、フリッカ検出部１からフリッカ補正値生成部２へ与えられる。
【００２２】
次にＳ５０６においては、フリッカ補正値生成部２が、Ｓ５０５においてフリッカ検出部から与えられたフリッカ成分を用い、フリッカ検出枠ごとの補正値を生成する。フリッカ補正値生成部２の動作については後述する。
【００２３】
Ｓ５０７においては、Ｓ５０１で記憶された画像信号を、制御部１１が記憶部９から順次読み出す。次にＳ５０８において、読み出された画像信号に対応するフリッカ補正値をフリッカ補正値生成部２から乗算器３に供給し、両者を乗算してフリッカ成分の補正を行う。乗算器３の乗算結果は、フリッカ成分を補正した画像信号としてフリッカ補正装置１０から出力される。
【００２４】
なお、本例ではフリッカ成分を求めるために水平方向にＭブロック、垂直方向にＮブロックのフリッカ検出枠を設定したが、フリッカ検出枠は少なくとも１画素の画像信号が含まれていればよい。すなわち、１画素ごとにフリッカ成分を求めても良い。
【００２５】
（フリッカ補正値生成部）
図４は、本実施形態のフリッカ補正値生成部２の構成例を示すブロック図である。
フリッカ補正値生成部２は、フリッカ成分評価部３００と、記憶部３０１と、フリッカ補正値算出部３０２とから構成される。記憶部３０１は、ある特定のフリッカ状態の時のフリッカ成分のモデルデータで、（以下、フリッカモデルと呼ぶ）と、フリッカモデルの振幅情報を保持する。フリッカモデルは、例えば、水平方向には緩やかな傾斜を持ち、垂直方向はsin波で近似された値を有する。記憶部３０１はまた、フリッカ補正値生成処理におけるワークエリアとしても用いられる。フリッカ補正値算出部３０２は、フリッカ検出部１からのフリッカ成分と、フリッカ成分評価部３００からの評価結果に基づいてフリッカ補正値を生成する。
【００２６】
次に、フリッカ補正値生成部２の動作について、図５のフローチャートを用いて説明する。
Ｓ４００において、フリッカ成分評価部３００は、記憶部３０１から１つのフリッカモデルを取得する。次に、Ｓ４０１において、フリッカ成分評価部３００は、記憶部３０１から取得したフリッカモデルとフリッカ検出部１が検出したフリッカ成分との１画面分の相関を、例えば以下の［数２］に示す演算によって、フリッカ検出枠ごとの相関の合計として求める。
【００２７】
【数２】
0004881812.tif 000003
【００２８】
ここで、ｘ，ｙは各フリッカ検出枠の座標位置（１≦ｘ≦Ｍ、１≦ｙ≦Ｎ）を表す。また、axyはフリッカモデルの各フリッカ検出枠のフリッカ成分の値を、bxyはフリッカ検出部１で検出されたフリッカ成分の各フリッカ検出枠のフリッカ成分の値を示す。
【００２９】
Ｓ４０２において、フリッカ成分評価部３００は、Ｓ４０１で算出した相関（差分情報）を、記憶部３０１に記憶する。Ｓ４０３において、フリッカ成分評価部３００は、記憶部３０１で保持しているすべてのフリッカモデルについて、相関の算出が完了したかどうか判定する。そして、全てのフリッカモデルについて相関の算出が完了していたらＳ４０４へ進み、完了していなかったらＳ４００へ戻り、相関の算出が完了していないフリッカモデルについて、Ｓ４００〜Ｓ４０２の処理を繰り返す。
【００３０】
Ｓ４０４において、フリッカ成分評価部３００は、記憶部３０１に記憶した各フリッカモデルと検出されたフリッカ成分との相関の大きさを表す差分値の中から、最も小さな差分値に対応するフリッカモデルを選択する。これにより、検出されたフリッカ成分に対して最も相関の高いフリッカモデルが選択される。
【００３１】
Ｓ４０６において、フリッカ成分評価部３００は、Ｓ４０４において選択したフリッカモデルと、フリッカ検出部１で検出されたフリッカ成分の差分を、フリッカ検出枠ごとに抽出する。
【００３２】
次にＳ４０７で、フリッカ成分評価部３００は、Ｓ４０６において抽出された差分が閾値Th１よりも大きいかどうかを、フリッカ検出枠ごとに判定する。
【００３３】
Ｓ４０６において差分が閾値Th１以下であると判定された場合、フリッカ成分評価部３００は、そのフリッカ検出枠についてフリッカ検出部１が検出したフリッカ成分の信頼性が高いと判定する（Ｓ４０９）。そして、フリッカ成分評価部３００は、信頼性の判定結果をフリッカ補正値算出部３０２へ供給する。
【００３４】
Ｓ４１１において、フリッカ補正値算出部３０２は、フリッカ検出部１が検出したフリッカ成分を用い、そのフリッカ成分に対応する検出枠に対するフリッカ補正値を生成する。具体的には、例えば、フリッカ成分の逆数をフリッカ補正値として求めることができる。
【００３５】
一方、Ｓ４０７において差分が閾値Th１よりも大きいと判定された場合、フリッカ成分評価部３００は、該当するフリッカ検出枠についてフリッカ検出部１が検出したフリッカ成分の信頼性が低いと判定する（Ｓ４０８）。そして、フリッカ成分評価部３００は、判定結果をフリッカ補正値算出部３０２へ通知する。
【００３６】
フリッカ補正値算出部３０２は、検出されたフリッカ成分の信頼性が低いフリッカ検出枠についてのフリッカ成分を、信頼度が高いと判定されたフリッカ成分を補間して生成する（Ｓ４１０）。
【００３７】
この補間フリッカ成分は、信頼度が低いと判定されたフリッカ成分が検出されたフリッカ検出枠に最も近い複数のフリッカ検出枠で検出され、補間処理を行なう時点で信頼性が高いと判定されているフリッカ成分を補間して生成することができる。
【００３８】
Ｓ４１２では、フリッカ補正値算出部３０２が、補間フリッカ成分を用いてフリッカ補正値を生成する。なお、Ｓ４１１、Ｓ４１２におけるフリッカ補正値算出部３０２の動作は、使用するフリッカ成分が実際に検出されたものか、補間により生成されたものかという点のみ異なる。
【００３９】
Ｓ４０６以降の処理をフリッカ検出枠ごとに行い、フリッカ検出枠ごとの補正値を生成して乗算器３に出力する。
【００４０】
以上、本実施形態によれば、入力された画像信号の水平方向及び垂直方向の両方について、複数の領域でフリッカ成分を検出し、対応する補正値を生成する。そのため、フリッカ成分が画像信号内で分布を持っている場合や、現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合でも、精度良くフリッカ成分を補正（フリッカ補正）することができる。
【００４１】
また、本実施形態によれば、検出されたフリッカ成分とフリッカモデルを比較することで、検出されたフリッカ成分の信頼性が評価できる。そして、信頼性が低いと判定されたフリッカ成分に代えて、信頼性が高いと判定された周辺のフリッカ成分から補間したフリッカ成分を用いる。これにより、より信頼性の高いフリッカの検出結果が得られ、精度の高いフリッカ補正を実施することができる。
【００４２】
また、本実施形態では記憶部９を有し、フリッカ成分を検出したフレームまたはフィールドに対して補正を行っているが、フリッカ成分を検出したフレームまたはフィールドと補正されるフレームまたはフィールドは別でも良い。
【００４３】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
図６は、本発明の第２の実施形態に係るフリッカ補正装置の構成例を示すブロック図である。
【００４４】
図６において、第１の実施形態と同一の構成要素には同一番号を付しており、重複する説明は省略する。第１の実施形態と異なっている点は、フリッカ補正装置１０’に補正値平滑化部４が設けられ、補正値平滑化部４の出力によって補正が行われる点である。
【００４５】
本実施形態は、第１の実施形態と略同様であって、同一部材には同一番号を付しており、重複する構成の説明は省略する。第１の実施形態と異なっている点は、補正値平滑化部４が含まれている点である。
補正値平滑化部４は、フリッカ補正値生成部２が生成したフリッカ補正値の変化を平滑化して乗算器３へ出力する。
【００４６】
図７は、補正値平滑化部４の動作の一例を模式的に示す図である。
図７（ａ）は、１画面をＭ＝５，Ｎ＝１１に分割したフリッカ検出枠を設定し、第１の実施形態に説明した方法でフリッカ検出枠ごとに生成した補正値の一例を濃淡で表現した図である。また、図７（ｂ）は図７（ａ）のＡ−Ａ’で示す列の５ブロック（Ｍ，Ｎ）＝（１，５）〜（５，５）について、フリッカ補正値を縦軸にプロットした図である。
【００４７】
図７（ｃ）は、図７（ａ）に示す補正値を補正値平滑化部４によって平滑化した結果を模式的に示す図である。また、図７（ｄ）は図７（ｃ）のＡ−Ａ’で示す列の５ブロック（Ｍ，Ｎ）＝（１，５）〜（５，５）について、フリッカ補正値の例を縦軸にプロットした図である。
【００４８】
フリッカ成分が画面内で分布を持つ場合、その分布は、例えば水平方向には緩やかな傾斜を持ち、垂直方向はsin波で近似できる変動を有する。そのため、図７（ａ）および図７（ｂ）に示すように、検出枠内の画素に対して一定の補正値を適用すると、補正誤差が生じうる。
【００４９】
そこで、本実施形態においては、図７（ｃ）および（ｄ）に模式的に示すように、補正値が、水平方向において連続的もしくはフリッカ検出枠の水平方向の大きさよりも小さい単位で段階的に変化するように平滑化する。これにより、フリッカ成分の水平方向の分布に一層適合した補正が可能になり、精度の高いフリッカ補正を行うことができる。
平滑化は、例えば図１７のような狭帯域の低域通過フィルタを用いて、画素ごとに行われる。
【００５０】
平滑化は水平方向全体をまとまりとして行う以外にも、フリッカ検出枠単位で行うこともできる。例えば、左隣のフリッカ検出枠に対して計算された補正値から、右隣のフリッカ検出枠に対して計算された補正値へなだらかに変化するよう、対象となるフリッカ検出枠に対して計算された補正値の値を段階的もしくは連続的に変化させてもよい。
【００５１】
次に、本実施形態におけるフリッカ補正装置の動作の一例について、図８のフローチャートを参照しながら説明する。なお、図８において、図３と同一の動作を行うステップについては同一の参照数字を付し、説明を省略する。
【００５２】
図３と図８とを比較すると明らかなように、本実施形態のフリッカ補正装置１０’は、フリッカ補正値を生成した後、フリッカ補正値の平滑化を行う処理が加わった点のみ第１の実施形態のフリッカ補正装置と動作が異なる。
【００５３】
Ｓ８０７において、補正値平滑化部４は、Ｓ８０６においてフリッカ補正値生成部２が生成したフリッカ補正値と、フリッカ検出部１で設定されたフリッカ検出枠の境界の画素位置とを用い、例えば図７（ｄ）に示したような平滑化を行う。そして、平滑化した補正値を乗算器３へ供給する。
【００５４】
乗算器３においては、記憶部９から順次読み出した画素に対し、画素位置に応じた平滑化済補正値を乗じて、フリッカ補正後の画素値を出力する。
【００５５】
なお、本実施形態では、説明及び理解を容易にするため、画像の水平方向にのみ補正値を平滑化する場合について説明したが、垂直方向にのみ平滑化を適用したり、両方向について平滑化を適用するように構成しても良い。
【００５６】
また、本実施形態では記憶部９を有し、フリッカ成分を検出したフレームまたはフィールドに対して補正を行っているが、フリッカ成分を検出したフレームまたはフィールドと補正されるフレームまたはフィールドは別でも良い。
【００５７】
以上説明したように、本実施形態によれば、入力された画像信号の水平方向及び垂直方向の両方について、複数の領域でフリッカ成分を検出し、対応する補正値を生成する。そのため、フリッカ成分が画像信号内で分布を持っている場合や、現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合でも、精度良くフリッカ成分を補正することができる。さらに、補正値がフリッカ検出枠よりも小さい単位で変化するように平滑化することにより、より精度の高い補正値を生成することが可能となり、結果として精度の高いフリッカ補正を実現できる。
【００５８】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
図９は、本発明の第３の実施形態に係るフリッカ補正装置の構成例を示すブロック図である。
【００５９】
図９において、第２の実施形態と同一の構成要素には同一番号を付しており、重複する説明は省略する。第２の実施形態と異なっている点は、フリッカ補正装置１０”におけるフリッカ補正値生成部２’の構成及び補正値平滑化部４’の動作である。
【００６０】
図１０は、本実施形態におけるフリッカ補正値生成部２’の構成例を示すブロック図である。
図１０においても、第１の実施形態と同一の構成要素には同一番号を付し、重複する構成の説明は省略する。図４との比較から明らかなように、本実施形態のフリッカ補正値生成部２’は、補正領域設定部３０３を有する点で第１の実施形態と異なる。
【００６１】
図１０において、補正領域設定部３０３は記憶部３０１に記憶されているフリッカモデルを用い、フリッカ検出枠ごとにフリッカ補正するかどうか設定する。設定結果を表す設定情報は、フリッカ補正値算出部３０２及び補正値平滑化部４へ出力される。フリッカ補正値算出部３０２では、補正領域設定部３０３からの設定情報に応じた生成方法で補正値を生成する。
【００６２】
また、補正値平滑化部４（図９）は、補正領域設定部３０３の設定情報に応じて、フリッカ補正値算出部３０２からの補正値を平滑化する平滑化フィルタの周波数特性を制御する。
【００６３】
図１１は、本実施形態における補正値平滑化部４’の動作の一例を模式的に示す図である。
図７（ａ）と同様、図１１（ａ）は、１画面をＭ＝５，Ｎ＝１１に分割したフリッカ検出枠を設定し、第１の実施形態に説明した方法でフリッカ検出枠ごとに生成した補正値の一例を濃淡で表現した図である。また、図７（ｂ）は図７（ａ）のＡ−Ａ’で示す列の５ブロック（Ｍ，Ｎ）＝（１，５）〜（５，５）について、フリッカ補正値を縦軸にプロットした図である。
【００６４】
また、図１１（ａ）において太枠で囲まれた検出枠（４，４）、（４，５）、（４，６）は補正領域設定部３０３において、フリッカ補正しないと設定されたフリッカ検出枠を示している。
図１１（ｃ）は、図１１（ａ）に示す補正値を、第２の実施形態と同様にして水平方向に連続的に平滑化した結果を模式的に示す図である。また、図１１（ｄ）は、図１１（ｃ）のＡ−Ａ’で示す列の５ブロックについてのフリッカ補正値の例を縦軸にプロットした図である。ここで、第２の実施形態においては、フリッカ補正を行わないフリッカ検出枠について考慮していないため、フリッカ補正しない検出枠においても補正を行うものとした平滑化を行う。
【００６５】
その結果、フリッカ補正しないフリッカ検出枠の多くの範囲について有意な補正値が割り当てられてしまい、フリッカ補正しない設定にもかかわらず、広範囲の画素について補正が行われてしまう。
そのため、本実施形態においては、フリッカ補正を行わないフリッカ検出枠への影響を考慮して補正値の平滑化を行う。
【００６６】
例えば平滑化フィルタを用いて補正値の平滑化を行う場合であれば、補正領域設定部３０３において、フリッカ補正しないフリッカ検出枠とその周辺のフリッカ検出枠では、広帯域な平滑化フィルタを用いて画素単位の平滑化を行う。これにより、フリッカ補正を行わないフリッカ検出枠近傍での補正値の立ち上がりがより急峻となり、フリッカ補正するフリッカ検出枠の補正値が、フリッカ補正しないフリッカ検出枠の補正値に与える影響を低減できる。一方で、補正領域設定部３０３がフリッカ補正すると設定したフリッカ検出枠では、狭帯域な平滑化フィルタを用いて平滑化することで、補正値の変化をなだらかにすることができる。
【００６７】
図１１（ｅ）及び図１１（ｆ）は、本実施形態の補正値平滑化部４’の処理結果例を示す図である。
このように、フリッカ検出枠ごとのフリッカ補正を行うか否かの情報に応じて平滑化フィルタの周波数特性を制御することで、補正しないフリッカ検出枠のなかで、有意な補正値が割り当てられる範囲を抑制することができる。
【００６８】
次に、本実施形態のフリッカ補正装置の動作について、図１２のフローチャートを参照しながら説明する。なお、図１２において、図８と同一の動作を行うステップについては同一の参照数字を付し、説明を省略する。
【００６９】
図８と図１２とを比較すると明らかなように、本実施形態のフリッカ補正装置１０”は第２の実施形態のフリッカ補正装置１０’と、処理対象のフリッカ検出枠に対するフリッカ補正値を生成する処理と、補正値に対する平滑化処理が異なる。以下、本実施形態に特有の処理ステップに重点を置いて説明を行う。
【００７０】
Ｓ５００〜Ｓ５０５までの処理は、第１又は第２の実施形態と共通である。
Ｓ１３０６において、フリッカ補正値生成部２’は、フリッカ検出部１がフリッカ検出枠ごとに検出したフリッカ成分と、記憶部３０１に記憶したフリッカモデルとを用いて、フリッカ検出枠ごとのフリッカ補正値を生成する。また、フリッカ補正値生成部２’は、フリッカ補正値生成処理の中で、フリッカ検出枠ごとに補正を行うか否かの設定を行う。Ｓ１３０６における処理の詳細は図１３に基づき後述する。
【００７１】
Ｓ１３０７において、補正値平滑化部４’は、補正値と、対応するフリッカ検出枠（処理対象フリッカ検出枠）を補正するか否かの情報とをフリッカ補正値生成部２’から取得する。そして、補正値平滑化部４’は、処理対象フリッカ検出枠が補正するフリッカ検出枠であれば、Ｓ１３０８で補正値に対して図１８（ａ）に示すような狭帯域な低域通過フィルタを用いて画素単位で第１の平滑化処理を行なう。また、処理対象フリッカ検出枠が補正しないフリッカ検出枠の場合、補正値平滑化部４’はＳ１３０９で補正値に対して図１８（ｂ）に示すような広帯域な低域通過フィルタを用いて画素単位で第２の平滑化処理を行なう。
【００７２】
ここで、第１の平滑化処理は、第２の平滑化処理よりも狭帯域の平滑化フィルタを用いる。これにより、図１１（ｆ）に示したように、補正しないフリッカ検出枠について算出される補正値が十分抑制することができる。これにより、補正しないフリッカ検出枠を設定する場合でも、第２の実施形態と同様に精度の良いフリッカ補正が可能となる。
その後、Ｓ５０７及びＳ５０８において、補正値平滑化部４’が平滑化した補正値を用い、第１及び第２の実施形態と同様にしてフリッカ補正処理が行なわれる。
【００７３】
（フリッカ補正値生成処理）
次に本実施形態のフリッカ補正値生成部の動作について、図１３のフローチャートを参照しながら説明する。図１３において、図５と同様の処理を行なうステップには同じ参照数字を付し、重複する説明を省略する。
【００７４】
Ｓ１２００において、フリッカ成分評価部３００は、記憶部３０１よりフリッカモデルを１つ読み出す。Ｓ１２０１において、フリッカ成分評価部３００は、例えば［数３］に示す演算を用い、フリッカ検出部１が処理対象のフリッカ検出枠から検出したフリッカ成分と、対応するフリッカモデルとの差分を、両者の相関の程度を表す情報として、検出枠ごとに求める。
【００７５】
【数３】
0004881812.tif 000004
【００７６】
ここで、ｘ，ｙは各フリッカ検出枠の座標位置を表し、ａxyはフリッカモデルの各フリッカ検出枠のフリッカ成分の値を示し、ｂxyはフリッカ検出部１で検出されたフリッカ成分の各フリッカ検出枠のフリッカ成分の値を示す。
【００７７】
次にＳ１２０２において、フリッカ成分評価部３００は、Ｓ１２０１で算出した差分と、そのときに用いたフリッカモデルの振幅情報とを対応付けて記憶部３０１に保存する。そして、Ｓ１２０３において、フリッカ成分評価部３００は、例えば［数４］に示すような演算を用いて、フリッカ検出枠ごとに算出した差分を１画面分合計する。これにより、検出されたフリッカ成分と、フリッカモデルとの１画面分の相関の程度を表す情報が得られる。
【００７８】
【数４】
0004881812.tif 000005
【００７９】
次にＳ１２０４において、フリッカ成分評価部３００は、Ｓ１２０３で算出した１画面分の差分を記憶部３０１に保存する。そして、Ｓ１２０５において、フリッカ成分評価部３００は、記憶部３０１で保持しているすべてのフリッカモデルについて、検出枠ごとの差分算出及び１画面分の差分算出が完了したかどうか判定する。そして、フリッカ成分評価部３００は、未処理のフリッカモデルが残っていれば、新たなフリッカモデルについてＳ１２００〜Ｓ１２０４の処理を行なう。
【００８０】
未処理のフリッカモデルがなければ、補正領域設定部３０３は、Ｓ１２０６において、フリッカ検出枠ごとに、Ｓ１２０１で算出した個々のフリッカモデルとの差分のうち、最も小さい値に対応するフリッカモデルの振幅情報を記憶部３０１から読み出す。換言すれば、フリッカ成分評価部３００は、フリッカ検出枠ごとに、最も相関の高いフリッカモデルの振幅情報を記憶部３０１から読み出す。
【００８１】
次にＳ１２０７において、補正領域設定部３０３は、Ｓ１２０６で読み出したフリッカモデルの振幅情報が表すフリッカ振幅が、閾値Ｔｈ２より小さいかどうか比較する。そして、補正領域設定部３０３は、最も相関が大きいフリッカモデルの振幅がＴｈ２よりも小さければ、そのフリッカ検出枠をフリッカ補正しないフリッカ検出枠として設定する（Ｓ１２０８）。一方、Ｓ１２０７においてフリッカモデルの振幅がＴｈ２以上であったならば、そのフリッカ検出枠をフリッカ補正するフリッカ検出枠として設定する。ここで、閾値Ｔｈ２は、フリッカ補正を行うか否かを決定するための閾値であるため、補正をしなくても良いと考えられる程度に小さい値に設定することが望ましい。
【００８２】
次に、Ｓ４０４において、フリッカ成分評価部３００は、Ｓ１２０４で記憶部３０１に保存した１画面分の差分のうち、最小値に対応するフリッカモデルを選択する。次にＳ４０６において、フリッカ成分評価部３００は、処理対象のフリッカ検出枠について、Ｓ１２１１で選択したフリッカモデルとフリッカ検出部１で検出されたフリッカ成分との差を抽出する。
次にＳ４０７で、フリッカ成分評価部３００は、Ｓ４０６において抽出された差分が閾値Th１よりも大きいかどうかを、フリッカ検出枠ごとに判定する。
【００８３】
Ｓ４０６において差分が閾値Th１以下であると判定された場合、フリッカ成分評価部３００は、そのフリッカ検出枠についてフリッカ検出部１が検出したフリッカ成分の信頼性が高いと判定する（Ｓ４０９）。そして、フリッカ成分評価部３００は、信頼性の判定結果をフリッカ補正値算出部３０２へ供給する。
【００８４】
Ｓ１２１８において、フリッカ補正値算出部３０２は、処理対象のフリッカ検出枠について補正領域設定部３０３が設定した内容を確認する。そして、フリッカ補正を行うフリッカ検出枠として設定されていれば、フリッカ補正値算出部３０２は、フリッカ検出部１が検出したフリッカ成分を用い、処理対象のフリッカ検出枠に対するフリッカ補正値を生成する（Ｓ４１１）。具体的には、例えば、フリッカ検出部１が検出したフリッカ成分の逆数をフリッカ補正値として求めることができる。
【００８５】
一方、Ｓ１２１８において、処理対象のフリッカ検出枠がフリッカ補正を行わないフリッカ検出枠として設定されていれば、フリッカ補正値算出部３０２は、フリッカ補正を行わないことを示す情報として、値１．０の補正値を生成する（Ｓ１２２０）。
【００８６】
Ｓ４０７において差分が閾値Th１よりも大きいと判定された場合、フリッカ成分評価部３００は、該当するフリッカ検出枠についてフリッカ検出部１が検出したフリッカ成分の信頼性が低いと判定する（Ｓ４０８）。そして、フリッカ成分評価部３００は、判定結果をフリッカ補正値算出部３０２へ通知する。
【００８７】
フリッカ補正値算出部３０２は、検出されたフリッカ成分の信頼性が低いフリッカ検出枠についてのフリッカ成分を、信頼度が高いと判定されたフリッカ成分を補間して生成する（Ｓ４１０）。
【００８８】
この補間フリッカ成分は、信頼度が低いと判定されたフリッカ成分が検出されたフリッカ検出枠に最も近い複数のフリッカ検出枠で検出され、補間処理を行なう時点で信頼性が高いと判定されているフリッカ成分を補間して生成することができる。
【００８９】
Ｓ１２１７において、フリッカ補正値算出部３０２は、処理対象のフリッカ検出枠について補正領域設定部３０３が設定した内容を確認する。そして、フリッカ補正を行うフリッカ検出枠として設定されていれば、フリッカ補正値算出部３０２は、補間フリッカ成分を用いてフリッカ補正値を生成する。なお、Ｓ４１１、Ｓ４１２におけるフリッカ補正値算出部３０２の動作は、使用するフリッカ成分が実際に検出されたものか、補間により生成されたものかという点のみ異なる。
【００９０】
一方、Ｓ１２１７において、処理対象のフリッカ検出枠がフリッカ補正を行わないフリッカ検出枠として設定されていれば、フリッカ補正値算出部３０２は、適用しても画像信号を変化させない補正値として、値１．０の補正値を生成する（Ｓ１２２０）。
【００９１】
Ｓ１２０６以降の処理をフリッカ検出枠ごとに行い、フリッカ補正値生成部２’は、フリッカ検出枠ごとに、補正値と、フリッカ補正を行うか否かの設定情報を補正値平滑化部４に出力する。
【００９２】
なお、本実施形態においても、第２の実施形態と同様に、垂直方向にのみ平滑化を適用したり、両方向について平滑化を適用するように構成しても良い。
また、本実施形態では記憶部９を有し、フリッカ成分を検出したフレームまたはフィールドに対して補正を行っているが、フリッカ成分を検出したフレームまたはフィールドと補正されるフレームまたはフィールドは別でも良い。
【００９３】
また、本実施形態では、処理対象のフリッカ検出枠で検出されたフリッカ成分と相関の高いフリッカモデルの振幅の大きさ（Ａとする）に応じてフリッカ補正の要否を判定している。しかし、処理対象のフリッカ検出枠の周辺のフリッカ検出枠と相関の高いフリッカモデルの振幅（Ｂとする）との差（｜Ａ−Ｂ｜）と閾値Ｔｈ３との大小関係に応じてフリッカ補正の要否を判定しても良い。
【００９４】
そして、｜Ａ−Ｂ｜＞Ｔｈ３であれば、処理対象のフリッカ検出枠についてフリッカ補正を行うものと設定し、補正値を広帯域な平滑化フィルタで平滑化処理する。また、｜Ａ−Ｂ｜≦Ｔｈ３であればフリッカ補正しないものと設定し、補正値を狭帯域な平滑化フィルタを用いて平滑化処理する。
【００９５】
以上説明したように、本実施形態によれば、入力された画像信号の水平方向及び垂直方向の両方について、複数の領域でフリッカ成分を検出し、対応する補正値を生成する。そのため、フリッカ成分が画像信号内で分布を持っている場合や、現フレームまたは現フィールドの垂直方向の強度分布に変動があった場合でも、精度良くフリッカ成分を補正することができる。
【００９６】
さらに、フリッカ検出枠毎にフリッカ補正の要否を判定し、補正しないフリッカ検出枠に有意な補正値が割り当てられる範囲を抑制するようにフリッカ補正値を平滑化する。これにより、フリッカ補正を行わないフリッカ検出枠の設定と、フリッカ補正を行うフリッカ検出枠における補正値の平滑化とが両立でき、精度の高いフリッカ補正を実現できる。
【００９７】
（他の実施形態）
上述の実施形態において、乗算器３に与える補正値が１．０もしくは十分１．０に近い値である場合には、補正を行わないことと同義と見なすことができる。従って、補正値が１．０と見なせる範囲の値を有する場合には、補正値の読み出し、乗算を行わずに、記憶部９から読み出した画素値をそのまま補正後の画素値として出力するように構成しても良い。具体的には、記憶部９からの出力が乗算器３へ与えられる経路と、直接出力される経路との間で切り替えを行うスイッチを設ける。そして、補正値の値が１．０と見なせる値である場合には、記憶部から読み出した画素値を直接出力する経路を選択し、それ以外の場合は乗算器３へ画素値を供給する経路を選択するように制御部１１がスイッチを制御すればよい。
【００９８】
上述の実施形態で説明したフリッカ補正装置は、ＸＹアドレス方式の撮像素子を用いる撮像装置に好適に使用することができる。すなわち、撮像素子から得られる画像信号に対し、本発明の実施形態に係るフリッカ補正装置を適用することにより、フリッカ成分を精度良く補正できる。そして、フリッカ補正後の画像信号を用いて、周知の画像処理や符号化処理を行ない、記録媒体に記録したり、外部機器へ出力したりすればよい。
【００９９】
上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１００】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【０１０１】
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１０２】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【０１０３】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【０１０４】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【０１０５】
また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するＯＳの機能を利用するものであってもよい。
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施形態におけるフリッカ補正装置の構成例を示すブロック図である。
【図２】本発明の第１の実施形態におけるフリッカ検出部の構成例を示すブロック図である。
【図３】本発明の第１の実施形態におけるフリッカ補正装置の動作の一例を示すフローチャートである。
【図４】本発明の第１の実施形態におけるフリッカ補正値生成部の構成例を示すブロック図である。
【図５】本発明の第１の実施形態におけるフリッカ補正値生成部の動作の一例を示すフローチャートである。
【図６】本発明の第２の実施形態におけるフリッカ補正装置の構成例を示すブロック図である。
【図７】本発明の第２の実施形態における補正値平滑化部の動作の一例を示す図である。
【図８】本発明の第２の実施形態におけるフリッカ補正装置の動作の一例を示すフローチャートである。
【図９】本発明の第３の実施形態におけるフリッカ補正装置の構成例を示すブロック図である。
【図１０】本発明の第３の実施形態におけるフリッカ補正値生成部の構成例を示すブロック図である。
【図１１】本発明の第３の実施形態における補正値平滑化部の動作の一例を示す図である。
【図１２】本発明の第３の実施形態におけるフリッカ補正装置の動作の一例を示すフローチャートである。
【図１３】本発明の第３の実施形態におけるフリッカ補正値生成部の動作の一例を示すフローチャートである。
【図１４】ＸＹアドレス方式の固体撮像素子を用いた場合に発生するフリッカ現象を表す図である。
【図１５】ＸＹアドレス方式の固体撮像素子を用いて、被写体が左側からは蛍光灯、右側からは太陽光によって照らされている場合に発生するフリッカ現象を表す図である。
【図１６】被写体について得られた直近３フレーム分の画像信号と、この画像信号のうち過去の２フレームから求めた垂直方向の強度分布、現フレームの垂直強度分布、及び、これら２つの強度分布を除算して求めたフリッカ成分を示す図である。
【図１７】本発明の第２の実施形態における補正値平滑化部が用いる低域通過フィルタの周波数特性の例を示す図である。
【図１８】本発明の第３の実施形態における補正値平滑化部が用いる低域通過フィルタの周波数特性の例を示す図である。
【図１】
0004881812.tif 000006
【図２】
0004881812.tif 000007
【図３】
0004881812.tif 000008
【図４】
0004881812.tif 000009
【図５】
0004881812.tif 000010
【図６】
0004881812.tif 000011
【図８】
0004881812.tif 000012
【図９】
0004881812.tif 000013
【図１０】
0004881812.tif 000014
【図１２】
0004881812.tif 000015
【図１３】
0004881812.tif 000016
【図１７】
0004881812.tif 000017
【図１８】
0004881812.tif 000018
【図７】
0004881812.tif 000019
【図１１】
0004881812.tif 000020
【図１４】
0004881812.tif 000021
【図１５】
0004881812.tif 000022
【図１６】
0004881812.tif 000023