(57)【要約】【課題】フリッカーの発生を良好に防止可能な撮像装置及びフリッカー発生周波数検出方法を提供する。【解決手段】本発明の撮像装置１は、測光部７で測光された、それぞれのフレームの輝度に対応する出力を二値化し、連続する１出力Ｌ１の最初から、１出力Ｌ１の次に続く０出力Ｌ０の最後までのフレーム数をカウントする第１のカウントと、０出力Ｌ０の最初から、次に続く連続する１出力Ｌ１の最後までのフレーム数をカウントする第２のカウントとを交互に繰り返して行うことにより、１出力Ｌ１と０出力Ｌ０とをそれぞれ１組ずつ含む期間に含まれるフレーム数のカウント結果を複数求め、フレーム数が閾値より大きい場合は、光源の電源周波数は５０Ｈｚであると判定し、閾値以下の場合は、６０Ｈｚであると判定し、５０Ｈｚと６０Ｈｚのうちの、判定された数の多いほうを、被写界に含まれる光源の電源周波数であると判定する、フリッカー周波数判定部１０と、を備えることを特徴とする。【選択図】図２
2013042299.tif 000002
【特許請求の範囲】
【請求項１】
所定のフレームレートで被写界光の測光が可能な測光部と、
前記測光部で測光された、それぞれのフレームの輝度に対応する出力を、閾値の上か下かで１出力か０出力かで二値化し、該二値化した出力を経時的にみたときに、連続する１出力の最初から、該連続する１出力の次に続く連続する０出力の最後までのフレーム数をカウントする第１のカウントと、連続する０出力の最初から、該連続する０出力の次に続く連続する１出力の最後までのフレーム数をカウントする第２のカウントとを、いずれを先頭にするかにかかわらず交互に、又はいずれか一方を繰り返して行うことにより、連続する１出力と連続する０出力とをそれぞれ１組ずつ含む期間に含まれるフレーム数のカウント結果を複数求め、
前記フレーム数が閾値より大きい場合は、被写界に含まれる光源の電源周波数は５０Ｈｚであると判定し、前記フレーム数が前記閾値以下の場合は、被写界に含まれる光源の電源周波数は６０Ｈｚであると判定し、前記複数のカウント結果において、５０Ｈｚと６０Ｈｚのうちの、判定された数の多いほうを、被写界に含まれる光源の電源周波数であると判定する、フリッカー周波数判定部と、
を備えること、
を特徴とする撮像装置。
【請求項２】
請求項１に記載の撮像装置であって、
連続する前記第１のカウントと前記第２のカウントとは、
前記連続する１出力又は前記連続する０出力のいずれかを重複させて交互に繰り返されること、
を特徴とする撮像装置。
【請求項３】
請求項１又は２に記載の撮像装置であって、
前記連続する１出力の組と前記連続する０出力組とをそれぞれ１組ずつ含む期間に含まれるフレーム数を、フレームレートで除算した値は、撮影された画像にフリッカーを発生させる原因となる光源に供給される電源の周波数の１／２周期に相当すること、
を特徴とする撮像装置。
【請求項４】
請求項２または３に記載の撮像装置であって、
前記第１のカウントと前記第２のカウントとの間で互いに重複させるフレーム数をフレームレートで除算した値は、撮影された画像にフリッカーを発生させる原因となる光源に供給される電源周波数の１／４周期に相当すること、
を特徴とする撮像装置。
【請求項５】
請求項１から４のいずれか１項に記載の撮像装置であって、
前記測光部は、電荷蓄積型の撮像素子であること、
を特徴とする撮像装置。
【請求項６】
所定のフレームレートで被写界光の測光が可能な測光部を備え、
前記測光部で測光された、それぞれのフレームの輝度に対応する出力を、閾値の上か下かで１出力か０出力かで二値化し、該二値化した出力を経時的にみたときに、連続する１出力の最初から、該連続する１出力の次に続く連続する０出力の最後までのフレーム数をカウントする第１のカウントと、連続する０出力の最初から、該連続する０出力の次に続く連続する１出力の最後までのフレーム数をカウントする第２のカウントとを、いずれを先頭にするかにかかわらず交互に、又はいずれか一方を繰り返して行うことにより、連続する１出力と連続する０出力とをそれぞれ１組ずつ含む期間に含まれるフレーム数のカウント結果を複数求め、
前記フレーム数が閾値より大きい場合は、被写界に含まれる光源の電源周波数は５０Ｈｚであると判定し、前記フレーム数が前記閾値以下の場合は、被写界に含まれる光源の電源周波数は６０Ｈｚであると判定し、前記複数のカウント結果において、５０Ｈｚと６０Ｈｚのうちの、判定された数の多いほうを、被写界に含まれる光源の電源周波数であると判定すること、
を特徴とする、フリッカー発生周波数検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置及びフリッカー発生周波数検出方法に関するものである。
【背景技術】
【０００２】
デジタル一眼レフカメラにおいて、クイックリターンミラーを常時上げた状態に保ち、撮像素子で画像を連続して表示装置へ出力する、いわゆるライブビューと呼ばれる機能がある。このライブビューが行われる際、表示装置に表示される画像において、撮像素子の蓄積時間によっては、光源の電源の周波数によって生じる光源の揺らぎの影響を受け、フリッカーが発生する場合がある。従来、これらのフリッカー対策として、種々の対策がとられている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９４８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、フリッカーの発生を良好に防止可能な撮像装置及びフリッカー発生周波数検出方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明は、以下のような解決手段により前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
請求項１に記載の発明は、所定のフレームレートで被写界光の測光が可能な測光部（７）と、前記測光部（７）で測光された、それぞれのフレームの輝度に対応する出力を、閾値の上か下かで１出力（Ｌ１）か０出力（Ｌ０）かで二値化し、該二値化した出力を経時的にみたときに、連続する１出力（Ｌ１）の最初から、該連続する１出力（Ｌ１）の次に続く連続する０出力（Ｌ０）の最後までのフレーム数をカウントする第１のカウント（Ｔ１、Ｔ３…）と、連続する０出力（Ｌ０）の最初から、該連続する０出力（Ｌ０）の次に続く連続する１出力（Ｌ１）の最後までのフレーム数をカウントする第２のカウント（Ｔ２、Ｔ４…）とを、いずれを先頭にするかにかかわらず交互に、又はいずれか一方を繰り返して行うことにより、連続する１出力（Ｌ１）と連続する０出力（Ｌ０）とをそれぞれ１組ずつ含む期間に含まれるフレーム数（Ｔ１、Ｔ２、Ｔ３、Ｔ４…）のカウント結果を複数求め、前記フレーム数が閾値より大きい場合は、被写界に含まれる光源の電源周波数は５０Ｈｚであると判定し、前記フレーム数が前記閾値以下の場合は、被写界に含まれる光源の電源周波数は６０Ｈｚであると判定し、前記複数のカウント結果において、５０Ｈｚと６０Ｈｚのうちの、判定された数の多いほうを、被写界に含まれる光源の電源周波数であると判定する、フリッカー周波数判定部（１０）と、を備えること、を特徴とする撮像装置（１）である。
請求項２に記載の発明は、請求項１に記載の撮像装置（１）であって、連続する前記第１のカウント（Ｔ１、Ｔ３…）と前記第２のカウント（Ｔ２、Ｔ４…）とは、前記連続する１出力（Ｌ１）又は前記連続する０出力（Ｌ０）のいずれかを重複させて交互に繰り返されること、を特徴とする撮像装置（１）である。
請求項３に記載の発明は、請求項１又は２に記載の撮像装置（１）であって、前記連続する１出力（Ｌ１）の組と前記連続する０出力（Ｌ０）組とをそれぞれ１組ずつ含む期間に含まれるフレーム数（Ｔ１、Ｔ２、Ｔ３、Ｔ４…）を、フレームレートで除算した値は、撮影された画像にフリッカーを発生させる原因となる光源に供給される電源の周波数の１／２周期に相当すること、を特徴とする撮像装置（１）である。
請求項４に記載の発明は、請求項２または３に記載の撮像装置（１）であって、前記第１のカウント（Ｔ１、Ｔ３…）と前記第２のカウント（Ｔ２、Ｔ４…）との間で互いに重複させるフレーム数をフレームレートで除算した値は、撮影された画像にフリッカーを発生させる原因となる光源に供給される電源周波数の１／４周期に相当すること、を特徴とする撮像装置（１）である。
請求項５に記載の発明は、請求項１から４のいずれか１項に記載の撮像装置（１）であって、前記測光部（７）は、電荷蓄積型の撮像素子であること、を特徴とする撮像装置（１）である。
請求項６に記載の発明は、所定のフレームレートで被写界光の測光が可能な測光部（７）を備え、前記測光部（７）で測光された、それぞれのフレームの輝度に対応する出力を、閾値の上か下かで１出力（Ｌ１）か０出力（Ｌ０）かで二値化し、該二値化した出力を経時的にみたときに、連続する１出力（Ｌ１）の最初から、該連続する１出力（Ｌ１）の次に続く連続する０出力（Ｌ０）の最後までのフレーム数をカウントする第１のカウント（Ｔ１、Ｔ３…）と、連続する０出力（Ｌ０）の最初から、該連続する０出力（Ｌ０）の次に続く連続する１出力（Ｌ１）の最後までのフレーム数をカウントする第２のカウント（Ｔ２、Ｔ４…）とを、いずれを先頭にするかにかかわらず交互に、又はいずれか一方を繰り返して行うことにより、連続する１出力（Ｌ１）と連続する０出力（Ｌ０）とをそれぞれ１組ずつ含む期間に含まれるフレーム数（Ｔ１、Ｔ２、Ｔ３、Ｔ４…）のカウント結果を複数求め、前記フレーム数が閾値より大きい場合は、被写界に含まれる光源の電源周波数は５０Ｈｚであると判定し、前記フレーム数が前記閾値以下の場合は、被写界に含まれる光源の電源周波数は６０Ｈｚであると判定し、前記複数のカウント結果において、５０Ｈｚと６０Ｈｚのうちの、判定された数の多いほうを、被写界に含まれる光源の電源周波数であると判定すること、を特徴とする、フリッカー発生周波数検出方法である。
【０００６】
なお、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【発明の効果】
【０００７】
本発明によれば、フリッカーの発生を良好に防止可能な撮像装置及びフリッカー発生周波数検出方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態を適用したカメラの構成図である。
【図２】カメラの基本動作を示す流れ図である。
【図３】エリアセンサでの蓄積方法を説明する図である。
【図４】フリッカー周波数検出処理の概要フローである。
【図５】フリッカー周波数検出用Ｐ線図である。
【図６】撮像出力とフレーム数の関係を示す図である。
【図７】５０Ｈｚ用のライブビュー用Ｐ線図である。
【図８】６０Ｈｚ用のライブビュー用Ｐ線図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施形態について説明する。
図１は本実施形態のデジタル一眼レフレックスカメラ１００の構成図である。
カメラ１００はカメラ本体１と、レンズユニット２から構成される。
ここで、レンズユニット２はカメラ本体１に対して交換可能に装着され、撮像光学系３や絞り４等を含んでいる。
撮像光学系３は複数のレンズ群を含む（図においては２つのレンズのみ図示）。複数のレンズ群は、ズームレンズ群、フォーカスレンズ群を含む。
絞り４は、撮像光学系３を通過して、カメラ本体１に備えられた後述の撮像素子７に至る光束の光量を制限する。
【００１０】
カメラ本体１は、クイックリターンミラー５と、フォーカルプレーンシャッター６と、被写体像を光電変換する撮像素子７と、撮像素子７で撮像された画像（動画（ライブビュー画像も含む）及び静止画）を表示する表示部８と、を備えている。
またカメラ本体１は、ファインダ光学系２０と、被写体像を光電変換するエリアセンサ１６と、それらを制御する演算を行う制御部１０、及び制御情報を記憶する記憶部９とを有している。
クイックリターンミラー５、フォーカルプレーンシャッター６および撮像素子７は、撮像光学系３の光軸ＯＡに沿って配置され、ファインダ光学系２０はクイックリターンミラー５の上部領域に配置されている。
【００１１】
撮影者がファインダ光学系２０を通して被写界を観察する時、つまり静止画撮影、及び動画撮影（ライブビューも含む）以外の時は、クイックリターンミラー５は、撮像光学系３から撮像素子７までの撮影光路と交差し、撮像光学系３を通過した光束を上方に反射させてファインダ光学系２０に導くようになっている（実線の位置）。
一方、静止画撮影、及び動画撮影（ライブビューも含む）時、クイックリターンミラー５は上方に跳ね上げられ、撮像光学系３を通過した光束はフォーカルプレーンシャッター６および撮像素子７に導かれ、撮像素子７の撮像信号に基づいて被写体の画像データを生成することができる（点線の位置）。
【００１２】
ファインダ光学系２０は、ファインダスクリーン１１、ペンタダハプリズム１２、接眼レンズ１４を含む。
被写体からの光束はカメラ１００の撮像光学系３及び絞り４を通過した後、クイックリターンミラー５によって上部に反射される。そして、クイックリターンミラー５で反射された被写体からの光束は、撮像素子７と光学的に等価な面に配置されたファインダスクリーン１１に結像する。結像した被写体像の光束はペンタダハプリズム１２を経て、接眼レンズ１４を通った後、ファインダ１７へと向かう。
また、ペンタダハプリズム１２を通った光束の一部はエリアセンサ用再結像光学系１３を通って、エリアセンサ１６に結像する。
【００１３】
エリアセンサ１６は、ＣＭＯＳイメージセンサなどで構成され、撮影の際の露出値を演算するため、撮影画面を複数の領域に分割して領域ごとの輝度に応じた出力信号を出力する。この出力信号は、後述の、撮影された画像にフリッカーを発生させる原因となる、被写界内に含まれる光源に供給される交流電源の周波数（以下、フリッカー周波数という）検出用にも利用される。
【００１４】
撮像素子７は、カメラ本体１の、光軸ＯＡ上であって、撮像光学系３の予定焦点面となる位置に設けられ、フォーカルプレーンシャッター６は、その前面に設けられている。
撮像素子７は、複数の光電変換素子が二次元に配列されたものであって、二次元ＣＣＤセンサ、ＣＭＯＳセンサなどで構成することができる。
この撮像素子７で光電変換された電気撮像信号は、制御部１０で画像処理されたのち、図示しないメモリに保存される。なお、撮影された画像を格納するメモリは内蔵型メモリやカード型メモリなどで構成することができる。
【００１５】
カメラ本体１は操作部２１も備える。操作部２１はレリーズスイッチ、ズームボタン、および撮影者がカメラ本体１の各種動作モードを設定するための入力スイッチ等である。
【００１６】
そして、カメラ１００の使用者がレリーズスイッチ２１を押下すると、カメラ１００は撮影動作を開始する。
撮影動作において、まず、クイックリターンミラー５が上部（点線）へ跳ね上がる。カメラ１００はフォーカルプレーンシャッター６のシャッター幕を開き、撮像素子７で光束を受光し、撮像信号を出力する。
撮像信号はエリアセンサ１６の出力と同様に制御部１０で処理される。そして、撮影された画像は、表示部８に表示される。
【００１７】
ライブビューモード（動画撮影も含む）の場合も、カメラ１００はクイックリターンミラー５を上部に跳ね上げる。
そしてカメラ１００は、フォーカルプレーンシャッター６を開き、撮像素子７で被写体からの光束を受光する。撮像素子７の出力は制御部１０で処理され、表示部８にスルー画として表示される。
【００１８】
次に、本実施形態における処理の流れについて説明する。図２は図１のカメラ１００が電源ＯＮとなった状態から、ライブビューを開始し、撮影を行い、ライブビューを終了するまでの、カメラ１００の基本動作を示す流れ図である。
【００１９】
電源ＯＮとなったカメラ１００は、クイックリターンミラー５がミラーダウンした状態であり、撮像光学系３から入射した被写体光はエリアセンサ１６に導かれる。
Ｓ２０１においてエリアセンサ１６は、被写体光の蓄積を行う。
ここでの蓄積は、静止画撮影の際の露出条件、及び後述のＳ２０５のフリッカー周波数検出用の露出条件を設定するための蓄積である。さらに、後述のＳ２０７のライブビュー時の最初の露出条件もここでの蓄積結果をもとに設定される。蓄積結果は、信号化して出力され、制御部１０において処理される。
【００２０】
図３は、Ｓ２０１でのエリアセンサ１６での蓄積方法を説明する図である。エリアセンサ１６では、被写界がブロック分けされる。本実施形態においてエリアセンサ１６の被写界は、図示するように横５×縦５のブロックに分けられる。
各ブロックの出力は座標（ｉ，ｊ）を用いて、Ｙ［ｉ］［ｊ］として表され、それぞれのブロックで０〜１０２３の値を取る。そして、エリアセンサ１６は、各ブロックの出力を制御部１０に送信する。
【００２１】
Ｓ２０２で、カメラ１００は、制御部１０において、エリアセンサ１６の信号出力から２５ブロックの輝度値を算出する。
輝度値の算出は以下のように行う。
ＢＶ［ｉ］［ｊ］＝Ｌｏｇ２（Ｙ［ｉ］［ｊ］）＋ＣＯＮＳＴ  …（式１）
式１中Ｌｏｇ２（  ）は２を底とした引数の対数を返す関数である。
また、ＣＯＮＳＴはエリアセンサ１６の蓄積を行った際の蓄積時間、感度、撮影レンズの明るさを正規化するための項である。式１の処理をｉとｊの組み合わせ全２５領域に対して行う。
【００２２】
Ｓ２０３でカメラ１００は、使用者がライブビューの開始動作を行ったかどうか判定し、ライブビューが開始されない場合（Ｓ２０３，ＮＯ）には、上記Ｓ２０１からＳ２０２の処理を繰り返す。
【００２３】
カメラ１００は、使用者がライブビューの開始動作を行ったと判定した場合（Ｓ２０３，ＹＥＳ）、Ｓ２０４でクイックリターンミラー５を上部に跳ね上げ、フォーカルプレーンシャッター６を開き、撮像素子７での撮像が可能な状態にする。
【００２４】
（フリッカー周波数検出）
次に、カメラ１００は、Ｓ２０５において、フリッカー周波数の検出を行う。
図４はＳ２０５のフリッカー周波数の検出の処理の概要フローである。
【００２５】
図４に示すように、フリッカー周波数の検出の処理において、制御部１０は、Ｓ３０１で、フリッカー周波数検出用の蓄積条件を求める。なお、本実施形態では、フリッカー周波数検出用の蓄積条件の算出は、このＳ３０１において行う例について説明するが、これに限らず、例えば、ライブビュー開始前に行うこともできる。
Ｓ３０１において制御部１０は、まず、Ｓ２０２で測光されたエリアのうちで輝度が最大のものを求める。
ＢＶ２５ＭＡＸ＝ＭＡＸ（ＢＶ［ｉ］［ｊ］）  …（式２）
式２中、ＭＡＸ（  ）は引数配列の最大値を返す関数である。
【００２６】
算出したＢＶ２５ＭＡＸと、撮影レンズ２の絞り４の絞り値ＡＶを元に（ＢＶ−ＡＶ）、図５に示すフリッカー周波数検出用Ｐ線図Ｐ１で蓄積時間シャッター秒時とＩＳＯ感度を算出する。このＰ線図は、ＢＶ２５ＭＡＸが飽和（白飛び）しないようなＰ線図であり、記憶部９に記憶されている。
【００２７】
ここで、輝度が最大のエリアの輝度ＢＶ２５ＭＡＸが飽和（白飛び）しないようにするのは、以下の理由による。
それは、通常のライブビュー表示時における適正露出（表示装置が適正な明るさとなるような露出）は、撮像素子７の一部領域が飽和している可能性がある。しかし、フリッカーの原因は、一般に蛍光灯などの光源であって、フリッカー周波数を検出するということは、この光源の点滅を検出することである。
光源は、画面内で一番明るい場合が多く、通常の露出状態ではその明るい光源が飽和（白飛び）する可能性が高く、光源が白飛びすると、光源の点滅を検出することが出来ず、フリッカー周波数に関するデータを得ることが出来ない。
【００２８】
そこで、本実施形態では、フリッカー周波数検出前にエリアセンサ１６によって被写界を測光し、フリッカー周波数の検出に用いる撮像素子７の駆動の際には、画面の最大輝度の部分が飽和しないような露出制御を行うようにする。これにより、出力が飽和しない状態でフリッカー周波数の検出を行うことができる。
【００２９】
（高速フレームレート）
次に、Ｓ３０２においてフリッカー周波数検出用の蓄積を行う。この蓄積は、高速フレームレートで行う。本実施形態での高速フレームレートとは、予想される光源の幻滅周波数１００Ｈｚまたは１２０Ｈｚ（５０Ｈｚと６０Ｈｚの電源に対応）といったフリッカー周波数に対して十分に高い、好ましくは７００ｆｐｓ以上のフレームレートである。より好ましくは、８００ｆｐｓから１２００ｆｐｓである。
【００３０】
高速フレームレートの場合、１フレームの撮影動作期間（蓄積時間、シャッター秒時）が非常に短いため、１フレームの撮影動作期間おける周辺環境の明るさは蛍光灯下であってもほぼ一定となる。したがってフレーム画像には帯状の明暗は現れない。そして、このような高速フレームレートの連続画像においては、蛍光灯の点滅による明暗が、連続するフレームの明暗となって現れる。すなわち、高速フレームレートの場合、フレームそれぞれの輝度をプロットすることにより、蛍光灯点滅のサイクルを把握することが可能となる。
【００３１】
（高速シャッター秒時）
また、光源の揺らぎを正確に検出するには、シャッター秒時を高速にして瞬間的な光量を検出することが好ましい。また、最低シャッター秒時（ＴＶ）は１／フレームレートであるので、高速フレームレートを達成するには、シャッター秒時も高速となる。このため、フリッカー周波数の検出のために撮像素子７の駆動を行う場合には、通常の撮影の場合の露出制御Ｐ線図とは別に設けられているフリッカー周波数検出用の露出制御Ｐ線図を用いる。
【００３２】
図５は、そのフリッカー周波数検出の際の露出制御Ｐ線図を示す。このＰ線図は、通常の撮影の場合のＰ線図とは異なり、フレームレート８００ｆｐｓに対応して、最低シャッター秒時は１／８００と、高速になっている。
このように、露出制御Ｐ線図をライブビュー時の撮影用と別に設けるため、撮像部７においてフリッカー周波数検出に特化した撮像を行うことが可能となり、ライブビュー時の露出制御条件に関わらず、精度の良いフリッカー周波数検出が可能となる。
【００３３】
この、Ｓ３０３の蓄積は、所定回数（本実施形態では８０回）を超えるまで繰り返される。それは、複数光源が被写界内に存在する場合や光源の輝度が変化する場合、１回の検出結果では、正確に周波数の検出ができないことがあるからである。
【００３４】
（二値化処理）
図６は、フリッカー周波数検出のために行った、撮像素子７の蓄積結果である。縦軸は、被写界の輝度に対応する出力値である。
Ｓ３０３において、蓄積回数が所定回数（本実施形態では８０回）を超えた場合、（Ｓ３０３，Ｙｅｓ）、Ｓ３０４において、取得した撮像素子７の出力を二値化する。
二値化は、以下のように行う。
まず、１〜８０回の蓄積においてｎ回目に蓄積した撮像出力の平均値をＹＭｅａｎ［ｎ］とする。そして、その平均を求める。
ＡｖｅＹＭｅａｎ＝ＡＶＥＲＡＧＥ（ＹＭｅａｎ［ｎ］）
ＡＶＥＲＡＧＥ（  ）は引数配列の平均値を返す関数である。図６においてＡｖｅＭｅａｎを点線で示す。
【００３５】
次に、各フレームの出力を二値化する。二値化は以下の式に基づいて行う。
ＹＭｅａｎ［ｎ］＞ＡｖｅＹＭｅａｎならば  ＦＬＢＩＴ［ｎ］＝１
ＹＭｅａｎ［ｎ］≦ＡｖｅＹＭｅａｎならば  ＦＬＢＩＴ［ｎ］＝０
【００３６】
二値化処理の結果を、図６のグラフ上に合わせて二点鎖線で示す。
図６に示すように、二値化すると、ＦＬＢＩＴ［ｎ］＝１が複数回続き（Ｌ１）、次はＦＬＢＩＴ［ｎ］＝０が複数回続き（Ｌ０）、また、ＦＬＢＩＴ［ｎ］＝１が複数回続く（Ｌ１）、というように、ＦＬＢＩＴ＝１（Ｌ１）とＦＬＢＩＴ＝０（Ｌ０）とが複数回ごとに繰り返される。
【００３７】
この、連続する複数回のＦＬＢＩＴ＝１（Ｌ１）と、連続する複数回のＦＬＢＩＴ＝０（Ｌ０）をそれぞれ１組ずつ含むフレーム数を、一部重ねてカウントする。
すなわち、図６に示すように、１回目（Ｔ１）は、ＦＬＢＩＴが０から１に立ち上がった際の最初の１から、次に０から１に立ち上がる前の最後の０までのフレーム数を数える。
２回目（Ｔ２）は、１回目のカウント領域（Ｔ１）の半分と重なり、１から０に下がった際の最初の０から、次に１から０に下がる前の最後の１までのフレーム数を数える。
３回目（Ｔ３）は、２回目のカウント領域（Ｔ２）の半分と重なり、０から１に立ち上がった際の最初の１から、次に０から１に立ち上がる際の最後の０までのフレーム数を数える。
【００３８】
この、連続する１の組Ｌ１と、連続する０の組Ｌ０をそれぞれ１組づつ含むフレーム数に、フレームレート分の１を乗じた時間は、フリッカー周波数の１／２周期（光源の点滅の１周期）に相当する。
また、重複するカウント領域は、フリッカー周波数の１／４周期（光源の点滅の１／２周期）に相当する。
【００３９】
このように、カウント領域Ｔを重複させることにより、短時間での複数のサンプリングが可能となる。
【００４０】
ただし、これに限定されるものではなく、１回目は、ＦＬＢＩＴが０から１に立ち上がった際の最初の１から、次に０から１に立ち上がる前の最後の０までのフレーム数を数え、２回目も、１回目に続き且つ重複せずに、ＦＬＢＩＴが０から１に立ち上がった際の最初の１から、次に０から１に立ち上がる前の最後の０までのフレーム数を数えるようにしてもよい。
また、１回目を、ＦＬＢＩＴが１から０に下がった際の最初の０から始めても良い。
【００４１】
例えば、ＡｖｅＹＭｅａｎが、サンプリングの関係で実際の出力の中央の値より大きくなる場合もある。そうすると、ＦＬＢＩＴ＝１の連続回数が少なくなり、ＦＬＢＩＴ＝０の連続回数がその分多くなることになる。しかし、本実施形態では、連続する１と連続する０との１組に含まれるフレーム数をカウントするので、ＡｖｅＹＭｅａｎ／２の値が中央よりずれている場合であっても、全体として、略正しい１周期のフレーム数をカウントすることができる。
【００４２】
ここで、光源の点滅は、例えば５０Ｈｚの電源のときは１００Ｈｚで発生し、６０Ｈｚの電源のときは１２０Ｈｚで発生する。
上述のカウント領域（Ｔ１，Ｔ２，Ｔ３…）は、１カウント領域で、例えば、フレーム数が８個検出されたとき、フレームレートが８００ｆｐｓとすると、１カウント領域は１／１００秒となる。この場合、光源の点滅が１００Ｈｚなので、電源は５０Ｈｚであると考えられる。
【００４３】
また、１サイクルで例えば、検出されたフレーム数が７（フレーム数は整数とし，そのフレーム数に相当する時間が光源点滅周期のどちらに近いかで判断する）のとき、フレームレートが８００ｆｐｓとすると、１サイクルは１／１２０秒となる。この場合、光源の点滅が１２０Ｈｚなので、電源は６０Ｈｚであると考えられる。
【００４４】
そこで、ＴｈＨｚを、例えば７程度に設定し、各周期に含まれるフレーム数Ｔ（ｎ）が、
Ｔ［ｎ］＞ＴｈＨｚ  ならば５０Ｈｚと判定し、
Ｔ［ｎ］≦ＴｈＨｚ  ならば６０Ｈｚと判定する。
【００４５】
（フリッカー周波数判定）
全てのＴ［ｎ］において５０Ｈｚか６０Ｈｚかを判定し、５０Ｈｚか６０Ｈｚかのうちの判定された数の多いほうを採用し、フリッカー周波数を求める。
【００４６】
ここで、５０Ｈｚか６０Ｈｚのどちらのフリッカー周波数か検出を行う際、暗すぎるなどの理由で、検出が正確にできない場合がある。また、５０Ｈｚと判定された回数と６０Ｈｚと判定された回数とが同数になる場合がある。
このように、５０Ｈｚか６０Ｈｚかの判定ができなかった場合、制御部１０は、５０Ｈｚか６０Ｈｚのうちの、画像撮影時のフレームレート分の１より小さく、フリッカー周波数の１／２周期（１／１００，１／１２０）の整数倍（１／１００，２／１０，３／１００，４／１００又は１／１２０，２／１２０，３／１００，４／１２０５／１２０）となるもののうち、最長となるものの時間が長いフリッカー周波数を、フリッカーの発生原因となっているフリッカー周波数と判定する。
すなわち、本実施形態では、画像撮影時のフレームレートが例えば２４であったとすると、フレームレート分の１（１／２４＝０．０４１７）より小さく、５０Ｈｚのフリッカー周波数の１／２周期（１／１００）の整数倍となるもののうち、最長となるものは、４／１００＝０．０４である。
フレームレート分の１（１／２４＝０．０４１７）より小さくであって、６０Ｈｚのフリッカー周波数の１／２周期（１／１２０）の整数倍（１／１２０、２／１２０＝０．０１６７、４／１２０＝０．０３３３、５／１２０＝０．０４１７）となるもののうち、最長となるものは、４／１２０＝０．０３３３である。したがって、この場合、５０Ｈｚをフリッカー周波数と判定する。
このようにするのは、露出制御においてシャッター秒時が１／フレームレートとなるのは必然であり、また、フリッカー周波数の１／２周期の整数倍となるもののうち、最長となるものを含むフリッカー周波数を用いたほうが、低速シャッター秒時となるためフリッカーが目立ちにくくなるからである。
【００４７】
次に、図２に戻り、Ｓ２０７でライブビュー表示用の撮像素子の蓄積を行う。
このとき、初回ライブビュー時は、Ｓ２０１で蓄積したエリアセンサ１６の出力を用いて、ライブビュー用の撮像素子の蓄積条件を決めるために、以下の処理を行う。
【００４８】
ＢＶＭｅａｎ＝ＡＶＥＲＡＧＥ（ＢＶ［ｉ］［ｊ］）  …（式３）
式３中、ＡＶＥＲＡＧＥ（  ）は引数配列の平均値を返す関数である。
算出したＢＶＭｅａｎと撮影レンズの開口ＡＶ値を元に、ライブビュー用Ｐ線図で蓄積時間と感度を算出する。このとき、Ｓ２０５のフリッカー周波数の検出結果により、図７の５０Ｈｚ用のライブビュー用Ｐ線図か、図８の６０Ｈｚ用のライブビュー用Ｐ線図のいずれのＰ線図を用いるかを決定する。これらのＰ線図も記憶部９に記憶されている。
【００４９】
上述したようにＳ２０５でフリッカー周波数の検出が出来なかった場合には、図７の５０ＨｚのＰ線図を使用して露出制御値を決定する。
Ｓ２０８は、選択されたＰ線図を基に、Ｓ２０７で検出したライブビュー用の撮像蓄積の結果から２回目以降の輝度値を算出する。
【００５０】
輝度値の算出は以下の式で行う。
ＢＶＳｚ＝Ｌｏｇ２（ＡＶＥＲＡＧＥ（ＹＳｚ［ｘ］［ｙ］））＋ＳｚＣＯＮＳＴ
…（式４）
式４中、ＹＳｚ［ｘ］［ｙ］は撮像素子７の座標（Ｘ、Ｙ）における出力である。また、ＳｚＣＯＮＳＴは撮像素子７の蓄積を行った際の蓄積時間、感度、撮影レンズの明るさを正規化するための項である。
【００５１】
ここで、光源のフリッカー周波数が５０Ｈｚと判定された場合、図７のＰ線図Ｐ５０に示すようにシャッター秒時は１／２５、１／５０、１／１００であるので、光源の整数倍となり、輝度のばらつきがなくなり、フリッカーが防止される。すなわち、シャッター秒時１／１００のときは光源の１回の点滅（１山）の間、蓄積していることになり、シャッター秒時１／５０のときは光源の２回の点滅（２山）の間、蓄積していることになり、シャッター秒時１／２５のときは光源の４回の点滅（４山）の間、蓄積していることになる。
なお、図７のＰ線図では含まれないが、シャッター秒時１／３３で光源の３回の点滅（３山）の間、蓄積してもよい。このように、点滅の整数倍の間、蓄積するので、蓄積された画像間で光源の点滅による画像の輝度の差を生じず、フリッカーが防止される。
【００５２】
また、光源の周波数が６０Ｈｚの場合、図８のＰ線図に示すようにシャッター秒時は１／３０、１／６０、１／１２０であるので、光源の周波数の整数倍となり、輝度のばらつきがなくなり、フリッカーが防止される。すなわち、シャッター秒時１／１２０のときは光源の１回の点滅（１山）の間、蓄積していることになり、シャッター秒時１／６０のときは光源の２回の点滅（２山）の間、蓄積していることになり、シャッター秒時１／３０のときは光源の４回の点滅（４山）の間、蓄積していることになる。
なお、図８のＰ線図では含まれないが、シャッター秒時１／４５で光源の３回の点滅（３山）の間、蓄積してもよい。このように、６０Ｈｚの場合も、点滅の整数倍の間、蓄積するので、蓄積された画像間で光源の点滅による画像の輝度の差を生じず、フリッカーが防止される。
【００５３】
それ以上の高速になる（図７及び図８において点線で示す）と、フリッカーが発生する可能性がある。この場合は、絞り４を絞ってシャッター秒時の速度を低速にしてもよく、また、絞り４を絞ると、異音が気になる場合は、そのままにしておくこともできる。
【００５４】
次にＳ２０９では、Ｓ２０７で蓄積した撮像素子７の出力画像を表示部８へ表示する。
Ｓ２１０でレリーズスイッチ２１が押下されない場合には、撮影を行わず、Ｓ２１２でライブビューを終了しない限り、Ｓ２０７からＳ２０９のライブビュー状態を継続する。Ｓ２１０でレリーズスイッチ２１が押下された場合には、Ｓ２１１で静止画記録用の撮像素子７の蓄積を行う。静止画記録用の撮像素子の蓄積条件については公知の方法を用いる。
【００５５】
以上、本実施形態によると、以下の効果を有する。
（１）フリッカー周波数検出前にエリアセンサ１６によって被写界を測光し、フリッカー周波数の検出に用いる撮像素子７の駆動の際には、画面の最大輝度の部分が飽和しないような露出制御を行うようにする。これにより、出力が飽和しない状態でフリッカー周波数の検出を行うことができる。光源が白飛びしないので、光源の点滅を検出することができ、光源の周波数に関するデータを良好に得ることが可能となる。
【００５６】
（２）本実施形態では、フリッカー周波数検出の際の蓄積は、高速フレームレートで行う。高速フレームレートとは、１００Ｈｚまたは１２０Ｈｚ（５０Ｈｚと６０Ｈｚの電源に対応）といった光源の周波数に対して十分に高いレートである。
高速フレームレートの場合、１フレームの撮影動作期間おける周辺環境の明るさは蛍光灯下であってもほぼ一定となる。したがってフレーム画像には帯状の明暗は現れない。このような高速フレームレートの連続画像においては、蛍光灯の点滅による明暗が、連続するフレームの明暗となって現れる。すなわち、高速フレームレートの場合、フレームそれぞれの輝度をプロットすることにより、蛍光灯点滅のサイクルを把握することが可能となる。
【００５７】
（３）本実施形態は、高速フレームレートに対応して、シャッター秒時も高速である。このため、フリッカー周波数の検出のために撮像素子の駆動を行う場合には、ライブビュー時の撮影の場合の露出制御Ｐ線図とは別に設けられているフリッカー周波数検出用の露出制御Ｐ線図を用いる。
このように、露出制御Ｐ線図をライブビュー時の撮影用と別に設けるため、フリッカー周波数検出に特化した撮像を行うことが可能となり、ライブビュー時の露出制御条件に関わらず、精度の良いフリッカー周波数検出が可能となる。
【００５８】
（４）本実施形態では、フリッカー周波数の検出用の蓄積を所定回数になるまで複数回行う。したがって、被写界内に複数光源が存在した場合や、光源が変動する場合にも、精度の高いフリッカー周波数の検出が可能となる。
【００５９】
（５）二値化した後、光源の点滅の周波数を測定する際に、連続する複数回のＦＬＢＩＴ＝１（Ｌ１）と、連続する複数回のＦＬＢＩＴ＝０（Ｌ０）をそれぞれ１組ずつ含むフレーム数を一部重ねてカウントする。
例えば、ＡｖｅＹＭｅａｎが実際の出力の中央の値より大きい場合、ＦＬＢＩＴ＝１の連続回数が少なくなり、ＦＬＢＩＴ＝０の連続回数がその分多くなることになる。
しかし、本実施形態では、連続する１と連続する０との１組に含まれるフレーム数をカウントするので、ＡｖｅＹＭｅａｎ／２の値が中央よりずれている場合であっても、全体として、略正しい１周期のフレーム数をカウントすることができる。
また、カウント領域を重複させることにより、短時間での複数のサンプリングが判断が可能となる。
【００６０】
（６）５０Ｈｚか６０Ｈｚかの判定ができなかった場合、制御部は、５０Ｈｚか６０Ｈｚのうちの、画像撮影時のフレームレート分より小さく、フリッカー周波数の１／２周期の整数倍となるもののうち、最長となるものの時間が長いフリッカー周波数を、フリッカーの発生原因となっているフリッカー周波数と判定する。
このため、蓄積時間が、低速シャッター秒時となるためフリッカーが目立ちにくくなる。
【００６１】
（７）光源のフリッカー周波数が５０Ｈｚと判定された場合、シャッター秒時は１／２５、１／５０、１／１００であるので、光源の半周期の整数倍となり、輝度のばらつきがなくなり、フリッカーが防止される。また、光源の周波数が６０Ｈｚの場合、シャッター秒時は１／３０、１／６０、１／１２０であるので、光源の半周期の整数倍となり、輝度のばらつきがなくなり、フリッカーが防止される。
【００６２】
以上、説明した実施形態に限定されることなく、以下に示すような種々の変形や変更が可能であり、それらも本発明の範囲内である。
本実施形態では、撮像素子のほかに測光センサを有する一眼レフカメラで説明した。しかし、これに限らず、コンパクトカメラのような撮像素子のみのものでもよい。その場合は、Ｓ２０１の処理は撮像素子で行う。
なお、実施形態及び変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。また、本発明は以上説明した実施形態によって限定されることはない。
【符号の説明】
【００６３】
１：カメラ本体、２：レンズユニット、３：撮像光学系、７：撮像素子、９：記憶部、１０：制御部、１６：エリアセンサ、１００：カメラ
【図１】
2013042299.tif 000003
【図２】
2013042299.tif 000004
【図３】
2013042299.tif 000005
【図４】
2013042299.tif 000006
【図５】
2013042299.tif 000007
【図６】
2013042299.tif 000008
【図７】
2013042299.tif 000009
【図８】
2013042299.tif 000010