(58)【調査した分野】(Int.Cl.,DB名)
照明の明滅周期より短い畜光時間で高速撮影された映像のフリッカを抑圧するフリッカ抑圧装置において、該映像の信号レベルが変動するフリッカー現象の周期の整数倍に略一致させて該信号レベルの変動パターンを抽出するフィルタ手段と、抽出した変動パターンをもとに画像の信号レベルを一定に補正する補正手段と、を備え、
該フィルタ手段は、フィールド単位で取得した、前記補正手段による補正の前の前記信号レベルと、該フィルタ手段のM(Mは整数)回前の出力とを所定の重みで合成して出力するリカーシブフィルタであり、該Mは、撮影時のフィールド周波数を、フィールド周波数と光源フリッカー周波数の公約数で割った数であって、複数の異なる光源フリッカー周波数に対して共通の数に設定し、
前記補正手段は、前記フィルタにより抽出した連続するMフィールド分の信号レベルから求めたMフィールド平均値と、補正対象のフィールドよりMフィールド前の信号レベルとに基づいて、補正対象の信号レベルが該Mフィールド平均値と同じになるよう補正することを特徴とするフリッカー抑圧装置。
【背景技術】
【0002】
従来、スローモーションカメラ又はハイスピードカメラと呼ばれるカメラシステムが知られる(例えば、特許文献1及び2参照。)。
このようなカメラシステムでは、通常よりも短い畜光時間で撮影した映像信号を通常速度で再生するため、被写体を照らす照明装置の明滅周期に比べ畜光周期(フィールド周期又はフレーム周期)が短くなり、顕著なフリッカー現象を起こしてしまう。このためフリッカーを抑圧する方法が提案されている(例えば、特許文献3参照。)。
【0003】
なお、通常のフレームレートのカメラにおいても、各種のフリッカー抑圧方法が知られる(例えば、特許文献4乃至7参照。)が、特許文献4又は5のように、映像信号のレベル変動を検出し、変動に応じてCCDのシャッター時間を調整する方法が一般的である。つまり、畜光周期が照明の明滅周期よりある程度長ければ、電子シャッターにより蓄積時間を照明の明滅周期に合わせることができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記の特許文献3の技術では、CCD撮像素子を通常より多くカメラに実装する必要があり装置の規模が大きくなる問題がある。
またハイスピードカメラでは通常のカメラと比べ3〜10倍のスピードでの撮影が主になることから、CCDシャッタースピードを制御するための、ドライブ回路、移相回路、位相制御回路なども3〜10倍の高速で駆動する必要があり、アナログ回路、デジタル回路の時間応答特性に対する要求が厳しくなる。従って上記の特許文献4又は5の技術をハイスピードカメラへ転用することは容易ではないことが想像できる。
【課題を解決するための手段】
【0006】
本発明の一つの側面は、CCDのようなグローバルシャッター方式の撮像素子を用いたカメラで撮影した映像の性質を利用したフリッカー抑圧方法である。グローバルシャッターの場合、フリッカーによる映像信号レベルは、撮影周期の1フィールド期間内では一定となり、MフィールドでN回変動するという周期性を持つ。ここでM、Nはカメラのフィールド周波数と照明変動周波数(光源フリッカー周波数)を、それらの最大公約数でそれぞれを割った数で求められる。例えばフィールド周波数180Hz、照明変動周波数100Hzであれば、最大公約数は20となり、M=180÷20=9、N=100÷20=5となる。
よって、M個のレジスタにN周期分のフリッカーパターン(信号レベル)を記憶すれば、Mフィールドに渡っての信号レベルの平均値を求めることができ、その平均値と、N周期前のフィールドの信号レベルの乖離を求めて、現在の信号レベルに逆補正をかければ、フリッカーを抑圧することができる。
フリッカーパターンをレジスタに記憶させる際には、現在の入力信号とN周期前の信号とでリカーシブフィルタを形成して、フリッカーパターン以外の信号レベルの変化(例えば被写体の動きによって信号レベルが変化する場合など)を省くことで、フリッカーパターンの抽出精度を上げることができる。
【発明の効果】
【0007】
本発明によれば、簡単なデジタル信号処理を用いて、フリッカーのある光源を使った撮影に起因するカメラ映像のレベル変化を補正し、フリッカーによるちらつきの無い、または少ない映像信号を提供することができる。
【発明を実施するための形態】
【0009】
先に述べたとおり、CCD撮像素子はグローバルシャッター方式により動作するので、フリッカーのある光源による撮影を行った場合、フィールド間での信号レベルの変動のみを考慮すればよい。
本発明の実施形態では、フィールド間の信号レベルの変動を補正する。特に、デジタル信号処理によりフリッカー成分の抽出から信号補正までを行うことで、簡単な構成でフリッカー抑圧機能を実現する。
【0010】
図1は、本発明の実施形態に係る映像信号処理装置のブロック図である。
CCD撮像素子からの映像信号は、デジタル信号として1フィールド積算回路101と可変利得制御部107へ入力される。
1フィールド積算回路101は、映像信号を1フィールド期間毎に累積加算し、信号レベルを表す1フィールド積算値としてリカーシブフィルタ演算部102に出力する。1フィールド積算回路101は或いは、1フィールドを複数に分割した小領域毎に累積加算し、それらの最大値を1フィールド積算値として出力してもよい。
【0011】
リカーシブフィルタ演算部102は、1フィールド積算回路101から入力された最新の1フィールド積算値と、M段レジスタ103から戻ってきたMフィールド前の自身の出力値とを、所定の比率(K)で加算し、M段レジスタ103へ出力する。リカーシブフィルタ演算部102の出力は、フリッカーパターン内の特定のフィールドのために平滑化されたレベル値を表す。
M段レジスタ103は、遅延素子を直列にM段以上つないで構成したレジスタ群であり、フィールド周期でシフト動作することで、リカーシブフィルタ演算部102から入力された平滑レベル値を、M個(最新フィールドの1つ前からM個前まで)保持し、Mフィールド前の保持値をリカーシブフィルタ演算部102と切り替えSW(スイッチ)104へ出力し、保持しているM個の平均レベル値を平均値算出部105へ出力する。
リカーシブフィルタ演算部102とM段レジスタ103とにより、リカーシブフィルタが構成される。
【0012】
切り替えSW104は、M段レジスタ103からの保持値と、平均値算出部からの平均値の、どちらか一方を選択して、補正係数演算部106に出力する。切り替えSW104は、通常はM段レジスタ103からの保持値を選択する。
平均値算出部105は、M段レジスタ103に記憶されたM個の1フィールド積算値の平均値(Mフィールド平均値)を求める。
【0013】
補正係数演算部106は、M段レジスタ103からのMフィールド前(照明変動ではN周期前に相当)の平滑レベル値と、平均値算出部105から入力されたMフィールド平均値に基づき、補正係数値を演算する。一例として、補正係数値は、(Mフィールド平均値÷Mフィールド前の平滑レベル値)により算出される。補正係数を求める際、映像信号が小さくなると除算回路で演算エラーを起こす場合があり、信号レベル(平滑レベル値)がある閾値を下回る場合には演算を止めるか、除算回路の除数を被除数と同じにする、切り替えスイッチの機能104を設けることでエラーを回避する。
可変利得制御部107は、映像信号に、補正係数演算部106で求めた補正係数による補正(映像信号×補正係数)を行い、フリッカーによるフィールド間の信号変動を抑圧させる。その際、信号レベルが小さい(光量不足、レンズ絞り、等々)場合には、アナログノイズの影響や、量子化ノイズの影響でフリッカーパターンの推定誤差が大きくなる。このとき、映像の輝度は小さくフリッカーも目立たなくなるため、先に述べた演算エラーを回避する意味もあって、映像信号レベルがある閾値を下回るときは、K=1としてフリッカーパターンの推定自体を止める。
【0014】
図2及び
図3は、本例の映像信号処理装置の映像信号処理タイミング図である。
図2と
図3とで、フィールド周波数は180Hzで共通であるが、光源(照明)はそれぞれ100Hzと120Hzである。
最上段に示す光強度は、殆どの照明器具(水銀灯やLEDなどを含む)で、電源周波数の2倍の周波数で変動する。
2段目に示す映像信号のレベルは、光強度に応じて変動する。
図2の場合は、M=9、N=5なので、映像信号は9フィールド周期で同じパターンを繰り返すように変動する。またその間に、光強度は5周期分変動する。
3段目に示すレジスタ保持値は、その時点でM段レジスタ103が保持している最新の平滑レベル値を示す。つまり映像信号のField1の1フィールド積算値は、Field1の終了直後に得られ、リカーシブフィルタ演算部102で処理されて、Field2のタイミングで#1としてM段レジスタ103に保持される。同様にして#9が保持された時点では、そこから左側(古い側)の少なくともM個(#9自体も含む)の平滑レベル値が保持されており、Mフィールド平均値の算出に利用可能である。
【0015】
なお
図3に示すように、フィールド周波数180Hz、光源周波数が120Hzというケースも考えられ、その際は3フィールド期間中に2周期の照明変動によるフィールド信号の変動が起きるが、これは9フィールド期間中に6周期のフリッカーによるフィールド信号の変動が起きることと同義であるから、レジスタの段数は9段(M=9)とすれば、光源フリッカー周波数100Hz、120Hzどちらにも対応できる。
また、カメラの撮影コマ数が毎秒150フィールドの場合でも、M=15、N=12とすれば、同様に光源のフリッカー周波数100Hz、120Hzどちらでも対応ができる。フィールド信号の算出時間を勘案すれば、9段のレジスタでは信号処理のタイミングが間に合わないので、M段レジスタ103には18段のレジスタを用意する。
【0016】
図2及び
図3の例では、Mフィールド平均値に代えて2Mフィールド平均値を算出しており、Field1の1フィールド積算値を反映したレジスタ値#1が、2Mフィールド後のfield19で利得制御に使われる。しかし、平均値の算出方法の工夫により、field10の利得制御に適用することもできる。
すなわち、利得制御の対象をfield10としたとき、Mフィールド前の保持値(field2の#1)を中心にして、前後にM/2フィールド個の範囲からM個(#15〜#5)を取り出して平均化する。この方法では、用いる平滑レベル値に対応する時刻のMフィールド平均値を求めることができ、(フリッカー以外の)緩やかな輝度変動があっても、補正係数の推定精度を維持できる。
【0017】
図4は、リカーシブフィルタ演算部102の内部ブロック図である。乗算回路401は、係数Kを1フィールド積算回路101からの1フィールド積算値に乗算し、乗算回路404は、係数(1−K)をM段レジスタ103からの戻り値に乗算する。加算器405は、乗算回路401と405各々の乗算結果を加算し、その結果をリカーシブフィルタ出力として、M段レジスタ103に送る。
ここで、係数(1−K)を大きくすることで、リカーシブフィルタの時定数が遅くなり、周期性のある信号のみを抽出することが可能となり、被写体の動きといった、照明のフリッカーと関係のない変動を除外することができる。
【0018】
以上説明した実施形態では、M段レジスタ103の段数Mは、1秒あたりの撮影コマ数に応じて変更する必要がある。Mの設定は、映像信号処理装置をカメラ或いはCCU(Camera Control Unit)に内蔵する場合はその撮影コマ数の設定に自動的に連動させて行うことができる。フィールド周波数と光源フリッカー周波数の公約数として適当な整数が見つからない場合、Mはそれらの最小公倍数に設定してもよい。
また、フリッカー成分の抽出から信号補正までの処理は、映像信号の各チャンネル(Rch、Gch、Bch)に対してそれぞれ行ってもよく、或いは輝度信号(Y)が利用できるのであれば輝度信号から抽出し、各チャンネル(Rch、Gch、Bch)または全成分(Y、P
B、P
R)に信号補正を施してもよい。また、補正係数演算までの処理を撮影時に(リアルタイムに)行い、得られた補正係数を映像信号と一緒に(例えば、
図2の#1から得られる補正係数とField1の映像信号を対応付けて))記憶しておき、それを読み出して通常速度で再生するときに信号補正しても良い。
【0019】
本実施形態によるフリッカー抑圧は、フレームメモリ等を必要とせず極めて小さなハードウェア規模で構成でき、既存の機器への組込みも容易である。高速度カメラに内蔵した場合、本例の映像信号処理装置はカメラで行う各種映像信号処理の前、後、或いは途中の任意箇所で行ったり、組み合わせたりすることができ、一例としてシェーディング処理の後に始め、ガンマ補正の前までに終わらせる(すなわち、1フィールド積算回路101に入力される信号にディテールや色マスキング等の処理をしてから可変利得制御部107に入力しても良い)。あるいはデジタルAGC処理を本例の映像信号処理装置の内側または後で行うことで、実際の照明変動が想定値(100Hz)から若干ずれていても、それによる緩やかなレベル変動はAGC処理で除去できる。或いは、本例の1フィールド積算回路101を、A/D変換前の映像信号をフィールド周期にA/D変換する積分型A/Dとして構成し、可変利得制御部107を、A/D変換前の映像信号を指定された利得で増幅或いは減衰するプログラマブルアンプ或いはデジタルポテンショメータとして構成し、リカーシブフィルタ演算部102から補正係数演算部106までをDSP(Digital Signal Processor)等のプログラム実行手段で構成してもよい。
【実施例1】
【0020】
実施例1の映像信号処理装置を
図5乃至7を参照して説明する。
本例の映像信号処理装置は、補正係数を時間経過に従い連続的に遷移させる利得制御部107’を備えた点で、先の実施形態と異なり、その他の構成は同様である。
すなわち、光量が少ない状態から多い(明るい)状態に急激に移ると、信号レベルが閾値を超えて補正係数の演算を再開した瞬間は、リカーシブフィルタでのフリッカーパターンの推定精度が低いため、誤った補正係数により、補正映像信号に不連続が生じる。
そこで、本例の利得制御部107’は、映像信号レベルが閾値を超えた時点から補正係数の割合を一次直線的に(
図6参照)増加させることで、補正映像信号に生じる不連続を目立たなくする。
【0021】
図5は、実施例1の映像信号処理装置の利得制御部107’の内部ブロック図である。利得制御部107’では、乗算器503が、補正係数演算部106からの補正係数に、係数保持部504が保持する重み値(1−a)を乗算する。乗算器501が、何も補正しない補正係数に相当する1に、係数保持部501が保持する重み値(a)を乗算する。補正係数加算器505が、乗算器501の出力と乗算器503の出力とを加算する。そして乗算器506が、加算器505の出力を映像信号に乗算し、補正映像信号として出力する。
【0022】
図6は、時間経過に対する重み値aの変化を示した図である。
図6では、(1−a)も一緒に示しており、(1−a)の直線が立ち上がるタイミングは、映像信号レベルが閾値を上回ったタイミングである。閾値を上回った後は、値aは、経過時間(フィールド数)に比例して1から減少して行き、0に達すると0を維持する。1から0に遷移する間の一次直線の傾きは、リカーシブフィルタによるフリッカーパターンの推定精度が高くなるまでの時間を考慮して決定する。
【0023】
図7は、リカーシブ係数K=0.2としたリカーシブフィルタに入力する信号が0から1に変化した際に、リカーシブフィルタ出力の時間変化を示したグラフで、出力値が0.99になる(推定精度99%)になるまでに必要なフィルタのループ回数が22回であることを示している。
本実施例に当てはめると、フリッカーパターンの推定を開始してから推定精度が99%になるには、リカーシブ係数K=0.2である場合、22×Mフィールドの時間を要する。よって、
図6の傾きを(1−a)=1/22Mフィールドとすればよい。
【0024】
このように本実施例によれば、光量の急激な変化に対応する挙動を改善することができる。なお上述の説明では、補正停止状態から重み値を滑らかに変えることで、補正係数が不連続にならないようにしたが、映像信号レベルが閾値を超えた時点からフリッカーパターンの推定精度が高くなるのを待った後に利得制御部107で補正処理を開始するようにしてもよい。