(57)【要約】【課題】フリッカ光源下でＨＤＲ動画撮影を行う場合に、ハード構成やメモリの規模の増大を抑制しつつ、フリッカを検出する。【解決手段】被写体像を撮像して画像信号を出力する撮像素子と、画像信号を垂直方向に複数の領域に分割する分割部と、複数の領域のそれぞれの信号レベルに基づいて、フリッカを検出する検出部と、撮像素子に複数回の撮像を行わせる制御部とを備え、検出部は、複数回の撮像により得られる複数の画像信号のそれぞれに現れるフリッカの位相を調整することにより、複数の画像信号からフリッカを検出する。【選択図】  図６
2020088656.tif 000002
【特許請求の範囲】
【請求項１】
被写体像を撮像して画像信号を出力する撮像素子と、
前記画像信号を垂直方向に複数の領域に分割する分割手段と、
前記複数の領域のそれぞれの信号レベルに基づいて、フリッカを検出する検出手段と、
前記撮像素子に複数回の撮像を行わせる制御手段と、を備え、
前記検出手段は、前記複数回の撮像により得られる複数の画像信号のそれぞれに現れるフリッカの位相を調整することにより、前記複数の画像信号からフリッカを検出することを特徴とする撮像装置。
【請求項２】
前記検出手段は、前記複数回の撮像のそれぞれにおける信号の読み出し時間とフレームレートとの差に基づいて、前記複数の画像信号におけるフリッカの位相を調整することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記検出手段は、前記複数回の撮像のそれぞれにおける信号の読み出し時間とフレームレートとの差の時間の間に進むフリッカの位相を算出することにより、前記複数の画像信号におけるフリッカの位相を調整することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記検出手段は、前記複数回の撮像のそれぞれにおける蓄積時間の差に基づいて、前記複数の画像信号におけるフリッカの位相を調整することを特徴とする請求項２に記載の撮像装置。
【請求項５】
前記検出手段は、前記複数回の撮像のそれぞれにおける蓄積時間の差の時間の間に進むフリッカの位相を算出することにより、前記複数の画像信号におけるフリッカの位相を調整することを特徴とする請求項４に記載の撮像装置。
【請求項６】
前記検出手段は、前記複数回の撮像のそれぞれにおける蓄積時間の差に基づく前記複数の画像信号の信号レベルの差を補正して、前記複数の画像信号からフリッカを検出することを特徴とする請求項４に記載の撮像装置。
【請求項７】
前記制御手段は、前記複数回の撮像におけるそれぞれの撮像ごとに蓄積時間または感度を変更して、前記複数回の撮像を行うことを特徴とする請求項１乃至６のいずれか１項に記載の撮像装置。
【請求項８】
前記複数回の撮像により得られた明るさの異なる複数の画像信号を合成することによりＨＤＲ（ハイダイナミックレンジ）画像を合成する合成手段をさらに備えることを特徴とする請求項７に記載の撮像装置。
【請求項９】
被写体像を撮像して画像信号を出力する撮像素子を備える撮像装置を制御する方法であって、
前記画像信号を垂直方向に複数の領域に分割する分割工程と、
前記複数の領域のそれぞれの信号レベルに基づいて、フリッカを検出する検出工程と、
前記撮像素子に複数回の撮像を行わせる制御工程と、を有し、
前記検出工程では、前記複数回の撮像により得られる複数の画像信号のそれぞれに現れるフリッカの位相を調整することにより、前記複数の画像信号からフリッカを検出することを特徴とする撮像装置の制御方法。
【請求項１０】
請求項９に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項９に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリッカ光源下においてＨＤＲ動画を撮影する技術に関する。
【背景技術】
【０００２】
撮像素子の電子シャッタの方式にはグローバルシャッタとスリットローリングシャッタがある。それぞれの方式でフリッカ光源下での撮影を行うと、前者では、画像全体の明るさがフリッカにより変化する所謂面フリッカが発生する。後者では、被写体を撮像することで得られた画像に明暗差が生じる所謂ラインフリッカが発生する。フリッカによる影響を軽減するため、各シャッタ方式によって発生するフリッカを検出及び補正する技術が既に知られている。例えば、特許文献１には、スリットローリングシャッタによって発生したラインフリッカの検出方法と補正方法が開示されている。
【０００３】
ところで、近年撮像素子のダイナミックレンジを超える階調を表現するために、複数の露光条件で撮像した画像を合成する、ＨＤＲ（ハイダイナミックレンジ）合成が提案されており、合成した画像を動画として記録するＨＤＲ動画技術も提案されている。このＨＤＲ動画を生成するための１つの方法として、基準の輝度に対して所定の露出段差をつけた一つまたは複数の露光条件の組み合わせで（例えば、適正露出と２段アンダーなど）連続的に蓄積を行い、読み出された画像を合成して動画の１フレームとして記録する方法がある。特許文献２には、このようなＨＤＲ動画駆動に特化したフリッカ検出方法とその補正方法に関する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１７２１３号公報
【特許文献２】特開２０１４−１７９９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載のフリッカ検出方法は、連続して撮像した画像を用いて時間方向に定常的な画像信号を抽出し、撮像した１フレームの画像を除算することによりフリッカの明滅成分を抽出して、フリッカを検出する方法である。ただし、ＨＤＲ動画のように異なる露光条件の撮像を連続的に行う撮影モードでこのようなフリッカ検出を行うと、時間方向に定常的な画像信号が露光条件によって変化してしまう。特許文献２に記載のフリッカ検出方法では、露光条件ごと（例えば、適正露出と２段アンダーなど）にフリッカ成分を抽出する抽出器を備え、フリッカを検出する技術が提案されている。
【０００６】
しかしながら、露光条件ごとにフリッカの検出器を備える場合、合成する露光条件が増えるごとにハード構成やメモリの規模が増大する問題がある。
【０００７】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、フリッカ光源下でＨＤＲ動画撮影を行う場合に、ハード構成やメモリの規模の増大を抑制しつつ、フリッカを検出することである。
【課題を解決するための手段】
【０００８】
本発明に係わる撮像装置は、被写体像を撮像して画像信号を出力する撮像素子と、前記画像信号を垂直方向に複数の領域に分割する分割手段と、前記複数の領域のそれぞれの信号レベルに基づいて、フリッカを検出する検出手段と、前記撮像素子に複数回の撮像を行わせる制御手段と、を備え、前記検出手段は、前記複数回の撮像により得られる複数の画像信号のそれぞれに現れるフリッカの位相を調整することにより、前記複数の画像信号からフリッカを検出することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、フリッカ光源下でＨＤＲ動画撮影を行う場合に、ハード構成やメモリの規模の増大を抑制しつつ、フリッカを検出できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の撮像装置の一実施形態であるデジタルカメラのブロック構成を示す図。
【図２】一実施形態におけるフリッカ検出部の構成を示すブロック図。
【図３】ＨＤＲ動画モードでの露光条件の組み合わせを示した図。
【図４】一実施形態におけるフリッカの検出動作を示すフローチャート。
【図５】一実施形態におけるフリッカの周波数検出処理を説明するための図。
【図６】一実施形態におけるフリッカの周波数検出処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の撮像装置の一実施形態について、添付図面を参照して詳細に説明する。
【００１２】
＜撮像装置の構成＞
図１は、本発明の撮像装置の一実施形態であるデジタルカメラ１００のブロック構成を示す図である。
【００１３】
絞りや減光フィルタにより露出を制御する機構、およびフォーカス動作やズーム動作を制御する機構を含むレンズ群１０１は、入射した光を撮像素子１０３上に結像させ、光学像（被写体像）を形成する。形成された光学像は撮像素子１０３によって電気信号へと変換され、信号処理部１０４に出力される。この際、レンズ群１０１に含まれる絞りの駆動、減光フィルタの変更、撮像素子１０３における蓄積時間の制御、電気信号の増幅率の制御等により、撮像画像の露出が制御される。信号処理部１０４は、得られた画像信号に対し、ゲイン補正などの輝度補正、ホワイトバランス補正などの色補正、その他の信号処理などを施した上で、処理された画像信号を画像合成部１０５に出力する。画像合成部１０５では時系列順に入力された複数の画像を用いて、ダイナミックレンジの拡大されたＨＤＲ（ハイダイナミックレンジ）画像を生成し、記録処理部１０６に出力する。
【００１４】
その際、画像合成部１０５は、時系列的に入力された入力画像の露出差に応じた非線形な階調変換処理を施すことにより輝度整合を行い、対応する画素同士の輝度値から合成比率を決定し、画素ごとに合成を行う。時系列順に入力された複数の画像から合成を行う際には、一度記憶領域に画像を記憶する必要がある。画像信号を記憶する記録領域はどこに存在してもよく、たとえば入力された画像を保持する記憶領域を画像合成部１０５の内部に備え、時系列順に入力された画像の合成に用いてもよい。
【００１５】
また、本実施形態ではＨＤＲ動画について説明を行うが、当然通常のカメラモードとして動作することも可能である。その場合は、画像合成部１０５で画像合成を行わずに入力された画像をそのまま出力する構成であってもよい。この場合、例えば、外部のクライアント装置などの電子機器において、デジタルカメラ１００から出力された画像に基づくＨＤＲ動画の生成を行う構成であればよい。
【００１６】
前述した処理を経て記録処理部１０６から出力された記録可能な形式の画像信号は、記録媒体１０７に記録される。この一連の画像処理の流れは、各ブロックがカメラ制御部１０８によって制御されることにより実行される。カメラ制御部１０８は、マイクロコンピュータからなり、ＲＯＭ１１５に格納されている制御プログラムをＲＡＭ１１３に展開して実行することにより、デジタルカメラ１００全体を制御する。ＲＡＭ１１３は、カメラ制御部１０８の作業領域としても使用される。
【００１７】
カメラ制御部１０８は操作部１０９を通じてユーザからの操作を受け付け、設定されている撮影のモードや被写体の明るさに応じて、ズーム、フォーカス、撮影画像の明るさに関するパラメータを設定する。設定されたパラメータはレンズ制御部１０２、露出制御部１１０に伝達され、設定値に応じた制御位置、制御状態となるように各ブロックが制御される。フリッカ検出部１１１は、撮像素子１０３で蓄積された撮像画像を入力として、時間的に連続する複数の画像データ（例えば、前後の画像データ）における明暗の変化周期からフリッカの周期（光量変化周期）を検出する。フリッカの周期の検出の詳細については後述する。
【００１８】
＜フリッカの検出＞
次に、図２は、フリッカ検出部１１１の構成を示すブロック図である。図２を用いて、フリッカの検知動作について説明する。
【００１９】
カメラ制御部１０８を介してフリッカ検出部１１１に画像信号が入力されると、評価値生成部２０１において、色成分の信号値を算出するための評価値枠を設定する。ローリングシャッタ形式の撮像素子で撮像された画像では、水平ラインごとに露光開始と露光終了のタイミングが異なるため、光源の明滅により発生する明るさの違いは水平ラインごとに異なる。よって、垂直方向の輝度値は環境光とフリッカ光源の明滅の影響を受け、平均輝度（信号レベル）に差が生じる。この輝度値からフリッカ成分を抽出するために、巡回型ローパスフィルタ処理部２０２で下記の演算を行い、時間方向の定常的な信号成分（環境光）を抽出する。
【００２０】
ｍｅｍ＝ａｖｅ×ｋ＋ｍｏｕｔ×（１−ｋ）      …（式１）
ここで、ｍｅｍは上記式の出力として評価値メモリ２０３に格納される値であり、ａｖｅは評価値生成部２０１の出力結果を表す。ｋは巡回型ローパスフィルタ処理部２０２のフィルタ係数であり、ｍｏｕｔは１フレーム前の画像の信号値が入力された時に演算された上記式の演算結果である。上記演算を入力画像の各水平ラインについて行うことにより、時間方向の定常的な信号成分を抽出することができる。
【００２１】
フリッカ成分抽出部２０４において、新たに入力される画像の水平ラインの信号値と、巡回型ローパスフィルタ処理部２０２で抽出された定常的な信号成分の比や差分をとることにより、フリッカ成分（入力画像信号のレベル変動成分）を算出する。算出されたフリッカ成分から、フリッカ検出部２０５において垂直方向の信号のレベルの変動特性であるフリッカモデルを生成する。
【００２２】
フリッカモデルは、フリッカによる輝度変動を例えば垂直方向に特定の振幅ｗ、周波数ｆ、位相θを持つ周期的な関数として近似したモデルである。交流電源の電圧変動が三角関数の特徴を持つため、モデルとする周期的な関数としては正弦波（または余弦波）を用いるのが一般的であるが、他の周期的な理想関数でも構わない。周波数ｆはフレームレートと光源の電源周波数により決定される。位相θは、検出された変動成分の変動比を１としたときに、垂直方向に変動比の変化量で１をとる行を位相θ＝０として、各行について算出することができる。振幅ｗは算出された位相のπ／２及び３π／２における変動比から算出される。
【００２３】
＜ＨＤＲ動画＞
次に、図３を用いてＨＤＲ動画の駆動制御について説明する。
【００２４】
前述したとおり、ＨＤＲ動画は基準の露出に対して所定の露出段差をつけた一つまたは複数の露光条件で複数回連続的に撮影を行い、読み出された画像信号を合成して動画の１フレームとして記録する撮影モードである。図３には、感度（以下、ＩＳＯ）で露出段差をつけた場合と、蓄積時間（以下、Ｔｖ）で露出段差をつけた場合を図示している。ａ−１フレームとａ−２フレーム、ｂ−１フレームとｂ−２フレームがＨＤＲ動画を形成する１フレームを生成する際の合成のペアとなり、画像合成部１０５で合成され１フレームの画像として出力される。
【００２５】
＜撮像装置の動作＞
図４は、本実施形態におけるフリッカの検出動作を示すフローチャートである。図４を用いて、ＨＤＲ動画においてＴｖ（蓄積時間）によって露出段差をつけている場合のフリッカ検出方法について説明する。
【００２６】
ＨＤＲ動画モードが開始され、フリッカ検出が開始されると、評価値生成部２０１は、ステップＳ４０１において、撮像した画像信号に対して各色信号の平均値を取得するための評価枠を設定する。
【００２７】
ステップＳ４０２において、カメラ制御部１０８は、現在のフレームがフリッカ検出開始１フレーム目か否かを判定し、１フレーム目であればステップＳ４０６に進んで評価値生成部２０１で取得した評価値を評価値メモリ２０３に保持する。ステップＳ４０２において現在のフレームがフリッカ検出開始の２フレーム目（２枚目）以降に対応する蓄積タイミングであった場合はステップＳ４０３に進み、カメラ制御部１０８は、入力された画像信号がＨＤＲ動画の基準露光条件であるか否かを判定する。図４では、基準露光条件が適正露出だった場合を示している。
【００２８】
ステップＳ４０３において、入力された画像信号が適正露出で得られた撮像画像（適正露出フレーム）であると判定されると、ステップＳ４０５に進む。ステップＳ４０５での処理の詳細は、図２の巡回型ローパスフィルタ処理部２０２の動作で説明した通りであるので、説明を省略する。
【００２９】
ステップＳ４０３において、適正露出フレームではなく、適正露出に対して所定露出段差をつけた撮像画像（画像信号）であった場合、評価値生成部２０１は、ステップＳ４０４において評価値ゲイン調整処理を行う。ここでは、基準フレームとの露出段差分、評価値に対してゲインをかける処理を行っており、例えば入力画像信号が基準フレームに対して２段アンダーな露光条件であった場合、評価値に対してその逆数である４倍のゲインをかけて信号を増幅する。評価値のゲイン調整処理が完了したら、巡回型ローパスフィルタ処理部２０２は、ステップＳ４０５においてローパスフィルタ処理を行う。
【００３０】
ステップＳ４０５の処理が完了したら、カメラ制御部１０８は、ステップ４０６において、巡回型ローパスフィルタ処理部２０２の出力としての評価値を評価値メモリ２０３に保持する。その後ステップＳ４０７に進み、フリッカ成分抽出部２０４は、入力画像信号の評価値とステップＳ４０６で保持した評価値の差分からフリッカ成分の抽出を行う。ステップＳ４０７の詳細も、図２のフリッカ成分抽出部２０４の動作で説明した通りであるので、説明を省略する。
【００３１】
フリッカ成分の抽出が完了したら、ステップＳ４０８に進み、フリッカ検出部２０５が抽出されたフリッカの周波数（すなわち、フリッカの光量変化周期）を決定してフリッカ検出を終了する。このフリッカ周波数検出処理については図５、図６を用いて後述する。なお、この検出結果はフリッカを除去するためにＴｖ（蓄積時間）や画像処理にフィードバックされ、結果としてフリッカが消えるフレームが現れるようになるが、そのフレームではフリッカ検出は行わず、フリッカが現れているフレームで検出を続ける。
【００３２】
図５を用いて、図４のステップＳ４０８におけるフリッカ周波数（光量変化周期）検出処理について説明する。縦軸は時間軸であり、ＶＤは垂直同期信号である。図５は、時刻ｔ１から時刻ｔ１’において第１フレームの画像データを読み出し、時刻ｔ２から時刻ｔ２’において第２フレームの画像データを読み出す様子を示している。被写体がフリッカ光源下にある場合、画像データには図５のようにライン毎に輝度変化が生じる。電源周波数をｆ[Ｈｚ]とすると、フリッカ光源の輝度変化は、
Ｌ（ｔ）＝Ａsin2（２πｆｔ）ｄｔ    （Ａは定数）
とモデル化できる。これを時刻（ｔ−Δｔ）からｔまでの、Δｔの時間蓄積した場合の信号値は、
【００３３】
【数１】
2020088656.tif 000003
【００３４】
となり、周波数２ｆ[Ｈｚ]の信号となる。ここで、
【００３５】
【数２】
2020088656.tif 000004
【００３６】
である。この周波数成分を画像データから検出することにより、電源周波数ｆ[Ｈｚ]のフリッカの有無を検出する。
【００３７】
そのために、ステップＳ４０１において、評価値生成部２０１は、毎フレーム読み出される画像を垂直方向にＮ分割した領域それぞれに評価枠を設定し、分割領域ごとに信号の平均値を取得する。図５では、Ｎ＝１６として、ｍ番目のフレームで読み出された画像から得られた分割領域ｎ（１≦ｎ≦Ｎ）の平均値をＩ[ｍ][ｎ]と記している。このＩ[ｍ][ｎ]をフリッカ検出用の評価値として用いる。
【００３８】
電源周波数ｆ[Ｈｚ]のフリッカの有無を検出する場合、Ｉ[ｍ][ｎ]と、対応する２ｆ[Ｈｚ]のｓｉｎ波（およびｃｏｓ波）の値とからフリッカレベルを算出する。そして、フリッカレベルが所定値を超えるフレームが所定フレーム続いたことをもってフリッカ有りと判断する。
【００３９】
図６は、図４のステップＳ４０８におけるフリッカ周波数検出処理の詳細動作を示すフローチャートである。
【００４０】
ステップＳ６０１では、フリッカ検出部２０５は、変数ｄｔ＿ｓｔａｒｔの設定を行う。ｄｔ＿ｓｔａｒｔは、フレームｍの最後の評価値と、フレームｍ＋１の最初の評価値の間に、２ｆ[Ｈｚ]のｓｉｎ波の位相がどれだけ進むかを示す値である。ｄｔ＿ｓｔａｒｔは、撮像素子の読み出しモードによって決まるｄｔ＿ｓｔａｒｔ＿ｏｒｇをベースとして、蓄積時間に依存するθを加えた値に設定する。ｄｔ＿ｓｔａｒｔ＿ｏｒｇは図５に示すように、例えばフレームレートＦ[ｆｐｓ]で画像の読み出しにＲ[ｍｓ]かかるとすると、
ｄｔ＿ｓｔａｒｔ＿ｏｒｇ＝{１／Ｆ−Ｒ×(Ｎ−１)／Ｎ}×４πｆ
と設定すればよい。フレーム間で蓄積時間が同じであれば、フレーム間で位相ずれは発生しないので、ｄｔ＿ｓｔａｒｔ＝ｄｔ＿ｓｔａｒｔ＿ｏｒｇとしておけば問題はない。しかし、（式２）および（式４）に示したように、画像信号のフリッカ成分は蓄積時間によってθだけ位相ずれが発生するので、蓄積時間に応じて位相を調整する必要がある。そこで蓄積時間に応じて（式４）を満たすθを求め、それをｄｔ＿ｓｔａｒｔに反映することによって位相ずれを調整し、ＨＤＲ動画のように蓄積時間がフレームごとに異なるような場合でもフリッカ検出を可能としている。
【００４１】
例えば、蓄積時間１／１２０[ｓ]で電源周波数５０[Ｈｚ]のフリッカを検出しようとする場合は、
４πｆΔｔ＝４π×５０／１２０＝５／３×π
（式４）に代入すると、ｃｏｓθ＝−１／２，ｓｉｎθ＝（√３）／２となるから、
θ=（ ２／３）×π
となる。
【００４２】
ステップＳ６０１においてｄｔ＿ｓｔａｒｔの設定が終わると、フリッカ検出部２０５は、ステップＳ６０２において、Ｎ個の評価値を処理するループに先立ち、まず変数ｃｎｔを０に初期化する。
【００４３】
ステップＳ６０３では、カメラ制御部１０８は、ｃｎｔがＮより小さいか否かを判断し、Ｎより小さければループを続行すべくステップＳ６０４へ進み、Ｎ以上であればステップＳ６１２へ進む。
【００４４】
ステップＳ６０４では、カメラ制御部１０８は、ｃｎｔが０か否かを判断し、０であればループの初回用の処理をすべくステップＳ６０５へ進み、０でなければステップＳ６０６へ進む。
【００４５】
ステップＳ６０５では、フリッカ検出部２０５は、変数ｗｔ＿ｓｉｎおよびｗｔ＿ｃｏｓを設定する。ｗｔ＿ｓｉｎは評価値に対応する２ｆ[Ｈｚ]のｓｉｎ波の位相を示し、ｗｔ＿ｃｏｓは評価値に対応する２ｆ[Ｈｚ]のｃｏｓ波の位相を示す。
【００４６】
ステップＳ６０５では、フリッカ検出部２０５は、そのフレームで最初の評価値（図５のＩ[ｍ][１]）用の位相を生成するため、前のフレームで記憶しておいたｗｔにｄｔ＿ｓｔａｒｔを加えてｗｔ＿ｓｉｎを求める。後述するが、ステップＳ６１２において前のフレームの最後の評価値に対応する位相がｗｔに記憶されているため、これにｄｔ＿ｓｔａｒｔを加えることで最初の評価値に対応する位相を求めることができる。また、ｗｔ＿ｃｏｓにはｗｔ＿ｓｉｎの位相をπ／２ずらした値を設定することにより、ｃｏｓ波を表現する。
【００４７】
フレームの最初の評価値以外は、ステップＳ６０６においてｗｔ＿ｓｉｎおよびｗｔ＿ｃｏｓが設定される。ステップＳ６０６では、フリッカ検出部２０５は、その時点のｗｔ＿ｓｉｎ，ｗｔ＿ｃｏｓにｄｔを加えることによりｗｔ＿ｓｉｎ，ｗｔ＿ｃｏｓを更新する。ｄｔは図５に示すように分割領域１つを読み出す時間に相当し、センサの読み出しモードによって決まる値で、例えば画像の読み出しにＲ[ｍｓ]かかるとすると、
ｄｔ＝Ｒ／Ｎ×４πｆ
と設定すればよい。
【００４８】
ステップＳ６０７ではステップＳ４０３と同様に、カメラ制御部１０８は、適正露出フレームか否かの判断を行い、適正露出フレームでなければＳ６０８に進み、変数ｋを設定する。ｋは、適正露出フレームと適正露出でないフレームの蓄積時間の差による振幅のずれを調整するために、適正露出でないフレームの評価値に掛ける係数である。ここで、ＨＤＲ動画で適正露出でないフレームの蓄積時間をΔｔ１、適正露出のフレームの蓄積時間をΔｔ２＝ａΔｔ１とする。そうすると、適正露出でないフレームのフリッカ成分以外の信号値をＥ１としたとき、適正露出フレームのフリッカ成分以外の信号値Ｅ２＝ａＥ１となるから、適正露出でないフレームの画像データの信号値Ｓ１は、（式２）のフリッカ成分と合わせて、
【００４９】
【数３】
2020088656.tif 000005
【００５０】
適正露出フレームの画像データの信号値Ｓ２は、
【００５１】
【数４】
2020088656.tif 000006
【００５２】
と表すことができる。ここで、
【００５３】
【数５】
2020088656.tif 000007
【００５４】
である。式を変形すると以下のようになる。
【００５５】
【数６】
2020088656.tif 000008
【００５６】
このことから、適正露出フレームの評価値と、適正露出でないフレームの評価値のａ倍とから直流成分ａＡ／２Δｔ１＋ａＥ１＝Ａ／２Δｔ２＋Ｅ２を求め、それを除いた成分をｒ２／（ａｒ１）を用いて補正する。これにより、蓄積時間の差によりずれた振幅も揃えることができ、安定したフリッカ検出が可能となることがわかる。
【００５７】
ステップＳ４０４で掛けるゲインはａに相当するから、ステップＳ４０３〜Ｓ４０６を経て評価値メモリに記憶されるｍｅｍ（（式１）参照）がここでいう直流成分に相当する。この考えに基づき、適正露出フレームの蓄積時間と、適正露出でないフレームの蓄積時間とから、式に従いｒ２／（ａｒ１）を求めてｋに設定する。長秒側の場合は、ステップＳ６０９においてｋを１に設定する。この処理は、適正露出フレームの評価値を使った演算では振幅調整用の係数を掛けずに評価値をそのまま使うことを意味する。
【００５８】
ステップＳ６１０では、フリッカ検出部２０５は、ステップＳ６０５およびステップＳ６０６で設定した位相ｗｔ＿ｓｉｎ，ｗｔ＿ｃｏｓを使って、評価値と周波数２ｆ[Ｈｚ]のｓｉｎ波、ｃｏｓ波を掛け合わせて積分する。Ｉｔｇ[ｃｎｔ]はそのフレームで得られた評価値、ｍｅｍ[ｃｎｔ]はステップＳ４０６で評価値メモリに記憶される定常的な信号成分で、それぞれＮ個の分割領域ごとに取得および記憶される。評価値から定常的な信号成分を減算した値に、係数ｋおよびｓｉｎ波（ｓｉｎ(ｗｔ＿ｓｉｎ)）を掛け合わせた結果をｄｓに、ｃｏｓ波（ｓｉｎ(ｗｔ＿ｃｏｓ)）を掛け合わせた結果をｄｃに足しこむ。ｄｓおよびｄｃはカメラ起動時に０に初期化しておき、評価値が得られる度に上記積分処理を行う。
【００５９】
ｄｓ，ｄｃの更新が終わると、フリッカ検出部２０５は、ステップＳ６１１においてｃｎｔをインクリメントし、次の評価値に対する処理をすべくステップＳ６０３に戻る。
【００６０】
Ｎ個の評価値に対して処理が終わるとステップＳ６１２へ進み、その時点のｗｔ＿ｓｉｎをｗｔに記憶しておく。記憶したｗｔは次のフレームでステップＳ６０５においてｗｔ＿ｓｉｎ，ｗｔ＿ｃｏｓを算出するために用いられる。なお、ｗｔはカメラ起動時に０に初期化しておく。
【００６１】
ステップＳ６１３では、フリッカ検出部２０５は、ｄｓ，ｄｃの二乗和を求め、これをフリッカレベルＦとする。ＦがＴｈ２を超えるフレームがＴｈ１フレーム連続したか否かを、カメラ制御部１０８がステップＳ６１４において判断し、条件が成立しなければ、ステップＳ６１５においてフリッカ未検出状態であることを記憶してそのフレームのフリッカ周波数検出処理（ステップＳ４０８）を終了する。
【００６２】
ステップＳ６１４で条件が成立していれば、フリッカ検出部２０５は、フリッカ検出状態であることをステップＳ６１６において記憶し、そのフレームのフリッカ周波数検出処理（ステップＳ４０８）を終了する。
【００６３】
以上のように、本実施形態によれば、ＨＤＲ動画のように異なる露光条件を連続的に撮像する撮影モードおいて、ハード構成やメモリの増加を抑制しつつフリッカを検出することができる。また、同じ露光条件の画像のみを使用し、一つのフリッカ検出器を使用してフリッカ検出することも可能であるが、この方法では、フリッカ検出に用いるフレーム数が少なくなる。複数フレームで安定的に同じフリッカ周波数が検出されるほどその信頼度は高くなるため、本実施形態のように、撮像した全フレームを使用してフリッカ検出をすると、より早く信頼度の高いフリッカ周波数を検出することができる。
【００６４】
なお、本実施形態では、基準フレームを適正露出フレームとし、ステップＳ４０４では画像信号を増幅するゲイン調整処理を行った。しかし、基準フレームとして用いる露光条件はＨＤＲ合成する露光条件の組み合わせの中で任意のものでよく、ステップＳ４０４で画像信号を減衰させるような処理を行ってもよい。
【００６５】
（他の実施形態）
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現できる。
【符号の説明】
【００６６】
１０１：レンズ群、１０２：レンズ制御部、１０３：撮像素子、１０４：信号処理部、１０５：画像合成部、１０８：カメラ制御部、１１０：露出制御部、１１１：フリッカ検出部、２０１：評価値算出部、２０２：巡回型ローパスフィルタ処理部、２０３：評価値メモリ、２０４：フリッカ成分抽出部、２０５：フリッカ検出部
【図１】
2020088656.tif 000009
【図２】
2020088656.tif 000010
【図３】
2020088656.tif 000011
【図４】
2020088656.tif 000012
【図５】
2020088656.tif 000013
【図６】
2020088656.tif 000014