(57)【要約】【課題】  フリッカ検出時には意図的にフリッカが発生しやすい状況にしてフリッカの周波数を精度良く検出できるようにする。【解決手段】  ライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子６Ｅを備えた撮像装置において、制御部１は、撮像素子６Ｅにより撮像される画像のライン方向の明るさ変化に基づいてフリッカを検出する時に、撮像素子６Ｅによる撮像の際のライン毎の露光タイミングのずらし量を、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する。【選択図】  図１
2017069741.tif 000002
【特許請求の範囲】
【請求項１】
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子と、
前記撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する検出手段と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記検出手段によるフリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する設定手段と、
を備えたことを特徴とする撮像装置。
【請求項２】
前記検出手段は、前記撮像素子により撮像される画像の前記所定方向に、検出対象となるフリッカの周期に対応する明るさ変化が有るか否かを検出する、
ことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記画像内の前記所定方向の明るさ変化をフーリエスペクトル解析し、前記検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、前記検出対象となるフリッカが発生していると判断する、
ことを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記設定手段は、検出対象となるフリッカの周期が複数存在している場合に、検出対象となる複数のフリッカの周期の最小公倍数以上となるように前記累積したずらし量を設定し、
前記検出手段は、前記画像内の前記所定方向の明るさ変化をフーリエスペクトル解析し、前記検出対象となる複数のフリッカの周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断する、
ことを特徴とする請求項３に記載の撮像装置。
【請求項５】
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期のＮ倍（Ｎは整数）以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記撮像素子により撮像される画像における前記フリッカの周期のＮ倍に対応する領域内の前記所定方向の明るさ変化を、周波数Ｎでフーリエスペクトル解析し、検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、前記検出対象となるフリッカの周期のフリッカが発生していると判断する、
ことを特徴とする請求項３に記載の撮像装置。
【請求項６】
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となる複数のフリッカの周期の最小公倍数のＮ倍（Ｎは整数）以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記撮像素子により撮像される画像における前記検出対象となる複数のフリッカの周期の最小公倍数のＮ倍（Ｎは整数）に対応する領域内の前記所定方向の明るさ変化を、周波数Ｎ（Ｎは整数）でフーリエスペクトル解析し、前記検出対象となる複数のフリッカの周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断する、
ことを特徴とする請求項４に記載の撮像装置。
【請求項７】
前記設定手段は、検出対象となる複数のフリッカの周波数が、５０Ｈｚの電源周波数と６０Ｈｚの電源周波数の２つに対応する周波数である場合に、前記累積したずらし量が１／２０ｓのＮ倍（Ｎは整数）以上となるように、前記フリッカ検出用のずらし量を設定する、
ことを特徴とする請求項４に記載の撮像装置。
【請求項８】
検出対象となるフリッカの周期のＮ倍（Ｎは整数）のシャッタ時間（露光時間）による撮影と、検出対象となるフリッカの周期よりも短いシャッタ時間（露光時間）による撮影とを連続して行う撮影制御手段を更に備え、
前記検出手段は、前記連続した撮影で得られた２つの画像の明るさの比のライン方向への変化に基づいてフリッカを検出する、
ことを特徴とする請求項１乃至７のいずれか１項に記載の撮像装置。
【請求項９】
前記累積したずらし量が検出対象となる複数のフリッカの周期の最小公倍数以上となるように前記ずらし量を設定することができない状況においては、複数のフリッカの周期で別々にずらし量を設定して、各々の周波数のフリッカを検出する、
ことを特徴とする請求項４に記載の撮像装置。
【請求項１０】
画像内に白飛び／黒つぶれなどの異常データを検出する異常検出手段を更に備え、
前記検出手段は、前記異常検出手段によって異常データが検出された場合には、前記フリッカの周期に対して、異常データの検出位置に対応する位相に存在している他のデータで置き換えてからフリッカの検出を行う、
ことを特徴とする請求項１乃至９のいずれか１項に記載の撮像装置。
【請求項１１】
撮像装置におけるフリッカ検出方法であって、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する処理と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記フリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する処理と、
を含むことを特徴とするフリッカ検出方法。
【請求項１２】
撮像装置のコンピュータに対して、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する機能と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記フリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像された画像内の明るさ変化に基づいてフリッカを検出する撮像装置、フリッカ検出方法及びプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラなどの撮像装置は、商用電源周波数（例えば、５０Ｈｚ、６０Ｈｚ）に応じて周期的に明るさが変化する光源（例えば、蛍光管など）の環境下で撮像を行うと、商用電源周波数が５０Ｈｚの場合には、１／１００秒周期で光源の明るさが変化し、６０Ｈｚの場合には、１／１２０秒周期で光源の明るさが変化するために、その画像信号内に明暗の横縞が現れることがある。この場合、ローリングシャッタ方式（ライン露光順次読み出し方式）の撮像素子（ＣＭＯＳ）では、ライン単位で露光タイミングをずらしながら１フレーム分の撮像を行うようしているため、撮像された画像に明暗の横縞が現れてフリッカが発生する場合がある。
【０００３】
このフリッカを検出する技術としては、例えば、撮影時に蛍光灯などのフリッカの周波数を検出する場合に、シャッタ時間（露光時間）の異なる２つの画像において、その輝度の比の変動を周波数分析することで被写体の動きなどによる輝度変動の影響を除き、蛍光灯のフリッカ成分の周波数だけを検出できるようにした技術が知られている（特許文献１参照）。また、撮影フレームレートへの依存性を少なくしてフリッカ検出の精度を向上させるようにした技術も知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−７４０２号公報
【特許文献２】特表２０１０−５２０６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した各特許文献においては、シャッタ時間（露光時間）や撮影フレームレートを考慮してフリッカを検出しているが、ローリングシャッタ方式の撮像素子を用いた撮像装置において、より効果的にフリッカを検出することはできなかった。
【０００６】
本発明の課題は、ローリングシャッタ方式の撮像素子を用いた撮像装置において、より効果的にフリッカを検出できるようにすることである。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために本発明は、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子と、
前記撮像素子により撮像される画像の前記所定ライン方向の明るさ変化に基づいてフリッカを検出する検出手段と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記検出手段によるフリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する設定手段と、
を備えたことを特徴とする撮像装置である。
【発明の効果】
【０００８】
本発明によれば、ローリングシャッタ方式の撮像素子を用いた撮像装置において、より効果的にフリッカを検出することができる。
【図面の簡単な説明】
【０００９】
【図１】撮像装置として適用したデジタルカメラの基本的な構成要素を示したブロック図。
【図２】複数の異なる商用電源周波数（例えば、５０Ｈｚ及び６０Ｈｚ）に応じて周期的に明るさが変化する光源の環境下で撮像を行った場合に、撮像素子６Ｅへの露光時間に応じて横縞が無い画像と、横縞が有る画像が得られることを示した図。
【図３】電源オンに応じて実行開始される撮像装置（デジタルカメラ）の動作（本実施形態の特徴的な動作）を説明するためのフローチャート。
【図４】第１のフリッカ検出処理（図３のステップＡ４）を詳述するためのフローチャート。
【図５】第２のフリッカ検出処理（図３のステップＡ５）を詳述するためのフローチャート。
【図６】図５の動作に続くフローチャート。
【図７】撮影条件設定処理（図３のステップＡ６）を詳述するためのフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図１〜図７を参照して詳細に説明する。
図１は、撮像装置として適用したデジタルカメラの基本的な構成要素を示したブロック図である。
撮像装置（デジタルカメラ）は、静止画や動画を撮像する撮像機能、記録保存されている画像を表示する再生機能、計時情報を得る計時機能などの他に、フリッカ検出機能を備えたデジタルビデオカメラである。このフリッカ検出機能は、商用電源周波数に応じて周期的に明るさが変化する光源（例えば、蛍光管など）の環境下で撮像された画像内に現れるフリッカを検出する機能である。
【００１１】
本実施形態は、後で詳述するが、ローリングシャッタ方式（ライン露光順次読み出し方式）の撮像素子（ＣＭＯＳ）を用いて撮像する場合のフリッカ検出時に、フリッカ検出用として特殊な転送時間を一時的に設定するようにしたことを特徴としている。制御部１は、電源部（二次電池）２からの電力供給によって動作し、記憶部３内の各種のプログラムに応じてこのデジタルカメラの全体動作を制御するもので、この制御部１には図示しないＣＰＵ（中央演算処理装置）やメモリなどが設けられている。
【００１２】
記憶部３は、例えば、ＲＯＭ、フラッシュメモリなどを有する構成で、後述する図３〜図７に示した動作手順に応じて本実施形態を実現するためのプログラムや各種のアプリケーションなどが格納されているプログラムメモリ３Ａ、このカメラが動作するために必要となる各種の情報（例えば、フラグなど）を一時的に記憶するワークメモリ３Ｂなどを有している。なお、記憶部３は、例えば、ＳＤカード、ＩＣカードなど、着脱自在な可搬型メモリ（記録メディア）を含む構成であってもよく、図示しないが、通信機能を介してネットワークに接続されている状態においては所定のサーバ装置側の記憶領域を含むものであってもよい。
【００１３】
操作部４は、図示省略したが、撮影が可能な動作モード（撮影モード）と、撮影済み画像（保存画像）を再生する動作モード（再生モード）を切り替えるモード変更ボタンと、撮影開始を指示するレリーズボタンの他に、露出やシャッタスピード、絞り、ＩＳＯ感度などの撮影条件の設定操作などを行う各種のキーを備えたもので、制御部１は、この操作部４からの入力操作信号に応じた処理として、例えば、モード変更処理、撮影処理、撮影条件の設定などを行う。表示部５は、高精細液晶ディスプレイあるいは有機ＥＬ（Electro  Luminescence）ディスプレイなどで、撮像された画像データ（ライブビュー画像）をリアルタイムに表示するモニタ画面（ライブビュー画面）となったり、撮影済みの画像データを再生する再生画面となったりする。
【００１４】
撮像部６は、被写体を高精細に撮影可能なカメラ部を構成するもので、そのレンズユニット６Ａには、ズームレンズ６Ｂ、フォーカスレンズ（合焦レンズ）６Ｃ、絞り・シャッタ６Ｄ、撮像素子６Ｅが設けられている。撮像素子６Ｅは、行列のマトリックス状に各画素を二次元配置したもので、水平ライン（行ライン）と垂直ライン（列ライン）上に配置された各画素を、垂直方向に並ぶ水平ライン（１ライン又は数ライン）毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式（ライン露光順次読み出し方式）のＣＭＯＳイメージセンサである。そして、撮像素子６Ｅは、図示省略したが、電荷蓄積部及び電荷転送部を有し、その先頭ライン（最上端（行）の水平ライン）から最終ライン（最下端（行）の水平ライン）までを所定時間毎にタイミングをずらしながら水平ライン毎に順次露光・読み出しを行うにしている。
なお、ここで言う「垂直」、「水平」とは、ローリングシャッタ方式の撮像素子において上記のような露光を行う場合の画素データの読み出し方向を便宜的に示した呼び方であって、重力方向や撮像素子の取り付け方向などに限定されるものではない。以下、水平ラインのことを単にラインと呼ぶ場合もある。
【００１５】
この撮像素子６Ｅから読み出された画像信号（アナログ値の信号）は、図示省略のＡ／Ｄ変換部によってデジタル信号（画像信号）に変換されて所定の画像表示処理が施された後、表示部５にライブビュー画像としてリアルタイムにモニタ表示される。制御部１は、レリーズボタン（図示省略）の操作に応じて、撮像された画像に対して所定の画像処理（現像処理など）を施して撮影画像を生成すると共に、画像圧縮処理を施して標準的なファイル形式に変換した後、記憶部３の記録メディアに記録保存させる。ＧＰＳ通信部（測位部）７は、地上系／衛星系の制御局を利用して現在位置（カメラ位置）を測定するもので、制御部１は、カメラ位置が大きく（所定値以上）変化した場合に撮影環境が変化したものと判断するようにしている。
【００１６】
図２は、複数の異なる商用電源周波数（例えば、５０Ｈｚ及び６０Ｈｚ）に応じて周期的に明るさが変化する光源（例えば、蛍光管など）の環境下で撮像を行った場合に、撮像素子６Ｅへの露光時間に応じて横縞が無い画像と、横縞が有る画像が得られることを示した図である。なお、以下、商用電源周波数５０Ｈｚ（フリッカ周波数１００Ｈｚ）を単に５０Ｈｚ電源、また、商用電源周波数６０Ｈｚ（フリッカ周波数１２０Ｈｚ）を単に６０Ｈｚ電源と呼称するものとする。
【００１７】
フリッカ検出時には、撮影フレームの周期を少なくともフリッカ周期１／１００ｓ（１０ｍｓ）、１／１２０ｓ（１２ｍｓ）の２倍以上に設定するようにしている。すなわち、本実施形態においては、後述する１フレーム分の画像データを用いたフーリエスペクトル解析の精度を上げるために、１フレーム内に複数周期分（フリッカ周期の整数倍分）の露光時間のずれのある画像データを確保するようにしているが、この複数周期分の画像データを確保する関係上、図示の例のように５０Ｈｚ電源（フリッカ周期１／１００ｓ）と６０Ｈｚ電源（フリッカ周期１／１２０ｓ）との最少公倍数の１／２０ｓを撮影フレームの周期（５０ｍｓ）として設定するようにしている。このように本実施形態によれば、１フレーム分の画像データを用いたフーリエスペクトル解析の精度を上げることができるので、フリッカの検出精度を低下させることなく、より短時間に素早くフリッカの周波数を検出することが可能となる（より効果的にフリッカを検出することができる）。
【００１８】
一般にフリッカの発生する光源下において、撮像素子６Ｅを利用してローリングシャッタ方式による露光・転送を行うと、その露光時間（シャッタ速度）・転送時間（読み出し時間）に応じて次の現象が起こる。
なお、露光時間は全ての画素で共通して露光に要する時間であり、転送時間は１フレーム内の全ライン分の画素データの転送に要する時間であるが、本実施形態においては、ローリングシャッタ方式の撮像素子を用いて、露光が完了したラインから順次画素データの転送を行っているので、この転送時間は、撮像素子６Ｅによる撮像の際のライン毎の露光タイミングのずらし量（ずらし時間）を、１フレーム内のライン数分だけ累積した時間に対応して決められる時間と略等しい。また、本実施形態においては、１フレーム分の画像の全てではなく、その一部分である画像エリアに対する部分的な転送時間の方を重視する場合もあるので、この転送時間を「複数ラインの累積したずらし量」で定義するようにしている。
【００１９】
（露光時間）
一般に、撮像素子６Ｅへの露光時間に応じて周期的に明るさの異なる横縞の画像が生成される。その際、フリッカ周期（１／１００ｓ、１／１２０ｓ）の整数倍の露光時間で撮影した場合には、どのラインの画素でも露光中に累積されるフリッカの影響は等しくなるために横縞の発生は無いが、フリッカ周期の整数倍を除く他の値の露光時間で撮影した場合には、ライン毎にフリッカの影響が異なるために横縞画像が生成される。したがって、５０Ｈｚ、６０Ｈｚのどちらの環境でもフリッカが発生しない露光時間は、１／１００ｓと１／１２０ｓの最小公倍数となる１／２０ｓとその整数倍である。また、露光時間が短いほどフリッカの発生が顕著になる。
【００２０】
（転送時間）
１フレーム内に発生する横縞の本数は、転送時間に応じて変化する。この場合、転送時間が長いほど、１フレーム内に数多くの横縞が発生する。１フレーム内に発生する横縞の本数は、「画像の転送時間／フリッカ周期」によって求められる。例えば、２０ｍｓで画像を転送した場合には、５０Ｈｚ電源の下ならば２本の横縞が現れ、６０Ｈｚ電源の下ならば２．４本の横縞が現れる。
【００２１】
一方、露光時間、転送時間は、フレームレートによって制限される。例えば、フレームレートが３０ｆｐｓの場合に露光時間、転送時間は、それぞれ３３ｍｓまでに制限され、２０ｆｐｓの場合に露光時間、転送時間は、それぞれ５０ｍｓまでに制限される。そこで、本実施形態においては、これらの性質を利用し、カメラの起動時などのフリッカ検出時に、一時的に転送時間を通常の撮影時よりも長くし、つまり、フリッカによる横縞を発生しやすい転送を使用することよってフリッカの周波数（周期）を検出しやすくするようにしている。
【００２２】
すなわち、一般的に、変動するデータから変動の周波数を検出するためには、フーリエスペクトル解析などの手法が用いられるが、より正確に変動の周波数（周期）を検出するためには、なるべく長い期間の変動データを必要とする。本実施形態においても、フーリエスペクトル解析を用いてフリッカの周波数を検出するようにしているため、先頭のラインの露光を開始（終了）してから最終のラインの露光を開始（終了）するまでの時間がなるべく長くなるようなフレーム画像を撮像する必要がある。なお、この先頭ラインの露光を開始（終了）してから最終ラインの露光を開始（終了）するまでの時間（露光時間）は、先頭ラインの露光データの転送を開始してから最終ラインの露光データの転送を完了するまでの時間、つまり、上述の転送時間と略等しくなる。
【００２３】
そこで、本実施形態では、撮像制御のために設定可能なパラメータとして上述の転送時間を採用しているため、フリッカ検出時には、この転送時間を一時的に長く調整するようにしている。なお、先頭のラインの露光を開始（終了）してから最終のラインの露光を開始（終了）するまでの時間を変化させることが可能であれば、上述の転送時間とは別のパラメータを一時的に変化させるようにしてもよい。この場合、撮像制御のために設定可能な別のパラメータとしては、例えば、転送クロック、水平転送ダミーなどである。図示の例においては、通常撮影時の露光時間として１／３０ｓに設定し、通常撮像時の転送時間として１／５０ｓ（又は１／１００ｓ）に設定した場合を示している。なお、通常撮像時の露光時間は、５０Ｈｚ電源（フリッカ周期１／１００ｓ）、６０Ｈｚ電源（フリッカ周期１／１２０ｓ）の整数倍の中から、被写体の明るさに応じて選択されたもので、図示の例では１／３０ｓが選択された場合を示している。
【００２４】
これに対し、図示の例では、フリッカ検出時の露光時間として１／２０ｓ（５０ｍｓ）及び１／３００ｓ（３．３３・・ｍｓ）を設定し、フリッカ検出時の転送時間として１／２０ｓ（５０ｍｓ）を設定するようにしている。この１／２０ｓ（５０ｍｓ）は、検出対象となるフリッカの周期が複数存在する場合、つまり、複数の異なる５０Ｈｚ及び６０Ｈｚ電源に応じて周期的に明るさが変化する光源の環境下にある場合に、検出対象となる複数のフリッカ周期（１／１００ｓ、１／１２０ｓ）の最小公倍数以上となるように設定したもので、フリッカ検出時の転送時間が複数のフリッカ周期（１／１００ｓ、１／１２０ｓ）の最小公倍数（１／２０ｓ）の整数倍であれば、５０Ｈｚ及び６０Ｈｚ電源のどちらの環境下でも整数本の横縞を起こせるため、両方（５０Ｈｚ及び６０Ｈｚ電源）のフリッカ検出を同時に行うことができるようになる。
【００２５】
このように本実施形態においてはフリッカ検出時の転送時間１／２０ｓを通常撮影時の転送時間１／５０ｓ（又は１／１００ｓ）よりも長くして、意図的に転送速度を遅くするようにしている。つまり、先頭のラインの露光を開始（終了）してから最終のラインの露光を開始（終了）するまでの時間（転送時間）を、例えば、１／２０ｓとすることにより、撮像素子６Ｅによる撮像の際のライン毎の露光タイミングのずらし量を、通常の撮影時よりも大きくして意図的に転送速度を遅くしている。
【００２６】
図示の露光時間１／２０ｓは、フリッカ周期１／１００ｓ、１／１２０ｓの公倍数であり、撮像素子６Ｅの先頭のラインから最終のラインまでのどの区間で露光しても露光中に累積されるフリッカによる明るさへの影響は同じとなるために、撮像された画像は横縞の無い画像となる。また、図示の例ではフリッカ検出時の露光時間として１／２０ｓの他、１／３００ｓを使用するようにしている。この露光時間１／３００ｓは、フリッカ周期よりも十分に短くしたものであり、撮像素子６Ｅの先頭のラインから最終のラインまで区間を変えることで明るさが変化するために、撮像された画像は、横縞の有る画像となる。
【００２７】
そして、本実施形態においては、被写体そのものによるライン毎の明るさ変化の影響を排除して、フリッカによる明るさ変化だけを検出するために、同じ転送時間１／２０ｓであっても、フリッカが発生しない露光時間１／２０ｓと、フリッカが発生する露光時間１／３００ｓで撮像された２枚の画像（例えば、時間的に前後する２枚の画像）を比較し、それらの画像の明るさの比を取ることによって所定時間（画像転送時間）内の光源の明るさの変化を検出する。そして、この明るさの比の変動データに対してフーリエスペクトル解析を行ってフリッカの周波数を検出する。このフーリエスペクトル解析の結果、検出対象となるフリッカ周期（１／１００ｓ又は１／１２０ｓ）に対応する周波数（１００Ｈｚ又は１２０Ｈｚ）のスペクトル成分が所定以上である場合に、検出対象となる周波数のフリッカが発生していると判定（フリッカが現れたのは５０Ｈｚ電源の場合か６０Ｈｚ電源の場合かを判定する）するようにしている。
【００２８】
なお、転送時間が１／２０ｓの整数倍の値であれば、５０Ｈｚ及び６０Ｈｚ電源のどちらの環境でも整数本の横縞を起こせるためにその両方（５０Ｈｚ及び６０Ｈｚ電源）のフリッカ検出を同時に行うことができるようになるが、フレームレートの制限により転送時間を１／２０ｓに設定することができない場合には、５０Ｈｚ電源と６０Ｈｚ電源を別々に分けてフリッカ検出を行うようにしている。このように５０Ｈｚ電源と６０Ｈｚ電源を別々に分けてフリッカ検出を行う場合には、そのフリッカ周期（１／１００ｓ又は１／１２０ｓ）のＮ倍（Ｎは整数）以上となるようにフリッカ検出用の転送時間を設定するようにしている。
【００２９】
次に、本実施形態における撮像装置（デジタルカメラ）の動作概念を図３〜図７に示すフローチャートを参照して説明する。ここで、これらのフローチャートに記述されている各機能は、読み取り可能なプログラムコードの形態で格納されており、このプログラムコードにしたがった動作が逐次実行される。また、ネットワークなどの伝送媒体を介して伝送されてきた上述のプログラムコードに従った動作を逐次実行することもできる。すなわち、記録媒体の他に、伝送媒体を介して外部供給されたプログラム／データを利用して本実施形態特有の動作を実行することもできる。
【００３０】
図３は、電源オンに応じて実行開始される撮像装置（デジタルカメラ）の動作（本実施形態の特徴的な動作）を説明するためのフローチャートである。
まず、制御部１は、電源オン操作に応じて撮影モードに切り替えられているかを調べ（ステップＡ１）、その他のモード、例えば、再生モードなどに切り替えられている場合には（ステップＡ１でＮＯ）、その他のモードに応じた処理に移るが、撮影モードに切り替えられている場合には（ステップＡ１でＹＥＳ）、フリッカ検出時の撮影環境が変化したかを調べる（ステップＡ２）。
【００３１】
ここで、「撮影環境の変化時」とは、電源オン時、前回のフリッカ検出から所定時間の経過時、ＧＰＳ通信部７から取得した撮影位置（カメラ位置）の変化状態、動画撮影中の画像解析によって検出された被写体の変化状態、レリーズボタンが半押しされたタイミング、撮影モードに切り替えられたタイミングなどである。ここで、前回のフリッカ検出時に比べて撮影環境が変化していなければ（ステップＡ２でＮＯ）、次のステップＡ７に移り、撮影指示操作が行われたかを調べ、撮影指示が無ければ（ステップＡ７でＮＯ）、最初のステップＡ１に戻る。
【００３２】
いま、撮影環境の変化を検出した場合には（ステップＡ２でＹＥＳ）、次のステップＡ３に移り、フレームレートの制限により転送時間を１／２０ｓに設定することができるかを調べる。つまり、本実施形態のフリッカ検出においては、露光時間を１／２０ｓ、転送時間を１／２０ｓとした撮像が必要なため、少なくともフレーム周期を１／２０ｓ以上（フレームレートを２０ｆｐｓ以下）に設定できる撮影状況である必要がある。
【００３３】
ここで、１／２０ｓの転送が可能であれば（ステップＡ３でＹＥＳ）、後述する第１のフリッカ検出処理（ステップＡ４）に移るが、１／２０ｓの転送が可能でなければ（ステップＡ３でＮＯ）、後述する第２のフリッカ検出処理（ステップＡ５）に移る。そして、後述する撮影条件設定処理（ステップＡ６）を実行した後、撮影指示操作が行われたかを調べ（ステップＡ７）、撮影が指示された場合には（ステップＡ７でＹＥＳ）、撮影画像を記録保存する一連の撮影処理（ステップＡ８）を実行した後、最初のステップＡ１に戻るが、撮影指示が無ければ（ステップＡ７でＮＯ）、そのまま最初のステップＡ１に戻る。
【００３４】
図４は、第１のフリッカ検出処理（図３のステップＡ４）を詳述するためのフローチャートである。この第１のフリッカ検出処理は、５０Ｈｚ及び６０Ｈｚ電源に応じて周期的に明るさが変化する光源の環境下で５０Ｈｚ及び６０Ｈｚ電源のフリッカ検出を同時に行う場合の処理である。
まず、制御部１は、フリッカ検出用として露光時間（シャッタ速度）及び転送時間（読み出し時間）を１／２０ｓに設定する（ステップＢ１、Ｂ２）。すなわち、検出対象となるフリッカ周期が複数存在している場合に、これらフリッカ周期の最小公倍数の１／２０ｓをフリッカ検出用の露光時間（シャッタ速度）及び転送時間（読み出し時間）として設定する。これによってフリッカ検出時の転送時間１／２０ｓは、通常撮影時の転送時間１／５０ｓ（又は１／１００ｓ）よりも長くなる。そして、この露光時間１／２０ｓ及び転送時間１／２０ｓに基づいて撮像されたフレーム画像をＰＲＥフレーム画像、つまり、横縞の無い画像（前回のフレーム画像）として取得する（ステップＢ３）。
【００３５】
次に、フリッカ検出用の露光時間（シャッタ速度）として、例えば、フリッカ周期よりも十分に短い１／３００ｓを設定すると共に（ステップＢ４）、フリッカ検出時の転送時間として通常撮影時の転送時間よりも長い１／２０ｓに設定した状態をそのまま維持する（ステップＢ５）。そして、この露光時間１／３００ｓ及び転送時間１／２０ｓに基づいて撮像されたフレーム画像をＦｌｉｃｋｅｒフレーム画像、つまり、横縞の有る画像（今回のフレーム画像）として取得する（ステップＢ６）。
【００３６】
次に、上述のＰＲＥフレーム画像及びＦｌｉｃｋｅｒフレーム画像内に白飛び又は黒つぶれの異常データが存在しているかを画像解析によって検出する（ステップＢ７）。すなわち、画像内に白飛び又は黒つぶれの部分が存在していると、明るさの変化を正しく検出できなくなるため白飛び又は黒つぶれ有無を検出し、白飛び／黒つぶれが有れば、そのデータを補正する処理を行う（ステップＢ８）。すなわち、白飛び又は黒つぶれの異常データを、フリッカ周期（１／１００ｓ、１／１２０ｓ）だけずらした位置の白飛び／黒つぶれの無いデータ（異常データの検出位置に対応する位相に存在している他のデータ）と置き換える処理を行う。
【００３７】
そして、上述のＰＲＥフレーム画像及びＦｌｉｃｋｅｒフレーム画像、つまり、同じ転送時間で、フリッカが発生しない露光時間１／２０ｓと、フリッカが発生する露光時間１／３００ｓで撮像された２枚の画像を比較し、それらの画像の明るさの比（変動データ）を算出する（ステップＢ９）。この場合、時間的に前後する２枚の画像をライン毎に比較し、所定時間（転送時間）内、つまり、先頭ラインから最終ラインまでの明るさの比を算出する。
【００３８】
フリッカによる横縞は垂直方向に現れるために画像解析を行う場合には、それに先立って、垂直方向の明るさ変化（明るさ比の変動データ）だけを抽出することになる。そのため、上記のライン毎の明るさの比の算出は、具体的には、次のようにして行われる。まず、ＰＲＥフレーム画像を対象として、各水平ライン内の水平方向に並ぶ全ての画素データを水平ライン毎に積分し、複数の水平ラインに対応する複数の積分値を得る。次に、Ｆｌｉｃｋｅｒフレーム画像を対象として、同様に、各水平ライン内の水平方向に並ぶ全ての画素データを水平ライン毎に積分し、複数の水平ラインに対応する複数の積分値を得る。
【００３９】
そして、ＰＲＥフレーム画像を対象として得られた複数の積分値と、Ｆｌｉｃｋｅｒフレーム画像を対象として得られた複数の積分値を、水平ライン毎に比較し、複数の比較値（ＰＲＥフレーム画像に対するＦｌｉｃｋｅｒフレーム画像のライン毎の明るさの比）を得る。なお、上記の積分と比較は、各々を１ライン毎に行ってもよいし、複数ライン毎に行ってもよい。また、積分を１ライン毎に行い、比較を複数ライン毎に行うようにしてもよい。また、画素毎に比較を行ってから、その比較値をライン毎に積分するようにしてもよい。
【００４０】
次に、フーリエスペクトル解析の対象となる評価領域（画像エリア）を特定し、この特定された評価領域（画像エリア）に対応する複数の比較値のみを抽出する（ステップＢ１０）。すなわち、明るさの変化はフリッカ周期に応じて周期的に現れるために、フリッカ周期１／１００ｓの検出時には１／１００ｓ以上（できれば、その２倍以上の整数倍）の時間（ずらし量）に相当する画像エリア（評価領域）から抽出された比較値データを必要とし、フリッカ周期１／１２０ｓの検出時には１／１２０ｓ以上（できれば、その２倍以上の整数倍）の時間（ずらし量）に相当する画像エリア（評価領域）内から抽出された比較値データを必要とする。
【００４１】
本実施形態では、転送時間を１／１００ｓと１／１２０ｓの最小公倍数である１／２０ｓの整数倍に設定しているので、撮像素子により撮像される全画素エリアを、フリッカ周期１／１００ｓとフリッカ周期１／１２０ｓの両方に共通する評価領域（画像エリア）とすることができ、この場合、少なくとも１／１００ｓの５倍、１／１２０ｓの６倍の時間に相当する画像エリア（評価領域）内の比較値データを抽出することが可能となる。
【００４２】
そして、この評価領域内から抽出した比較値データの垂直方向の明るさ変化（明るさ比の変動データ）を周波数Ｎ（Ｎ＝１、２、３、…の整数）でフーリエスペクトル解析することによってスペクトル化する（ステップＢ１１）。（評価領域全体を１周期とした場合に、その何倍の周波数に対応する周波数成分が含まれているかを解析する）。なお、本実施形態においては、撮像素子で撮像した全ラインに対応する比較値データをステップＢ９で算出して取得した後、この取得した全ての比較値データの中から評価領域に対応する比較値データのみをステップＢ１０で抽出しているが、ステップＢ９において、評価領域に対応するラインだけを対象として比較値データを算出して取得するようにしてもよい。
【００４３】
このフーリエスペクトル解析の結果、撮像素子６Ｅにより撮像される画像の垂直方向に、検出対象となるフリッカ周期に対応する明るさ変化が有るか否かを検出する。すなわち、このフーリエスペクトル解析のフーリエ級数において、フリッカ周期１／１００ｓに対応する最も小さい周波数（５）のスペクトル成分は所定以上であるかを調べたり（ステップＢ１２）、フリッカ周期１／１２０ｓに対応する最も小さい周波数（６）のスペクトル成分は所定以上であるかを調べたりする（ステップＢ１３）。ここで、所定以上とは、フリッカが現れたのは５０Ｈｚ電源の場合か６０Ｈｚ電源の場合かを判定するために予め設定された閾値以上であるかを示す。いま、周波数１００Ｈｚのスペクトル成分が所定以上であれば（ステップＢ１２でＹＥＳ）、対応する周波数のフリッカが発生していると判断、つまり、フリッカが現れたのは５０Ｈｚ電源の場合であると判定（５０Ｈｚ電源のフリッカ有りと判定）する（ステップＢ１４）。
【００４４】
また、周波数１２０Ｈｚのスペクトル成分が所定以上であれば（ステップＢ１３でＹＥＳ）、対応する周波数のフリッカが発生していると判定する（ステップＢ１６）。つまり、フリッカが現れたのは６０Ｈｚ電源の場合であると判定（６０Ｈｚ電源のフリッカ有りと判定）する。なお、１００Ｈｚのスペクトル成分が所定未満（ステップＢ１２でＮＯ）及び１２０Ｈｚのスペクトル成分が所定未満（ステップＢ１３でＮＯ）の場合には、５０Ｈｚ及び６０Ｈｚのいずれにおいてもフリッカが現れないと判定（フリッカ無しと判定）する（ステップＢ１５）。
【００４５】
上述した第１のフリッカ検出処理においては、５０Ｈｚ（フリッカ周期１／１００ｓ）と６０Ｈｚ（フリッカ周期１／１２０ｓ）の両方に共通して、この２つのフリッカ周期の最小公倍数である１／２０ｓを転送時間に設定し、この２つのフリッカ周期に共通してフリッカ検出用の撮像処理を行うと共に、この２つのフリッカ周期に共通してフーリエスペクトル解析用のデータ（比較値データ）の取得処理（抽出処理）を行い、この取得された共通のデータを用いてフーリエスペクトル解析を１回だけ行い、この解析結果のフーリエ級数において、それぞれのフリッカ周期に対応する異なる２つのスペクトル成分（周波数５及び６）を同時に検出しているので、図３のステップＡ５の第２のフリッカ検出処理（後述する図５及び図６参照）と比較して、撮像処理、解析用データの取得処理（抽出処理）、フーリエスペクトル解析処理、がそれぞれ１回で済むので、非常に効率よく、素早くフリッカ周波数を検出することが可能になる。
【００４６】
なお、第１のフリッカ検出処理においては、２つのフリッカ周期の最小公倍数である１／２０ｓを転送時間に設定したので、１／１００ｓに対しては５倍の時間（５周期分）、１／１２０ｓに対しては６倍の時間（６周期分）に相当する評価領域の撮像データ（解析用データ）を一度に取得することが可能となったが、必ずしも両者の最小公倍数ではなく、１／１００ｓ（および１／１２０ｓ）以上の転送時間を設定すればよい。望ましくはいずれも２倍以上の時間（２周期以上）の解析用データを用いた方がより検出の精度を向上させることができるので、例えば、１／１００ｓの２倍の転送時間を設定するようにしてもよい。この場合、撮像処理と解析用データの取得処理（抽出処理）については両者のフリッカ周波数で共通とすることができ、フーリエスペクトル解析処理だけを変えればよい。その場合、それぞれのフリッカ周波数の解析で必要とする異なる範囲の解析用データを対象として、それぞれ別々に２回の解析処理を行うことになる。
【００４７】
図５及び図６は、第２のフリッカ検出処理（図３のステップＡ５）を詳述するためのフローチャートである。この第２のフリッカ検出処理は、５０Ｈｚ及び６０Ｈｚ電源のフリッカ検出を別々に行う場合の処理であり、図５は、５０Ｈｚ電源の場合のフリッカ検出処理を示し、図６は、６０Ｈｚ電源の場合のフリッカ検出処理を示し、これらの処理は、上述した第１のフリッカ検出処理（図３のステップＡ４）と基本的には同様であるために、基本的に同様の処理は簡単に説明するものとする。
【００４８】
まず、制御部１は、５０Ｈｚ電源の場合のフリッカ検出処理（図５のステップＣ１〜Ｃ１１）を開始する。この場合、５０Ｈｚ電源の場合のフリッカ検出用として露光時間（シャッタ速度）及び転送時間（読み出し時間）をそのフリッカ周期の１／１００ｓに設定する（ステップＣ１、Ｃ２）。すなわち、フリッカ周期（１／１００ｓ）以上となるようにフリッカ検出用として露光時間（シャッタ速度）及び転送時間（読み出し時間）を設定する。そして、この露光時間及び転送時間１／１００ｓに基づいて撮像されたフレーム画像をＰＲＥフレーム画像として取得する（ステップＣ３）。
【００４９】
次に、フリッカ検出用の露光時間（シャッタ速度）として１／３００ｓを設定すると共に（ステップＣ４）、フリッカ検出時の転送時間として１／１００ｓに設定した状態をそのまま維持する（ステップＣ５）。そして、この露光時間１／３００ｓ及び転送時間１／１００ｓに基づいて撮像されたフレーム画像をＦｌｉｃｋｅｒフレーム画像として取得する（ステップＣ６）。そして、上述のＰＲＥフレーム画像及びＦｌｉｃｋｅｒフレーム画像を比較し、それらの画像の明るさの比を算出する（ステップＣ７）。
【００５０】
そして、５０Ｈｚ電源のフリッカ周期１／１００ｓ以上の時間（ずらし量）に相当する画像エリア（評価領域）内から比較値データを抽出すると共に（ステップＣ８）、この抽出した比較値データの垂直方向の明るさ変化を周波数Ｎでフーリエスペクトル解析してスペクトル化する（ステップＣ９）。このフーリエスペクトル解析の結果、そのフーリエ級数において、周波数１００Ｈｚに対応する最も小さい周波数（１）のスペクトル成分は所定以上であるかを調べ（ステップＣ１０）、そのスペクトル成分が所定以上であれば（ステップＣ１０でＹＥＳ）、フリッカが現れたのは５０Ｈｚ電源の場合であると判定（５０Ｈｚ電源のフリッカ有りと判定）する（ステップＣ１１）。その後、図５のフローから抜ける。また、１００Ｈｚのスペクトル成分が所定未満であれば（ステップＣ１０でＮＯ）、５０Ｈｚ電源ではフリッカは現れないので、図６のフロー（６０Ｈｚ電源の場合のフリッカ検出処理）に移る。
【００５１】
この６０Ｈｚ電源の場合のフリッカ検出処理（図６のステップＣ１２〜Ｃ２２）は、上述した５０Ｈｚ電源の場合のフリッカ検出処理（図５のステップＣ１〜Ｃ１１）と基本的に同様の処理であるので、その説明を簡単に行うものとする。
まず、制御部１は、６０Ｈｚ電源の場合のフリッカ検出用として露光時間及び転送時間として、フリッカ周期（１／１２０ｓ）以上となる１／１２０ｓに設定する（ステップＣ１２、Ｃ１３）。そして、この露光時間及び転送時間で撮像されたフレーム画像をＰＲＥフレーム画像として取得する（ステップＣ１４）。次に、フリッカ検出用の露光時間として１／３００ｓを設定すると共に（ステップＣ１５）、フリッカ検出時の転送時間として１／１２０ｓに設定（ステップＣ１６）した状態において撮像されたフレーム画像をＦｌｉｃｋｅｒフレーム画像として取得する（ステップＣ１７）。
【００５２】
そして、上述のＰＲＥフレーム画像及びＦｌｉｃｋｅｒフレーム画像をＮライン毎に比較し、それらの画像の明るさの比を算出すると共に（ステップＣ１８）、６０Ｈｚ電源のフリッカ周期１／１２０ｓ以上の時間（ずらし量）に相当する画像エリア（評価領域）内から比較値データを抽出する（ステップＣ１９）。そして、この抽出した比較値データ垂直方向の明るさ変化を周波数Ｎでフーリエスペクトル解析してスペクトル化する（ステップＣ２０）。
【００５３】
このフーリエスペクトル解析の結果、そのフーリエ級数において、周波数１２０Ｈｚに対応する最も小さい周波数（１）のスペクトル成分は所定以上であるかを調べ（ステップＣ２１）、そのスペクトル成分が所定以上であれば（ステップＣ２１でＹＥＳ）、フリッカが現れたのは６０Ｈｚ電源の場合であると判定（６０Ｈｚ電源のフリッカ有りと判定）する（ステップＣ２２）。その後、図６のフローから抜ける。また、周波数１２０Ｈｚのスペクトル成分が所定未満であれば（ステップＣ２１でＮＯ）、６０Ｈｚ電源でもフリッカが現れないので、“フリッカ無し”と判定して（ステップＣ２３）、図６のフローから抜ける。
【００５４】
図７は、撮影条件設定処理（図３のステップＡ６）を詳述するためのフローチャートである。
まず、制御部１は、撮影条件として、フリッカ検出用として露光時間及び転送磁時間を、予め設定されている既定（撮影用）の露光時間及び転送磁時間に戻す処理を行う（ステップＤ１）。そして、フリッカ検出結果を参照し、“フリッカ有り”と判定されたかを調べ（ステップＤ２）、“フリッカ無し”と判定された場合には（ステップＤ２でＮＯ）、その他の撮影条件として、フレームレートなど既存の撮影条件を設定する処理（ステップＤ１１）を行った後、図７のフローから抜ける。
【００５５】
また、“フリッカ有り”と判定された場合には（ステップＤ２でＹＥＳ）、更に、“５０Ｈｚ電源のフリッカ有り”と判定されたのか、又は“６０Ｈｚ電源のフリッカ有り”と判定されたのかを調べる（ステップＤ３）。いま、“５０Ｈｚ電源のフリッカ有り”と判定された場合において（ステップＤ３）、静止画撮影時であれば（ステップＤ４でＮＯ）、露出時間として１／２０ｓ又は１／２５ｓを設定し（ステップＤ５）、動画撮影時であれば（ステップＤ４でＹＥＳ）、露出時間として１／１００ｓ又は１／５０ｓを設定する（ステップＤ６）。
【００５６】
また、６０Ｈｚ電源のフリッカ有り”と判定された場合において（ステップＣ３）、動画撮影時であれば（ステップＤ７でＹＥＳ）、露出時間として１／１２０ｓ又は１／６０ｓを設定し（ステップＤ８）、静止画撮影時であれば（ステップＤ７でＮＯ）、露出時間として１／２０ｓ又は１／３０ｓを設定する（ステップＤ９）。すなわち、例えば、動画撮影の場合には、フリッカの発生を抑制するための撮影条件として、５０Ｈｚ（フリッカ周期１／１００ｓ）と６０Ｈｚ（フリッカ周期１／１２０ｓ）、又はその整数倍（１／５０ｓ、１／６０ｓ）の露光時間を設定する。このようにフリッカ検出結果に応じて露出時間を変更した場合には、その変更に伴う明るさ確保のために、絞りやＩＳＯ感度を変更する（ステップＤ１０）。その後、図７のフローから抜ける。
【００５７】
以上のように、本実施形態において制御部１は、ローリングシャッタ方式の撮像素子６Ｅにより撮像される画像のライン方向の明るさ変化に基づいてフリッカを検出する場合に、撮像素子６Ｅによる撮像の際のライン毎の露光タイミングのずらし量を、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定するようにしたので、フリッカ検出時には意図的にフリッカが発生しやすい状況にしてフリッカの周波数を精度良く検出することができる。
【００５８】
制御部１は、撮像素子６Ｅにより撮像される画像のライン方向に、検出対象となるフリッカの周期に対応する明るさ変化が有るか否かを検出するようにしたので、画像のライン方向に現れるフリッカによる横縞を適切に検出することができる。
【００５９】
制御部１は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期以上となるように、フリッカ検出時におけるずらし量を設定している状態において、画像内のライン方向の明るさ変化をフーリエスペクトル解析し、検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、検出対象となるフリッカが発生していると判断するようにしたので、被写体そのものの明るさが垂直方向に対して周期的に変動するような場合であってもフリッカ周波数の検出精度の低下を防ぐことができる。
【００６０】
制御部１は、検出対象となるフリッカの周期が複数存在している場合に、累積したずらし量が、検出対象となる複数のフリッカの周期の最小公倍数以上となるように設定している状態において、画像内のライン方向の明るさ変化をフーリエスペクトル解析し、検出対象となる複数のフリッカ周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断するようにしたので、例えば、累積したずらし量（転送時間）が１／２０ｓの整数倍の値であれば、５０Ｈｚ及び６０Ｈｚ電源のどちらの環境でも整数本の横縞を起こせるため両方（５０Ｈｚ及び６０Ｈｚ）のフリッカ検出を同時に行うことができ、フリッカの周波数の検出効率（速度）を向上させることが可能となる。
【００６１】
制御部１は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期のＮ倍（Ｎは整数）以上となるように、フリッカ検出時におけるずらし量を設定している状態において、撮像される画像におけるフリッカの周期のＮ倍に対応する領域内のライン方向の明るさ変化を、周波数Ｎでフーリエスペクトル解析し、検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、検出対象となるフリッカの周期のフリッカが発生していると判断するようにしたので、複数周期分（フリッカの周期のＮ倍）のデータからフーリエスペクトル解析することが可能となり、その解析精度を上げることができる。
【００６２】
制御部１は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となる複数のフリッカ周期の最小公倍数のＮ倍（Ｎは整数）以上となるように、フリッカ検出時におけるずらし量を設定している状態において、撮像される画像における検出対象となる複数のフリッカ周期の最小公倍数のＮ倍（Ｎは整数）に対応する領域内のライン方向の明るさ変化を、周波数Ｎ（Ｎは整数）でフーリエスペクトル解析し、検出対象となる複数のフリッカの周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断するようにしたので、複数周期分（フリッカの周期のＮ倍）のデータからフーリエスペクトル解析を行うことができると共に、複数のフリッカ周期の最小公倍数のＮ倍（Ｎは整数）以上とすることでスペクトルの分散を抑えることができ、その解析精度を向上させることが可能となる。
【００６３】
制御部１は、検出対象となる複数のフリッカの周波数が、５０Ｈｚ電源と６０Ｈｚ電源周波数の２つに対応する周波数である場合に、累積したずらし量が１／２０ｓのＮ倍（Ｎは整数）以上となるように、フリッカ検出用のずらし量を設定するようにしたので、５０Ｈｚ及び６０Ｈｚ電源のどちらの環境でも整数本の横縞を起こせるため両方（５０Ｈｚ及び６０Ｈｚ）のフリッカ検出を同時に行うことができ、フリッカの周波数の検出効率（速度）を向上させることが可能となる。
【００６４】
制御部１は、検出対象となるフリッカの周期のＮ倍（Ｎは整数）のシャッタ時間（露光時間）による撮影と、検出対象となるフリッカの周期よりも短いシャッタ時間（露光時間）による撮影とを連続して行い、この２つの画像の明るさの比のライン方向への変化に基づいてフリッカを検出するようにしたので、被写体そのものによるライン毎の明るさ変化の影響を排除して、フリッカによる明るさ変化だけを検出することができる。
【００６５】
制御部１は、累積したずらし量が検出対象となる複数のフリッカの周期の最小公倍数以上となるようにずらし量を設定することができない状況においては、複数のフリッカの周期で別々にずらし量を設定して、各々の周波数のフリッカを検出するようにしたので、フレームレートの制限の有無によらず、様々な状況において、フリッカの周波数を検出することができる。
【００６６】
制御部１は、画像内に白飛び／黒つぶれなどの異常データを検出した場合に、フリッカ周期に対して、異常データの検出位置に対応する位相に存在している他のデータで置き換えてからフリッカの検出を行うようにしたので、白飛び／黒つぶれなどの異常を解消してからフリッカの検出が可能となる。
【００６７】
なお、上述した実施形態においては、検出対象となるフリッカの周期のＮ倍（Ｎは整数）のシャッタ時間（露光時間）による撮影と、検出対象となるフリッカの周期よりも短いシャッタ時間（露光時間）による撮影とを連続して行うようにしたが、略同時に撮影するようにしてもよい。
【００６８】
上述した実施形態においては、画像内に白飛び／黒つぶれなどの異常データを検出した場合に、フリッカ周期に対して、異常データの検出位置に対応する位相に存在している他のデータで置き換えるようにしたが、他のデータを反転させてから置き換えるようにしてもよい。
【００６９】
また、上述した実施形態においては、撮像装置としてデジタルカメラに適用した場合を示したが、これに限らず、カメラ機能付きパーソナルコンピュータ・ＰＤＡ（個人向け携帯型情報通信機器）・タブレット端末装置・スマートフォンなどの携帯電話機・電子ゲーム・音楽プレイヤーなどであってもよい。
【００７０】
また、上述した実施形態において示した“装置”や“部”とは、機能別に複数の筐体に分離されていてもよく、単一の筐体に限らない。また、上述したフローチャートに記述した各ステップは、時系列的な処理に限らず、複数のステップを並列的に処理したり、別個独立して処理したりするようにしてもよい。
【００７１】
以上、この発明の実施形態について説明したが、この発明は、これに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下、本願出願の特許請求の範囲に記載された発明を付記する。
（付記）
（請求項１）
請求項１に記載の発明は、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子と、
前記撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する検出手段と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記検出手段によるフリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する設定手段と、
を備えたことを特徴とする撮像装置である。
（請求項２）
請求項２に記載の発明は、請求項１に記載の撮像装置において、
前記検出手段は、前記撮像素子により撮像される画像の前記所定方向に、検出対象となるフリッカの周期に対応する明るさ変化が有るか否かを検出する、
ことを特徴とする。
（請求項３）
請求項３に記載の発明は、請求項２に記載の撮像装置において、
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記画像内の前記所定方向の明るさ変化をフーリエスペクトル解析し、前記検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、前記検出対象となるフリッカが発生していると判断する、
ことを特徴とする。
（請求項４）
請求項４に記載の発明は、請求項３に記載の撮像装置において、
前記設定手段は、検出対象となるフリッカの周期が複数存在している場合に、検出対象となる複数のフリッカの周期の最小公倍数以上となるように前記累積したずらし量を設定し、
前記検出手段は、前記画像内の前記所定方向の明るさ変化をフーリエスペクトル解析し、前記検出対象となる複数のフリッカの周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断する、
ことを特徴とする。
（請求項５）
請求項５に記載の発明は、請求項３に記載の撮像装置において、
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となるフリッカの周期のＮ倍（Ｎは整数）以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記撮像素子により撮像される画像における前記フリッカの周期のＮ倍に対応する領域内の前記所定方向の明るさ変化を、周波数Ｎでフーリエスペクトル解析し、検出対象となるフリッカの周期に対応する周波数のスペクトル成分が所定以上である場合に、前記検出対象となるフリッカの周期のフリッカが発生していると判断する、
ことを特徴とする。
（請求項６）
請求項６に記載の発明は、請求項４に記載の撮像装置において、
前記設定手段は、撮像される画像内に含まれる複数ラインの累積したずらし量が、検出対象となる複数のフリッカの周期の最小公倍数のＮ倍（Ｎは整数）以上となるように、フリッカ検出時における前記ずらし量を設定し、
前記検出手段は、前記撮像素子により撮像される画像における前記検出対象となる複数のフリッカの周期の最小公倍数のＮ倍（Ｎは整数）に対応する領域内の前記所定方向の明るさ変化を、周波数Ｎ（Ｎは整数）でフーリエスペクトル解析し、前記検出対象となる複数のフリッカの周期のいずれかに対応する周波数のスペクトル成分が所定以上である場合に、対応する周波数のフリッカが発生していると判断する、
ことを特徴とする。
（請求項７）
請求項７に記載の発明は、請求項４に記載の撮像装置において、
前記設定手段は、検出対象となる複数のフリッカの周波数が、５０Ｈｚの電源周波数と６０Ｈｚの電源周波数の２つに対応する周波数である場合に、前記累積したずらし量が１／２０ｓのＮ倍（Ｎは整数）以上となるように、前記フリッカ検出用のずらし量を設定する、
ことを特徴とする。
（請求項８）
請求項８に記載の発明は、請求項１乃至７のいずれか１項に記載の撮像装置において、
検出対象となるフリッカの周期のＮ倍（Ｎは整数）のシャッタ時間（露光時間）による撮影と、検出対象となるフリッカの周期よりも短いシャッタ時間（露光時間）による撮影とを連続して行う撮影制御手段を更に備え、
前記検出手段は、前記連続した撮影で得られた２つの画像の明るさの比のライン方向への変化に基づいてフリッカを検出する、
ことを特徴とする。
（請求項９）
請求項９に記載の発明は、請求項４に記載の撮像装置において、
前記累積したずらし量が検出対象となる複数のフリッカの周期の最小公倍数以上となるように前記ずらし量を設定することができない状況においては、複数のフリッカの周期で別々にずらし量を設定して、各々の周波数のフリッカを検出する、
ことを特徴とする。
（請求項１０）
請求項１０に記載の発明は、請求項１乃至９のいずれか１項に記載の撮像装置において、
画像内に白飛び／黒つぶれなどの異常データを検出する異常検出手段を更に備え、
前記検出手段は、前記異常検出手段によって異常データが検出された場合には、前記フリッカの周期に対して、異常データの検出位置に対応する位相に存在している他のデータで置き換えてからフリッカの検出を行う、
ことを特徴とする。
（請求項１１）
請求項１１に記載の発明は、
撮像装置におけるフリッカ検出方法であって、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する処理と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記フリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する処理と、
を含むことを特徴とする。
（請求項１２）
請求項１２に記載の発明は、
撮像装置のコンピュータに対して、
所定方向に並ぶライン毎に露光タイミングをずらしながら撮像を行うローリングシャッタ方式の撮像素子により撮像される画像の前記所定方向の明るさ変化に基づいてフリッカを検出する機能と、
前記撮像素子による撮像の際のライン毎の露光タイミングのずらし量を、前記フリッカ検出時には、通常の撮影時よりも大きくしてフリッカ検出用のずらし量として設定する機能と、
を実現させるためのプログラムである。
【符号の説明】
【００７２】
１  制御部
３  記憶部
３Ａ  プログラムメモリ
３Ｂ  ワークメモリ
４  操作部
６  撮像部
６Ｅ  撮像素子
７  ＧＰＳ通信部
【図１】
2017069741.tif 000003
【図２】
2017069741.tif 000004
【図３】
2017069741.tif 000005
【図４】
2017069741.tif 000006
【図５】
2017069741.tif 000007
【図６】
2017069741.tif 000008
【図７】
2017069741.tif 000009