(57)【要約】【課題】撮影環境下におけるフリッカを検出すること。【解決手段】ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像のうちの１フレーム目の一方向の所定ラインと、それとは異なる時間に撮像素子６から入力されるフレーム内の一方向の所定ラインとの差分画像を算出し、算出した差分画像に基づいてフリッカを検出する。【選択図】図１
2013168849.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、前記基準画像とは異なる時間に前記撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出手段と、
前記算出手段によって算出された前記信号の差分に基づいて、フリッカを検出する検出手段とを備えることを特徴とするフリッカ検出装置。
【請求項２】
請求項１に記載のフリッカ検出装置において、
前記算出手段は、前記基準画像内の縦方向の１ラインの画像と、前記対象画像内の縦方向の１ラインの画像との信号の差分を算出することを特徴とするフリッカ検出装置。
【請求項３】
請求項１または２に記載のフリッカ検出装置において、
前記検出手段は、いずれかの対象画像において、前記基準画像の前記撮像手段からの読み出し終了時間と前記対象画像の前記撮像手段からの読み出し終了時間との差分がフリッカの周期の整数倍となったときに、フリッカを検出することを特徴とするフリッカ検出装置。
【請求項４】
請求項３に記載のフリッカ検出装置において、
前記検出手段は、少なくとも前記撮像素子から所定時間内にフリッカを検出できない場合には、フリッカの検出を終了することを特徴とするフリッカ検出装置。
【請求項５】
請求項１〜４のいずれか一項に記載のフリッカ検出装置において、
前記撮像手段から時系列で入力される複数の画像は、ＲＧＢ表色系で表される画像であって、
前記算出手段は、Ｒ成分、Ｇ成分、Ｂ成分のそれぞれについて、前記基準画像と前記対象画像との信号の差分を算出することを特徴とするフリッカ検出装置。
【請求項６】
請求項５に記載のフリッカ検出装置において、
前記検出手段は、前記基準画像と前記対象画像との前記Ｒ成分の信号の差分、前記基準画像と前記対象画像との前記Ｇ成分の信号の差分、および前記基準画像と前記対象画像との前記Ｂ成分の信号の差分の少なくとも１つが所定の閾値より小さいときに、フリッカを検出することを特徴とするフリッカ検出装置。
【請求項７】
請求項１〜６のいずれか一項に記載のフリッカ検出装置において、
前記撮像手段から時系列で入力される複数の画像は、前記撮像手段から入力される画像の画素数を減少させた画像であることを特徴とするフリッカ検出装置。
【請求項８】
撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、前記基準画像とは異なる時間に前記撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出する算出処理と、
前記算出処理で算出した前記信号の差分に基づいて、フリッカを検出する検出処理とをコンピュータに実行させるためのフリッカ検出プログラム。
【請求項９】
撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、前記基準画像とは異なる時間に前記撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出する算出処理と、
前記算出手順で算出した前記信号の差分に基づいて、フリッカを検出する検出処理とをコンピュータに実行させるための命令が記録されたコンピュータ可読な記録媒体。
【請求項１０】
撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、前記基準画像とは異なる時間に前記撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出し、
算出した前記信号の差分に基づいて、フリッカを検出することを特徴とするフリッカ検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フリッカ検出装置、フリッカ検出プログラム、記録媒体、およびフリッカ検出方法に関する。
【背景技術】
【０００２】
次のようなフリッカ検出方法が知られている。このフリッカ検出方法では、１フレーム目と２フレーム目のライン別輝度差を利用してフリッカを検出する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１７４６７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のフリッカ検出方法のようにライン別に輝度周期を比較した場合には、フレームの取得タイミングによってフレーム内の横縞の輝度ムラの発生状況が異なるため、感度を上げた場合や形状が複雑な被写体がある場合は輝度差検出が難しく、フリッカの検出精度が低いという問題があった。
【課題を解決するための手段】
【０００５】
本発明によるフリッカ検出装置は、撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、基準画像とは異なる時間に前記撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出手段と、算出手段によって算出された信号の差分に基づいて、フリッカを検出する検出手段とを備えることを特徴とする。
本発明によるフリッカ検出プログラムは、撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、基準画像とは異なる時間に撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出する算出処理と、算出処理で算出した信号の差分に基づいて、フリッカを検出する検出処理とをコンピュータに実行させることを特徴とする。
本発明による記録媒体は、撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、基準画像とは異なる時間に撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出する算出する算出処理と、算出手順で算出した信号の差分に基づいて、フリッカを検出する検出処理とをコンピュータに実行させるための命令が記録されたものである。
本発明によるフリッカ検出方法は、撮像手段から時系列で入力される複数の画像の中から選択された基準画像内の一方向の所定ラインと、基準画像とは異なる時間に撮像手段から入力される対象画像内の一方向の所定ラインとの信号の差分を算出し、算出した信号の差分に基づいて、フリッカを検出することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、フリッカ検出精度を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】カメラの一実施の構成を示すブロック図である。
【図２】ローリングシャッター駆動による露光および読み出しのタイミング例を示す図である。
【図３】フリッカ周期と露光および読み出しのタイミング例とを示す図である。
【図４】画像内に生じる横縞の輝度ムラの具体例を示す第１の図である。
【図５】フリッカ検出処理の流れを示すフローチャート図である。
【図６】画像内に生じる横縞の輝度ムラの具体例を示す第２の図である。
【図７】差分画像データΔＦｉにおける任意の縦１列分の出力平均値Ｒｉ、Ｇｉ、Ｂｉと閾値Ｒｔｈ、Ｇｔｈ、Ｂｔｈとをグラフ化して示した図である。
【図８】カメラシステムの一実施の構成を示すブロック図である。
【発明を実施するための形態】
【０００８】
図１は、本実施の形態におけるカメラの一実施の構成を示すブロック図である。カメラ１００は、レンズ１と、フォーカス制御回路２と、シャッター制御回路３と、絞り制御回路４と、ズーム制御回路５と、撮像素子６と、撮像制御回路７と、映像回路８と、不揮発性メモリ９と、バッファメモリ１０と、メモリ制御回路１１と、メモリ１２と、操作検出回路１３と、モニタ制御回路１４と、モニタ１５と、ＣＰＵ１６と、ストロボ１７とを備えている。
【０００９】
本実施の形態におけるカメラ１００では、ＣＰＵ１６は、カメラ１００を構成する各部を包括的に制御する。また、ＣＰＵ１６は、不揮発性メモリ９に記録されている各種プログラムを実行することによって、種々の演算を行なう。一例としては、ＣＰＵ１６は、操作検出回路１３によって検出された使用者による操作内容に基づいて各部を制御することによって、画像の撮影や再生等の種々の処理を行なう。例えば、ＣＰＵ１６は、使用者からの撮影指示に基づいて、撮像制御回路７を制御して撮像素子６で撮像された画像に対応するアナログの画像信号取得し、映像回路８でＡＤ変換等の信号処理が施された後のデジタル画像データを取り込む。そして、ＣＰＵ１６は、取り込んだ画像データに基づいて、所定の形式、例えばＪｐｅｇ形式の画像ファイルを作成する。ＣＰＵ１６は、メモリ制御回路１１を制御して、該画像ファイルをメモリ１２、例えばメモリカード等に記録させる。また、ＣＰＵ１６は、使用者からの再生指示に基づいて、メモリ制御回路１１を制御して、再生対象の画像ファイルをメモリ１２から読み出し、読み出した画像ファイルの画像をモニタ制御回路１４を制御してモニタ１５に表示させる。
【００１０】
なお、ＣＰＵ１６は、フォーカス制御回路２、シャッター制御回路３、絞り制御回路４等を制御して、撮影時における焦点調節、シャッタースピードの設定、絞り値の設定等の撮影条件の設定を行なう。また、ＣＰＵ１６は、閃光装置であるストロボ１７を制御して被写体を照明することもできる。
【００１１】
本実施の形態におけるカメラ１００では、ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像データ（時系列に連続している複数の画像）をバッファメモリ１０に取り込んで、該複数の画像データに基づいて、撮影環境下で発生しているフリッカを検出する。なお、本実施の形態では、撮像素子６から時系列で入力される複数の画像データの画素数を減少させた画像データ、例えばモニタ１５に所定のフレームレートで表示されるスルー画に対応する画像データを対象としてフリッカを検出する例について説明する。
【００１２】
本実施の形態では、撮像素子６は、ＣＭＯＳイメージセンサであって、撮像制御回路７は、該ＣＭＯＳイメージセンサの走査ラインごとに画像信号を読み出すローリングシャッター駆動を行なって、図２に示すように１ラインずつ露光と信号の読み出しを繰り返す。なお、図２においては、横軸が時間を表し、縦軸が撮像素子６の走査ラインを表している。すなわち、撮像素子６は、撮像制御回路７による制御に基づいて、時刻ｔａにおいて露光を開始し、時刻ｔｂにおいて露光を終了する。その後、ＣＰＵ１６は、時刻ｔｃにおいて撮像素子６から出力される信号の読み取りを開始し、時刻ｔｄにおいて読み取りを終了する。これによって１フレーム目の画像データが取得される。そして、さらにこれを複数回繰り返すことにより、時系列で複数の画像データが取得される。
【００１３】
このように、ＣＭＯＳイメージセンサによってローリングシャッター駆動により時系列で複数の画像が撮像された場合には、蛍光灯などのフリッカが存在する環境下では、画像面内で横縞の輝度ムラが生じる。この輝度ムラは、ローリングシャッター駆動のフレームレートに依存した周期で変化する。
【００１４】
具体的には、図３（ａ）に示すように、５０Ｈｚの交流電源における蛍光灯のフリッカによって輝度３ａが変化する環境下において、センサ読み出し駆動３ｂに示すフレームレート（６０ｆｒａｍｅ／ｓ）でローリングシャッター駆動により時系列で複数の画像を撮像した場合には、各フレームの画像データに図４に示すような輝度ムラが発生する。すなわち、時刻３ｃにおいて読み出しが終了した１フレーム目の画像データでは、図４（ａ）に示すような横縞の輝度ムラが生じ、時刻３ｄにおいて読み出しが終了した２フレーム目の画像データでは、図４（ｂ）に示すような横縞の輝度ムラが生じる。また、時刻３ｅにおいて読み出しが終了した３フレーム目の画像データでは、図４（ｃ）に示すような横縞の輝度ムラが生じ、時刻３ｆにおいて読み出しが終了した４フレーム目の画像データでは、図４（ｄ）に示すような横縞の輝度ムラが生じる。このように、画像の撮像タイミングによって、画像データ内で発生する輝度ムラが変化する。
【００１５】
一方で、図３（ｂ）に示すように、６０Ｈｚの交流電源における蛍光灯のフリッカによって輝度３ｇが変化する環境下において、センサ読み出し駆動３ｂに示すフレームレート（６０ｆｒａｍｅ／ｓ）でローリングシャッター駆動により時系列で複数の画像を撮像した場合にも、各フレームの画像データには横縞の輝度ムラが生じる。
【００１６】
本実施の形態では、ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像に基づいてフリッカの検出を行なう。具体的には、ＣＰＵ１６は、図５に示すように処理を行なう。なお、図５は、本実施の形態におけるフリッカ検出処理の流れを示すフローチャートであり、この図５に示す処理は、撮像素子６から画像の入力が開始されると起動するプログラムとして、ＣＰＵ１６によって実行される。このプログラムは、不揮発性メモリ９に記録されており、ＣＰＵ１６は、該プログラムを不揮発性メモリ９からバッファメモリ１０に読み出して実行する。また、本実施の形態では、撮像素子６から時系列で入力される画像のフレームレートは６０ｆｒａｍｅ／ｓである場合の処理について説明する。ＣＰＵ１６は、スルー画撮影が開始される場合に、図５に示すフローを開始させる。
【００１７】
ステップＳ１０において、変数ｉの値を１に設定し、ステップＳ２０に進む。ステップＳ２０において、ＣＰＵ１６は、撮像素子６による画像取得時のフレームレートを読み出す。例えば、フレームレートはあらかじめ設定された値が不揮発性メモリ９に記録されており、ＣＰＵ１６は、該フレームレートを不揮発性メモリ９からバッファメモリ１０へ読み出す。なお、このスルー画のフレームレートは所定値でもよいし、任意に選択可能としても良い。その後、ステップＳ３０へ進み、ＣＰＵ１６は、後述する処理で用いる閾値Ｒｔｈ、Ｇｔｈ、Ｂｔｈを設定する。これらの閾値Ｒｔｈ、Ｇｔｈ、Ｂｔｈとしては、例えば、撮像素子６のセンサ感度等に応じた値があらかじめ設定されて不揮発性メモリ９に記録されており、ＣＰＵ１６は、現在の設定されるセンサ感度等に応じた該閾値Ｒｔｈ、Ｇｔｈ、Ｂｔｈを不揮発性メモリ９からバッファメモリ１０へ読み出して設定する。その後、ステップＳ４０へ進む。
【００１８】
ステップＳ４０では、ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像のうちの１フレーム目の画像データＦ１を取得して、ステップＳ５０へ進む。
ステップＳ５０では変数ｉの値をｉ＋１に設定して、ステップＳ６０に進む。ステップＳ６０では、ＣＰＵ１６は、変数ｉの値がステップＳ１０で設定したフレームレートに応じて特定される１秒間に入力されるフレーム数と異なるか否かを判断する。例えば、フレームレートが６０ｆｒａｍｅ／ｓである場合には、変数ｉの値が６０になったときにステップＳ６０が否定判断される。ステップＳ６０で否定判断された場合には、ＣＰＵ１６は本処理を終了する。これに対して、ステップＳ６０でＣＰＵ１６により肯定判断された場合には、ステップＳ７０へ進む。
【００１９】
ステップＳ７０では、ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像データのうちのｉフレーム目の画像データＦｉを取得して、ステップＳ８０へ進む。ステップＳ８０では、１フレーム目の画像データＦ１を基準画像とし、該基準画像データＦ１と、ｉフレーム目の画像データＦｉの差分画像データΔＦｉを、次式（１）により算出する。
ΔＦｉ＝｜Ｆ１−Ｆｉ｜  ・・・（１）
【００２０】
これにより、例えば、図６（ａ）に示す１フレーム目（基準画像）の画像データＦ１と図６（ｂ）に示す２フレーム目の画像データＦ２との差分画像データとして、図６（ｃ）に示すような差分画像データΔＦ２が算出される。また、例えば、図６（ｄ）に示す１フレーム目（基準画像）の画像データＦ１と図６（ｅ）に示す４フレーム目の画像データＦ４との差分画像として、図６（ｆ）に示すような差分画像データΔＦ４が算出される。
【００２１】
その後、ステップＳ９０へ進み、ＣＰＵ１６は、差分画像データΔＦｉの所定の縦１列分の出力平均値をＲ、Ｇ、Ｂの各色成分ごとに算出する。例えば、ＣＰＵ１６は、図６（ｃ）に示した差分画像データΔＦ２において、縦１列分の画素列Ｙ−Ｙ´を対象として、Ｒ成分の出力平均値Ｒｉと、Ｇ成分の出力平均値Ｒｉと、Ｂ成分の出力平均値Ｒｉとを算出する。なお、算出対象を縦１列分としたのは、ＣＰＵ１６による演算量を少なくすることにより高速に演算可能とさせるためであり、ＣＰＵの演算性能に応じて縦２列分以上としてもよい。なお、画素列Ｙ−Ｙ´は差分画像データΔＦ２の全ての行を利用している例を示しているが、例えば、所定の範囲の行のデータを利用するというように全ての行を使用しなくてもよい。
図７は、時系列で入力される各フレームの画像データを対象として算出したＲｉ、Ｇｉ、Ｂｉをグラフ化して示したものである。なお、図７においては、縦軸は出力平均値（平均出力）、横軸はフレーム番号を示している。また、図７では、ステップＳ２０で設定した閾値Ｒｔｈ、Ｇｔｈ、およびＢｔｈを点線７ａで示している。
【００２２】
その後、ステップＳ１００へ進み、ＣＰＵ１６は、ステップＳ９０で算出したＲの出力平均値Ｒｉ、Ｇの出力平均値Ｇｉ、およびＢの出力平均値Ｂｉと、ステップＳ３０で設定した閾値Ｒｔｈ、Ｇｔｈ、およびＢｔｈとを比較して、Ｒｉ＜Ｒｔｈかつ、Ｇｉ＜Ｇｔｈかつ、Ｂｉ＜Ｂｔｈの条件を満たすか否かを判断する。例えば、図７に示す例では、４フレーム目、７フレーム目、１０フレーム目において、上記条件を満たしているため、これらのフレームを対象とした処理実行時には、ステップＳ１００で肯定判断される。ステップＳ１００で否定判断した場合には、ステップＳ１６０へ進む。これに対して、ステップＳ１００で肯定判断した場合には、ステップＳ１１０へ進む。
【００２３】
ステップＳ１１０では、ＣＰＵ１６は、撮像素子６による１フレーム目の画像データＦ１に対応する画像信号の読み出し終了時間ｔ１とｉフレーム目の画像データＦｉに対応する画像信号の読み出し終了時間ｔｉとの差分Δｔを次式（２）により算出する。
Δｔ＝ｔｉ−ｔ１  ・・・（２）
例えば、上述したように、本実施の形態におけるフレームレートは６０ｆｒａｍｅ／ｓであるため、図７において、１フレーム目の画像データＦ１の読み出し終了時間ｔ１と４フレーム目の画像データＦ４の読み出し終了時間ｔ４との差分Δｔは５０ｍｓとなる。
【００２４】
その後、ステップＳ１２０へ進み、ＣＰＵ１６は、ステップＳ１００で算出したΔｔが、フリッカの周期Ｔ１の整数ｎ倍であるか否かを判断する。例えば、次式（３）を満たすか否かを判定する。
Δｔ＝ｎ×Ｔ１（ｎ＝１、２、３、４、５）  ・・・（３）
ＣＰＵ１６によって式（３）を満たすと判断された場合、すなわち、Δｔがｎとして１〜５のうちいずれかを代入した場合のｎ×Ｔ１と一致すると判断された場合には、ステップＳ１４０へ進む。これに対して、式（３）を満たさないと判断された場合には、ステップＳ１３０へ進む。なお、誤差を許容するため、Δｔとｎ×Ｔ１とは完全に一致していなくてもよく、ＣＰＵ１６は検出精度に応じた許容範囲を持たせてΔｔとｎ×Ｔ１とが略一致するか否かを判断しても良い。
【００２５】
ステップＳ１３０では、ＣＰＵ１６は、ステップＳ１１０で算出したΔｔが、フリッカの周期Ｔ２の整数ｍ倍であるか否かを判断する。例えば、次式（４）を満たすか否かを判定する。
Δｔ＝ｍ×Ｔ２（ｍ＝１、２）  ・・・（４）
ＣＰＵ１６によって式（４）を満たすと判断された場合、すなわち、Δｔが、ｍとして１または２を代入した場合のｍ×Ｔ２と一致すると判断された場合には、ステップＳ１５０へ進む。これに対して、式（４）を満たさないと判断された場合には、ステップＳ５０へ移行する。なお、誤差を許容するため、Δｔとｍ×Ｔ２とは完全に一致していなくてもよく、ＣＰＵ１６は検出精度に応じた許容範囲を持たせてΔｔとｍ×Ｔ２とが略一致するか否かを判断しても良い。
【００２６】
なお、撮影環境下で発生しうると予想されるフリッカの周期Ｔ１またはＴ２は、あらかじめ不揮発性メモリ９に記録されているものとする。例えば、本実施の形態では、５０Ｈｚの交流電源における蛍光灯のフリッカの周期としてＴ１＝１／１００ｓ＝１０ｍｓ、および、６０Ｈｚの交流電源における蛍光灯のフリッカの周期としてＴ２＝１／１２０ｓがあらかじめ不揮発性メモリ９に記録されているものとする。ここで、不揮発性メモリに記録しているフリッカ周期の種類は、本実施形態では、１／１００ｓと１／１２０ｓの２種類をあらかじめ不揮発性メモリ９に記録しているが、３種類以上記録しておいてもよいし、１種類だけを記録しておいてもよい。
【００２７】
また、本実施形態ではフレームレートは６０ｆｒａｍｅ／ｓであり、フリッカ周期の判定基準としてＴ１＝１／１００ｓ、Ｔ２＝１／１２０ｓを設定する例を記したが、フレームレートの値、および、フリッカ周期の判定基準の値は上述の例に限定されず、他の値を設定しても良い。さらに、上述の式の整数値ｎ、ｍは、フレームレートおよび判定基準のフリッカ周期の値に応じて変更することにより撮影環境下で発生しうると予想されるフリッカの周期を求めることができる。例えば、公衆電源の周波数に合わせるために、使用者が操作部材を操作することにより複数個もしくは単数個の任意の判定基準（Ｔ１、Ｔ２・・・Ｔｎ）を設定可能な構成としても良い。
【００２８】
ステップＳ１４０では、ＣＰＵ１６は、撮影環境下におけるフリッカの周期Ｔの値として、Ｔ１をバッファメモリ１０に一時記憶させた後、処理を終了する。また、ステップＳ１５０において、ＣＰＵ１６は、撮影環境下におけるフリッカの周期Ｔの値として、Ｔ２をバッファメモリ１０に一時記憶させた後、処理を終了する。なお、図７に示す例では、フリッカの周期Ｔ＝１０ｍｓに対して、ステップＳ１１０で算出した差分Δｔ＝５０ｍｓは整数倍であるため、４フレーム目の画像データＦ４においてフリッカが検出されることになる。
また、ステップＳ１６０では変数ｉの値が２と異なるか否かを判断する。ステップＳ１６０で変数ｉの値が２でない場合（肯定判定された場合）には、ステップＳ１７０に進み、変数ｉの値が２の場合（否定判定された場合）には、ステップＳ５０に移行する。  ステップＳ１７０において、ＣＰＵ１６は、差分画像データΔＦｉと１回前に算出したΔＦｉ−１の差分の絶対値である｜ΔＦｉ−ΔＦｉ−１｜が所定の閾値よりも小さいか否かを判断する。ステップＳ１７０でＣＰＵ１６により｜ΔＦｉ−ΔＦｉ−１｜の値が所定の閾値よりも小さいと判断された場合（肯定判定された場合）には、本処理を終了し、｜ΔＦｉ−ΔＦｉ−１｜の値が所定の閾値以上と判断された場合（否定判定された場合）には、ステップＳ５０に移行する。
上述のステップＳ１７０の処理は、フリッカが生じていない状況において本フローを終了させるための処理である。フリッカが生じておらず、かつ、フレーム間で同様の被写体が撮影される場合には、ΔＦｉとΔＦｉ−１とはほぼ同様の値となる。したがって、｜ΔＦｉ−ΔＦｉ−１｜の値と比較する上記の閾値は、誤差を許容する範囲内でΔＦｉとΔＦｉ−１とがほぼ等しいことを示すための値として設けられることが好ましい。
【００２９】
上述のように検出されたフリッカ周期の値は、例えば、露光時間の制御に使用する。例えば、フリッカの影響を抑制するための静止画撮影モードを設定可能な構成としてもよい。この静止画撮影モードが設定された場合には、ＣＰＵ１６は、検出したフリッカ周期の整数倍となる露光時間を設定することが好ましい。Ｔ１＝１／１００ｓがフリッカ周期として検出された場合には、ＣＰＵ１６は、静止画撮影時の露光時間を１／１００ｓの整数倍に設定し、開口絞り、ＩＳＯ感度等を調整して最適露出となるように制御する。また、Ｔ２＝１／１２０ｓがフリッカ周期として検出された場合には、ＣＰＵ１６は、静止画撮影時の露光時間を１／１２０ｓの整数倍に設定し、開口絞り、ＩＳＯ感度等を調整して最適露出となるように制御する。
【００３０】
同様に、フリッカの影響を抑制するための動画撮影モードを設定可能な構成としてもよい。この動画撮影モードが設定された場合には、ＣＰＵ１６は、１フレームの露光時間が検出したフリッカ周期の整数倍となる露光時間となるように設定することが好ましい。なお、ＣＰＵ１６は、上述のように設定された動画撮影時の露光時間に基づいてフレームレートを設定してもよい。
【００３１】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）ＣＰＵ１６は、撮像素子６から時系列で入力される複数の画像のうちの１フレーム目の画像データＦ１と、それとは異なる時間に撮像素子６から入力されるフレームの画像データＦｉとの差分画像データを算出し、算出した差分画像データに基づいてフリッカを検出するようにした。これによって、１フレーム目の画像データＦ１と他のフレームの画像データＦｉとに基づいて、簡易にフリッカの検出を行なうことができる。
【００３２】
（２）ＣＰＵ１６は、差分画像データΔＦｉの任意の縦１列分のＲ、Ｇ、Ｂの各色成分ごとの出力平均値Ｒｉ、Ｇｉ、Ｂｉがあらかじめ設定された閾値Ｒｔｈ、Ｇｔｈ、およびＢｔｈよりも小さく、１フレーム目の画像データＦ１と他のフレームの画像データＦｉとの読み出し終了時間の差分がフリッカの周期の整数倍となったときに、フリッカを検出するようにした。これによって、フリッカ検出精度を向上させることができる。
【００３３】
（３）ＣＰＵ１６は、変数ｉの値がフレームレートに応じて特定される１秒間に入力されるフレーム数と同じであるときに図５に示した処理を終了することにより、撮像素子６から１秒間に入力される複数の画像の数と同じ数のフレームを対象としてフリッカの検出を試みてもフリッカを検出できない場合には、フリッカの検出を終了するようにした。これによって、フリッカを検出することができない環境下で処理が無駄に継続することを防ぐことができる。
【００３４】
（４）上述した実施の形態では、撮像素子６から時系列で入力される複数の画像の画素数を減少させた画像、例えばスルー画を対象としてフリッカを検出するようにした。これによって、撮像素子６から入力される画像をそのまま扱うよりもＣＰＵ１６の処理負荷を低減することができる。
【００３５】
―変形例―
なお、上述した実施の形態のカメラは、以下のように変形することもできる。
（１）上述した実施の形態では、図５のステップＳ５０において、ＣＰＵ１６は、変数ｉの値がステップＳ１０で設定したフレームレートに応じて特定される１秒間に入力されるフレーム数と同じあるか否かを判断する例について説明した。しかしながら、ＣＰＵ１６は、変数ｉの値があらかじめ設定された値と同じであるかを判断するようにしてもよい。
【００３６】
（２）上述した実施の形態では、図５のステップＳ８０において、ＣＰＵ１６は、差分画像データΔＦｉの任意の縦１列分の出力平均値をＲ、Ｇ、Ｂの各色成分ごとに算出する例について説明した。しかしながら、ＣＰＵ１６は、差分画像データΔＦｉの任意の縦１列分の出力合計値をＲ、Ｇ、Ｂの各色成分ごとに算出するようにしてもよい。また、ＲＧＢ表色系で表される画像を対象として、Ｒ、Ｇ、Ｂの各色成分ごとに出力平均値や出力合計値を算出する代わりに、ＹＣｂＣｒ表色系で表される画像を対象として、Ｙ成分の出力平均値や出力合計値を算出してフリッカの検出を行うようにしてもよい。また、差分画像データΔＦｉの任意の縦１列分ではなく、縦複数列分の出力平均値や出力合計値を算出するようにしてもよい。
【００３７】
（３）上述した実施の形態では、図５のステップＳ９０において、ＣＰＵ１６は、Ｒｉ＜Ｒｔｈ、Ｇｉ＜Ｇｔｈ、Ｂｉ＜Ｂｔｈの条件を満たすか否かを判断し、該条件を満たす場合には、差分Δｔを算出する例について説明した。しかしながら、ＣＰＵ１６は、Ｒｉ＜Ｒｔｈ、Ｇｉ＜Ｇｔｈ、Ｂｉ＜Ｂｔｈの少なくとも１つの条件を満たすか否かを判断するようにしてもよい。
【００３８】
（４）ＣＰＵ１６による図５に示した処理を行うフリッカ検出プログラムを図８に示すコンピュータ装置に実行させることにより、カメラシステムを構成してもよい。例えば、上述のようなスルー画像（動画像）を逐次取得し取得された画像を出力するカメラ１００と、カメラ１００から出力された画像を入力し上述のフリッカの検出を行うパーソナルコンピュータ２００とから構成されるカメラシステムとで構成しても良い。この場合、フリッカ検出プログラムをパーソナルコンピュータ２００に取込んで使用する場合には、パーソナルコンピュータ２００のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させることによって画像処理装置として使用する。
【００３９】
パーソナルコンピュータ２００に対するプログラムのローディングは、プログラムを格納したＣＤ−ＲＯＭなどの記録媒体３００をパーソナルコンピュータ２００にセットして行ってもよいし、ネットワークなどの通信回線４００を経由する方法でパーソナルコンピュータ２００へローディングしてもよい。通信回線４００を経由する場合は、通信回線４００に接続されたサーバー（コンピュータ）５００のハードディスク装置５０１などにプログラムを格納しておく。画像処理プログラムは、記録媒体３００や通信回線４００を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。なお、フリッカ検出の対象は、スルー画に限定されず、例えば連写によって取得された複数の画像であってもよい。
【００４０】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【００４１】
１００  カメラ、１  レンズ、２  フォーカス制御回路、３  シャッター制御回路、４  絞り制御回路、５  ズーム制御回路、６  撮像素子、７  撮像制御回路、８  映像回路、９  不揮発性メモリ、１０  バッファメモリ、１１  メモリ制御回路、１２  メモリ、１３  操作検出回路、１４  モニタ制御回路、１５  モニタ、１６  ＣＰＵ、１７  ストロボ、２００  パーソナルコンピュータ、３００  記録媒体、４００  通信回線、５００  サーバー（コンピュータ）、５０１  ハードディスク装置
【図１】
2013168849.tif 000003
【図２】
2013168849.tif 000004
【図３】
2013168849.tif 000005
【図４】
2013168849.tif 000006
【図５】
2013168849.tif 000007
【図６】
2013168849.tif 000008
【図７】
2013168849.tif 000009
【図８】
2013168849.tif 000010