(57)【特許請求の範囲】
【請求項１】
時系列順に入力される画像を記憶領域に記憶する記憶手段と、
入力される画像内の各領域におけるフリッカ成分を検出するフリッカ検出手段と、
前記フリッカ検出手段により検出されたフリッカ成分に応じた補正係数を画像の各ラインごとに算出する補正係数算出手段と、
前記補正係数算出手段により算出された補正係数により入力された画像を補正する補正手段と、
検出対象となる光源の周波数と画像のフレームレートからフリッカ周期の整数倍に相当するフレーム数を算出するフレーム数算出手段と、
フラッシュ発光を検出するフラッシュ検出手段と、
前記フリッカ検出手段により前記フリッカ成分を検出するための画像を選択して、選択した画像を前記フリッカ検出手段に出力する選択手段と、を備え、
前記選択手段は、前記フラッシュ検出手段によりフラッシュ発光が検出されない場合は、入力された画像を前記フリッカ検出手段に出力し、前記フラッシュ検出手段によりフラッシュ発光が検出された場合は、前記フレーム数算出手段により算出されたフレーム数の過去の入力画像を前記記憶領域から読み出して前記フリッカ検出手段に出力することを特徴とする画像処理装置。
【請求項２】
前記フリッカ成分は、画像内の各領域における画像信号の信号レベルの変化に関する位相と振幅の成分であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記入力される画像は、画像を複数領域に分割した領域ごとの色信号または輝度信号であることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
時系列順に入力される画像を記憶領域に記憶する記憶ステップと、
画像内の各領域におけるフリッカ成分を検出するフリッカ検出ステップと、
前記フリッカ検出ステップで検出されたフリッカ成分に応じた補正係数を画像の各ラインごとに算出する補正係数算出ステップと、
前記補正係数算出ステップで算出された補正係数により入力された画像を補正する補正ステップと、
検出対象となる光源の周波数と画像のフレームレートからフリッカ周期の整数倍に相当するフレーム数を算出するフレーム数算出ステップと、
フラッシュ発光を検出するフラッシュ検出ステップと、
前記フリッカ検出ステップで前記フリッカ成分を検出するための画像を選択する選択ステップと、を備え、
前記選択ステップは、前記フラッシュ検出ステップでフラッシュ発光が検出されない場合は、入力された画像を選択し、前記フラッシュ検出ステップでフラッシュ発光が検出された場合は、前記フレーム数算出ステップで算出されたフレーム数だけ前記記憶領域から読み出した過去の入力画像を選択し、
前記フリッカ検出ステップは、前記選択ステップで選択された画像内の各領域におけるフリッカ成分を検出することを特徴とする画像処理方法。
【請求項５】
請求項４に記載の画像処理方法の各ステップをコンピュータに実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを格納した、ことを特徴とするコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばデジタルカメラやデジタルビデオカメラ等により蛍光灯照明下等で撮像された画像を処理する画像処理技術に関する。
【背景技術】
【０００２】
ＣＭＯＳセンサ等のＸＹアドレス方式の撮像素子を用いて蛍光灯照明下の被写体を動画撮影する場合、画像内に明暗の縞模様が記録されることがある。これは、装置の駆動周期と被写体を照らす光源の電源周波数が一致せず、撮像素子上での露光量がラインごとに異なることにより発生する。
【０００３】
このような画質の劣化を補正するために、画像の周期的な画素信号変化から光源の明滅成分（フリッカ成分）を検出し、このフリッカ成分をキャンセルする補正方法がある。画素信号レベルの変化によるフリッカ成分の明滅周期の検出では、フリッカ成分以外の要因による画素信号レベルの変化の影響を受け、フリッカ成分を正しく検出できず、誤検出・誤補正してしまうことがある。
【０００４】
このようなフリッカ成分以外の画素信号レベルの変化に対応するため、撮像対象物の輝度や色が瞬間的に変化した場合の一瞬の外乱において、時系列方向の移動平均フレーム数を変更することで安定した補正を可能にする技術が提案されている（特許文献１）。
【０００５】
また、時間方向の輝度変化量の傾きを算出し、傾きの大きさから瞬間的な輝度変化を検出して外乱の可能性が高い場合は、検出されたフリッカ成分を使用せず、過去の補正データを参照して補正を行う技術が提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２５１９８０号公報
【特許文献２】特開２０１４−４５４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記特許文献１では、瞬間的に輝度や色の変化による画像が検出器に入力されてしまうため、外乱の影響を完全になくすことはできない。
【０００８】
また、上記特許文献２においても、上記特許文献１と同様に、瞬間的に輝度や色が変化した画像がフリッカ検出器に入力されてしまうため、外乱の影響が収束するまで安定した検出結果を得ることができなくなってしまう。
【０００９】
そこで、本発明は、フラッシュ発光などにより撮像対象物の輝度や色が瞬間的に変化した場合でも、撮像対象物の影響を受けることなく、安定してフリッカ成分を検出することが可能な画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の画像処理装置は、時系列順に入力される画像を記憶領域に記憶する記憶手段と、入力される画像内の各領域におけるフリッカ成分を検出するフリッカ検出手段と、前記フリッカ検出手段により検出されたフリッカ成分に応じた補正係数を画像の各ラインごとに算出する補正係数算出手段と、前記補正係数算出手段により算出された補正係数により入力された画像を補正する補正手段と、検出対象となる光源の周波数と画像のフレームレートからフリッカ周期の整数倍に相当するフレーム数を算出するフレーム数算出手段と、フラッシュ発光を検出するフラッシュ検出手段と、前記フリッカ検出手段により前記フリッカ成分を検出するための画像を選択して、選択した画像を前記フリッカ検出手段に出力する選択手段と、を備え、前記選択手段は、前記フラッシュ検出手段によりフラッシュ発光が検出されない場合は、入力された画像を前記フリッカ検出手段に出力し、前記フラッシュ検出手段によりフラッシュ発光が検出された場合は、前記フレーム数算出手段により算出されたフレーム数の過去の入力画像を前記記憶領域から読み出して前記フリッカ検出手段に出力することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、フラッシュ発光などにより瞬間的に輝度や色の変化のある撮像画像が入力された場合においても、瞬間的な輝度や色の変化に影響を受けることなく、安定して照明光源によるフリッカ成分を検出して補正することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態である画像処理装置における画像信号の処理ブロック図である。
【図２】フリッカによる縞模様が記録された画像例を示す図である。
【図３】屋内照明環境下による撮影環境の例を示す図である。
【図４】フリッカ補正処理について説明するフローチャート図である。
【図５】画像信号選択部により入力画像の信号値を選択してフリッカ検出部に出力する様子を説明する模式図である。
【図６】画像信号選択部によりＮフレーム期間の過去の入力画像の信号値を記憶バッファから読み出してフリッカ検出部に出力する様子を説明する模式図である。
【図７】本発明の第２の実施形態である画像処理装置における画像信号の処理ブロック図である。
【図８】フリッカ補正処理について説明するフローチャート図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を説明する。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態である画像処理装置における画像信号の処理ブロック図である。図１において、信号レベル算出部１００及び補正部１０８には、補正対象となる画像信号が並列に入力される。ここで、画像信号とは、一般的なテレビジョンで入力可能な輝度・色差信号（ＹＣＣ）を時系列順に出力したものでもよいし、ＲＧＢ画像を時系列順に出力したＲＧＢ画像信号でもよい。
【００１６】
信号レベル算出部１００は、入力された画像信号を復号し、例えばＲＧＢの色信号値を画像のライン（行）ごとに積分値として抽出して、記憶バッファ（記憶領域）１０１及び画像信号選択部１０４へ出力する。本実施形態では、信号値として色信号値を例示するが、信号値としては色信号に限らず輝度信号など他の画像信号であってもよい。
【００１７】
また、ライン（行）ごとの色信号の積分値については、１つのライン（行）の中に複数の信号値が含まれるような場合は、１つのライン（行）に含まれる同じ色信号だけの積分値でもよいし、全色信号の積分値でも構わない。
【００１８】
一方、フレーム数算出部１０２は、検出対象としている電源周波数と入力された画像信号のフレームレート（ｆｐｓ）から、画像中に含まれるフリッカ明滅の縞模様が同じ様相を示すのに必要なフレーム数を算出して、画像信号選択部１０４に出力する。このフレーム数においては、前記フレーム数の整数倍であれば、同じ様相を示すという性質が変わることはなく、検出精度の安定化のために前記フレーム数の１倍よりも大きな値を用いることも含まれるものとする。
【００１９】
フラッシュ検出部１０３は、被写体に対して瞬間的にフラッシュ発光に伴う光が照射され、光が照射された被写体の画像が入力されるタイミングか否かを画像信号選択部１０４に伝達する。フラッシュ発光の検出方法については、画像の輝度値の変化量が閾値以上か否かから発光の有無を検出する公知の方法や画像に埋め込まれたＥｘｉｆなどのメタデータから検知する方法がある。また、発光装置からの無線信号により直接的に検知する方法などがあるが、特に限定されない。
【００２０】
なお、本実施形態では、フラッシュ発光を検出する例を説明するが、被写体に対して瞬間的に照射される光はフラッシュ光以外にも考えられる。例えば、雲の切れ間から瞬間的に差す太陽光や、連続発光している照明装置の光の照射方向が変化して瞬間的に被写体の方向となり被写体に対して瞬間的に照射される光などである。そのため、フラッシュ検出部１０３の代わりに、被写体に対して瞬間的に照射される光の有無を、画像の輝度値の変化量が閾値以上か否かなどで検出する検出部を備えてもよい。
【００２１】
画像信号選択部１０４は、フラッシュ検出部１０３によりフラッシュ発光が検出されなかった場合は、信号レベル算出部１００により算出された信号レベルをフリッカ検出部１０５に出力する。また、画像信号選択部１０４は、フラッシュ発光が検出された場合は、検出されたタイミングからフレーム数算出部１０２により算出されたフレーム数期間においてそのフレーム数に相当する過去の信号値を時系列順に記憶バッファ１０１から読み出す。そして、画像信号選択部１０４は、記憶バッファ１０１から読み出した過去の信号値をフリッカ検出部１０５に出力し続ける。
【００２２】
フリッカ検出部１０５は、入力された信号レベルから、画像内の各領域における照明光源の明滅によるフリッカ成分を検出し、検出したフリッカ成分を補正係数算出部１０７と状況判断部１０６に伝達する。なお、フリッカ検出部１０５によるフリッカ成分の検出処理の詳細については、後述する。
【００２３】
補正係数算出部１０７は、フリッカ検出部１０５により検出されたフリッカ成分をキャンセルする補正係数を画像内の各ラインごとに算出して、算出結果を補正部１０８に出力する。なお、補正係数算出部１０７による補正係数の算出処理の詳細については、後述する。
【００２４】
状況判断部１０６は、フリッカ検出部１０５により検出されたフリッカ成分の振幅・位相・時系列方向の安定性などから補正を行うか否かを判断し、判断結果を補正部１０８に出力する。補正部１０８は、状況判断部１０６により補正を行うと判断された場合は、入力画像の各ラインの信号値に補正係数を乗算した信号値に変換して補正する。
【００２５】
次に、フリッカ検出部１０５によるフリッカ成分の検出処理及び補正係数算出部１０７による補正係数の算出処理について詳細に説明する。
【００２６】
ＣＭＯＳセンサ等に代表されるＸＹアドレス方式の撮像素子で画像を撮影する場合、図２に示すように、画像の垂直方向に明暗の縞模様が記録されることがある。この明暗の縞模様は、図３に示すように、屋内の照明光源の下で撮影される画像のフレームレートと撮影環境の光源の電源周波数とが一致していないことにより発生する。この明暗の縞模様からフリッカ成分を抽出するために、フリッカ検出部１０５は、次式（１）を用いて時間方向の定常的な信号成分を抽出する。
【００２７】
ｍｅｍ＝ａｖｅ×ｋ＋ｍｏｕｔ×（１−ｋ）          …（１）
ここで、ｍｅｍは、上式（１）の出力として不図示のメモリに格納される値であり、ａｖｅは、画像信号選択部１０４から出力される画像内の各ラインの色成分の信号値である。また、ｋは、フリッカ成分の検出に利用する巡回型ローパスフィルタのフィルタ係数であり、ｍｏｕｔは、１フレーム前の画像の信号値が入力されたときに上式（１）により演算された演算結果である。
【００２８】
上式（１）の演算を各色成分で画像内の各ラインについて行うことにより、時間方向の定常的な信号成分を抽出することができる。抽出された定常的な信号成分を、現在のフレームで評価値取得手段から入力された信号レベルで各色成分の各信号値を除算することにより、フリッカ成分（入力画像信号のレベル変動成分）を算出する。そして、算出されたフリッカ成分に基づき垂直方向の信号のレベルの変動特性であるフリッカモデルを生成する。
【００２９】
フリッカモデルは、例えば垂直方向にある特定の振幅Ｗ・周波数ｆ・位相θを持つ正弦波で近似することができる。周波数ｆは、フレームレートと光源の電源周波数により決定され、位相θは、検出された変動成分のうち変動比が１で垂直方向に変動比の変化量で１をとるラインを位相θ＝０として各ラインの位相を算出することができる。振幅Ｗは、算出された位相のπ／２及び３π／２における変動比からから算出される。フリッカ検出部１０５は、このように生成されたフリッカモデルをフリッカ成分として各色成分ごとに生成し、補正係数算出部１０７に出力する。
【００３０】
補正係数算出部１０７は、検出画像領域と補正画像の各ラインに対応する位相を調整し、フリッカ成分をキャンセルする補正係数を各ラインに乗じるゲイン値として算出し、算出結果を補正部１０８に出力する。
【００３１】
次に、図４乃至図６を参照して、フリッカ補正処理について説明する。図４の各処理は、画像処理装置のＲＯＭ等の記憶部に格納されたプログラムがＲＡＭに展開されてＣＰＵ等により実行される。なお、ＲＯＭ、ＲＡＭ及びＣＰＵ等の図示は省略する。
【００３２】
図４において、ステップＳ４０１では、ＣＰＵは、フレーム数算出部１０２により、検出対象となる光源の周波数と画像のフレームレートからフリッカ周期のフレーム数Ｎを算出し、ステップＳ４０２に進む。
【００３３】
ステップＳ４０２では、ＣＰＵは、信号レベル算出部１００により、入力画像を複数領域に分割して領域ごとの色信号を抽出し、ステップＳ４０３に進む。ステップＳ４０３では、ＣＰＵは、ステップＳ４０２で抽出した信号値を記憶バッファ１０１に格納し、ステップＳ４０４に進む。
【００３４】
ステップＳ４０４では、ＣＰＵは、フラッシュ検出部１０３によりフラッシュ発光が検出されたか否かを判定し、フラッシュ発光が検出された場合は、ステップＳ４０７に進み、フラッシュ発光が検出されない場合は、ステップＳ４０５に進む。
【００３５】
ステップＳ４０５では、ＣＰＵは、過去のＮフレーム期間内にフラッシュ検出部１０３によりフラッシュ発光が検出されたか否かを判定し、フラッシュ発光が検出されなかった場合は、ステップＳ４０６に進む。また、ＣＰＵは、フラッシュ検出部１０３によりフラッシュ発光が検出された後のＮフレーム期間内である場合は、ステップＳ４０７に進む。
【００３６】
ステップＳ４０６では、ＣＰＵは、画像信号選択部１０４により、入力画像の信号値を選択して、図５に示すように、選択した信号値をそのままフリッカ検出部１０５に出力し、ステップＳ４０８に進む。
【００３７】
一方、ステップＳ４０７では、ＣＰＵは、画像信号選択部１０４により、入力画像ではなく、図６に示すように、Ｎフレーム期間の過去の入力画像の信号値を記憶バッファ１０１から読み出してフリッカ検出部１０５に出力し、ステップＳ４０８に進む。
【００３８】
ステップＳ４０８では、ＣＰＵは、フリッカ検出部１０５により、ステップＳ４０６又はステップＳ４０７で選択された入力画像のフリッカ成分を検出し、検出したフリッカ成分を状況判断部１０６及び補正係数算出部１０７を出力して、ステップＳ４０９に進む。ステップＳ４０９では、ＣＰＵは、ステップＳ４０８で検出されたフリッカ成分に基づき、状況判断部１０６、補正係数算出部１０７及び補正部１０８により前述したフリッカ補正処理を行い、ステップＳ４０２に戻る。
【００３９】
以上説明したように、本実施形態では、蛍光灯光源下等で撮像され明暗の縞模様が記録された画像信号を各ラインごとにゲイン値を乗算して補正する際に、フラッシュ発光の瞬間的な輝度や色の信号値変化の影響を受けることがない。このため、安定してフリッカ成分を検出し続けることができる。
【００４０】
なお、本実施形態では、画像信号を出力する出力元の機器や出力先の機器については省略したが、出力元は、画像を出力するプログラムや再生機器、撮像装置や他の電子機器等を例示することができ、出力先についても同様である。
【００４１】
（第２の実施形態）
次に、図７及び図８を参照して、本発明の第２の実施形態である画像処理装置を説明する。図７は、本実施形態の画像処理装置における画像信号の処理ブロック図である。
【００４２】
図７において、信号レベル算出部２００及び補正部２０６には、補正対象となる画像信号が並列に入力される。信号レベル算出部２００は、入力された画像信号を復号し、ＲＧＢの色信号値を画像の各ラインごとに積分値として抽出してフリッカ検出部２０３へ出力する。
【００４３】
一方、フレーム数算出部２０１は、検出対象としている電源周波数と入力画像信号のフレームレート（ｆｐｓ）から、画像中に含まれるフリッカ明滅の縞模様が同じ様相を示すのに必要なフレーム数を算出して、フリッカ検出部２０３に出力する。このフレーム数においては、前記フレーム数の整数倍であれば、同じ様相を示すという性質が変わることはなく、検出精度の安定化のために前記フレーム数の１倍よりも大きな値を用いることも含まれるものとする。
【００４４】
フラッシュ検出部２０２は、被写体に対して瞬間的にフラッシュ発光に伴う光が照射され、光が照射された被写体の画像が入力されるタイミングか否かをフリッカ検出部２０３に伝達する。フリッカ検出部２０３は、フラッシュ検出部２０２の検出結果とフレーム数算出部２０１で算出したフレーム数を考慮してフリッカ成分を検出する。そして、フリッカ検出部２０３は、検出したフリッカ成分を補正係数算出部２０５と状況判断部２０４に伝達する。なお、本実施形態でも、第１の実施形態と同様にフラッシュ発光の検出方法は限定されないし、フラッシュ検出部の代わりに被写体に対して瞬間的に照射される光の有無を検出する検出部を備えてもよい。
【００４５】
状況判断部２０４は、検出されたフリッカ成分の振幅・位相・時系列方向の安定性などから補正を行うか否かを判断し、判断結果を補正部２０６に出力する。補正係数算出部２０５は、検出されたフリッカ成分をキャンセルするような補正係数を画像内の各ラインごとに乗じるゲイン値として算出し、算出結果を補正部２０６に出力する。補正部２０６は、状況判断部２０４により補正を行うと判断された場合は、入力画像の各ラインの信号値に補正係数を乗算した信号値に変換して補正を行う。
【００４６】
なお、フリッカ検出部２０３によるフリッカ成分の検出処理及び補正係数算出部２０５による補正係数の算出処理の詳細については、上記第１の実施形態と同様であるため、その説明を省略する。
【００４７】
次に、図８を参照して、フリッカ補正処理について説明する。図８の各処理は、画像処理装置のＲＯＭ等の記憶部に格納されたプログラムがＲＡＭに展開されてＣＰＵ等により実行される。なお、ＲＯＭ、ＲＡＭ及びＣＰＵ等の図示は省略する。
【００４８】
図８において、ステップＳ８０１では、ＣＰＵは、フレーム数算出部２０１により、検出対象となる光源の周波数と画像のフレームレートからフリッカ周期のフレーム数Ｎを算出し、ステップＳ８０２に進む。
【００４９】
ステップＳ８０２では、ＣＰＵは、信号レベル算出部２００により、入力画像を複数領域に分割して領域ごとの色信号を抽出し、ステップＳ８０３に進む。ステップＳ８０３では、ＣＰＵは、フラッシュ検出部２０２により、フラッシュ発光が検出されたか否かを判定し、検出された場合は、ステップＳ８０６に進み、検出されない場合は、ステップＳ８０４に進む。
【００５０】
ステップＳ８０４では、ＣＰＵは、過去のＮフレーム期間内にフラッシュ検出部２０２によりフラッシュ発光が検出されたか否かを判定し、フラッシュ発光が検出されなかった場合は、ステップＳ８０５に進む。また、ＣＰＵは、フラッシュ検出部２０２によりフラッシュ発光が検出された後のＮフレーム期間内である場合は、ステップＳ８０６に進む。
【００５１】
ステップＳ８０５では、ＣＰＵは、フリッカ検出部２０３により前述したフリッカの検出処理を行い、検出したフリッカ成分を補正係数算出部２０５及び状況判断部２０４に出力し、ステップＳ８０８に進む。
【００５２】
一方、ステップＳ８０６では、ＣＰＵは、フリッカ検出部２０３によるフリッカ検出に用いる上式（１）のフィルタ係数ｋを０に変更し、巡回ローパスフィルタの積分結果に瞬間的な信号値変化の影響を受けた画像信号の出力を停止し、ステップＳ８０７に進む。
【００５３】
ステップＳ８０７では、ＣＰＵは、フラッシュ発光前の振幅値を保持したまま位相だけ１フレーム進ませたフリッカ成分を補正係数算出部２０５及び状況判断部２０４に出力し、ステップＳ８０８に進む。ステップＳ８０８では、ＣＰＵは、ステップＳ８０５又はステップＳ８０７で出力されたフリッカ成分に基づき、状況判断部２０４、補正係数算出部２０５及び補正部２０６により前述したフリッカ補正処理を行い、ステップＳ８０２に戻る。
【００５４】
以上説明したように、本実施形態では、蛍光灯光源下等で撮像され明暗の縞模様が記録された画像信号を各ラインごとにゲイン値を乗算して補正する際に、フラッシュ発光の瞬間的な輝度や色の信号値変化の影響を受けることがない。このため、安定してフリッカ成分を検出し続けることができる。
【００５５】
なお、本実施形態では、画像信号を出力する出力元や出力先の機器については省略したが、出力元は、画像を出力するプログラムや再生機器、撮像装置や他の電子機器等を例示することができ、出力先についても同様である。
【００５６】
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００５７】
また、本発明は、以下の処理を実行することによっても実現される。即ち、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５８】
１００  信号レベル算出部
１０１  記憶バッファ
１０２  フレーム数算出部
１０３  フラッシュ検出部
１０４  画像信号選択部
１０５  フリッカ検出部
１０６  状況判断部
１０７  補正係数算出部
１０８  補正部
【図１】
0006494351.tif 000002
【図２】
0006494351.tif 000003
【図３】
0006494351.tif 000004
【図４】
0006494351.tif 000005
【図５】
0006494351.tif 000006
【図６】
0006494351.tif 000007
【図７】
0006494351.tif 000008
【図８】
0006494351.tif 000009