(57)【要約】【課題】被写体の輝度によらず、フリッカー検知の精度を向上させることができる撮像装置、撮像装置の制御方法およびプログラムを提供する。【解決手段】撮像装置は、ローリングシャッター方式で駆動することで被写体を撮像する撮像手段と、第１のフレームレートよりも低い第２のフレームレートで撮像手段を駆動した場合、撮像手段が連続撮影した複数の画像データをそれぞれ所定の領域に分割し、分割された分割領域のデータに基づいて、フリッカー検知を行う制御手段と、を備える。【選択図】図３
2020072392.tif 000002
【特許請求の範囲】
【請求項１】
ローリングシャッター方式で駆動することで被写体を撮像する撮像手段と、
第１のフレームレートよりも低い第２のフレームレートで前記撮像手段を駆動した場合、前記撮像手段が連続撮影した複数の画像データをそれぞれ所定の領域に分割し、分割された分割領域のデータに基づいて、フリッカー検知を行う制御手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記制御手段は、前記画像データの輝度が閾値より高い場合、前記第１のフレームレートで前記撮像手段を駆動させて得られた複数の画像データに基づいてフリッカー検知を行い、前記輝度が前記閾値以下の場合、前記第２のフレームレートで前記撮像手段を駆動させて得られた前記分割領域のデータに基づいてフリッカー検知を行う、
ことを特徴とする請求項１記載の撮像装置。
【請求項３】
前記制御手段は、前記第１のフレームレートで前記撮像手段を駆動させた場合、前記複数の画像データの輝度を積分した値の時間的な変化に基づいて、前記フリッカー検知を行い、前記第２のフレームレートで前記撮像手段を駆動させた場合、前記分割領域のデータの輝度を積分した値の時間的な変化に基づいて、前記フリッカー検知を行う、
ことを特徴とする請求項２記載の撮像装置。
【請求項４】
前記第２のフレームレートは、前記第１のフレームレートを２以上の整数値で除算したフレームレートであり、
前記制御手段は、前記整数値で、前記画像データを分割する、
を特徴とする請求項１乃至３のうち何れか１項に記載の撮像装置。
【請求項５】
前記制御手段は、前記第２のフレームレートで前記撮像手段を駆動させた場合、フリッカーの影響の度合いが所定量より小さい所定の画像データと前記分割領域のデータのそれぞれとに基づいてフリッカー検知を行う、
を特徴とする請求項１乃至４のうち何れか１項に記載の撮像装置。
【請求項６】
前記制御手段は、前記所定の画像データと前記分割領域のデータのそれぞれとの差分または比率を求めて、前記フリッカー検知を行う、
ことを特徴とする請求項５記載の撮像装置。
【請求項７】
前記制御手段は、前記連続撮影を行う際にブランキング期間が生じる場合、当該ブランキング期間の前後の前記分割領域のデータを用いて補間を行う、
ことを特徴とする請求項１乃至６のうち何れか１項に記載の撮像装置。
【請求項８】
前記制御手段は、前記第１のフレームレートで前記撮像手段を駆動した場合、前記撮像手段が連続撮影した複数の画像データのうちの一部の領域のデータの輝度の積分値の時間的変化に基づいて、フリッカー検知を行う、
ことを特徴とする請求項１乃至７のうち何れか１項に記載の撮像装置。
【請求項９】
前記制御手段は、ライブビュー表示が行われる場合、ライブビュー表示を行うためのフレームレートよりも低いフレームレートに設定し、設定されたフレームレートに応じて取得された連続画像の輝度変化に基づいて、フリッカー検知を行う、
ことを特徴とする請求項１乃至８のうち何れか１項に記載の撮像装置。
【請求項１０】
前記制御手段は、前記分割領域のデータごとに、輝度を積分した値の時間的変化に基づいて、フリッカー波形を算出し、算出された前記分割領域のデータごとのフリッカー波形を合成すること、
を特徴とする請求項１乃至４のうち何れか１項に記載の撮像装置。
【請求項１１】
ローリングシャッター方式で駆動することで被写体を撮像する撮像手段を有する撮像装置の制御方法であって、
第１のフレームレートよりも低い第２のフレームレートで前記撮像手段を駆動した場合、前記撮像手段が連続撮影した複数の画像データをそれぞれ所定の領域に分割し、分割された分割領域のデータに基づいて、フリッカー検知を行う工程と、
を備えることを特徴とする撮像装置の制御方法。
【請求項１２】
請求項１１記載の撮像装置の制御方法をコンピュータに実行させるためのコンピュータで読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、撮像装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年のデジタルカメラでは、人工光源下でも高速シャッターを切ることが可能になっている。ただし、フリッカー光源下におけるスリット露光方式での高速シャッター撮影では、シャッターの走行中に光源の明るさが変化し、フレームごと、もしくは、フレーム内でも画面の露出や色のムラが発生することがある。関連する技術として、特許文献１および特許文献２の技術が提案されている。
【０００３】
特許文献１の技術では、商用電源周波数のゆらぎが多少あっても、連続撮影の駒間にフリッカー光源の光量のピークのタイミングを算出し、算出したピークのタイミングに合わせて各撮影を行っている。特許文献２の技術では、複数のフレーム画像信号から、フレーム内の選択された部分領域におけるそれぞれの輝度評価値を算出し、算出された輝度評価値の変化に基づいて被写界に存在する光源のフリッカー周波数を検出している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２２０７６４号公報
【特許文献２】特開２０１２−１２０１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
フリッカーを検知するための方法として、フリッカー周期の数倍以上の周波数によるサンプリングを行う、という方法が知られている。この方法を採用する場合、低輝度の被写体を撮像する場合等の状況下では、十分な明るさを有する画像データを取得するために、電荷の蓄積時間を確保する必要がある。このため、撮像装置が撮像するフレームレートを下げる必要がある。フレームレートを下げると、サンプリング数が減少するため、フリッカーの検知精度が低下する可能性がある。フリッカーの検知精度が低下すると、実際のフリッカーのピークタイミングからずれたタイミングでフリッカーレス撮影が行われることがある。
【０００６】
本発明の目的は、被写体の輝度によらず、フリッカー検知の精度を向上させることができる撮像装置、撮像装置の制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の撮像装置は、ローリングシャッター方式で駆動することで被写体を撮像する撮像手段と、第１のフレームレートよりも低い第２のフレームレートで前記撮像手段を駆動した場合、前記撮像手段が連続撮影した複数の画像データをそれぞれ所定の領域に分割し、分割された分割領域のデータに基づいて、フリッカー検知を行う制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体の輝度によらず、フリッカー検知の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る撮像装置の構成例を示す図である。
【図２】ローリングシャッター方式による電荷の転送を示す図である。
【図３】センサ駆動とフリッカーとの関係を示す図である。
【図４】フリッカー検知用の連続画像をそれぞれ規格化した例を示す図である。
【図５】ブランキング期間が生じた場合における補間の例を示す図である。
【図６】フリッカーの影響を低減したタイミングで撮影を行うためのセンサ駆動とフリッカーとの関係を示す図である。
【図７】実施形態の処理の流れを示すフローチャートである。
【図８】フリッカー検知およびグローバルシャッター方式でセンサ駆動した場合における本撮影前後のセンサ駆動を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施の形態について図面を参照しながら詳細に説明する。しかしながら、以下の各実施の形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は各実施の形態に記載されている構成によって限定されることはない。
【００１１】
図１は、実施形態に係る撮像装置１００の構成例を示す図である。撮像装置１００には、例えば、デジタルカメラが適用される。撮像装置１００は、本体部１０１および撮影レンズ１０２を有する。本体部１０１と撮影レンズ１０２とは、相互に機械的および電気的に接続されている。撮影レンズ１０２は、フォーカシングレンズ１０３および絞り１０４を有する。撮影レンズ１０２は、本体部１０１からレンズマウント接点群１０５を介して、制御される。本体部１０１は、撮像素子１０６、フォーカルプレーンシャッター１０７、モニタ１０８、ＣＰＵ１０９、ＲＡＭ１１０およびＲＯＭ１１１を有する。撮像素子１０６は、ＣＭＯＳイメージセンサやＣＣＤイメージセンサ等である。撮像素子１０６には、光電変換素子を有する画素が複数配列されている。
【００１２】
撮像装置１００による撮像が行われる際には、フォーカルプレーンシャッター１０７が開かれる制御が行われる。これにより、撮像素子１０６が露光され、被写体像が結像される。撮像手段としての撮像素子１０６は、露光中に撮影レンズ１０２を通して入射する光を各画素で電気信号に変換して画像データを形成し、形成された画像データをＣＰＵ１０９に出力する。実施形態の撮像素子（センサ）１０６は、グローバルシャッター方式またはローリングシャッター方式により駆動される。グローバルシャッター方式は、撮像素子１０６に蓄積された全ての画素の電荷を同時に転送する方式である。グローバルシャッター方式では、撮像素子１０６の全画素について、電荷のリセットから電荷の転送までの露光期間が全て同じになる。
【００１３】
ローリングシャッター方式は、撮像素子１０６に蓄積された電荷を、選択された行（ライン、走査線）ごとに順次転送する方式である。図２は、ローリングシャッター方式による電荷の転送を示す図である。図２に示されるように、ローリングシャッター方式では、選択された行ごとに順次電荷のリセットから電荷の転送および読み出しが行われる。そして、破線矢印のように走査して蓄積された電荷が、選択された行ごとに順次転送されるため、行ごとに露光タイミングが異なる。従って、フリッカーの影響等により被写体の明るさが変化していると、行ごとに明るさが異なる画像データが得られる場合がある。
【００１４】
ＣＰＵ１０９は、実施形態に係る各種の制御を行う制御手段（コンピュータ）である。また、ＣＰＵ１０９は、撮像素子１０６が出力した画像データに対して所定の画像処理を施し、画像処理が施された画像データをモニタ１０８に表示する制御を行う。例えば、ＲＯＭ１１１に記憶されたプログラムがＲＡＭ１１０に展開され、ＣＰＵ１０９がＲＡＭ１１１に記憶されたプログラムを実行することで、実施形態の各種の制御が実現されてもよい。
【００１５】
次に、フリッカー検知処理について説明する。図３は、被写体の輝度に応じたフリッカー検知用画像を取得するためのセンサ駆動とフリッカーとの関係を示す図である。以下において、フリッカーは、周期的な光量変化であるものとし、フリッカーが発生し得る光源（光量が周期的に変化する光源）をフリッカー光源と称する。また、フリッカー検出は、フリッカーの発生有無、フリッカー周波数（周期）および光量が所定の光量（ピークまたはボトム（最大値または最小値））となるタイミングの検出であるものとする。例えば、一般的な蛍光管の場合、フリッカー周波数は点灯に用いる電源の周波数の２倍となるため、１００Ｈｚまたは１２０Ｈｚである。フリッカー周波数は、これらの値には限定されない。図３（Ａ）は、被写体の輝度が低輝度ではない場合におけるセンサ駆動とフリッカーとを示す図である。なお、被写体の輝度が低輝度であるか否かは、被写体の輝度が所定値より高いか否かに基づいて、判定されてもよい。例えば、フリッカーの光量変化の１周期に対応する露光期間により事前に得られた画像信号に基づいて被写体の輝度を算出し、当該算出された輝度に基づいて、ＣＰＵ１０９が被写体の輝度が低輝度であるか否かを判定する構成であればよい。従って、図３（Ａ）は、被写体の輝度が所定値より高い場合の例を示す。
【００１６】
図３（Ａ）の設定例の場合、第１のフレームレートで複数のフレーム分（第１のフレーム分）連続して画像データの蓄積および読み出しが行われる。図３（Ａ）の例は、第１のフレームレートが「６００ｆｐｓ」であり、１２フレーム分連続して画像データが取得された例を表している。第１のフレームレートは、フリッカーの検知のために電荷の蓄積時間を確保することができるフレームレートである。なお、第１のフレームレートは、「６００ｆｐｓ」には限定されず、発生が想定される複数のフリッカーの周波数の公倍数であればよい。図３（Ａ）の例では、蓄積時間は、最大で「１．６６ｍｓ」になる。ローリングシャッター方式により繰り返し撮像が行われると、ＣＰＵ１０９は、連続して画像データを取得する。ＣＰＵ１０９は、取得した画像データごとに面全体の輝度の積分値を求め、画像データごとに求めた積分値の推移からフリッカーの周期およびフリッカーのピークタイミングを算出する。
【００１７】
図３（Ｂ）および（Ｃ）は、被写体の輝度が低輝度である場合におけるセンサ駆動とフリッカーとを示す図である。被写体の輝度が低輝度である場合、ＣＰＵ１０９は、フレームレートを、第１のフレームレートよりも低い第２のフレームレートに設定する。これは、フリッカーを検知する際に、画像データを適切な明るさで取得するための蓄積時間を確保するためである。従って、フレームレートが第２のフレームレートに設定されると、第１のフレーム数よりも少ない複数のフレーム分（第２のフレーム数分）、連続して画像データの蓄積および読み出しが行われる。第２のフレームレートは、例えば、第１のフレームレートを２以上の整数値で除算したフレームレートに設定される。図３（Ｂ）および（Ｃ）の例では、第２のフレームレートが「３００ｆｐｓ」に設定されている例を示す。つまり、第２のフレームレートは、第１のフレームレートの半分のフレームレートに設定されている。この場合、蓄積時間は、最大で「３．３３ｍｓ」になる。また、第１のフレーム数（１２フレーム）の半分となる６フレーム分の画像データが連続して取得される。
【００１８】
図３（Ａ）の例のように、高いフレームレート（第１のフレームレート）で画像データを取得するためには、画像データの読み出し行の間引き等により、高精度な画像データを短時間で蓄積することができる。一方、図３（Ｂ）および（Ｃ）のように、フレームレートを下げて画像データを取得する場合、画像データの読み出し行の間引き行を減らすことにより高精度な画像データを取得することができる。そして、画像データの蓄積時間は、フリッカー検知用画像がフリッカーを検知可能な十分な明るさを確保できる時間に設定される。
【００１９】
第２のフレームレートで画像データの蓄積および読み出しを行う場合、第１のフレームレートで画像データの蓄積および読み出しを行う場合と比較して、同一時間中で取得できる画像データの枚数は少なくなる。第２のフレームレートが第１のフレームレートの半分である場合、ＣＰＵ１０９が取得可能なサンプリング数も半分になる。この場合、サンプリング数が、第１のフレームレートの場合の半分になるため、第１のフレームレートである場合に比べて、フリッカー波形を正確に導出することが難しくなる。その結果、フリッカーの周期やピークタイミングの算出精度が低下する。
【００２０】
そこで、実施形態のＣＰＵ１０９は、図３（Ｃ）に示すように、連続して取得された画像データをそれぞれ所定の領域に分割し、分割領域ごとの積分値の推移に基づいて、フリッカー検知を行う。ＣＰＵ１０９は、第１のフレームレートを第２のフレームレートで除算した整数値（２以上の整数値）で、画像データを分割する。第１のフレームレートが「６００ｆｐｓ」であり、第２のフレームレートが「３００ｆｐｓ」である場合、上記の除算した整数値は「２」になる。この場合、図３（Ｃ）に示されるように、ＣＰＵ１０９は、画像データを２つに分割する。これにより、各画像データは、２つの分割領域に分割される。例えば、１枚目の画像データは、分割領域１−(1)と１−(2)とに分割される。図３（Ｃ）の例の場合、取得できる画像データの数は、図３（Ａ）の例と比較して少なくなるが、分割領域を１つのサンプリングデータとみなした場合、図３（Ａ）と図３（Ｃ）とで、サンプリング数は変わらない。このため、第２のフレームレートに設定されたとしても、第１のフレームレートと同等の高精度のフリッカー波形を導出することができる。なお、第２のフレームレートで得た画像データの分割方法についての詳細は後述する。
【００２１】
ここで、取得された各画像データの面内においては、フリッカーの影響以外に起因して被写体の輝度が異なる。従って、ＣＰＵ１０９が算出した積分値はフリッカーの影響以外の被写体変化も含むことになる。そこで、ＣＰＵ１０９は、フリッカーの影響の度合いが所定量より小さい画像（所定の画像データ）を用いて、フリッカー検知用の連続画像をそれぞれ規格化（正規化）する。図４は、ＣＰＵ１０９が、フリッカーの影響を受けていない画像データ（フリッカー無画像）によりフリッカー検知用の連続画像をそれぞれ規格化した例を示す。この場合におけるフリッカー無画像（比較画像データ）に対するフリッカーの影響の度合いは「０」である。なお、以下、説明のために、フリッカー無画像がフリッカーの影響を受けていない画像データであるものとして説明するが、例えば、フリッカーの影響が所定値よりも小さい画像をフリッカーの影響を受けていない基準画像としてもよい。ＣＰＵ１０９は、画像データを取得する際の蓄積時間を予め定めた時間に設定することで、フリッカー無画像を取得してもよい。例えば、ＣＰＵ１０９が、以前に周波数が１００Ｈｚのフリッカーを検知した場合、ＣＰＵ１０９は、蓄積時間を「１／１００秒」に設定する。ＣＰＵ１０９は、以前に周波数が１２０Ｈｚのフリッカーを検知した場合、蓄積時間を「１／１２０秒」に設定する。フリッカー無画像は、フリッカー検知を行う直前に取得されてもよいし、フリッカー検知直前に被写体の測光のために取得した画像データが利用されてもよい。
【００２２】
ＣＰＵ１０９は、取得したフリッカー無画像とフリッカー検知のために取得した連続画像のそれぞれとの差分を求めることで、規格化を行う。ＣＰＵ１０９は、フリッカー無画像に対するフリッカー検知のために取得した連続画像のそれぞれの比率を求めることで、規格化を行ってもよい。これにより、フリッカー無画像を基準として規格化が行われることから、被写体中のフリッカー成分を精度よく抽出することができる。そして、ＣＰＵ１０９は、取得した画像データごとに面内を複数の領域に分割し、分割領域ごとの輝度の積分値を求める。上述したように、図３（Ｂ）の例では、画像データの分割が行われていないため、各画像データの積分値の推移からフリッカー検知を行ったとしても、サンプリング数が少ないことに起因して、フリッカーの波形を正確に求めることが難しい。従って、フリッカーの周期判定やピークタイミングが高精度に検出できない場合がある。そこで、ＣＰＵ１０９は、前述したように、図３（Ａ）で示される低輝度時以外の場合と同等のサンプリング数を得るために、図３（Ｃ）のように、フリッカー検知用画像を複数の領域に分割する。
【００２３】
ローリングシャッター方式による撮像の場合、図２に示されるように、撮像素子１０６に蓄積された電荷は、選択された行ごとに順次転送することになり、行ごとに蓄積タイミングが異なる。これにより、フリッカーの経時変化による影響を受けて、画像データの面内で輝度のムラが生じる。そこで、ＣＰＵ１０９は、上述した画像データの分割を行う際に、画像データを構成する各行（図２で示される各行）を２つ以上の領域に分割する。これにより、１つの画像データについて２つ以上の分割領域が得られる。図３（Ｃ）の例では、各画像データは、２つの領域に分割されているため、分割領域（１−(1)、１−(2)、…、６−(1)、６−(2)）の数は、合計で１２個になる。
【００２４】
ここで、ＣＰＵ１０９が取得する分割領域のタイミングは、上記のように、「１−(1)、１−(2)、…、６−(1)、６−(2)」の順番となる。これは、ローリングシャッター方式では、撮像素子１０６から読み出される各行のタイミングが異なるためである。つまり、ＣＰＵ１０９は、分割領域１−(1)を最初に取得し、次に、分割領域１−(2)を取得する。そして、ＣＰＵ１０９は、分割領域２−(1)〜分割領域６−(2)まで順番に取得していく。これにより、フレームレートが第２のフレームレート（第１のフレームレートの半分）である場合でも、図４（Ａ）のように、２倍の連続画像を取得した場合と同等のサンプリング数を得ることができる。このため、ＣＰＵ１０９は、低輝度のために第２のフレームレートで撮影を行うとしても、第１のフレームレートと同様に、輝度変化の推移（経時変化）を認識することができる。
【００２５】
ここで、画像データを取得する際に設定したフレームレートや蓄積時間によっては、次の撮像までに露光を行わない期間であるブランキング期間が生じる場合がある。図５は、ブランキング期間が生じた場合における補間の例を示す図である。ブランキング期間は、センサ駆動などの種々の影響により、次の撮像までに露光が行われない期間である。つまり、ブランキング期間は、フリッカー波形のサンプリングが実施されない期間である。そこで、ＣＰＵ１０９は、ブランキング期間のサンプリングデータの補間を行う。例えば、ＣＰＵ１０９は、ブランキング期間前後の領域（分割領域）の積分値から、ブランキング期間の近似データを作成して補間してもよい。また、ＣＰＵ１０９は、ブランキング期間前後の２つの分割領域のデータの加算平均をとってもよい。ＣＰＵ１０９は、補間した積分値の推移に基づいて、フリッカーの波形を求めることができ、フリッカーの周期を判定することができる。また、ＣＰＵ１０９は、分割領域ごとに求めた積分値からフリッカーのピークタイミングを算出する。つまり、ローリングシャッター方式で撮像し、分割領域ごとの積分値の推移に基づいて、フリッカーの波形を求める。これにより、フリッカーの周期やピークタイミングを算出することができる。
【００２６】
次に、図６を参照して、撮像装置１００のフリッカーレス撮影に関する制御について説明する。図６は、フリッカーの影響を低減したタイミングで撮影を行うためのセンサ駆動とフリッカーとの関係を示す。図６では、撮像装置１００のレリーズスイッチの押下による撮影指示が行われる前にフリッカー検知が完了している場合について説明する。フリッカー検知処理によりフリッカーが検知されると、フリッカーのピークタイミングが検出される。フリッカーのピークタイミングが検出されたことに応じてフリッカーのピークと撮影タイミングとを同調させるための信号（以下、フリッカー同調信号という）が出力され続ける。フリッカー同調信号が出力されている間に、レリーズスイッチ押下により撮影指示がなされると、撮影指示直後ではなく、フリッカー同調信号の出力に合わせたセンサ駆動がされて、露光が行われる。これにより、撮影のたびにフリッカーのピークタイミングに合わせた露光を行うことができ、露出のばらつきを抑制することができる。つまり、フリッカーの影響を受けないフリッカーレス撮影が実現できる。上述した例では、レリーズスイッチが押下される前にフリッカーを検知していた場合について説明したが、レリーズスイッチが押下されてからフリッカー検知処理を行った場合でも同様である。この場合、フリッカーを検知した後にフリッカー同調信号が出力されて、フリッカー同調信号に合わせてセンサや露光の制御が行われる。
【００２７】
次に、図７のフローチャートを参照して、本実施形態の処理の流れについて説明する。図７のフローチャートは、撮像装置１００による被写体の測光からフリッカーレス撮影までの処理の流れを示す。ＣＰＵ１０９は、被写体の測光を行うための画像データの蓄積制御および読み出し制御を行う（Ｓ３０１）。そして、ＣＰＵ１０９は、読み出した画像データの測光値（輝度）を取得する（Ｓ３０２）。ＣＰＵ１０９は、撮影指示を受け付けたかを判定する（Ｓ３０３）。Ｓ３０３でＮＯと判定された場合、フローは、Ｓ３０１に戻る。Ｓ３０３でＹＥＳと判定された場合、ＣＰＵ１０９は、測光値（画像データの輝度）が閾値を超えているかを判定する（Ｓ３０４）。閾値は、例えば、フリッカー検知用画像を、フリッカー検知が可能な十分な明るさで取得できる限界の輝度に設定される。
【００２８】
Ｓ３０４でＹＥＳと判定された場合、画像データの輝度は閾値より高いため、低輝度ではない。この場合、ＣＰＵ１０９は、フリッカー検知を行う画像データを取得するための蓄積パラメータの設定を行う。Ｓ３０４でＹＥＳと判定された場合、ＣＰＵ１０９は、蓄積パラメータとして、被写体輝度が低輝度以外の場合の第１のフレームレートを設定する（Ｓ３０５）。ＣＰＵ１０９は、第１のフレーム分連続して画像データの蓄積制御および読み出し制御を行う（Ｓ３０６）。ＣＰＵ１０９は、連続して取得した画像データを、画像データごとに面全体を積分して、積分値を算出する（Ｓ３０７）。ＣＰＵ１０９は、Ｓ３０７で求めた積分値の推移（経時変化）に基づいて、図３（Ａ）に基づくフリッカー検知処理（第１のフリッカー検知処理）を行う（Ｓ３０８）。
【００２９】
一方、Ｓ３０４でＮＯと判定された場合、画像データの輝度は閾値以下であり、低輝度である。ＣＰＵ１０９は、蓄積パラメータとして、第１のフレームレートよりも低い第２のフレームレートを設定する（Ｓ３０９）。上述した例では、第２のフレームレートは、第１のフレームレートを２以上の整数値で除算したフレームレートである。ＣＰＵ１０９は、第２のフレーム分連続して画像データを蓄積制御および読み出し制御を行う（Ｓ３１０）。ＣＰＵ１０９は、連続して取得した画像データ（連続画像）のそれぞれを、フリッカー無画像で規格化する（Ｓ３１１）。フリッカー無画像には、Ｓ３０１で取得した画像データが用いられてもよいし、別途フリッカー検知前に取得された画像データが用いられてもよい。ＣＰＵ１０９は、規格化後のフリッカー検知用画像それぞれを複数の領域に分割し、分割領域ごとに積分値を算出する（Ｓ３１２）。分割する領域数は、設定された第２のフレームレートによる。
【００３０】
Ｓ３０９で設定された第２のフレームレートやＳ３１０の蓄積時間によっては、上述したブランキング期間が生じることがある。ブランキング期間が生じる場合、ＣＰＵ１０９は、ブランキング期間のサンプリングデータの補間を行う（Ｓ３１３）。ブランキング期間が生じない場合、Ｓ３１３の処理は行われなくてよい。ＣＰＵ１０９は、ブランキング期間におけるデータ補間を実施した後、時間方向に連続する分割領域ごとの積分値の変化を見てフリッカー検知処理を行う（Ｓ３１４）。Ｓ３１４のフリッカー検知処理は、図３（Ｃ）に基づくフリッカー検知処理（第２のフリッカー検知処理）である。
【００３１】
Ｓ３０８のフリッカー検知処理（第１のフリッカー検知処理）またはＳ３１４のフリッカー検知処理（第２のフリッカー検知処理）が行われた後、ＣＰＵ１０９は、フリッカーが検知されたかを判定する（Ｓ３１５）。Ｓ３１５でＹＥＳと判定された場合、フリッカーが検知されたため、ＣＰＵ１０９は、フリッカーのピークタイミングに基づいてフリッカーレス撮影を実施する制御を行う（Ｓ３１６）。Ｓ３１５でＹＥＳと判定された場合、フリッカーが検知されていないため、ＣＰＵ１０９は、フリッカーレス撮影ではなく、通常撮影を実施する制御を行う（Ｓ３１７）。
【００３２】
次に、図８を参照し、グローバルシャッター方式でセンサ駆動した場合に、フリッカーレス撮影を行う場合の本撮影前後のフリッカー検知のためのセンサ駆動について説明する。図８は、フリッカー検知およびグローバルシャッター方式でセンサ駆動して撮影を行う場合における本撮影前後のセンサ駆動を示す図である。フリッカー検知を行うための連続画像はローリングシャッター駆動による撮像により取得される。そのため、グローバルシャッター駆動による撮像を行う場合、撮像装置１００のレリーズスイッチの押下による撮影指示に応じてセンサ駆動を切替える必要がある。撮像装置１００は、フリッカー検知の結果に基づいて、フリッカー同調信号に合わせて撮像を行う。撮影指示が続く場合、撮像装置１００は、フリッカー同調信号に合わせて撮像処理を続ける。撮像装置１００のレリーズスイッチの押下が解除され撮影指示がなくなった場合、ＣＰＵ１０９は、再度フリッカー検知のためのセンサ駆動としてローリングシャッター駆動を行うように制御する。
【００３３】
以上のように、実施形態では、ＣＰＵ１０９は、被写体の輝度に応じて画像データを取得するフレームレートを変更する。そして、ＣＰＵ１０９は、被写体の輝度が低輝度の場合、フリッカー検出用画像を分割し、分割領域ごとの積分値の推移に基づいてフリッカー検知を行うように制御する。これにより、フリッカー検知のためのサンプリング数が確保でき、ピークタイミングを含むフリッカー波形を高精度に取得することが可能になる。そして、被写体の輝度によるフリッカー検知精度の低下を抑えフリッカーレス撮影を行うことができる。
【００３４】
以上において、撮像装置１００は、撮影指示に応じてフリッカー検知を行った後に撮影処理を行っていたが、撮影指示のタイミングに依らず、フリッカー検知を定期的に行い、撮影指示があった直前のフリッカー検知の結果を用いて撮影を行うようにしてもよい。また、上述した例では、フレームレートが第１のフレームレートに設定された場合、ＣＰＵ１０９は、取得されたフリッカー検知用画像の面内における一部の領域のデータの積分値の経時変化（時間的変化）に基づいて、フリッカー検知を実行してもよい。これにより、被写体中に部分的に発生しているフリッカーを検知することができ、部分的に発生しているフリッカーの検知結果に基づいて、フリッカーレス撮影を行うことができる。
【００３５】
また、被写体の輝度が、例えば、上記の低輝度より低い場合等においては、画像データを適切な明るさで取得するための蓄積時間を確保するために、第２のフレームレートよりもさらに低いフレームレートに設定されることがある。また、撮像装置１００が、モニタ１０８にライブビュー表示（ＬＶ表示）を行う場合、フリッカー検知が同時に行われると、フレームレートは、ライブビュー表示を行うためのフレームレートより低いフレームレートに設定される。このような場合、ＣＰＵ１０９は、連続する画像データの積分値の変化ではなく、取得した画像データの面内の時間軸方向の輝度変化に基づいてフリッカー検知を行うようにしてもよい。
【００３６】
また、ＣＰＵ１０９は、連続画像の分割領域ごとの時間方向における積分値変化からサンプリング数の少ないフリッカー波形を分割領域ごとに算出し、各フリッカー波形を合成してもよい。これにより、一定のサンプリング数を有したフリッカー波形を取得することができる。この場合、同じ分割領域についての上述した各フリッカー波形が合成されるため、フリッカー以外の被写体成分の影響を考慮しなくてもよく、規格化の必要がない。これにより、規格化のためにフリッカー無画像を別途取得する必要がなく、規格化を行う処理を省略することができる。また、ＣＰＵ１０９は、第１のフレームレートと第２のフレームレートとの何れを設定するかを、被写体の測光値が閾値以上であるかではなく、蓄積時間に応じて、判定してもよい。例えば、撮像装置１００に対して、夜景撮影モード等の長い時間の蓄積時間が設定された場合、設定された蓄積時間に応じてフレームレートの設定が行われてもよい。
【００３７】
以上、本発明の好ましい実施の形態について説明したが、本発明は上述した各実施の形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。本発明は、上述の各実施の形態の１以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３８】
１００  撮像装置
１０１  本体部
１０２  撮影レンズ
１０６  撮像素子
１０８  モニタ
１０９  ＣＰＵ
【図１】
2020072392.tif 000003
【図２】
2020072392.tif 000004
【図３】
2020072392.tif 000005
【図４】
2020072392.tif 000006
【図５】
2020072392.tif 000007
【図６】
2020072392.tif 000008
【図７】
2020072392.tif 000009
【図８】
2020072392.tif 000010